Quellcode durchsuchen

[MANUAL] German:

- sync to r19688

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19791 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas vor 16 Jahren
Ursprung
Commit
94cedf1d1a

+ 3 - 1
documentation/manual/de/manual.xml.in

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19550 -->
+<!-- EN-Revision: 19661 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     "@DOCBOOK_DTD@"
     "@DOCBOOK_DTD@"
@@ -181,6 +181,8 @@
     <chapter id="zend.exception">
     <chapter id="zend.exception">
         <title>Zend_Exception</title>
         <title>Zend_Exception</title>
         <xi:include href="module_specs/Zend_Exception.xml" />
         <xi:include href="module_specs/Zend_Exception.xml" />
+        <xi:include href="module_specs/Zend_Exception-Basic.xml" />
+        <xi:include href="module_specs/Zend_Exception-Previous.xml" />
     </chapter>
     </chapter>
 
 
     <chapter id="zend.feed">
     <chapter id="zend.feed">

+ 41 - 0
documentation/manual/de/module_specs/Zend_Exception-Basic.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 19661 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.exception.basic">
+    <title>Grundsätzliche Verwendung</title>
+
+    <para>
+        <classname>Zend_Exception</classname> ist die Basisklasse für alle Exceptions die von Zend
+        Framework geworfen werden. Diese Klasse erweitert die grundsätzliche
+        <classname>Exception</classname> Klasse von PHP.
+    </para>
+
+    <example id="zend.exception.catchall.example">
+        <title>Alle Zend Framework Exceptions fangen</title>
+
+        <programlisting language="php"><![CDATA[
+try {
+    // eigener Code
+} catch (Zend_Exception $e) {
+    // mach was
+}
+]]></programlisting>
+    </example>
+
+    <example id="zend.exception.catchcomponent.example">
+        <title>
+            Exceptions fangen die von einer speziellen Komponente von Zend Framework geworfen werden
+        </title>
+
+        <programlisting language="php"><![CDATA[
+try {
+    // eigener Code
+} catch (Zend_Db_Exception $e) {
+    // mach was
+}
+]]></programlisting>
+    </example>
+</sect1>
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 47 - 0
documentation/manual/de/module_specs/Zend_Exception-Previous.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 19661 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.exception.previous">
+    <title>Vorherige Exceptions</title>
+
+    <para>
+        Seit Zend Framework 1.10 implementiert <classname>Zend_Exception</classname> die
+        Unterstützung von PHP 5.3 für vorgerige Exceptions. Einfach gesagt, wenn man in einem
+        <methodname>catch</methodname> ist, kann man eine neue Exception werfen welche auf die
+        vorherige Exception referenziert, was wiederum hilft indem zusätzlicher Kontext angeboten
+        wird wenn man debuggt. Indem diese Unterstützung im Zend Framework angeboten wird, ist der
+        eigene Code jetzt vorwärts kompatibel mit PHP 5.3.
+    </para>
+
+    <para>
+        Vorherige Exceptions werden als drittes Argument an den Contructor der Exceptions indiziert.
+    </para>
+
+    <example id="zend.exception.previous.example">
+        <title>Vorherige Exceptions</title>
+
+        <programlisting language="php"><![CDATA[
+try {
+    $db->query($sql);
+} catch (Zend_Db_Statement_Exception $e) {
+    if ($e->getPrevious()) {
+        echo '[' . get_class($e)
+            . '] hat die vorherige Exception von ['
+            . get_class($e->getPrevious())
+            . ']' . PHP_EOL;
+    } else {
+        echo '[' . get_class($e)
+            . '] hat keine vorherige Exception'
+            . PHP_EOL;
+    }
+
+    echo $e;
+    // zeigt alle Exceptions beginnend mit der ersten geworfenen
+    // Exception wenn vorhanden.
+}
+]]></programlisting>
+    </example>
+</sect1>
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 13 - 13
documentation/manual/de/module_specs/Zend_Exception.xml

@@ -1,28 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15681 -->
+<!-- EN-Revision: 19661 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.exception.using">
 <sect1 id="zend.exception.using">
-
     <title>Verwenden von Ausnahmen</title>
     <title>Verwenden von Ausnahmen</title>
 
 
     <para>
     <para>
-        <classname>Zend_Exception</classname> ist einfach die Basisklasse für alle Ausnahmen die
+        <classname>Zend_Exception</classname> ist einfach die Basisklasse für alle Exceptions die
         vom Zend Framework geworfen werden.
         vom Zend Framework geworfen werden.
     </para>
     </para>
 
 
     <example id="zend.exception.using.example">
     <example id="zend.exception.using.example">
-        <title>Fangen einer Ausnahme</title>
+        <title>Fangen einer Exception</title>
+
         <para>
         <para>
-            Das folgende Code Beispiel demonstriert wie eine Ausnahme gefangen werden
+            Das folgende Code Beispiel demonstriert wie eine Exception gefangen werden
             kann die in einer Zend Framework Klasse geworfen wird:
             kann die in einer Zend Framework Klasse geworfen wird:
         </para>
         </para>
+
         <programlisting language="php"><![CDATA[
         <programlisting language="php"><![CDATA[
 try {
 try {
     // Der Aufruf von Zend_Loader::loadClass() mit einer nicht-existierenden
     // Der Aufruf von Zend_Loader::loadClass() mit einer nicht-existierenden
-    // Klasse wird eine Ausnahme in Zend_Loader werfen
+    // Klasse wird eine Exception in Zend_Loader werfen:
     Zend_Loader::loadClass('nonexistantclass');
     Zend_Loader::loadClass('nonexistantclass');
 } catch (Zend_Exception $e) {
 } catch (Zend_Exception $e) {
-    echo "Gefangene Ausnahme: " . get_class($e) . "\n";
+    echo "Gefangene Exception: " . get_class($e) . "\n";
     echo "Nachricht: " . $e->getMessage() . "\n";
     echo "Nachricht: " . $e->getMessage() . "\n";
     // anderer Code um den Fehler zu korrigieren.
     // anderer Code um den Fehler zu korrigieren.
 }
 }
@@ -31,18 +32,17 @@ try {
 
 
     <para>
     <para>
         <classname>Zend_Exception</classname> kann als fang-sie-alle Exception Klasse in einem
         <classname>Zend_Exception</classname> kann als fang-sie-alle Exception Klasse in einem
-        Catch Block verwendet werden um alle Ausnahmen, die von Zend Framework Klassen geworfen
+        Catch Block verwendet werden um alle Exceptions, die von Zend Framework Klassen geworfen
         werden, zu fangen. Das kann nützlich sein wenn das Programm, durch das Fangen eines
         werden, zu fangen. Das kann nützlich sein wenn das Programm, durch das Fangen eines
-        speziellen Ausnahmetyps, nicht wiederhergestellt werden kann.
+        speziellen Exception Typs, nicht wiederhergestellt werden kann.
     </para>
     </para>
 
 
     <para>
     <para>
         Die Dokumentation der einzelnen Zend Framework Komponenten und Klassen
         Die Dokumentation der einzelnen Zend Framework Komponenten und Klassen
-        enthält spezielle Informationen darüber welche Methoden Ausnahmen werfen,
-        die Gründe die dazu führen das eine Ausnahme geworfen wird, und die Klassen
-        aller Ausnahmen die geworfen werden können.
+        enthält spezielle Informationen darüber welche Methoden Exceptions werfen,
+        die Gründe die dazu führen das eine Exception geworfen wird, und die verschiedenen Exception
+        Typen die geworfen werden können.
     </para>
     </para>
-
 </sect1>
 </sect1>
 <!--
 <!--
 vim:se ts=4 sw=4 et:
 vim:se ts=4 sw=4 et:

+ 17 - 4
documentation/manual/de/module_specs/Zend_Pdf-InteractiveFeatures.xml

@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19419 -->
+<!-- EN-Revision: 19670 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.pdf.interactive-features">
 <sect1 id="zend.pdf.interactive-features">
     <title>Interaktive Features</title>
     <title>Interaktive Features</title>
+
     <sect2 id="zend.pdf.pages.interactive-features.destinations">
     <sect2 id="zend.pdf.pages.interactive-features.destinations">
         <title>Ziele</title>
         <title>Ziele</title>
 
 
@@ -797,15 +798,27 @@ $pdf->resolveDestination(Zend_Pdf_Destination_Named::create('Page3'));
             </itemizedlist>
             </itemizedlist>
 
 
             <para>
             <para>
-                Nur <classname>Zend_Pdf_Action_GoTo</classname> Aktionen können aktuell von
-                Benutzern erstellt werden. Das kann getan werden indem die Methode
+                Nur <classname>Zend_Pdf_Action_GoTo</classname> und
+                <classname>Zend_Pdf_Action_URI</classname> Aktionen können aktuell von
+                Benutzern erstellt werden.
+            </para>
+
+            <para>
+                Goto Aktionen können erstellt werden indem die Methode
                 <methodname>Zend_Pdf_Action_GoTo::create($destination)</methodname> verwendet
                 <methodname>Zend_Pdf_Action_GoTo::create($destination)</methodname> verwendet
                 wird wobei <varname>$destination</varname> ein
                 wird wobei <varname>$destination</varname> ein
-                <classname>Zend_Pdf_Destination</classname> Objekt oder String ist der verwendet
+                <classname>Zend_Pdf_Destination</classname> Objekt oder ein String ist der verwendet
                 werden kann um ein benanntes Ziel zu identifizieren.
                 werden kann um ein benanntes Ziel zu identifizieren.
             </para>
             </para>
 
 
             <para>
             <para>
+                Die Methode <methodname>Zend_Pdf_Action_URI::create($uri[, $isMap])</methodname>
+                muss verwendet werden um eine URI Aktion zu erstellen (siehe die API Dokumentation
+                für Details). Der optionale <varname>$isMap</varname> Parameter wird
+                standardmäßig auf false gesetzt.
+            </para>
+
+            <para>
                 Es unterstützt auch die folgenden Methoden:
                 Es unterstützt auch die folgenden Methoden:
             </para>
             </para>
         </sect3>
         </sect3>

+ 84 - 14
documentation/manual/de/module_specs/Zend_Translate-Plurals.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19383 -->
+<!-- EN-Revision: 19669 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.translate.plurals">
 <sect1 id="zend.translate.plurals">
     <title>Plurale Schreibweisen für Übersetzungen</title>
     <title>Plurale Schreibweisen für Übersetzungen</title>
@@ -33,7 +33,6 @@
     </para>
     </para>
 
 
     <sect2 id="zend.translate.plurals.traditional">
     <sect2 id="zend.translate.plurals.traditional">
-
         <title>Traditionelle plurale Übersetzung</title>
         <title>Traditionelle plurale Übersetzung</title>
 
 
         <para>
         <para>
@@ -44,7 +43,6 @@
         </para>
         </para>
 
 
         <example id="zend.translate.plurals.traditional.example1">
         <example id="zend.translate.plurals.traditional.example1">
-
             <title>Beispiel einer traditionellen pluralen Übersetzung</title>
             <title>Beispiel einer traditionellen pluralen Übersetzung</title>
 
 
             <para>
             <para>
@@ -63,13 +61,10 @@
 $translate = new Zend_Translate('gettext', '/path/to/german.mo', 'de');
 $translate = new Zend_Translate('gettext', '/path/to/german.mo', 'de');
 $translate->plural('Car', 'Cars', $number);
 $translate->plural('Car', 'Cars', $number);
 ]]></programlisting>
 ]]></programlisting>
-
         </example>
         </example>
-
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.translate.plurals.modern">
     <sect2 id="zend.translate.plurals.modern">
-
         <title>Moderne plurale Übersetzungen</title>
         <title>Moderne plurale Übersetzungen</title>
 
 
         <para>
         <para>
@@ -88,7 +83,6 @@ $translate->plural('Car', 'Cars', $number);
         </para>
         </para>
 
 
         <example id="zend.translate.plurals.modern.example1">
         <example id="zend.translate.plurals.modern.example1">
-
             <title>Beispiel für moderne plurale Übersetzungen</title>
             <title>Beispiel für moderne plurale Übersetzungen</title>
 
 
             <para>
             <para>
@@ -109,7 +103,6 @@ $translate->translate(array('Car', 'Cars', $number));
         </para>
         </para>
 
 
         <example id="zend.translate.plurals.modern.example2">
         <example id="zend.translate.plurals.modern.example2">
-
             <title>
             <title>
                 Beispiel einer modernen pluralen Übersetzung durch Verwendung einer anderen
                 Beispiel einer modernen pluralen Übersetzung durch Verwendung einer anderen
                 Quellsprachen
                 Quellsprachen
@@ -128,7 +121,6 @@ $translate->translate(array('Car',
                             $number,
                             $number,
                             'ru'));
                             'ru'));
 ]]></programlisting>
 ]]></programlisting>
-
         </example>
         </example>
 
 
         <para>
         <para>
@@ -141,11 +133,9 @@ $translate->translate(array('Car',
             Wenn man die plurale Sprache nicht angibt dan wird standardmäßig englisch verwendet
             Wenn man die plurale Sprache nicht angibt dan wird standardmäßig englisch verwendet
             und jede zusätzliche Plurale Definition wird ignoriert.
             und jede zusätzliche Plurale Definition wird ignoriert.
         </para>
         </para>
-
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.translate.plurals.source">
     <sect2 id="zend.translate.plurals.source">
-
         <title>Plurale Quelldateien</title>
         <title>Plurale Quelldateien</title>
 
 
         <para>
         <para>
@@ -162,39 +152,48 @@ $translate->translate(array('Car',
                         <entry>Plural unterstützt</entry>
                         <entry>Plural unterstützt</entry>
                     </row>
                     </row>
                 </thead>
                 </thead>
+
                 <tbody>
                 <tbody>
                     <row>
                     <row>
                         <entry>Array</entry>
                         <entry>Array</entry>
                         <entry><emphasis>Ja</emphasis></entry>
                         <entry><emphasis>Ja</emphasis></entry>
                     </row>
                     </row>
+
                     <row>
                     <row>
                         <entry>Csv</entry>
                         <entry>Csv</entry>
                         <entry><emphasis>Ja</emphasis></entry>
                         <entry><emphasis>Ja</emphasis></entry>
                     </row>
                     </row>
+
                     <row>
                     <row>
                         <entry>Gettext</entry>
                         <entry>Gettext</entry>
                         <entry><emphasis>Ja</emphasis></entry>
                         <entry><emphasis>Ja</emphasis></entry>
                     </row>
                     </row>
+
                     <row>
                     <row>
                         <entry>Ini</entry>
                         <entry>Ini</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
                     </row>
+
                     <row>
                     <row>
                         <entry>Qt</entry>
                         <entry>Qt</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
                     </row>
+
                     <row>
                     <row>
                         <entry>Tbx</entry>
                         <entry>Tbx</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
                     </row>
+
                     <row>
                     <row>
                         <entry>Tmx</entry>
                         <entry>Tmx</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
                     </row>
+
                     <row>
                     <row>
                         <entry>Xliff</entry>
                         <entry>Xliff</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
                     </row>
+
                     <row>
                     <row>
                         <entry>XmlTm</entry>
                         <entry>XmlTm</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                         <entry><emphasis>Nein</emphasis></entry>
@@ -208,7 +207,6 @@ $translate->translate(array('Car',
         </para>
         </para>
 
 
         <sect3 id="zend.translate.plurals.source.array">
         <sect3 id="zend.translate.plurals.source.array">
-
             <title>Array Quellen mit pluralen Definitionen</title>
             <title>Array Quellen mit pluralen Definitionen</title>
 
 
             <para>
             <para>
@@ -251,11 +249,9 @@ array(
                 Quellsprache mehr plurale Formen unterstützt, dann muß einfach eine neue leere
                 Quellsprache mehr plurale Formen unterstützt, dann muß einfach eine neue leere
                 Übersetzung hinzugefügt werden.
                 Übersetzung hinzugefügt werden.
             </para>
             </para>
-
         </sect3>
         </sect3>
 
 
         <sect3 id="zend.translate.plurals.source.csv">
         <sect3 id="zend.translate.plurals.source.csv">
-
             <title>CSV Quellen mit pluralen Definitionen</title>
             <title>CSV Quellen mit pluralen Definitionen</title>
 
 
             <para>
             <para>
@@ -295,6 +291,80 @@ array(
             </note>
             </note>
         </sect3>
         </sect3>
     </sect2>
     </sect2>
+
+    <sect2 id="zend.translate.plurals.customrules">
+        <title>Eigene Plural Regeln</title>
+
+        <para>
+            In seltenen Fällen kann es nützlich sein wenn man in der Lage ist eigene Plural Regeln
+            zu definieren. Chinesisch zum Beispiel. Diese Sprache definiert zwei Plural Regeln.
+            Standardmäßig verwendet Sie kein Plural. Aber in seltenen Fällen wird eine Regel wie
+            diese verwendet: <emphasis>(number == 1) ? 0 : 1</emphasis>.
+        </para>
+
+        <para>
+            Auch wenn man eine Sprache verwenden will die keine bekannten Plural Regeln hat, und
+            man eigene Regeln definieren will.
+        </para>
+
+        <para>
+            Das kann durch Verwendung von <methodname>Zend_Translate_Plural::setRule()</methodname>
+            getan werden. Diese Methode erwartet zwei Parameter welche angegeben werden müssen. Eine
+            Regel, welche einfach ein Callback zu einer selbst definierten Methode ist. Und ein
+            Gebietsschema für das diese Regel verwendet wird.
+        </para>
+
+        <para>
+            Die eigene Regel könnte wie folgt aussehen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+public function MyRule($number) {
+    return ($number == 10) ? 0 : 1;
+}
+]]></programlisting>
+
+        <para>
+            Wie man sieht muss die eigene Regel einen Parameter akzeptieren. Er ist eine Zahl die
+            man verwendet um zurückzugeben welches Plural der Übersetzung verwendet werden muss.
+            In unserem Beispiel haben wir definiert dass wenn wie eine '10' erhalten, die Plural
+            Definition 0 verwendet werden soll, und in allen anderen Fälle verwendet wir eine 1.
+        </para>
+
+        <para>
+            Eigene Regeln können so einfach oder so kompliziert sein wie man will. Man muss einfach
+            nur einen Integer Wert zurückgeben. Die Plural Definition ß steht hierbei für die
+            Singular Übersetzung, und 1 steht für die erste Plural Regel.
+        </para>
+
+        <para>
+            Um die eigene Regel zu aktivieren und diese mit dem gewünschten Gebietsschema zu
+            verknüpfen, muss man den folgenden Aufruf tätigen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+Zend_Translate_Plural::setPlural('MyPlural', 'zh');
+]]></programlisting>
+
+        <para>
+            Jetzt haben wir unsere Plural Definition mit der chinesischen Sprache verknüpft.
+        </para>
+
+        <para>
+            Man kann für jede Sprache eigene Plural Regeln definieren. Aber man sollte aufpassen
+            dass man plurale Regeln setzt bevor Übersetzungen durchgeführt werden.
+        </para>
+
+        <note>
+            <title>Eigene Plural Regeln nur definieren wenn dies benötigt wird</title>
+
+            <para>
+                <classname>Zend_Translate</classname> definiert Plurale für die meisten bekannten
+                Sprachen. Man sollte keine eigenen Plurale definieren wenn man das nicht
+                benötigt. Die Standardregeln funktionieren meistens.
+            </para>
+        </note>
+    </sect2>
 </sect1>
 </sect1>
 <!--
 <!--
 vim:se ts=4 sw=4 et:
 vim:se ts=4 sw=4 et:

+ 40 - 30
documentation/manual/de/module_specs/Zend_XmlRpc_Server.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19614 -->
+<!-- EN-Revision: 19674 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.xmlrpc.server">
 <sect1 id="zend.xmlrpc.server">
     <title>Zend_XmlRpc_Server</title>
     <title>Zend_XmlRpc_Server</title>
@@ -194,11 +194,13 @@ function myFunc($val1, $val2, $val3)
 }
 }
 ]]></programlisting>
 ]]></programlisting>
 
 
-        <para>
-            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>
+        <note>
+            <para>
+                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>
+        </note>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.xmlrpc.server.namespaces">
     <sect2 id="zend.xmlrpc.server.namespaces">
@@ -449,7 +451,10 @@ class Services_PricingService
 }
 }
 
 
 $server = new Zend_XmlRpc_Server();
 $server = new Zend_XmlRpc_Server();
-$server->setClass('Services_PricingService', 'pricing', new ProductRepository(), new PurchaseRepository());
+$server->setClass('Services_PricingService',
+                  'pricing',
+                  new ProductRepository(),
+                  new PurchaseRepository());
 ]]></programlisting>
 ]]></programlisting>
 
 
             <para>
             <para>
@@ -503,7 +508,10 @@ class Services_PricingService2
 
 
 $server = new Zend_XmlRpc_Server();
 $server = new Zend_XmlRpc_Server();
 $server->sendArgumentsToAllMethods(false);
 $server->sendArgumentsToAllMethods(false);
-$server->setClass('Services_PricingService2', 'pricing', new ProductRepository(), new PurchaseRepository());
+$server->setClass('Services_PricingService2',
+                  'pricing',
+                  new ProductRepository(),
+                  new PurchaseRepository());
 ]]></programlisting>
 ]]></programlisting>
         </example>
         </example>
 
 
@@ -710,7 +718,10 @@ echo $server->handle($request);
 ]]></programlisting>
 ]]></programlisting>
 
 
             <note>
             <note>
-                Die Datei des Server Caches sollte ausserhalb des Document Roots platziert werden.
+                <para>
+                    Die Datei des Server Caches sollte ausserhalb des Document Roots platziert
+                    werden.
+                </para>
             </note>
             </note>
         </example>
         </example>
 
 
@@ -733,7 +744,6 @@ echo $server->handle($request);
             </para>
             </para>
 
 
             <programlisting language="php"><![CDATA[
             <programlisting language="php"><![CDATA[
-<?php
 require_once 'Zend/XmlRpc/Server.php';
 require_once 'Zend/XmlRpc/Server.php';
 require_once 'Zend/XmlRpc/Generator/XMLWriter.php';
 require_once 'Zend/XmlRpc/Generator/XMLWriter.php';
 
 
@@ -742,30 +752,30 @@ Zend_XmlRpc_Value::setGenerator(new Zend_XmlRpc_Generator_XMLWriter());
 $server = new Zend_XmlRpc_Server();
 $server = new Zend_XmlRpc_Server();
 ...
 ...
 ]]></programlisting>
 ]]></programlisting>
+        </example>
 
 
-            <note>
-                <title>Die eigene Anwendung benchmarken</title>
+        <note>
+            <title>Die eigene Anwendung benchmarken</title>
 
 
-                <para>
-                    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.
-                </para>
-            </note>
+            <para>
+                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.
+            </para>
+        </note>
 
 
-            <note>
-                <title>Den eigenen Client benchmarken</title>
+        <note>
+            <title>Den eigenen Client benchmarken</title>
 
 
-                <para>
-                    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.
-                </para>
-            </note>
-        </example>
+            <para>
+                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.
+            </para>
+        </note>
     </sect2>
     </sect2>
 </sect1>
 </sect1>
 <!--
 <!--