diff --git a/Doc/Sd1/appendix.xml b/Doc/Sd1/appendix.xml
index 57b533713cf076d342273fbe28100ddbd0ed3de0..a177d5ddf2f6667b0d8d5187ee6282cc883c666f 100644
--- a/Doc/Sd1/appendix.xml
+++ b/Doc/Sd1/appendix.xml
@@ -96,7 +96,7 @@ public void test_400() {
 
             <listitem>
               <para>Insert log statements using <productname
-              xlink:href="https://logging.apache.org/log4j">log4j</productname>.</para>
+              xlink:href="https://logging.apache.org/log4j/2.x/">log4j</productname>.</para>
             </listitem>
           </orderedlist>
         </listitem>
@@ -534,7 +534,7 @@ APPID=7cufdhdcgdhsgdhgfcgsdss67b3&amp;units=metric&amp;<emphasis role="red">id=3
           <callout arearefs="sd1_weather_fig_underlyingData-2-co"
                    xml:id="sd1_weather_fig_underlyingData-2">
             <para><uri
-            xlink:href="https://api.openweathermap.org">https://api.openweathermap.org</uri>'s
+            xlink:href="https://openweathermap.org/api">https://openweathermap.org/api</uri>'s
             reply providing <abbrev>JSON</abbrev> based weather data.</para>
           </callout>
         </calloutlist>
@@ -542,7 +542,7 @@ APPID=7cufdhdcgdhsgdhgfcgsdss67b3&amp;units=metric&amp;<emphasis role="red">id=3
 
       <figure xml:id="sd1_weather_fig_citiesFile">
         <title><filename
-        xlink:href="http://bulk.openweathermap.org/sample">cities.list.json.gz</filename>
+        xlink:href="http://bulk.openweathermap.org/sample/city.list.json.gz">cities.list.json.gz</filename>
         providing cities</title>
 
         <programlisting language="json">[
@@ -1306,9 +1306,9 @@ Your choice: 2</screen>
 
           <para><xref linkend="glo_Java"/> allows for matching strings by
           <link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/regex/Pattern.html">regular
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html">regular
           expressions</link> to be used with e.g. <link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#matches-java.lang.String-">String.matches(...)</link>.
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#matches(java.lang.String)">String.matches(...)</link>.
           Examples:</para>
 
           <glosslist>
@@ -1368,7 +1368,7 @@ Eve,Gardener, ,32-44-2234</screen>
       <para>Each person record is being represented by four values being
       separated by three commas. Empty attribute values require a single
       space. The method <link
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#split-java.lang.String-">String.split(...)</link>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#split(java.lang.String)">String.split(...)</link>
       is your friend when reading this file on program startup using
       <quote>,</quote> as separator split token.</para>
 
@@ -1384,7 +1384,7 @@ Eve,Gardener, ,32-44-2234</screen>
 
         <listitem>
           <para><link
-          xlink:href="https://docs.oracle.com/javase/tutorial/essential/io">Oracle
+          xlink:href="https://docs.oracle.com/javase/tutorial/essential/io/">Oracle
           The Javaâ„¢ Tutorials Lesson: Basic I/O</link></para>
         </listitem>
 
@@ -1398,11 +1398,11 @@ Eve,Gardener, ,32-44-2234</screen>
 
     <section xml:id="sd1SectProjectGrep">
       <title>Poor man's <xref linkend="glo_UNIX"/> <command
-      xlink:href="http://linux.die.net/man/1/grep">grep</command>, Summer
+      xlink:href="https://linux.die.net/man/1/grep">grep</command>, Summer
       2016</title>
 
       <para>The <xref linkend="glo_UNIX"/> operating system provides a command
-      <command xlink:href="http://linux.die.net/man/1/grep">grep</command>
+      <command xlink:href="https://linux.die.net/man/1/grep">grep</command>
       which allows for retrieving occurrences of a given string in text files.
       We consider an example text file <filename>input.txt</filename>
       containing four lines:</para>
@@ -1421,7 +1421,7 @@ Roses are nice <emphasis role="bold">flower</emphasis>s.
 May<emphasis role="bold">flower</emphasis> used to be a ship.</screen>
 
       <para>Thus the <command
-      xlink:href="http://linux.die.net/man/1/grep">grep</command> command
+      xlink:href="https://linux.die.net/man/1/grep">grep</command> command
       echoes all lines containing the search string in question to standard
       output. Adding the command line option <option>-i</option> allows for
       case insensitive searches:</para>
@@ -1435,7 +1435,7 @@ The <emphasis role="bold">red</emphasis> cross acts worldwide</screen>
       <quote>red</quote>, <quote>RED</quote> and so on will match.</para>
 
       <para><command
-      xlink:href="http://linux.die.net/man/1/grep">grep</command> also allows
+      xlink:href="https://linux.die.net/man/1/grep">grep</command> also allows
       for searching multiple files. Consider a second file
       <filename>inputSecond.txt</filename>:</para>
 
@@ -1464,12 +1464,12 @@ input.txt
 inputSecond.txt</screen>
 
       <para>The <command
-      xlink:href="http://linux.die.net/man/1/grep">grep</command> command may
+      xlink:href="https://linux.die.net/man/1/grep">grep</command> command may
       read its input from standard input allowing for <link
       xlink:href="https://en.wikipedia.org/wiki/Pipeline_(Unix)">pipes</link>.
       This way another command's output feeds into a subsequently executed
       command. As an example consider a recursive search for HTML files using
-      the <link xlink:href="http://linux.die.net/man/1/find">find</link>
+      the <link xlink:href="https://linux.die.net/man/1/find">find</link>
       command:</para>
 
       <screen>&gt; find . -name \*.html
@@ -1483,9 +1483,9 @@ inputSecond.txt</screen>
       <para>We want to restrict the above list to pathnames containing the
       string <quote>Example</quote>. This may be achieved by <link
       xlink:href="https://en.wikipedia.org/wiki/Pipeline_(Unix)">piping</link>
-      the <link xlink:href="http://linux.die.net/man/1/find">find</link>
+      the <link xlink:href="https://linux.die.net/man/1/find">find</link>
       command's output as input to <command
-      xlink:href="http://linux.die.net/man/1/grep">grep</command> searching
+      xlink:href="https://linux.die.net/man/1/grep">grep</command> searching
       for the occurrence of the string <quote>Example</quote>. Technically
       both processes get connected by means of the pipe symbol
       <quote>|</quote>:</para>
@@ -1584,7 +1584,7 @@ Usage: grep [-i] [-l] searchString [file 1] [file 2] ...</screen>
             <orderedlist>
               <listitem>
                 <para>Making the jar file executable using <command
-                xlink:href="http://linux.die.net/man/1/chmod">chmod</command>
+                xlink:href="https://linux.die.net/man/1/chmod">chmod</command>
                 allows for omitting the <command>java</command>
                 command:</para>
 
@@ -1641,8 +1641,8 @@ The red cross acts worldwide</screen>
           <listitem xml:id="sd1ProjectGrepUnitTestingHint">
             <para>Testing requires capturing of output being generated by e.g.
             <methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#out">System.out</methodname><code>.</code><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#println-java.lang.String-">println(...)</methodname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#out">System.out</methodname><code>.</code><methodname
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#println(java.lang.String)">println(...)</methodname>
             calls. Consider the following code writing the string <quote>Hello
             World!</quote> to standard output:</para>
 
@@ -1658,16 +1658,16 @@ The red cross acts worldwide</screen>
             <para>We want to set up a <productname>Junit</productname> test
             which captures the output to compare it with the expected string
             value <code language="java">"Hello World!"</code>. Following <uri
-            xlink:href="http://stackoverflow.com/questions/1119385/junit-test-for-system-out-println">http://stackoverflow.com/questions/1119385/junit-test-for-system-out-println</uri>
+            xlink:href="https://stackoverflow.com/questions/1119385/junit-test-for-system-out-println">http://stackoverflow.com/questions/1119385/junit-test-for-system-out-println</uri>
             we redefine the standard output stream by a private instance of
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/ByteArrayOutputStream.html">java.io.ByteArrayOutputStream</classname>.
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/ByteArrayOutputStream.html">java.io.ByteArrayOutputStream</classname>.
             Due to <productname>Junit</productname>'s <classname
             xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Before.html">@Before</classname>
             and <classname
             xlink:href="http://junit.sourceforge.net/javadoc/org/junit/After.html">@After</classname>
             annotations this instance replaces <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#out">System.out</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#out">System.out</classname>
             during our tests:</para>
 
             <programlisting language="java">import java.io.ByteArrayOutputStream;
@@ -1750,7 +1750,7 @@ public class AppTest {
 value | t| t| f| f| t| f| t| f| t| t|  t|  f|  t|  f|  t ...</screen>
 
       <para>Since we intend to deal with a large number <code
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE</code>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE</code>
       of values (rather than just 100 ) we only consider odd values since even
       numbers are never prime except for the value 2. Thus 0 will represent 1,
       1 will represent 3 and n will represent 2 * n + 1:</para>
@@ -1762,7 +1762,7 @@ represents | 1| 3| 5| 7| 9| 11| 13| 15| ...
 value      | t| f| f| f| t|  f|  f|  t| ...</screen>
 
       <para>This requires a boolean array of just <code
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE
       / 2</code>. Start from the following skeleton:</para>
 
       <programlisting language="java">public class Sieve {
@@ -1800,7 +1800,7 @@ value      | t| f| f| f| t|  f|  f|  t| ...</screen>
         sieve algorithm</link> into smaller tasks and write appropriate tests.
         Start with small <code language="java">limit</code> values (like 20)
         and extend to <code
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE</code>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE</code>
         step by step.</para>
       </tip>
 
diff --git a/Doc/Sd1/arrays.xml b/Doc/Sd1/arrays.xml
index c37b6f4741dfa57a3d51f6a2ac87985d0ee9079b..356bc4da1815d363f843712e74a5bb18b6281494 100644
--- a/Doc/Sd1/arrays.xml
+++ b/Doc/Sd1/arrays.xml
@@ -1,14 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<chapter annotations="slide" version="5.1" xml:id="sw1ChapterArrays"
-         xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
-         xmlns:xi="http://www.w3.org/2001/XInclude"
-         xmlns:svg="http://www.w3.org/2000/svg"
-         xmlns:ns="http://docbook.org/ns/transclusion"
-         xmlns:m="http://www.w3.org/1998/Math/MathML"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         xmlns:db="http://docbook.org/ns/docbook">
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:ns="http://docbook.org/ns/transclusion" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="slide" version="5.1" xml:id="sw1ChapterArrays">
   <title>Arrays</title>
 
   <figure xml:id="sd1_array_fig_arrayMotivate">
@@ -53,14 +44,9 @@
   <figure xml:id="sd1_array_fig_arrayStringExample">
     <title>Example: <code language="java">int</code> array of primes</title>
 
-    <programlisting language="java">final int[] primes <co
-        linkends="sd1_array_fig_arrayStringExample-1.2"
-        xml:id="sd1_array_fig_arrayStringExample-1.2-co"/> = new int[5]; <co
-        linkends="sd1_array_fig_arrayStringExample-2.2"
-        xml:id="sd1_array_fig_arrayStringExample-2.2-co"/>
+    <programlisting language="java">final int[] primes <co linkends="sd1_array_fig_arrayStringExample-1.2" xml:id="sd1_array_fig_arrayStringExample-1.2-co" /> = new int[5]; <co linkends="sd1_array_fig_arrayStringExample-2.2" xml:id="sd1_array_fig_arrayStringExample-2.2-co" />
 
-primes[0] = 2; <co linkends="sd1_array_fig_arrayStringExample-3"
-        xml:id="sd1_array_fig_arrayStringExample-3-co"/>
+primes[0] = 2; <co linkends="sd1_array_fig_arrayStringExample-3" xml:id="sd1_array_fig_arrayStringExample-3-co" />
 primes[1] = 3;
 primes[2] = 5;
 primes[3] = 7;
@@ -68,21 +54,16 @@ primes[4] = 11;</programlisting>
   </figure>
 
   <calloutlist>
-    <callout arearefs="sd1_array_fig_arrayStringExample-1.2-co"
-             xml:id="sd1_array_fig_arrayStringExample-1.2">
-      <para><code language="java">int</code> array reference variable <code
-      language="java">primes</code>.</para>
+    <callout arearefs="sd1_array_fig_arrayStringExample-1.2-co" xml:id="sd1_array_fig_arrayStringExample-1.2">
+      <para><code language="java">int</code> array reference variable <code language="java">primes</code>.</para>
     </callout>
 
-    <callout arearefs="sd1_array_fig_arrayStringExample-2.2-co"
-             xml:id="sd1_array_fig_arrayStringExample-2.2">
+    <callout arearefs="sd1_array_fig_arrayStringExample-2.2-co" xml:id="sd1_array_fig_arrayStringExample-2.2">
       <para><code language="java">int</code> array allocation capable to store
-      five values and assigning its reference to variable <code
-      language="java">primes</code>.</para>
+      five values and assigning its reference to variable <code language="java">primes</code>.</para>
     </callout>
 
-    <callout arearefs="sd1_array_fig_arrayStringExample-3-co"
-             xml:id="sd1_array_fig_arrayStringExample-3">
+    <callout arearefs="sd1_array_fig_arrayStringExample-3-co" xml:id="sd1_array_fig_arrayStringExample-3">
       <para>Assigning values referencing array positions by index values from
       {0,1,2,3,4}.</para>
     </callout>
@@ -125,8 +106,7 @@ Exception in thread "main" java.lang.<emphasis role="red">ArrayIndexOutOfBoundsE
   <figure xml:id="sd1_array_fig_arrayPrimeArrayLength">
     <title>Safer: Using <parameter>length</parameter></title>
 
-    <programlisting language="none">System.out.println("primes.length == " + <emphasis
-        role="red">primes.length</emphasis>);
+    <programlisting language="none">System.out.println("primes.length == " + <emphasis role="red">primes.length</emphasis>);
 for (int i = 0; <emphasis role="red">i &lt; primes.length</emphasis>; i++) {
   System.out.println("At index " + i + ": value == " + primes[i]);
 }</programlisting>
@@ -184,7 +164,7 @@ primes[4] = 11;
   </figure>
 
   <qandaset defaultlabel="qanda" xml:id="sd1QandaArray2html">
-    <title>Converting string arrays to <xref linkend="glo_HTML"/>.</title>
+    <title>Converting string arrays to <xref linkend="glo_HTML" />.</title>
 
     <qandadiv>
       <qandaentry>
@@ -211,27 +191,26 @@ primes[4] = 11;
           [] strings)</methodname> as in:</para>
 
           <programlisting language="java">public class Stringarray2Html {
-  
+
   /**
    * Create an unordered ...
    *  ...
    */
-  static public String strings2html(final String [] strings) {    
+  static public String strings2html(final String [] strings) {
     ...
     return ...;
   }
 }</programlisting>
 
-          <para>Do not forget to provide appropriate <xref
-          linkend="glo_Javadoc"/> method and class documentation. You may want
-          to reconsider <xref linkend="sd1GenerateJavadoc"/>.</para>
+          <para>Do not forget to provide appropriate <xref linkend="glo_Javadoc" /> method and class documentation. You may want
+          to reconsider <xref linkend="sd1GenerateJavadoc" />.</para>
 
-          <para>Generating <xref linkend="glo_Javadoc"/> HTML documentation
+          <para>Generating <xref linkend="glo_Javadoc" /> HTML documentation
           from your project should yield a result like:</para>
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/strings2html.png"/>
+              <imagedata fileref="Ref/Fig/strings2html.png" />
             </imageobject>
           </mediaobject>
 
@@ -269,7 +248,7 @@ primes[4] = 11;
           <informalfigure>
             <mediaobject>
               <imageobject>
-                <imagedata fileref="Ref/Fig/navigationSections.png"/>
+                <imagedata fileref="Ref/Fig/navigationSections.png" />
               </imageobject>
             </mediaobject>
           </informalfigure>
@@ -298,7 +277,7 @@ primes[4] = 11;
           define:</para>
 
           <programlisting language="java">public class Segment {
-   
+
    /**
     * Indication a segment does not have any speed limit.
     */
@@ -308,12 +287,12 @@ primes[4] = 11;
     * The distance of the current leg in km.
     */
    public final double distance;
-   
+
    /**
-    * The current leg's speed limit in km / h. 
+    * The current leg's speed limit in km / h.
     */
    public final int speedLimit;
-   
+
    /**
     * Creating an (immutable) leg
     * @param distance {@link #distance}
@@ -343,21 +322,21 @@ primes[4] = 11;
     * official speed limits and the driver's personal maximum speed. If a
     * leg does not have any speed limit the value of personalSpeedLimit will
     * be used for calculation instead.
-    * 
+    *
     * @param route The array of segments composing a route.
-    * 
-    * @param personalSpeedLimit The drivers personal speed limit whether or 
+    *
+    * @param personalSpeedLimit The drivers personal speed limit whether or
     *        not official limits apply. Must be greater than 0.
-    * 
+    *
     * @return The minimal duration in (rounded) minutes with respect to all
     *         speed limits. Must be a positive (non-zero) value.
     */
    static public long duration(Segment[] route, int personalSpeedLimit) {
       return 0; // TODO
    }
-   </programlisting>
+</programlisting>
 
-          <para>Write <xref linkend="glo_Junit"/> tests to cover different
+          <para>Write <xref linkend="glo_Junit" /> tests to cover different
           situations.</para>
 
           <tip>
@@ -369,7 +348,7 @@ primes[4] = 11;
     * @param args unused
     */
    public static void main(String[] args) {
-      
+
       final Segment[] route = new Segment[] {
             new Segment(2.4, 50)
             ,new Segment(5, 100)
@@ -377,10 +356,10 @@ primes[4] = 11;
             ,new Segment(0.8, 30)
       };
       ...
- 
+
       final long fullMinutes = ...;
-      
-      System.out.println("Minimal duration:" + fullMinutes); 
+
+      System.out.println("Minimal duration:" + fullMinutes);
 }</programlisting>
           </tip>
         </question>
@@ -531,7 +510,7 @@ primes[4] = 11;
             </tr>
           </informaltable>
 
-          <para>Write a <xref linkend="glo_Java"/> application which turns an
+          <para>Write a <xref linkend="glo_Java" /> application which turns an
           array containing participants' marks as being shown above into a
           table of frequencies. Your application shall work for other marking
           systems (i.e. marks ranging from -2 to 10) as well.</para>
@@ -571,10 +550,8 @@ primes[4] = 11;
             </orderedlist>
           </tip>
 
-          <para>Add a suitable <methodname>main(String[] <emphasis
-          role="red">args</emphasis>)</methodname> method allowing for passing
-          the marks as command line parameters using the <emphasis
-          role="red">args</emphasis> parameter:</para>
+          <para>Add a suitable <methodname>main(String[] <emphasis role="red">args</emphasis>)</methodname> method allowing for passing
+          the marks as command line parameters using the <emphasis role="red">args</emphasis> parameter:</para>
 
           <screen>marking&gt; <emphasis role="bold">java -jar .../marking/target/marking-0.9.jar</emphasis> 2 1 3 3 5 4 1 2 2 4 3 2 3 3 1 5 3 4
 
@@ -593,8 +570,7 @@ Mark|frequency
             <package>de.hdm_stuttgart.mi.marking</package>.<classname>Marks</classname>
             you'll have to define this class to become archive executable in
             your project's <filename>pom.xml</filename> file. Executing the
-            <command>mvn</command> <option
-            xlink:href="https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#A_Build_Lifecycle_is_Made_Up_of_Phases">install</option>
+            <command>mvn</command> <option xlink:href="https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#A_Build_Lifecycle_is_Made_Up_of_Phases">install</option>
             goal will then create an executable jar archive as outlined
             above.</para>
 
@@ -693,11 +669,11 @@ Mark|frequency
 
     <orderedlist>
       <listitem>
-        <programlisting language="java">type[] arrayName;    </programlisting>
+        <programlisting language="java">type[] arrayName;</programlisting>
       </listitem>
 
       <listitem>
-        <programlisting language="java">type arrayName[];    </programlisting>
+        <programlisting language="java">type arrayName[];</programlisting>
       </listitem>
     </orderedlist>
   </figure>
@@ -710,7 +686,7 @@ Mark|frequency
 ...println("      double[]: " + new double[]{}.getClass().getName());
 ...println("     boolean[]: " + new boolean[]{}.getClass().getName());
 ...println("      String[]: " + new String[]{}.getClass().getName());
-...println("StringBuffer[]: " + new StringBuffer[]{}.getClass().getName());    </programlisting>
+...println("StringBuffer[]: " + new StringBuffer[]{}.getClass().getName());</programlisting>
 
     <screen>        String: java.lang.String
          int[]: [I
@@ -725,7 +701,7 @@ StringBuffer[]: [Ljava.lang.StringBuffer;</screen>
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="Ref/Array/intArray.multi.svg"/>
+        <imagedata fileref="Ref/Array/intArray.multi.svg" />
       </imageobject>
     </mediaobject>
   </figure>
@@ -759,7 +735,7 @@ static void fill(final int[] values, final int common) {
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="Ref/Array/initArrayDefault.multi.svg"/>
+        <imagedata fileref="Ref/Array/initArrayDefault.multi.svg" />
       </imageobject>
     </mediaobject>
   </figure>
@@ -781,17 +757,12 @@ final String shapes[] = {"Triangle", "Circle"};</programlisting>
   </figure>
 
   <section xml:id="sd1_array_sect_classArraysHelper">
-    <title><classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Arrays.html">java.util.Arrays</classname>
+    <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html">java.util.Arrays</classname>
     helpers</title>
 
     <figure xml:id="sd1_array_fig_arraysToStringSort">
-      <title><classname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#toString-java.lang.Object:A-">toString(...)</methodname>
-      and <classname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#sort-java.lang.Object:A-">sort(...)</methodname></title>
+      <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#toString(java.lang.Object%5B%5D)">toString(...)</methodname>
+      and <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#sort(java.lang.Object%5B%5D)">sort(...)</methodname></title>
 
       <programlisting language="java">final String[] names = {"Eve", "Aaron", "Paul", "Mandy"};
 
@@ -808,9 +779,7 @@ sort|toString: [Aaron, Eve, Mandy, Paul]</screen>
     </figure>
 
     <figure xml:id="sd1_array_fig_arraysBinarySearch">
-      <title><classname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#binarySearch-java.lang.Object:A-java.lang.Object-">binarySearch(...)</methodname></title>
+      <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#binarySearch(java.lang.Object%5B%5D,java.lang.Object)">binarySearch(...)</methodname></title>
 
       <programlisting language="java">final String[] names = {"Aaron", "Eve", "Mandy",  "Paul"};
 
@@ -826,18 +795,14 @@ sort|find(Mandy): 2
 sort|find(Mandyer): -4</screen>
     </figure>
 
-    <qandaset defaultlabel="qanda"
-              xml:id="sd1_coreClasses_array_qanda_searchNegResult">
+    <qandaset defaultlabel="qanda" xml:id="sd1_coreClasses_array_qanda_searchNegResult">
       <title>Understanding search results</title>
 
       <qandadiv>
         <qandaentry>
           <question>
-            <para>Read the <xref linkend="glo_Javadoc"/> of <classname
-            xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname
-            xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#binarySearch-java.lang.Object:A-java.lang.Object-">binarySearch(...)</methodname>and
-            explain the three integer search result values in <xref
-            linkend="sd1_array_fig_arraysBinarySearch"/>.</para>
+            <para>Read the <xref linkend="glo_Javadoc" /> of <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#binarySearch(java.lang.Object%5B%5D,java.lang.Object)">binarySearch(...)</methodname>and
+            explain the three integer search result values in <xref linkend="sd1_array_fig_arraysBinarySearch" />.</para>
 
             <para>In particular give a detailed account explaining the two
             negative values -3 and -4.</para>
@@ -911,41 +876,33 @@ sort|find(Mandyer): -4</screen>
             </orderedlist>
 
             <para>In the given example hypothetically inserting the string
-            <code language="java"><emphasis
-            role="red">"Mand"</emphasis></code> retaining a sorted list
+            <code language="java"><emphasis role="red">"Mand"</emphasis></code> retaining a sorted list
             results in:</para>
 
-            <programlisting language="none">{"Aaron", "Eva", <emphasis
-                role="red">"Mand"</emphasis>, "Mandy", "Paul"}</programlisting>
+            <programlisting language="none">{"Aaron", "Eva", <emphasis role="red">"Mand"</emphasis>, "Mandy", "Paul"}</programlisting>
 
             <para>This insertion point's index is 2 corresponding to the third
-            array element. According to the <methodname
-            xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#binarySearch-java.lang.Object:A-java.lang.Object-">binarySearch(...)</methodname>
+            array element. According to the <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#binarySearch(java.lang.Object%5B%5D,java.lang.Object)">binarySearch(...)</methodname>
             method's documentation this corresponds to a return value of -2 -
             1 == -3.</para>
 
-            <para>The observed return value of -4 when searching for <emphasis
-            role="red">"Mandyer"</emphasis> corresponds to insertion index
+            <para>The observed return value of -4 when searching for <emphasis role="red">"Mandyer"</emphasis> corresponds to insertion index
             3:</para>
 
-            <programlisting language="none">{"Aaron", "Eva", "Mandy", <emphasis
-                role="red">"Mandyer"</emphasis>, "Paul"}</programlisting>
+            <programlisting language="none">{"Aaron", "Eva", "Mandy", <emphasis role="red">"Mandyer"</emphasis>, "Paul"}</programlisting>
 
             <remark>Subtracting -1 is being required for conveying the »not in
             list« information under all circumstances. Otherwise not finding
             and hypothetically inserting e.g. <code language="java">"A"</code>
             at the list's beginning would result in 0. This could not be
-            disambiguated from an array featuring <code
-            language="java">"A"</code> at its front position.</remark>
+            disambiguated from an array featuring <code language="java">"A"</code> at its front position.</remark>
           </answer>
         </qandaentry>
       </qandadiv>
     </qandaset>
 
     <figure xml:id="sd1_array_fig_arraysFill">
-      <title><classname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#fill-java.lang.Object:A-java.lang.Object-">fill(...)</methodname></title>
+      <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#fill(java.lang.Object%5B%5D,int,int,java.lang.Object)">fill(...)</methodname></title>
 
       <programlisting language="none">final String[] names = {"Eve", "Aaron", "Paul", "Mandy"};
 
@@ -962,9 +919,7 @@ toString: [N.N, N.N, N.N, N.N]</screen>
     </figure>
 
     <figure xml:id="sd1_array_fig_arraysCopyOf">
-      <title><classname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#copyOfRange-T:A-int-int-">copyOfRange(...)</methodname></title>
+      <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#copyOfRange(T%5B%5D,int,int)">copyOfRange(...)</methodname></title>
 
       <programlisting language="none">final String[] names = {"Eve", "Aaron", "Paul", "Mandy"};
 
@@ -974,14 +929,11 @@ System.out.println("toString: " + Arrays.toString(lastTwoNames));</programlistin
 
       <para>Result:</para>
 
-      <screen>toString: [Paul, Mandy, <emphasis role="red">null</emphasis>, <emphasis
-          role="red">null</emphasis>]</screen>
+      <screen>toString: [Paul, Mandy, <emphasis role="red">null</emphasis>, <emphasis role="red">null</emphasis>]</screen>
     </figure>
 
     <figure xml:id="sd1_array_fig_arraysEquals">
-      <title><classname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#copyOfRange-T:A-int-int-">equals(...)</methodname></title>
+      <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html">Arrays</classname>.<methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#equals(java.lang.Object%5B%5D,java.lang.Object%5B%5D)">equals(...)</methodname></title>
 
       <programlisting language="java">final String[]
   l1 = {"Eve", "Aaron", "Paul", "Mandy"},
@@ -1017,58 +969,44 @@ member[4] =  newCourseMember;</programlisting>
       <title>Extending an array</title>
 
       <programlisting language="java">public static void main(String[] args) {
- <co linkends="sd1_array_fig_manualExtendArray-1"
-          xml:id="sd1_array_fig_manualExtendArray-1-co"/> String[] member = {"Eve", "John", "Peter", "Jill"};
+ <co linkends="sd1_array_fig_manualExtendArray-1" xml:id="sd1_array_fig_manualExtendArray-1-co" /> String[] member = {"Eve", "John", "Peter", "Jill"};
   final String newMember = "Ernest";
-  member <co linkends="sd1_array_fig_manualExtendArray-2"
-          xml:id="sd1_array_fig_manualExtendArray-2-co"/>= append(member, newMember);
+  member <co linkends="sd1_array_fig_manualExtendArray-2" xml:id="sd1_array_fig_manualExtendArray-2-co" />= append(member, newMember);
 }
 static String[] append (final String[] values, final String newValue) {
-  final String[] copy = <co linkends="sd1_array_fig_manualExtendArray-3"
-          xml:id="sd1_array_fig_manualExtendArray-3-co"/> new String[values.length + 1];
-  for (int i = 0; i &lt; values.length; i++) { <co
-          linkends="sd1_array_fig_manualExtendArray-4"
-          xml:id="sd1_array_fig_manualExtendArray-4-co"/>
-    copy[i] = values[i]; <co linkends="sd1_array_fig_manualExtendArray-5"
-          xml:id="sd1_array_fig_manualExtendArray-5-co"/>
+  final String[] copy = <co linkends="sd1_array_fig_manualExtendArray-3" xml:id="sd1_array_fig_manualExtendArray-3-co" /> new String[values.length + 1];
+  for (int i = 0; i &lt; values.length; i++) { <co linkends="sd1_array_fig_manualExtendArray-4" xml:id="sd1_array_fig_manualExtendArray-4-co" />
+    copy[i] = values[i]; <co linkends="sd1_array_fig_manualExtendArray-5" xml:id="sd1_array_fig_manualExtendArray-5-co" />
   }
-  copy[copy.length - 1] = newValue; <co
-          linkends="sd1_array_fig_manualExtendArray-6"
-          xml:id="sd1_array_fig_manualExtendArray-6-co"/>
+  copy[copy.length - 1] = newValue; <co linkends="sd1_array_fig_manualExtendArray-6" xml:id="sd1_array_fig_manualExtendArray-6-co" />
   return copy;
 }</programlisting>
     </figure>
 
     <calloutlist>
-      <callout arearefs="sd1_array_fig_manualExtendArray-1-co"
-               xml:id="sd1_array_fig_manualExtendArray-1">
+      <callout arearefs="sd1_array_fig_manualExtendArray-1-co" xml:id="sd1_array_fig_manualExtendArray-1">
         <para>No final here: Reference will be re-assigned.</para>
       </callout>
 
-      <callout arearefs="sd1_array_fig_manualExtendArray-2-co"
-               xml:id="sd1_array_fig_manualExtendArray-2">
+      <callout arearefs="sd1_array_fig_manualExtendArray-2-co" xml:id="sd1_array_fig_manualExtendArray-2">
         <para>Assigning reference to enlarged array.</para>
       </callout>
 
-      <callout arearefs="sd1_array_fig_manualExtendArray-3-co"
-               xml:id="sd1_array_fig_manualExtendArray-3">
+      <callout arearefs="sd1_array_fig_manualExtendArray-3-co" xml:id="sd1_array_fig_manualExtendArray-3">
         <para>Creating an empty array capable of holding one more
         value.</para>
       </callout>
 
-      <callout arearefs="sd1_array_fig_manualExtendArray-4-co"
-               xml:id="sd1_array_fig_manualExtendArray-4">
+      <callout arearefs="sd1_array_fig_manualExtendArray-4-co" xml:id="sd1_array_fig_manualExtendArray-4">
         <para>Looping over existing values.</para>
       </callout>
 
-      <callout arearefs="sd1_array_fig_manualExtendArray-5-co"
-               xml:id="sd1_array_fig_manualExtendArray-5">
+      <callout arearefs="sd1_array_fig_manualExtendArray-5-co" xml:id="sd1_array_fig_manualExtendArray-5">
         <para>Assigning old values one by one to corresponding index
         positions.</para>
       </callout>
 
-      <callout arearefs="sd1_array_fig_manualExtendArray-6-co"
-               xml:id="sd1_array_fig_manualExtendArray-6">
+      <callout arearefs="sd1_array_fig_manualExtendArray-6-co" xml:id="sd1_array_fig_manualExtendArray-6">
         <para>Assigning new value to last index position before returning
         newly created array's reference.</para>
       </callout>
@@ -1088,8 +1026,7 @@ Extended array: [Eve, John, Peter, Jill, <emphasis role="red">Ernest</emphasis>]
     </figure>
 
     <figure xml:id="sd1_array_fig_arraysExtendArrayHelper">
-      <title>Using <methodname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Arrays.html#copyOf-int:A-int-">Arrays.copyOf()</methodname></title>
+      <title>Using <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#copyOf(int%5B%5D,int)">Arrays.copyOf()</methodname></title>
 
       <programlisting language="none">public static void main(String[] args) {
     final int [] start = {1,7,-4},
@@ -1131,9 +1068,7 @@ static public int[] append(final int[] values, final int newValue) {
 }</programlisting>
 
             <para>Change the implementation. Do not use methods from
-            <classname>Arrays</classname> but just <code
-            language="java">for</code> loops and other elementary <xref
-            linkend="glo_Java"/> constructs. Employ the following (minimal)
+            <classname>Arrays</classname> but just <code language="java">for</code> loops and other elementary <xref linkend="glo_Java" /> constructs. Employ the following (minimal)
             unit test:</para>
 
             <programlisting language="java">public class AppendTest {
@@ -1156,34 +1091,25 @@ static public int[] append(final int[] values, final int newValue) {
  * @return A new array prepending the input array values to the new value .
  */
 static public int[] append(final int[] values, final int newValue) {
-  final int[] result = new int[values.length + <emphasis role="red">1</emphasis>]; <co
-                linkends="sd1_core_array_qanda_extendArrayCalloutSolution-1"
-                xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-1-co"/>
-  for (int i = 0; i &lt; values.length; i++) { <co
-                linkends="sd1_core_array_qanda_extendArrayCalloutSolution-2"
-                xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-2-co"/>
+  final int[] result = new int[values.length + <emphasis role="red">1</emphasis>]; <co linkends="sd1_core_array_qanda_extendArrayCalloutSolution-1" xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-1-co" />
+  for (int i = 0; i &lt; values.length; i++) { <co linkends="sd1_core_array_qanda_extendArrayCalloutSolution-2" xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-2-co" />
     result[i] = values[i];
   }
-  result[values.length] = newValue; <co
-                linkends="sd1_core_array_qanda_extendArrayCalloutSolution-3"
-                xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-3-co"/>
+  result[values.length] = newValue; <co linkends="sd1_core_array_qanda_extendArrayCalloutSolution-3" xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-3-co" />
   return result;
 }</programlisting>
 
             <calloutlist>
-              <callout arearefs="sd1_core_array_qanda_extendArrayCalloutSolution-1-co"
-                       xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-1">
+              <callout arearefs="sd1_core_array_qanda_extendArrayCalloutSolution-1-co" xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-1">
                 <para>Create a new array by extending the given array's size
                 by 1.</para>
               </callout>
 
-              <callout arearefs="sd1_core_array_qanda_extendArrayCalloutSolution-2-co"
-                       xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-2">
+              <callout arearefs="sd1_core_array_qanda_extendArrayCalloutSolution-2-co" xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-2">
                 <para>Copy the given array's values into the new array.</para>
               </callout>
 
-              <callout arearefs="sd1_core_array_qanda_extendArrayCalloutSolution-3-co"
-                       xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-3">
+              <callout arearefs="sd1_core_array_qanda_extendArrayCalloutSolution-3-co" xml:id="sd1_core_array_qanda_extendArrayCalloutSolution-3">
                 <para>Copy the new <code language="java">int</code> value to
                 the last array element.</para>
               </callout>
@@ -1279,7 +1205,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
                   <para>Loop over the sorted values. Due to sorting duplicates
                   now appear in sequence:</para>
 
-                  <programlisting language="java">{1, 1, 1, 5, 6, 6} </programlisting>
+                  <programlisting language="java">{1, 1, 1, 5, 6, 6}</programlisting>
 
                   <para>You may create a secondary array holding only distinct
                   index values. In the given example this would contain index
@@ -1290,7 +1216,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
                   <para>Create a result array containing only distinct
                   values:</para>
 
-                  <programlisting language="java">{1, 5, 6} </programlisting>
+                  <programlisting language="java">{1, 5, 6}</programlisting>
                 </listitem>
               </orderedlist>
             </tip>
@@ -1342,7 +1268,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
 
 
     for (int i = 0; i &lt; uniqueValueIndexTop; i++) { // Copy distinct values to result array
-      result[i] = sortedValues[uniqueValuesIndex[i]]; 
+      result[i] = sortedValues[uniqueValuesIndex[i]];
     }
     return result;
   }
@@ -1378,8 +1304,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
               </annotation>
 
               <para>Like in the previous exercise Junit tests are being
-              prepared but masked by an <interfacename
-              xlink:href="https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html">@Disabled</interfacename>
+              prepared but masked by an <interfacename xlink:href="https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html">@Disabled</interfacename>
               annotation.</para>
 
               <para>This skeleton project contains:</para>
@@ -1391,7 +1316,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
                 </listitem>
 
                 <listitem>
-                  <para>A <xref linkend="glo_Junit"/> test
+                  <para>A <xref linkend="glo_Junit" /> test
                   <classname>IntStoreTest</classname> which allows you to test
                   your ongoing implementation of
                   <classname>BoundedIntegerStore</classname>. This class
@@ -1401,8 +1326,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
 
                 <listitem>
                   <para>Like in the previous exercise the Junit tests are
-                  being masked by an <interfacename
-                  xlink:href="https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html">@Disabled</interfacename>
+                  being masked by an <interfacename xlink:href="https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html">@Disabled</interfacename>
                   annotation. After successful implementation they should be
                   enabled for test activation.</para>
                 </listitem>
@@ -1424,7 +1348,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
         <qandadiv>
           <qandaentry>
             <question>
-              <para>In <xref linkend="sd1QandaIntStore"/> once a store has
+              <para>In <xref linkend="sd1QandaIntStore" /> once a store has
               been created its capacity is fixed. We'd like to extend our
               class to support dynamic growth while adding new values. To
               achieve this goal follow the following steps:</para>
@@ -1470,8 +1394,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
                     </listitem>
 
                     <listitem>
-                      <para>Assign the new array to your <code
-                      language="java">int[] values</code> variable. You
+                      <para>Assign the new array to your <code language="java">int[] values</code> variable. You
                       thereby implicitly discard the old array which become
                       subject to be garbage collected.</para>
                     </listitem>
@@ -1493,7 +1416,7 @@ final int[] sortedValues = Arrays.copyOf(values, values.length);
                 </listitem>
               </orderedlist>
 
-              <para>Modify and add <xref linkend="glo_Junit"/> tests
+              <para>Modify and add <xref linkend="glo_Junit" /> tests
               accordingly to reflect the new behaviour. In particular you
               should test for correct capacity reallocation handling when
               adding larger numbers of values being added.</para>
@@ -1534,35 +1457,29 @@ Parameter 3: -13</screen>
     </figure>
 
     <figure xml:id="sd1_array_fig_ideaRunConfig">
-      <title><xref linkend="glo_Soft_IntellijIDEA"/> run configuration</title>
+      <title><xref linkend="glo_Soft_IntellijIDEA" /> run configuration</title>
 
       <mediaobject>
         <imageobjectco>
           <areaspec otherunits="imagemap" units="other">
-            <area coords="407,98,521,139"
-                  linkends="sd1_array_fig_ideaRunConfig-1"
-                  xml:id="__area-ypcokm"/>
+            <area coords="407,98,521,139" linkends="sd1_array_fig_ideaRunConfig-1" xml:id="__area-ypcokm" />
 
-            <area coords="410,161,526,202"
-                  linkends="sd1_array_fig_ideaRunConfig-2"
-                  xml:id="__area-qny3zv"/>
+            <area coords="410,161,526,202" linkends="sd1_array_fig_ideaRunConfig-2" xml:id="__area-qny3zv" />
           </areaspec>
 
           <imageobject>
-            <imagedata fileref="Ref/Array/ideaRunConfig.png.marked.svg"/>
+            <imagedata fileref="Ref/Array/ideaRunConfig.png.marked.svg" />
           </imageobject>
         </imageobjectco>
       </mediaobject>
 
       <calloutlist>
-        <callout arearefs="__area-ypcokm"
-                 xml:id="sd1_array_fig_ideaRunConfig-1">
+        <callout arearefs="__area-ypcokm" xml:id="sd1_array_fig_ideaRunConfig-1">
           <para>Entry class <classname>myapp.Cmd</classname> containing
           <methodname>... main(String[] args)</methodname>.</para>
         </callout>
 
-        <callout arearefs="__area-qny3zv"
-                 xml:id="sd1_array_fig_ideaRunConfig-2">
+        <callout arearefs="__area-qny3zv" xml:id="sd1_array_fig_ideaRunConfig-2">
           <para>Parameters <option>21</option>, <option>334</option> and
           <option>-13</option> being passed to <code language="java">String[]
           args</code>.</para>
@@ -1571,11 +1488,11 @@ Parameter 3: -13</screen>
     </figure>
 
     <figure xml:id="sd1_array_fig_ideaRunConfigResult">
-      <title><xref linkend="glo_Soft_IntellijIDEA"/> run configuration</title>
+      <title><xref linkend="glo_Soft_IntellijIDEA" /> run configuration</title>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Array/ideaRunResult.png"/>
+          <imagedata fileref="Ref/Array/ideaRunResult.png" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -1585,17 +1502,17 @@ Parameter 3: -13</screen>
 
       <informaltable border="0">
         <tr>
-          <td valign="top"><programlisting language="none">&lt;artifactId&gt;maven-shade-plugin&lt;/artifactId&gt;     
+          <td valign="top"><programlisting language="none">&lt;artifactId&gt;maven-shade-plugin&lt;/artifactId&gt;
 ...
-&lt;transformer ...&gt;    
+&lt;transformer ...&gt;
   &lt;manifestEntries&gt;
     &lt;Main-Class&gt;<emphasis role="red">myapp.Cmd</emphasis>&lt;/Main-Class&gt;
   &lt;/manifestEntries&gt;...</programlisting></td>
 
           <td valign="top"><screen>unzip ww-1.0-SNAPSHOT.jar
-cat  tmp/META-INF/MANIFEST.MF 
+cat  tmp/META-INF/MANIFEST.MF
 ...
-Created-By: Apache Maven 3.5.0     
+Created-By: Apache Maven 3.5.0
 Build-Jdk: 1.8.0_151
 Main-Class: <emphasis role="red">myapp.Cmd</emphasis></screen></td>
         </tr>
@@ -1623,7 +1540,7 @@ public class Driver {
   public static void main(String[] args) {
 
     final Scanner scanner = new Scanner(System.in);
-    
+
     System.out.print("How many values do you want to summ up? ");
     final int numValues = scanner.nextInt();
 
@@ -1703,8 +1620,7 @@ Enter value #1 of 4: 1
       <qandadiv>
         <qandaentry>
           <question>
-            <para>The output representation of <xref
-            linkend="sd1QandaConsoleInput"/> shall be altered by the following
+            <para>The output representation of <xref linkend="sd1QandaConsoleInput" /> shall be altered by the following
             rules:</para>
 
             <orderedlist>
@@ -1728,8 +1644,7 @@ Enter value #1 of 4: 1
 
                 <itemizedlist>
                   <listitem>
-                    <para>{0,1,0,4} → <code
-                    language="java">1+4=5</code>.</para>
+                    <para>{0,1,0,4} → <code language="java">1+4=5</code>.</para>
                   </listitem>
 
                   <listitem>
@@ -1746,11 +1661,9 @@ Enter value #1 of 4: 1
 
               <listitem>
                 <para>If possible a sum shall not start with a negative value.
-                The list {-1, -2, 5} for example will generate <code
-                language="java">-1-2+5=2</code>. Instead the first negative
+                The list {-1, -2, 5} for example will generate <code language="java">-1-2+5=2</code>. Instead the first negative
                 value shall be swapped with the first positive value (if
-                existent). The current example will thus result in <code
-                language="java">5-2-1=2</code>.</para>
+                existent). The current example will thus result in <code language="java">5-2-1=2</code>.</para>
               </listitem>
             </orderedlist>
 
@@ -1766,8 +1679,7 @@ Enter value #1 of 4: 1
                   <para>The following Maven project skeleton contains both a
                   yet not implemented class method
                   <methodname>de.hdm_stuttgart.mi.sda1.console_sum.App.prettifyOutput(int[]
-                  values)</methodname> and a corresponding <xref
-                  linkend="glo_Junit"/> test suite being defined in
+                  values)</methodname> and a corresponding <xref linkend="glo_Junit" /> test suite being defined in
                   <package>de.hdm_stuttgart.mi.sda1.console_sum</package>.<classname>AppTest</classname>:</para>
 
                   <annotation role="make">
@@ -1777,8 +1689,7 @@ Enter value #1 of 4: 1
                   <para>All tests would currently fail. Therefore the test
                   class
                   <classname>de.hdm_stuttgart.mi.sda1.console_sum.AppTest</classname>
-                  is being masked by an <interfacename
-                  xlink:href="https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html">@Disabled</interfacename>
+                  is being masked by an <interfacename xlink:href="https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html">@Disabled</interfacename>
                   annotation:</para>
 
                   <programlisting language="java">...
@@ -1792,12 +1703,10 @@ public class AppTest {
        Assert.assertEquals("0", App.prettifyOutput(new int[0]));
    } ...</programlisting>
 
-                  <para>Import this project into your <xref
-                  linkend="glo_IDE"/> and complete its implementation of
+                  <para>Import this project into your <xref linkend="glo_IDE" /> and complete its implementation of
                   <methodname>de.hdm_stuttgart.mi.sda1.console_sum.App.prettifyOutput(int[]
-                  values)</methodname> until all <xref linkend="glo_Junit"/>
-                  tests do succeed. Removing the <interfacename
-                  xlink:href="https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html">@Disabled</interfacename>
+                  values)</methodname> until all <xref linkend="glo_Junit" />
+                  tests do succeed. Removing the <interfacename xlink:href="https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html">@Disabled</interfacename>
                   line will allow for testing your implementation.</para>
                 </listitem>
               </itemizedlist>
@@ -1845,97 +1754,76 @@ matrix[1] = new int[3];              // second int array</programlisting>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Array/array2dim.multi.svg"/>
+          <imagedata fileref="Ref/Array/array2dim.multi.svg" />
         </imageobject>
       </mediaobject>
     </figure>
 
-    <qandaset defaultlabel="qanda"
-              xml:id="sd1_array_qanda_array2dimConstLength">
-      <title>2-dimensional arrays and <code
-      language="java">.length</code></title>
+    <qandaset defaultlabel="qanda" xml:id="sd1_array_qanda_array2dimConstLength">
+      <title>2-dimensional arrays and <code language="java">.length</code></title>
 
       <qandadiv>
         <qandaentry>
           <question>
             <orderedlist>
               <listitem>
-                <para>In <xref linkend="sd1_array_fig_arrayPrimeArrayLength"/>
-                you were advised to prefer <code
-                language="java">.length</code> rather than using hard coded
+                <para>In <xref linkend="sd1_array_fig_arrayPrimeArrayLength" />
+                you were advised to prefer <code language="java">.length</code> rather than using hard coded
                 int literals like e.g. <quote>5</quote>. Replace the first
                 loop's respective limits 2 and 3 accordingly.</para>
 
                 <tip>
                   <para>The array has got constant dimension with respect to
-                  each row of values. You may thus choose either <code
-                  language="java">matrix[0]</code> of <code
-                  language="java">matrix[1]</code> as a representative.</para>
+                  each row of values. You may thus choose either <code language="java">matrix[0]</code> of <code language="java">matrix[1]</code> as a representative.</para>
                 </tip>
               </listitem>
 
               <listitem>
-                <para>Replace the second loop by a <link
-                linkend="sd1_array_fig_arrayForEachLoop">for-each style</link>
+                <para>Replace the second loop by a <link linkend="sd1_array_fig_arrayForEachLoop">for-each style</link>
                 loop.</para>
 
                 <tip>
-                  <para><code language="java">matrix[0]</code> and <code
-                  language="java">matrix[1]</code> are of type <code
-                  language="java">int[]</code>.</para>
+                  <para><code language="java">matrix[0]</code> and <code language="java">matrix[1]</code> are of type <code language="java">int[]</code>.</para>
                 </tip>
               </listitem>
             </orderedlist>
           </question>
 
           <answer>
-            <para>Two-dimensional arrays in <xref linkend="glo_Java"/> are
+            <para>Two-dimensional arrays in <xref linkend="glo_Java" /> are
             nested arrays of arrays. We thus choose appropriate data
             types:</para>
 
             <programlisting language="java">final int[][] matrix = new int[2][3];
 
-for (int row = 0; row &lt; matrix.length <co
-                linkends="sd1_array_qanda_array2dimConstLength-1"
-                xml:id="sd1_array_qanda_array2dimConstLength-1-co"/>; row++) {
-  for (int col = 0; col &lt; matrix[row].length <co
-                linkends="sd1_array_qanda_array2dimConstLength-2"
-                xml:id="sd1_array_qanda_array2dimConstLength-2-co"/>; col++) {
+for (int row = 0; row &lt; matrix.length <co linkends="sd1_array_qanda_array2dimConstLength-1" xml:id="sd1_array_qanda_array2dimConstLength-1-co" />; row++) {
+  for (int col = 0; col &lt; matrix[row].length <co linkends="sd1_array_qanda_array2dimConstLength-2" xml:id="sd1_array_qanda_array2dimConstLength-2-co" />; col++) {
     matrix[row][col] = col + row;
   }
 }
-for (final int[] <co linkends="sd1_array_qanda_array2dimConstLength-3"
-                xml:id="sd1_array_qanda_array2dimConstLength-3-co"/> row : matrix) {
+for (final int[] <co linkends="sd1_array_qanda_array2dimConstLength-3" xml:id="sd1_array_qanda_array2dimConstLength-3-co" /> row : matrix) {
   System.out.println(Arrays.toString(row));
 }</programlisting>
 
             <calloutlist>
-              <callout arearefs="sd1_array_qanda_array2dimConstLength-1-co"
-                       xml:id="sd1_array_qanda_array2dimConstLength-1">
-                <para>The »outer« array's dimension: This <code
-                language="java">int[][]</code> array is the visible entry
+              <callout arearefs="sd1_array_qanda_array2dimConstLength-1-co" xml:id="sd1_array_qanda_array2dimConstLength-1">
+                <para>The »outer« array's dimension: This <code language="java">int[][]</code> array is the visible entry
                 point containing references to rows each being implemented as
                 a »simple« <code language="java">int[]</code> array.</para>
               </callout>
 
-              <callout arearefs="sd1_array_qanda_array2dimConstLength-2-co"
-                       xml:id="sd1_array_qanda_array2dimConstLength-2">
+              <callout arearefs="sd1_array_qanda_array2dimConstLength-2-co" xml:id="sd1_array_qanda_array2dimConstLength-2">
                 <para>All rows are having identical length. We could thus use
-                either representative <code
-                language="java">matrix[0].length</code> or <code
-                language="java">matrix[1].length</code> as well. However
+                either representative <code language="java">matrix[0].length</code> or <code language="java">matrix[1].length</code> as well. However
                 choosing <code language="java">matrix[row].length</code> also
                 works in case of different row lengths.</para>
               </callout>
 
-              <callout arearefs="sd1_array_qanda_array2dimConstLength-3-co"
-                       xml:id="sd1_array_qanda_array2dimConstLength-3">
+              <callout arearefs="sd1_array_qanda_array2dimConstLength-3-co" xml:id="sd1_array_qanda_array2dimConstLength-3">
                 <para>The variable <code language="java">matrix</code> is of
-                type <code language="java">int[][]</code>. Each <code
-                language="java">matrix[row]</code> entry thus represents a
+                type <code language="java">int[][]</code>. Each <code language="java">matrix[row]</code> entry thus represents a
                 reference to an »ordinary« <code language="java">int[]</code>
-                array. So row iteration requires a loop variable of type <code
-                language="java">int[]</code>.</para>
+                array. So row iteration requires a loop variable of type <code language="java">int[]</code>.</para>
               </callout>
             </calloutlist>
           </answer>
@@ -1953,23 +1841,19 @@ for (final int[] <co linkends="sd1_array_qanda_array2dimConstLength-3"
 
             <itemizedlist>
               <listitem>
-                <para><link
-                xlink:href="http://codingbat.com/java/String-3">String-3</link></para>
+                <para><link xlink:href="http://codingbat.com/java/String-3">String-3</link></para>
               </listitem>
 
               <listitem>
-                <para><link
-                xlink:href="http://codingbat.com/java/Array-1">Array-1</link></para>
+                <para><link xlink:href="http://codingbat.com/java/Array-1">Array-1</link></para>
               </listitem>
 
               <listitem>
-                <para><link
-                xlink:href="http://codingbat.com/java/Array-1">Array-2</link></para>
+                <para><link xlink:href="http://codingbat.com/java/Array-1">Array-2</link></para>
               </listitem>
 
               <listitem>
-                <para><link
-                xlink:href="http://codingbat.com/java/Array-3">Array-3</link></para>
+                <para><link xlink:href="http://codingbat.com/java/Array-3">Array-3</link></para>
               </listitem>
             </itemizedlist>
           </question>
@@ -1989,8 +1873,7 @@ for (final int[] <co linkends="sd1_array_qanda_array2dimConstLength-3"
           <qandaentry>
             <question>
               <para>This exercise exclusively deals with the visualization and
-              bookkeeping of two humans playing <link
-              xlink:href="https://en.wikipedia.org/wiki/Tic-tac-toe">Tic-tac-toe</link>
+              bookkeeping of two humans playing <link xlink:href="https://en.wikipedia.org/wiki/Tic-tac-toe">Tic-tac-toe</link>
               against each other. For the sake of clarification: It is not
               about humans playing a computer. So you do not (yet) have to
               implement an algorithm finding a player's best possible moves.
@@ -2001,7 +1884,7 @@ for (final int[] <co linkends="sd1_array_qanda_array2dimConstLength-3"
 
                 <mediaobject>
                   <videoobject>
-                    <videodata fileref="Ref/Video/tttEclipse.webm"/>
+                    <videodata fileref="Ref/Video/tttEclipse.webm" />
                   </videoobject>
                 </mediaobject>
               </figure>
@@ -2024,78 +1907,78 @@ for (final int[] <co linkends="sd1_array_qanda_array2dimConstLength-3"
               a <quote>win</quote> state:</para>
 
               <informaltable border="1">
-                <col width="7%"/>
+                <col width="7%" />
 
-                <col width="2%"/>
+                <col width="2%" />
 
-                <col width="7%"/>
+                <col width="7%" />
 
-                <col width="2%"/>
+                <col width="2%" />
 
-                <col width="7%"/>
+                <col width="7%" />
 
-                <col width="2%"/>
+                <col width="2%" />
 
-                <col width="7%"/>
+                <col width="7%" />
 
-                <col width="2%"/>
+                <col width="2%" />
 
-                <col width="7%"/>
+                <col width="7%" />
 
-                <col width="2%"/>
+                <col width="2%" />
 
-                <col width="7%"/>
+                <col width="7%" />
 
-                <col width="2%"/>
+                <col width="2%" />
 
-                <col width="7%"/>
+                <col width="7%" />
 
-                <col width="2%"/>
+                <col width="2%" />
 
-                <col width="7%"/>
+                <col width="7%" />
 
                 <tr>
                   <td><screen>xxx
 ...
 ...</screen></td>
 
-                  <td/>
+                  <td />
 
                   <td><screen>...
 xxx
 ...</screen></td>
 
-                  <td/>
+                  <td />
 
                   <td><screen>...
 ...
 xxx</screen></td>
 
-                  <td/>
+                  <td />
 
                   <td><screen>x..
 x..
 x..</screen></td>
 
-                  <td/>
+                  <td />
 
                   <td><screen>.x.
 .x.
 .x.</screen></td>
 
-                  <td/>
+                  <td />
 
                   <td><screen>..x
 ..x
 ..x</screen></td>
 
-                  <td/>
+                  <td />
 
                   <td><screen>x..
 .x.
 ..x</screen></td>
 
-                  <td/>
+                  <td />
 
                   <td><screen>..x
 .x.
@@ -2111,8 +1994,7 @@ x..</screen></td>
                 <para role="eclipse">Sd1/TicTacToe/V1</para>
               </annotation>
 
-              <para>This implementation already uses a so called <code
-              language="java">enum</code> to be discussed later during an
+              <para>This implementation already uses a so called <code language="java">enum</code> to be discussed later during an
               upcoming lecture:</para>
 
               <programlisting language="java">public enum Player {
@@ -2144,15 +2026,14 @@ x..</screen></td>
       }
    }</programlisting>
 
-              <para>A <xref linkend="glo_Java"/> <code
-              language="java">enum</code> essentially is a specialized class.
+              <para>A <xref linkend="glo_Java" /> <code language="java">enum</code> essentially is a specialized class.
               If you don't like this yet you may safely replace the given
               <code language="java">enum</code> by the following class:</para>
 
               <programlisting language="java">public class Player {
 
-      final public static Player 
-          PLAYER1 = new Player ("Jim", 'O'), 
+      final public static Player
+          PLAYER1 = new Player ("Jim", 'O'),
           PLAYER2 = new Player("Eve", 'X');
 
       public final String nickname;
@@ -2164,7 +2045,7 @@ x..</screen></td>
       }
 
       public Player getOtherPlayer() {
-        
+
         if (PLAYER1 == this) {
           return PLAYER2;
         } else if (PLAYER2 == this) {
@@ -2181,7 +2062,7 @@ x..</screen></td>
    }</programlisting>
 
               <para>It is possible to wrap this solution into an executable
-              <xref linkend="glo_Jar"/> archive by adding:</para>
+              <xref linkend="glo_Jar" /> archive by adding:</para>
 
               <programlisting language="xml">      &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
@@ -2200,7 +2081,7 @@ x..</screen></td>
       &lt;/plugin&gt;</programlisting>
 
               <para>This allows for console execution rather than using your
-              <xref linkend="glo_IDE"/>:</para>
+              <xref linkend="glo_IDE" />:</para>
 
               <screen>goik@mi-ESPRIMO-P910 V1&gt; mvn install
 [INFO] Scanning for projects...
@@ -2215,10 +2096,10 @@ Results :
 
 Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
 
-[INFO] 
+[INFO]
 <emphasis role="bold">[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ tictactoe ---
 [INFO] Building jar: /.../P/Sd1/TicTacToe/V1/target/tictactoe-0.9.jar
-[INFO] 
+[INFO]
 [INFO] --- maven-install-plugin:2.5.2:install (default-install) @ tictactoe ---
 [INFO] Installing /.../de/hdm-stuttgart/mi/sd1/tictactoe/0.9/tictactoe-0.9.jar
 </emphasis>[INFO] Installing /ma/.../de/hdm-stuttgart/mi/sd1/tictactoe/0.9/tictactoe-0.9.pom
@@ -2360,33 +2241,24 @@ Bill, please enter next field's number:</screen>
 
                 <mediaobject>
                   <videoobject>
-                    <videodata fileref="Ref/Video/tttHumanVsComputer.webm"/>
+                    <videodata fileref="Ref/Video/tttHumanVsComputer.webm" />
                   </videoobject>
                 </mediaobject>
               </figure>
 
               <para>The underlying logic is considerately more difficult to
-              implement and requires recursion as being introduced in <xref
-              linkend="sd1SectFactorialRecursive"/>. You may want to
+              implement and requires recursion as being introduced in <xref linkend="sd1SectFactorialRecursive" />. You may want to
               read:</para>
 
               <itemizedlist>
                 <listitem>
-                  <para><link
-                  xlink:href="http://web.stanford.edu/~msirota/soco/minimax.html">Strategies
-                  and tactics for intelligent search</link></para>
-                </listitem>
-
-                <listitem>
-                  <para><link
-                  xlink:href="http://www.flyingmachinestudios.com/programming/minimax">An
+                  <para><link xlink:href="http://www.flyingmachinestudios.com/programming/minimax">An
                   Exhaustive Explanation of Minimax, a Staple AI
                   Algorithm</link></para>
                 </listitem>
 
                 <listitem>
-                  <para><link
-                  xlink:href="http://neverstopbuilding.com/minimax">Tic Tac
+                  <para><link xlink:href="http://neverstopbuilding.com/minimax">Tic Tac
                   Toe: Understanding The Minimax Algorithm</link></para>
                 </listitem>
               </itemizedlist>
@@ -2412,23 +2284,20 @@ Bill, please enter next field's number:</screen>
       <qandadiv>
         <qandaentry>
           <question>
-            <para>Extend <xref linkend="sd1QandaIntStoreUnbounded"/> by
+            <para>Extend <xref linkend="sd1QandaIntStoreUnbounded" /> by
             providing a method <methodname>double getAverage()</methodname> to
             provide statistical data on a given set of integer values. In
             addition provide a method <methodname>void clear()</methodname>
             enabling a user to support different sets of values.</para>
 
-            <para>Do not forget to extend your <xref linkend="glo_Junit"/>
-            tests. You may want to import the <link
-            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sd1/Array/integerStoreStat">skeleton
+            <para>Do not forget to extend your <xref linkend="glo_Junit" />
+            tests. You may want to import the <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sd1/Array/integerStoreStat">skeleton
             project</link> for getting started.</para>
 
             <caution>
               <para>When testing for equality of double values you may find
-              the <xref linkend="glo_Junit"/> method <methodname
-              xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertEquals(double,%20double)">assertEquals()</methodname>to
-              be marked as <link
-              xlink:href="https://docs.oracle.com/javase/1.5.0/docs/guide/javadoc/deprecation/deprecation.html">deprecated</link>.
+              the <xref linkend="glo_Junit" /> method <methodname xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertEquals(double,%20double)">assertEquals()</methodname>to
+              be marked as <link xlink:href="https://docs.oracle.com/javase/1.5.0/docs/guide/javadoc/deprecation/deprecation.html">deprecated</link>.
               Give a reason why this decision has been taken. The answer may
               guide you in finding a more appropriate test.</para>
             </caution>
@@ -2439,8 +2308,7 @@ Bill, please enter next field's number:</screen>
               <para role="eclipse">Sd1/Array/integerStoreStat</para>
             </annotation>
 
-            <para>Testing for equality of two <code
-            language="java">double</code> variables is generally a bad idea.
+            <para>Testing for equality of two <code language="java">double</code> variables is generally a bad idea.
             Consider:</para>
 
             <programlisting language="java">double b= 1./3.;
@@ -2453,15 +2321,13 @@ System.out.println(3 * b);</programlisting>
             <screen>0.9999999999999998</screen>
 
             <para>Thus <code language="java">assertEquals(1., b)</code> will
-            fail due to limited arithmetic precision. <xref
-            linkend="glo_Junit"/> provides a method <code language="java"
-            xlink:href="http://junit.org/javadoc/latest/org/junit/Assert.html#assertEquals(double,%20double,%20double)">assertEquals(double
+            fail due to limited arithmetic precision. <xref linkend="glo_Junit" /> provides a method <code language="java" xlink:href="https://junit.org/junit4/javadoc/latest/org/junit/Assert.html#assertEquals(double,%20double,%20double)">assertEquals(double
             expected, double actual, double delta)</code> addressing this
             problem:</para>
 
             <programlisting language="java">@Test
 public void testApp() {
-       
+
    double b= 1./3.;
    b++;
    b--;
@@ -2539,7 +2405,7 @@ public void testApp() {
               not:</para>
 
               <programlisting language="java">  /**
-   * Test, whether a given number is prime. 
+   * Test, whether a given number is prime.
    * @param candidate The number to be assessed
    * @return true if candidate is prime, false otherwise
    * &lt;dl&gt;
@@ -2562,8 +2428,7 @@ public void testApp() {
                   <para>Write a <emphasis role="bold">concise</emphasis> test
                   which tests the above method for all numbers within the
                   range [2, 100]. You need to know all prime numbers from this
-                  set in order to implement a <emphasis
-                  role="bold">complete</emphasis> test for both directions
+                  set in order to implement a <emphasis role="bold">complete</emphasis> test for both directions
                   <quote>is prime</quote> and <quote>is not
                   prime</quote>.</para>
                 </listitem>
@@ -2576,10 +2441,8 @@ public void testApp() {
                   <para>Write a method which tests prime number candidates up
                   to an arbitrary limit (say limit == 10000) and returns the
                   number of primes within [2, limit]. Measure this method's
-                  execution time. You may want to consult <methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#currentTimeMillis--">System.currentTimeMillis()</methodname>
-                  or <methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#nanoTime--">System.nanoTime()</methodname>
+                  execution time. You may want to consult <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#currentTimeMillis()">System.currentTimeMillis()</methodname>
+                  or <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#nanoTime()">System.nanoTime()</methodname>
                   for that purpose.</para>
                 </listitem>
               </orderedlist>
@@ -2621,7 +2484,7 @@ public void testApp() {
     final int[] primeNumbers = { 2,  3,  5,  7, 11, 13, 17, 19, 23,
                                 31, 37, 41, 43, 47, 53, 59, 29,
                                 61, 67, 71, 73, 79, 83, 89, 97};
-    
+
     final boolean[] isPrime = new boolean[101]; //Testing 2, 3, 4, .., 99, 100
     for (int i = 2; i &lt;= 100; i++) {
       isPrime[i] = false;
@@ -2648,8 +2511,7 @@ public void testApp() {
                   == 49</code> the last value of i to be considered will be 6.
                   So the required test <code language="java">49 % 7</code>
                   will never be executed thus erroneously returning true. We
-                  have to modify the loop's limit slightly by using <code
-                  language="java">i * i <emphasis role="red">&lt;=</emphasis>
+                  have to modify the loop's limit slightly by using <code language="java">i * i <emphasis role="red">&lt;=</emphasis>
                   candidate</code> instead:</para>
 
                   <programlisting language="none">  public static boolean isPrime(final long candidate) {
@@ -2657,14 +2519,12 @@ public void testApp() {
   ...</programlisting>
 
                   <para>This way <code language="java">49 % 7</code> will be
-                  evaluated to zero thus returning <code
-                  language="java">false</code> and thereby categorizing 49 as
+                  evaluated to zero thus returning <code language="java">false</code> and thereby categorizing 49 as
                   a non-prime number.</para>
                 </listitem>
 
                 <listitem>
-                  <para>Executing <methodname
-                  xlink:href="P/Sd1/Prime/V1/target/site/apidocs/de/hdm_stuttgart/mi/sd1/main/PrimeNumbers.html#main-java.lang.String:A-">main()</methodname>
+                  <para>Executing <methodname xlink:href="P/Sd1/Prime/V1/target/site/apidocs/de/hdm_stuttgart/mi/sd1/main/PrimeNumbers.html#main-java.lang.String:A-">main()</methodname>
                   allows for estimating the prime number computing
                   performance:</para>
 
@@ -2701,8 +2561,7 @@ public void testApp() {
 143 % 10 == 0 ? No.
 143 % 11 == 0 ? Yes ==&gt; 143 is not prime</screen>
 
-              <para>Learning from <link
-              xlink:href="https://en.wikipedia.org/wiki/Prime_factor">prime
+              <para>Learning from <link xlink:href="https://en.wikipedia.org/wiki/Prime_factor">prime
               factorization</link> it actually suffices testing only prime
               values rather than all integer values up to the already
               discussed square root limit:</para>
@@ -2731,8 +2590,7 @@ public void testApp() {
 
                 <itemizedlist>
                   <listitem>
-                    <para>You may want to reuse your unsorted <classname
-                    xlink:href="P/Sd1/Array/integerStoreUnbounded/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html">IntegerStore</classname>
+                    <para>You may want to reuse your unsorted <classname xlink:href="P/Sd1/Array/integerStoreUnbounded/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html">IntegerStore</classname>
                     implementation to provide a dynamically growing array of
                     integer values.</para>
                   </listitem>
@@ -2772,12 +2630,10 @@ public void testApp() {
       <qandadiv>
         <qandaentry>
           <question>
-            <para>Read the <link
-            xlink:href="https://en.wikipedia.org/wiki/Median">definition of a
+            <para>Read the <link xlink:href="https://en.wikipedia.org/wiki/Median">definition of a
             given sample's median</link>.</para>
 
-            <para>We want to extend exercise <xref
-            linkend="sd1QandaIntStoreStat"/> by adding a method
+            <para>We want to extend exercise <xref linkend="sd1QandaIntStoreStat" /> by adding a method
             <methodname>int getMedian()</methodname>. For this purpose our
             current implementation lacks ordering of input values. Consider
             the following sample of values:</para>
@@ -2806,15 +2662,13 @@ public void testApp() {
   }</programlisting>
 
                 <caution>
-                  <para>Do not just return your internal array <code
-                  language="java">int[] values</code>! Due to the amortized
+                  <para>Do not just return your internal array <code language="java">int[] values</code>! Due to the amortized
                   doubling implementation this will in most cases contain
                   unused positions on top of added values.</para>
 
                   <para>You may either construct a suitable copy containing
                   the current elements yourself or get enlightened by reading
-                  the <xref linkend="glo_API"/> documentation of <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Arrays.html#copyOfRange-int:A-int-int-">copyOfRange(...)</link>.</para>
+                  the <xref linkend="glo_API" /> documentation of <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#copyOfRange(int%5B%5D,int,int)">copyOfRange(...)</link>.</para>
                 </caution>
               </listitem>
 
@@ -2841,15 +2695,12 @@ for (final int i: unsortedValues) {
                 <para>Do not forget to consider value sets which include
                 duplicates and write tests accordingly!</para>
 
-                <para>Hint: The <xref linkend="glo_Junit"/> <xref
-                linkend="glo_framework"/> provides a (convenience) method
-                <methodname
-                xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertArrayEquals(int[],%20int[])">assertArrayEquals(...)</methodname>.</para>
+                <para>Hint: The <xref linkend="glo_Junit" /> <xref linkend="glo_framework" /> provides a (convenience) method
+                <methodname xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertArrayEquals(int[],%20int[])">assertArrayEquals(...)</methodname>.</para>
               </listitem>
 
               <listitem>
-                <para>Modify your<methodname
-                xlink:href="P/Sd1/Array/integerStoreStat/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">
+                <para>Modify your<methodname xlink:href="P/Sd1/Array/integerStoreStat/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">
                 addValue(...)</methodname> method's implementation. Though
                 there are more elaborate sorting methods available in Java
                 we'll do it the hard way ourselves in this exercise. Consider
@@ -2861,8 +2712,7 @@ store.addValue(7);
 store.addValue(9);
 store.addValue(3);</programlisting>
 
-                <para>Prior to inserting a new value our <methodname
-                xlink:href="P/Sd1/Array/integerStoreStat/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">addValue(...)</methodname>
+                <para>Prior to inserting a new value our <methodname xlink:href="P/Sd1/Array/integerStoreStat/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">addValue(...)</methodname>
                 method shall find a suitable position inside the array of
                 already added values to insert the new value. When adding the
                 last value 3 in the above example the internal array already
@@ -2920,8 +2770,7 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
               <listitem>
                 <para>Add a dummy implementation <methodname>double
                 getMedian()</methodname>{return 0;} to your class
-                <classname>IntegerStore</classname> from exercise <xref
-                linkend="sd1QandaIntStoreStat"/>.</para>
+                <classname>IntegerStore</classname> from exercise <xref linkend="sd1QandaIntStoreStat" />.</para>
               </listitem>
 
               <listitem>
@@ -2931,8 +2780,7 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
               </listitem>
 
               <listitem>
-                <para>Finally complete the desired <code
-                language="java">double getMedian()</code> method's
+                <para>Finally complete the desired <code language="java">double getMedian()</code> method's
                 implementation and actually test it. There must be at least
                 one element in order to be able returning a meaningful
                 result:</para>
@@ -2942,7 +2790,7 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
       &lt;dt&gt;&lt;b&gt;Precondition:&lt;/b&gt;&lt;/dt&gt;
        &lt;dd&gt;There must be at least one element.&lt;/dd&gt;
      &lt;/dl&gt;
-   * 
+   *
    * @return The sample's median.
    */
   public double getMedian() {
@@ -2952,8 +2800,7 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
               </listitem>
 
               <listitem>
-                <para>Implement a main method as in <xref
-                linkend="sd1QandaConsoleInput"/> asking the user for an
+                <para>Implement a main method as in <xref linkend="sd1QandaConsoleInput" /> asking the user for an
                 arbitrary number of values. Then compute both their average
                 and median like:</para>
 
@@ -2978,10 +2825,8 @@ Your sample's median is: 1.0</screen>
 
             <orderedlist>
               <listitem>
-                <para>The <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Arrays.html#copyOfRange-int:A-int-int-">copyOfRange(...)</link>
-                method in <methodname
-                xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#getValues--">getValues()</methodname>
+                <para>The <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#copyOfRange(int%5B%5D,int,int)">copyOfRange(...)</link>
+                method in <methodname xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#getValues--">getValues()</methodname>
                 returns that portion of our <code language="java">int[]
                 values</code> array actually been filled with data.</para>
               </listitem>
@@ -3009,15 +2854,12 @@ for (final int i: unsortedValues) {
                 <para>Do not forget to consider value sets which include
                 duplicates and write tests accordingly!</para>
 
-                <para>Hint: The <xref linkend="glo_Junit"/> <xref
-                linkend="glo_framework"/> provides a (convenient) method
-                <methodname
-                xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertArrayEquals(int[],%20int[])">assertArrayEquals(...)</methodname>.</para>
+                <para>Hint: The <xref linkend="glo_Junit" /> <xref linkend="glo_framework" /> provides a (convenient) method
+                <methodname xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertArrayEquals(int[],%20int[])">assertArrayEquals(...)</methodname>.</para>
               </listitem>
 
               <listitem>
-                <para>Modify your<methodname
-                xlink:href="P/Sd1/Array/integerStoreStat/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">
+                <para>Modify your<methodname xlink:href="P/Sd1/Array/integerStoreStat/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">
                 addValue(...)</methodname> method's implementation. Though
                 there are more elaborate sorting methods available in Java
                 we'll do it the hard way ourselves in this exercise. Consider
@@ -3029,8 +2871,7 @@ store.addValue(7);
 store.addValue(9);
 store.addValue(3);</programlisting>
 
-                <para>Prior to inserting a new value our <methodname
-                xlink:href="P/Sd1/Array/integerStoreStat/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">addValue(...)</methodname>
+                <para>Prior to inserting a new value our <methodname xlink:href="P/Sd1/Array/integerStoreStat/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">addValue(...)</methodname>
                 method shall find a suitable position inside the array of
                 already added values to insert the new value. When adding the
                 last value 3 in the above example the internal array already
@@ -3080,17 +2921,15 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
               </listitem>
 
               <listitem>
-                <para>The constructor <methodname
-                xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#IntegerStore-int:A-">public
+                <para>The constructor <methodname xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#IntegerStore-int:A-">public
                 IntegerStore(final int[] values)</methodname> internally uses
-                our <methodname
-                xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">addValue(...)</methodname>
+                our <methodname xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#addValue-int-">addValue(...)</methodname>
                 method thus adding each array value one by one. Consider an
                 alternative naive implementation:</para>
 
                 <programlisting language="java">  public IntegerStore(final int[] values) {
     this.values = values;
-    }   </programlisting>
+    }</programlisting>
 
                 <para>This will fail in most cases since the array parameter
                 typically contains unsorted values.</para>
@@ -3117,7 +2956,7 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
     IntegerStore store = new IntegerStore(new int[] {2, 7, 0, -3, 4});
     assertArrayEquals(new int[] {-3, 0, 2, 4, 7}, store.getValues());
     assertTrue(Math.abs(2. - store.getMedian()) &lt; 1.E-10);
-    
+
     store.addValue(7);
     assertArrayEquals(new int[] {-3, 0, 2, 4, 7, 7}, store.getValues());
     assertTrue(Math.abs(3. - store.getMedian()) &lt; 1.E-10);
@@ -3133,14 +2972,12 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
               </listitem>
 
               <listitem>
-                <para><methodname
-                xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#getMedian--">double
+                <para><methodname xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/store/IntegerStore.html#getMedian--">double
                 getMedian()</methodname></para>
               </listitem>
 
               <listitem>
-                <para><methodname
-                xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/main/Driver.html#main-java.lang.String:A-">main(...)</methodname></para>
+                <para><methodname xlink:href="P/Sd1/Array/integerStoreMedianAnswer/target/site/apidocs/de/hdm_stuttgart/mi/sd1/main/Driver.html#main-java.lang.String:A-">main(...)</methodname></para>
               </listitem>
             </orderedlist>
           </answer>
@@ -3158,49 +2995,48 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
       <qandadiv>
         <qandaentry>
           <question>
-            <para>Implement a class to plot e.g. <code
-            language="java">sin(x)</code> and other functions in a terminal
+            <para>Implement a class to plot e.g. <code language="java">sin(x)</code> and other functions in a terminal
             like e.g.:</para>
 
-            <screen>                 ******                                                         
-               **      **                                                       
-              *          **                                                     
-             *             *                                                    
-            *               *                                                   
-           *                 *                                                  
-          *                   *                                                 
-         *                     *                                                
-        *                                                                       
-       *                        *                                               
-                                 *                                              
-      *                           *                                             
-     *                                                                          
-    *                              *                                            
-                                    *                                           
-   *                                                                            
-  *                                  *                                          
-                                      *                                         
- *                                                                              
+            <screen>                 ******
+               **      **
+              *          **
+             *             *
+            *               *
+           *                 *
+          *                   *
+         *                     *
+        *
+       *                        *
+                                 *
+      *                           *
+     *
+    *                              *
+                                    *
+   *
+  *                                  *
+                                      *
+ *
 *                                      *                                       *
-                                        *                                       
-                                                                              * 
-                                         *                                      
-                                          *                                  *  
-                                                                            *   
-                                           *                                    
-                                            *                              *    
-                                                                          *     
-                                             *                           *      
-                                              *                                 
-                                               *                        *       
-                                                                       *        
-                                                *                     *         
-                                                 *                   *          
-                                                  *                 *           
-                                                   *               *            
-                                                    *             *             
-                                                     **          *              
-                                                       **      **               
+                                        *
+                                                                              *
+                                         *
+                                          *                                  *
+                                                                            *
+                                           *
+                                            *                              *
+                                                                          *
+                                             *                           *
+                                              *
+                                               *                        *
+                                                                       *
+                                                *                     *
+                                                 *                   *
+                                                  *                 *
+                                                   *               *
+                                                    *             *
+                                                     **          *
+                                                       **      **
                                                          ******</screen>
           </question>
 
@@ -3225,7 +3061,7 @@ values newArray  | 1| 2| F| 7| 9|  | ...</screen>
 	}</programlisting>
 
             <para>You'll find a more sophisticated approach using interfaces
-            in upcoming <xref linkend="sd1SectPlotterInterface"/>.</para>
+            in upcoming <xref linkend="sd1SectPlotterInterface" />.</para>
           </answer>
         </qandaentry>
       </qandadiv>
diff --git a/Doc/Sd1/collections.xml b/Doc/Sd1/collections.xml
index ae97c1e53e72841339d3bd1d6ea12b1d4816410c..b0f604c427eb5599dac594333f069bf625c859bb 100644
--- a/Doc/Sd1/collections.xml
+++ b/Doc/Sd1/collections.xml
@@ -86,18 +86,18 @@
 
     <section xml:id="sd1Collection2exerciseSetString">
       <title>A <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>
       of Strings</title>
 
       <qandaset defaultlabel="qanda" xml:id="sd1QandaSetString">
         <title>Inserting strings into a <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>.</title>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>.</title>
 
         <qandadiv>
           <qandaentry>
             <question>
               <para>Create a <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>
               of String instances including duplicates. Iterate over this set
               and write each value to <code
               language="java">System.out</code>:</para>
@@ -150,18 +150,18 @@ Eve</screen>
 
     <section xml:id="sd1CollectionExerciseListString">
       <title>A <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">List</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">List</classname>
       of Strings</title>
 
       <qandaset defaultlabel="qanda" xml:id="sd1QandaListString">
         <title>Inserting strings into a <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">List</classname>.</title>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">List</classname>.</title>
 
         <qandadiv>
           <qandaentry>
             <question>
               <para>Create a <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">List</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">List</classname>
               of String instances including duplicates. Iterate over this list
               and write each value to <code
               language="java">System.out</code>:</para>
@@ -234,13 +234,13 @@ Jim</screen>
 
               <para>Provide an appropriate constructor and override both
               <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#toString--">toString()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#toString()">toString()</methodname>
               and <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals()</methodname>
               to allow execution of:</para>
 
               <programlisting language="java">    // Defining and testing integer coordinates
-    final Coordinate 
+    final Coordinate
                c12 = new Coordinate(1, 2),
                c52 = new Coordinate(5, 0),
       c12Duplicate = new Coordinate(1, 2);
@@ -263,19 +263,12 @@ c12.equals("dummy"):false
             </question>
 
             <answer>
-              <para>Overriding <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#toString--">toString()</methodname>
-              and <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname>
-              and adding a non-default constructor is a straightforward
-              exercise:</para>
-
               <programlisting language="java">public class Coordinate {
 
   private int x, y;
 
   /**
-   * Create a Cartesian coordinate / point. 
+   * Create a Cartesian coordinate / point.
    * @param x
    * @param y
    */
@@ -307,20 +300,20 @@ c12.equals("dummy"):false
 
     <section xml:id="sd1SetCoordinate">
       <title>A <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>
       of Coordinate instances</title>
 
       <qandaset defaultlabel="qanda" xml:id="sd1QandaSetCoordinate">
         <title>Inserting <link
         linkend="sd1CollectionDefCoordinate"><classname>Coordinate</classname></link>
         instances into a <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>.</title>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>.</title>
 
         <qandadiv>
           <qandaentry>
             <question>
               <para>Create a <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>
               of <link
               linkend="sd1CollectionDefCoordinate"><classname>Coordinate</classname></link>
               instances including duplicates. Iterate over this set and write
@@ -361,12 +354,12 @@ c12.equals("dummy"):false
 (1|2)</screen>
 
               <para>This is due to our own fault not providing a <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#hashCode--">hashCode()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#hashCode()">hashCode()</methodname>
               implementation being compatible to our overridden <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals()</methodname>
               method. Consider:</para>
 
-              <programlisting language="java">    final Coordinate 
+              <programlisting language="java">    final Coordinate
                c12 = new Coordinate(1, 2),
       c12Duplicate = new Coordinate(1, 2);
 
@@ -383,21 +376,21 @@ c12.equals("dummy"):false
               xlink:href="http://tutorials.jenkov.com/java-collections/hashcode-equals.html">Java
               Collections - hashCode() and equals()</link>. The values
               actually stem from <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#hashCode--">hashCode()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#hashCode()">hashCode()</methodname>
               being defined in our superclass <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html">Object</classname>.</para>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html">Object</classname>.</para>
 
               <para>The former exercise <xref linkend="sd1QandaSetString"/>
               involved instances of class String having well defined
               <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#equals-java.lang.Object-">equals()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#equals(java.lang.Object)">equals()</methodname>
               and <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#hashCode--">hashCode()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#hashCode()">hashCode()</methodname>
               implementations. To resolve this issue we thus have to override
               not just <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals()</methodname>
               but <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#hashCode--">hashCode()</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#hashCode()">hashCode()</methodname>
               as well:</para>
 
               <programlisting language="java">public class Coordinate {
@@ -434,7 +427,7 @@ c12.equals("dummy"):false
 
     <section xml:id="sd1CollectionExerciseWordSearch">
       <title>Getting a <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>
       of strings from a text file</title>
 
       <qandaset defaultlabel="qanda" xml:id="sd1QandaWordSearch">
@@ -503,7 +496,7 @@ c12.equals("dummy"):false
                   <emphasis role="bold"><code>.,:;?!"</code></emphasis> or
                   white space characters may be achieved by means of
                   <methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#split-java.lang.String-">split(...)</methodname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#split(java.lang.String)">split(...)</methodname>
                   and the regular expression <code language="java">String
                   regex = "[ \t\"!?.,'´`:;]+"</code>;. This <quote>+</quote>
                   sign indicates the appearance of a succession of one ore
@@ -534,13 +527,13 @@ c12.equals("dummy"):false
 
               <programlisting language="java">  @Test
   public void testWordSet() throws FileNotFoundException, IOException {
-    
-    final Set&lt;String&gt; expectedStrings = 
+
+    final Set&lt;String&gt; expectedStrings =
         new HashSet &lt;String&gt;(Arrays.asList(new String[]{
             "A", "simple", "collection", "of", "words",
             "Some", "may", "appear", "multiple", "times"
         }));
-    
+
     final TextFileHandler tfh = new TextFileHandler("smalltest.txt");
     Assert.assertTrue(tfh.getWords().equals(expectedStrings));
   }</programlisting>
@@ -563,15 +556,15 @@ c12.equals("dummy"):false
               code to get the same set of words but in alphabetic order with
               respect to capital and small letters:</para>
 
-              <screen>A, Some, appear, collection, may, multiple, of, simple, times, words </screen>
+              <screen>A, Some, appear, collection, may, multiple, of, simple, times, words</screen>
             </question>
 
             <answer>
               <para>The desired result is easy to achieve by exchanging our
               <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>
               by a <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/SortedSet.html">SortedSet</classname>:</para>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/SortedSet.html">SortedSet</classname>:</para>
 
               <programlisting language="java">  /**
    * The set of words found so far.
@@ -623,15 +616,15 @@ printer</screen>
               <orderedlist>
                 <listitem>
                   <para><link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Collections.html#sort-java.util.List-java.util.Comparator-">Collections.sort(</link>List&lt;String&gt;,
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Collections.html#sort(java.util.List,java.util.Comparator)">Collections.sort(</link>List&lt;String&gt;,
                   <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Comparator.html">Comparator</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Comparator.html">Comparator</classname>
                   c) is your friend.</para>
                 </listitem>
 
                 <listitem>
                   <para>Defining a <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Comparator.html">Comparator</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Comparator.html">Comparator</classname>
                   class acting on strings works like:</para>
 
                   <programlisting language="java">/**
@@ -713,12 +706,12 @@ You found Pascal!"</literallayout>
                   <listitem>
                     <para>Define a class <classname>WordFrequency</classname>
                     containing a <classname
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
                     attribute among with an integer number representing its
                     frequency of appearance:</para>
 
                     <programlisting language="java">/**
- * A helper class to account for frequencies of words found in textual input. 
+ * A helper class to account for frequencies of words found in textual input.
  *
  */
 public class WordFrequency {
@@ -740,9 +733,9 @@ public class WordFrequency {
                     any frequency value.</para>
 
                     <para>Override <methodname
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals(...)</methodname>
+                    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals(...)</methodname>
                     and <methodname
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#hashCode--">hashValue()</methodname>
+                    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#hashCode()">hashValue()</methodname>
                     accordingly.</para>
                   </listitem>
 
@@ -795,9 +788,9 @@ public class WordFrequency {
                         <para>After processing the input text file sort your
                         <code>List&lt;WordFrequency&gt;</code> by a suitable
                         <classname
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Comparator.html">Comparator&lt;WordFrequency&gt;</classname>
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Comparator.html">Comparator&lt;WordFrequency&gt;</classname>
                         instance by means of <methodname
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Collections.html#sort-java.util.List-java.util.Comparator-">Collections.sort(...)</methodname>.</para>
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Collections.html#sort(java.util.List,java.util.Comparator)">Collections.sort(...)</methodname>.</para>
                       </listitem>
                     </orderedlist>
                   </listitem>
@@ -971,7 +964,7 @@ End of records</screen>
                 actually initialize the desired address fields
                 <code>firstName</code>, <code>lastName</code>, ...,
                 <code>web</code>. Hint: You may use the <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#split-java.lang.String-">split(...)</link>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#split(java.lang.String)">split(...)</link>
                 method:</para>
 
                 <programlisting language="java">... = s.split("\",\"");</programlisting>
@@ -1060,9 +1053,9 @@ End of records</screen>
                       </informaltable>
 
                       <para>This requires textually replacing special
-                      characters by the above entities e.g. by means of
-                      <classname>String</classname>.<methodname
-                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#replace-java.lang.CharSequence-java.lang.CharSequence-">replace(...)</methodname>.</para>
+                      characters by the above entities <abbrev>e.g.</abbrev>
+                      by means of <classname>String</classname>.<methodname
+                      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#replace(java.lang.CharSequence,java.lang.CharSequence)">replace(...)</methodname>.</para>
                     </glossdef>
                   </glossentry>
                 </glosslist>
@@ -1094,7 +1087,7 @@ End of records</screen>
        ...
       &lt;tr&gt;
         &lt;td&gt;Graham &lt;b&gt;Stanwick&lt;/b&gt;&lt;/td&gt;
-        &lt;td&gt;<emphasis role="bold">&lt;![CDATA[73 Hawkstone St, Renfrew South &amp; Gallowhill War]]&gt;</emphasis>, 
+        &lt;td&gt;<emphasis role="bold">&lt;![CDATA[73 Hawkstone St, Renfrew South &amp; Gallowhill War]]&gt;</emphasis>,
                &lt;b&gt;G52 4YG&lt;/b&gt;&lt;/td&gt;
         &lt;td&gt;01860-191930&lt;/td&gt;
         &lt;td&gt;gstanwick@gmail.com&lt;/td&gt;
@@ -1115,11 +1108,11 @@ End of records</screen>
               <listitem>
                 <para>You may direct your generated HTML output to a file
                 rather than to the standard output <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#out">System.out</link>.
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#out">System.out</link>.
                 This can be achieved by opening an output <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html">PrintStream</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html">PrintStream</classname>
                 related to a file by means of the <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#PrintStream-java.lang.String-">PrintStream</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#%3Cinit%3E(java.lang.String)">PrintStream</methodname>
                 output filename constructor. Your resulting output may
                 transform the file <filename>addresses.txt</filename> into
                 <filename>addresses.txt.xhtml</filename>. The latter should be
@@ -1157,7 +1150,7 @@ End of records</screen>
           <question>
             <para>We want to partly implement a simplified version of
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>:</para>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>:</para>
 
             <programlisting language="java">package de.hdm_stuttgart.mi.sd1.stringset;
 
@@ -1167,26 +1160,26 @@ End of records</screen>
  * More formally, sets contain no pair of Strings s1 and s2 such that
  * s1.equals(s2), and no null elements. As implied by its name,
  * this class models the mathematical set abstraction.
- * 
+ *
  * The StringSet class places stipulations on the contracts of the add,
- * equals and hashCode methods. 
+ * equals and hashCode methods.
  *
  * The stipulation on constructors is, not surprisingly, that all constructors
  * must create a set that contains no duplicate elements (as defined above).
  *
  */
 public interface Set_String {
-  
+
   /**
-   * Returns the number of strings in this set (its cardinality). 
-   * 
+   * Returns the number of strings in this set (its cardinality).
+   *
    * @return the number of elements in this set (its cardinality)
    */
   public int size() ;
 
   /**
    * Returns true if this set contains no elements.
-   * 
+   *
    * @return true if this set contains no elements
    */
   public boolean isEmpty();
@@ -1195,21 +1188,21 @@ public interface Set_String {
    * Returns true if this set contains the specified element. More
    * formally, returns true if and only if this set contains an
    * element e such that (o==null ? e==null : o.equals(e)).
-   * 
+   *
    * @param o element whose presence in this set is to be tested
    * @return true if this set contains the specified element.
    * A null value will be treated as "not in set".
-   * 
+   *
    */
   public boolean contains(Object o);
 
   /**
    * Returns an array containing all strings in this set.
-   * 
+   *
    * The returned array will be "safe" in that no references to it are
    * maintained by this set. (In other words, this method allocates
    * a new array). The caller is thus free to modify the returned array.
-   * 
+   *
    * @return an array containing all strings in this set.
    */
   public String[] toArray();
@@ -1221,16 +1214,16 @@ public interface Set_String {
    * If this set already contains the element, the call leaves the set
    * unchanged and returns false. In combination with the restriction on
    * constructors, this ensures that sets never contain duplicate elements.
-   * 
+   *
    * null values will be discarded
-   * 
+   *
    * @param s string to be added to this set
-   *  
+   *
    * @return true if this set did not already contain the specified element.
    * The attempted insert of a null value will return false.
    */
   public boolean add(String s);
-  
+
   /**
    * Removes the specified string from this set if it is present
    * (optional operation). More formally, removes a string s
@@ -1239,7 +1232,7 @@ public interface Set_String {
    * the string (or equivalently, if this set changed as a result
    * of the call). (This set will not contain the string once the
    * call returns.)
-   * 
+   *
    * @param s String to be removed from this set, if present.
    * @return true if this set contained the specified string.
    */
@@ -1249,7 +1242,7 @@ public interface Set_String {
    * Removes all of the strings from this set (optional operation).
    * The set will be empty after this call returns.
    */
-  public void clear(); 
+  public void clear();
 }</programlisting>
 
             <para>Implement this interface:</para>
@@ -1262,16 +1255,16 @@ public interface Set_String {
   public MySet_String() {
     ...
   }
-  
-  /** 
+
+  /**
    * Copy array values into this set excluding duplicates.
-   * 
+   *
    * @param source The array to copy values from
    */
   public MySet_String(final String[] source) {
     ...
   }
-  
+
   @Override
   public int size() {
     ...
@@ -1293,7 +1286,7 @@ public interface Set_String {
               <listitem>
                 <para>On lookup use hash code values prior to comparing via
                 <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#equals-java.lang.Object-">equals()</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#equals(java.lang.Object)">equals()</methodname>
                 in order to gain performance.</para>
               </listitem>
             </orderedlist>
@@ -1380,28 +1373,28 @@ public interface Set_String {
 
     <para>A cleaner solution might conceive the above result output as a
     <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html">Map</classname>&lt;<classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>,
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.html">Map</classname>&lt;<classname
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>,
     <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>&gt;.
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>&gt;.
     The set of words appearing in a text will be regarded as keys. The
     frequencies of appearance are corresponding values:</para>
 
     <informaltable border="1" width="40%">
       <tr>
         <th colspan="2"><classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html">Map</classname>&lt;<classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>,
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.html">Map</classname>&lt;<classname
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>,
         <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>&gt;</th>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>&gt;</th>
       </tr>
 
       <tr>
         <th>Word (<classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>)</th>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>)</th>
 
         <th>Frequency (<classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>)</th>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>)</th>
       </tr>
 
       <tr>
@@ -1437,10 +1430,10 @@ public interface Set_String {
 
     <qandaset defaultlabel="qanda" xml:id="sde1QandaWordFreqMap">
       <title>Implementing word frequencies by <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html">Map</classname>&lt;<classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>,
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.html">Map</classname>&lt;<classname
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>,
       <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>&gt;
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>&gt;
       instances.</title>
 
       <qandadiv>
@@ -1450,10 +1443,10 @@ public interface Set_String {
             replacing your <classname
             xlink:href="P/Sd1/WordFrequency1/Solution/target/site/apidocs/de/hdm_stuttgart/mi/sd1/textstat/WordFrequency.html">WordFrequency</classname>
             object by an instance of <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html">Map</classname>&lt;<classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>,
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.html">Map</classname>&lt;<classname
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>,
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>&gt;.
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>&gt;.
             For the time being consider the output sorting order yet as
             irrelevant.</para>
           </question>
@@ -1470,7 +1463,7 @@ public interface Set_String {
     <para>The subsequent exercise is considered to be optional with respect to
     the final course's examination. It does however provide some deeper
     insight into the subject of <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html">Map</classname>
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.html">Map</classname>
     instances.</para>
 
     <qandaset defaultlabel="qanda" xml:id="sde1QandaWordFreqMapSortOrder">
@@ -1487,19 +1480,19 @@ public interface Set_String {
             xlink:href="https://stackoverflow.com/questions/11647889/sorting-the-mapkey-value-in-descending-order-based-on-the-value">Sorting
             the Map&lt;Key,Value&gt; in descending order based on the
             value</quote> you may create a <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">List</classname>&lt;<classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.Entry.html">Entry</classname>(&lt;<classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>,
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">List</classname>&lt;<classname
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.Entry.html">Entry</classname>(&lt;<classname
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>,
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>&gt;&gt;
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>&gt;&gt;
             from your <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html">Map</classname>&lt;<classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>,
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.html">Map</classname>&lt;<classname
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>,
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>&gt;
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>&gt;
             instance on demand (i.e. when sorting). Then define an appropriate
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Comparator.html">Comparator</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Comparator.html">Comparator</classname>
             class to get this list sorted.</para>
           </question>
 
diff --git a/Doc/Sd1/coreClasses.xml b/Doc/Sd1/coreClasses.xml
index 5da796e55654a0b112b7472e08f28b0f2891f1e1..5f6f5153036f761a3cfd75385d7923d1f667699e 100644
--- a/Doc/Sd1/coreClasses.xml
+++ b/Doc/Sd1/coreClasses.xml
@@ -13,7 +13,7 @@
 
   <figure xml:id="sd1_coreclasses_fig_object">
     <title>Superclass <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html">Object</classname></title>
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html">Object</classname></title>
 
     <itemizedlist>
       <listitem>
@@ -55,7 +55,7 @@
     <programlisting language="java">String s = new String("Eve");</programlisting>
 
     <para>Uses constructor <methodname
-    xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#String-java.lang.String-">public
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#%3Cinit%3E(java.lang.String)">public
     String(String original)</methodname>.</para>
   </figure>
 
@@ -210,14 +210,14 @@ s1.equals(s2): true</screen>
           <question>
             <para>This exercise aims at a better understanding of <code
             language="java">System.out.<link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#format-java.lang.String-java.lang.Object...-">format()</link></code>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#format(java.lang.String,java.lang.Object...)">format()</link></code>
             already being used in <xref
             linkend="sd1QandaSquareNumberTableFormatted"/> and other
             exercises. Consider the following snippet:</para>
 
             <programlisting language="java">      int value = 33;
       double secondValue = 114.317;
-      
+
       System.out.format("Just a single integer %3d\n", value);
       System.out.format("An integer %3d and a double value %6.2f\n",
                                     value,                 secondValue);</programlisting>
@@ -245,18 +245,18 @@ s1.equals(s2): true</screen>
                 <para>At first sight these method calls appear as if the
                 format() method had been multiply overloaded. This observation
                 is misleading despite the fact that a related <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#format-java.util.Locale-java.lang.String-java.lang.Object...-">overloaded
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#format(java.util.Locale,java.lang.String,java.lang.Object...)">overloaded
                 method</link> providing an additional locale argument does
                 indeed exist.</para>
 
                 <para>According to <code
                 language="java">System.out.<methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#format-java.lang.String-java.lang.Object...-">format(...)</methodname></code>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#format(java.lang.String,java.lang.Object...)">format(...)</methodname></code>
                 the first argument must be of type <code language="java"
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</code>.
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</code>.
                 Additional arguments of <emphasis>arbitrary</emphasis> type
                 may be added in accordance with the <quote>%...</quote> <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Formatter.html#syntax">format
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Formatter.html#syntax">format
                 strings</link> inside the first argument. It uses the
                 <acronym>varargs</acronym> mechanism being described in the
                 <xref linkend="glo_Java"/> classes section of chapter 4 of
@@ -277,7 +277,7 @@ s1.equals(s2): true</screen>
             <programlisting language="java">      final int v = 33;
       final double d = 114.317;
       final short color = 255;
-      
+
       System.out.format("v=%d, d=%5.2f, color=%2x\n", v, d, color);</programlisting>
 
             <para>This generates the following output:</para>
@@ -287,7 +287,7 @@ s1.equals(s2): true</screen>
             <para>We may prettify our code to better reflect the one to one
             correspondence between format strings and variables:</para>
 
-            <programlisting language="java">      System.out.format("v=%d, d=%5.2f, color=%2x\n", 
+            <programlisting language="java">      System.out.format("v=%d, d=%5.2f, color=%2x\n",
                            v,    d,           color);</programlisting>
 
             <caution>
@@ -311,16 +311,16 @@ java.util.IllegalFormatConversionException: <emphasis role="bold">d != java.lang
 
   <section xml:id="sw1SectionCoreClassesUsingMath">
     <title>Using class <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html">Math</classname></title>
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html">Math</classname></title>
 
     <para><classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html">Math</classname>
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html">Math</classname>
     is yet another class belonging to the core set of the <xref
     linkend="glo_Java"/> programing language.</para>
 
     <qandaset defaultlabel="qanda" xml:id="sw1QandaCircleAreaMathPackage">
       <title>Using constants from <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html">java.lang.Math</classname>.</title>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html">java.lang.Math</classname>.</title>
 
       <qandadiv>
         <qandaentry>
@@ -331,11 +331,11 @@ java.util.IllegalFormatConversionException: <emphasis role="bold">d != java.lang
             language="java">final</code> modifier:</para>
 
             <programlisting language="java">public static void main(String[] args) {
-      
+
       double radius = 2.31;         // A circle having a radius (given e.g. in mm).
       final double pi = 3.1415926;  // Creating pi as a constant (non-modifiable/
                                     // assignable) variable.
-   
+
       final double area = pi * radius * radius;
       System.out.println(area);
 }</programlisting>
@@ -347,7 +347,7 @@ java.util.IllegalFormatConversionException: <emphasis role="bold">d != java.lang
                 </m:math>
               </inlineequation> yourself. Actually <xref linkend="glo_Java"/>
             predefines constants in <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html">java.lang.Math</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html">java.lang.Math</classname>
             class. Read its documentation to rewrite your code thereby
             replacing your own variable <code language="java">pi</code>'s
             definition .</para>
@@ -363,17 +363,17 @@ java.util.IllegalFormatConversionException: <emphasis role="bold">d != java.lang
             <para>The short answer simply is:</para>
 
             <programlisting language="java" linenumbering="numbered">public static void main(String[] args) {
-      
+
       double radius = 2.31;       // A circle having a radius (given e.g. in mm).
-      
+
       final double area = Math.PI * radius * radius;
       System.out.println(area);
 }</programlisting>
 
             <para>In case you bother about using the somewhat clumsy <varname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#PI">Math.PI</varname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#PI">Math.PI</varname>
             expression rather than just using <varname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#PI">PI</varname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#PI">PI</varname>
             itself some syntactic sugar is on offer by means of a <link
             xlink:href="https://docs.oracle.com/javase/1.5.0/docs/guide/language/static-import.html">static
             import</link> statement:</para>
@@ -418,12 +418,12 @@ public final class Math {
 ...</programlisting>
 
             <para>This accounts for using the expression <varname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#field.summary">Math.PI</varname>.</para>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#field.summary">Math.PI</varname>.</para>
 
             <para>The careful reader may have expected an <code
             language="java">import</code> statement in order to use the
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html">Math</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html">Math</classname>
             class:</para>
 
             <programlisting language="java">import java.lang.<emphasis
@@ -442,9 +442,9 @@ public class CircleAreaCalculator {
 }</programlisting>
 
             <para>But since the <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html">Math</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Class.html">Math</classname>
             class belongs to the <package
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-frame.html">java.lang</package>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-frame.html">java.lang</package>
             package it is present by default and does not have to be
             imported.</para>
           </answer>
@@ -605,7 +605,7 @@ public class CircleAreaCalculator {
             <methodname>mask2(String s)</methodname> employing yet not covered
             <link linkend="sw1ChapterArrays">arrays</link> being based on the
             <methodname
-            xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#fill-char:A-char-">Arrays.fill
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#fill(char%5B%5D,char)">Arrays.fill
             (...)</methodname> library method.</para>
           </answer>
         </qandaentry>
@@ -633,8 +633,8 @@ public class CircleAreaCalculator {
 
             <tip>
               <para>The method <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuffer.html">StringBuffer</classname>.<methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuffer.html#appendCodePoint-int-">appendCodePoint</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html">StringBuffer</classname>.<methodname
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#appendCodePoint(int)">appendCodePoint</methodname>
               allows the conversion of integer <xref linkend="glo_unicode"/>
               values to the corresponding character sequence.</para>
             </tip>
@@ -645,7 +645,7 @@ public class CircleAreaCalculator {
             traversing the <xref linkend="glo_unicode"/> block:</para>
 
             <programlisting language="java">   public static void main(String[] args) {
-      
+
       final StringBuffer sb = new StringBuffer();
       for (int i = 0x1F600; i &lt; 0x1F650; i += 0x10) { // 1F600, 1F610, ..., 1F640
          for (int j = 0; j &lt; 0x10; j++) {             // 0, 1, 2, ..., 15
@@ -712,13 +712,13 @@ public class CircleAreaCalculator {
                   literals:</para>
 
                   <programlisting language="java">final String input = "731671765 ... 94934"
-            +       ...   
+            +       ...
             +        "716362695 ... 63450";</programlisting>
                 </listitem>
 
                 <listitem>
                   <para>The <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
                   class does contain a method to retrieve a substring starting
                   and ending at given index positions. Read its documentation
                   to find it.</para>
@@ -726,7 +726,7 @@ public class CircleAreaCalculator {
 
                 <listitem>
                   <para>The <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
                   class does contain a method returning the <code
                   language="java"
                   xlink:href="https://docs.oracle.com/javase/tutorial/java/data/characters.html">char</code>
@@ -745,9 +745,9 @@ public class CircleAreaCalculator {
             <para>We present a step by step solution. We start by coding a
             loop creating the set of all substrings of length 13. Reading the
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
             documentation the method<methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#substring-int-int-">
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#substring(int,int)">
             substring(...)</methodname> allows for accessing the set of all
             substrings of 13 adjacent digits:</para>
 
@@ -774,7 +774,7 @@ public class CircleAreaCalculator {
             + "05886116467109405077541002256983155200055935729725";
 
       final int numOfDigits = 13;   // The intended number of adjacent digits
-      
+
       for (int i = 0; i &lt; input.length() - numOfDigits + 1; i++) {
          final String fourDigitWord = input.substring(i, i + numOfDigits);
          System.out.println(fourDigitWord);
@@ -793,7 +793,7 @@ public class CircleAreaCalculator {
 0420752963450</screen>
 
             <para>The method <methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#charAt-int-">charAt(int
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#charAt(int)">charAt(int
             index)</methodname> allows us to access each character within our
             string individually. We need to write a method which converts a
             digit like '4' to the value 4. Remember: The Unicode value of e.g.
@@ -804,15 +804,15 @@ public class CircleAreaCalculator {
       switch(digit) {
       case '0': return 0;
       case '1': return 1;
-      case '2': return 2; 
-      case '3': return 3; 
+      case '2': return 2;
+      case '3': return 3;
       case '4': return 4;
       case '5': return 5;
       case '6': return 6;
       case '7': return 7;
       case '8': return 8;
       case '9': return 9;
-      default: 
+      default:
          System.err.println("Character '" + digit + "' is no digit, exiting");
          System.exit(1);
          return 0;
@@ -838,7 +838,7 @@ public class CircleAreaCalculator {
             arithmetic overflow: The product 5 × 3 × 9 × 7 × 5 × 3 × 6 × 9 × 7
             × 8 × 1 × 7 × 9 is actually 2,700,507,600. This exceeds <code
             language="java"
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</code>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</code>
             of 2,147,483,647 <link
             xlink:href="https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html">being
             representable by a 4 byte <code language="java">int</code>
@@ -891,7 +891,7 @@ public class CircleAreaCalculator {
             + "05886116467109405077541002256983155200055935729725";
 
       final int numOfDigits = 13;   // The intended number of adjacent digits
-      
+
       long maximumDigitProduct = 0;
       String maxDigitString = null;
       for (int i = 0; i &lt; input.length() - numOfDigits + 1; i++) {
@@ -948,9 +948,9 @@ public class CircleAreaCalculator {
 
                 <listitem>
                   <para>Read the documentation of <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#identityHashCode-java.lang.Object-">System.identityHashCode(Object
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#identityHashCode(java.lang.Object)">System.identityHashCode(Object
                   o)</link> and <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#hashCode--">Object.hashCode()</link>.</para>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#hashCode()">Object.hashCode()</link>.</para>
                 </listitem>
               </itemizedlist>
             </tip>
@@ -962,10 +962,10 @@ public class CircleAreaCalculator {
             <programlisting language="java">a1 == a2: true <co
                 linkends="answerCoStringOperatorEquality-1"
                 xml:id="answerCoStringOperatorEquality-1-co"/>
-a1.equals(a2): true 
+a1.equals(a2): true
 b1 == b2: false <co linkends="answerCoStringOperatorEquality-2"
                 xml:id="answerCoStringOperatorEquality-2-co"/>
-b1.equals(b2): true </programlisting>
+b1.equals(b2): true</programlisting>
 
             <calloutlist>
               <callout arearefs="answerCoStringOperatorEquality-1-co"
@@ -988,13 +988,13 @@ b1.equals(b2): true </programlisting>
                     role="bold">"TestA" == "TestA"</emphasis>);</programlisting>
 
                 <para>The method <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#identityHashCode-java.lang.Object-">System.identityHashCode(Object
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#identityHashCode(java.lang.Object)">System.identityHashCode(Object
                 o)</link> returns <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#hashCode--">Object.hashCode()</link>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#hashCode()">Object.hashCode()</link>
                 rather then <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#hashCode--">String.hashCode()</link>.
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#hashCode()">String.hashCode()</link>.
                 This hash code from <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html">java.lang.Object</link>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html">java.lang.Object</link>
                 has a one to one correspondence to an object's reference and
                 thus helps to understand the underlying object
                 references:</para>
@@ -1007,14 +1007,14 @@ b1.equals(b2): true </programlisting>
                 <para>So <code language="java">a1</code> and <code
                 language="java">a2</code> indeed point to the same object
                 resulting in true when using the <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#equals-java.lang.Object-">equals()</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#equals(java.lang.Object)">equals()</methodname>
                 method for comparison.</para>
               </callout>
 
               <callout arearefs="answerCoStringOperatorEquality-2-co"
                        xml:id="answerCoStringOperatorEquality-2">
                 <para>Every call to the <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#String-java.lang.String-">String
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#%3Cinit%3E(java.lang.String)">String
                 constructor</link> will create a new string instance. Thus
                 <code language="java">b1</code> and <code
                 language="java">b2</code> will hold two distinct references
@@ -1035,7 +1035,7 @@ b1.equals(b2): true </programlisting>
                 language="java">false</code>.</para>
 
                 <para>The <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#equals-java.lang.Object-">equals()</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#equals(java.lang.Object)">equals()</methodname>
                 method however still returns a value of true since both
                 distinct objects carry an identical value.</para>
               </callout>
@@ -1054,9 +1054,9 @@ b1.equals(b2): true </programlisting>
             <para>Consider the following code snippet:</para>
 
             <programlisting language="java">   public static void main(String[] args) {
-     
+
       final String reference = "Anton";
-           
+
       final String name = "An" + "ton";
 
       System.out.println("Content:" + name);
@@ -1077,12 +1077,12 @@ b1.equals(b2): true </programlisting>
             <programlisting language="java">   public static void main(String[] args) {
 
       final String reference = "Anton";
-           
+
       <emphasis role="bold">final String name = "An".concat("ton");</emphasis> <co
                 xml:id="sd1CoNamedefByConcatMethod"/>
-      
+
       System.out.println("Content:" + name);
-      
+
       if (name == reference) {
          System.out.println("Instances are equal");
       } else {
@@ -1096,7 +1096,7 @@ b1.equals(b2): true </programlisting>
               <orderedlist>
                 <listitem>
                   <para>The <link
-                  xlink:href="https://prog.mi.hdm-stuttgart.de/java_visualize">Java
+                  xlink:href="https://cscircles.cemc.uwaterloo.ca/java_visualize/">Java
                   visualizer</link> may be helpful.</para>
                 </listitem>
 
@@ -1121,7 +1121,7 @@ b1.equals(b2): true </programlisting>
             literal <code language="java">"Anton"</code> and thus both
             variables <varname>name</varname> and <varname>reference</varname>
             will be initialized to a common <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
             instance:</para>
 
             <informalfigure>
@@ -1141,9 +1141,9 @@ b1.equals(b2): true </programlisting>
             <para>This time the Java compiler is unable to dynamically resolve
             the expression <code language="java">"An".concat("ton")</code> at
             compile time. Instead the method <methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#concat-java.lang.String-">concat(...)</methodname>will
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#concat(java.lang.String)">concat(...)</methodname>will
             be called at runtime resulting in a second <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
             instance which by coincidence contains an identical value. Thus
             <varname>name</varname> and <varname>reference</varname> point to
             different objects:</para>
@@ -1273,7 +1273,7 @@ b1.equals(b2): true </programlisting>
     public static void main( String[] args ) {
        final FileMetaInfo fmi =
               new FileMetaInfo("C:\\users\\heinz\\Desktop\\index.html");
-       
+
        System.out.println("Filename is relative? " + fmi.isRelative);
        System.out.println("Drive letter:" + fmi.drive);
        System.out.println("Directory path: " + fmi.path);
@@ -1358,7 +1358,7 @@ File extension: html</screen>
                 filename path conventions read the
                 <classname>java.lang.System</classname> section of chapter 5
                 <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html">along
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html">along
                 with its API</link>. The table of system properties in <xref
                 linkend="bib_Kurniawan2015"/> will enable your implementation
                 to work both on Windows and non-Windows systems
@@ -1372,7 +1372,7 @@ File extension: html</screen>
                 linkend="bib_Kurniawan2015"/> shows an example dissecting a
                 string containing tokens being separated by space characters
                 using the <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/StringTokenizer.html">java.util.StringTokenizer</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/StringTokenizer.html">java.util.StringTokenizer</classname>
                 class. Read its documentation and learn how to specify string
                 delimiters other than default space <code language="java">'
                 '</code>. It'll allow you to dissect paths using separators
@@ -1386,18 +1386,18 @@ File extension: html</screen>
               <listitem>
                 <para>Assembling path components may be effected by either
                 using a <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuffer.html">StringBuffer</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html">StringBuffer</classname>
                 or a <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/StringJoiner.html">StringJoiner</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/StringJoiner.html">StringJoiner</classname>
                 instance. Mind the distinction between relative and absolute
                 paths!</para>
               </listitem>
 
               <listitem>
                 <para>The methods <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#indexOf-int-">indexOf(...)</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#indexOf(int)">indexOf(...)</methodname>
                 and <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#substring-int-int-">substring(...)</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#substring(int,int)">substring(...)</methodname>
                 come in handy when dissecting filenames into basename and
                 extension.</para>
               </listitem>
@@ -1425,16 +1425,16 @@ File extension: html</screen>
                 point:</para>
 
                 <programlisting language="java">public class MetaInfoUnixTest {
-   
+
    static private final boolean isWindows =
              System.getProperty("os.name").startsWith("Windows");
-   
+
    @Test
    public void testAbsoluteWithoutExtension() {
        Assume.assumeFalse(isWindows);
-       
+
        final FileMetaInfo fmi = new FileMetaInfo("/usr/openvpn/hdm");
-       
+
        Assert.assertFalse(fmi.isRelative);
        Assert.assertEquals(FileMetaInfo.noDrive, fmi.drive);
        Assert.assertEquals("/usr/openvpn", fmi.path);
@@ -1445,9 +1445,9 @@ File extension: html</screen>
    @Test
    public void testAbsoluteWithExtension() {
        Assume.assumeFalse(isWindows);
-       
+
        final FileMetaInfo fmi = new FileMetaInfo("/usr/openvpn/hdm.conf");
-       
+
        Assert.assertFalse(fmi.isRelative);
        Assert.assertEquals(FileMetaInfo.noDrive, fmi.drive);
        Assert.assertEquals("/usr/openvpn", fmi.path);
@@ -1458,9 +1458,9 @@ File extension: html</screen>
    @Test
    public void testRelativeWithoutExtension() {
        Assume.assumeFalse(isWindows);
-       
+
        final FileMetaInfo fmi = new FileMetaInfo("../Desktop/icon");
-       
+
        Assert.assertTrue(fmi.isRelative);
        Assert.assertEquals(FileMetaInfo.noDrive, fmi.drive);
        Assert.assertEquals("../Desktop", fmi.path);
@@ -1471,9 +1471,9 @@ File extension: html</screen>
    @Test
    public void testRelativeWithExtension() {
        Assume.assumeFalse(isWindows);
-       
+
        final FileMetaInfo fmi = new FileMetaInfo("../../Desktop/icon.gif");
-       
+
        Assert.assertTrue(fmi.isRelative);
        Assert.assertEquals(FileMetaInfo.noDrive, fmi.drive);
        Assert.assertEquals("../../Desktop", fmi.path);
@@ -1483,17 +1483,17 @@ File extension: html</screen>
 }</programlisting>
 
                 <programlisting language="java">public class MetaInfoWindowsTest {
-   
+
    static private final boolean isWindows =
                     System.getProperty("os.name").startsWith("Windows");
-   
+
    @Test
    public void testAbsoluteWithoutExtension() {
      Assume.assumeTrue(isWindows);
-       
-     final FileMetaInfo fmi = 
+
+     final FileMetaInfo fmi =
           new FileMetaInfo("F:\\software\\my\\archive");
-       
+
      Assert.assertFalse(fmi.isRelative);
      Assert.assertEquals('F', fmi.drive);
      Assert.assertEquals("\\software\\my", fmi.path);
@@ -1504,10 +1504,10 @@ File extension: html</screen>
    @Test
    public void testAbsoluteWithExtension() {
        Assume.assumeTrue(isWindows);
-       
-       final FileMetaInfo fmi = 
+
+       final FileMetaInfo fmi =
            new FileMetaInfo("F:\\subdir\\archive.zip");
-       
+
        Assert.assertFalse(fmi.isRelative);
        Assert.assertEquals('F', fmi.drive);
        Assert.assertEquals("\\subdir", fmi.path);
@@ -1518,9 +1518,9 @@ File extension: html</screen>
    @Test
    public void testRelativeWithoutExtension() {
        Assume.assumeTrue(isWindows);
-       
+
        final FileMetaInfo fmi = new FileMetaInfo("..\\Desktop\\icon");
-       
+
        Assert.assertTrue(fmi.isRelative);
        Assert.assertEquals(FileMetaInfo.noDrive, fmi.drive);
        Assert.assertEquals("..\\Desktop", fmi.path);
@@ -1531,10 +1531,10 @@ File extension: html</screen>
    @Test
    public void testRelativeWithExtension() {
        Assume.assumeTrue(isWindows);
-       
-       final FileMetaInfo fmi = 
+
+       final FileMetaInfo fmi =
            new FileMetaInfo("..\\..\\Desktop\\icon.gif");
-       
+
        Assert.assertTrue(fmi.isRelative);
        Assert.assertEquals(FileMetaInfo.noDrive, fmi.drive);
        Assert.assertEquals("..\\..\\Desktop", fmi.path);
diff --git a/Doc/Sd1/deployment.xml b/Doc/Sd1/deployment.xml
index 56a85becbb7768d2734a2b3193acb3aea956c386..d59234833bf41bf1c6bfd0a823d77c580c43619f 100644
--- a/Doc/Sd1/deployment.xml
+++ b/Doc/Sd1/deployment.xml
@@ -60,12 +60,12 @@ public class ArrayMethodTest {
                   <programlisting language="java">  int a = 3, b = 5;
 
   // Other code ...
-    
+
   {// Swap values of a and b
     final int tmp = a;
     a = b;
     b = tmp;
-  }  </programlisting>
+  }</programlisting>
                 </glossdef>
               </glossentry>
 
@@ -87,7 +87,7 @@ public class ArrayMethodTest {
 
                       <para>You may search the <xref linkend="glo_API"/> of
                       class <classname
-                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Character.html">Character</classname>
+                      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Character.html">Character</classname>
                       assisting you to distinguish letters from
                       non-letters.</para>
                     </listitem>
@@ -175,7 +175,7 @@ Your sample's median is: 6.0</screen>
                 7</code></quote> to your <code language="java">main(String [] args)</code>
                 method. These strings must be converted to integer values.
                 This may be achieved by means of <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#parseInt-java.lang.String-">parseInt(String)</methodname>.</para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#parseInt-java.lang.String-">parseInt(String)</methodname>.</para>
 
                 <para>Depending on inconsistent user input like
                 <quote><code language="java">three</code></quote> instead of
@@ -239,13 +239,13 @@ No values provided</screen>
  * them to integer values.
  */
 public class InputValidator {
-  
+
   /**
    * Integer values being calculated upon
    * constructor call.
    */
   public final int[] values;
-  
+
   /**
    * Transform a series of strings into integer values. In case
    * of invalid input, a corresponding error messsage will be written
@@ -254,7 +254,7 @@ public class InputValidator {
    * contains two valid elements and the invalid element "three" which
    * cannot be converted to an integer value by virtue of
    * {@link Integer#parseInt(String)}.
-   * 
+   *
    * @param userInput A set of strings possibly representing integer values.
    */
   public InputValidator(final String[] userInput) {...}
diff --git a/Doc/Sd1/errorHandling.xml b/Doc/Sd1/errorHandling.xml
index 0aaddfcc7e9bab4e6627bd82cc1bbd68d548520f..358573fa79036a656d633218e8f2e1bff99a32e9 100644
--- a/Doc/Sd1/errorHandling.xml
+++ b/Doc/Sd1/errorHandling.xml
@@ -31,16 +31,16 @@ System.out.println(s.length())<co linkends="sd1_fig_compileRuntime-2"
 
       <callout arearefs="sd1_fig_compileRuntime-2-co"
                xml:id="sd1_fig_compileRuntime-2">
-        <para>Run time error: De -referencing <code
-        language="java">null</code> yields a <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>.</para>
+        <para>Run time error: De-referencing <code language="java">null</code>
+        yields a <classname
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>.</para>
       </callout>
     </calloutlist>
   </figure>
 
   <figure xml:id="sd1_fig_npe">
     <title><classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
     (<acronym>NPE</acronym> for short)</title>
 
     <programlisting language="java">final String s = null;
@@ -52,7 +52,7 @@ System.out.println(s.length());</programlisting>
 
   <figure xml:id="sd1_fig_npe_is_a_class">
     <title><classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
     is a class</title>
 
     <mediaobject>
@@ -110,9 +110,9 @@ try {
 System.out.println("Business as usual ...");</programlisting>
 
           <para>What happens if <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
           is being replaced by <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/OutOfMemoryError.html">OutOfMemoryError</classname>?</para>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/OutOfMemoryError.html">OutOfMemoryError</classname>?</para>
 
           <para>Is there a way to catch all possible exceptions?</para>
         </question>
@@ -129,9 +129,9 @@ try {
 System.out.println("Business as usual ...");</programlisting>
 
           <para>The runtime system throws a <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
           which is no subclass of <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/OutOfMemoryError.html">OutOfMemoryError</classname>:</para>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/OutOfMemoryError.html">OutOfMemoryError</classname>:</para>
 
           <mediaobject>
             <imageobject>
@@ -140,9 +140,9 @@ System.out.println("Business as usual ...");</programlisting>
           </mediaobject>
 
           <para>If <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>
           was a subclass of <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/OutOfMemoryError.html">OutOfMemoryError</classname>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/OutOfMemoryError.html">OutOfMemoryError</classname>
           it would still be caught. But lacking an (upcast) inheritance
           relationship we are being left with the runtimes default terminating
           behaviour:</para>
@@ -163,7 +163,7 @@ System.out.println("Business as usual ...");</programlisting>
  [code that is executed when ExceptionType-1 is thrown]
 }] [catch (ExceptionType-2 e) {
  [code that is executed when ExceptionType-2 is thrown]
-}]  
+}]
   ...
 } [catch (ExceptionType-n e) {
   [code that is executed when ExceptionType-n is thrown]
@@ -183,13 +183,13 @@ System.out.println("Business as usual ...");</programlisting>
         <tr>
           <td valign="top"><programlisting language="none">public static void main(String[] args) {
   final Path
-    sourcePath = Paths.get("/tmp/test.txt"),      
+    sourcePath = Paths.get("/tmp/test.txt"),
     destPath = Paths.get("/tmp/copy.java");
 
   // Compile time error:
-  // <emphasis role="red">Unhandled exception: 
-      java.io.IOException</emphasis>      
-  Files.copy(sourcePath, destPath); 
+  // <emphasis role="red">Unhandled exception:
+      java.io.IOException</emphasis>
+  Files.copy(sourcePath, destPath);
 ...</programlisting></td>
 
           <td valign="top"><programlisting language="none">public static void
@@ -198,7 +198,7 @@ System.out.println("Business as usual ...");</programlisting>
 final String s = null;
 
 // <emphasis role="red">No problem</emphasis>
-System.out.println(s.length());       </programlisting></td>
+System.out.println(s.length());</programlisting></td>
         </tr>
       </informaltable>
     </figure>
@@ -273,7 +273,7 @@ public void copyFile() throws IOException {
 }</programlisting>
 
             <para>Since we swallow the <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/nio/file/FileAlreadyExistsException.html">FileAlreadyExistsException</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/nio/file/FileAlreadyExistsException.html">FileAlreadyExistsException</classname>
             ourselves it is no longer being thrown. Due to the
             <code>@Test(expected = FileAlreadyExistsException.class)</code>
             annotation test execution now fails:</para>
@@ -294,15 +294,15 @@ java.lang.AssertionError: Expected exception: java.nio.file.FileAlreadyExistsExc
       <title>Just <code language="java">finally</code></title>
 
       <programlisting language="java"><link
-          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html">Scanner</link> scanner = null;
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html">Scanner</link> scanner = null;
 try {
   scanner = new <link
-          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#Scanner-java.io.InputStream-">Scanner(</link>System.in);
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/InputStream.html">Scanner(</link>System.in);
    ... // Something may fail
 } finally {
   if (null != scanner) {
     scanner.<link
-          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#close--">close()</link>; // Clean up, save resources!
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html#close()">close()</link>; // Clean up, save resources!
   }
 }</programlisting>
     </figure>
@@ -312,7 +312,7 @@ try {
       linkend="glo_Java"/> 7)</title>
 
       <programlisting language="java">try (final <link
-          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html">Scanner</link><co
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html">Scanner</link><co
           linkends="sd1_errorHandling_fig_tryWithResources-1"
           xml:id="sd1_errorHandling_fig_tryWithResources-1-co"/>  scanner<co
           linkends="sd1_errorHandling_fig_tryWithResources-2"
@@ -325,7 +325,7 @@ try {
         <callout arearefs="sd1_errorHandling_fig_tryWithResources-1-co"
                  xml:id="sd1_errorHandling_fig_tryWithResources-1">
           <para>Class must implement interface <classname
-          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname>.</para>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname>.</para>
         </callout>
 
         <callout arearefs="sd1_errorHandling_fig_tryWithResources-2-co"
@@ -337,7 +337,7 @@ try {
         <callout arearefs="sd1_errorHandling_fig_tryWithResources-3-co"
                  xml:id="sd1_errorHandling_fig_tryWithResources-3">
           <para><methodname
-          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#close--">close()</methodname>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html#close()">close()</methodname>
           method will be called automatically before leaving block
           scope.</para>
         </callout>
@@ -347,18 +347,18 @@ try {
 
   <section xml:id="sd1_errorhandling_sect_classException">
     <title>Class <classname
-    xlink:href="https://docs.oracle.com/javase/8/docs/api/index.html?java/io/File.html">java.lang.Exception</classname></title>
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/index.html?java/io/File.html">java.lang.Exception</classname></title>
 
     <figure xml:id="sd1_errorHandling_fig_stackTrace">
       <title>Method <methodname
-      xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#printStackTrace--">printStackTrace()</methodname></title>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Throwable.html#printStackTrace()">printStackTrace()</methodname></title>
 
       <informaltable border="0">
         <tr>
           <td valign="top"><programlisting language="java"
           linenumbering="numbered">package exceptionhandling;
 public class StackTrace {
-  public static void main(    
+  public static void main(
        String[] args){
     a();
   }
@@ -371,7 +371,7 @@ public class StackTrace {
 }</programlisting></td>
 
           <td valign="top"><screen>Exception in thread "main"
-   java.lang.NullPointerException     
+   java.lang.NullPointerException
  at ex.Trace.c(Trace.java:10)
  at ex.Trace.b(Trace.java:7)
  at ex.Trace.a(Trace.java:6)
@@ -386,7 +386,7 @@ public class StackTrace {
       <informaltable border="0">
         <tr>
           <td valign="top"><programlisting language="java">try {
-  FileInputStream f = new FileInputStream(     
+  FileInputStream f = new FileInputStream(
      new File("test.txt"));
 } catch(FileNotFoundException e) {
   System.err.println( "File not found");
@@ -418,7 +418,7 @@ public class StackTrace {
 } catch (<emphasis role="red">IOException e</emphasis>) {
       System.err.println( "IO error");
 } catch(<emphasis role="red">FileNotFoundException e</emphasis>) {
-      System.err.println("File not found");     
+      System.err.println("File not found");
 }</programlisting></td>
 
           <td valign="top"><mediaobject>
@@ -491,7 +491,7 @@ static public String convert(final String input) {
 
         <listitem>
           <para>Use <classname
-          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html">IllegalArgumentException</classname>.</para>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/IllegalArgumentException.html">IllegalArgumentException</classname>.</para>
         </listitem>
       </itemizedlist>
     </figure>
@@ -499,7 +499,7 @@ static public String convert(final String input) {
     <figure xml:id="sd1_errorHandling_fig_cardinalThrowErrorStep2">
       <title>Step 2: Derive <classname>CardinalException</classname></title>
 
-      <programlisting language="java">public class CardinalException 
+      <programlisting language="java">public class CardinalException
   extends IllegalArgumentException {
 
   public CardinalException(final String msg) {
diff --git a/Doc/Sd1/gettingStarted.xml b/Doc/Sd1/gettingStarted.xml
index cc357991b032d0e8f58b9ce23eb3991b356bd3fd..e668bc896ce75af2fa626ace9650cc4118f00aa7 100644
--- a/Doc/Sd1/gettingStarted.xml
+++ b/Doc/Sd1/gettingStarted.xml
@@ -601,7 +601,7 @@
                   <programlisting language="java">public class HelloWorld {
 
    public static void main(String[] args) {
-     
+
       System.out.println("Hello, World ...");
 
    }
@@ -666,7 +666,7 @@
 
                   <programlisting language="java">   public static void main(String[] args) {
       System.out.println(
-            "Those who can do.\n" + 
+            "Those who can do.\n" +
             "Those, who cannot, teach.\n" +
             "Those, who cannot teach, " +
                "lecture trainee teachers teaching methodology.");
@@ -690,13 +690,13 @@
               <para>Execute:</para>
 
               <programlisting language="java" linenumbering="numbered">   public static void main(String[] args) {
-      
+
       int a = 4,
           b = 7;
-      
+
       System.out.println("a=" + a);
       System.out.println("b=" + b);
-      
+
       int sum = a + b;
       System.out.println("Sum: " + sum);
    }</programlisting>
@@ -720,7 +720,7 @@
 
                   <programlisting language="java" linenumbering="unnumbered">int a = 4,
     b = 7;
-      
+
 System.out.println(...);</programlisting>
                 </listitem>
               </orderedlist>
@@ -740,10 +740,10 @@ System.out.println(...);</programlisting>
               <para>Execute:</para>
 
               <programlisting language="java">   public static void main(String[] args) {
-      
+
       int a = 3,
           b = 87;
-      
+
       if (a &lt; b) {
          System.out.println("a is smaller than b");
       } else if (b &lt; a) {
@@ -771,7 +771,7 @@ System.out.println(...);</programlisting>
               <para>Execute:</para>
 
               <programlisting language="java">   public static void main(String[] args) {
-      
+
       int i = 0;
       while ( i &lt; 5) {
          System.out.println("loop # " + i);
@@ -910,10 +910,10 @@ loop # 12</screen>
   &lt;profiles&gt;
     &lt;profile&gt;
       &lt;id&gt;dev&lt;/id&gt;
-        &lt;repositories&gt;          
+        &lt;repositories&gt;
             &lt;repository&gt;
               &lt;id&gt;archetype&lt;/id&gt;
-              &lt;url&gt;<emphasis role="red">https://maven.mi.hdm-stuttgart.de/nexus/repository/mi-maven</emphasis>&lt;/url&gt; 
+              &lt;url&gt;<emphasis role="red">https://maven.mi.hdm-stuttgart.de/nexus/repository/mi-maven</emphasis>&lt;/url&gt;
               &lt;releases&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;/releases&gt;
               &lt;snapshots&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;/snapshots&gt;
             &lt;/repository&gt;
@@ -960,7 +960,7 @@ loop # 12</screen>
 	  -DartifactId=gettingstarted -Dversion=0.9 -DarchetypeGroupId=de.hdm_stuttgart.mi \
 	  -DarchetypeArtifactId=mi-maven-archetype-quickstart -DarchetypeVersion=1.2
 [INFO] Scanning for projects...
-[INFO]                                                                         
+[INFO]
 [INFO] ------------------------------------------------------------------------
 [INFO] Building Maven Stub Project (No POM) 1
 ...
@@ -1044,15 +1044,15 @@ loop # 12</screen>
           <glossdef>
             <screen>goik@mi-ESPRIMO-P910 gettingstarted&gt; mvn compile
 [INFO] Scanning for projects...
-[INFO]                                                                         
+[INFO]
 [INFO] ------------------------------------------------------------------------
 [INFO] Building gettingstarted 0.9
 [INFO] ------------------------------------------------------------------------
-[INFO] 
+[INFO]
 [INFO] --- maven-resources-plugin:2.3:resources (default-resources) @ gettingstarted ---
 [INFO] Using 'UTF-8' encoding to copy filtered resources.
 [INFO] Copying 1 resource
-[INFO] 
+[INFO]
 [INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ gettingstarted ---
 [INFO] Nothing to compile - all classes are up to date
 [INFO] ------------------------------------------------------------------------
@@ -1097,9 +1097,9 @@ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
             <screen>goik@mi-ESPRIMO-P910 gettingstarted&gt; mvn install
 [INFO] Scanning for projects...
 ...
-[INFO] 
+[INFO]
 [INFO] --- maven-install-plugin:2.3:install (default-install) @ gettingstarted ---
-[INFO] Installing ../target/<filename>gettingstarted-0.9.jar</filename> to 
+[INFO] Installing ../target/<filename>gettingstarted-0.9.jar</filename> to
        /ma/goik/.m2/repository/my/base/url/gettingstarted/0.9/gettingstarted-0.9.jar</screen>
 
             <para>Notice the installation of
@@ -1119,9 +1119,9 @@ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
             jar archive</link>. The <command>java</command> command allows for
             execution:</para>
 
-            <screen>java -jar target/gettingstarted-0.9.jar 
+            <screen>java -jar target/gettingstarted-0.9.jar
 Hello World!
-2017-06-02 16:06:14,901 DEBUG [main] sd1.App (App.java:21) - With respect to logging you may want to configure file 
+2017-06-02 16:06:14,901 DEBUG [main] sd1.App (App.java:21) - With respect to logging you may want to configure file
 2017-06-02 16:06:14,903 DEBUG [main] sd1.App (App.java:22) - 'src/main/resources/log4j2.xml' to suit your needs.
 2017-06-02 16:06:14,903 DEBUG [main] sd1.App (App.java:23) - This config file 'log4j2.xml' will result in 'A1.log'
 2017-06-02 16:06:14,903 DEBUG [main] sd1.App (App.java:24) - file containing logging output as well.</screen>
@@ -1139,7 +1139,7 @@ import org.apache.logging.log4j.Logger;
 /**
  * A simple http://logging.apache.org/log4j/2.x demo,
  *  see file log4j2.xml for configuration options.
- * 
+ *
  */
 public class App {
     private static Logger log = LogManager.getLogger(App.class);
@@ -1149,7 +1149,7 @@ public class App {
      */
     public static void main( String[] args ) {
         System.out.println( "Hello World!" );
-        
+
         log.debug("With respect to logging you may want to configure file ");
         log.debug("'src/main/resources/log4j2.xml' to suit your needs.");
         log.debug("This config file 'log4j2.xml' will result in 'A1.log'");
@@ -1168,11 +1168,11 @@ public class App {
           <glossdef>
             <screen>goik@mi-ESPRIMO-P910 gettingstarted&gt; mvn clean
 [INFO] Scanning for projects...
-[INFO]                                                                         
+[INFO]
 [INFO] ------------------------------------------------------------------------
 [INFO] Building gettingstarted 0.9
 [INFO] ------------------------------------------------------------------------
-[INFO] 
+[INFO]
 [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ gettingstarted ---
 [INFO] Deleting /ma/goik/gettingstarted/target</screen>
 
@@ -2222,7 +2222,7 @@ javac 1.8.0_91</screen>
         <screen>goik@hopc ~&gt; cd Downloads/Exam
 goik@hopc Exam&gt; mvn <emphasis role="bold">javadoc:javadoc</emphasis>
 [INFO] Scanning for projects...
-[INFO]                                                                         
+[INFO]
 [INFO] ------------------------------------------------------------------------
 [INFO] Building sw1_2016summer_exam 0.8
 [INFO] ------------------------------------------------------------------------
diff --git a/Doc/Sd1/inheritance.xml b/Doc/Sd1/inheritance.xml
index 6355b3c1b3b40f4d805346d1bf1ab77291b089f3..c630325318cd737e1922710bc150c9f78746ae9c 100644
--- a/Doc/Sd1/inheritance.xml
+++ b/Doc/Sd1/inheritance.xml
@@ -31,53 +31,77 @@
     </mediaobject>
   </figure>
 
-  <figure xml:id="sda_inherit_fig_codeDuplicate">
+  <figure xml:id="sda_inherit_fig_DuplicateCode">
     <title>Duplicate code</title>
 
     <informaltable border="0">
       <tr>
         <td valign="top"><programlisting language="none">public class Rectangle{
   // Center coordinate
-  private <emphasis role="red">double x</emphasis>; <co
-              linkends="sda_inherit_fig_codeDuplicate-1"
-              xml:id="sda_inherit_fig_codeDuplicate-1-co"/>
-  private <emphasis role="red">double y</emphasis>;
-
-  private double width; <co linkends="sda_inherit_fig_codeDuplicate-2"
-              xml:id="sda_inherit_fig_codeDuplicate-2-co"/>
-  private double height;
+  <emphasis role="red">private double x</emphasis>; <co
+              linkends="sda_inherit_fig_DuplicateCode-1"
+              xml:id="sda_inherit_fig_DuplicateCode-1-co"/>
+  <emphasis role="red">private double y</emphasis>;
+
+  <emphasis role="red">public move (double dx, double dy){</emphasis> <co
+              linkends="sda_inherit_fig_DuplicateCode-2"
+              xml:id="sda_inherit_fig_DuplicateCode-2-co"/>
+     <emphasis role="red">x += dx;
+     y += dy;
+  }</emphasis>
+  private double width, height; <co linkends="sda_inherit_fig_DuplicateCode-3"
+              xml:id="sda_inherit_fig_DuplicateCode-3-co"/>
+  ...
 }</programlisting></td>
 
         <td valign="top"><programlisting language="none">public class Circle {
-  // Center coordinate      
-  private <emphasis role="red">double x</emphasis>; <coref
-              linkend="sda_inherit_fig_codeDuplicate-1-co"/>
-  private <emphasis role="red">double y</emphasis>;
-
-  private double radius; <co linkends="sda_inherit_fig_codeDuplicate-3"
-              xml:id="sda_inherit_fig_codeDuplicate-3-co"/>
+  // Center coordinate
+  <emphasis role="red">private double x</emphasis>; <coref
+              linkend="sda_inherit_fig_DuplicateCode-1-co"/>
+  <emphasis role="red">private double y</emphasis>;
+
+  <emphasis role="red">public move (double dx, double dy){</emphasis> <coref
+              linkend="sda_inherit_fig_DuplicateCode-2-co"/>
+     <emphasis role="red">x += dx;
+     y += dy;
+  }</emphasis>
+  private double radius; <coref linkend="sda_inherit_fig_DuplicateCode-3-co"/>
+  ...
 }</programlisting></td>
       </tr>
     </informaltable>
   </figure>
 
   <calloutlist>
-    <callout arearefs="sda_inherit_fig_codeDuplicate-1-co"
-             xml:id="sda_inherit_fig_codeDuplicate-1">
-      <para>A rectangle's or circle's center coordinate appearing in both
-      classes.</para>
+    <callout arearefs="sda_inherit_fig_DuplicateCode-1-co"
+             xml:id="sda_inherit_fig_DuplicateCode-1">
+      <para>The center coordinate (<code language="java">x</code>|<code
+      language="java">y)</code> appears both in
+      <classname>Rectangle</classname> and
+      <classname>Circle</classname>.</para>
     </callout>
 
-    <callout arearefs="sda_inherit_fig_codeDuplicate-2-co"
-             xml:id="sda_inherit_fig_codeDuplicate-2">
-      <para>A rectangle's width and height appearing only in class
-      <classname>Rectangle</classname>.</para>
+    <callout arearefs="sda_inherit_fig_DuplicateCode-2-co"
+             xml:id="sda_inherit_fig_DuplicateCode-2">
+      <para>The move(...) method is being defined <emphasis
+      role="bold">identically</emphasis> both in
+      <classname>Rectangle</classname> and
+      <classname>Circle</classname>!</para>
     </callout>
 
-    <callout arearefs="sda_inherit_fig_codeDuplicate-3-co"
-             xml:id="sda_inherit_fig_codeDuplicate-3">
-      <para>A circle's radius appearing only in class
-      <classname>Circle</classname>.</para>
+    <callout arearefs="sda_inherit_fig_DuplicateCode-3-co"
+             xml:id="sda_inherit_fig_DuplicateCode-3">
+      <itemizedlist>
+        <listitem>
+          <para><property>width</property> and <property>height</property>
+          only appear in class <classname>Rectangle</classname>.</para>
+        </listitem>
+
+        <listitem>
+          <para><property>radius</property> only appears in class
+          Circle.</para>
+        </listitem>
+      </itemizedlist>
     </callout>
   </calloutlist>
 
@@ -86,7 +110,7 @@
 
     <itemizedlist>
       <listitem>
-        <para>Create a new class <classname>Shape</classname> containing
+        <para>Create a parent class <classname>Shape</classname> containing
         common code portions.</para>
       </listitem>
 
@@ -204,12 +228,12 @@ double height;</programlisting></td>
       </tr>
 
       <tr>
-        <td colspan="2" valign="top"><programlisting language="java">public class Rectangle extends Shape {     
+        <td colspan="2" valign="top"><programlisting language="java">public class Rectangle extends Shape {
   private double width;
   private double height;
 }</programlisting></td>
 
-        <td colspan="2" valign="top"><programlisting language="java">public class Circle extends Shape {     
+        <td colspan="2" valign="top"><programlisting language="java">public class Circle extends Shape {
   private double radius;
 }</programlisting></td>
       </tr>
@@ -265,7 +289,7 @@ public Shape(double x,double y) {
 
     <figure xml:id="sda_inherit_fig_shapeToStringRedefine">
       <title>Overwriting <methodname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#toString--">toString()</methodname></title>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#toString--">toString()</methodname></title>
 
       <mediaobject>
         <imageobject>
@@ -322,7 +346,7 @@ public Shape(double x,double y) {
   * @param width Rectangle's width.
   * @param height Rectangle's height.
   */
-public Rectangle(double x, double y, 
+public Rectangle(double x, double y,
              double width, double height) {
   super(x, y) <co linkends="sda_inherit_fig_RectangleConstructor-1"
           xml:id="sda_inherit_fig_RectangleConstructor-1-co"/>;
@@ -506,10 +530,10 @@ public Rectangle(double x, double y,
 
       <informaltable border="0">
         <tr>
-          <td valign="top"><programlisting language="java">public class Rectangle extents Shape {     
+          <td valign="top"><programlisting language="java">public class Rectangle extents Shape {
   /**
    * Calculate the area.
-   * @return The rectangle's area    
+   * @return The rectangle's area
    */
   public double getArea() {
     return width * height;
@@ -521,7 +545,7 @@ public Rectangle(double x, double y,
    * @return The circle's area
    */
   public double getArea() {
-    return Math.PI * radius * radius;     
+    return Math.PI * radius * radius;
   }</programlisting></td>
         </tr>
       </informaltable>
@@ -624,22 +648,22 @@ Rectangle at (1.0|-1.0), width= 2.0, height=3.0: <emphasis role="red">area = 6.0
   abstract<co linkends="sda_inherit_fig_implementAbstractGetArea-2"
                 xml:id="sda_inherit_fig_implementAbstractGetArea-2-co"/> public double getArea()<co
                 linkends="sda_inherit_fig_implementAbstractGetArea-3"
-                xml:id="sda_inherit_fig_implementAbstractGetArea-3-co"/>; ...      </programlisting></td>
+                xml:id="sda_inherit_fig_implementAbstractGetArea-3-co"/>; ...</programlisting></td>
 
           <td valign="top"/>
         </tr>
 
         <tr>
-          <td colspan="2" valign="top"><programlisting language="java">public class Rectangle extends Shape { 
+          <td colspan="2" valign="top"><programlisting language="java">public class Rectangle extends Shape {
   @Override<co linkends="sda_inherit_fig_implementAbstractGetArea-4"
                 xml:id="sda_inherit_fig_implementAbstractGetArea-4-co"/>
   public double getArea() {
     return width * height;
   }...</programlisting></td>
 
-          <td colspan="2" valign="top"><programlisting language="java">public class Circle ... {    
+          <td colspan="2" valign="top"><programlisting language="java">public class Circle ... {
  @Override<coref linkend="sda_inherit_fig_implementAbstractGetArea-4-co"/>
-  public double getArea() {   
+  public double getArea() {
     return Math.PI *
            radius * radius;
   } ...</programlisting></td>
@@ -887,7 +911,7 @@ double p = c.move(1, 5).move(-3, 7).getPrimeter();</programlisting>
                 <classname>Shape</classname>:</para>
 
                 <programlisting language="java">/**
-    * 
+    *
     * @param factor Scale the current shape by this value.
     * @return The current object.
     */
@@ -919,7 +943,7 @@ double p = c.move(1, 5).move(-3, 7).getPrimeter();</programlisting>
 
       <section xml:id="sd1SectFigureToString">
         <title>Providing <methodname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#toString--">toString()</methodname>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#toString--">toString()</methodname>
         methods</title>
 
         <qandaset defaultlabel="qanda" xml:id="sd1QandaFigureToString">
@@ -930,7 +954,7 @@ double p = c.move(1, 5).move(-3, 7).getPrimeter();</programlisting>
 
                 <programlisting language="java">      final Circle c = new Circle(-2, -1, 3.5);
       final Rectangle r = new Rectangle(3, 1, 1.5, 4.4);
-      
+
       System.out.println(c);
       System.out.println(r);</programlisting>
 
@@ -940,9 +964,9 @@ double p = c.move(1, 5).move(-3, 7).getPrimeter();</programlisting>
 de.hdm_stuttgart.mi.sd1.shape.model.Rectangle@2a139a55</screen>
 
                 <para>This result is due to the invocation of the <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#toString--">toString()</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#toString--">toString()</methodname>
                 method being defined in the <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html">Object</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html">Object</classname>
                 superclass. Override this method in
                 <classname>Shape</classname>, <classname>Circle</classname>
                 and <classname>Rectangle</classname> accordingly to
@@ -987,7 +1011,7 @@ public abstract class Shape <co
   final protected long <emphasis role="red">creationTime</emphasis> <co
           linkends="sda_inherit_fig_protectedCreationTime-2"
           xml:id="sda_inherit_fig_protectedCreationTime-2-co"/>= System.nanoTime();
-... 
+...
 }
 ------------------------------------------------
 <emphasis role="red">package model.sub</emphasis>;
@@ -1207,7 +1231,7 @@ public class Rectangle
 
       <note>
         <para>Prominent Example: <classname
-        xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">java.lang.String</classname>.</para>
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">java.lang.String</classname>.</para>
       </note>
     </figure>
   </section>
@@ -1235,7 +1259,7 @@ public class Rectangle
 static void print(final Shape[] shapes) {
   for (final Shape s : shapes) {
     if (s <link xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2">instanceof</link> Rectangle) {
-      System.out.println("Type Rectangle");       
+      System.out.println("Type Rectangle");
     } else if (s <link
                 xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2">instanceof</link> Circle) {
       System.out.println("Type Circle");
@@ -1314,7 +1338,7 @@ Type Rectangle</screen></td>
 
     <figure xml:id="sd1_inherit_fig_rectangleEquals">
       <title>Implementing <classname>Rectangle</classname>.<methodname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname></title>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname></title>
 
       <programlisting language="java">public class Rectangle extends Shape {
     @Override public boolean equals(Object o) {
@@ -1322,31 +1346,30 @@ Type Rectangle</screen></td>
           xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2">instanceof</link> Rectangle){
       final Rectangle oRectangle = (Rectangle) o;
       return super.equalCenter(oRectangle) &amp;&amp;
-          Math.abs(oRectangle.width- width) + 
-          Math.abs(oRectangle.height- height) &lt; 1.E-15;       
+          Math.abs(oRectangle.width- width) +
+          Math.abs(oRectangle.height- height) &lt; 1.E-15;
     }
     return false;
   }
  ...</programlisting>
 
-      <remark>if <code language="java">o == null</code> then <code
+      <para>if <code language="java">o == null</code> then <code
       language="java">o <link
       xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2">instanceof</link>
-      Rectangle</code> evaluates to <code
-      language="java">false</code>.</remark>
+      Rectangle</code> evaluates to <code language="java">false</code>.</para>
     </figure>
 
     <figure xml:id="sd1_inherit_fig_circleEquals">
       <title>Implementing <classname>Circle</classname>.<methodname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname></title>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname></title>
 
       <programlisting language="java">public class Circle extends Shape {
   @Override public boolean equals(final Object o) {
     if (o <link
-          xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2">instanceof</link> Circle){ 
+          xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2">instanceof</link> Circle){
       final Circle oCircle = (Circle) o;
       return super.equalCenter(o) &amp;&amp;
-        Math.abs(oCircle.radius - radius) &lt; 1.E-15;       
+        Math.abs(oCircle.radius - radius) &lt; 1.E-15;
     }
     return false;
   } ...</programlisting>
@@ -1368,11 +1391,11 @@ Type Rectangle</screen></td>
 
 final Circle c = new Circle(2,3, 7);
 
-System.out.println("r1.equals(r2): " + r1.equals(r2));       
+System.out.println("r1.equals(r2): " + r1.equals(r2));
 System.out.println("r1.equals(r3): " + r1.equals(r3));
 System.out.println("c.equals(r1): " + c.equals(r1));</programlisting></td>
 
-          <td valign="top"><screen>r1.equals(r2): false  
+          <td valign="top"><screen>r1.equals(r2): false
 r1.equals(r3): true
 c.equals(r1): false</screen></td>
         </tr>
diff --git a/Doc/Sd1/interfacesAbstractClasses.xml b/Doc/Sd1/interfacesAbstractClasses.xml
index 3f9f7e7f17d19365867b51a47c48c5fe11e6120b..dbc87742c1fe21e5eaec6d4dd19df2682ef5d9f2 100644
--- a/Doc/Sd1/interfacesAbstractClasses.xml
+++ b/Doc/Sd1/interfacesAbstractClasses.xml
@@ -84,7 +84,7 @@ try {
   output.println("Some dumb text");
   output.println("More dumb text");
   output.closeFile();
-} catch (final FileNotFoundException e){     
+} catch (final FileNotFoundException e){
   System.err.println("Unable to open '"
    + outputFileName + "' for writing");
 }</programlisting></td>
@@ -126,17 +126,17 @@ output.println("Too late!");</programlisting>
       <tr>
         <td valign="top"><programlisting language="java">final String outputFileName =
      "output.txt";
-    
-try (final Text2File output = 
+
+try (final Text2File output =
      new Text2File(outputFileName)){
   output.println("Some dumb text");
   output.println("More dumb text");
-} catch (FileNotFoundException e){...}     </programlisting></td>
+} catch (FileNotFoundException e){...}</programlisting></td>
 
         <td valign="top"><para>Compile time error:</para><screen>Required:
-   <link xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/AutoCloseable.html">java.lang.AutoCloseable</link>
+   <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/AutoCloseable.html">java.lang.AutoCloseable</link>
 Found:
-  de.hdm_stuttgart.mi.sd1.Text2File    </screen></td>
+  de.hdm_stuttgart.mi.sd1.Text2File</screen></td>
       </tr>
     </informaltable>
   </figure>
@@ -152,7 +152,7 @@ Found:
 
   <figure xml:id="sd1_interface_fig_AutoCloseablePromise">
     <title>The <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname>
+    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname>
     promise</title>
 
     <informaltable border="0">
@@ -181,7 +181,7 @@ void close​() <co linkends="sd1_interface_fig_AutoCloseablePromise-2.2"
   private <co linkends="sd1_interface_fig_AutoCloseablePromise-2"
               xml:id="sd1_interface_fig_AutoCloseablePromise-2-co"/> PrintStream out;
 ...
-  public void println(final String s){     
+  public void println(final String s){
     out.println(s); }
 
   public void close() <co linkends="sd1_interface_fig_AutoCloseablePromise-3"
@@ -214,13 +214,13 @@ void close​() <co linkends="sd1_interface_fig_AutoCloseablePromise-2.2"
           <callout arearefs="sd1_interface_fig_AutoCloseablePromise-1-co"
                    xml:id="sd1_interface_fig_AutoCloseablePromise-1">
             <para>Promise to implement the <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname>
             interface. This boils down to implement <methodname>public void
             close()</methodname> at <coref
             linkend="sd1_interface_fig_AutoCloseablePromise-3-co"/>.</para>
 
             <para>Notice the <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Override.html">@Override</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Override.html">@Override</classname>
             annotation resemblance to overriding base class methods in derived
             classes.</para>
           </callout>
@@ -241,7 +241,7 @@ void close​() <co linkends="sd1_interface_fig_AutoCloseablePromise-2.2"
             linkend="sd1_interface_fig_AutoCloseablePromise-1-co"/>.</para>
 
             <para>Caution: No <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Override.html">@Override</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Override.html">@Override</classname>
             here since close() is being implemented rather tan overriding a
             base class method not existing anyway.</para>
           </callout>
@@ -249,7 +249,7 @@ void close​() <co linkends="sd1_interface_fig_AutoCloseablePromise-2.2"
           <callout arearefs="sd1_interface_fig_AutoCloseablePromise-4-co"
                    xml:id="sd1_interface_fig_AutoCloseablePromise-4">
             <para>Closing the <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html">PrintStream</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html">PrintStream</classname>
             thereby flushing buffered strings prior to releasing allocated
             operating system resources.</para>
           </callout>
@@ -260,7 +260,7 @@ void close​() <co linkends="sd1_interface_fig_AutoCloseablePromise-2.2"
             language="java">null</code> causes subsequent
             <classname>Text2File</classname>.<methodname>println(...)</methodname>
             calls throwing a <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>.
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html">NullPointerException</classname>.
             Thus silent errors become observable errors.</para>
           </callout>
         </calloutlist></td>
@@ -276,10 +276,10 @@ void close​() <co linkends="sd1_interface_fig_AutoCloseablePromise-2.2"
               linkends="sd1_interface_fig_AutoCloseableAsAbstractClass-1"
               xml:id="sd1_interface_fig_AutoCloseableAsAbstractClass-1-co"/>
 
-abstract public 
+abstract public
     class AutoCloseable <co
               linkends="sd1_interface_fig_AutoCloseableAsAbstractClass-2"
-              xml:id="sd1_interface_fig_AutoCloseableAsAbstractClass-2-co"/>{    
+              xml:id="sd1_interface_fig_AutoCloseableAsAbstractClass-2-co"/>{
 
 /**
  * Closes this resource,
@@ -299,14 +299,14 @@ abstract void close​();<co
 
   private  PrintStream out;
 ...
-  public void println(final String s){     
+  public void println(final String s){
     out.println(s); }
 
   @Override public void close() <co
               linkends="sd1_interface_fig_AutoCloseableAsAbstractClass-5"
               xml:id="sd1_interface_fig_AutoCloseableAsAbstractClass-5-co"/>{
-    out.close(); 
-    out = null; 
+    out.close();
+    out = null;
   }
 }</programlisting></td>
       </tr>
@@ -340,7 +340,7 @@ abstract void close​();<co
             <para>Extending <code language="java">abstract</code> class
             <classname>AutoCloseable</classname> replaces implementing the
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname>
             interface.</para>
           </callout>
 
@@ -457,7 +457,7 @@ public interface MyFlushable extends MyAutoCloseable {
         <qandaentry>
           <question>
             <para>Consider the following <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
             array definitions:</para>
 
             <programlisting language="java">private static final String[] ADJECTIVES = {
@@ -467,7 +467,7 @@ public interface MyFlushable extends MyAutoCloseable {
       "silver",    "sweet",    "nationwide", "competitive", "stable",  // Index 19
       "municipal", "famous" };                                         // Index 21
 
-private static final String[] THINGS = { 
+private static final String[] THINGS = {
       "elephant",   "bowl",    "brick",  "spoon",   "bunny",    // Index 4
       "watermelon", "car",     "cat",    "cup",     "desk",     // Index 9
       "tangerine",  "duck",    "bottle", "road" ,   "fork",     // Index 14
@@ -532,10 +532,10 @@ public void testApp() {
            3,        7,    19,  26, // First sentence fixed index values
            6,        20,   7,   15  // Second sentence fixed index values
    }));
-       
-   Assert.assertEquals("The gray cat threatens a dog.", 
+
+   Assert.assertEquals("The gray cat threatens a dog.",
          nonsenseGenerator.generateRandomSentence());
-   Assert.assertEquals("The friendly lawyer meets with a physicist.", 
+   Assert.assertEquals("The friendly lawyer meets with a physicist.",
          nonsenseGenerator.generateRandomSentence());
 }</programlisting>
               </listitem>
@@ -620,12 +620,12 @@ plotter.plot(sinFunction);</programlisting>
      */
     public static void main( String[] args ) {
         final Plotter plotter = new Plotter();
-        
+
         plotter.setNumTics(80, 40);// 80 characters vertical, 40 characters horizontal
         plotter.setXrange(0, 2 * Math.PI);
         plotter.setYrange(-1, 1);
-        
-        // Function implementing the underlying interface 
+
+        // Function implementing the underlying interface
         // de.hdm_stuttgart.mi.sd1.plot.DoubleOfDoubleFunction
         // are being conveniently passed as arguments.
         plotter.plot(<emphasis role="bold">x -&gt; Math.sin(x)</emphasis>);
diff --git a/Doc/Sd1/languageFundamentals.xml b/Doc/Sd1/languageFundamentals.xml
index 272fc958018163aa52e35e79d47182c76da0a88d..4ee5c3ab5414d7a0195469721a1dbf1e6b7c351c 100644
--- a/Doc/Sd1/languageFundamentals.xml
+++ b/Doc/Sd1/languageFundamentals.xml
@@ -380,9 +380,9 @@ int c;</programlisting>
         </tr>
 
         <tr>
-          <td valign="top"><programlisting language="java">int a, b = 22, c;         </programlisting></td>
+          <td valign="top"><programlisting language="java">int a, b = 22, c;</programlisting></td>
 
-          <td valign="top"><programlisting language="java">int a,                       
+          <td valign="top"><programlisting language="java">int a,
     b = 22,
     c;</programlisting></td>
         </tr>
@@ -836,7 +836,7 @@ System.out.println(count + ":" + Count);</programlisting>
 
           <glossdef>
             <programlisting language="java">double f;
-f = -4.55;  </programlisting>
+f = -4.55;</programlisting>
           </glossdef>
         </glossentry>
 
@@ -844,7 +844,7 @@ f = -4.55;  </programlisting>
           <glossterm>Wrong</glossterm>
 
           <glossdef>
-            <programlisting language="java">f = -4.55;  
+            <programlisting language="java">f = -4.55;
 double f;</programlisting>
           </glossdef>
         </glossentry>
@@ -876,7 +876,7 @@ i = "Hello"; // Even worse: Assigning a String to an int</programlisting>
 
         <tr>
           <td valign="top"><programlisting language="java">byte b120 = 120; // o.K., static check
-byte b128 = 128; // Wrong: Exceeding 127       </programlisting></td>
+byte b128 = 128; // Wrong: Exceeding 127</programlisting></td>
 
           <td valign="top"><para>Performing static range check</para></td>
         </tr>
@@ -902,10 +902,10 @@ int i = (int) l; // Casting long to int
 
 double d = 44.2323;
 i = (int) d; // Casting double to int
-<emphasis role="bold">System.out.println("i carrying double: " + i)</emphasis>;     </programlisting></td>
+<emphasis role="bold">System.out.println("i carrying double: " + i)</emphasis>;</programlisting></td>
 
           <td valign="top"><screen>i carrying long: 4345
-i carrying double: 44   </screen></td>
+i carrying double: 44</screen></td>
         </tr>
       </informaltable>
     </figure>
@@ -921,10 +921,10 @@ int i = (int) l;
 
 double d = 44300000000000.0;
 i = (int) d;
-<emphasis role="bold">System.out.println("i carrying double:" + i)</emphasis>;     </programlisting></td>
+<emphasis role="bold">System.out.println("i carrying double:" + i)</emphasis>;</programlisting></td>
 
           <td valign="top"><screen>i carrying long:-1294967296
-i carrying double:2147483647    </screen></td>
+i carrying double:2147483647</screen></td>
         </tr>
       </informaltable>
     </figure>
@@ -940,10 +940,10 @@ void main(void) {
   double measure = 65234.5435;
   short velocity;
   velocity = measure;
-  printf("Velocity=%d\n", velocity);    
+  printf("Velocity=%d\n", velocity);
 }</programlisting></td>
 
-          <td valign="top"><para><abbrev>Uups</abbrev>:</para><screen>Velocity=-302   </screen></td>
+          <td valign="top"><para><abbrev>Uups</abbrev>:</para><screen>Velocity=-302</screen></td>
         </tr>
       </informaltable>
     </figure>
@@ -1094,10 +1094,10 @@ int i = (int) d; // Explicit cast double to int</programlisting>
           <td>byte</td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Byte.html#BYTES">1</link></td>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Byte.html#BYTES">1</link></td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Byte.MIN_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Byte.MIN_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:mo>-</m:mo>
@@ -1112,7 +1112,7 @@ int i = (int) d; // Explicit cast double to int</programlisting>
             </inlineequation></link></td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Byte.MAX_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Byte.MAX_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:msup>
@@ -1133,12 +1133,12 @@ int i = (int) d; // Explicit cast double to int</programlisting>
           <td>char</td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Byte.html#BYTES">2</link></td>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Byte.html#BYTES">2</link></td>
 
           <td>0</td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Character.MAX_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Character.MAX_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:msup>
@@ -1159,10 +1159,10 @@ int i = (int) d; // Explicit cast double to int</programlisting>
           <td>short</td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Short.BYTES">2</link></td>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Short.BYTES">2</link></td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Short.MIN_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Short.MIN_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:mo>-</m:mo>
@@ -1177,7 +1177,7 @@ int i = (int) d; // Explicit cast double to int</programlisting>
             </inlineequation></link></td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Short.MAX_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Short.MAX_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:msup>
@@ -1198,10 +1198,10 @@ int i = (int) d; // Explicit cast double to int</programlisting>
           <td>int</td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Integer.BYTES">4</link></td>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Integer.BYTES">4</link></td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Integer.MIN_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Integer.MIN_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:mo>-</m:mo>
@@ -1216,7 +1216,7 @@ int i = (int) d; // Explicit cast double to int</programlisting>
             </inlineequation></link></td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:msup>
@@ -1237,10 +1237,10 @@ int i = (int) d; // Explicit cast double to int</programlisting>
           <td>long</td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Long.BYTES">8</link></td>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Long.BYTES">8</link></td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Long.MIN_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Long.MIN_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:mo>-</m:mo>
@@ -1255,7 +1255,7 @@ int i = (int) d; // Explicit cast double to int</programlisting>
             </inlineequation></link></td>
 
           <td><link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Long.MAX_VALUE"><inlineequation>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Long.MAX_VALUE"><inlineequation>
               <m:math display="inline">
                 <m:mrow>
                   <m:msup>
@@ -1550,7 +1550,7 @@ int i = (int) d; // Explicit cast double to int</programlisting>
             minimum and maximum possible value to standard output.</para>
 
             <programlisting language="java">   public static void main(String[] args) {
-      
+
       int minumum = ... , //TODO: provide values by
           maximum = ...;  // binary int literals
 
@@ -1567,7 +1567,7 @@ int i = (int) d; // Explicit cast double to int</programlisting>
             linkend="sw1Table4ByteIntegerRepresentation"/>.</para>
 
             <programlisting language="java">public static void main(String[] args) {
-      
+
       int minumum = 0B10000000_00000000_00000000_00000000,
           maximum = 0B01111111_11111111_11111111_11111111;
 
@@ -1586,18 +1586,18 @@ int i = (int) d; // Explicit cast double to int</programlisting>
             and <code language="java"
             xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1-100-C">int</code>
             primitive data types within their corresponding <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Character.html">Character</classname>,
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Character.html">Character</classname>,
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Byte.html">Byte</classname>,
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Byte.html">Byte</classname>,
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Short.html">Short</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Short.html">Short</classname>
             and <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>
             classes. You may want to execute:</para>
 
             <programlisting language="java">    System.out.println("int minimum:" + Integer.MIN_VALUE);
     System.out.println("int maximum:" + Integer.MAX_VALUE);
-    
+
     System.out.println("int bytes:" + Integer.BYTES);
     System.out.println("int size:" + Integer.SIZE);</programlisting>
           </answer>
@@ -1618,7 +1618,7 @@ print $test, "\n";
 
 $cmp = 43.55; # A float
 
-if ($test == $cmp) { # comparing string against float      
+if ($test == $cmp) { # comparing string against float
    print "Equal\n";
 } else {
    print "Different\n";
@@ -1626,7 +1626,7 @@ if ($test == $cmp) { # comparing string against float
 
           <td valign="top"><screen>44
 Jim
-Different  </screen></td>
+Different</screen></td>
         </tr>
       </informaltable>
     </figure>
@@ -1636,12 +1636,12 @@ Different  </screen></td>
 
       <glosslist>
         <glossentry>
-          <glossterm>Bad</glossterm>
+          <glossterm>Bad:</glossterm>
 
           <glossdef>
             <programlisting language="java">double pi = 3.141592653589793;
  ...
-pi = -4; // Woops, accidential redefinition</programlisting>
+pi = -4; // Woops, accidential and erroneous redefinition</programlisting>
           </glossdef>
         </glossentry>
 
@@ -1657,12 +1657,12 @@ pi = -4; // Compile time error:
         </glossentry>
 
         <glossentry>
-          <glossterm>Even better</glossterm>
+          <glossterm>Even better:</glossterm>
 
           <glossdef>
-            <para><programlisting language="java">final double PI = 3.141592653589793; // Coding style (Best practices):    
-                                     // Using capital letters for 
-...                                  // constant variable.</programlisting></para>
+            <para><programlisting language="java">final double PI = 3.141592653589793; // Coding style (Best practices):
+                                     // Using capital letters for
+                                     // constant variable.</programlisting></para>
           </glossdef>
         </glossentry>
       </glosslist>
@@ -1734,13 +1734,13 @@ LocalDate birtday = LocalDate.of(1990, Month.JULY, 5);</programlisting>
 
         <tr>
           <td><programlisting language="java">System.out.println("Decimal "+ <emphasis
-                role="bold">35</emphasis>); 
-System.out.println("Binary " + <emphasis role="bold">0b10_0011</emphasis>);     
-System.out.println("Hex "    + <emphasis role="bold">0x23</emphasis>);   
-System.out.println("Octal "  + <emphasis role="bold">043</emphasis>);   </programlisting></td>
+                role="bold">35</emphasis>);
+System.out.println("Binary " + <emphasis role="bold">0b10_0011</emphasis>);
+System.out.println("Hex "    + <emphasis role="bold">0x23</emphasis>);
+System.out.println("Octal "  + <emphasis role="bold">043</emphasis>);</programlisting></td>
 
           <td><screen>Decimal 35
-Binary  35  
+Binary  35
 Hex 35
 Octal 35</screen></td>
         </tr>
@@ -1760,9 +1760,9 @@ Octal 35</screen></td>
 int a = 20,
     b = 3,
     c = 9;
-      
+
     System.out.println(a + " + " + b + " + " + c + " = " + (a + b + c));
-      
+
    }</programlisting>
 
             <para>This will run smoothly producing the expected output:</para>
@@ -1778,7 +1778,7 @@ int a = 20,
       int a = 20,
           b = 03,
           <emphasis role="bold">c = 09; // Compiler error: The literal 09 of type int is out of  range</emphasis>
-      
+
       System.out.println(a + " + " + b + " + " + c + " = " + (a + b + c));
    }</programlisting>
 
@@ -1919,7 +1919,7 @@ Arrow value: 10173</screen>
                 value directly:</para>
 
                 <programlisting language="java">System.out.println(Character.<methodname
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Character.html#toChars-int-">toChars(0x1f60e)</methodname>);</programlisting>
+                    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Character.html#toChars(int)">toChars(0x1f60e)</methodname>);</programlisting>
               </listitem>
             </orderedlist>
           </answer>
@@ -1934,8 +1934,8 @@ Arrow value: 10173</screen>
           role="red">L</emphasis>);  // o.K.
 System.out.println(10000000000 );  // Compile time error: Integer number larger
                                    // than 2147483647 (2^31 - 1, Integer.<link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</link>)
-                                   </programlisting>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</link>)
+</programlisting>
     </figure>
 
     <figure xml:id="sd1_fig_literals">
@@ -2299,7 +2299,7 @@ Value 4: 29</screen>
         <qandaentry>
           <question>
             <para>We want to construct a list of <link
-            xlink:href="http://www.rapidtables.com/code/text/ascii-table.htm#print">printable
+            xlink:href="https://www.rapidtables.com/code/text/ascii-table.html#print">printable
             ASCII characters</link>. Write a <xref linkend="glo_Java"/>
             application by starting just from from the character literals
             <code language="java">' '</code>, <code
@@ -2433,7 +2433,7 @@ System.out.println('&amp;' + ": " + ((int) '&amp;'));
 
             <programlisting language="java">public static void main(String[] args) {
    short intensity = ...;
-      
+
    System.out.println(intensity);
 }</programlisting>
 
@@ -3196,7 +3196,7 @@ System.out.println("Sum = "   +  sum);</programlisting>
           <td valign="top"><screen>Sum = -2</screen></td>
 
           <td><screen>  01111111_11111111_11111111_11111111
-+ 01111111_11111111_11111111_11111111     
++ 01111111_11111111_11111111_11111111
 _____________________________________
 <emphasis role="red">1_</emphasis>11111111_11111111_11111111_11111110</screen></td>
         </tr>
@@ -3674,7 +3674,7 @@ System.out.println(value);</programlisting>
                       </m:mrow>
                     </m:math>
                   </inlineequation> or <varname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Long.MAX_VALUE">Long.MAX_VALUE</varname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Long.MAX_VALUE">Long.MAX_VALUE</varname>
                 - 1</td>
 
                 <td align="right">2147483647</td>
@@ -3694,7 +3694,7 @@ System.out.println(value);</programlisting>
                       </m:mrow>
                     </m:math>
                   </inlineequation> or <varname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</varname></td>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</varname></td>
               </tr>
 
               <tr>
@@ -3715,7 +3715,7 @@ System.out.println(value);</programlisting>
                       </m:mrow>
                     </m:math>
                   </inlineequation> or <varname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Long.MAX_VALUE">Long.MAX_VALUE</varname></td>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Long.MAX_VALUE">Long.MAX_VALUE</varname></td>
 
                 <td align="right">2147483647</td>
 
@@ -3734,7 +3734,7 @@ System.out.println(value);</programlisting>
                       </m:mrow>
                     </m:math>
                   </inlineequation> or <varname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</varname></td>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</varname></td>
               </tr>
             </informaltable>
 
@@ -3783,7 +3783,7 @@ System.out.println(value);</programlisting>
                 </m:math>
               </inlineequation> seems to be equal to <code language="java">2 *
             (<link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</link>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</link>
             + 1))</code> (why?) Joe's first attempt reads:</para>
 
             <programlisting language="java" linenumbering="numbered"
@@ -3917,9 +3917,9 @@ Process finished with exit code 1</screen>
             <orderedlist>
               <listitem>
                 <para>The constant <code language="java"
-                xlink:href="https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html">Integer</code>.<code
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</code>.<code
                 language="java"
-                xlink:href="https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</code>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</code>
                 already suggests we will not be able to increase its value
                 while staying as an <code language="java"
                 xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1-100-C">int</code>.
@@ -3937,9 +3937,9 @@ _____________________________________
 
                 <para>This is the binary representation of the unintended
                 result <code language="java"
-                xlink:href="https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html">Integer</code>.<code
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</code>.<code
                 language="java"
-                xlink:href="https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#MIN_VALUE">MIN_VALUE</code>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MIN_VALUE">MIN_VALUE</code>
                 due to an arithmetic overflow. The expression <code
                 language="java">2 * (Integer.MAX_VALUE + 1)</code> then gives
                 rise to a second overflow error:</para>
@@ -4074,7 +4074,7 @@ short sum = a + 7; <co linkends="sd1_co_expressionTypeIntToShort-2"
             <para>On contrary the following line will compile
             flawlessly:</para>
 
-            <programlisting language="java">short sum = 4 + 7; </programlisting>
+            <programlisting language="java">short sum = 4 + 7;</programlisting>
 
             <para>Explain this strange behaviour.</para>
           </question>
@@ -4149,9 +4149,9 @@ short sum = a + 7; <co linkends="sd1_co_expressionTypeIntToShort-2"
           <td valign="top"><programlisting language="java">int i = 2147480000;
 int j = 2147480000;
 int sum = i + j;
-System.out.println("Sum = " + sum);   </programlisting></td>
+System.out.println("Sum = " + sum);</programlisting></td>
 
-          <td valign="top"><screen>Sum = -7296  </screen></td>
+          <td valign="top"><screen>Sum = -7296</screen></td>
         </tr>
       </informaltable>
     </figure>
@@ -4261,9 +4261,9 @@ System.out.println(a + b);</programlisting>
                 subsequent code example would occur:</para>
 
                 <programlisting language="java">byte a = 120, b = 10;
-    
+
 byte sum = (byte) (a + b);
-    
+
 System.out.println(sum);</programlisting>
 
                 <para>The explicit type conversion (a so called <quote>type
@@ -4308,8 +4308,8 @@ System.out.println(2147483647 + 1L);</programlisting>
             language="java"
             xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1-100-C">int</code>
             value <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>.<property
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</property>.
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>.<property
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</property>.
             The plus operator in the first expression <code
             language="java">2147483647 + 1</code> acts on two operands of type
             <code language="java"
@@ -4334,7 +4334,7 @@ System.out.println(2147483647 + 1L);</programlisting>
             positive <code language="java"
             xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1-100-C">int</code>
             value of 2147483648 in <xref linkend="glo_Java"/>. See <uri
-            xlink:href="http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1.3-220">http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1.3-220</uri>
+            xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1.3-220">http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1.3-220</uri>
             for details.</para>
 
             <para>On contrary the plus operator in the expression <code
@@ -4415,7 +4415,7 @@ final double b = 0.9;
 final double x = a + 0.1;
 final double y = b - 0.1;
 System.out.println(<link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#abs-double-">Math.abs</link>(x - y) &lt; 1.E-14);</programlisting>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#abs(double)">Math.abs</link>(x - y) &lt; 1.E-14);</programlisting>
 
             <para>The last line represents the boolean expression
             <inlineequation>
@@ -4460,11 +4460,11 @@ System.out.println(<link
 
       <programlisting language="java">try {
     int sum = Math.<link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#addExact-int-int-">addExact(2147480000, 2147480000)</link>;
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#addExact(int,int)">addExact(2147480000, 2147480000)</link>;
     System.out.println("sum = " + sum);
 } catch (<link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/ArithmeticException.html">ArithmeticException</link> ex) {
-    System.err.println("Problem: " + ex.getMessage());   
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/ArithmeticException.html">ArithmeticException</link> ex) {
+    System.err.println("Problem: " + ex.getMessage());
 }</programlisting>
 
       <screen>Problem: integer overflow</screen>
@@ -4476,9 +4476,9 @@ System.out.println(<link
       <informaltable border="1">
         <tr>
           <td valign="top"><programlisting language="java">double f = 34.3 / 0;
-System.out.println("Value: " + f);    </programlisting></td>
+System.out.println("Value: " + f);</programlisting></td>
 
-          <td valign="top"><screen>Value: Infinity    </screen></td>
+          <td valign="top"><screen>Value: Infinity</screen></td>
         </tr>
       </informaltable>
     </figure>
@@ -4522,7 +4522,7 @@ double g = 1. / 0;
 double difference = f - g;
 System.out.println("Difference: " + difference);</programlisting><screen>Difference: NaN</screen><parameter>Explanation:
                 This represents a special <quote
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html#NaN">not
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Double.html#NaN">not
                 a number</quote> encoded value.</parameter></para>
               </listitem>
             </itemizedlist>
@@ -4665,12 +4665,12 @@ System.out.println("Difference: " + difference);</programlisting><screen>Differe
             language="java">System.out.println(...)</code>:</para>
 
             <programlisting language="java">public static void main(String[] args) {
-      
+
    double radius = 2.31;   // A circle having a radius (given e.g. in mm).
-   double pi = 3.1415926;  // Constant relating a circle's radius, 
+   double pi = 3.1415926;  // Constant relating a circle's radius,
                            //perimeter and area.
- 
-   // TODO: Write the circle's area to standard output     
+
+   // TODO: Write the circle's area to standard output
 }</programlisting>
 
             <tip>
@@ -4686,11 +4686,11 @@ System.out.println("Difference: " + difference);</programlisting><screen>Differe
 
                 <glossdef>
                   <programlisting language="java">public static void main(String[] args) {
-      
+
    double radius = 2.31;   // A circle having a radius (given e.g. in mm).
    double pi = 3.1415926;  // Constant relating a circle's radius,
                            //perimeter and area.
-      
+
    System.out.println(pi * radius * radius);
 }</programlisting>
                 </glossdef>
@@ -4706,11 +4706,11 @@ System.out.println("Difference: " + difference);</programlisting><screen>Differe
                   its value to a variable prior to output creation:</para>
 
                   <programlisting language="java">public static void main(String[] args) {
-      
+
    double radius = 2.31;   // A circle having a radius (given e.g. in mm).
-   double pi = 3.1415926;  // Constant relating a circle's radius, 
+   double pi = 3.1415926;  // Constant relating a circle's radius,
                            //perimeter and area.
-      
+
    double area = pi * radius * radius;
    System.out.println(area);
 }</programlisting>
@@ -4733,11 +4733,11 @@ System.out.println("Difference: " + difference);</programlisting><screen>Differe
             calculated a given circle's area:</para>
 
             <programlisting language="java">   public static void main(String[] args) {
-      
+
       double radius = 2.31;   // A circle having a radius (given e.g. in mm).
       double pi = 3.1415926;  // Constant relating a circle's radius, perimeter
                               //and area.
-      
+
       double area = pi * radius * radius;
       System.out.println(area);
    }</programlisting>
@@ -4791,7 +4791,7 @@ double radius = 2.3; // Computing a circle's area
 System.out.println("A circle of radius " + radius + " will cover an area of " +
   PI * radius * radius);
 
-PI = -4; 
+PI = -4;
 
 radius = 1.8;
 
@@ -4832,14 +4832,14 @@ System.out.println("A circle of radius " + radius + " will cover an area of " +
 
             <tip>
               <para>Consider the standard <link
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#PI">Math
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#PI">Math
               library</link>.</para>
             </tip>
           </question>
 
           <answer>
             <para>The solution is straightforward using <link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#PI">Math.PI</link>:</para>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#PI">Math.PI</link>:</para>
 
             <programlisting language="java" linenumbering="numbered">double radius = 2.3; // Computing a circle's area
 System.out.println("A circle of radius " + radius + " will cover an area of " +
@@ -4861,9 +4861,9 @@ System.out.println("A circle of radius " + radius + " will cover an area of " +
             <programlisting language="java">  public static void main(String[] args) {
 
     double temperatureCelsius = 23.2;
-    
+
       ...
-        
+
     System.out.println("Celsius: " + temperatureCelsius);
     System.out.println("Kelvin: " + temperatureKelvin);
     System.out.println("Fahrenheit: " + temperatureFahrenheit);
@@ -4874,11 +4874,11 @@ System.out.println("A circle of radius " + radius + " will cover an area of " +
             <programlisting language="java">  public static void main(String[] args) {
 
     double temperatureCelsius = 23.2;
-    
-    double 
+
+    double
       temperatureKelvin = temperatureCelsius + 273.15,
       temperatureFahrenheit = 9 * temperatureCelsius / 5 + 32;
-        
+
     System.out.println("Celsius: " + temperatureCelsius);
     System.out.println("Kelvin: " + temperatureKelvin);
     System.out.println("Fahrenheit: " + temperatureFahrenheit);
@@ -4907,9 +4907,9 @@ System.out.println("A circle of radius " + radius + " will cover an area of " +
       seconds = 31,
       minutes = 16,
       hours = 4;
-    
+
     int timeInSeconds ...
-    
+
     System.out.println("Time in seconds:" + timeInSeconds);
   }</programlisting>
 
@@ -4926,9 +4926,9 @@ System.out.println("A circle of radius " + radius + " will cover an area of " +
                 <programlisting language="java">  public static void main(String[] args) {
 
     final int timeInSeconds = 15391;
-    
+
     ...
-    
+
     System.out.println("Hours:" +  hours);
     System.out.println("Minutes:" +  minutes);
     System.out.println("Seconds:" +  seconds);
@@ -4960,9 +4960,9 @@ Seconds:31</screen>
       seconds = 31,
       minutes = 16,
       hours = 4;
-    
+
     final int timeInSeconds = seconds + 60 * (minutes + 60 * hours);
-    
+
     System.out.println("Time in seconds:" + timeInSeconds);
   }</programlisting></para>
               </listitem>
@@ -4971,13 +4971,13 @@ Seconds:31</screen>
                 <programlisting language="java">  public static void main(String[] args) {
 
     final int timeInSeconds = 15391;
-    
+
     final int minutesRemaining = timeInSeconds / 60;
     final int seconds = timeInSeconds % 60;
-    
+
     final int hours = minutesRemaining / 60;
     final int minutes = minutesRemaining % 60;
-    
+
     System.out.println("Hours:" +  hours);
     System.out.println("Minutes:" +  minutes);
     System.out.println("Seconds:" +  seconds);
@@ -5003,12 +5003,12 @@ Seconds:31</screen>
 
     final double initialCapital = 223.12;
     final double interestRate = 1.5;
-    
+
     System.out.println("Initial capital:" + initialCapital);
     System.out.println("Annual interest rate:" + interestRate);
-    
+
     // TODO ...
-    
+
     System.out.println("Capital after three years:" + ...);
   }</programlisting>
 
@@ -5052,17 +5052,17 @@ Capital after three years:233.31175902999993</screen>
 
     final double initialCapital = 223.12;
     final double interestRate = 1.5;
-    
+
     System.out.println("Initial capital:" + initialCapital);
     System.out.println("Annual interest rate:" + interestRate);
-    
+
     final double factor = 1. + interestRate/100.;
     double capitalAtThreeYears = initialCapital;
-    
+
     capitalAtThreeYears *= factor; // Year 1
     capitalAtThreeYears *= factor; // Year 2
     capitalAtThreeYears *= factor; // Year 3
-    
+
     System.out.println("Capital after three years:" + capitalAtThreeYears);
   }</programlisting>
 
@@ -5073,14 +5073,14 @@ Capital after three years:233.31175902999993</screen>
 
     final double initialCapital = 223.12;
     final double interestRate = 1.5;
-    
+
     System.out.println("Initial capital:" + initialCapital);
     System.out.println("Annual interest rate:" + interestRate);
-    
+
     final double factor = 1. + interestRate/100.;
-    final double capitalAtThreeYears = 
+    final double capitalAtThreeYears =
         initialCapital * factor * factor * factor;
-    
+
     System.out.println("Capital after three years:" + capitalAtThreeYears);
   }</programlisting>
 
@@ -5304,7 +5304,7 @@ System.out.println("e=" + e);</programlisting>
       int c = b;    // c == 2;
 
       b = ++a;      // Incrementing a by 1 --&gt;a==5, then assigning to b --&gt; b == 5
-      int e = a++;  // Assigning a to e --&gt; e==5, then incrementing a --&gt; a==6 
+      int e = a++;  // Assigning a to e --&gt; e==5, then incrementing a --&gt; a==6
 
       a *= b;       // Multiplying a with b and assigning the result to a --&gt; a==30
 
@@ -5412,16 +5412,16 @@ System.out.println("a = " + a + ", b = " + b + ", c = " + c);</programlisting>
     <title>Comments</title>
 
     <figure xml:id="sd1_fig_commentsTwoFlavors">
-      <title>Two comment flavors</title>
+      <title><xref linkend="glo_Java"/> comment flavors</title>
 
       <glosslist>
         <glossentry>
-          <glossterm>Multiline comment</glossterm>
+          <glossterm>Multi line comment</glossterm>
 
           <glossdef>
             <programlisting language="java">int a;
 /*  We define a variable. Then
-    subsequently a value is being assigned */    
+    subsequently a value is being assigned */
 a = 33;</programlisting>
           </glossdef>
         </glossentry>
@@ -5431,16 +5431,20 @@ a = 33;</programlisting>
 
           <glossdef>
             <programlisting language="java">int a;  // We define a variable.
-a = 33; // Then subsequently a value is being assigned       </programlisting>
+a = 33; // Then subsequently a value is being assigned</programlisting>
           </glossdef>
         </glossentry>
       </glosslist>
     </figure>
 
     <figure xml:id="sd1_fig_inlineComment">
-      <title><quote>Inline</quote> comments</title>
+      <title>Inline comments</title>
+
+      <programlisting language="java">int strength = a /* fixed value */ + b /* age */ + c /* courage */;</programlisting>
+
+      <para>Run-time equivalent to:</para>
 
-      <programlisting language="java">int strength = a /* fixed value */ + b /* age */ + c /* courage */;       </programlisting>
+      <programlisting language="java">int strength = a + b + c;</programlisting>
     </figure>
   </section>
 </chapter>
diff --git a/Doc/Sd1/objectsClasses.xml b/Doc/Sd1/objectsClasses.xml
index cc2a4ae4d87529e998b8964920bf49aa0269d76f..dc108eac1f1e14b2a9b6e32365ae36092cd91624 100644
--- a/Doc/Sd1/objectsClasses.xml
+++ b/Doc/Sd1/objectsClasses.xml
@@ -247,8 +247,8 @@ if (null == r) {
           <itemizedlist>
             <listitem>
               <para><package
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-frame.html">java.lang</package>.<classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname></para>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-frame.html">java.lang</package>.<classname
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname></para>
             </listitem>
 
             <listitem>
@@ -380,9 +380,11 @@ public class Q {<lineannotation>Class def</lineannotation>
                 role="red">*</emphasis>;
 
 public class Q {
-  public static void main(String[] args) {
-      Scanner s = new Scanner(System.in);
-      Date today = new Date();
+  public static void
+        main(String[] args) {
+    Scanner s = 
+      new Scanner(System.in);
+    Date today = new Date();
   }
 }</programlisting></td>
 
@@ -391,9 +393,11 @@ public class Q {
 import java.util.<emphasis role="red">Scanner</emphasis>;
 
 public class Q {
-  public static void main(String[] args) {
-      Scanner s = new Scanner(System.in);
-      Date today = new Date();
+  public static void
+         main(String[] args) {
+    Scanner s =
+       new Scanner(System.in);
+    Date today = new Date();
   }
 }</programlisting></td>
         </tr>
@@ -417,33 +421,33 @@ public class Q {
           xml:id="sd1_fig_javaDotLangNoImportRequired-3-co"/> s = new Scanner(System.in);
   }
 }</programlisting>
+    </figure>
 
-      <calloutlist>
-        <callout arearefs="sd1_fig_javaDotLangNoImportRequired-1.2-co"
-                 xml:id="sd1_fig_javaDotLangNoImportRequired-1.2">
-          <para>Classes belonging to the <package
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>
-          package are being imported automatically.</para>
-        </callout>
+    <calloutlist>
+      <callout arearefs="sd1_fig_javaDotLangNoImportRequired-1.2-co"
+               xml:id="sd1_fig_javaDotLangNoImportRequired-1.2">
+        <para>Classes belonging to the <package
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-summary.html">java.lang</package>
+        package are being imported automatically.</para>
+      </callout>
 
-        <callout arearefs="sd1_fig_javaDotLangNoImportRequired-2.2-co"
-                 xml:id="sd1_fig_javaDotLangNoImportRequired-2.2">
-          <para>The <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Scanner.html">Scanner</classname>
-          class belongs to the <package
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/package-summary.html">java.util</package>
-          package and must thus be imported.</para>
-        </callout>
+      <callout arearefs="sd1_fig_javaDotLangNoImportRequired-2.2-co"
+               xml:id="sd1_fig_javaDotLangNoImportRequired-2.2">
+        <para>The <classname
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html">Scanner</classname>
+        class belongs to the <package
+        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/package-summary.html">java.util</package>
+        package and must thus be imported.</para>
+      </callout>
 
-        <callout arearefs="sd1_fig_javaDotLangNoImportRequired-3-co"
-                 xml:id="sd1_fig_javaDotLangNoImportRequired-3">
-          <para>Without the import <classname>java.util.Scanner</classname>
-          statement we need the fully qualified class name:</para>
+      <callout arearefs="sd1_fig_javaDotLangNoImportRequired-3-co"
+               xml:id="sd1_fig_javaDotLangNoImportRequired-3">
+        <para>Without the import <classname>java.util.Scanner</classname>
+        statement we need the fully qualified class name:</para>
 
-          <programlisting language="java">java.util.Scanner s = new java.util.Scanner(System.in);</programlisting>
-        </callout>
-      </calloutlist>
-    </figure>
+        <programlisting language="java">java.util.Scanner s = new java.util.Scanner(System.in);</programlisting>
+      </callout>
+    </calloutlist>
 
     <figure xml:id="sd1_fig_package2directory">
       <title>Class, package and file system</title>
@@ -1418,25 +1422,25 @@ public void writeSvg() {
   }
   public int getMinute() {<coref
                   linkend="sd1_callout_publicPrivateInterface-2-co"/>
-    return
-    (int) (secondsSince_2000_01_01 / 60) % 60;
+    return (int)
+      (secondsSince_2000_01_01 / 60) % 60;
   }
   // ...
 }</programlisting></td>
 
             <td valign="top"><programlisting language="java">public class Time {
-    private int second, minute, <coref
+  private int second, minute,<coref
                   linkend="sd1_callout_publicPrivateInterface-1-co"/>
          hour,day, month, year;
 
-    public int getSecond() { <coref
+  public int getSecond() { <coref
                   linkend="sd1_callout_publicPrivateInterface-2-co"/>
         return second;
-    }
-    public int getMinute() { <coref
+  }
+  public int getMinute() { <coref
                   linkend="sd1_callout_publicPrivateInterface-2-co"/>
         return minute;
-    }
+  }
     // ...
 }</programlisting></td>
           </tr>
@@ -2227,47 +2231,47 @@ void main(void) {
         <informaltable border="0">
           <tr>
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-boolean-">print(boolean
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-boolean-">print(boolean
             b)</methodname></td>
 
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-char-">print(char
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-char-">print(char
             c)</methodname></td>
           </tr>
 
           <tr>
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-char:A-">print(char[]
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-char:A-">print(char[]
             s)</methodname></td>
 
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-double-">print(double
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-double-">print(double
             d)</methodname></td>
           </tr>
 
           <tr>
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-float-">print(float
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-float-">print(float
             f)</methodname></td>
 
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-int-">print(int
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-int-">print(int
             i)</methodname></td>
           </tr>
 
           <tr>
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-long-">print(long
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-long-">print(long
             l)</methodname></td>
 
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-java.lang.Object-">print(Object
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-java.lang.Object-">print(Object
             obj)</methodname></td>
           </tr>
 
           <tr>
             <td><methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-java.lang.String-">print(String
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print-java.lang.String-">print(String
             s)</methodname></td>
 
             <td/>
@@ -2324,21 +2328,21 @@ a = 33;</programlisting></td>
         this.hasSolidBorder = hasSolidBorder;
     }
 }</programlisting>
+      </figure>
 
-        <para>Similar to <xref linkend="fig_methodSyntax"/> but:</para>
+      <para>Similar to <xref linkend="fig_methodSyntax"/> but:</para>
 
-        <calloutlist>
-          <callout arearefs="sd1_callout_defineConstructor-1-co"
-                   xml:id="sd1_callout_defineConstructor-1">
-            <para>No return type declaration.</para>
-          </callout>
+      <calloutlist>
+        <callout arearefs="sd1_callout_defineConstructor-1-co"
+                 xml:id="sd1_callout_defineConstructor-1">
+          <para>No return type declaration.</para>
+        </callout>
 
-          <callout arearefs="sd1_callout_defineConstructor-2-co"
-                   xml:id="sd1_callout_defineConstructor-2">
-            <para>Constructor's name equals class name.</para>
-          </callout>
-        </calloutlist>
-      </figure>
+        <callout arearefs="sd1_callout_defineConstructor-2-co"
+                 xml:id="sd1_callout_defineConstructor-2">
+          <para>Constructor's name equals class name.</para>
+        </callout>
+      </calloutlist>
 
       <figure xml:id="sd1_fig_constructorSyntax">
         <title>Constructor syntax</title>
@@ -2425,22 +2429,26 @@ a = 33;</programlisting></td>
             <td valign="top"><programlisting language="java">public class Rectangle {
   int width, height;
 
-  public Rectangle(int width, int height){
+  public Rectangle(int width,
+                int height){
     this.width = width;
     this.height = height;
   }
   public Rectangle() {
     width = height = 1;
   }
-  public Rectangle(int widthAndHeight) {
-    width = height = widthAndHeight;
+  public Rectangle(
+     int widthAndHeight) {
+    width = height =
+          widthAndHeight;
   }
 }</programlisting></td>
 
             <td><programlisting language="java">public class Rectangle {
   int width, height;
 
-  public Rectangle(int width, int height){
+  public Rectangle(int width, 
+                   int height){
     this.width = width;
     this.height = height;
   }
@@ -2448,8 +2456,10 @@ a = 33;</programlisting></td>
     this(1, 1); <co linkends="sd1_fig_rectangle_constructorCallsConstructor-1"
                   xml:id="sd1_fig_rectangle_constructorCallsConstructor-1-co"/>
   }
-  public Rectangle(int widthAndHeight) {
-    this(widthAndHeight, widthAndHeight); <co
+  public Rectangle(
+    int widthAndHeight) {
+    this(widthAndHeight,
+         widthAndHeight); <co
                   linkends="sd1_fig_rectangle_constructorCallsConstructor-2"
                   xml:id="sd1_fig_rectangle_constructorCallsConstructor-2-co"/>
   }
@@ -2524,22 +2534,22 @@ Rectangle individual = new Rectangle(2, 7); // 2 x 7</programlisting></td>
         <informaltable border="1">
           <tr>
             <td rowspan="2"><programlisting language="java">public class Rectangle {
-    int width, height;
-    boolean hasSolidBorder;
+  int width, height;
+  boolean hasSolidBorder;
 
-    public Rectangle
-            (int width,
-             int height,
-             boolean hasSolidBorder){
-        this.width = width;
-        this.height = height;
-        this.hasSolidBorder =
-                    hasSolidBorder;
-    }
+  public Rectangle(int width,
+                  int height,
+    boolean hasSolidBorder){
+      this.width = width;
+      this.height = height;
+      this.hasSolidBorder =
+                hasSolidBorder;
+  }
 }</programlisting></td>
 
-            <td valign="top"><programlisting language="java">Rectangle r = new Rectangle(3, 6, false);</programlisting><para>o.K.,
-            using non-default constructor.</para></td>
+            <td valign="top"><programlisting language="java">Rectangle r = 
+   new Rectangle(3, 6, false);</programlisting><para>o.K.: Using non-default
+            constructor.</para></td>
           </tr>
 
           <tr>
@@ -3053,8 +3063,8 @@ Hello 'John'</screen>
                 <orderedlist>
                   <listitem>
                     <para>Use a <package
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
                     instance variable inside your private
                     <classname>String</classname> class.</para>
                   </listitem>
@@ -3063,7 +3073,7 @@ Hello 'John'</screen>
                     <para>Your class' constructor is bound to accept standard
                     <xref linkend="glo_Java"/> string literals. Using
                     <classname
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">java.lang.String</classname>
+                    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">java.lang.String</classname>
                     internally requires a fully qualified class name.</para>
                   </listitem>
                 </orderedlist>
@@ -3099,15 +3109,15 @@ public class String { <co linkends="sd1_callout_createStringClass-1.2"
                 <callout arearefs="sd1_callout_createStringClass-1.3-co"
                          xml:id="sd1_callout_createStringClass-1.2">
                   <para>Shadowing <xref linkend="glo_Java"/> <package
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>.</para>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>.</para>
                 </callout>
 
                 <callout arearefs="sd1_callout_createStringClass-2.2-co"
                          xml:id="sd1_callout_createStringClass-2.2">
                   <para>Using a standard <xref linkend="glo_Java"/> <package
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
                   instance internally. Fully qualified class name required
                   resolving potential name clash.</para>
                 </callout>
@@ -3116,16 +3126,16 @@ public class String { <co linkends="sd1_callout_createStringClass-1.2"
                          xml:id="sd1_callout_createStringClass-3.2">
                   <para>Our constructor also accepts a standard <xref
                   linkend="glo_Java"/> <package
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
                   instance.</para>
                 </callout>
 
                 <callout arearefs="sd1_callout_createStringClass-4-co"
                          xml:id="sd1_callout_createStringClass-4">
                   <para>Returning a <package
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
                   instance.</para>
                 </callout>
               </calloutlist>
@@ -3133,15 +3143,15 @@ public class String { <co linkends="sd1_callout_createStringClass-1.2"
               <para>There are basically two ways using
               <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>
               and <package
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
               in the same scope:</para>
 
               <glosslist>
                 <glossentry>
                   <glossterm>Fully qualify <package
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>:</glossterm>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>:</glossterm>
 
                   <glossdef>
                     <programlisting language="java">package de.hdm_stuttgart.mi;
@@ -3200,7 +3210,7 @@ public class Main {
                       <callout arearefs="sd1_callout_createStringAnswer2-1-co"
                                xml:id="sd1_callout_createStringAnswer2-1">
                         <para>A <xref linkend="glo_Java"/> standard <classname
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
                         instance.</para>
                       </callout>
 
@@ -3949,7 +3959,7 @@ public class <link
               <orderedlist>
                 <listitem>
                   <para>Consider the <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#sin-double-">sin(...)</link>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#sin-double-">sin(...)</link>
                   function. The documentation will tell you that the argument
                   to sin(...) is expected to be in radians rather than common
                   degree values from [0,360[ being expected on output. So you
@@ -3970,7 +3980,7 @@ public class <link
                 <listitem>
                   <para>Rounding the sine's value is the crucial part here.
                   The function <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#round-double-">round()</link>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#round-double-">round()</link>
                   is quite helpful. Consider the following example rounding
                   23.22365 to four decimal places:</para>
 
@@ -3981,7 +3991,7 @@ public class <link
 
                     <listitem>
                       <para><link
-                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#round-double-">round(232236.5)</link>
+                      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#round-double-">round(232236.5)</link>
                       results in 232237 (long).</para>
                     </listitem>
 
@@ -5075,9 +5085,6 @@ Largest long value:9223372036854775807</screen></td>
             <imagedata fileref="Ref/ObjectsAndClasses/DependencyExample/newtonHooke.svg"/>
           </imageobject>
         </mediaobject>
-
-        <para>»If I have seen further it is by standing on ye sholders of
-        Giants«</para>
       </figure>
 
       <figure xml:id="sd1_fig_projectDepenndencyExampla">
@@ -6375,9 +6382,9 @@ System.out.println(factorial(3));</programlisting>
 
                     <tip>
                       <para>The standard methods <link
-                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#currentTimeMillis--">currentTimeMillis()</link>
+                      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#currentTimeMillis--">currentTimeMillis()</link>
                       and <link
-                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#nanoTime--">nanoTime</link>
+                      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#nanoTime--">nanoTime</link>
                       allow for measuring method execution by means of
                       subtracting time stamp values prior and after execution.
                       <quote
@@ -6697,7 +6704,7 @@ Ratio Recursive / Loop: 65554</screen></td>
                 exp(double)</methodname> inside a class
                 <package>Math</package> choosing a package of your choice. The
                 name clash with the Java standard class <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html">java.lang.Math</link>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html">java.lang.Math</link>
                 is intended: You'll learn how to resolve naming
                 conflicts.</para>
 
@@ -6738,7 +6745,7 @@ Ratio Recursive / Loop: 65554</screen></td>
                 language="java">seriesLimit=8</code> terms and the
                 corresponding values from the professional implementation
                 <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#exp-double">java.lang.Math.exp</link>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#exp-double">java.lang.Math.exp</link>
                 by calculating <inlineequation>
                     <m:math display="inline">
                       <m:msup>
@@ -6793,7 +6800,7 @@ Ratio Recursive / Loop: 65554</screen></td>
                   <listitem>
                     <para>You should only use basic arithmetic operations like
                     +, - * and /. Do not use <link
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#pow-double-double-">Math.pow(double
+                    xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#pow-double-double-">Math.pow(double
                     a, double b)</link> and friends! Their implementations use
                     power series expansions as well and are designed for a
                     different purpose like having fractional exponent
@@ -7405,7 +7412,7 @@ e^3=19.412499999999998, difference=-0.67303692318767</screen>
                       </m:mrow>
                     </m:math>
                   </inlineequation> using <varname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#PI">java.lang.Math.PI</varname>.
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#PI">java.lang.Math.PI</varname>.
                 Explain your results' accuracy for these arguments.</para>
               </question>
 
@@ -8576,7 +8583,7 @@ sin(4 * PI)=4518.2187229323445, difference=4518.2187229323445</screen>
                 arguments to this interval appropriately.</para>
 
                 <para>Hint: The standard function <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#floor-double-">Math.rint(double)</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#floor-double-">Math.rint(double)</methodname>
                 could be helpful: It may turn e.g. 4.47 (<code
                 language="java">double</code>) to 4 (<code
                 language="java">long</code>).</para>
@@ -9956,7 +9963,7 @@ Actual   :-32768</screen>
             into an <code language="java">int</code>. But <code
             language="java">limit * (limit + 1)</code> itself not yet divided
             by 2 may exceed <code language="java"
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE</code>.
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE</code>.
             Since the multiplication happens prior to dividing by 2 we see
             this overflow error happen.</para>
 
diff --git a/Doc/Sd1/statements.xml b/Doc/Sd1/statements.xml
index b065156e11a5caed29ce04e9ea425d1c19032f4e..3f6f64448dd2bff8e796ef183e5d4b64536f8f53 100644
--- a/Doc/Sd1/statements.xml
+++ b/Doc/Sd1/statements.xml
@@ -132,11 +132,11 @@
 {
   final double interestRate = 1.2; // 1.2%
   System.out.println("Interest:" + initialAmount * interestRate / 100);
-} 
-{ 
+}
+{
   final double interestRate = 0.8; // 0.8%
   System.out.println("Interest:" + initialAmount * interestRate / 100);
-} </programlisting>
+}</programlisting>
 
     <informaltable border="1">
       <tr>
@@ -178,7 +178,7 @@
 if (100000 &lt;= initialAmount) {
   // Rich customer, 1,2% interest rate
   System.out.println(
-    "Interest:" + 1.2 * initialAmount / 100);       
+    "Interest:" + 1.2 * initialAmount / 100);
 }
 System.out.println("Done!");</programlisting><screen>Interest:3840.0
 Done!</screen></td>
@@ -195,7 +195,7 @@ Done!</screen></td>
     <figure xml:id="sd1_fig_ifSyntax">
       <title><code language="java">if</code> execution syntax</title>
 
-      <programlisting language="java">if (booleanExpression) 
+      <programlisting language="java">if (booleanExpression)
   (block | statement)</programlisting>
     </figure>
 
@@ -206,12 +206,15 @@ Done!</screen></td>
       <informaltable border="1">
         <tr>
           <td valign="top"><programlisting language="java">double initialAmount = 420.00;
-
-if (100000 &lt;= initialAmount) {
+...
+if (100000 &lt;= initialAmount <co linkends="sd1_fig_ifElse-1"
+                xml:id="sd1_fig_ifElse-1-co"/>)  { <co
+                linkends="sd1_fig_ifElse-2" xml:id="sd1_fig_ifElse-2-co"/>
   // Rich customer, 1,2% interest rate
   System.out.println(
-     "Interest:" + 1.2 * initialAmount / 100);      
-} else {
+     "Interest:" + 1.2 * initialAmount / 100);
+} <co linkends="sd1_fig_ifElse-3" xml:id="sd1_fig_ifElse-3-co"/> else { <co
+                linkends="sd1_fig_ifElse-4" xml:id="sd1_fig_ifElse-4-co"/>
   // Joe customer, 0.8% standard interest rate
   System.out.println(
     "Interest:" + 0.8 * initialAmount / 100);
@@ -226,38 +229,34 @@ Done!</screen></td>
             </mediaobject></td>
         </tr>
       </informaltable>
+    </figure>
 
-      <informaltable border="1">
-        <tr>
-          <td><itemizedlist>
-              <listitem>
-                <para>Decision on boolean expression</para>
-              </listitem>
+    <calloutlist>
+      <callout arearefs="sd1_fig_ifElse-1-co" xml:id="sd1_fig_ifElse-1">
+        <para>Decision on boolean expression.</para>
+      </callout>
 
-              <listitem>
-                <para>Acting on blocks or single statements</para>
-              </listitem>
-            </itemizedlist></td>
+      <callout arearefs="sd1_fig_ifElse-2-co" xml:id="sd1_fig_ifElse-2">
+        <para>Conditional execution of on block or single statement.</para>
+      </callout>
 
-          <td><itemizedlist>
-              <listitem>
-                <para>Must have one branch.</para>
-              </listitem>
+      <callout arearefs="sd1_fig_ifElse-3-co" xml:id="sd1_fig_ifElse-3">
+        <para>Required branch being executed in case of boolean expression
+        being true.</para>
+      </callout>
 
-              <listitem>
-                <para>May have a second branch.</para>
-              </listitem>
-            </itemizedlist></td>
-        </tr>
-      </informaltable>
-    </figure>
+      <callout arearefs="sd1_fig_ifElse-4-co" xml:id="sd1_fig_ifElse-4">
+        <para>Optional branch corresponding to boolean expression being
+        false.</para>
+      </callout>
+    </calloutlist>
 
     <figure xml:id="sd1_fig_ifElseSyntax">
       <title><code language="java">if ... else</code> execution syntax</title>
 
       <programlisting language="java">if (booleanExpression)
    (block | statement)
-[else 
+[else
    (block | statement) ] <co linkends="sd1_fig_ifElseSyntax-1"
           xml:id="sd1_fig_ifElseSyntax-1-co"/></programlisting>
 
@@ -457,11 +456,11 @@ int main(int argc, char **args) {
 
       <programlisting language="java">double initialAmount = 3200;
 
-if (100000 &lt;= initialAmount) 
+if (100000 &lt;= initialAmount)
   System.out.println("Interest:" + 1.2 * initialAmount / 100);
 else if (1000 &lt;= initialAmount)
   System.out.println("Interest:" + 0.8 * initialAmount / 100);
-else 
+else
   System.out.println("Interest:" + 0);</programlisting>
 
       <para>Branches containing exactly one statement don't require a block
@@ -469,7 +468,7 @@ else
     </figure>
 
     <figure xml:id="sd1_fig_corporateSafety">
-      <title>Corporate network security</title>
+      <title>Aside: Corporate network security</title>
 
       <para>Would you access your online bank account using <emphasis
       role="bold">Stuttgart Media University's</emphasis> network?</para>
@@ -526,12 +525,10 @@ else
       <quote><code>goto fail</code></quote> SSL bug</link></title>
 
       <programlisting language="c">static OSStatus
-SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,
-                                 uint8_t *signature, UInt16 signatureLen)
-{
+SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa,
+       SSLBuffer signedParams, uint8_t *signature, UInt16 signatureLen) {
 	OSStatus        err;
 	...
-
 	if ((err = SSLHashSHA1.update(&amp;hashCtx, &amp;serverRandom)) != 0)
 		goto fail;
 	if ((err = SSLHashSHA1.update(&amp;hashCtx, &amp;signedParams)) != 0)
@@ -542,7 +539,6 @@ SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedPa
 
 	err = sslRawVerify(...);
 	...
-
 fail:
 	SSLFreeBuffer(&amp;signedHashes);
 	SSLFreeBuffer(&amp;hashCtx);
@@ -556,12 +552,11 @@ fail:
       <informaltable border="0">
         <tr>
           <td><programlisting language="c">...
-
-if ((err = SSLHashSHA1.update(...)) != 0)        
+if ((err = SSLHashSHA1.update(...)) != 0)
   goto fail;
   goto fail;</programlisting></td>
 
-          <td>Reachable code</td>
+          <td>Reachable code, <code>err</code> yet 0</td>
         </tr>
 
         <tr>
@@ -578,10 +573,9 @@ err = sslRawVerify(...);
           <td><programlisting language="c">fail:
   SSLFreeBuffer(&amp;signedHashes);
   SSLFreeBuffer(&amp;hashCtx);
-  return err;
-}</programlisting></td>
+  return err;</programlisting></td>
 
-          <td>Reachable code</td>
+          <td>Reachable code, <code>err</code> possibly still 0</td>
         </tr>
       </informaltable>
     </figure>
@@ -745,7 +739,7 @@ System.out.println("Failed!");</programlisting>
 
       <informaltable border="1">
         <tr>
-          <td valign="top"><programlisting language="java">if ('A' == grade || 'B' == grade) {     
+          <td valign="top"><programlisting language="java">if ('A' == grade || 'B' == grade) {
    result = "Excellent";
 } else {
    if ('C' == grade) {
@@ -773,7 +767,7 @@ System.out.println("Failed!");</programlisting>
 
       <informaltable border="1">
         <tr>
-          <td valign="top"><programlisting language="java">if ('A' == grade || 'B' == grade) {     
+          <td valign="top"><programlisting language="java">if ('A' == grade || 'B' == grade) {
    result = "Excellent";
 } else if ('C' == grade) {
    result = "O.k.";
@@ -801,7 +795,7 @@ System.out.println("Failed!");</programlisting>
 [else if (booleanExpression)
    (block | statement) ]* <co linkends="sd1_fig_ifElse_elseSyntax-1"
           xml:id="sd1_fig_ifElse_elseSyntax-1-co"/>
-[else 
+[else
   (block | statement) ] <co linkends="sd1_fig_ifElse_elseSyntax-2"
           xml:id="sd1_fig_ifElse_elseSyntax-2-co"/></programlisting>
     </figure>
@@ -829,12 +823,12 @@ System.out.println("Failed!");</programlisting>
       <title>User input recipe</title>
 
       <programlisting language="java">try (final <link
-          xlink:href="https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html">Scanner</link> scan = new <link
-          xlink:href="https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html">Scanner</link>(<link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#in">System.in</link>)){
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html">Scanner</link> scan = new <link
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html">Scanner</link>(<link
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#in">System.in</link>)){
     System.out.print("Enter a value:");
     final int value = scan.<link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Scanner.html#nextInt--">nextInt()</link>;
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html#nextInt()">nextInt()</link>;
     System.out.println("You entered " + value);
 }</programlisting>
 
@@ -842,9 +836,9 @@ System.out.println("Failed!");</programlisting>
 You entered 1234567</screen>
 
       <para>See <methodname
-      xlink:href="https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextBoolean()">nextBoolean()</methodname>,
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html#nextBoolean()">nextBoolean()</methodname>,
       <methodname><link
-      xlink:href="https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextByte()">nextByte()</link></methodname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html#nextByte()">nextByte()</link></methodname>
       and friends.</para>
     </figure>
 
@@ -873,15 +867,15 @@ You entered 1234567</screen>
             language="java">newResult</code>.</para>
 
             <programlisting language="java">   public static void main(String[] args) {
-      
+
       int pointsReached = 1;
       int maximumPoints = 12;
       int pointsToAdd = 3;
-      
+
       final int newResult;
-      
+
       // TODO: Assignment to variable newResult
-      
+
       System.out.println("New Result:" + newResult);
    }</programlisting>
           </question>
@@ -893,19 +887,19 @@ You entered 1234567</screen>
             just assign the limit itself:</para>
 
             <programlisting language="java">   public static void main(String[] args) {
-      
+
       int pointsReached = 1;
       int maximumPoints = 12;
       int pointsToAdd = 3;
-      
+
       final int newResult;
-      
+
       if (maximumPoints &lt;= pointsReached + pointsToAdd) {
          newResult = maximumPoints;
       } else {
          newResult = pointsReached + pointsToAdd;
       }
-      
+
       System.out.println("New Result:" + newResult);
    }</programlisting>
 
@@ -915,20 +909,20 @@ You entered 1234567</screen>
             This may as well be be implemented by:</para>
 
             <programlisting language="java">   public static void main(String[] args) {
-      
+
       int pointsReached = 1;
       int maximumPoints = 12;
       int pointsToAdd = 3;
-      
+
       final int newResult = Math.min(maximumPoints, pointsReached + pointsToAdd);
-      
+
       System.out.println("New Result:" + newResult);
 
    }</programlisting>
 
             <para>You will fully understand the above expression <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html">Math</classname>.<methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#min-int-int-">min(...)</methodname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html">Math</classname>.<methodname
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#min(int,int)">min(...)</methodname>
             after finishing the <quote>Static Final Variables</quote> section
             of <xref linkend="bib_Kurniawan2015"/>.</para>
           </answer>
@@ -950,7 +944,7 @@ You entered 1234567</screen>
 
             <figure xml:id="sd1VideoUsingScannerClass">
               <title>Using a <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Scanner.html">Scanner</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html">Scanner</classname>
               class collecting user input.</title>
 
               <mediaobject>
@@ -1215,17 +1209,17 @@ Saturday</screen>
       <title><code language="java">switch</code> Syntax</title>
 
       <programlisting language="java">switch(expression) {
-[case value_1 : 
+[case value_1 :
     [statement(s);]
-    [break; ] 
-case value_2 : 
+    [break; ]
+case value_2 :
     [statement(s); ]
     [break;]
   ...
-case value_n : 
+case value_n :
     [statement(s); ]
     [break;] ]
-[default: 
+[default:
     [statement(s);]
     [break;]]
 }</programlisting>
@@ -1436,7 +1430,7 @@ switch(day % 7) {
       <title>Switching on strings</title>
 
       <para><xref linkend="glo_Java"/> 7 introduced <classname
-      xlink:href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html">String</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
       based <code language="java">case</code> labels:</para>
 
       <programlisting language="java">String month, season;
@@ -1487,8 +1481,8 @@ Unknown day name 'July'</screen>
                 <listitem>
                   <para>You may read strings into your application using
                   <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Scanner.html">Scanner</classname>.<methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Scanner.html#next--">next()</methodname>;</para>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html">Scanner</classname>.<methodname
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html#next()">next()</methodname>;</para>
                 </listitem>
               </orderedlist>
             </tip>
@@ -1611,7 +1605,7 @@ Midweek</screen>
 
           <answer>
             <para><programlisting language="java">try (final Scanner scan = new Scanner(System.in)) {
- 
+
   System.out.print("Enter a number:&gt;");
    final int number = scan.nextInt();
 
@@ -1626,7 +1620,7 @@ Midweek</screen>
       case 8: System.out.println("VIII"); break;
       case 9: System.out.println("IX"); break;
       case 10: System.out.println("X"); break;
-      
+
       default:System.out.println("Decimal value " + number + " not yet implemented");
               break;
    }
@@ -1673,7 +1667,7 @@ import java.util.Scanner;
 public class LeapYear {
 
    public static void main(String[] args) {
-    
+
       final Scanner scan = new Scanner(System.in); // Read user input
       System.out.print("Enter a year:&gt;");
       final int year = scan.nextInt();
@@ -1682,9 +1676,9 @@ public class LeapYear {
       if (0 == year % 400) {                   <emphasis role="bold"> // Every 400 years we do have a leap year.</emphasis>
          System.out.println(
           "Year " + year + " is a leap year");
-       } else if (0 == year % 4 &amp;&amp;          <emphasis role="bold">    // Every 4 years we do have a leap year</emphasis>  
+       } else if (0 == year % 4 &amp;&amp;          <emphasis role="bold">    // Every 4 years we do have a leap year</emphasis>
                   0 != year % 100) {         <emphasis role="bold">   // unless year is a multiple of 100.</emphasis>
-          System.out.println("Year " + year + " is a leap year");  
+          System.out.println("Year " + year + " is a leap year");
        } else {
           System.out.println("Year " + year + " is no leap year");
        }
@@ -1698,14 +1692,14 @@ public class LeapYear {
             branch into one resolves the issue:</para>
 
             <programlisting language="java">   public static void main(String[] args) {
-    
+
       final Scanner scan = new Scanner(System.in); // Read user input
       System.out.print("Enter a year:&gt;");
       final int year = scan.nextInt();
       scan.close();
 
       if (0 == year % 400 ||              <emphasis role="bold">// Every 400 years we do have a leap year.</emphasis>
-          (0 == year % 4 &amp;&amp;               <emphasis role="bold">// Every 4 years we do have a leap year</emphasis>  
+          (0 == year % 4 &amp;&amp;               <emphasis role="bold">// Every 4 years we do have a leap year</emphasis>
            0 != year % 100)) {            <emphasis role="bold">// unless year is a multiple of 100.</emphasis>
          System.out.println("Year " + year + " is a leap year");
        } else {
@@ -1795,7 +1789,7 @@ int loopCounter = 1; <co linkends="sd1_callout_whileLoop-2"
 while (loopCounter &lt;= repetitions <co linkends="sd1_callout_whileLoop-3"
                   xml:id="sd1_callout_whileLoop-3-co"/>) {
    System.out.println("Do not copy!"); <co linkends="sd1_callout_whileLoop-4"
-                  xml:id="sd1_callout_whileLoop-4-co"/>        
+                  xml:id="sd1_callout_whileLoop-4-co"/>
    loopCounter++; <co linkends="sd1_callout_whileLoop-5"
                   xml:id="sd1_callout_whileLoop-5-co"/>
 }</programlisting><screen>Do not copy!
@@ -1867,7 +1861,7 @@ Do not copy!</screen>
         <programlisting language="java">int threeSeries = 1;
 
 while ((threeSeries *=3) &lt; 100);
-    
+
 System.out.println(threeSeries);</programlisting>
 
         <para>Exercise: Guess resulting output.</para>
@@ -1885,7 +1879,7 @@ System.out.println(threeSeries);</programlisting>
               <td valign="top"><programlisting language="java">int sum = 0, value;
 do {
   System.out.print(
-    "Enter value, 0 to terminate: ");       
+    "Enter value, 0 to terminate: ");
   value = scanner.nextInt();
   sum += value;
 } while (0 != value);
@@ -1990,8 +1984,8 @@ Goodbye!</screen>We thus use a <code language="java">do ... while(...)</code>
                   xml:id="sd1_callout_whileLoopJustCounting-1-co"/>
 
 while (i &lt; 5 <co linkends="sd1_callout_whileLoopJustCounting-2"
-                  xml:id="sd1_callout_whileLoopJustCounting-2-co"/>) {  
-   ...   
+                  xml:id="sd1_callout_whileLoopJustCounting-2-co"/>) {
+   ...
    i++; <co linkends="sd1_callout_whileLoopJustCounting-3"
                   xml:id="sd1_callout_whileLoopJustCounting-3-co"/>
 }</programlisting></td>
@@ -2028,15 +2022,15 @@ while (i &lt; 5 <co linkends="sd1_callout_whileLoopJustCounting-2"
             <td><programlisting language="java">for (int i = 0 <coref
                   linkend="sd1_callout_whileLoopJustCounting-1-co"/>; i &lt; 5 <coref
                   linkend="sd1_callout_whileLoopJustCounting-2-co"/>; i++ <coref
-                  linkend="sd1_callout_whileLoopJustCounting-3-co"/>) {    
+                  linkend="sd1_callout_whileLoopJustCounting-3-co"/>) {
   ...
 }</programlisting></td>
 
             <td><programlisting language="java">int i = 0; <coref
                   linkend="sd1_callout_whileLoopJustCounting-1-co"/>
 
-while (i &lt; 5 <coref linkend="sd1_callout_whileLoopJustCounting-2-co"/>) {    
-   ...   
+while (i &lt; 5 <coref linkend="sd1_callout_whileLoopJustCounting-2-co"/>) {
+   ...
    i++; <coref linkend="sd1_callout_whileLoopJustCounting-3-co"/>
 }</programlisting></td>
           </tr>
@@ -2055,38 +2049,21 @@ while (i &lt; 5 <coref linkend="sd1_callout_whileLoopJustCounting-2-co"/>) {
 
         <informaltable border="1">
           <tr>
-            <td><programlisting language="java">for (int i = 0 <co
-                  linkends="sd1_callout_forVariableScope-1"
-                  xml:id="sd1_callout_forVariableScope-1-co"/>; i &lt; 3; i++) { 
+            <td><programlisting language="java">for (int i = 0 ; i &lt; 3; i++) {
     System.out.println(i);
 }
+<emphasis role="bold">// Error: i undefined outside
+// loop body</emphasis>
+System.out.println(i);</programlisting></td>
 
-System.out.println(i); <emphasis role="bold">// Error: i undefined       </emphasis></programlisting></td>
-
-            <td><programlisting language="java">int i; <co
-                  linkends="sd1_callout_forVariableScope-2"
-                  xml:id="sd1_callout_forVariableScope-2-co"/>
-for (i = 0; i &lt; 3; i++) {     
+            <td><programlisting language="java">// i defined in »current« scope
+int i; 
+for (i = 0; i &lt; 3; i++) {
     System.out.println(i);
 }
-
-System.out.println(i); // o.K.     </programlisting></td>
+System.out.println(i); // o.K.</programlisting></td>
           </tr>
         </informaltable>
-
-        <calloutlist>
-          <callout arearefs="sd1_callout_forVariableScope-1-co"
-                   xml:id="sd1_callout_forVariableScope-1">
-            <para>Scope of variable i bound to <code
-            language="java">for</code> loop</para>
-          </callout>
-
-          <callout arearefs="sd1_callout_forVariableScope-2-co"
-                   xml:id="sd1_callout_forVariableScope-2">
-            <para>Variable <code language="java">i</code> defined in
-            <quote>current</quote> scope.</para>
-          </callout>
-        </calloutlist>
       </figure>
 
       <figure xml:id="sd1_fig_forVariableScopeEquivalence">
@@ -2095,7 +2072,7 @@ System.out.println(i); // o.K.     </programlisting></td>
 
         <informaltable border="1">
           <tr>
-            <td><programlisting language="java">for (int i = 0 ; i &lt; 3; i++) {     
+            <td><programlisting language="java">for (int i = 0 ; i &lt; 3; i++) {
     System.out.println(i);
 }
 
@@ -2103,8 +2080,8 @@ System.out.println(i); // o.K.     </programlisting></td>
 
             <td><programlisting language="java">{ // Beginning block scope
   int i = 0;
-  for (; i &lt; 3; i++) { 
-    System.out.println(i);      
+  for (; i &lt; 3; i++) {
+    System.out.println(i);
   }
 } // Ending block scope
 
@@ -2120,10 +2097,10 @@ System.out.println(i); // o.K.     </programlisting></td>
         <informaltable border="1">
           <tr>
             <td><programlisting language="java">while ( expression )
-  (block | statement)   </programlisting></td>
+  (block | statement)</programlisting></td>
 
             <td><programlisting language="java">for ( ;expression ;)
-  (block | statement)   </programlisting></td>
+  (block | statement)</programlisting></td>
           </tr>
         </informaltable>
 
@@ -2184,7 +2161,7 @@ while (i &lt; limit) {
               language="java">for</code> loop having a step width of 2:</para>
 
               <programlisting language="java">final int limit = 14;
-      
+
 for (int i = 0; i &lt; limit; i += 2) {
     System.out.println(i);
 }</programlisting>
@@ -2210,33 +2187,22 @@ while (i &lt; limit) {
           <tr>
             <td><programlisting language="java">for (int i = 0; i &lt; 6; i++) {
     for (int j = 0; j &lt; i; j++) {
-        System.out.print(i + j + " ");    
+        System.out.print(i + j + " ");
     }
     System.out.println(); // newline
 }</programlisting></td>
 
-            <td><screen>1 
-2 3 
-3 4 5 
-4 5 6 7 
-5 6 7 8 9   </screen></td>
+            <td><screen>1
+2 3
+3 4 5
+4 5 6 7
+5 6 7 8 9</screen></td>
           </tr>
         </informaltable>
 
         <tip>
-          <para>Consider renaming:</para>
-
-          <itemizedlist>
-            <listitem>
-              <para><code language="java">i</code> to <code
-              language="java">row</code></para>
-            </listitem>
-
-            <listitem>
-              <para><code language="java">j</code> to <code
-              language="java">column</code></para>
-            </listitem>
-          </itemizedlist>
+          <para>Consider renaming <code>i</code> to <code>row</code> and
+          <code>j</code> to <code>column</code>.</para>
         </tip>
       </figure>
 
@@ -2280,7 +2246,7 @@ while (i &lt; limit) {
                         <td valign="top"><programlisting language="java">final int numberOfRows = 7; <co
                               linkends="sd1_callout_printTriangle-1"
                               xml:id="sd1_callout_printTriangle-1-co"/>
-      
+
 for (int row = 0; row &lt; numberOfRows; row++) { <co
                               linkends="sd1_callout_printTriangle-2"
                               xml:id="sd1_callout_printTriangle-2-co"/>
@@ -2363,9 +2329,9 @@ for (int row = 0; row &lt; numberOfRows; row++) { <co
                                xml:id="sd1_callout_printTriangle-4">
                         <para>Print an individual character. Notice the
                         presence of a <methodname
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-java.lang.String-">print(....)</methodname>
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print(java.lang.String)">print(....)</methodname>
                         rather than a <methodname
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#println-java.lang.String-">println()</methodname>
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#println(java.lang.String)">println()</methodname>
                         method call. This way printing continues within a
                         given line rather than breaking to a new one.</para>
                       </callout>
@@ -2375,12 +2341,12 @@ for (int row = 0; row &lt; numberOfRows; row++) { <co
                         <para>After each line we need a line break <code
                         language="java">'\n'</code> for starting the next one
                         using <methodname
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#println--">println()</methodname>.
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#println()">println()</methodname>.
                         If you prefer explicit code you may use <package
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html">System</package>.<parameter
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#out">out</parameter>.
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html">System</package>.<parameter
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#out">out</parameter>.
                         <methodname
-                        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#print-char-">print('\n')</methodname>
+                        xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#print(char)">print('\n')</methodname>
                         instead.</para>
                       </callout>
                     </calloutlist>
@@ -2424,7 +2390,7 @@ for (int row = 0; row &lt; numberOfRows; row++) {
   for (int x = 1; x &lt; numberOfRows - row; x++) {
       System.out.print(' ');
   }
-  // continue line printing asterisks 
+  // continue line printing asterisks
   for (int x = 0; x &lt;= row; x++) {
       System.out.print('*');
   }
@@ -2460,29 +2426,29 @@ for (int row = 0; row &lt; numberOfRows; row++) {
                 </listitem>
               </orderedlist>
 
-              <programlisting language="java">   public static void main(String[] args) {      
-      
+              <programlisting language="java">   public static void main(String[] args) {
+
       // Example: 6 rows, tree's body loop index ranging from 0 to 5
       //
       //           X            The tree's top.
       //  0        *
-      //  1       ***       
-      //  2      *****      
+      //  1       ***
+      //  2      *****
       //  3     *******         The tree's body.
-      //  4    *********  
+      //  4    *********
       //  5   ***********
       //          III           The tree's two bottom trunk lines.
-      //          III      
-      
+      //          III
+
       final int numberOfRows = 6;                // You may easily change this value.
-      
+
       // Part one: The tree's top
       //
-      for (int x = 0; x &lt; numberOfRows; x++) {   // Printing the tree's top. We need 
+      for (int x = 0; x &lt; numberOfRows; x++) {   // Printing the tree's top. We need
          System.out.print(' ');                  // numberOfRows preceeding spaces
       }                                          // before printing the
       System.out.println("X");                   // 'X' (top) character.
-      
+
       // Part two: The tree's body
       //
       for (int row = 0; row &lt; numberOfRows ; row++) {    // Outer loop printing the
@@ -2491,15 +2457,15 @@ for (int row = 0; row &lt; numberOfRows; row++) {
          for (int x = 0; x &lt; numberOfRows - row;x++) {   // Starting each line with
             System.out.print(' ');                       // (numberOfRows - row)
          }                                               // space characters ...
-         
+
          for (int x = 0; x &lt; 2 * row + 1; x ++) {        // .. then printing (2*row+1)
                                                          // body ('*') characters ...
          System.out.print('*');                  // May try <xref
                   linkend="glo_unicode"/> 'â–²' instead
          }
-         System.out.print("\n");               // ... and finally terminating the 
+         System.out.print("\n");               // ... and finally terminating the
       }                                        // current body row.
-      
+
       // Part three: The tree's bottom trunk
       //
       for (int x = 0; x &lt; numberOfRows-1; x++) {         // Preparing the first line
@@ -2507,7 +2473,7 @@ for (int row = 0; row &lt; numberOfRows; row++) {
          System.out.print(' ');                          // of bottom trunk part ...
       }
       System.out.println("###");                         // ... finished.
-      
+
       for (int x = 0; x &lt; numberOfRows-1; x++) {         // Preparing the second
          System.out.print(' ');                          // line of bottom trunk
       }                                                  //part ...
@@ -2553,10 +2519,10 @@ for (int row = 0; row &lt; numberOfRows; row++) {
               <para>We start from a version being fully covered by our current
               knowledge:</para>
 
-              <programlisting language="java">   public static void main(String[] args) {      
-      
+              <programlisting language="java">   public static void main(String[] args) {
+
       // Example: 5 row groups, tree's body loop index ranging from 0 to 4
-      
+
       //          \ /           The tree's top.
       //        --&gt;*&lt;--
       //          /_\
@@ -2572,7 +2538,7 @@ for (int row = 0; row &lt; numberOfRows; row++) {
       //    /_/_/_/_/_/_/_\     End of tree's body
       //         [___]          Bottom trunk line.
 
-      
+
       final int numberOfRowGroups = 5;                  // You may easily change this
                                                         // value.
       // Part one: The tree's top
@@ -2582,13 +2548,13 @@ for (int row = 0; row &lt; numberOfRows; row++) {
          System.out.print(' ');                         // preceding spaces
       }                                                 // before printing the
       System.out.println("\\ /");                       // "\ /" String.
-      
+
       for (int x = 0; x &lt; numberOfRowGroups - 1; x++) { // Printing the tree's top '*'
-                                                        // We need numberOfRows-1 
+                                                        // We need numberOfRows-1
          System.out.print(' ');                         // preceding spaces
       }                                                 // before printing the
       System.out.println("--&gt;*&lt;--");                    // "--&gt;*&lt;--" string.
-      
+
       for (int x = 0; x &lt; numberOfRowGroups + 1; x++) { // The tree's lower top "/ \".
          System.out.print(' ');                         // We need again numberOfRows+1
       }                                                 // preceding spaces.
@@ -2602,28 +2568,28 @@ for (int row = 0; row &lt; numberOfRows; row++) {
          // First body line of current group
          //
          for (int x = 0;                                // Starting first line
-              x &lt; numberOfRowGroups - rowGroup;x++) {   // of row group with 
+              x &lt; numberOfRowGroups - rowGroup;x++) {   // of row group with
                                                         // (numberOfRows - row)
             System.out.print(' ');                      // space characters ...
          }
-         System.out.print("/");                         // Start of current row group's 
+         System.out.print("/");                         // Start of current row group's
          for (int x = 0; x &lt; rowGroup + 2;x++) {        // first line tree body content
             System.out.print("_\\");                    // finishing.
          }
          System.out.println();
-         
+
          // Second body line of current group
          //
          for (int x = 0;                                // Starting second line of row
             x &lt; numberOfRowGroups - rowGroup - 1; x++) {// group with (numberOfRows -
-            System.out.print(' ');                      // row - 1) space characters ...   
+            System.out.print(' ');                      // row - 1) space characters ...
          }
          for (int x = 0; x &lt; rowGroup + 3;x++) {        // tree body content
-            System.out.print("/_");                                        
+            System.out.print("/_");
          }
          System.out.println("\\");                      // finishing.
       }
-      
+
       // Part three: The tree's bottom trunk
       //
       for (int x = 0; x &lt; numberOfRowGroups; x++) {     // Indenting the bottom trunk ...
@@ -2641,9 +2607,9 @@ for (int row = 0; row &lt; numberOfRows; row++) {
               <methodname>printIndented(...)</methodname> which prints a
               string a configurable number of times being indented by a given
               number of whitespace characters using <package
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html">System</package>.<parameter
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#out">out</parameter>.<methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#format-java.lang.String-java.lang.Object...-">format(...)</methodname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html">System</package>.<parameter
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#out">out</parameter>.<methodname
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#format(java.lang.String,java.lang.Object...)">format(...)</methodname>
               as in <xref
               linkend="sd1QandaSquareNumberTableFormatted"/>.</para>
 
@@ -2791,16 +2757,16 @@ for (int row = 0; row &lt; numberOfRows; row++) {
 
               <answer>
                 <para>The implementation requires <methodname><link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#out">System.out</link>.<link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#println--">println</link>(...)</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#out">System.out</link>.<link
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#println()">println</link>(...)</methodname>
                 statements to print the table's head and a loop for printing
                 the body:</para>
 
                 <programlisting language="java">   public static void main(String[] args) {
-      
+
       System.out.println("n | n * n");          // Printing the table's head
       System.out.println("--+------");
-      
+
       for (int i = 0; i &lt;= 9; i++) {            // Printing the table's body
          System.out.println(i + " | " + i * i);
       }
@@ -2870,22 +2836,22 @@ for (int row = 0; row &lt; numberOfRows; row++) {
 
               <answer>
                 <para>The key difference is replacing <methodname><link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#out">System.out</link>.<link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#println--">println</link>(...)</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#out">System.out</link>.<link
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#println()">println</link>(...)</methodname>
                 statements by <methodname><link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#out">System.out</link>.<link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/PrintStream.html#format-java.lang.String-java.lang.Object...-">format</link>(...)</methodname>:</para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#out">System.out</link>.<link
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#format(java.lang.String,java.lang.Object...)">format</link>(...)</methodname>:</para>
 
                 <programlisting language="java">   public static void main(String[] args) {
-      
+
       final int limit = 20;               // The number of records to be printed
-      
+
       System.out.println(" n | n * n");   // Printing the table's head
       System.out.println("---+------");
-      
+
       for (int i = 0; i &lt;= limit; i++) {  // Printing the table's body
-         
-         System.out.format("%3d|%6d\n",   // Format string 
+
+         System.out.format("%3d|%6d\n",   // Format string
                             i , i * i);   // Values being inserted in above format
       }                                   // string.
    }</programlisting>
@@ -2930,9 +2896,9 @@ for (int row = 0; row &lt; numberOfRows; row++) {
 
               <answer>
                 <programlisting language="java">  public static void main(String[] args) {
-      
+
       final int limit = 20;               // The number of records to be printed
-      
+
       System.out.print(
             ""    + "&lt;html xmlns='http://www.w3.org/1999/xhtml'&gt;\n"
                   + "  &lt;head&gt;\n"
@@ -2941,18 +2907,18 @@ for (int row = 0; row &lt; numberOfRows; row++) {
                   + "  &lt;body&gt;\n"
                   + "    &lt;table&gt;\n");
 
-      
+
       System.out.println("      &lt;tr&gt;");
       System.out.println("        &lt;th&gt;n&lt;/th&gt;&lt;th&gt;n * n&lt;/th&gt;");
       System.out.println("      &lt;/tr&gt;");
-      
+
       for (int i = 0; i &lt;= limit; i++) {  // Printing the table's body
-         
+
          System.out.println("      &lt;tr&gt;");
-         System.out.println("        &lt;td style='text-align: right;'&gt;" + i + 
+         System.out.println("        &lt;td style='text-align: right;'&gt;" + i +
                        "&lt;/td&gt;&lt;td style='text-align: right;'&gt;" + i * i + "&lt;/td&gt;");
          System.out.println("      &lt;/tr&gt;");
-         
+
       }
       System.out.print(
             ""    + "    &lt;/table&gt;\n"
@@ -2975,18 +2941,18 @@ for (int row = 0; row &lt; numberOfRows; row++) {
                 table we supply a slightly different exercise producing a
                 multiplication table:</para>
 
-                <screen> * |    1    2    3    4    5    6    7    8    9   10  
+                <screen> * |    1    2    3    4    5    6    7    8    9   10
 ---+--------------------------------------------------
-  1|    1    2    3    4    5    6    7    8    9   10  
-  2|    2    4    6    8   10   12   14   16   18   20  
-  3|    3    6    9   12   15   18   21   24   27   30  
-  4|    4    8   12   16   20   24   28   32   36   40  
-  5|    5   10   15   20   25   30   35   40   45   50  
-  6|    6   12   18   24   30   36   42   48   54   60  
-  7|    7   14   21   28   35   42   49   56   63   70  
-  8|    8   16   24   32   40   48   56   64   72   80  
-  9|    9   18   27   36   45   54   63   72   81   90  
- 10|   10   20   30   40   50   60   70   80   90  100  </screen>
+  1|    1    2    3    4    5    6    7    8    9   10
+  2|    2    4    6    8   10   12   14   16   18   20
+  3|    3    6    9   12   15   18   21   24   27   30
+  4|    4    8   12   16   20   24   28   32   36   40
+  5|    5   10   15   20   25   30   35   40   45   50
+  6|    6   12   18   24   30   36   42   48   54   60
+  7|    7   14   21   28   35   42   49   56   63   70
+  8|    8   16   24   32   40   48   56   64   72   80
+  9|    9   18   27   36   45   54   63   72   81   90
+ 10|   10   20   30   40   50   60   70   80   90  100</screen>
 
                 <para>The number of rows and columns are equal. Provide an
                 appropriate parameter <code language="java">final int limit =
@@ -3047,18 +3013,18 @@ for (int row = 0; row &lt; numberOfRows; row++) {
                 <para>It does not make sense to supply both results like e.g.
                 3 * 4 and 4 * 3. Modify your application to generate:</para>
 
-                <screen>  1|    1  
-  2|    2    4  
-  3|    3    6    9  
-  4|    4    8   12   16  
-  5|    5   10   15   20   25  
-  6|    6   12   18   24   30   36  
-  7|    7   14   21   28   35   42   49  
-  8|    8   16   24   32   40   48   56   64  
-  9|    9   18   27   36   45   54   63   72   81  
- 10|   10   20   30   40   50   60   70   80   90  100  
+                <screen>  1|    1
+  2|    2    4
+  3|    3    6    9
+  4|    4    8   12   16
+  5|    5   10   15   20   25
+  6|    6   12   18   24   30   36
+  7|    7   14   21   28   35   42   49
+  8|    8   16   24   32   40   48   56   64
+  9|    9   18   27   36   45   54   63   72   81
+ 10|   10   20   30   40   50   60   70   80   90  100
 ---+--------------------------------------------------
- * |    1    2    3    4    5    6    7    8    9   10  </screen>
+ * |    1    2    3    4    5    6    7    8    9   10</screen>
               </question>
 
               <answer>
@@ -3071,7 +3037,7 @@ for (int row = 0; row &lt; numberOfRows; row++) {
 
       for (int row = 1; row &lt;= limit; row++) {     // Printing rows.
          System.out.format("%3d|  ", row);
-         
+
          for (int col = 1; <emphasis role="bold">col &lt;= row;</emphasis> col++) { // Printing column values until row index only.
             System.out.format("%3d  ", row * col);
          }
@@ -3105,28 +3071,28 @@ for (int row = 0; row &lt; numberOfRows; row++) {
                 elements require rearranging values in blocks in order to
                 limit wasting space:</para>
 
-                <screen>  n |  n*n       n |  n*n       n |  n*n       n |  n*n       n |  n*n     
+                <screen>  n |  n*n       n |  n*n       n |  n*n       n |  n*n       n |  n*n
 ----+--------------+--------------+--------------+--------------+----------
-  0 |    0      20 |  400      40 | 1600      60 | 3600      80 | 6400     
-  1 |    1      21 |  441      41 | 1681      61 | 3721      81 | 6561     
-  2 |    4      22 |  484      42 | 1764      62 | 3844      82 | 6724     
-  3 |    9      23 |  529      43 | 1849      63 | 3969      83 | 6889     
-  4 |   16      24 |  576      44 | 1936      64 | 4096      84 | 7056     
-  5 |   25      25 |  625      45 | 2025      65 | 4225      85 | 7225     
-  6 |   36      26 |  676      46 | 2116      66 | 4356      86 | 7396     
-  7 |   49      27 |  729      47 | 2209      67 | 4489      87 | 7569     
-  8 |   64      28 |  784      48 | 2304      68 | 4624      88 | 7744     
-  9 |   81      29 |  841      49 | 2401      69 | 4761      89 | 7921     
+  0 |    0      20 |  400      40 | 1600      60 | 3600      80 | 6400
+  1 |    1      21 |  441      41 | 1681      61 | 3721      81 | 6561
+  2 |    4      22 |  484      42 | 1764      62 | 3844      82 | 6724
+  3 |    9      23 |  529      43 | 1849      63 | 3969      83 | 6889
+  4 |   16      24 |  576      44 | 1936      64 | 4096      84 | 7056
+  5 |   25      25 |  625      45 | 2025      65 | 4225      85 | 7225
+  6 |   36      26 |  676      46 | 2116      66 | 4356      86 | 7396
+  7 |   49      27 |  729      47 | 2209      67 | 4489      87 | 7569
+  8 |   64      28 |  784      48 | 2304      68 | 4624      88 | 7744
+  9 |   81      29 |  841      49 | 2401      69 | 4761      89 | 7921
 ----+--------------+--------------+--------------+--------------+----------
- 10 |  100      30 |  900      50 | 2500      70 | 4900      90 | 8100     
- 11 |  121      31 |  961      51 | 2601      71 | 5041      91 | 8281     
- 12 |  144      32 | 1024      52 | 2704      72 | 5184      92 | 8464     
- 13 |  169      33 | 1089      53 | 2809      73 | 5329      93 | 8649     
- 14 |  196      34 | 1156      54 | 2916      74 | 5476      94 | 8836     
- 15 |  225      35 | 1225      55 | 3025      75 | 5625      95 | 9025     
- 16 |  256      36 | 1296      56 | 3136      76 | 5776      96 | 9216     
- 17 |  289      37 | 1369      57 | 3249      77 | 5929      97 | 9409     
- 18 |  324      38 | 1444      58 | 3364      78 | 6084      98 | 9604     
+ 10 |  100      30 |  900      50 | 2500      70 | 4900      90 | 8100
+ 11 |  121      31 |  961      51 | 2601      71 | 5041      91 | 8281
+ 12 |  144      32 | 1024      52 | 2704      72 | 5184      92 | 8464
+ 13 |  169      33 | 1089      53 | 2809      73 | 5329      93 | 8649
+ 14 |  196      34 | 1156      54 | 2916      74 | 5476      94 | 8836
+ 15 |  225      35 | 1225      55 | 3025      75 | 5625      95 | 9025
+ 16 |  256      36 | 1296      56 | 3136      76 | 5776      96 | 9216
+ 17 |  289      37 | 1369      57 | 3249      77 | 5929      97 | 9409
+ 18 |  324      38 | 1444      58 | 3364      78 | 6084      98 | 9604
  19 |  361      39 | 1521      59 | 3481      79 | 6241      99 | 9801</screen>
 
                 <para>Building a table this way requires some
@@ -3180,7 +3146,7 @@ for (int row = 0; row &lt; numberOfRows; row++) {
                yBlock &lt; entriesPerBlock; yBlock++) {   // vertically ...
             for (int x = 0; x &lt; numBlocksHorizontal; x++) { // and horizontally
                                                             // within each line.
-               final int cellValue = y * entriesPerBlock 
+               final int cellValue = y * entriesPerBlock
                      + x * numRows + yBlock;                // The individual value
                                                             // to be squared.
                System.out.format("%3d | %4d     ",          // Pretty print output
@@ -3288,16 +3254,16 @@ for (int row = 0; row &lt; numberOfRows; row++) {
          System.out.println(                        // Block separating
                "      &lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;");         // extra row.
 
-         for (int yBlock = 0; 
+         for (int yBlock = 0;
                yBlock &lt; entriesPerBlock; yBlock++) { // Stepping through
                                                      // values vertically ...
             System.out.println("      &lt;tr&gt;");
             for (int x = 0; x &lt; numBlocksHorizontal; x++) { // and horizontally
                                                             // within each line.
-               
+
                final int cellValue = 1 + yBlock             // The individual
                      + x * numRows + y * entriesPerBlock;   // value to be squared.
-               
+
                System.out.println(                            // Pretty print output
                      "        &lt;td&gt;" + cellValue + "&lt;/td&gt;&lt;td&gt;" // values.
                      + cellValue * cellValue + "&lt;/td&gt;");
@@ -3345,9 +3311,9 @@ for (int i = 1; i &lt;= limit; i++) {
     sum += i;
 }
 
-System.out.println("1 + ... + " + limit + " = " + sum);        </programlisting></td>
+System.out.println("1 + ... + " + limit + " = " + sum);</programlisting></td>
 
-              <td><screen>1 + ... + 5 = 15  </screen></td>
+              <td><screen>1 + ... + 5 = 15</screen></td>
             </tr>
           </informaltable>
         </figure>
@@ -3771,7 +3737,7 @@ for (int i = 1; i &lt; 50; i++) {
                     </m:math>
                   </inlineequation> equals 6227020800 which is ways beyond
                 <code
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE</code>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#MAX_VALUE">Integer.MAX_VALUE</code>
                 == 2147483647 giving rise to a (silent) arithmetic overflow.
                 But even declaring <code language="java">long product =
                 1</code> does not help much:</para>
@@ -3802,7 +3768,7 @@ for (int i = 1; i &lt; 50; i++) {
 
                 <para>This time <code>20! == 2432902008176640000</code> is the
                 last correct value being smaller than <code language="java"
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Long.html#MAX_VALUE">Long.MAX_VALUE</code>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Long.html#MAX_VALUE">Long.MAX_VALUE</code>
                 == 9223372036854775807.</para>
 
                 <para>Fortunately we have another option. Consider an
@@ -4292,24 +4258,24 @@ for (int i = 1; i &lt; 50; i++) {
     final int
       totalNumberCount = 49,
       drawnNumberCount = 6;
-    
+
     // No changes below this line
 
-    
+
     // Numerator loop
     long numerator = 1;
     for (int i = totalNumberCount - drawnNumberCount + 1;
              i &lt;= totalNumberCount; i++) {
       numerator *= i;
     }
-    
+
     // Denominator loop calculating the "smaller" factorial
     long factorial = 1;
     for (int i = 2; i &lt;= drawnNumberCount; i++) {
       factorial *= i;
     }
 
-    System.out.println("Your chance to win when drawing " + drawnNumberCount + 
+    System.out.println("Your chance to win when drawing " + drawnNumberCount +
         " out of " + totalNumberCount + " is 1 : " + (numerator / factorial));
   }
 }</programlisting>
@@ -4393,12 +4359,12 @@ import java.util.Random;
    public static void main(String[] args) {
 
       final int randomValue =  new Random() // Selecting a pseudo random value
-            .<link xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Random.html#nextInt--">nextInt(10)</link>;                   // between 0 and 10 (inclusive).
+            .<link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Random.html#nextInt()">nextInt(10)</link>;                   // between 0 and 10 (inclusive).
 
       final Scanner scan = new Scanner(System.in);
       System.out.print("Input a number:");
       final int value = scan.nextInt(); // Read user input
-      
+
       // ToDo: complete the implementation
    }</programlisting>
               </question>
@@ -4474,26 +4440,26 @@ try (final Scanner scan = new Scanner(System.in)) {
                 <para>We propose the following solution:</para>
 
                 <programlisting language="java">   public static void main(String[] args) {
-      
+
       final int highestDivisor = 20;             // May be adjusted to other limits.
-      
+
       int candidate = highestDivisor;            // start with highest divisor.
 
       boolean atLeastOneRemainder;
-      
+
       do {
          candidate++;                            // next candidate value.
          atLeastOneRemainder = false;
-         
+
          for (int i = 2; i &lt;= highestDivisor; i++) {
             if (0 != candidate % i) {            // Is there a non-zero remainder?
                atLeastOneRemainder = true;       // Continue outer while.
                break;                            // Leave current for loop.
             }
          }
-         
+
       } while (atLeastOneRemainder);             // Increase candidate further?
-      
+
       System.out.println(candidate);
    }</programlisting>
 
diff --git a/Doc/Sd1/streams.xml b/Doc/Sd1/streams.xml
index 43ae0cd1d1e02a46938d573fdb38a5748079b0fc..0ff4dcfffdbffb6322510af59677be22a761fde6 100644
--- a/Doc/Sd1/streams.xml
+++ b/Doc/Sd1/streams.xml
@@ -70,7 +70,7 @@
               <listitem>
                 <para>Given the name of an existing file you may create an
                 instance of <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/BufferedReader.html">BufferedReader</classname>:</para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html">BufferedReader</classname>:</para>
 
                 <programlisting language="java">final FileReader fileReader = new FileReader(inputFileName);
 final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</programlisting>
@@ -78,20 +78,20 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
 
               <listitem>
                 <para>You will have to deal with possible <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/FileNotFoundException.html">FileNotFoundException</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/FileNotFoundException.html">FileNotFoundException</classname>
                 problems providing meaningful error messages.</para>
               </listitem>
 
               <listitem>
                 <para>The <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/BufferedReader.html">BufferedReader</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html">BufferedReader</classname>
                 class provides a method <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/BufferedReader.html#readLine--">readLine()</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html#readLine--">readLine()</methodname>
                 allowing to access a given file's content line by line.</para>
 
                 <caution>
                   <para>Even if a file exists you have my encounter <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/IOException.html">IOException</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/IOException.html">IOException</classname>
                   problems being related to <acronym>i.e.</acronym> missing
                   permissions.</para>
                 </caution>
@@ -124,7 +124,7 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
 
             <para>Notice the second test which will only succeed if a
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/FileNotFoundException.html">FileNotFoundException</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/FileNotFoundException.html">FileNotFoundException</classname>
             is being thrown.</para>
           </answer>
         </qandaentry>
@@ -151,7 +151,7 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
                 for sample text files like e.g. a Java source file of
                 similar:</para>
 
-                <screen>goik &gt;wc BoundedIntegerStore.java 
+                <screen>goik &gt;wc BoundedIntegerStore.java
   58  198 1341 BoundedIntegerStore.java
 </screen>
 
@@ -171,7 +171,7 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
     69     83   2087 bibliography.xml
   6809  18252 248894 swd1.xml
   <emphasis role="bold">6878  18335 250981 total</emphasis> <co
-                    xml:id="sd1PlWcExtraLine"/> 
+                    xml:id="sd1PlWcExtraLine"/>
 </screen>
               </listitem>
 
@@ -224,16 +224,16 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
                 being able to and count characters, words and lines of a
                 single input file. Instances of this class may be initialized
                 from a <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/BufferedReader.html">BufferedReader</classname>.</para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html">BufferedReader</classname>.</para>
 
                 <para>Write corresponding tests.</para>
               </listitem>
 
               <listitem>
                 <para>You may create an instance of <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/BufferedReader.html">BufferedReader</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html">BufferedReader</classname>
                 from <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#in">System.in</link>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/System.html#in">System.in</link>
                 via:</para>
 
                 <programlisting language="java">new BufferedReader(new InputStreamReader(System.in))</programlisting>
@@ -275,8 +275,8 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
 
                 <glossdef>
                   <screen>goik &gt;java -jar target/wc-1.0.jar Testdata/*
-  9    14    137  Testdata/input.html 
-  4     5     41  Testdata/model.css 
+  9    14    137  Testdata/input.html
+  4     5     41  Testdata/model.css
  13    19    178  total</screen>
                 </glossdef>
               </glossentry>
@@ -295,35 +295,35 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
     Assert.assertEquals("Just white space", 0,
        TextFileStatistics.findNoOfWords(" \t"));
   }
-  
+
   @Test
   public void testSingleWord() {
     final String s = "We're";
-    Assert.assertEquals("text='" + s + "'", 1, 
+    Assert.assertEquals("text='" + s + "'", 1,
        TextFileStatistics.findNoOfWords(s));
   }
-  
+
   @Test
   public void testTwoWords() {
     final String s = "We are";
     Assert.assertEquals("text='" + s + "'", 2,
        TextFileStatistics.findNoOfWords(s));
   }
-  
+
   @Test
   public void testWordsWhiteHead() {
     final String s = "\t \tBegin_space";
-    Assert.assertEquals("text='" + s + "'", 1, 
+    Assert.assertEquals("text='" + s + "'", 1,
        TextFileStatistics.findNoOfWords(s));
   }
-  
+
   @Test
   public void testWordsWhiteTail() {
     final String s = "End_space \t ";
     Assert.assertEquals("text='" + s + "'", 1,
        TextFileStatistics.findNoOfWords(s));
   }
-  
+
   @Test
   public void testWhiteMulti() {
     final String s = "    some\t\tinterspersed   \t  spaces \t\t ";
@@ -339,32 +339,32 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
                 <glossdef>
                   <programlisting language="java">  @Test
   public void testTwoInputFiles() throws FileNotFoundException, IOException {
-    
+
       final String model_css_filename =
          "Testdata/model.css",      //  4 lines   5  words  41 character
-          input_html_filename = 
+          input_html_filename =
          "Testdata/input.html";     //  9 lines  14  words 137 character
                                //_________________________________________
                               // total 13 lines  19  words 178 character
-    
+
       final TextFileStatistics
         model_css = new TextFileStatistics(
           new BufferedReader(new FileReader(model_css_filename)),
            model_css_filename),
-          
+
         input_html = new TextFileStatistics(new BufferedReader(
               new FileReader(input_html_filename)), input_html_filename);
-      
+
       // File Testdata/model.css
       Assert.assertEquals( 4, model_css.numLines);
       Assert.assertEquals( 5, model_css.numWords);
       Assert.assertEquals(41, model_css.numCharacters);
-      
+
       // File Testdata/input.html
       Assert.assertEquals(  9, input_html.numLines);
       Assert.assertEquals( 14, input_html.numWords);
       Assert.assertEquals(137, input_html.numCharacters);
-      
+
       // Grand total
       Assert.assertEquals( 13, TextFileStatistics.getTotalNumLines());
       Assert.assertEquals( 19, TextFileStatistics.getTotalNumWords());
diff --git a/Doc/Sd1/workingWithNumbers.xml b/Doc/Sd1/workingWithNumbers.xml
index 8a95db7be8df2669d74bb5b038c0eda600505e8a..c8f2f2241a1072c453a096b2549b0757854b5501 100644
--- a/Doc/Sd1/workingWithNumbers.xml
+++ b/Doc/Sd1/workingWithNumbers.xml
@@ -17,7 +17,7 @@
 
     <figure xml:id="sd1_numbers_fig_stack">
       <title><classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Stack.html">Stack</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Stack.html">Stack</classname>
       of integer values</title>
 
       <informaltable border="0">
@@ -26,7 +26,7 @@
         <colgroup width="13%"/>
 
         <tr>
-          <td valign="top"><programlisting language="java">final Stack&lt;Integer&gt; values = new Stack&lt;&gt;();     
+          <td valign="top"><programlisting language="java">final Stack&lt;Integer&gt; values = new Stack&lt;&gt;();
 
 values.push(3);
 values.push(1);
@@ -54,15 +54,15 @@ while (!values.empty()) {
           <itemizedlist>
             <listitem>
               <para><methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">public
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#equals-java.lang.Object-">public
               boolean equals</methodname>(<classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html">Object</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html">Object</classname>
               obj)</para>
             </listitem>
 
             <listitem>
               <para><methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#hashCode--">public
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#hashCode--">public
               int hashCode()</methodname></para>
             </listitem>
           </itemizedlist>
@@ -91,7 +91,7 @@ values.push(1);
 values.push(10);
 
 while (!values.empty()) {
-  System.out.println(values.pop().   
+  System.out.println(values.pop().
      getClass().getTypeName());
 }</programlisting></td>
 
@@ -122,7 +122,7 @@ Integer iInteger = <co linkends="sd1_numbers_fig_boxingAndUnboxing-2"
   iPrimitive;
 
 int iPrimitiveFromInteger = <co linkends="sd1_numbers_fig_boxingAndUnboxing-3"
-                xml:id="sd1_numbers_fig_boxingAndUnboxing-3-co"/>    
+                xml:id="sd1_numbers_fig_boxingAndUnboxing-3-co"/>
   iInteger;</programlisting></td>
 
           <td valign="top"><programlisting language="none">int iPrimitive <co
@@ -134,7 +134,7 @@ Integer iInteger = <co linkends="sd1_numbers_fig_conventional-2"
   Integer.valueOf(iPrimitive);
 
 int iPrimitiveFromInteger = <co linkends="sd1_numbers_fig_conventional-3"
-                xml:id="sd1_numbers_fig_conventional-3-co"/>  
+                xml:id="sd1_numbers_fig_conventional-3-co"/>
   iInteger.intValue();</programlisting></td>
         </tr>
       </informaltable>
@@ -162,14 +162,14 @@ int iPrimitiveFromInteger = <co linkends="sd1_numbers_fig_conventional-3"
             <callout arearefs="sd1_numbers_fig_boxingAndUnboxing-2-co"
                      xml:id="sd1_numbers_fig_boxingAndUnboxing-2">
               <para>Creating an instance of <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>
               by means of boxing.</para>
             </callout>
 
             <callout arearefs="sd1_numbers_fig_boxingAndUnboxing-3-co"
                      xml:id="sd1_numbers_fig_boxingAndUnboxing-3">
               <para>Assigning an <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>'s
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>'s
               value to a primitive <code language="java">int</code> by means
               of unboxing.</para>
             </callout>
@@ -185,19 +185,19 @@ int iPrimitiveFromInteger = <co linkends="sd1_numbers_fig_conventional-3"
             <callout arearefs="sd1_numbers_fig_conventional-2-co"
                      xml:id="sd1_numbers_fig_conventional-2">
               <para>Creating a new instance of <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>
               using the class method <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#valueOf-int-">Integer
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#valueOf-int-">Integer
               valueOf​(int i)</methodname>.</para>
             </callout>
 
             <callout arearefs="sd1_numbers_fig_conventional-3-co"
                      xml:id="sd1_numbers_fig_conventional-3">
               <para>Assigning an <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>'s
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>'s
               value to a primitive <code language="java">int</code> using the
               <methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#intValue--">int
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#intValue--">int
               intValue()</methodname> instance method.</para>
             </callout>
           </calloutlist></td>
@@ -213,7 +213,7 @@ int iPrimitiveFromInteger = <co linkends="sd1_numbers_fig_conventional-3"
         <colgroup width="50%"/>
 
         <tr>
-          <td valign="top"><programlisting language="java">final Stack&lt;Integer&gt; values 
+          <td valign="top"><programlisting language="java">final Stack&lt;Integer&gt; values
  = new Stack&lt;&gt;();
 
 values.push(Integer.valueOf(3));
@@ -221,8 +221,8 @@ values.push(Integer.valueOf(1));
 values.push(Integer.valueOf(10));
 
 while (!values.empty()) {
-  System.out.println(values.pop().    
-     intValue()); 
+  System.out.println(values.pop().
+     intValue());
 }</programlisting></td>
 
           <td valign="top"><programlisting language="java">final Stack&lt;Integer&gt; values =
@@ -233,7 +233,7 @@ values.push(1);
 values.push(10);
 
 while (!values.empty()) {
-  System.out.println(values.pop());   
+  System.out.println(values.pop());
 }</programlisting></td>
         </tr>
       </informaltable>
@@ -245,7 +245,7 @@ while (!values.empty()) {
 
     <figure xml:id="sd1_numbers_fig_parseIntegerString">
       <title>Parsing <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html">Integer</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html">Integer</classname>
       user input</title>
 
       <informaltable border="0">
@@ -256,10 +256,10 @@ while (!values.empty()) {
         <tr>
           <td valign="top"><programlisting language="java">String userInput = "dummyValue";
 try (final Scanner scanner =
-  new Scanner(System.in)){     
+  new Scanner(System.in)){
   System.out.print("Enter an integer:");
   userInput = scanner.nextLine();
-  final int value = Integer.parseInt(userInput);      
+  final int value = Integer.parseInt(userInput);
   System.out.println("You entered " + value);
 } catch (final NumberFormatException e) {
   System.out.println("Sorry, but '" +
@@ -267,7 +267,7 @@ try (final Scanner scanner =
 }</programlisting></td>
 
           <td valign="top"><screen>Enter an integer:-34
-You entered -34</screen><screen>Enter an integer:five   
+You entered -34</screen><screen>Enter an integer:five
 Sorry, but 'five' is
 not an integer.</screen></td>
         </tr>
@@ -294,14 +294,14 @@ not an integer.</screen></td>
 
               <listitem>
                 <para>The <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Scanner.html#nextLine--">Scanner.nextLine()</methodname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html#nextLine--">Scanner.nextLine()</methodname>
                 method does not throw a <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NumberFormatException.html">NumberFormatException</classname>.
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NumberFormatException.html">NumberFormatException</classname>.
                 Thus the only way to enter the <code language="java">catch
                 {...}</code> clause is by executing of <code
                 language="java">Integer.parseInt(userInput)</code> yielding a
                 <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NumberFormatException.html">NumberFormatException</classname>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NumberFormatException.html">NumberFormatException</classname>
                 . But this execution happens <emphasis>after</emphasis>
                 assigning <code language="java">userInput =
                 scanner.nextLine()</code>.</para>
@@ -343,14 +343,14 @@ not an integer.</screen></td>
         <colgroup width="50%"/>
 
         <tr>
-          <td valign="top"><programlisting language="java">final int value = 
+          <td valign="top"><programlisting language="java">final int value =
    Integer.parseInt("1101", 2);
-System.out.println("Value: " + value);    </programlisting><screen>Value: 13</screen></td>
+System.out.println("Value: " + value);</programlisting><screen>Value: 13</screen></td>
 
           <td valign="top"><programlisting language="java">final int value =
   Integer.parseInt("201", 2);
-System.out.println("Value: " + value)</programlisting><screen>Exception in thread "main" 
- java.lang.NumberFormatException: 
+System.out.println("Value: " + value)</programlisting><screen>Exception in thread "main"
+ java.lang.NumberFormatException:
  For input string: "201"
 ...
   at de.hdm_stuttgart.sd1...</screen></td>
@@ -370,39 +370,39 @@ System.out.println("Value: " + value)</programlisting><screen>Exception in threa
           <td valign="top"><itemizedlist>
               <listitem>
                 <para><methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Byte.html#parseByte-java.lang.String-">parseByte()</methodname></para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Byte.html#parseByte-java.lang.String-">parseByte()</methodname></para>
               </listitem>
 
               <listitem>
                 <para><methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Short.html#parseShort-java.lang.String-">parseShort()</methodname></para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Short.html#parseShort-java.lang.String-">parseShort()</methodname></para>
               </listitem>
 
               <listitem>
                 <para><methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#parseInt-java.lang.String-">parseInt()</methodname></para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#parseInt-java.lang.String-">parseInt()</methodname></para>
               </listitem>
 
               <listitem>
                 <para><methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Long.html#parseLong-java.lang.String-">parseLong()</methodname></para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Long.html#parseLong-java.lang.String-">parseLong()</methodname></para>
               </listitem>
             </itemizedlist></td>
 
           <td valign="top"><itemizedlist>
               <listitem>
                 <para><methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Float.html#parseFloat-java.lang.String-">parseFloat()</methodname></para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Float.html#parseFloat-java.lang.String-">parseFloat()</methodname></para>
               </listitem>
 
               <listitem>
                 <para><methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Double.html#parseDouble-java.lang.String-">parseDouble()</methodname></para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Double.html#parseDouble-java.lang.String-">parseDouble()</methodname></para>
               </listitem>
 
               <listitem>
                 <para><methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Boolean.html#parseBoolean-java.lang.String-">parseBoolean()</methodname></para>
+                xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Boolean.html#parseBoolean-java.lang.String-">parseBoolean()</methodname></para>
               </listitem>
             </itemizedlist></td>
         </tr>
@@ -426,7 +426,7 @@ System.out.println(Short.parseShort("32768"));</programlisting>
 
           <answer>
             <para><code language="java"
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Short.html#MAX_VALUE">MAX_VALUE</code>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Short.html#MAX_VALUE">MAX_VALUE</code>
             for primitive type <code language="java"
             xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1-100-B">short</code>
             is <inlineequation>
@@ -452,7 +452,7 @@ System.out.println(Short.parseShort("32768"));</programlisting>
               </inlineequation> which equals 32767. Thus 32786 is no longer
             assignment compatible. So the first line will execute well but the
             second one yields a <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NumberFormatException.html">NumberFormatException</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NumberFormatException.html">NumberFormatException</classname>
             at runtime :</para>
 
             <screen>Value:32767
@@ -518,7 +518,7 @@ B: 11</screen>
           <answer>
             <para>Hexadecimal representation uses a radix value of 16 to be
             passed to <methodname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Short.html#parseShort-java.lang.String-int-">short
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Short.html#parseShort-java.lang.String-int-">short
             parseShort​(String s, int radix)</methodname>:</para>
 
             <programlisting language="java">/**
@@ -537,7 +537,7 @@ public static short getHexadecimal(final String input) {
 
           <answer>
             <para><code language="java"
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Short.html#MAX_VALUE">MAX_VALUE</code>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Short.html#MAX_VALUE">MAX_VALUE</code>
             for primitive type <code language="java"
             xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1-100-B">short</code>
             is <inlineequation>
@@ -563,7 +563,7 @@ public static short getHexadecimal(final String input) {
               </inlineequation> which equals 32767. Thus 32786 is no longer
             assignment compatible. So the first line will execute well but the
             second one yields a <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/NumberFormatException.html">NumberFormatException</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/NumberFormatException.html">NumberFormatException</classname>
             at runtime :</para>
 
             <screen>Value:32767
@@ -583,7 +583,7 @@ Exception in thread "main" java.lang.NumberFormatException:
 
     <figure xml:id="sd1_numbers_fig_locale">
       <title>Excerpt from <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Locale.html">java.util.Locale</classname></title>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Locale.html">java.util.Locale</classname></title>
 
       <para>A Locale object represents a specific geographical, political, or
       cultural region.</para>
@@ -599,7 +599,7 @@ Exception in thread "main" java.lang.NumberFormatException:
 
     <figure xml:id="sd1_numbers_fig_localeProperties">
       <title><classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Locale.html">Locale</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Locale.html">Locale</classname>
       properties</title>
 
       <itemizedlist>
@@ -623,7 +623,7 @@ Exception in thread "main" java.lang.NumberFormatException:
 
     <figure xml:id="sd1_numbers_fig_constructNumberFormat">
       <title>Get a <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/text/NumberFormat.html">NumberFormat</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/text/NumberFormat.html">NumberFormat</classname>
       instance</title>
 
       <programlisting language="java">final NumberFormat standard = new DecimalFormat();
@@ -639,7 +639,7 @@ System.out.println(de.format(1234.5678));</programlisting>
     <figure xml:id="sd1_numbers_fig_customFormat">
       <title>Create a custom formatter</title>
 
-      <programlisting language="java">final DecimalFormatSymbols unusualSymbols = 
+      <programlisting language="java">final DecimalFormatSymbols unusualSymbols =
   new DecimalFormatSymbols(Locale.getDefault());
 unusualSymbols.setDecimalSeparator('|');
 unusualSymbols.setGroupingSeparator('^');
@@ -656,7 +656,7 @@ System.out.println(weirdFormatter.format(12345.678));</programlisting>
     <qandaset defaultlabel="qanda"
               xml:id="sd1_numbers_qanda_getAvailableLocales">
       <title><classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Locale.html">Locale</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Locale.html">Locale</classname>
       definitions</title>
 
       <qandadiv>
@@ -664,7 +664,7 @@ System.out.println(weirdFormatter.format(12345.678));</programlisting>
           <question>
             <para>Each <xref linkend="glo_JRE"/> ships with a set of available
             <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Locale.html">Locale</classname>
+            xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Locale.html">Locale</classname>
             definitions. Write a simple program to get the following
             list:</para>
 
@@ -679,7 +679,7 @@ Locale: English(en_GB)</screen>
 
             <tip>
               <para>Read the documentation of <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Locale.html">Locale</classname>
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Locale.html">Locale</classname>
               to find appropriate methods.</para>
             </tip>
           </question>
@@ -698,7 +698,7 @@ for (final Locale l: Locale.getAvailableLocales()) {
               xml:id="sd1_numbers_qanda_formatIntDoubleDate">
       <title>Formatting <code language="java">int</code>, <code
       language="java">double</code> and <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/time/LocalDate.html">LocaleDate</classname></title>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/time/LocalDate.html">LocaleDate</classname></title>
 
       <qandadiv>
         <qandaentry>
@@ -770,9 +770,9 @@ December 22, 2024
               <itemizedlist>
                 <listitem>
                   <para>Read the <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/text/NumberFormat.html">NumberFormat</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/text/NumberFormat.html">NumberFormat</classname>
                   documentation and its <methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/text/NumberFormat.html#getInstance-java.util.Locale-">static
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/text/NumberFormat.html#getInstance-java.util.Locale-">static
                   NumberFormat getInstance(Locale inLocale)</methodname> in
                   particular. Also note its multiply overloaded
                   <methodname>String format(...)</methodname> methods partly
@@ -781,15 +781,15 @@ December 22, 2024
 
                 <listitem>
                   <para>Regarding dates you may want to consider <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/time/format/DateTimeFormatter.html">DateTimeFormatter</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/time/format/DateTimeFormatter.html">DateTimeFormatter</classname>
                   providing the <methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/time/format/DateTimeFormatter.html#ofLocalizedDate-java.time.format.FormatStyle-">static
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/time/format/DateTimeFormatter.html#ofLocalizedDate-java.time.format.FormatStyle-">static
                   DateTimeFormatter ofLocalizedDate(FormatStyle
                   dateStyle)</methodname> method. Then read about class
                   <classname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/time/format/FormatStyle.html">FormatStyle</classname>
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/time/format/FormatStyle.html">FormatStyle</classname>
                   and the <methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/time/format/DateTimeFormatter.html#withLocale-java.util.Locale-">DateTimeFormatter
+                  xlink:href="https://docs.oracle.com/javase/10/docs/api/java/time/format/DateTimeFormatter.html#withLocale-java.util.Locale-">DateTimeFormatter
                   withLocale​(Locale locale)</methodname> method.</para>
                 </listitem>
               </itemizedlist>
@@ -889,7 +889,7 @@ System.out.println(result);</programlisting>
 
     <figure xml:id="sd1_numbers_fig_usingBigDecimal">
       <title>Using <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/math/BigDecimal.html">BigDecimal</classname></title>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/math/BigDecimal.html">BigDecimal</classname></title>
 
       <programlisting language="java">final BigDecimal zero_dot_99 = new BigDecimal("0.99");
 final BigDecimal zero_dot_1 = new BigDecimal("0.1");
@@ -906,7 +906,7 @@ System.out.println(result);</programlisting>
 
     <figure xml:id="sd1_numbers_fig_usingBigDecimalFeatures">
       <title><classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/math/BigDecimal.html">BigDecimal</classname>
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/math/BigDecimal.html">BigDecimal</classname>
       features</title>
 
       <itemizedlist>
@@ -934,7 +934,7 @@ System.out.println(result);</programlisting>
 
     <figure xml:id="sd1_numbers_fig_random">
       <title>Using <methodname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Math.html#random--">static
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#random--">static
       double random​()</methodname></title>
 
       <programlisting language="java">for (int i = 0; i &lt; 10; i++) {
@@ -962,7 +962,7 @@ System.out.println(result);</programlisting>
 }</programlisting>
 
       <screen>Enter an integer seed:4237549835735
-false true true true false false false true false true </screen>
+false true true true false false false true false true</screen>
     </figure>
   </section>
 </chapter>
diff --git a/Doc/Sda1/dom.xml b/Doc/Sda1/dom.xml
index bed6fb870126b0e5296a9f462f724b32a088ebd8..cc73be21ef07570ee260a8bb98855375b0227ed0 100644
--- a/Doc/Sda1/dom.xml
+++ b/Doc/Sda1/dom.xml
@@ -1,37 +1,25 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<chapter annotations="slide" version="5.1" xml:id="dom"
-         xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
-         xmlns:xi="http://www.w3.org/2001/XInclude"
-         xmlns:svg="http://www.w3.org/2000/svg"
-         xmlns:ns="http://docbook.org/ns/transclusion"
-         xmlns:m="http://www.w3.org/1998/Math/MathML"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         xmlns:db="http://docbook.org/ns/docbook">
-  <title>The Document Object Model (<acronym
-  xlink:href="https://www.w3.org/DOM">DOM</acronym>)</title>
-
-  <titleabbrev><acronym
-  xlink:href="https://www.w3.org/DOM">DOM</acronym></titleabbrev>
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:ns="http://docbook.org/ns/transclusion" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="slide" version="5.1" xml:id="dom">
+  <title>The Document Object Model (<acronym xlink:href="https://www.w3.org/DOM">DOM</acronym>)</title>
+
+  <titleabbrev><acronym xlink:href="https://www.w3.org/DOM">DOM</acronym></titleabbrev>
 
   <figure xml:id="sda1_dom_fig_requiredKnowledge">
     <title>Required knowledge</title>
 
     <itemizedlist>
       <listitem>
-        <para>Functional programming basics in <xref
-        linkend="glo_Java"/>.</para>
+        <para>Functional programming basics in <xref linkend="glo_Java" />.</para>
       </listitem>
 
       <listitem>
-        <para>Dependency management using <xref linkend="glo_Maven"/>.</para>
+        <para>Dependency management using <xref linkend="glo_Maven" />.</para>
       </listitem>
     </itemizedlist>
   </figure>
 
   <figure xml:id="sda1_dom_fig_motivationApiOverview">
-    <title>Important <xref linkend="glo_XML"/> <xref linkend="glo_Java"/>
+    <title>Important <xref linkend="glo_XML" /> <xref linkend="glo_Java" />
     APIs</title>
 
     <informaltable border="0">
@@ -44,22 +32,19 @@
       <tr>
         <td valign="top"><itemizedlist>
             <listitem>
-              <para><link
-              xlink:href="http://www.java2s.com/Tutorials/Java/Java_XML/0030__Java_SAX_Intro.htm">SAX</link>
+              <para><link xlink:href="http://www.java2s.com/Tutorials/Java/Java_XML/0030__Java_SAX_Intro.htm">SAX</link>
               (push)</para>
             </listitem>
 
             <listitem>
-              <para><link
-              xlink:href="https://docs.oracle.com/javase/tutorial/jaxp/stax/why.html">STAX</link>
+              <para><link xlink:href="https://docs.oracle.com/javase/tutorial/jaxp/stax/why.html">STAX</link>
               (pull)</para>
             </listitem>
           </itemizedlist></td>
 
         <td valign="top"><itemizedlist>
             <listitem>
-              <para><link
-              xlink:href="http://tutorials.jenkov.com/java-xml/dom.html">DOM</link></para>
+              <para><link xlink:href="http://tutorials.jenkov.com/java-xml/dom.html">DOM</link></para>
             </listitem>
 
             <listitem>
@@ -67,8 +52,7 @@
             </listitem>
 
             <listitem>
-              <para><link
-              xlink:href="https://docs.oracle.com/javase/tutorial/jaxb/intro">JAXB</link>
+              <para><link xlink:href="https://docs.oracle.com/javase/tutorial/jaxb/intro">JAXB</link>
               <quote>Schema to classes</quote></para>
             </listitem>
           </itemizedlist></td>
@@ -81,7 +65,7 @@
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="Ref/Fig/saxmodel.pdf" scale="150"/>
+        <imagedata fileref="Ref/Fig/saxmodel.pdf" scale="150" />
       </imageobject>
     </mediaobject>
   </figure>
@@ -91,7 +75,7 @@
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="Ref/Fig/saxapparch.pdf" scale="150"/>
+        <imagedata fileref="Ref/Fig/saxapparch.pdf" scale="150" />
       </imageobject>
     </mediaobject>
   </figure>
@@ -101,7 +85,7 @@
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="Ref/Dom/saxAssembly.multi.svg"/>
+        <imagedata fileref="Ref/Dom/saxAssembly.multi.svg" />
       </imageobject>
     </mediaobject>
   </figure>
@@ -111,12 +95,9 @@
 
     <titleabbrev>Language independence</titleabbrev>
 
-    <para>XML documents allow for automated content processing. The <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> API allows for
-    accessing <xref linkend="glo_XML"/> documents by <xref
-    linkend="glo_Java"/> applications in an event based fashion. There are
-    however situations where <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> is not
+    <para>XML documents allow for automated content processing. The <acronym xlink:href="http://www.saxproject.org">SAX</acronym> API allows for
+    accessing <xref linkend="glo_XML" /> documents by <xref linkend="glo_Java" /> applications in an event based fashion. There are
+    however situations where <acronym xlink:href="http://www.saxproject.org">SAX</acronym> is not
     appropriate:</para>
 
     <figure xml:id="sda1_dom_fig_saxDeficiencies">
@@ -149,11 +130,9 @@
 
       <itemizedlist>
         <listitem>
-          <para><xref linkend="glo_DOM"/> objects and operations being defined
-          using <productname
-          xlink:href="http://www.omg.org/gettingstarted/corbafaq.htm">CORBA
-          2.2</productname> Interface Definition Language (<abbrev
-          xlink:href="https://en.wikipedia.org/wiki/Interface_description_language">IDL</abbrev>)</para>
+          <para><xref linkend="glo_DOM" /> objects and operations being defined
+          using <productname xlink:href="http://www.omg.org/gettingstarted/corbafaq.htm">CORBA
+          2.2</productname> Interface Definition Language (<abbrev xlink:href="https://en.wikipedia.org/wiki/Interface_description_language">IDL</abbrev>)</para>
         </listitem>
 
         <listitem>
@@ -162,7 +141,7 @@
 
           <itemizedlist>
             <listitem>
-              <para>A set of <xref linkend="glo_Java"/> interfaces.</para>
+              <para>A set of <xref linkend="glo_Java" /> interfaces.</para>
             </listitem>
 
             <listitem>
@@ -182,26 +161,23 @@
         </listitem>
 
         <listitem>
-          <para>Instantiation using the<link
-          xlink:href="https://en.wikipedia.org/wiki/Abstract_factory_pattern">
+          <para>Instantiation using the<link xlink:href="https://en.wikipedia.org/wiki/Abstract_factory_pattern">
           abstract factory pattern</link>.</para>
         </listitem>
       </itemizedlist>
     </figure>
 
     <figure xml:id="sda1_dom_fig_nodeDomIdl">
-      <title><xref linkend="glo_DOM"/> <classname
-      xlink:href="https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247">Node</classname>
-      <productname
-      xlink:href="http://www.omg.org/gettingstarted/corbafaq.htm">CORBA
+      <title><xref linkend="glo_DOM" /> <classname xlink:href="https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247">Node</classname>
+      <productname xlink:href="http://www.omg.org/gettingstarted/corbafaq.htm">CORBA
       2.2</productname> <abbrev>IDL</abbrev></title>
 
       <programlisting language="C++">interface Node {
-  const unsigned short ELEMENT_NODE   = 1; // NodeType         
+  const unsigned short ELEMENT_NODE   = 1; // NodeType
   const unsigned short ATTRIBUTE_NODE = 2;
   const unsigned short TEXT_NODE      = 3;
    ...
-  readonly attribute DOMString      nodeName; 
+  readonly attribute DOMString      nodeName;
   attribute DOMString nodeValue;
 
   readonly attribute unsigned short nodeType;
@@ -221,8 +197,7 @@
       <itemizedlist>
         <listitem>
           <para>Using a given language's constructs closely resembling the
-          <productname
-          xlink:href="http://www.omg.org/gettingstarted/corbafaq.htm">CORBA
+          <productname xlink:href="http://www.omg.org/gettingstarted/corbafaq.htm">CORBA
           2.2</productname> <abbrev>IDL</abbrev> specification.</para>
         </listitem>
 
@@ -233,9 +208,8 @@
     </figure>
 
     <figure xml:id="sda1_dom_fig_nodaJavaBinding">
-      <title><classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/org/w3c/dom/Node.html">org.w3c.dom.Node</classname>
-      <xref linkend="glo_Java"/> binding.</title>
+      <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/w3c/dom/Node.html">org.w3c.dom.Node</classname>
+      <xref linkend="glo_Java" /> binding.</title>
 
       <programlisting language="java">package org.w3c.dom;
 
@@ -257,8 +231,7 @@ public interface Node {            // Node Types
    ...</programlisting>
     </figure>
 
-    <para>We take <methodname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/org/w3c/dom/Node.html#getChildNodes--">org.w3c.dom.Node.getChildNodes()</methodname>
+    <para>We take <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/w3c/dom/Node.html#getChildNodes()">org.w3c.dom.Node.getChildNodes()</methodname>
     as an example:</para>
 
     <figure xml:id="domRetrieveChildren">
@@ -266,14 +239,13 @@ public interface Node {            // Node Types
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/domtree.fig" scale="65"/>
+          <imagedata fileref="Ref/Fig/domtree.fig" scale="65" />
         </imageobject>
       </mediaobject>
     </figure>
 
     <figure xml:id="sda1_dom_nodeTypes">
-      <title><classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/org/w3c/dom/Node.html">org.w3c.dom.Node</classname>
+      <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/w3c/dom/Node.html">org.w3c.dom.Node</classname>
       subtypes</title>
 
       <itemizedlist>
@@ -290,8 +262,7 @@ public interface Node {            // Node Types
         </listitem>
 
         <listitem>
-          <para>Processing instruction: <code
-          language="xml">&lt;?xml-stylesheet type="text/xsl"
+          <para>Processing instruction: <code language="xml">&lt;?xml-stylesheet type="text/xsl"
           href="style.xsl"?&gt;</code>.</para>
         </listitem>
 
@@ -306,48 +277,44 @@ public interface Node {            // Node Types
     </figure>
 
     <figure xml:id="domJavaNodeInterfaces">
-      <title><xref linkend="glo_DOM"/> <xref linkend="glo_Java"/> binding
+      <title><xref linkend="glo_DOM" /> <xref linkend="glo_Java" /> binding
       inheritance interface hierarchy</title>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/nodeHierarchy.svg"/>
+          <imagedata fileref="Ref/Fig/nodeHierarchy.svg" />
         </imageobject>
       </mediaobject>
     </figure>
 
-    <para>Current <xref linkend="glo_Java"/> distributions do contain a <xref
-    linkend="glo_DOM"/> implementation including parsers, XPath engines etc.
+    <para>Current <xref linkend="glo_Java" /> distributions do contain a <xref linkend="glo_DOM" /> implementation including parsers, XPath engines etc.
     .</para>
 
-    <para>The <xref linkend="glo_DOM"/>'s specification defines a (still
-    growing) set of<link
-    xlink:href="https://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/introduction.html#DOMArchitecture-h2">
+    <para>The <xref linkend="glo_DOM" />'s specification defines a (still
+    growing) set of<link xlink:href="https://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/introduction.html#DOMArchitecture-h2">
     modules</link>. An implementation may not implement all of these:</para>
 
     <figure xml:id="figureDomModules">
-      <title><xref linkend="glo_DOM"/> modules.</title>
+      <title><xref linkend="glo_DOM" /> modules.</title>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/dom-architecture.screen.png"/>
+          <imagedata fileref="Ref/Fig/dom-architecture.screen.png" />
         </imageobject>
       </mediaobject>
     </figure>
 
     <figure xml:id="sda1_dom_fig_jDomVsDomAdvantges">
-      <title><xref linkend="glo_Jdom"/> vs. <xref linkend="glo_DOM"/>:
+      <title><xref linkend="glo_Jdom" /> vs. <xref linkend="glo_DOM" />:
       Advantages</title>
 
       <itemizedlist>
         <listitem>
-          <para>Alternative to <orgname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/org/w3c/dom/package-frame.html">org.w3c.dom</orgname>.</para>
+          <para>Alternative to <orgname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/w3c/dom/package-frame.html">org.w3c.dom</orgname>.</para>
         </listitem>
 
         <listitem>
-          <para>More Java compatible <abbrev>i.e.</abbrev> using <link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Collection.html">native
+          <para>More Java compatible <abbrev>i.e.</abbrev> using <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Collection.html">native
           collection interfaces</link></para>
         </listitem>
 
@@ -359,7 +326,7 @@ public interface Node {            // Node Types
     </figure>
 
     <figure xml:id="sda1_dom_fig_jDomVsDomDiadvantages">
-      <title><xref linkend="glo_Jdom"/> vs. <xref linkend="glo_DOM"/>:
+      <title><xref linkend="glo_Jdom" /> vs. <xref linkend="glo_DOM" />:
       Disadvantages</title>
 
       <itemizedlist>
@@ -376,7 +343,7 @@ public interface Node {            // Node Types
         </listitem>
 
         <listitem>
-          <para>Potential 3-rd party <xref linkend="glo_DOM"/> framework
+          <para>Potential 3-rd party <xref linkend="glo_DOM" /> framework
           incompatibilities.</para>
         </listitem>
       </itemizedlist>
@@ -384,69 +351,54 @@ public interface Node {            // Node Types
   </section>
 
   <section xml:id="domCreate">
-    <title>Creating a new <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/org/w3c/dom/Document.html">Document</classname>
+    <title>Creating a new <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/w3c/dom/Document.html">Document</classname>
     instance from scratch</title>
 
     <titleabbrev>New document</titleabbrev>
 
-    <para>This lecture's exercises are based on <xref linkend="glo_Jdom"/> in
-    favour of a <quote>real</quote> Java <xref linkend="glo_DOM"/> language
+    <para>This lecture's exercises are based on <xref linkend="glo_Jdom" /> in
+    favour of a <quote>real</quote> Java <xref linkend="glo_DOM" /> language
     binding implementation.</para>
 
     <figure xml:id="sda1_fig_jdomMavenConfig">
       <title>Prerequisite: <filename>pom.xml</filename> configuration</title>
 
-      <programlisting language="xml">&lt;dependency&gt;  <emphasis role="bold">&lt;!-- Jdom itself --&gt;</emphasis>
+      <programlisting language="xml">&lt;dependency&gt;
   &lt;groupId&gt;org.jdom&lt;/groupId&gt;
-  &lt;artifactId&gt;jdom2&lt;/artifactId&gt;
+  &lt;artifactId&gt;<link xlink:href="https://mvnrepository.com/artifact/org.jdom/jdom2">jdom2</link>&lt;/artifactId&gt;
   &lt;version&gt;2.0.6&lt;/version&gt;
 &lt;/dependency&gt;
-
-&lt;dependency&gt;  <emphasis role="bold">&lt;!-- XPath support for Jdom --&gt;</emphasis>
-  &lt;groupId&gt;jaxen&lt;/groupId&gt;
-  &lt;artifactId&gt;jaxen&lt;/artifactId&gt;
-  &lt;version&gt;1.1.4&lt;/version&gt;
-&lt;/dependency&gt; ...</programlisting>
+ ...</programlisting>
     </figure>
 
-    <para>If we want wrap data (<abbrev>e.g.</abbrev> from a
-    <acronym>RDBMS</acronym>) into XML we may achieve this by the following
-    recipe:</para>
+    <para>The following recipe allows for wrapping data (<abbrev>e.g.</abbrev>
+    from a <acronym>RDBMS</acronym>) into XML:</para>
 
     <figure xml:id="sda1_fig_exportXml">
       <title>Exporting data as XML</title>
 
       <calloutlist>
-        <callout arearefs="sda1_dom_createXmlFromScratch-1-co"
-                 xml:id="sda1_dom_createXmlFromScratch-1">
-          <para>Create an empty <link
-          xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html">Element</link>
+        <callout arearefs="sda1_dom_createXmlFromScratch-1-co" xml:id="sda1_dom_createXmlFromScratch-1">
+          <para>Create an empty <link xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html">Element</link>
           instance to become the document's root.</para>
         </callout>
 
-        <callout arearefs="sda1_dom_createXmlFromScratch-2-co"
-                 xml:id="sda1_dom_createXmlFromScratch-2">
-          <para>Add a <classname
-          xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Text.html">Text</classname>
+        <callout arearefs="sda1_dom_createXmlFromScratch-2-co" xml:id="sda1_dom_createXmlFromScratch-2">
+          <para>Add a <classname xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Text.html">Text</classname>
           node.</para>
         </callout>
 
-        <callout arearefs="sda1_dom_createXmlFromScratch-3-co"
-                 xml:id="sda1_dom_createXmlFromScratch-3">
+        <callout arearefs="sda1_dom_createXmlFromScratch-3-co" xml:id="sda1_dom_createXmlFromScratch-3">
           <para>Set a new attribute <code language="xml">date</code> to value
           <quote>23.02.2000</quote>.</para>
         </callout>
 
-        <callout arearefs="sda1_dom_createXmlFromScratch-4-co"
-                 xml:id="sda1_dom_createXmlFromScratch-4">
-          <para>Create a serializer instance of <classname
-          xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/output/XMLOutputter.html">XMLOutputter</classname>
+        <callout arearefs="sda1_dom_createXmlFromScratch-4-co" xml:id="sda1_dom_createXmlFromScratch-4">
+          <para>Create a serializer instance of <classname xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/output/XMLOutputter.html">XMLOutputter</classname>
           providing output prettifying.</para>
         </callout>
 
-        <callout arearefs="sda1_dom_createXmlFromScratch-5-co"
-                 xml:id="sda1_dom_createXmlFromScratch-5">
+        <callout arearefs="sda1_dom_createXmlFromScratch-5-co" xml:id="sda1_dom_createXmlFromScratch-5">
           <para>Serialize the result tree to a stream.</para>
         </callout>
       </calloutlist>
@@ -455,34 +407,20 @@ public interface Node {            // Node Types
     <para>The subsequent code illustrates these steps:</para>
 
     <figure xml:id="sda1_dom_createXmlFromScratch">
-      <title><xref linkend="glo_XML"/> document creation from scratch.</title>
+      <title><xref linkend="glo_XML" /> document creation from scratch.</title>
 
-      <programlisting language="java"><link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Jdom/P/CreateScratch/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/CreateDoc.java">final Element titel</link> = new Element("titel"); <co
-          linkends="sda1_dom_createXmlFromScratch-1"
-          xml:id="sda1_dom_createXmlFromScratch-1-co"/>
+      <programlisting language="java"><link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Jdom/P/CreateScratch/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/CreateDoc.java">final Element titel</link> = new Element("titel"); <co linkends="sda1_dom_createXmlFromScratch-1" xml:id="sda1_dom_createXmlFromScratch-1-co" />
 
-titel.addContent(new Text("First try")); <co
-          linkends="sda1_dom_createXmlFromScratch-2"
-          xml:id="sda1_dom_createXmlFromScratch-2-co"/>
+titel.addContent(new Text("First try")); <co linkends="sda1_dom_createXmlFromScratch-2" xml:id="sda1_dom_createXmlFromScratch-2-co" />
 
-titel.setAttribute("date", "23.02.2000"); <co
-          linkends="sda1_dom_createXmlFromScratch-3"
-          xml:id="sda1_dom_createXmlFromScratch-3-co"/>
+titel.setAttribute("date", "23.02.2000"); <co linkends="sda1_dom_createXmlFromScratch-3" xml:id="sda1_dom_createXmlFromScratch-3-co" />
 
 final XMLOutputter printer =
-      new XMLOutputter(Format.getPrettyFormat());<co
-          linkends="sda1_dom_createXmlFromScratch-4"
-          xml:id="sda1_dom_createXmlFromScratch-4-co"/>       
-
-printer.output(titel, System.out); <co
-          linkends="sda1_dom_createXmlFromScratch-5"
-          xml:id="sda1_dom_createXmlFromScratch-5-co"/> </programlisting>
-
-      <screen language="xml">Result: &lt;titel <coref
-          linkend="sda1_dom_createXmlFromScratch-1-co"/> date="23.02.2000"<coref
-          linkend="sda1_dom_createXmlFromScratch-3-co"/>&gt;First try<coref
-          linkend="sda1_dom_createXmlFromScratch-2-co"/>&lt;/titel&gt;</screen>
+      new XMLOutputter(Format.getPrettyFormat());<co linkends="sda1_dom_createXmlFromScratch-4" xml:id="sda1_dom_createXmlFromScratch-4-co" />
+
+printer.output(titel, System.out); <co linkends="sda1_dom_createXmlFromScratch-5" xml:id="sda1_dom_createXmlFromScratch-5-co" /></programlisting>
+
+      <screen language="xml">Result: &lt;titel <coref linkend="sda1_dom_createXmlFromScratch-1-co" /> date="23.02.2000"<coref linkend="sda1_dom_createXmlFromScratch-3-co" />&gt;First try<coref linkend="sda1_dom_createXmlFromScratch-2-co" />&lt;/titel&gt;</screen>
     </figure>
   </section>
 
@@ -497,15 +435,12 @@ printer.output(titel, System.out); <co
           <question>
             <label>Creation of an extended XML document instance</label>
 
-            <para>In order to run the examples the <filename
-            xlink:href="http://www.jdom.org/downloads">jdom2</filename>
+            <para>In order to run the examples the <filename xlink:href="http://www.jdom.org/downloads">jdom2</filename>
             library must be configured in your project's
             <filename>pom.xml</filename>.</para>
 
-            <para>The <xref linkend="glo_DOM"/> creating example given before
-            may be used as a starting point. Extend the <xref
-            linkend="glo_DOM"/> tree created in <xref
-            linkend="sda1_dom_createXmlFromScratch"/> to produce an extended
+            <para>The <xref linkend="glo_DOM" /> creating example given before
+            may be used as a starting point. Extend the <xref linkend="glo_DOM" /> tree created in <xref linkend="sda1_dom_createXmlFromScratch" /> to produce an extended
             XML document:</para>
 
             <programlisting language="xml">&lt;title&gt;
@@ -529,16 +464,14 @@ printer.output(titel, System.out); <co
 
     <titleabbrev>Parsing</titleabbrev>
 
-    <para>JDom uses <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> for parsing XML
-    documents. Rather than handling <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> events ourselves we
-    prefer a <xref linkend="glo_DOM"/> (in memory) representation of our
+    <para>JDom uses <acronym xlink:href="http://www.saxproject.org">SAX</acronym> for parsing XML
+    documents. Rather than handling <acronym xlink:href="http://www.saxproject.org">SAX</acronym> events ourselves we
+    prefer a <xref linkend="glo_DOM" /> (in memory) representation of our
     document. The <link linkend="simpleCatalog">simple catalog</link> serves
     as an introductory example:</para>
 
     <figure xml:id="sda1_dom_catalogSampleData">
-      <title><xref linkend="glo_XML"/> catalog sample data</title>
+      <title><xref linkend="glo_XML" /> catalog sample data</title>
 
       <programlisting language="xml">&lt;catalog&gt;
   &lt;item orderNo="3218"&gt;Swinging headset&lt;/item&gt;
@@ -546,136 +479,92 @@ printer.output(titel, System.out); <co
 &lt;/catalog&gt;</programlisting>
     </figure>
 
-    <para>We already noticed the need for an <classname
-    xlink:href="http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html">ErrorHandler</classname>
-    instance during <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> processing. A <xref
-    linkend="glo_DOM"/> Parser requires a means to communicate parsing errors
-    in case of <xref linkend="glo_XML"/> related errors. A <xref
-    linkend="glo_DOM"/> parser implementor is free to choose his
+    <para>We already noticed the need for an <classname xlink:href="http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html">ErrorHandler</classname>
+    instance during <acronym xlink:href="http://www.saxproject.org">SAX</acronym> processing. A <xref linkend="glo_DOM" /> Parser requires a means to communicate parsing errors
+    in case of <xref linkend="glo_XML" /> related errors. A <xref linkend="glo_DOM" /> parser implementor is free to choose his
     implementation but most implementations are based on top of a so called
     <acronym xlink:href="http://www.saxproject.org">SAX</acronym> parser. The
     <acronym xlink:href="http://www.saxproject.org">SAX</acronym> parser in
-    turn defines a standard <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/ErrorHandler.html">ErrorHandler</classname>
+    turn defines a standard <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/ErrorHandler.html">ErrorHandler</classname>
     interface we may use for the sake of conveying parsing errors:</para>
 
     <figure xml:id="sda1_dom_saxErrorHandler">
-      <title><xref linkend="glo_SAX"/> error handler</title>
+      <title><xref linkend="glo_SAX" /> error handler</title>
 
-      <programlisting language="java">public class <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdom/Catalog/src/main/java/sax/MySaxErrorHandler.java">MySaxErrorHandler</link> implements <link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/ErrorHandler.html">ErrorHandler</link> {
+      <programlisting language="java">public class <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdom/Catalog/src/main/java/sax/MySaxErrorHandler.java">MySaxErrorHandler</link> implements <link xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/ErrorHandler.html">ErrorHandler</link> {
 
-   private PrintStream out; <co linkends="sda1_dom_saxErrorHandler-1"
-          xml:id="sda1_dom_saxErrorHandler-1-co"/>//The error handler's output goes here
+   private PrintStream out; <co linkends="sda1_dom_saxErrorHandler-1" xml:id="sda1_dom_saxErrorHandler-1-co" />//The error handler's output goes here
 
-   private String getParseExceptionInfo <co
-          linkends="sda1_dom_saxErrorHandler-2"
-          xml:id="sda1_dom_saxErrorHandler-2-co"/>(SAXParseException ex) { 
+   private String getParseExceptionInfo <co linkends="sda1_dom_saxErrorHandler-2" xml:id="sda1_dom_saxErrorHandler-2-co" />(SAXParseException ex) {
      return "Error '" + ex.getMessage() + "' at line " + ex.getLineNumber() +
                   ", column " + ex.getColumnNumber();
    }
-   public MySaxErrorHandler(final PrintStream out <co
-          linkends="sda1_dom_saxErrorHandler-3"
-          xml:id="sda1_dom_saxErrorHandler-3-co"/>) {this.out = out;}
-   @Override public void warning<co linkends="sda1_dom_saxErrorHandler-4"
-          xml:id="sda1_dom_saxErrorHandler-4-co"/> (SAXParseException exception <co
-          linkends="sda1_dom_saxErrorHandler-5"
-          xml:id="sda1_dom_saxErrorHandler-5-co"/>) throws SAXException {      
+   public MySaxErrorHandler(final PrintStream out <co linkends="sda1_dom_saxErrorHandler-3" xml:id="sda1_dom_saxErrorHandler-3-co" />) {this.out = out;}
+   @Override public void warning<co linkends="sda1_dom_saxErrorHandler-4" xml:id="sda1_dom_saxErrorHandler-4-co" /> (SAXParseException exception <co linkends="sda1_dom_saxErrorHandler-5" xml:id="sda1_dom_saxErrorHandler-5-co" />) throws SAXException {
       out.print("Warning:" + getParseExceptionInfo(exception));
    }
-   @Override public void error <co linkends="sda1_dom_saxErrorHandler-6"
-          xml:id="sda1_dom_saxErrorHandler-6-co"/>(SAXParseException exception <coref
-          linkend="sda1_dom_saxErrorHandler-3-co"/>) throws SAXException {
+   @Override public void error <co linkends="sda1_dom_saxErrorHandler-6" xml:id="sda1_dom_saxErrorHandler-6-co" />(SAXParseException exception <coref linkend="sda1_dom_saxErrorHandler-3-co" />) throws SAXException {
       out.print("Error:" + getParseExceptionInfo(exception));
    } @Override
-   public void fatalError <co linkends="sda1_dom_saxErrorHandler-7"
-          xml:id="sda1_dom_saxErrorHandler-7-co"/>(SAXParseException exception <coref
-          linkend="sda1_dom_saxErrorHandler-3-co"/>) throws SAXException {
+   public void fatalError <co linkends="sda1_dom_saxErrorHandler-7" xml:id="sda1_dom_saxErrorHandler-7-co" />(SAXParseException exception <coref linkend="sda1_dom_saxErrorHandler-3-co" />) throws SAXException {
       out.print("Fatal error:" + getParseExceptionInfo(exception));
    }
 }</programlisting>
     </figure>
 
     <calloutlist>
-      <callout arearefs="sda1_dom_saxErrorHandler-1-co"
-               xml:id="sda1_dom_saxErrorHandler-1">
+      <callout arearefs="sda1_dom_saxErrorHandler-1-co" xml:id="sda1_dom_saxErrorHandler-1">
         <para>Error and warning messages go here. The underlying stream may be
         linked <abbrev>e.g.</abbrev> to a file or to standard output.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_saxErrorHandler-2-co"
-               xml:id="sda1_dom_saxErrorHandler-2">
+      <callout arearefs="sda1_dom_saxErrorHandler-2-co" xml:id="sda1_dom_saxErrorHandler-2">
         <para>Internal method assembling the actual error or warning message
         containing a line number / column number based file reference.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_saxErrorHandler-3-co"
-               xml:id="sda1_dom_saxErrorHandler-3">
+      <callout arearefs="sda1_dom_saxErrorHandler-3-co" xml:id="sda1_dom_saxErrorHandler-3">
         <para>Constructor for defining the respective stream.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_saxErrorHandler-4-co"
-               xml:id="sda1_dom_saxErrorHandler-4">
+      <callout arearefs="sda1_dom_saxErrorHandler-4-co" xml:id="sda1_dom_saxErrorHandler-4">
         <para>Callback method being called in case of minor problems i.e. a
         missing mandatory attribute.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_saxErrorHandler-5-co"
-               xml:id="sda1_dom_saxErrorHandler-5">
+      <callout arearefs="sda1_dom_saxErrorHandler-5-co" xml:id="sda1_dom_saxErrorHandler-5">
         <para>The exception instance holding a detailed problem
         description</para>
       </callout>
 
-      <callout arearefs="sda1_dom_saxErrorHandler-6-co"
-               xml:id="sda1_dom_saxErrorHandler-6">
+      <callout arearefs="sda1_dom_saxErrorHandler-6-co" xml:id="sda1_dom_saxErrorHandler-6">
         <para>Severe error.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_saxErrorHandler-7-co"
-               xml:id="sda1_dom_saxErrorHandler-7">
+      <callout arearefs="sda1_dom_saxErrorHandler-7-co" xml:id="sda1_dom_saxErrorHandler-7">
         <para>Fatal error <abbrev>e.g.</abbrev> indicating improper nesting of
-        elements prohibiting further parsing of the given <xref
-        linkend="glo_XML"/> input.</para>
+        elements prohibiting further parsing of the given <xref linkend="glo_XML" /> input.</para>
       </callout>
     </calloutlist>
 
-    <para>We use this bit to assemble a <xref linkend="glo_DOM"/> based <xref
-    linkend="glo_XML"/> parsing application:.</para>
+    <para>We use this bit to assemble a <xref linkend="glo_DOM" /> based <xref linkend="glo_XML" /> parsing application:.</para>
 
     <figure xml:id="sda1_dom_fig_TreeTraversal">
-      <title>Accessing an XML Tree purely by <xref linkend="glo_DOM"/>
+      <title>Accessing an XML Tree purely by <xref linkend="glo_DOM" />
       methods.</title>
 
-      <programlisting language="java">public class <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdom/Catalog/src/main/java/dom/ReadCatalog.java">ReadCatalog</link> {
-   private SAXBuilder builder = new SAXBuilder(); <co
-          linkends="sda1_dom_fig_TreeTraversal-1.2"
-          xml:id="sda1_dom_fig_TreeTraversal-1.2-co"/>
+      <programlisting language="java">public class <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdom/Catalog/src/main/java/dom/ReadCatalog.java">ReadCatalog</link> {
+   private SAXBuilder builder = new SAXBuilder(); <co linkends="sda1_dom_fig_TreeTraversal-1.2" xml:id="sda1_dom_fig_TreeTraversal-1.2-co" />
 
    public ReadCatalog() {
-      builder.setErrorHandler(new <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdom/Catalog/src/main/java/sax/MySaxErrorHandler.java">MySaxErrorHandler</link>(System.out)); <co
-          linkends="sda1_dom_fig_TreeTraversal-2.2"
-          xml:id="sda1_dom_fig_TreeTraversal-2.2-co"/>
+      builder.setErrorHandler(new <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdom/Catalog/src/main/java/sax/MySaxErrorHandler.java">MySaxErrorHandler</link>(System.out)); <co linkends="sda1_dom_fig_TreeTraversal-2.2" xml:id="sda1_dom_fig_TreeTraversal-2.2-co" />
    }
-   public void process(final String filename) <co
-          linkends="sda1_dom_fig_TreeTraversal-3.2"
-          xml:id="sda1_dom_fig_TreeTraversal-3.2-co"/> throws JDOMException <co
-          linkends="sda1_dom_fig_TreeTraversal-4.2"
-          xml:id="sda1_dom_fig_TreeTraversal-4.2-co"/>, IOException {
+   public void process(final String filename) <co linkends="sda1_dom_fig_TreeTraversal-3.2" xml:id="sda1_dom_fig_TreeTraversal-3.2-co" /> throws JDOMException <co linkends="sda1_dom_fig_TreeTraversal-4.2" xml:id="sda1_dom_fig_TreeTraversal-4.2-co" />, IOException {
       final Document docInput = builder.build(
-            getClass().getClassLoader().getResource(filename) <co
-          linkends="sda1_dom_fig_TreeTraversal-5.2"
-          xml:id="sda1_dom_fig_TreeTraversal-5.2-co"/>
+            getClass().getClassLoader().getResource(filename) <co linkends="sda1_dom_fig_TreeTraversal-5.2" xml:id="sda1_dom_fig_TreeTraversal-5.2-co" />
       );
-      final Element docRoot = docInput.getRootElement(); <co
-          linkends="sda1_dom_fig_TreeTraversal-6.2"
-          xml:id="sda1_dom_fig_TreeTraversal-6.2-co"/>
-      docRoot.getChildren().forEach(item -&gt; <co
-          linkends="sda1_dom_fig_TreeTraversal-7"
-          xml:id="sda1_dom_fig_TreeTraversal-7-co"/>
+      final Element docRoot = docInput.getRootElement(); <co linkends="sda1_dom_fig_TreeTraversal-6.2" xml:id="sda1_dom_fig_TreeTraversal-6.2-co" />
+      docRoot.getChildren().forEach(item -&gt; <co linkends="sda1_dom_fig_TreeTraversal-7" xml:id="sda1_dom_fig_TreeTraversal-7-co" />
       System.out.println(
             "Article: " + item.getText() +
             ", order number: " + item.getAttributeValue("orderNo")));
@@ -684,58 +573,48 @@ printer.output(titel, System.out); <co
     </figure>
 
     <calloutlist>
-      <callout arearefs="sda1_dom_fig_TreeTraversal-1.2-co"
-               xml:id="sda1_dom_fig_TreeTraversal-1.2">
+      <callout arearefs="sda1_dom_fig_TreeTraversal-1.2-co" xml:id="sda1_dom_fig_TreeTraversal-1.2">
         <para>The parser workhorse.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_TreeTraversal-2.2-co"
-               xml:id="sda1_dom_fig_TreeTraversal-2.2">
-        <para>Though an <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/ErrorHandler.html">ErrorHandler</classname>
+      <callout arearefs="sda1_dom_fig_TreeTraversal-2.2-co" xml:id="sda1_dom_fig_TreeTraversal-2.2">
+        <para>Though an <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/ErrorHandler.html">ErrorHandler</classname>
         is not strictly being required it allows for localization of XML
         document parsing errors and warnings.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_TreeTraversal-3.2-co"
-               xml:id="sda1_dom_fig_TreeTraversal-3.2">
+      <callout arearefs="sda1_dom_fig_TreeTraversal-3.2-co" xml:id="sda1_dom_fig_TreeTraversal-3.2">
         <para>Descending a catalog till its <tag class="starttag">item</tag>
         elements. For each <tag class="starttag">item</tag> its name and order
         number are being written to the output.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_TreeTraversal-4.2-co"
-               xml:id="sda1_dom_fig_TreeTraversal-4.2">
+      <callout arearefs="sda1_dom_fig_TreeTraversal-4.2-co" xml:id="sda1_dom_fig_TreeTraversal-4.2">
         <para>Parsing error being thrown in <abbrev>i.e.</abbrev> case of non-
         wellformed catalog documents.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_TreeTraversal-5.2-co"
-               xml:id="sda1_dom_fig_TreeTraversal-5.2">
+      <callout arearefs="sda1_dom_fig_TreeTraversal-5.2-co" xml:id="sda1_dom_fig_TreeTraversal-5.2">
         <para>Parsing XML input file relative to the project's
         <filename>src/main/resources</filename> folder.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_TreeTraversal-6.2-co"
-               xml:id="sda1_dom_fig_TreeTraversal-6.2">
+      <callout arearefs="sda1_dom_fig_TreeTraversal-6.2-co" xml:id="sda1_dom_fig_TreeTraversal-6.2">
         <para>Accessing the document's root element &lt;catalog&gt;</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_TreeTraversal-7-co"
-               xml:id="sda1_dom_fig_TreeTraversal-7">
-        <para>Streaming all <tag class="starttag">item</tag> children of <tag
-        class="starttag">catalog</tag>.</para>
+      <callout arearefs="sda1_dom_fig_TreeTraversal-7-co" xml:id="sda1_dom_fig_TreeTraversal-7">
+        <para>Streaming all <tag class="starttag">item</tag> children of <tag class="starttag">catalog</tag>.</para>
       </callout>
     </calloutlist>
 
     <para>Execution of <methodname>process(...)</methodname> requires a driver
-    instance providing an <xref linkend="glo_XML"/> input filename:</para>
+    instance providing an <xref linkend="glo_XML" /> input filename:</para>
 
     <figure xml:id="sda1_dom_fig_readCatalogDriver">
       <title>Driver class execution entry point</title>
 
-      <programlisting language="java">public class <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdom/Catalog/src/main/java/dom/ReadCatalogDriver.java">ReadCatalogDriver</link> {
+      <programlisting language="java">public class <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdom/Catalog/src/main/java/dom/ReadCatalogDriver.java">ReadCatalogDriver</link> {
 
   public static void main(String[] argv) throws Exception {
     final ReadCatalog catalogReader = new ReadCatalog();
@@ -750,13 +629,12 @@ Article: 200W Stereo Amplifier, order number: 9921</screen>
     <figure xml:id="sda1_dom_fig_readCatalogSampleProject">
       <title>Project sample code for import</title>
 
-      <para><uri
-      xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sda1/Jdom/Catalog">https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sda1/Jdom/Catalog</uri></para>
+      <para><uri xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sda1/Jdom/Catalog">https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sda1/Jdom/Catalog</uri></para>
     </figure>
   </section>
 
   <section xml:id="sda1SimpleDomProcess">
-    <title>Simple <xref linkend="glo_DOM"/> processing</title>
+    <title>Simple <xref linkend="glo_DOM" /> processing</title>
 
     <section xml:id="sda1SectElementVisualize">
       <title>Visualizing XML document elements</title>
@@ -789,9 +667,8 @@ Article: 200W Stereo Amplifier, order number: 9921</screen>
   &lt;/content&gt;
 &lt;/memo&gt;</programlisting>
 
-              <para>Write a <xref linkend="glo_Java"/> application which lists
-              all elements by <link
-              xlink:href="https://en.wikipedia.org/wiki/Tree_traversal#Pre-order">depth
+              <para>Write a <xref linkend="glo_Java" /> application which lists
+              all elements by <link xlink:href="https://en.wikipedia.org/wiki/Tree_traversal#Pre-order">depth
               first pre order</link> traversal among with their respective
               nesting depth and attributes.</para>
 
@@ -809,7 +686,7 @@ Element surname, nesting depth = 2
 Element to, nesting depth = 1
 Element name, nesting depth = 2
 Element surname, nesting depth = 2
-Element date, nesting depth = 1, Attributes: year = '2005' month = '1' day = '6' 
+Element date, nesting depth = 1, Attributes: year = '2005' month = '1' day = '6'
 Element subject, nesting depth = 1
 Element content, nesting depth = 1
 Element para, nesting depth = 2
@@ -829,26 +706,21 @@ Document contains 15 elements and 3 attributes.</screen>
     </section>
 
     <section xml:id="sda1SectFunctionalBasics">
-      <title>Reminder to functional programming elements in <xref
-      linkend="glo_Java"/>.</title>
+      <title>Reminder to functional programming elements in <xref linkend="glo_Java" />.</title>
 
       <qandaset defaultlabel="qanda" xml:id="sda1QandaFunctionalBasics">
         <qandadiv>
           <qandaentry>
             <question>
               <para>As a courtesy we remind all participants to functional
-              programming elements being dealt with in <link
-              xlink:href="https://www.hdm-stuttgart.de/studenten/stundenplan/vorlesungsverzeichnis/vorlesung_detail?vorlid=5211589"
-              xml:lang="de">Softwareentwicklung 2</link>.</para>
+              programming elements being dealt with in <link xlink:href="https://www.hdm-stuttgart.de/studenten/stundenplan/vorlesungsverzeichnis/vorlesung_detail?vorlid=5211589" xml:lang="de">Softwareentwicklung 2</link>.</para>
 
-              <para>This exercise has been derived from <link
-              xlink:href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">Lambda
+              <para>This exercise has been derived from <link xlink:href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">Lambda
               Expressions - The Javaâ„¢ Tutorials</link>. Depending on your own
               personal knowledge you may want to start that trail
               beforehand.</para>
 
-              <para>Import the following project template into <xref
-              linkend="glo_Soft_IntellijIDEA"/>:</para>
+              <para>Import the following project template into <xref linkend="glo_Soft_IntellijIDEA" />:</para>
 
               <annotation role="make">
                 <para role="eclipse">Sda1/Streams/Template</para>
@@ -860,8 +732,7 @@ Document contains 15 elements and 3 attributes.</screen>
                 <listitem>
                   <para>Some boilerplate code in
                   <classname>de.hdm_stuttgart.mi.javastreams.RosterTest</classname>
-                  modified from <link
-                  xlink:href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">Lambda
+                  modified from <link xlink:href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">Lambda
                   Expressions - The Javaâ„¢ Tutorials</link>. Execution does
                   make sense when reading Oracle's trail in parallel.</para>
                 </listitem>
@@ -869,8 +740,7 @@ Document contains 15 elements and 3 attributes.</screen>
                 <listitem>
                   <para>A unit test class
                   <classname>de.hdm_stuttgart.mi.javastreams.Java8FunctionalTest</classname>
-                  currently being masked by an <interfacename
-                  xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Ignore.html">@Ignore</interfacename>
+                  currently being masked by an <interfacename xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Ignore.html">@Ignore</interfacename>
                   annotation to be removed for enabling tests. This is your
                   place to actually start working.</para>
                 </listitem>
@@ -895,28 +765,21 @@ Document contains 15 elements and 3 attributes.</screen>
 
               <programlisting language="java">   /**
     * Order all male students by email and create a List&lt;String&gt; of their respective
-    * names in that order eliminating possible duplicates: <co
-                  linkends="sda1CalloutFunctionalJunit-1"
-                  xml:id="sda1CalloutFunctionalJunit-1-co"/>
-    * 
-    *  "Bob", 2, Student.Sex.MALE, "bob@uk.edu"  <co
-                  linkends="sda1CalloutFunctionalJunit-2"
-                  xml:id="sda1CalloutFunctionalJunit-2-co"/>
+    * names in that order eliminating possible duplicates: <co linkends="sda1CalloutFunctionalJunit-1" xml:id="sda1CalloutFunctionalJunit-1-co" />
+    *
+    *  "Bob", 2, Student.Sex.MALE, "bob@uk.edu"  <co linkends="sda1CalloutFunctionalJunit-2" xml:id="sda1CalloutFunctionalJunit-2-co" />
     *  "Fred", 2, Student.Sex.MALE, "fred@example.com"
     *  "George", 4, Student.Sex.MALE, "george@math.edu"
     *  "Jane", 1, Student.Sex.FEMALE, "jane@kiv.de"
     *  "Kim", 2, Student.Sex.FEMALE, "wilde@serious.de"
-    *  
-    *  ==&gt; {"Bob", "Fred", "George"} <co
-                  linkends="sda1CalloutFunctionalJunit-3"
-                  xml:id="sda1CalloutFunctionalJunit-3-co"/>
-    *  
+    *
+    *  ==&gt; {"Bob", "Fred", "George"} <co linkends="sda1CalloutFunctionalJunit-3" xml:id="sda1CalloutFunctionalJunit-3-co" />
+    *
     */
    @Test
    public void allMaleDistinctNameOrderedByEmail() {
-      
-      List&lt;String&gt; emails = <co linkends="sda1CalloutFunctionalJunit-4"
-                  xml:id="sda1CalloutFunctionalJunit-4-co"/>
+
+      List&lt;String&gt; emails = <co linkends="sda1CalloutFunctionalJunit-4" xml:id="sda1CalloutFunctionalJunit-4-co" />
             roster.
             stream().
             filter(s -&gt; s.gender == Sex.MALE).
@@ -924,39 +787,33 @@ Document contains 15 elements and 3 attributes.</screen>
             map(Student::getName).
             distinct().
             collect(Collectors.toList());
-      
-      assertThat(emails,  <co linkends="sda1CalloutFunctionalJunit-5"
-                  xml:id="sda1CalloutFunctionalJunit-5-co"/>
-            Matchers.&lt;List&lt;String&gt;&gt; equalTo( 
-                  ImmutableList.of("Bob", "Fred", "George") 
-                  ) 
+
+      assertThat(emails,  <co linkends="sda1CalloutFunctionalJunit-5" xml:id="sda1CalloutFunctionalJunit-5-co" />
+            Matchers.&lt;List&lt;String&gt;&gt; equalTo(
+                  ImmutableList.of("Bob", "Fred", "George")
+                  )
             );
    }</programlisting>
 
               <calloutlist>
-                <callout arearefs="sda1CalloutFunctionalJunit-1-co"
-                         xml:id="sda1CalloutFunctionalJunit-1">
+                <callout arearefs="sda1CalloutFunctionalJunit-1-co" xml:id="sda1CalloutFunctionalJunit-1">
                   <para>An informal description of the desired outcome.</para>
                 </callout>
 
-                <callout arearefs="sda1CalloutFunctionalJunit-2-co"
-                         xml:id="sda1CalloutFunctionalJunit-2">
+                <callout arearefs="sda1CalloutFunctionalJunit-2-co" xml:id="sda1CalloutFunctionalJunit-2">
                   <para>A list of records illustrating a processing
                   step.</para>
                 </callout>
 
-                <callout arearefs="sda1CalloutFunctionalJunit-3-co"
-                         xml:id="sda1CalloutFunctionalJunit-3">
+                <callout arearefs="sda1CalloutFunctionalJunit-3-co" xml:id="sda1CalloutFunctionalJunit-3">
                   <para>An informal description of the desired output.</para>
                 </callout>
 
-                <callout arearefs="sda1CalloutFunctionalJunit-4-co"
-                         xml:id="sda1CalloutFunctionalJunit-4">
+                <callout arearefs="sda1CalloutFunctionalJunit-4-co" xml:id="sda1CalloutFunctionalJunit-4">
                   <para>A stream pipeline yielding the result.</para>
                 </callout>
 
-                <callout arearefs="sda1CalloutFunctionalJunit-5-co"
-                         xml:id="sda1CalloutFunctionalJunit-5">
+                <callout arearefs="sda1CalloutFunctionalJunit-5-co" xml:id="sda1CalloutFunctionalJunit-5">
                   <para>A unit test checking for correctness.</para>
                 </callout>
               </calloutlist>
@@ -966,31 +823,21 @@ Document contains 15 elements and 3 attributes.</screen>
 
               <tip>
                 <para>Unit tests for this type of work frequently require
-                comparing <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">List</classname>
-                and <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html">Map</classname>
-                objects. The above code <coref
-                linkend="sda1CalloutFunctionalJunit-5-co"/> uses <link
-                xlink:href="https://github.com/google/guava/wiki">Guava</link>
-                for creating <link
-                xlink:href="https://github.com/google/guava/wiki/ImmutableCollectionsExplained">immutable
+                comparing <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">List</classname>
+                and <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.html">Map</classname>
+                objects. The above code <coref linkend="sda1CalloutFunctionalJunit-5-co" /> uses <link xlink:href="https://github.com/google/guava/wiki">Guava</link>
+                for creating <link xlink:href="https://github.com/google/guava/wiki/ImmutableCollectionsExplained">immutable
                 collections</link> representing expected outcomes.</para>
 
-                <para>On the other end <productname
-                xlink:href="http://hamcrest.org/">Hamcrest</productname>
-                allows for using these collections <link
-                xlink:href="https://code.google.com/p/hamcrest/wiki/Tutorial">to
+                <para>On the other end <productname xlink:href="http://hamcrest.org/">Hamcrest</productname>
+                allows for using these collections <link xlink:href="https://github.com/hamcrest/JavaHamcrest/wiki/The-Hamcrest-Tutorial">to
                 be compared</link> with actual test outcomes. The test
                 <methodname>public void studentNamesBySex()</methodname>
-                contains a more complex example constructing a <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html">Map</classname>.</para>
+                contains a more complex example constructing a <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Map.html">Map</classname>.</para>
 
                 <para>Larger numbers of immutable collection items may require
-                using the <methodname
-                xlink:href="http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/ImmutableMap.Builder.html#put(java.util.Map.Entry)">put()</methodname>
-                method being described in the topmost example of <classname
-                xlink:href="http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/ImmutableMap.Builder.html">ImmutableMap.Builder</classname>
+                using the <methodname xlink:href="https://google.github.io/guava/releases/25.1-jre/api/docs//com/google/common/collect/ImmutableMap.Builder.html#put-K-V-">put()</methodname>
+                method being described in the topmost example of <classname xlink:href="https://google.github.io/guava/releases/snapshot-jre/api/docs/com/google/common/collect/ImmutableMap.Builder.html">ImmutableMap.Builder</classname>
                 rather than merely a constructor.</para>
               </tip>
             </question>
@@ -1012,14 +859,12 @@ Document contains 15 elements and 3 attributes.</screen>
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Instead of transforming our <link
-              linkend="simpleCatalog">simple catalog</link> into textual
-              output in <xref linkend="sda1_dom_fig_TreeTraversal"/> we may
-              also create <xref linkend="glo_XHTML"/> pages like:</para>
+              <para>Instead of transforming our <link linkend="simpleCatalog">simple catalog</link> into textual
+              output in <xref linkend="sda1_dom_fig_TreeTraversal" /> we may
+              also create <xref linkend="glo_XHTML" /> pages like:</para>
 
               <programlisting language="xml">&lt;!DOCTYPE html&gt;
-&lt;!-- Static content section--&gt; <co
-                  xml:id="sda1CatalogStaticContentSection"/>
+&lt;!-- Static content section--&gt; <co xml:id="sda1CatalogStaticContentSection" />
 &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
   &lt;head&gt;
     &lt;title&gt;Available articles&lt;/title&gt;
@@ -1031,15 +876,12 @@ Document contains 15 elements and 3 attributes.</screen>
         &lt;tr /&gt;
         &lt;th&gt;Article Description&lt;/th&gt;
         &lt;th&gt;Order Number&lt;/th&gt;
-        &lt;!-- End of static, beginning of dynamic section--&gt; <co
-                  xml:id="sda1CatalogDynamicContentSection"/>
+        &lt;!-- End of static, beginning of dynamic section--&gt; <co xml:id="sda1CatalogDynamicContentSection" />
         &lt;tr&gt;
-          &lt;td align="left"&gt;<emphasis role="bold">Swinging headset</emphasis>&lt;/td&gt;&lt;td&gt;<emphasis
-                  role="bold">3218</emphasis>&lt;/td&gt;
+          &lt;td align="left"&gt;<emphasis role="bold">Swinging headset</emphasis>&lt;/td&gt;&lt;td&gt;<emphasis role="bold">3218</emphasis>&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr&gt;
-          &lt;td align="left"&gt;<emphasis role="bold">200W Stereo Amplifier</emphasis>&lt;/td&gt;&lt;td&gt;<emphasis
-                  role="bold">9921</emphasis>&lt;/td&gt;
+          &lt;td align="left"&gt;<emphasis role="bold">200W Stereo Amplifier</emphasis>&lt;/td&gt;&lt;td&gt;<emphasis role="bold">9921</emphasis>&lt;/td&gt;
         &lt;/tr&gt;
       &lt;/tbody&gt;
     &lt;/table&gt;
@@ -1049,29 +891,19 @@ Document contains 15 elements and 3 attributes.</screen>
               <para>Rather then just
               coding<code>...println(&lt;html&gt;\n\t&lt;head&gt;...)</code>
               statements you are expected to implement a more sophisticated
-              solution: We may combine <xref
-              linkend="sda1_dom_fig_TreeTraversal"/> and <xref
-              linkend="createDocModify"/>. The idea is parsing the <link
-              linkend="simpleCatalog">XML catalog instance</link> to a <xref
-              linkend="glo_Java"/> <xref linkend="glo_DOM"/> object as before.
-              Then construct a <emphasis>second</emphasis> <xref
-              linkend="glo_DOM"/> tree representing the desired HTML output
-              and fill in the article information from the first <xref
-              linkend="glo_DOM"/> tree accordingly.</para>
+              solution: We may combine <xref linkend="sda1_dom_fig_TreeTraversal" /> and <xref linkend="createDocModify" />. The idea is parsing the <link linkend="simpleCatalog">XML catalog instance</link> to a <xref linkend="glo_Java" /> <xref linkend="glo_DOM" /> object as before.
+              Then construct a <emphasis>second</emphasis> <xref linkend="glo_DOM" /> tree representing the desired HTML output
+              and fill in the article information from the first <xref linkend="glo_DOM" /> tree accordingly.</para>
 
               <tip>
-                <para>The desired <xref linkend="glo_HTML"/> output does
-                contain both static <coref
-                linkend="sda1CatalogStaticContentSection"/> and dynamic
-                content <coref linkend="sda1CatalogDynamicContentSection"/>
-                with respect to a given <xref linkend="glo_XML"/> <link
-                linkend="simpleCatalog">catalog input</link>.</para>
-
-                <para>The static content may be implemented as in <xref
-                linkend="sda1_dom_createXmlFromScratch"/>. Regarding dynamic
-                content you'll have to parse your <link
-                linkend="simpleCatalog">catalog input</link> and construct the
-                <xref linkend="glo_HTML"/>'s table lines in a similar fashion
+                <para>The desired <xref linkend="glo_HTML" /> output does
+                contain both static <coref linkend="sda1CatalogStaticContentSection" /> and dynamic
+                content <coref linkend="sda1CatalogDynamicContentSection" />
+                with respect to a given <xref linkend="glo_XML" /> <link linkend="simpleCatalog">catalog input</link>.</para>
+
+                <para>The static content may be implemented as in <xref linkend="sda1_dom_createXmlFromScratch" />. Regarding dynamic
+                content you'll have to parse your <link linkend="simpleCatalog">catalog input</link> and construct the
+                <xref linkend="glo_HTML" />'s table lines in a similar fashion
                 by iterating over <code>&lt;item
                 orderNo="..."&gt;...&lt;/item&gt;</code> elements .</para>
               </tip>
@@ -1102,29 +934,27 @@ public class HtmlTree {
     * Create a HTML skeleton (&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;...&amp;lt;body&amp;gt; ...&amp;lt;/body&amp;gt;&amp;lt;/head&amp;gt;
     * to be filled in later by calling {@link #appendItem(String, String)}.
     *
-    * @param titleText 
+    * @param titleText
     *   The document's title, e.g. "Available articles"
-    *   
+    *
     * @param tableHeaderFields
     *   The articles will be displayed as HTML table with these header fields
     *   e.g. {"Article Description", "Order Number" }
     */
    public HtmlTree(final String titleText,
-         final String[] tableHeaderFields) { <co
-                  linkends="programlisting_catalog2html_htmlskel_co"
-                  xml:id="programlisting_catalog2html_htmlskel"/>
+         final String[] tableHeaderFields) { <co linkends="programlisting_catalog2html_htmlskel_co" xml:id="programlisting_catalog2html_htmlskel" />
 
       final DocType doctype =  new DocType("html",
-            "-//W3C//DTD XHTML 1.0 Strict//EN", 
+            "-//W3C//DTD XHTML 1.0 Strict//EN",
             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd");
 
       final Element htmlRoot = new Element("html");
-      
+
       final Document htmlOutput = new Document (htmlRoot, doctype);
       htmlOutput.addContent(0, new Comment(" Static content section"));
-      
+
       // We create a HTML skeleton including a yet empty table
-      final Element 
+      final Element
             head = new Element("head"),
             body = new Element("body"),
             table = new Element("table");
@@ -1132,32 +962,30 @@ public class HtmlTree {
       htmlRoot.addContent(head).addContent(body);
 
       head.addContent(new Element("title").addContent(new Text(titleText)));
-      
+
       body.addContent(new Element("h1").addContent(new Text(titleText)));
 
       body.addContent(table);
 
       tableBody = new Element("tbody");
       table.addContent(tableBody);
-      
+
       final Element tr = new Element("tr");
       tableBody.addContent(tr);
       for (final String headerField:  tableHeaderFields) {
          tr.addContent(new Element("th").addContent(new Text(headerField)));
       }
-      
+
       tableBody.addContent(new Comment(" End of static, beginning of dynamic section"));
    }
-   
+
    /**
     * Inserting an &amp;lt;item&amp;gt; as a new table row with two &amp;lt;td&amp;gt; elements.
-    * 
+    *
     * @param itemName The item's name (e.g. Tennis racket)
     * @param orderNo The item's order number
     */
-   public void appendItem(final String itemName, final String orderNo) { <co
-                  linkends="programlisting_catalog2html_insertproduct_co"
-                  xml:id="programlisting_catalog2html_insertproduct"/>
+   public void appendItem(final String itemName, final String orderNo) { <co linkends="programlisting_catalog2html_insertproduct_co" xml:id="programlisting_catalog2html_insertproduct" />
       final Element tr = new Element("tr");
       tableBody.addContent(tr);
       tr.addContent(new Element("td").addContent(new Text(itemName)));
@@ -1190,8 +1018,7 @@ public class HtmlTree {
 }</programlisting>
 
               <calloutlist>
-                <callout arearefs="programlisting_catalog2html_htmlskel"
-                         xml:id="programlisting_catalog2html_htmlskel_co">
+                <callout arearefs="programlisting_catalog2html_htmlskel" xml:id="programlisting_catalog2html_htmlskel_co">
                   <para>A basic HTML skeleton is is being created:</para>
 
                   <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
@@ -1217,8 +1044,7 @@ public class HtmlTree {
                   this point and thus invalid.</para>
                 </callout>
 
-                <callout arearefs="programlisting_catalog2html_insertproduct"
-                         xml:id="programlisting_catalog2html_insertproduct_co">
+                <callout arearefs="programlisting_catalog2html_insertproduct" xml:id="programlisting_catalog2html_insertproduct_co">
                   <para>Calling
                   <methodname>solve.dom.HtmlTree.appendItem(String,String)</methodname>
                   once per <tag class="starttag">item</tag> completes the
@@ -1245,78 +1071,65 @@ public class HtmlTree {
 import ...
 
 public class Article2Html {
-   
+
   private final SAXBuilder builder = new SAXBuilder();
   private final HtmlTree htmlResult;
 
   /**
    * Instances of this class allow for reading XML catalogs and delegate
    * XHTML transformation to a {@link HtmlTree} object,
-   * see {@link #process(String, PrintStream)}. 
+   * see {@link #process(String, PrintStream)}.
    */
   public Article2Html() {
-    
+
      builder.setErrorHandler(new MySaxErrorHandler(System.out));
-    
-     htmlResult = new HtmlTree("Available articles", new String[] { <co
-                  linkends="programlisting_catalog2html_glue_createhtmldom_co"
-                  xml:id="programlisting_catalog2html_glue_createhtmldom"/>
+
+     htmlResult = new HtmlTree("Available articles", new String[] { <co linkends="programlisting_catalog2html_glue_createhtmldom_co" xml:id="programlisting_catalog2html_glue_createhtmldom" />
         "Article Description", "Order Number" });
   }
 
   /** Read an Xml catalog instance and insert product names among with their order numbers
-   *  into a HTML DOM. Then serialize the resulting HTML tree to a stream. 
-   * 
-   * @param 
+   *  into a HTML DOM. Then serialize the resulting HTML tree to a stream.
+   *
+   * @param
    *   filename of the Xml source.
    * @param out
-   *    The output stream for HTML serialization. 
+   *    The output stream for HTML serialization.
    * @throws IOException In case filename cannot be opened
    * @throws JDOMException Parsing error
-   * 
+   *
    */
   public void process(final String filename, final PrintStream out) throws JDOMException, IOException{
-    final List&lt;Element&gt; items = 
+    final List&lt;Element&gt; items =
 //          builder.build(filename).getRootElement().getChildren();
     builder.build(getClass().getClassLoader().getResource(filename)).getRootElement().getChildren();
-    
-    for (final Element item : items) { <co
-                  linkends="programlisting_catalog2html_glue_prodloop_co"
-                  xml:id="programlisting_catalog2html_glue_prodloop"/>
-       htmlResult.appendItem(item.getText(), 
-                 item.getAttributeValue("orderNo")); <co
-                  linkends="programlisting_catalog2html_glue_insertprod_co"
-                  xml:id="programlisting_catalog2html_glue_insertprod"/>
+
+    for (final Element item : items) { <co linkends="programlisting_catalog2html_glue_prodloop_co" xml:id="programlisting_catalog2html_glue_prodloop" />
+       htmlResult.appendItem(item.getText(),
+                 item.getAttributeValue("orderNo")); <co linkends="programlisting_catalog2html_glue_insertprod_co" xml:id="programlisting_catalog2html_glue_insertprod" />
     }
-    htmlResult.serialize(out); <co
-                  linkends="programlisting_catalog2html_glue_serialize_co"
-                  xml:id="programlisting_catalog2html_glue_serialize"/>
+    htmlResult.serialize(out); <co linkends="programlisting_catalog2html_glue_serialize_co" xml:id="programlisting_catalog2html_glue_serialize" />
   }
 }</programlisting>
 
               <calloutlist>
-                <callout arearefs="programlisting_catalog2html_glue_createhtmldom"
-                         xml:id="programlisting_catalog2html_glue_createhtmldom_co">
-                  <para>Create an instance holding a HTML <xref
-                  linkend="glo_DOM"/> with a table header containing the
+                <callout arearefs="programlisting_catalog2html_glue_createhtmldom" xml:id="programlisting_catalog2html_glue_createhtmldom_co">
+                  <para>Create an instance holding a HTML <xref linkend="glo_DOM" /> with a table header containing the
                   strings <emphasis>Article Description</emphasis> and
                   <emphasis>Order Number</emphasis>.</para>
                 </callout>
 
-                <callout arearefs="programlisting_catalog2html_glue_prodloop"
-                         xml:id="programlisting_catalog2html_glue_prodloop_co">
+                <callout arearefs="programlisting_catalog2html_glue_prodloop" xml:id="programlisting_catalog2html_glue_prodloop_co">
                   <para>Iterate over all product nodes.</para>
                 </callout>
 
-                <callout arearefs="programlisting_catalog2html_glue_insertprod"
-                         xml:id="programlisting_catalog2html_glue_insertprod_co">
+                <callout arearefs="programlisting_catalog2html_glue_insertprod" xml:id="programlisting_catalog2html_glue_insertprod_co">
                   <para>Insert the product's name an order number into the
-                  HTML <xref linkend="glo_DOM"/>.</para>
+                  HTML <xref linkend="glo_DOM" />.</para>
                 </callout>
 
-                <callout arearefs="programlisting_catalog2html_glue_serialize"
-                         xml:id="programlisting_catalog2html_glue_serialize_co">
-                  <para>Serialize the completed HTML <xref linkend="glo_DOM"/>
+                <callout arearefs="programlisting_catalog2html_glue_serialize" xml:id="programlisting_catalog2html_glue_serialize_co">
+                  <para>Serialize the completed HTML <xref linkend="glo_DOM" />
                   tree to the output stream.</para>
                 </callout>
               </calloutlist>
@@ -1327,13 +1140,13 @@ public class Article2Html {
     </section>
 
     <section xml:id="sda1SectCleanHtml">
-      <title>Cleaning up <xref linkend="glo_HTML"/>.</title>
+      <title>Cleaning up <xref linkend="glo_HTML" />.</title>
 
       <qandaset defaultlabel="qanda" xml:id="sda1QandaCleanHtml">
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Consider the following <xref linkend="glo_HTML"/> legacy
+              <para>Consider the following <xref linkend="glo_HTML" /> legacy
               document:</para>
 
               <programlisting language="xml">&lt;html xmlns='http://www.w3.org/1999/xhtml'&gt;
@@ -1342,32 +1155,31 @@ public class Article2Html {
   &lt;/head&gt;
   &lt;body&gt;
     &lt;img src='a.gif' align='right'/&gt; &lt;!-- Error:  pre- HTML5 style --&gt;
-    
+
     &lt;p&gt;Some inline image without alignment &lt;img src="b.gif"/&gt;&lt;/p&gt;
     &lt;p&gt;Some inline image with alignment &lt;img src="c.gif" align="bottom"/&gt;&lt;!-- Error:  pre- HTML5 style --&gt;&lt;/p&gt;
   &lt;/body&gt;
 &lt;/html&gt;</programlisting>
 
               <para>The pre-HTML5 <code>align='...'</code>attribute is
-              deprecated and has been replaced by <xref linkend="glo_CSS"/>
+              deprecated and has been replaced by <xref linkend="glo_CSS" />
               <code>style="vertical-align: ...;" or </code><code>style="float:
-              ...;"</code> <link
-              xlink:href="http://www.w3schools.com/tags/att_img_align.asp">respectively</link>:</para>
+              ...;"</code> <link xlink:href="http://www.w3schools.com/tags/att_img_align.asp">respectively</link>:</para>
 
               <programlisting language="xml">&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
   &lt;head&gt;
     &lt;title&gt;A simple image example&lt;/title&gt;
   &lt;/head&gt;
   &lt;body&gt;
-    &lt;img src="a.gif" style="float: right" /&gt; 
-    
+    &lt;img src="a.gif" style="float: right" /&gt;
+
     &lt;p&gt;Some inline image without alignment &lt;img src="b.gif" /&gt;&lt;/p&gt;
     &lt;p&gt;Some inline image with alignment &lt;img src="c.gif" style="vertical-align: bottom;" /&gt;&lt;/p&gt;
   &lt;/body&gt;
 &lt;/html&gt;</programlisting>
 
               <para>Write a JDom based filter application which transforms
-              these legacy declarations to <xref linkend="glo_CSS"/>
+              these legacy declarations to <xref linkend="glo_CSS" />
               accordingly.</para>
 
               <tip>
@@ -1376,45 +1188,37 @@ public class Article2Html {
                 <orderedlist>
                   <listitem>
                     <para>Start by an identity transformation: Parse your
-                    <xref linkend="glo_HTML"/> document to a <xref
-                    linkend="glo_DOM"/> tree and simply serialize this tree to
+                    <xref linkend="glo_HTML" /> document to a <xref linkend="glo_DOM" /> tree and simply serialize this tree to
                     standard output.</para>
                   </listitem>
 
                   <listitem>
-                    <para>Modify the intermediate <xref linkend="glo_DOM"/>
-                    tree. The recursive descent method from <xref
-                    linkend="sda1SectElementVisualize"/> allows for retrieving
+                    <para>Modify the intermediate <xref linkend="glo_DOM" />
+                    tree. The recursive descent method from <xref linkend="sda1SectElementVisualize" /> allows for retrieving
                     all <tag class="emptytag">img ...</tag> elements.</para>
                   </listitem>
 
                   <listitem>
-                    <para>The <methodname
-                    xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html#getAttribute(java.lang.String)">getAttribute(...)</methodname>
-                    method allows for identifying relevant <tag
-                    class="emptytag">img align='...'</tag> elements.</para>
+                    <para>The <methodname xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html#getAttribute(java.lang.String)">getAttribute(...)</methodname>
+                    method allows for identifying relevant <tag class="emptytag">img align='...'</tag> elements.</para>
                   </listitem>
 
                   <listitem>
                     <para>You may then modify <tag class="emptytag">img
-                    align='...'</tag> elements using <methodname
-                    xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html#removeAttribute(org.jdom2.Attribute)">removeAttribute(...)</methodname>
-                    and <methodname
-                    xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html#setAttribute(org.jdom2.Attribute)">setAttribute(...)</methodname>.</para>
+                    align='...'</tag> elements using <methodname xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html#removeAttribute(org.jdom2.Attribute)">removeAttribute(...)</methodname>
+                    and <methodname xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html#setAttribute(org.jdom2.Attribute)">setAttribute(...)</methodname>.</para>
                   </listitem>
                 </orderedlist>
               </tip>
 
-              <para>Optional: Supply an XSLT doing the same job as your <xref
-              linkend="glo_Java"/> application and compare both solution
-              variants. You may want to read <quote
-              xlink:href="http://www.usingxml.com/Transforms/XslIdentity#TheIdentityTransform">The
+              <para>Optional: Supply an XSLT doing the same job as your <xref linkend="glo_Java" /> application and compare both solution
+              variants. You may want to read <quote xlink:href="http://www.usingxml.com/Transforms/XslIdentity#TheIdentityTransform">The
               Identity Transform</quote>. This enables you to:</para>
 
               <orderedlist>
                 <listitem>
-                  <para>Copy most <xref linkend="glo_HTML"/> from input to
-                  output like in your <xref linkend="glo_Java"/>
+                  <para>Copy most <xref linkend="glo_HTML" /> from input to
+                  output like in your <xref linkend="glo_Java" />
                   solution.</para>
                 </listitem>
 
@@ -1435,8 +1239,7 @@ public class Article2Html {
               <code>html2html.xsl</code> style sheet.</para>
 
               <caution>
-                <para>Both solution variants do not account for elements <tag
-                class="emptytag">img ... align='...' style='...'</tag> already
+                <para>Both solution variants do not account for elements <tag class="emptytag">img ... align='...' style='...'</tag> already
                 defining a <code language="xml">style</code> attribute. Any
                 such existing value will be overridden. It is however
                 straightforward extending the current solution to append to
@@ -1451,10 +1254,10 @@ public class Article2Html {
   </section>
 
   <section xml:id="domJavaScript">
-    <title>Using <xref linkend="glo_DOM"/> with HTML/Javascript</title>
+    <title>Using <xref linkend="glo_DOM" /> with HTML/Javascript</title>
 
     <figure xml:id="sda1_dom_fig_domJavascript">
-      <title><xref linkend="glo_DOM"/> and
+      <title><xref linkend="glo_DOM" /> and
       <productname>Javascript</productname></title>
 
       <itemizedlist>
@@ -1464,13 +1267,13 @@ public class Article2Html {
         </listitem>
 
         <listitem>
-          <para>Full <xref linkend="glo_DOM"/> support.</para>
+          <para>Full <xref linkend="glo_DOM" /> support.</para>
         </listitem>
       </itemizedlist>
     </figure>
 
     <figure xml:id="sda1_dom_fig_domJavascriptExample">
-      <title><xref linkend="glo_DOM"/> <productname>Javascript</productname>
+      <title><xref linkend="glo_DOM" /> <productname>Javascript</productname>
       example</title>
 
       <programlisting language="javascript">function sortables_init() {
@@ -1486,13 +1289,12 @@ public class Article2Html {
     </figure>
 
     <figure xml:id="sda1_dom_fig_domJavascriptDemo">
-      <title><xref linkend="glo_DOM"/> <productname>Javascript</productname>
+      <title><xref linkend="glo_DOM" /> <productname>Javascript</productname>
       demo</title>
 
       <itemizedlist>
         <listitem>
-          <para><uri
-          xlink:href="https://kryogenix.org/code/browser/sorttable">https://kryogenix.org/code/browser/sorttable</uri>
+          <para><uri xlink:href="https://kryogenix.org/code/browser/sorttable">https://kryogenix.org/code/browser/sorttable</uri>
           or <link xlink:href="/Sda1/Ref/src/tablesort.html">local
           copy</link></para>
         </listitem>
@@ -1523,15 +1325,14 @@ public class Article2Html {
   </section>
 
   <section xml:id="domXpath">
-    <title><xref linkend="glo_DOM"/> and <acronym
-    xlink:href="https://www.w3.org/TR/xpath">XPath</acronym></title>
+    <title><xref linkend="glo_DOM" /> and <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym></title>
 
     <figure xml:id="sda1_dom_fig_whyXpath">
-      <title>Why using <xref linkend="glo_XPath"/> ?</title>
+      <title>Why using <xref linkend="glo_XPath" /> ?</title>
 
       <itemizedlist>
         <listitem>
-          <para><xref linkend="sda1_dom_fig_TreeTraversal"/>
+          <para><xref linkend="sda1_dom_fig_TreeTraversal" />
           cumbersome/error-prone on complex hierarchies.</para>
         </listitem>
 
@@ -1546,30 +1347,43 @@ public class Article2Html {
     </figure>
 
     <figure xml:id="sda1_dom_fig_xpathJava">
-      <title><xref linkend="glo_XPath"/> and <xref
-      linkend="glo_Jdom"/></title>
+      <title><xref linkend="glo_XPath" /> and <xref linkend="glo_Jdom" /></title>
 
       <itemizedlist>
         <listitem>
-          <para>Addressing node sets in <xref linkend="glo_XML"/>
+          <para>Addressing node sets in <xref linkend="glo_XML" />
           trees.</para>
         </listitem>
 
         <listitem>
-          <para>Conceptional <xref linkend="glo_SQL"/> similarity.</para>
+          <para>Conceptional <xref linkend="glo_SQL" /> similarity.</para>
         </listitem>
 
         <listitem>
-          <para><link
-          xlink:href="https://docs.oracle.com/javase/tutorial/collections">Collections</link>
+          <para><link xlink:href="https://docs.oracle.com/javase/tutorial/collections">Collections</link>
           representing result sets.</para>
         </listitem>
       </itemizedlist>
     </figure>
 
+    <figure xml:id="sda1_fig_jdomMavenConfigXpath">
+      <title><xref linkend="glo_XPath" /> on top of <xref linkend="glo_Jdom" /></title>
+
+      <programlisting language="xml">&lt;dependency&gt;                  <emphasis role="bold">&lt;!-- Jdom itself --&gt;</emphasis>
+  &lt;groupId&gt;org.jdom&lt;/groupId&gt;
+  &lt;artifactId&gt;<link xlink:href="https://mvnrepository.com/artifact/org.jdom/jdom2">jdom2</link>&lt;/artifactId&gt;
+  &lt;version&gt;2.0.6&lt;/version&gt;
+&lt;/dependency&gt;
+
+&lt;dependency&gt;                  <emphasis role="bold">&lt;!-- XPath support for Jdom --&gt;</emphasis>
+  &lt;groupId&gt;jaxen&lt;/groupId&gt;
+  &lt;artifactId&gt;<link xlink:href="https://mvnrepository.com/artifact/jaxen/jaxen">jaxen</link>&lt;/artifactId&gt;
+  &lt;version&gt;1.1.6&lt;/version&gt;
+&lt;/dependency&gt; ...</programlisting>
+    </figure>
+
     <figure xml:id="sda1_dom_fig_htmlImg">
-      <title><xref linkend="glo_HTML"/> containing <tag
-      class="starttag">img</tag> tags.</title>
+      <title><xref linkend="glo_HTML" /> containing <tag class="starttag">img</tag> tags.</title>
 
       <programlisting language="xml">&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
   &lt;head&gt;&lt;title&gt;Picture gallery&lt;/title&gt;&lt;/head&gt;
@@ -1601,8 +1415,7 @@ public class Article2Html {
         <listitem>
           <para>Possibly additional search restrictions <abbrev>e.g.:</abbrev>
           <quote>searching for <tag class="emptytag">img</tag> elements
-          missing an <varname
-          xlink:href="https://www.w3schools.com/tags/att_img_alt.asp">alt</varname>
+          missing an <varname xlink:href="https://www.w3schools.com/tags/att_img_alt.asp">alt</varname>
           attribute</quote>.</para>
         </listitem>
       </itemizedlist>
@@ -1613,9 +1426,9 @@ public class Article2Html {
       script extracting images.</title>
 
       <informaltable border="1">
-        <colgroup width="64%"/>
+        <colgroup width="64%" />
 
-        <colgroup width="36%"/>
+        <colgroup width="36%" />
 
         <tr>
           <td valign="top"><programlisting language="xml">&lt;xsl:stylesheet version="1.0"
@@ -1632,15 +1445,13 @@ public class Article2Html {
 
 &lt;/xsl:stylesheet&gt;</programlisting></td>
 
-          <td valign="top"><para>Result acting on <xref
-          linkend="sda1_dom_fig_htmlImg"/>:</para><screen>inline.gif one.gif two.gif</screen></td>
+          <td valign="top"><para>Result acting on <xref linkend="sda1_dom_fig_htmlImg" />:</para><screen>inline.gif one.gif two.gif</screen></td>
         </tr>
       </informaltable>
     </figure>
 
     <para>Note the necessity for <code>html</code> namespace (by prefix)
-    inclusion into the <acronym
-    xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> expression in
+    inclusion into the <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> expression in
     <code>&lt;xsl:for-each select="//html:img"&gt;</code>. A simple
     <code>select="//img"&gt;</code> results in an empty node set. Executing
     the <abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> script
@@ -1648,28 +1459,22 @@ public class Article2Html {
     <code>inline.gif one.gif two.gif</code>.</para>
 
     <para>As a preparation for an application checking image accessibility we
-    want to rewrite the above <xref linkend="glo_XSL"/> as a <xref
-    linkend="glo_Java"/> application. A simple approach may pipe the <abbrev
-    xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> output to our
+    want to rewrite the above <xref linkend="glo_XSL" /> as a <xref linkend="glo_Java" /> application. A simple approach may pipe the <abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> output to our
     application which then executes the readability checks. Instead we
-    implement an <acronym
-    xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> based search
-    within our <xref linkend="glo_Java"/> application. Trying to resemble the
+    implement an <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> based search
+    within our <xref linkend="glo_Java" /> application. Trying to resemble the
     <abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> actions as
-    closely as possible our application will search for <link
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/org/w3c/dom/Element.html">Element</link>
-    nodes using the <acronym
-    xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> expression
+    closely as possible our application will search for <link xlink:href="https://docs.oracle.com/javase/10/docs/api/org/w3c/dom/Element.html">Element</link>
+    nodes using the <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> expression
     <code>//html:img</code>.</para>
 
     <figure xml:id="sda1_dom_fig_domSaxImgParse">
       <title>Setting up the parser</title>
 
-      <programlisting language="java">public class <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/NoCast/src/main/java/de/hdm_stuttgart/mi/sda1/nocast/DomXpath.java">DomXpath</link> {
+      <programlisting language="java">public class <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/NoCast/src/main/java/de/hdm_stuttgart/mi/sda1/nocast/DomXpath.java">DomXpath</link> {
   private final SAXBuilder builder = new SAXBuilder();
 
-  public List&lt;Element&gt; process(final String xhtmlFilename) 
+  public List&lt;Element&gt; process(final String xhtmlFilename)
                 throws JDOMException, IOException {
 
     final Document htmlInput = builder.build(xhtmlFilename);
@@ -1678,67 +1483,50 @@ public class Article2Html {
 }</programlisting>
 
       <tip>
-        <para>Complete code <link
-        xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sda1/NoCast">available
+        <para>Complete code <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sda1/NoCast">available
         here</link>.</para>
       </tip>
     </figure>
 
     <figure xml:id="sda1_dom_fig_domXpathImgSearch">
-      <title>Search using <xref linkend="glo_XPath"/>
+      <title>Search using <xref linkend="glo_XPath" />
       <code>//html:img</code></title>
 
-      <programlisting language="java">static final Namespace htmlNamespace <co
-          linkends="sda1_dom_fig_domXpathImgSearch-1"
-          xml:id="sda1_dom_fig_domXpathImgSearch-1-co"/> =
+      <programlisting language="java">static final Namespace htmlNamespace <co linkends="sda1_dom_fig_domXpathImgSearch-1" xml:id="sda1_dom_fig_domXpathImgSearch-1-co" /> =
   Namespace.getNamespace("html", "http://www.w3.org/1999/xhtml");
 
 static final XPathExpression&lt;Element&gt; xpathSearchImg =
   XPathFactory.instance().compile(
-    "//html:img" <co linkends="sda1_dom_fig_domXpathImgSearch-2"
-          xml:id="sda1_dom_fig_domXpathImgSearch-2-co"/>,
-    new ElementFilter()<co linkends="sda1_dom_fig_domXpathImgSearch-3"
-          xml:id="sda1_dom_fig_domXpathImgSearch-3-co"/>,
-    null <co linkends="sda1_dom_fig_domXpathImgSearch-4"
-          xml:id="sda1_dom_fig_domXpathImgSearch-4-co"/>,
-    htmlNamespace <co linkends="sda1_dom_fig_domXpathImgSearch-5"
-          xml:id="sda1_dom_fig_domXpathImgSearch-5-co"/>);</programlisting>
+    "//html:img" <co linkends="sda1_dom_fig_domXpathImgSearch-2" xml:id="sda1_dom_fig_domXpathImgSearch-2-co" />,
+    new ElementFilter()<co linkends="sda1_dom_fig_domXpathImgSearch-3" xml:id="sda1_dom_fig_domXpathImgSearch-3-co" />,
+    null <co linkends="sda1_dom_fig_domXpathImgSearch-4" xml:id="sda1_dom_fig_domXpathImgSearch-4-co" />,
+    htmlNamespace <co linkends="sda1_dom_fig_domXpathImgSearch-5" xml:id="sda1_dom_fig_domXpathImgSearch-5-co" />);</programlisting>
     </figure>
 
     <calloutlist>
-      <callout arearefs="sda1_dom_fig_domXpathImgSearch-1-co"
-               xml:id="sda1_dom_fig_domXpathImgSearch-1">
-        <para>Associating prefix <code>html</code> and <xref
-        linkend="glo_HTML"/> namespace
+      <callout arearefs="sda1_dom_fig_domXpathImgSearch-1-co" xml:id="sda1_dom_fig_domXpathImgSearch-1">
+        <para>Associating prefix <code>html</code> and <xref linkend="glo_HTML" /> namespace
         <code>http://www.w3.org/1999/xhtml</code>.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_domXpathImgSearch-2-co"
-               xml:id="sda1_dom_fig_domXpathImgSearch-2">
+      <callout arearefs="sda1_dom_fig_domXpathImgSearch-2-co" xml:id="sda1_dom_fig_domXpathImgSearch-2">
         <para>Searching <tag class="starttag">img</tag> elements belonging to
         the namespace <code>http://www.w3.org/1999/xhtml</code> linked by the
         <code>html</code> prefix.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_domXpathImgSearch-3-co"
-               xml:id="sda1_dom_fig_domXpathImgSearch-3">
-        <para>Selecting only <classname
-        xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html">Element</classname>
-        instances rather than other sub classed objects below <link
-        xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Content.html">Content</link>.</para>
+      <callout arearefs="sda1_dom_fig_domXpathImgSearch-3-co" xml:id="sda1_dom_fig_domXpathImgSearch-3">
+        <para>Selecting only <classname xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html">Element</classname>
+        instances rather than other sub classed objects below <link xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Content.html">Content</link>.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_domXpathImgSearch-4-co"
-               xml:id="sda1_dom_fig_domXpathImgSearch-4">
-        <para>Using no parameters. See <link
-        xlink:href="http://www.jdom.org/pipermail/jdom-interest/2012-May/016850.html">[jdom-interest]
+      <callout arearefs="sda1_dom_fig_domXpathImgSearch-4-co" xml:id="sda1_dom_fig_domXpathImgSearch-4">
+        <para>Using no parameters. See <link xlink:href="http://www.jdom.org/pipermail/jdom-interest/2012-May/016850.html">[jdom-interest]
         XPath examples</link> for parameterized queries.</para>
       </callout>
 
-      <callout arearefs="sda1_dom_fig_domXpathImgSearch-5-co"
-               xml:id="sda1_dom_fig_domXpathImgSearch-5">
-        <para>Using previously defined namespace. The ellipsis in <methodname
-        xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/xpath/XPathFactory.html#compile(java.lang.String,%20org.jdom2.filter.Filter,%20java.util.Map,%20org.jdom2.Namespace...)">compile</methodname>
+      <callout arearefs="sda1_dom_fig_domXpathImgSearch-5-co" xml:id="sda1_dom_fig_domXpathImgSearch-5">
+        <para>Using previously defined namespace. The ellipsis in <methodname xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/xpath/XPathFactory.html#compile(java.lang.String,%20org.jdom2.filter.Filter,%20java.util.Map,%20org.jdom2.Namespace...)">compile</methodname>
         supports multiple namespace definitions.</para>
       </callout>
     </calloutlist>
@@ -1766,8 +1554,7 @@ static final XPathExpression&lt;Element&gt; xpathSearchImg =
       <qandadiv>
         <qandaentry>
           <question>
-            <para>We want to extend the example given in <xref
-            linkend="domFindImages"/> by testing the existence and checking
+            <para>We want to extend the example given in <xref linkend="domFindImages" /> by testing the existence and checking
             for readability of referenced images. The following HTML document
             contains <quote>dead</quote> image references:</para>
 
@@ -1784,7 +1571,7 @@ static final XPathExpression&lt;Element&gt; xpathSearchImg =
       &lt;tbody&gt;
         &lt;tr&gt;
           &lt;td&gt;An existing picture:&lt;/td&gt;
-          &lt;td&gt;&lt;img 
+          &lt;td&gt;&lt;img
              src="https://www.hdm-stuttgart.de/bilder_navigation/laptop.gif"
              alt="none"/&gt;&lt;/td&gt;
         &lt;/tr&gt;
@@ -1799,18 +1586,15 @@ static final XPathExpression&lt;Element&gt; xpathSearchImg =
   &lt;/body&gt;
 &lt;/html&gt;</programlisting>
 
-            <para>Write an application which checks for readability of <abbrev
-            xlink:href="https://www.ietf.org/rfc/rfc1738.txt">URL</abbrev>
+            <para>Write an application which checks for readability of <abbrev xlink:href="https://www.ietf.org/rfc/rfc1738.txt">URL</abbrev>
             image references to <emphasis>external</emphasis> Servers starting
             either with <code>http://</code> or <code>https://</code> ignoring
             other protocol types. Internal image references referring to the
             <quote>current</quote> server typically look like <code>&lt;img
             src="/images/test.gif"</code>. So in order to distinguish these
-            two types of references we may use the XSL built in function <link
-            xlink:href="http://www.cafeconleche.org/books/bible2/chapters/ch17.html">starts-with()</link>
+            two types of references we may use the XSL built in function <link xlink:href="http://www.cafeconleche.org/books/bible2/chapters/ch17.html">starts-with()</link>
             testing for the <code>http</code> or <code>https</code> protocol
-            definition part of an <abbrev
-            xlink:href="https://www.ietf.org/rfc/rfc1738.txt">URL</abbrev>.
+            definition part of an <abbrev xlink:href="https://www.ietf.org/rfc/rfc1738.txt">URL</abbrev>.
             <code>ftp</code> addresses shall be ignored completely. A possible
             output corresponding to the above example reads:</para>
 
@@ -1828,8 +1612,7 @@ http://www.hdm-stuttgart.de/rotfl.gif, HTTP Status: false</screen>
               <para>Moreover a web server may return misleading response codes
               if deciding your user agent is unable to handle the current
               resource's content type in question. You may catch a glimpse of
-              related problems by reading <link
-              xlink:href="https://stackoverflow.com/questions/1378199/how-to-check-if-a-url-exists-or-returns-404-with-java">How
+              related problems by reading <link xlink:href="https://stackoverflow.com/questions/1378199/how-to-check-if-a-url-exists-or-returns-404-with-java">How
               to check if a URL exists or returns 404 with
               Java?</link>.</para>
 
@@ -1848,22 +1631,18 @@ http://www.hdm-stuttgart.de/rotfl.gif, HTTP Status: false</screen>
 
               <itemizedlist>
                 <listitem>
-                  <para><link
-                  xlink:href="http://www.studytrails.com/java/xml/jdom2/java-xml-jdom2-namespaces.jsp">Java
+                  <para><link xlink:href="http://www.studytrails.com/java/xml/jdom2/java-xml-jdom2-namespaces.jsp">Java
                   XML - JDOM2 - Namespaces</link></para>
                 </listitem>
 
                 <listitem>
-                  <para><link
-                  xlink:href="http://www.jdom.org/pipermail/jdom-interest/2012-May/016850.html">XPath
+                  <para><link xlink:href="http://www.jdom.org/pipermail/jdom-interest/2012-May/016850.html">XPath
                   examples</link></para>
                 </listitem>
 
                 <listitem>
-                  <para>For analyzing the accessibility of referenced <xref
-                  linkend="glo_HTTP"/> / <acronym>HTTPS</acronym> resources
-                  see the previously mentioned discussion in <link
-                  xlink:href="https://stackoverflow.com/questions/1378199/how-to-check-if-a-url-exists-or-returns-404-with-java">How
+                  <para>For analyzing the accessibility of referenced <xref linkend="glo_HTTP" /> / <acronym>HTTPS</acronym> resources
+                  see the previously mentioned discussion in <link xlink:href="https://stackoverflow.com/questions/1378199/how-to-check-if-a-url-exists-or-returns-404-with-java">How
                   to check if a URL exists or returns 404 with
                   Java?</link>.</para>
                 </listitem>
@@ -1873,8 +1652,7 @@ http://www.hdm-stuttgart.de/rotfl.gif, HTTP Status: false</screen>
 
           <answer>
             <para>We are interested in the set of images within a given HTML
-            document containing an <link
-            xlink:href="https://www.w3.org/Addressing">URL</link> reference
+            document containing an <link xlink:href="https://www.w3.org/Addressing">URL</link> reference
             starting with either of:</para>
 
             <itemizedlist>
@@ -1891,11 +1669,10 @@ http://www.hdm-stuttgart.de/rotfl.gif, HTTP Status: false</screen>
               </listitem>
             </itemizedlist>
 
-            <para>This may be achieved by the following <acronym
-            xlink:href="https://www.w3.org/TR/xpath">XPath</acronym>
+            <para>This may be achieved by the following <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym>
             expression:</para>
 
-            <programlisting language="xpath">//html:img[starts-with(@src, 'http://') or 
+            <programlisting language="xpath">//html:img[starts-with(@src, 'http://') or
         starts-with(@src, 'https://') or starts-with(@src, 'ftp://')]</programlisting>
 
             <para>Checking for reachability happens in:</para>
@@ -1924,26 +1701,23 @@ break;</programlisting>
     <figure xml:id="sda1_dom_fig_domXpathVariables">
       <title>Parameterized search expressions</title>
 
-      <programlisting language="none">Map&lt;String, Object&gt; <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/VerifyInternalReferences/src/main/java/dom/xpath/CheckLocalReferences.java">xpathVarsNamespacePrefix</link> = new HashMap&lt;&gt;();
-xpathVarsNamespacePrefix.put("cssClass", null) ; 
+      <programlisting language="none">Map&lt;String, Object&gt; <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/VerifyInternalReferences/src/main/java/dom/xpath/CheckLocalReferences.java">xpathVarsNamespacePrefix</link> = new HashMap&lt;&gt;();
+xpathVarsNamespacePrefix.put("cssClass", null) ;
 ...
 XPathExpression&lt;Element&gt; searchCssClass = XPathFactory.instance().compile(
   "//html:*[@class = <emphasis role="red">$cssClass</emphasis>]",
   new ElementFilter(), xpathVarsNamespacePrefix, htmlNamespace);
 
-searchCssClass.setVariable(<emphasis>"<emphasis role="red">cssClass</emphasis>"</emphasis>, "<emphasis
-          role="red">header</emphasis>");
+searchCssClass.setVariable(<emphasis>"<emphasis role="red">cssClass</emphasis>"</emphasis>, "<emphasis role="red">header</emphasis>");
 searchCssClass.evaluate(htmlInput) ...
 
 // Reuse by changing $cssClass
-searchCssClass.setVariable("<emphasis role="red">cssClass</emphasis>", "<emphasis
-          role="red">footer</emphasis>");
+searchCssClass.setVariable("<emphasis role="red">cssClass</emphasis>", "<emphasis role="red">footer</emphasis>");
 searchCssClass.evaluate(htmlInput) ...</programlisting>
     </figure>
 
     <qandaset defaultlabel="qanda" xml:id="sda1QandaVerifyInternalReferences">
-      <title><xref linkend="glo_HTML"/> internal reference
+      <title><xref linkend="glo_HTML" /> internal reference
       verification</title>
 
       <qandadiv>
@@ -1957,8 +1731,7 @@ searchCssClass.evaluate(htmlInput) ...</programlisting>
   &lt;/head&gt;
 
   &lt;body&gt;&lt;h1 <emphasis role="red">id="start"</emphasis>&gt;Introduction&lt;/h1&gt;&lt;p&gt;We categorize for &lt;a
-  <emphasis role="red">href="#nativeExec"</emphasis>&gt;native&lt;/a&gt; and &lt;a <emphasis
-                role="red">href="#vmBased"</emphasis>&gt;VM based&lt;/a&gt; &lt;a
+  <emphasis role="red">href="#nativeExec"</emphasis>&gt;native&lt;/a&gt; and &lt;a <emphasis role="red">href="#vmBased"</emphasis>&gt;VM based&lt;/a&gt; &lt;a
   href="https://en.wikipedia.org/wiki/Runtime_system"&gt;runtimes&lt;/a&gt;.&lt;/p&gt;&lt;h1
   <emphasis role="red">id="languages"</emphasis>&gt;Languages&lt;/h1&gt;&lt;dl&gt;
       &lt;dt <emphasis role="red">id="nativeExec"</emphasis>&gt;Native execution code&lt;/dt&gt;
@@ -2017,12 +1790,9 @@ Error: matching target id 'newSection' not found</screen>
               </listitem>
             </orderedlist>
 
-            <para>Both parts may be implemented using <xref
-            linkend="glo_XPath"/> expressions. For the second task you are
-            asked to reuse your <classname
-            xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/xpath/XPathExpression.html">XPathExpression</classname>
-            using the technique being described in <xref
-            linkend="sda1_dom_fig_domXpathVariables"/>.</para>
+            <para>Both parts may be implemented using <xref linkend="glo_XPath" /> expressions. For the second task you are
+            asked to reuse your <classname xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/xpath/XPathExpression.html">XPathExpression</classname>
+            using the technique being described in <xref linkend="sda1_dom_fig_domXpathVariables" />.</para>
           </question>
 
           <answer>
@@ -2030,22 +1800,19 @@ Error: matching target id 'newSection' not found</screen>
               <para role="eclipse">Sda1/VerifyInternalReferences</para>
             </annotation>
 
-            <para><code>h</code> denoting the <xref linkend="glo_HTML"/>
+            <para><code>h</code> denoting the <xref linkend="glo_HTML" />
             namespace prefix we search for local references using:</para>
 
             <programlisting language="xpath">//h:*[starts-with(@href, '#')]</programlisting>
 
-            <para>This task is quite similar to <xref
-            linkend="sda1QandaVerifyImgReadable"/>. We create a reusable <xref
-            linkend="glo_XPath"/> expression searching for targets:</para>
+            <para>This task is quite similar to <xref linkend="sda1QandaVerifyImgReadable" />. We create a reusable <xref linkend="glo_XPath" /> expression searching for targets:</para>
 
             <programlisting language="xpath">//h:*[starts-with(@id, $" + ID_VAR_KEY + ")]</programlisting>
 
             <para>Resolving the variable <varname>ID_VAR_KEY</varname> this
             actually contains <code>//h:*[starts-with(@id, $targetId)]</code>.
             This latter query parameter <varname>$targetId</varname> will be
-            set each time prior to executing the path expression in <classname
-            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/VerifyInternalReferences/src/main/java/dom/xpath/CheckLocalReferences.java">CheckLocalReferences</classname>:</para>
+            set each time prior to executing the path expression in <classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/VerifyInternalReferences/src/main/java/dom/xpath/CheckLocalReferences.java">CheckLocalReferences</classname>:</para>
 
             <programlisting language="java">searchTargetId.setVariable(ID_VAR_KEY, id);
 final int targetCount = searchTargetId.evaluate(htmlInput).size();</programlisting>
@@ -2056,19 +1823,16 @@ final int targetCount = searchTargetId.evaluate(htmlInput).size();</programlisti
   </section>
 
   <section xml:id="domXsl">
-    <title><xref linkend="glo_DOM"/> and <abbrev
-    xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev></title>
-
-    <para><xref linkend="glo_Java"/> based <xref linkend="glo_XML"/>
-    applications may use XSL style sheets for processing. A <xref
-    linkend="glo_DOM"/> tree may for example be transformed into another tree.
-    The package <link
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/javax/xml/transform/package-frame.html">javax.xml.transform</link>
+    <title><xref linkend="glo_DOM" /> and <abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev></title>
+
+    <para><xref linkend="glo_Java" /> based <xref linkend="glo_XML" />
+    applications may use XSL style sheets for processing. A <xref linkend="glo_DOM" /> tree may for example be transformed into another tree.
+    The package <link xlink:href="https://docs.oracle.com/javase/10/docs/api/javax/xml/transform/package-frame.html">javax.xml.transform</link>
     provides interfaces and classes for this purpose. We consider the
     following product catalog example:</para>
 
     <figure xml:id="climbingCatalog">
-      <title>A simplified <xref linkend="glo_XML"/> product catalog</title>
+      <title>A simplified <xref linkend="glo_XML" /> product catalog</title>
 
       <programlisting language="xml">&lt;catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="catalog.xsd"&gt;
@@ -2153,7 +1917,7 @@ final int targetCount = searchTargetId.evaluate(htmlInput).size();</programlisti
       style sheet for catalog transformation to HTML.</title>
 
       <programlisting language="xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   version="2.0" xmlns="http://www.w3.org/1999/xhtml"&gt;
 
   &lt;xsl:template match="/catalog"&gt;
@@ -2181,11 +1945,8 @@ final int targetCount = searchTargetId.evaluate(htmlInput).size();</programlisti
 &lt;/xsl:stylesheet&gt;</programlisting>
     </figure>
 
-    <para>As a preparation for <xref linkend="sda1SectCatalog2html"/> we now
-    demonstrate the usage of <abbrev
-    xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> within a <xref
-    linkend="glo_Java"/> application. This is done by a <link
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/javax/xml/transform/Transformer.html">Transformer</link>
+    <para>As a preparation for <xref linkend="sda1SectCatalog2html" /> we now
+    demonstrate the usage of <abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> within a <xref linkend="glo_Java" /> application. This is done by a <link xlink:href="https://docs.oracle.com/javase/10/docs/api/javax/xml/transform/Transformer.html">Transformer</link>
     instance:</para>
 
     <figure xml:id="xml2xml">
@@ -2198,20 +1959,20 @@ public class Xml2Html {
    private final SAXBuilder builder = new SAXBuilder();
 
    final XSLTransformer transformer;
-   
+
   public Xml2Html(final String xslFilename) throws XSLTransformException {
      builder.setErrorHandler(new MySaxErrorHandler(System.err));
      transformer =  new XSLTransformer(xslFilename);
   }
   public void transform(final String xmlInFilename,
       final String resultFilename) throws JDOMException, IOException {
-    
+
     final Document inDoc = builder.build(xmlInFilename);
     Document result = transformer.transform(inDoc);
-    
+
     // Set formatting for the XML output
     final Format outFormat = Format.getPrettyFormat();
-    
+
     // Serialize to console
     final XMLOutputter printer = new XMLOutputter(outFormat);
     printer.output(result.getDocument(), System.out);
@@ -2231,9 +1992,9 @@ public class Xml2Html {
 public class Xml2HtmlDriver {
 ...
   public static void main(String[] args) {
-    final String 
+    final String
      inFilename = "Input/Dom/climbing.xml",
-     xslFilename = "Input/Dom/catalog2html.xsl", 
+     xslFilename = "Input/Dom/catalog2html.xsl",
      htmlOutputFilename = "Input/Dom/climbing.html";
     try {
       final Xml2Html converter = new Xml2Html(xslFilename);
@@ -2252,21 +2013,20 @@ public class Xml2HtmlDriver {
     <section xml:id="sda1SectNamespaceElementStatistics">
       <title>Namespace / elements statistics</title>
 
-      <qandaset defaultlabel="qanda"
-                xml:id="sda1QandaNamespaceElementStatistics">
+      <qandaset defaultlabel="qanda" xml:id="sda1QandaNamespaceElementStatistics">
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Consider the following <xref linkend="glo_XML"/> document
+              <para>Consider the following <xref linkend="glo_XML" /> document
               example:</para>
 
               <programlisting language="xml">&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     exclude-result-prefixes="xs"
     version="2.0"&gt;
-    
+
     &lt;xsl:output method="xhtml"/&gt;
-    
+
     &lt;xsl:template match="/"&gt;
         &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
             &lt;head&gt;
@@ -2283,7 +2043,7 @@ public class Xml2HtmlDriver {
             &lt;/body&gt;
         &lt;/html&gt;
     &lt;/xsl:template&gt;
-    
+
     &lt;xsl:template match="*"&gt;
         &lt;xsl:message&gt;
             &lt;xsl:text&gt;No rule defined for element '&lt;/xsl:text&gt;
@@ -2291,13 +2051,13 @@ public class Xml2HtmlDriver {
             &lt;xsl:text&gt;'.&lt;/xsl:text&gt;
         &lt;/xsl:message&gt;
     &lt;/xsl:template&gt;
-    
+
 &lt;/xsl:stylesheet&gt;</programlisting>
 
               <informaltable border="1">
-                <colgroup width="31%"/>
+                <colgroup width="31%" />
 
-                <colgroup width="69%"/>
+                <colgroup width="69%" />
 
                 <tr>
                   <td valign="top"><para>The above sample document does
@@ -2327,20 +2087,18 @@ public class Xml2HtmlDriver {
                           <para>Having no namespace prefix.</para>
                         </glossdef>
                       </glossentry>
-                    </glosslist><para>Write a <xref linkend="glo_Jdom"/>
+                    </glosslist><para>Write a <xref linkend="glo_Jdom" />
                   application which generates statistical data like being
-                  represented by <xref linkend="glo_HTML"/> to the
+                  represented by <xref linkend="glo_HTML" /> to the
                   right.</para><para>Your application is expected to operate
-                  on <emphasis role="bold">arbitrary</emphasis> <xref
-                  linkend="glo_XML"/> input documents.</para><para>Providing
-                  suitable unit tests is an <emphasis
-                  role="bold">inherent</emphasis> part of this
+                  on <emphasis role="bold">arbitrary</emphasis> <xref linkend="glo_XML" /> input documents.</para><para>Providing
+                  suitable unit tests is an <emphasis role="bold">inherent</emphasis> part of this
                   exercise!</para></td>
 
                   <td><informalfigure>
                       <mediaobject>
                         <imageobject>
-                          <imagedata fileref="Ref/Fig/nspaceElemFrequency.png"/>
+                          <imagedata fileref="Ref/Fig/nspaceElemFrequency.png" />
                         </imageobject>
                       </mediaobject>
                     </informalfigure></td>
@@ -2352,8 +2110,7 @@ public class Xml2HtmlDriver {
                 the XPath expression <code>//*</code>. Then construct a
                 <classname>Map&lt;String, Set&lt;...&gt;&gt;</classname>
                 having namespaces as keys and sets of element names among with
-                frequencies as values. Mind an appropriate <methodname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html#equals-java.lang.Object-">equals()</methodname>
+                frequencies as values. Mind an appropriate <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals()</methodname>
                 definition!</para>
               </tip>
             </question>
diff --git a/Doc/Sda1/fo.xml b/Doc/Sda1/fo.xml
index a67719bbf018b73e8298710aaa7d3520d4250d31..1783a75d0733b338bc2b88afed0eb72b361ae181 100644
--- a/Doc/Sda1/fo.xml
+++ b/Doc/Sda1/fo.xml
@@ -195,7 +195,7 @@
     &lt;fo:simple-page-master master-name="<emphasis role="bold">simplePageLayout</emphasis>" <co
           xml:id="programlisting_fobodyreg_simplepagelayout"/>
       page-width  = "50mm" page-height   = "80mm"
-      margin-top  = "5mm"  margin-bottom = "20mm" 
+      margin-top  = "5mm"  margin-bottom = "20mm"
       margin-left = "5mm"  margin-right  = "10mm"&gt;
 
       &lt;fo:region-body <co xml:id="programlisting_fobodyreg_regionbody"/>
@@ -330,41 +330,41 @@
       <programlisting language="xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
 &lt;fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
   font-size="6pt"&gt;
-  
+
   &lt;fo:layout-master-set&gt;
     &lt;fo:simple-page-master master-name="simplePageLayout"
       page-width  = "50mm" page-height   = "80mm"
-      margin-top  = "5mm"  margin-bottom = "20mm" 
+      margin-top  = "5mm"  margin-bottom = "20mm"
       margin-left = "5mm"  margin-right  = "10mm"&gt;
-      
+
       &lt;fo:region-body margin-top  = "10mm" margin-bottom = "5mm" <co
           xml:id="programlisting_head_foot_bodydef"/>
                       margin-left = "10mm" margin-right  = "5mm"/&gt;
-      
+
       &lt;fo:region-before extent="5mm"/&gt; <co
           xml:id="programlisting_head_foot_beforedef"/>
       &lt;fo:region-after  extent="5mm"/&gt; <co
           xml:id="programlisting_head_foot_afterdef"/>
-      
+
     &lt;/fo:simple-page-master&gt;
   &lt;/fo:layout-master-set&gt;
-  
+
   &lt;fo:page-sequence master-reference="simplePageLayout"&gt;
 
     &lt;fo:static-content flow-name="xsl-region-before"&gt; <co
           xml:id="programlisting_head_foot_beforeflow"/>
-      &lt;fo:block 
-        font-weight="bold" 
+      &lt;fo:block
+        font-weight="bold"
         font-size="8pt"&gt;Headertext&lt;/fo:block&gt;
     &lt;/fo:static-content&gt;
-    
+
     &lt;fo:static-content flow-name="xsl-region-after"&gt; <co
           xml:id="programlisting_head_foot_afterflow"/>
       &lt;fo:block&gt;
         &lt;fo:page-number/&gt;
       &lt;/fo:block&gt;
     &lt;/fo:static-content&gt;
-    
+
     &lt;fo:flow flow-name="xsl-region-body"&gt;
       &lt;fo:block space-after="8mm"&gt;Dumb text .. dumb text.&lt;/fo:block&gt;
       &lt;fo:block space-after="8mm"&gt;Dumb text .. dumb text.&lt;/fo:block&gt;
@@ -537,7 +537,7 @@
     &lt;h1&gt;Blocks/spans and CSS&lt;/h1&gt;
     &lt;p style="font-weight:  bold;   border: 1mm;
               border-style: solid;  border-bottom-style: dashed;"
-     &gt;A lot of attributes and 
+     &gt;A lot of attributes and
       &lt;span style="color: white;background-color: black;"
          &gt;inverted&lt;/span&gt; text.&lt;/p&gt;
   &lt;/body&gt;
@@ -581,7 +581,7 @@
       &lt;fo:block&gt;Flowers&lt;/fo:block&gt;
     &lt;/fo:list-item-body&gt;
   &lt;/fo:list-item&gt;
-  
+
   &lt;fo:list-item&gt;
     &lt;fo:list-item-label end-indent="label-end()"&gt;
       &lt;fo:block&gt;&amp;#8226;&lt;/fo:block&gt;
@@ -744,7 +744,7 @@ leader-pattern="dots"/&gt;C&lt;fo:leader leader-pattern="dots"/&gt;D&lt;/fo:bloc
 
   &lt;fo:flow flow-name="xsl-region-body"&gt;
     &lt;fo:block&gt;Some text...&lt;/fo:block&gt;
-    &lt;fo:block&gt;More text, more text, 
+    &lt;fo:block&gt;More text, more text,
       more text.&lt;/fo:block&gt;
     &lt;fo:block&gt;More text, more text,
        more text.&lt;/fo:block&gt;
@@ -771,7 +771,7 @@ leader-pattern="dots"/&gt;C&lt;fo:leader leader-pattern="dots"/&gt;D&lt;/fo:bloc
   master-reference="simplePageLayout"&gt;
   &lt;fo:static-content flow-name="xsl-region-before"&gt;
     &lt;fo:block font-weight="bold"&gt;
-      &lt;fo:retrieve-marker retrieve-class-name="alpha" 
+      &lt;fo:retrieve-marker retrieve-class-name="alpha"
        retrieve-position="first-starting-within-page"
        /&gt;-&lt;fo:retrieve-marker
         retrieve-position="last-starting-within-page"
@@ -911,8 +911,8 @@ leader-pattern="dots"/&gt;C&lt;fo:leader leader-pattern="dots"/&gt;D&lt;/fo:bloc
         <title>Two blocks with mutual page- and hypertext references.</title>
 
         <programlisting language="xml">&lt;fo:flow flow-name='xsl-region-body'&gt;
-  &lt;fo:block id='xml'&gt;Java section see &lt;fo:basic-link color="blue" 
-    internal-destination="java"&gt;page&lt;fo:page-number-citation 
+  &lt;fo:block id='xml'&gt;Java section see &lt;fo:basic-link color="blue"
+    internal-destination="java"&gt;page&lt;fo:page-number-citation
    ref-id='java'/&gt;.&lt;/fo:basic-link&gt;&lt;/fo:block&gt;
 
 &lt;fo:block id='java'&gt;XML section see
@@ -1006,7 +1006,7 @@ leader-pattern="dots"/&gt;C&lt;fo:leader leader-pattern="dots"/&gt;D&lt;/fo:bloc
 
       <programlisting language="xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
 &lt;xsl:stylesheet version="1.0"
-  xmlns:fo="http://www.w3.org/1999/XSL/Format" 
+  xmlns:fo="http://www.w3.org/1999/XSL/Format"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
 
   &lt;xsl:output method="xml" indent="yes"/&gt;
@@ -1147,7 +1147,7 @@ leader-pattern="dots"/&gt;C&lt;fo:leader leader-pattern="dots"/&gt;D&lt;/fo:bloc
           <answer>
             <programlisting language="xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
 &lt;xsl:stylesheet version="1.0"
-  xmlns:fo="http://www.w3.org/1999/XSL/Format" 
+  xmlns:fo="http://www.w3.org/1999/XSL/Format"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
 
   &lt;xsl:output method="xml" indent="yes"/&gt;
@@ -1174,7 +1174,7 @@ leader-pattern="dots"/&gt;C&lt;fo:leader leader-pattern="dots"/&gt;D&lt;/fo:bloc
       &lt;/fo:static-content&gt;
       &lt;fo:flow flow-name="xsl-region-body"&gt;
         &lt;xsl:apply-templates select="description/para"/&gt;
-        
+
         &lt;fo:block&gt;Price:&lt;xsl:value-of select="@price"/&gt;&lt;/fo:block&gt;
         &lt;fo:block&gt;Order no:&lt;xsl:value-of select="@id"/&gt;&lt;/fo:block&gt;
       &lt;/fo:flow&gt;
diff --git a/Doc/Sda1/jdbc.xml b/Doc/Sda1/jdbc.xml
index 214e3ed8f933935efde8ed76e02228161eef763c..89edff8b093f901ebc4844cd50d01502cc7953e7 100644
--- a/Doc/Sda1/jdbc.xml
+++ b/Doc/Sda1/jdbc.xml
@@ -1,14 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<chapter annotations="slide" version="5.1" xml:id="introPersistence"
-         xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
-         xmlns:xi="http://www.w3.org/2001/XInclude"
-         xmlns:svg="http://www.w3.org/2000/svg"
-         xmlns:ns="http://docbook.org/ns/transclusion"
-         xmlns:m="http://www.w3.org/1998/Math/MathML"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         xmlns:db="http://docbook.org/ns/docbook">
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:ns="http://docbook.org/ns/transclusion" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="slide" version="5.1" xml:id="introPersistence">
   <title>Accessing Relational Data</title>
 
   <figure xml:id="sda1_jdbc_fig_prerequisites">
@@ -16,21 +7,20 @@
 
     <itemizedlist>
       <listitem>
-        <para><xref linkend="glo_RDBMS"/> schema and <xref
-        linkend="glo_Sql_DDL"/>:</para>
+        <para><xref linkend="glo_RDBMS" /> schema and <xref linkend="glo_Sql_DDL" />:</para>
 
         <para><code>PRIMARY KEY</code>, <code>UNIQUE</code>, <code>FOREIGN
         KEY</code>, <code>NOT NULL</code>, datatypes.</para>
       </listitem>
 
       <listitem>
-        <para><xref linkend="glo_SQL"/>, <xref linkend="glo_Sql_DML"/>:</para>
+        <para><xref linkend="glo_SQL" />, <xref linkend="glo_Sql_DML" />:</para>
 
         <para>Predicate based queries, joins.</para>
       </listitem>
 
       <listitem>
-        <para>Transactions, <xref linkend="glo_ACID"/> principle:</para>
+        <para>Transactions, <xref linkend="glo_ACID" /> principle:</para>
 
         <para>Isolation level 1 - 4.</para>
       </listitem>
@@ -41,7 +31,7 @@
     <title>Persistence in Object Oriented languages</title>
 
     <figure xml:id="sda1_jdbc_fig_persistence">
-      <title>Persistence <xref linkend="bib_Bauer15"/></title>
+      <title>Persistence <xref linkend="bib_Bauer15" /></title>
 
       <para>Persistence allows an object to outlive the process that created
       it. The state of the object may be stored to disk and an object with the
@@ -49,7 +39,7 @@
     </figure>
 
     <figure xml:id="sda1_jdbc_fig_transientJavaClass">
-      <title><xref linkend="glo_Java"/> transient instances</title>
+      <title><xref linkend="glo_Java" /> transient instances</title>
 
       <programlisting language="java">public class User {
   String commonName; // Common name e.g. 'Joe Bix'
@@ -63,14 +53,13 @@ User u = new User("Joe Bix", "bix");</programlisting>
     </figure>
 
     <figure xml:id="sda1_jdbc_fig_persistentObjects">
-      <title><xref linkend="glo_RDBMS"/> persistent records</title>
+      <title><xref linkend="glo_RDBMS" /> persistent records</title>
 
       <programlisting language="sql">CREATE TABLE User(
   CHAR(80) commonName
  ,CHAR(10) uid PRIMARY KEY
 );
--- Persistent record (see <emphasis role="red">D</emphasis>urability in <xref
-          linkend="glo_ACID"/>)
+-- Persistent record (see <emphasis role="red">D</emphasis>urability in <xref linkend="glo_ACID" />)
 INSERT INTO User VALUES('Joe Bix', 'bix');</programlisting>
     </figure>
 
@@ -79,7 +68,7 @@ INSERT INTO User VALUES('Joe Bix', 'bix');</programlisting>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/persistence.fig" scale="65"/>
+          <imagedata fileref="Ref/Fig/persistence.fig" scale="65" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -93,20 +82,18 @@ INSERT INTO User VALUES('Joe Bix', 'bix');</programlisting>
 
           <orderedlist>
             <listitem>
-              <para><trademark
-              xlink:href="http://www.oracle.com/technetwork/java/javase">JRE</trademark>
+              <para><trademark xlink:href="http://www.oracle.com/technetwork/java/javase">JRE</trademark>
               runtime.</para>
             </listitem>
 
             <listitem>
-              <para><xref linkend="glo_RDBMS"/> server.</para>
+              <para><xref linkend="glo_RDBMS" /> server.</para>
             </listitem>
           </orderedlist>
         </listitem>
 
         <listitem>
-          <para>Multiple runtimes possible (<abbrev
-          xlink:href="https://secure.php.net">PHP</abbrev>)</para>
+          <para>Multiple runtimes possible (<abbrev xlink:href="https://secure.php.net">PHP</abbrev>)</para>
         </listitem>
 
         <listitem>
@@ -118,7 +105,7 @@ INSERT INTO User VALUES('Joe Bix', 'bix');</programlisting>
   </section>
 
   <section xml:id="jdbcIntro">
-    <title>Introduction to <xref linkend="glo_JDBC"/></title>
+    <title>Introduction to <xref linkend="glo_JDBC" /></title>
 
     <section xml:id="jdbcWrite">
       <title>Write access, principles</title>
@@ -131,13 +118,13 @@ INSERT INTO User VALUES('Joe Bix', 'bix');</programlisting>
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/clientserv.fig"/>
+            <imagedata fileref="Ref/Fig/clientserv.fig" />
           </imageobject>
         </mediaobject>
       </figure>
 
       <figure xml:id="sda1_jdbc_fig_jdbcFeatures">
-        <title><xref linkend="glo_JDBC"/> features</title>
+        <title><xref linkend="glo_JDBC" /> features</title>
 
         <itemizedlist>
           <listitem>
@@ -150,43 +137,36 @@ INSERT INTO User VALUES('Joe Bix', 'bix');</programlisting>
         </itemizedlist>
       </figure>
 
-      <para>So <trademark
-      xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
+      <para>So <trademark xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
       is just one among a whole bunch of protocol implementations connecting
-      database servers and applications. Consequently <trademark
-      xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
+      database servers and applications. Consequently <trademark xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
       is expected to appear in the lower layer of multi-tier applications. We
       take a three-tier application as a starting point:</para>
 
       <figure xml:id="jdbcThreeTier">
-        <title><trademark
-        xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
+        <title><trademark xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
         in a three-tier application</title>
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/jdbcThreeTier.fig"/>
+            <imagedata fileref="Ref/Fig/jdbcThreeTier.fig" />
           </imageobject>
         </mediaobject>
       </figure>
 
       <para>We may add an additional layer. Web applications are typically
-      being build on top of an application server (<productname
-      xlink:href="https://www.ibm.com/software/de/websphere/">WebSphere</productname>,
-      <productname
-      xlink:href="https://glassfish.java.net">Glassfish</productname>,
-      <productname
-      xlink:href="https://www.jboss.org/jbossas">Jboss</productname>,...)
+      being build on top of an application server (<productname xlink:href="https://www.ibm.com/software/de/websphere/">WebSphere</productname>,
+      <productname xlink:href="https://glassfish.java.net">Glassfish</productname>,
+      <productname xlink:href="https://www.jboss.org/jbossas">Jboss</productname>,...)
       providing additional services:</para>
 
       <figure xml:id="jdbcFourTier">
-        <title><trademark
-        xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
+        <title><trademark xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
         connecting application server and database.</title>
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/jdbcFourTier.fig"/>
+            <imagedata fileref="Ref/Fig/jdbcFourTier.fig" />
           </imageobject>
         </mediaobject>
       </figure>
@@ -196,26 +176,20 @@ INSERT INTO User VALUES('Joe Bix', 'bix');</programlisting>
       connection:</para>
 
       <figure xml:id="sda1_jdbc_fig_jdbcOpenPrerequisites">
-        <title><xref linkend="glo_JDBC"/> connection parameter</title>
+        <title><xref linkend="glo_JDBC" /> connection parameter</title>
 
         <orderedlist>
           <listitem xml:id="ItemJdbcProtocol">
-            <para>Database server type i.e. <productname
-            xlink:href="http://www.oracle.com/us/products/database">Oracle</productname>,
-            <productname
-            xlink:href="www.ibm.com/software/data/db2">DB2</productname>,
-            <productname
-            xlink:href="http://www-01.ibm.com/software/data/informix">Informix</productname>,
-            <productname
-            xlink:href="https://www.mysql.com">Mysql</productname> etc. due to
-            vendor specific <trademark
-            xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+            <para>Database server type i.e. <productname xlink:href="http://www.oracle.com/us/products/database">Oracle</productname>,
+            <productname xlink:href="https://en.wikipedia.org/wiki/IBM_Db2">DB2</productname>,
+            <productname xlink:href="http://www-01.ibm.com/software/data/informix">Informix</productname>,
+            <productname xlink:href="https://www.mysql.com">Mysql</productname> etc. due to
+            vendor specific <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
             protocol implementations.</para>
           </listitem>
 
           <listitem>
-            <para>Server <link
-            xlink:href="https://en.wikipedia.org/wiki/Domain_Name_System">DNS</link>
+            <para>Server <link xlink:href="https://en.wikipedia.org/wiki/Domain_Name_System">DNS</link>
             name or IP number.</para>
           </listitem>
 
@@ -234,32 +208,27 @@ INSERT INTO User VALUES('Joe Bix', 'bix');</programlisting>
         </orderedlist>
       </figure>
 
-      <para>Items <xref linkend="ItemJdbcProtocol"/> - <xref
-      linkend="itemJdbcDatabaseName"/> will be encapsulated into a so called
-      <trademark
-      xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
-      <link
-      xlink:href="https://en.wikipedia.org/wiki/Uniform_Resource_Locator">URL</link>.
+      <para>Items <xref linkend="ItemJdbcProtocol" /> - <xref linkend="itemJdbcDatabaseName" /> will be encapsulated into a so called
+      <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+      <link xlink:href="https://en.wikipedia.org/wiki/Uniform_Resource_Locator">URL</link>.
       We consider a typical example corresponding to the previous parameter
       list:</para>
 
       <figure xml:id="jdbcUrlComponents">
-        <title>Components of a <trademark
-        xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+        <title>Components of a <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
         URL</title>
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/jdbcurl.fig" scale="65"/>
+            <imagedata fileref="Ref/Fig/jdbcurl.fig" scale="65" />
           </imageobject>
         </mediaobject>
       </figure>
 
       <figure xml:id="sda1_fig_jdbc_UrlRfc">
-        <title><xref linkend="glo_IETF"/> Uniform Resource Identifier</title>
+        <title><xref linkend="glo_IETF" /> Uniform Resource Identifier</title>
 
-        <para><uri
-        xlink:href="https://www.ietf.org/rfc/rfc2396.txt">https://www.ietf.org/rfc/rfc2396.txt</uri>:</para>
+        <para><uri xlink:href="https://www.ietf.org/rfc/rfc2396.txt">https://www.ietf.org/rfc/rfc2396.txt</uri>:</para>
 
         <programlisting language="bnf">absoluteURI   = scheme ":" ( hier_part | opaque_part )
 
@@ -272,7 +241,7 @@ abs_path      = "/"  path_segments
       </figure>
 
       <figure xml:id="sda1_jdbc_fig_protocolExamples">
-        <title><xref linkend="glo_URL"/> examples</title>
+        <title><xref linkend="glo_URL" /> examples</title>
 
         <itemizedlist>
           <listitem>
@@ -295,42 +264,38 @@ abs_path      = "/"  path_segments
         <title>Sub protocol examples</title>
 
         <informaltable border="0">
-          <colgroup width="23%"/>
+          <colgroup width="23%" />
 
-          <colgroup width="77%"/>
+          <colgroup width="77%" />
 
           <tr>
             <th>Database</th>
 
-            <th><xref linkend="glo_JDBC"/> URI</th>
+            <th><xref linkend="glo_JDBC" /> URI</th>
           </tr>
 
           <tr>
             <td valign="top">MySQL</td>
 
-            <td
-            valign="top">jdbc:mysql://[host][:port]/[database][?p1=v1]...</td>
+            <td valign="top">jdbc:mysql://[host][:port]/[database][?p1=v1]...</td>
           </tr>
 
           <tr>
             <td valign="top">Oracle</td>
 
-            <td
-            valign="top">jdbc:oracle:thin:[user/password]@[host][:port]:SID</td>
+            <td valign="top">jdbc:oracle:thin:[user/password]@[host][:port]:SID</td>
           </tr>
 
           <tr>
             <td valign="top">DB2</td>
 
-            <td
-            valign="top">jdbc:db2://&lt;HOST&gt;:&lt;PORT&gt;/[database]</td>
+            <td valign="top">jdbc:db2://&lt;HOST&gt;:&lt;PORT&gt;/[database]</td>
           </tr>
 
           <tr>
             <td valign="top">PostgreSQL</td>
 
-            <td
-            valign="top">jdbc:postgresql://&lt;HOST&gt;:&lt;PORT&gt;/[database]</td>
+            <td valign="top">jdbc:postgresql://&lt;HOST&gt;:&lt;PORT&gt;/[database]</td>
           </tr>
 
           <tr>
@@ -342,15 +307,13 @@ abs_path      = "/"  path_segments
           <tr>
             <td valign="top">MS. SQL S.</td>
 
-            <td
-            valign="top">jdbc:sqlserver://host[:port];user=xxx;password=xyz</td>
+            <td valign="top">jdbc:sqlserver://host[:port];user=xxx;password=xyz</td>
           </tr>
 
           <tr>
             <td valign="top">Sybase</td>
 
-            <td
-            valign="top">jdbc:sybase:Tds:&lt;HOST&gt;:&lt;PORT&gt;/[database]</td>
+            <td valign="top">jdbc:sybase:Tds:&lt;HOST&gt;:&lt;PORT&gt;/[database]</td>
           </tr>
         </informaltable>
       </figure>
@@ -359,9 +322,9 @@ abs_path      = "/"  path_segments
         <title>No standard port assignments ...</title>
 
         <informaltable border="1">
-          <colgroup width="35%"/>
+          <colgroup width="35%" />
 
-          <colgroup width="65%"/>
+          <colgroup width="65%" />
 
           <tr>
             <td valign="top"><glosslist>
@@ -392,7 +355,7 @@ abs_path      = "/"  path_segments
 
             <td valign="top"><itemizedlist>
                 <listitem>
-                  <para>No official <xref linkend="glo_IETF"/> standard port
+                  <para>No official <xref linkend="glo_IETF" /> standard port
                   assignments</para>
                 </listitem>
 
@@ -412,36 +375,32 @@ abs_path      = "/"  path_segments
         <title><productname>... but Mysql</productname> made it into
         Linux</title>
 
-        <screen>Doc&gt; grep -i mysql /etc/services 
+        <screen>Doc&gt; grep -i mysql /etc/services
 <emphasis role="red">mysql</emphasis>         <emphasis role="red">3306</emphasis>/tcp
 <emphasis role="red">mysql</emphasis>         <emphasis role="red">3306</emphasis>/udp
 mysql-proxy   6446/tcp
 mysql-proxy   6446/udp</screen>
       </figure>
 
-      <para>Writing <trademark
-      xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+      <para>Writing <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
       based applications follows a simple scheme:</para>
 
       <figure xml:id="sda1_fig_jdbcArchitecture">
-        <title><xref linkend="glo_JDBC"/> architecture</title>
+        <title><xref linkend="glo_JDBC" /> architecture</title>
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/jdbcarch.fig"/>
+            <imagedata fileref="Ref/Fig/jdbcarch.fig" />
           </imageobject>
         </mediaobject>
       </figure>
 
-      <para>From a programmer's point of view the <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html">java.sql.DriverManager</classname>
-      is a bootstrapping object: Other objects like <classname
-      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html">Connection</classname>
+      <para>From a programmer's point of view the <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html">java.sql.DriverManager</classname>
+      is a bootstrapping object: Other objects like <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html">Connection</classname>
       instances are being created from this central and unique object.</para>
 
       <figure xml:id="sda1_jdbc_fig_jdbcBootstrap">
-        <title><classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html">DriverManager</classname>:
+        <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html">DriverManager</classname>:
         Bootstrapping connections</title>
 
         <itemizedlist>
@@ -450,23 +409,20 @@ mysql-proxy   6446/udp</screen>
           </listitem>
 
           <listitem>
-            <para><classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html">java.sql.DriverManager</classname>
-            shipped with <xref linkend="glo_JRE"/>.</para>
+            <para><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html">java.sql.DriverManager</classname>
+            shipped with <xref linkend="glo_JRE" />.</para>
           </listitem>
 
           <listitem>
-            <para>Interfacing <xref linkend="glo_JRE"/> and <xref
-            linkend="glo_JDBC"/> driver.</para>
+            <para>Interfacing <xref linkend="glo_JRE" /> and <xref linkend="glo_JDBC" /> driver.</para>
           </listitem>
 
           <listitem>
-            <para>Provides instances of <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html">java.sql.Connection</classname>.</para>
+            <para>Provides instances of <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html">java.sql.Connection</classname>.</para>
           </listitem>
 
           <listitem>
-            <para>See <xref linkend="exerciseJdbcWhyInterface"/>.</para>
+            <para>See <xref linkend="exerciseJdbcWhyInterface" />.</para>
           </listitem>
         </itemizedlist>
       </figure>
@@ -477,17 +433,13 @@ mysql-proxy   6446/udp</screen>
 
         <itemizedlist>
           <listitem>
-            <para>Interface <classname
-            xlink:href="https://github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/mysql/jdbc/MySQLConnection.java#L35">MySQLConnection</classname>
-            <code>extends</code> <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html">java.sql.Connection</classname></para>
+            <para>Interface <classname xlink:href="https://github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/mysql/jdbc/MySQLConnection.java#L35">MySQLConnection</classname>
+            <code>extends</code> <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html">java.sql.Connection</classname></para>
           </listitem>
 
           <listitem>
-            <para>Class <classname
-            xlink:href="https://github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/mysql/jdbc/ConnectionImpl.java#L71">ConnectionImpl</classname>
-            implements <classname
-            xlink:href="https://github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/mysql/jdbc/MySQLConnection.java#L35">MySQLConnection</classname></para>
+            <para>Class <classname xlink:href="https://github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/mysql/jdbc/ConnectionImpl.java#L71">ConnectionImpl</classname>
+            implements <classname xlink:href="https://github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/mysql/jdbc/MySQLConnection.java#L35">MySQLConnection</classname></para>
           </listitem>
         </itemizedlist>
       </figure>
@@ -511,7 +463,7 @@ mysql-proxy   6446/udp</screen>
       </figure>
 
       <figure xml:id="sda1_jdbc_fig_driverLibrariesMaven">
-        <title>Driver libraries, <xref linkend="glo_Maven"/></title>
+        <title>Driver libraries, <xref linkend="glo_Maven" /></title>
 
         <programlisting language="xml">&lt;groupId&gt;mysql&lt;/groupId&gt;
 &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
@@ -537,7 +489,7 @@ mysql-proxy   6446/udp</screen>
  ...</screen>
       </figure>
 
-      <para><xref linkend="sda1_fig_jdbcArchitecture"/> does not show details
+      <para><xref linkend="sda1_fig_jdbcArchitecture" /> does not show details
       about the relations between <classname>java.sql.Connection</classname>,
       <classname>java.sql.Statement</classname> and
       <classname>java.sql.ResultSet</classname> objects. We start by giving a
@@ -549,8 +501,7 @@ mysql-proxy   6446/udp</screen>
 
         <glosslist>
           <glossentry>
-            <glossterm><classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html">java.sql.Connection</classname></glossterm>
+            <glossterm><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html">java.sql.Connection</classname></glossterm>
 
             <glossdef>
               <itemizedlist>
@@ -564,18 +515,14 @@ mysql-proxy   6446/udp</screen>
                 </listitem>
 
                 <listitem>
-                  <para>Per connection properties: <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#setTransactionIsolation-int-">Isolation
-                  level</link>, <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#setAutoCommit-boolean-">auto
+                  <para>Per connection properties: <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#setTransactionIsolation(int)">Isolation
+                  level</link>, <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#setAutoCommit(boolean)">auto
                   commit</link>,...</para>
                 </listitem>
 
                 <listitem>
-                  <para><methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#rollback--">rollback()</methodname>
-                  / <methodname
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#commit--">commit()</methodname>.</para>
+                  <para><methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#rollback()">rollback()</methodname>
+                  / <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#commit()">commit()</methodname>.</para>
                 </listitem>
               </itemizedlist>
             </glossdef>
@@ -588,16 +535,14 @@ mysql-proxy   6446/udp</screen>
 
         <glosslist>
           <glossentry>
-            <glossterm><classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html">java.sql.Statement</classname></glossterm>
+            <glossterm><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html">java.sql.Statement</classname></glossterm>
 
             <glossdef>
               <para>Two distinct operation classes:</para>
 
               <glosslist>
                 <glossentry>
-                  <glossterm><code
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#executeUpdate-java.lang.String-">executeUpdate()</code></glossterm>
+                  <glossterm><code xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)">executeUpdate()</code></glossterm>
 
                   <glossdef>
                     <para><code>INSERT</code>, <code>UPDATE</code>,
@@ -606,13 +551,11 @@ mysql-proxy   6446/udp</screen>
                 </glossentry>
 
                 <glossentry>
-                  <glossterm><code
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#executeQuery-java.lang.String-">executeQuery()</code></glossterm>
+                  <glossterm><code xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#executeQuery(java.lang.String)">executeQuery()</code></glossterm>
 
                   <glossdef>
-                    <para><code>SELECT</code>: Returning <classname
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html">java.sql.ResultSet</classname>,
-                    see <xref linkend="jdbcRead"/>.</para>
+                    <para><code>SELECT</code>: Returning <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html">java.sql.ResultSet</classname>,
+                    see <xref linkend="jdbcRead" />.</para>
                   </glossdef>
                 </glossentry>
               </glosslist>
@@ -622,13 +565,12 @@ mysql-proxy   6446/udp</screen>
       </figure>
 
       <figure xml:id="jdbcObjectCreation">
-        <title><trademark
-        xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
+        <title><trademark xlink:href="http://www.oracle.com/technetwork/java/javase/jdbc">JDBC</trademark>
         instances and relationships.</title>
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/jdbcObjectRelation.fig"/>
+            <imagedata fileref="Ref/Fig/jdbcObjectRelation.fig" />
           </imageobject>
         </mediaobject>
       </figure>
@@ -638,40 +580,31 @@ mysql-proxy   6446/udp</screen>
 
         <itemizedlist>
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#createStatement()">createStatement()</link></para>
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#createStatement()">createStatement()</link></para>
           </listitem>
 
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#setAutoCommit(boolean)">setAutoCommit()</link>,
-            <link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#getAutoCommit()">getAutoCommit()</link></para>
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#setAutoCommit(boolean)">setAutoCommit()</link>,
+            <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#getAutoCommit()">getAutoCommit()</link></para>
           </listitem>
 
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#getWarnings()">getWarnings()</link></para>
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#getWarnings()">getWarnings()</link></para>
           </listitem>
 
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#isClosed()">isClosed()</link>,
-            <link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#isValid(int)">isValid(int
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#isClosed()">isClosed()</link>,
+            <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#isValid(int)">isValid(int
             timeout)</link></para>
           </listitem>
 
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#rollback()">rollback()</link>,
-            <link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#commit()">commit()</link></para>
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#rollback()">rollback()</link>,
+            <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#commit()">commit()</link></para>
           </listitem>
 
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#close()">close()</link></para>
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#close()">close()</link></para>
           </listitem>
         </itemizedlist>
       </figure>
@@ -681,35 +614,29 @@ mysql-proxy   6446/udp</screen>
 
         <itemizedlist>
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)">executeUpdate(String
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)">executeUpdate(String
             sql)</link></para>
           </listitem>
 
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#getConnection()">getConnection()</link></para>
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#getConnection()">getConnection()</link></para>
           </listitem>
 
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#getResultSet()">getResultSet()</link></para>
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#getResultSet()">getResultSet()</link></para>
           </listitem>
 
           <listitem>
-            <para><link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#close()">close()</link>
-            and <link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#isClosed()">isClosed()</link></para>
+            <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#close()">close()</link>
+            and <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#isClosed()">isClosed()</link></para>
           </listitem>
         </itemizedlist>
       </figure>
 
       <figure xml:id="sda1_jdbc_connectionThreads">
-        <title><xref linkend="glo_JDBC"/> and threading.</title>
+        <title><xref linkend="glo_JDBC" /> and threading.</title>
 
-        <para>From <link
-        xlink:href="https://docs.oracle.com/cd/A97335_02/apps.102/a83724/tips1.htm">JDBC
+        <para>From <link xlink:href="https://docs.oracle.com/cd/A97335_02/apps.102/a83724/tips1.htm">JDBC
         and Multithreading</link>:</para>
 
         <blockquote>
@@ -728,19 +655,17 @@ mysql-proxy   6446/udp</screen>
           </listitem>
 
           <listitem>
-            <para>Use <link
-            xlink:href="https://www.developer.com/java/data/understanding-jdbc-connection-pooling.html">connection
-            pooling</link> e.g. <link
-            xlink:href="http://www.mchange.com/projects/c3p0">c3po</link>.</para>
+            <para>Use <link xlink:href="https://www.developer.com/java/data/understanding-jdbc-connection-pooling.html">connection
+            pooling</link> e.g. <link xlink:href="http://www.mchange.com/projects/c3p0">c3po</link>.</para>
           </listitem>
         </itemizedlist>
       </figure>
 
       <figure xml:id="sda1_jdbc_connectionPooling">
-        <title><xref linkend="glo_JDBC"/> connection pooling</title>
+        <title><xref linkend="glo_JDBC" /> connection pooling</title>
 
         <programlisting language="java">try (final Connection conn =
-       <link xlink:href="https://www.developer.com/java/data/understanding-jdbc-connection-pooling.html">C3P0DataSource</link>.getInstance().getConnection()) {      
+       <link xlink:href="https://www.developer.com/java/data/understanding-jdbc-connection-pooling.html">C3P0DataSource</link>.getInstance().getConnection()) {
 
   final PreparedStatement pstmt = conn.create...;
     ...
@@ -755,12 +680,11 @@ mysql-proxy   6446/udp</screen>
     <section xml:id="writeAccessCoding">
       <title>Write access, coding!</title>
 
-      <para><xref linkend="glo_JDBC"/> applications require a per project
+      <para><xref linkend="glo_JDBC" /> applications require a per project
       driver configuration:</para>
 
       <figure xml:id="sda1_fig_configureMysqlMaven">
-        <title><filename>pom.xml</filename> driver <emphasis
-        role="red">runtime</emphasis> scope</title>
+        <title><filename>pom.xml</filename> driver <emphasis role="red">runtime</emphasis> scope</title>
 
         <programlisting language="xml">...
 &lt;dependency&gt;
@@ -772,28 +696,23 @@ mysql-proxy   6446/udp</screen>
       </figure>
 
       <qandaset defaultlabel="qanda" xml:id="sda1_qanda_whyScopeRuntime">
-        <title>Why <tag class="starttag">scope</tag><code>runtime</code><tag
-        class="endtag">scope</tag>?</title>
+        <title>Why <tag class="starttag">scope</tag><code>runtime</code><tag class="endtag">scope</tag>?</title>
 
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Why is the <xref linkend="glo_JDBC"/> <link
-              linkend="sda1_fig_configureMysqlMaven">driver dependency</link>
+              <para>Why is the <xref linkend="glo_JDBC" /> <link linkend="sda1_fig_configureMysqlMaven">driver dependency</link>
               not being required at compile time?</para>
             </question>
 
             <answer>
-              <para>According to <xref linkend="sda1_fig_jdbcArchitecture"/> a
-              <xref linkend="glo_JDBC"/> based application requires just
+              <para>According to <xref linkend="sda1_fig_jdbcArchitecture" /> a
+              <xref linkend="glo_JDBC" /> based application requires just
               interfaces rather than classes at compile time. The actual
-              instances of <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html">java.sql.Connection</classname>,
-              <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html">java.sql.Statement</classname>
+              instances of <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html">java.sql.Connection</classname>,
+              <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html">java.sql.Statement</classname>
               and friends will be created during the bootstrap process
-              starting from <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html">java.sql.DriverManager</classname>.</para>
+              starting from <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html">java.sql.DriverManager</classname>.</para>
             </answer>
           </qandaentry>
         </qandadiv>
@@ -805,9 +724,8 @@ mysql-proxy   6446/udp</screen>
       <figure xml:id="figSchemaPerson">
         <title><code>Person</code> table</title>
 
-        <programlisting language="sql"><emphasis role="strong">CREATE</emphasis> <emphasis
-            role="strong">TABLE</emphasis> Person (
-   name CHAR(20) 
+        <programlisting language="sql"><emphasis role="strong">CREATE</emphasis> <emphasis role="strong">TABLE</emphasis> Person (
+   name CHAR(20)
   ,email CHAR(20) <emphasis>UNIQUE</emphasis>
 )</programlisting>
       </figure>
@@ -815,14 +733,13 @@ mysql-proxy   6446/udp</screen>
       <figure xml:id="sda1_fig_addPersonDataset">
         <title>Objective: insert person record</title>
 
-        <para><xref linkend="glo_Java"/> application executing:</para>
+        <para><xref linkend="glo_Java" /> application executing:</para>
 
         <programlisting language="xml">INSERT INTO Person VALUES('Jim', 'jim@foo.org')</programlisting>
 
         <itemizedlist>
           <listitem>
-            <para>No database read required (No <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html">java.sql.ResultSet</classname>).</para>
+            <para>No database read required (No <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html">java.sql.ResultSet</classname>).</para>
           </listitem>
 
           <listitem>
@@ -832,27 +749,22 @@ mysql-proxy   6446/udp</screen>
       </figure>
 
       <figure xml:id="sda1_fig_jdbcSimpleWrite">
-        <title><trademark
-        xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+        <title><trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
         backed data insert</title>
 
-        <programlisting language="java">// <link
-            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/ws/eclipse/Jdbc/src/main/java/sda/jdbc/intro/SimpleInsert.java#L22">Step 1: Open connection to database server</link>
-final Connection conn = DriverManager.<link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html#getConnection-java.lang.String-">getConnection</link> (
+        <programlisting language="java">// <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/ws/eclipse/Jdbc/src/main/java/sda/jdbc/intro/SimpleInsert.java#L22">Step 1: Open connection to database server</link>
+final Connection conn = DriverManager.<link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html#getConnection(java.lang.String)">getConnection</link> (
   "jdbc:mysql://localhost:3306/hdm", // Connection parameter URL
   "hdmuser",                         // Username
-  "XYZ");                            // Password     
- 
+  "XYZ");                            // Password
+
 // Step 2: Create a Statement instance
-final Statement stmt = conn.<link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#createStatement--">createStatement()</link>;   
-   
+final Statement stmt = conn.<link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#createStatement()">createStatement()</link>;
+
 // Step 3: Execute the desired INSERT
-final int updateCount = stmt.<link
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#executeUpdate-java.lang.String-">executeUpdate</link>(
-  "INSERT INTO Person VALUES('Jim', 'jim@foo.org')"); 
-    
+final int updateCount = stmt.<link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)">executeUpdate</link>(
+  "INSERT INTO Person VALUES('Jim', 'jim@foo.org')");
+
 // Step 4: Give feedback to the end user
 System.out.println("Successfully inserted " + updateCount + " dataset(s)");</programlisting>
       </figure>
@@ -865,22 +777,21 @@ System.out.println("Successfully inserted " + updateCount + " dataset(s)");</pro
         <screen>Successfully inserted 1 dataset(s)</screen>
 
         <note>
-          <para>The database server <link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#executeUpdate-java.lang.String-">returns</link>
+          <para>The database server <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)">returns</link>
           the number of inserted datasets.</para>
         </note>
       </figure>
 
       <figure xml:id="sda1_fig_jdbcTwiceConfig">
-        <title>Two <xref linkend="glo_JDBC"/> configurations</title>
+        <title>Two <xref linkend="glo_JDBC" /> configurations</title>
 
         <orderedlist>
           <listitem>
-            <para><xref linkend="glo_IDE"/> level.</para>
+            <para><xref linkend="glo_IDE" /> level.</para>
           </listitem>
 
           <listitem>
-            <para>Project level (<xref linkend="glo_Maven"/>).</para>
+            <para>Project level (<xref linkend="glo_Maven" />).</para>
           </listitem>
         </orderedlist>
       </figure>
@@ -891,8 +802,8 @@ System.out.println("Successfully inserted " + updateCount + " dataset(s)");</pro
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Set up <xref linkend="sda1_fig_jdbcSimpleWrite"/> as a
-              <xref linkend="glo_Maven"/> project yourself. Create a
+              <para>Set up <xref linkend="sda1_fig_jdbcSimpleWrite" /> as a
+              <xref linkend="glo_Maven" /> project yourself. Create a
               corresponding table prior to executing your application.</para>
 
               <para>Execute your application twice. What happens? Give an
@@ -900,8 +811,7 @@ System.out.println("Successfully inserted " + updateCount + " dataset(s)");</pro
             </question>
 
             <answer>
-              <para>We require a database table <filename
-              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdbc/Insert/Minimum/src/main/resources/schema.sql">resources/schema.sql</filename>
+              <para>We require a database table <filename xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdbc/Insert/Minimum/src/main/resources/schema.sql">resources/schema.sql</filename>
               prior to execution:</para>
 
               <programlisting language="sql">CREATE TABLE Person (
@@ -945,7 +855,7 @@ goik@goiki Minimum&gt; java -jar /.../Jdbc/Insert/Minimum/target/insert_user-0.1
       </qandaset>
 
       <figure xml:id="sda1_jdbc_fig_appDeficencies">
-        <title><xref linkend="sda1_fig_jdbcSimpleWrite"/> deficiencies</title>
+        <title><xref linkend="sda1_fig_jdbcSimpleWrite" /> deficiencies</title>
 
         <glosslist>
           <glossentry>
@@ -964,7 +874,7 @@ goik@goiki Minimum&gt; java -jar /.../Jdbc/Insert/Minimum/target/insert_user-0.1
               <programlisting language="none">... = DriverManager.getConnection (
   "<emphasis role="red">jdbc:mysql://localhost:3306/hdm</emphasis>", //JDBC URL
   "<emphasis role="red">hdmuser</emphasis>",                         // Username
-  "<emphasis role="red">XYZ</emphasis>")                             // Password      </programlisting>
+  "<emphasis role="red">XYZ</emphasis>")                             // Password</programlisting>
             </glossdef>
           </glossentry>
         </glosslist>
@@ -984,7 +894,7 @@ goik@goiki Minimum&gt; java -jar /.../Jdbc/Insert/Minimum/target/insert_user-0.1
         </itemizedlist>
 
         <blockquote>
-          <para>Possible solution: <xref linkend="glo_Java"/>
+          <para>Possible solution: <xref linkend="glo_Java" />
           properties.</para>
         </blockquote>
       </figure>
@@ -995,7 +905,7 @@ goik@goiki Minimum&gt; java -jar /.../Jdbc/Insert/Minimum/target/insert_user-0.1
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/externalize.fig"/>
+            <imagedata fileref="Ref/Fig/externalize.fig" />
           </imageobject>
         </mediaobject>
       </figure>
@@ -1021,9 +931,8 @@ goik@goiki Minimum&gt; java -jar /.../Jdbc/Insert/Minimum/target/insert_user-0.1
             <glossterm>ResourceBundle reading properties</glossterm>
 
             <glossdef>
-              <programlisting language="none">// resources/<emphasis
-                  role="red">jdbc</emphasis>.properties
-ResourceBundle jdbcProperties = ResourceBundle.getBundle("<emphasis role="red">jdbc</emphasis>");      </programlisting>
+              <programlisting language="none">// resources/<emphasis role="red">jdbc</emphasis>.properties
+ResourceBundle jdbcProperties = ResourceBundle.getBundle("<emphasis role="red">jdbc</emphasis>");</programlisting>
             </glossdef>
           </glossentry>
 
@@ -1041,14 +950,12 @@ ResourceBundle jdbcProperties = ResourceBundle.getBundle("<emphasis role="red">j
       </figure>
 
       <figure xml:id="sda1_jdbc_fig_IdeaExternalizeStrings">
-        <title><xref linkend="glo_Soft_IntellijIDEA"/> <link
-        xlink:href="https://www.jetbrains.com/help/idea/extracting-hard-coded-string-literals.html">settings</link>,
-        <link
-        xlink:href="https://www.jetbrains.com/help/idea/recognizing-hard-coded-string-literals.html">preconditions</link></title>
+        <title><xref linkend="glo_Soft_IntellijIDEA" /> <link xlink:href="https://www.jetbrains.com/help/idea/extracting-hard-coded-string-literals.html">settings</link>,
+        <link xlink:href="https://www.jetbrains.com/help/idea/recognizing-hard-coded-string-literals.html">preconditions</link></title>
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Jdbc/externalizeStrings.png"/>
+            <imagedata fileref="Ref/Jdbc/externalizeStrings.png" />
           </imageobject>
         </mediaobject>
       </figure>
@@ -1077,8 +984,7 @@ ResourceBundle jdbcProperties = ResourceBundle.getBundle("<emphasis role="red">j
           </listitem>
 
           <listitem>
-            <para><emphasis role="red">Test:</emphasis> Executing <xref
-            linkend="glo_JDBC"/> CRUD / SELECT operations.</para>
+            <para><emphasis role="red">Test:</emphasis> Executing <xref linkend="glo_JDBC" /> CRUD / SELECT operations.</para>
           </listitem>
 
           <listitem>
@@ -1091,43 +997,36 @@ ResourceBundle jdbcProperties = ResourceBundle.getBundle("<emphasis role="red">j
       <figure xml:id="sda1_jdbc_fig_dbUnitTestImplement">
         <title>Implementing unit tests</title>
 
-        <programlisting language="none"><link
-            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdbc/Insert/MinimumTest/src/test/java/de/hdm_stuttgart/sda1/insert/InsertTest.java">public class InsertTest</link> {
+        <programlisting language="none"><link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdbc/Insert/MinimumTest/src/test/java/de/hdm_stuttgart/sda1/insert/InsertTest.java">public class InsertTest</link> {
   static private Connection conn;
   static private Statement stmt;
 
-  @BeforeClass <co linkends="sda1_jdbc_fig_dbUnitTestImplement-1"
-            xml:id="sda1_jdbc_fig_dbUnitTestImplement-1-co"/> static public void initDatabase() throws SQLException {
+  @BeforeClass <co linkends="sda1_jdbc_fig_dbUnitTestImplement-1" xml:id="sda1_jdbc_fig_dbUnitTestImplement-1-co" /> static public void initDatabase() throws SQLException {
     conn = DriverManager.getConnection(
       SimpleInsert.jdbcProperties.getString("jdbcurl"),
       SimpleInsert.jdbcProperties.getString("username"),...);
     <emphasis role="red">ScriptUtils.executeSqlScript(conn, new ClassPathResource("schema.sql"));</emphasis>
-    stmt = conn.createStatement();}     
+    stmt = conn.createStatement();}
 
-  @Test <co linkends="sda1_jdbc_fig_dbUnitTestImplement-2"
-            xml:id="sda1_jdbc_fig_dbUnitTestImplement-2-co"/>
+  @Test <co linkends="sda1_jdbc_fig_dbUnitTestImplement-2" xml:id="sda1_jdbc_fig_dbUnitTestImplement-2-co" />
   public void test_010_insertJill() throws SQLException {
     Assert.assertEquals(1, SimpleInsert.insertPerson(
          stmt, "Jill", "jill@programmer.org"));
  }
-@AfterClass <co linkends="sda1_jdbc_fig_dbUnitTestImplement-3"
-            xml:id="sda1_jdbc_fig_dbUnitTestImplement-3-co"/> static public void releaseDatabase()
+@AfterClass <co linkends="sda1_jdbc_fig_dbUnitTestImplement-3" xml:id="sda1_jdbc_fig_dbUnitTestImplement-3-co" /> static public void releaseDatabase()
    throws SQLException {conn.close();}</programlisting>
       </figure>
 
       <calloutlist>
-        <callout arearefs="sda1_jdbc_fig_dbUnitTestImplement-1-co"
-                 xml:id="sda1_jdbc_fig_dbUnitTestImplement-1">
+        <callout arearefs="sda1_jdbc_fig_dbUnitTestImplement-1-co" xml:id="sda1_jdbc_fig_dbUnitTestImplement-1">
           <para>Set up phase.</para>
         </callout>
 
-        <callout arearefs="sda1_jdbc_fig_dbUnitTestImplement-2-co"
-                 xml:id="sda1_jdbc_fig_dbUnitTestImplement-2">
+        <callout arearefs="sda1_jdbc_fig_dbUnitTestImplement-2-co" xml:id="sda1_jdbc_fig_dbUnitTestImplement-2">
           <para>Test execution phase.</para>
         </callout>
 
-        <callout arearefs="sda1_jdbc_fig_dbUnitTestImplement-3-co"
-                 xml:id="sda1_jdbc_fig_dbUnitTestImplement-3">
+        <callout arearefs="sda1_jdbc_fig_dbUnitTestImplement-3-co" xml:id="sda1_jdbc_fig_dbUnitTestImplement-3">
           <para>Tear down phase.</para>
         </callout>
       </calloutlist>
@@ -1136,8 +1035,7 @@ ResourceBundle jdbcProperties = ResourceBundle.getBundle("<emphasis role="red">j
         <title><link xlink:href="https://spring.io">Spring</link> is your
         friend</title>
 
-        <para>Getting <emphasis role="red"
-        xlink:href="https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/datasource/init/ScriptUtils.html#executeSqlScript-java.sql.Connection-org.springframework.core.io.Resource-">ScriptUtils.executeSqlScript(...)</emphasis>
+        <para>Getting <emphasis role="red" xlink:href="https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/datasource/init/ScriptUtils.html#executeSqlScript-java.sql.Connection-org.springframework.core.io.Resource-">ScriptUtils.executeSqlScript(...)</emphasis>
         to work:</para>
 
         <programlisting language="xml">&lt;dependency&gt;
@@ -1153,7 +1051,7 @@ ResourceBundle jdbcProperties = ResourceBundle.getBundle("<emphasis role="red">j
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Jdbc/sqlUnitTestLayout.png"/>
+            <imagedata fileref="Ref/Jdbc/sqlUnitTestLayout.png" />
           </imageobject>
         </mediaobject>
       </figure>
@@ -1163,16 +1061,13 @@ ResourceBundle jdbcProperties = ResourceBundle.getBundle("<emphasis role="red">j
 
         <programlisting language="java">final Connection conn = DriverManager.getConnection(...);
 ... // CRUD operations
-conn.close(); // Important! Wanna use a <link
-            linkend="sda1_jdbc_connectionPooling">connection pool</link> instead?</programlisting>
+conn.close(); // Important! Wanna use a <link linkend="sda1_jdbc_connectionPooling">connection pool</link> instead?</programlisting>
       </figure>
 
       <figure xml:id="sda1_fig_jdbcAutoCloseConnection">
-        <title>Employ <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname></title>
+        <title>Employ <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/AutoCloseable.html">AutoCloseable</classname></title>
 
-        <para>Using <link
-        xlink:href="https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html">try-with-resources
+        <para>Using <link xlink:href="https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html">try-with-resources
         statement</link>.</para>
 
         <programlisting language="java">try (final Connection conn = DriverManager.getConnection(...) {
@@ -1188,8 +1083,7 @@ conn.close(); // Important! Wanna use a <link
           <qandaentry>
             <question>
               <para>Extend the previous example by adding support for
-              interactive insert of person data. <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Scanner.html">java.util.Scanner</classname>
+              interactive insert of person data. <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html">java.util.Scanner</classname>
               is your friend:</para>
 
               <para>Ask the end user to enter name and email addresses of
@@ -1199,12 +1093,11 @@ conn.close(); // Important! Wanna use a <link
 
               <mediaobject>
                 <videoobject>
-                  <videodata fileref="Ref/Jdbc/Insert/personRecords.webm"
-                             format="video/webm"/>
+                  <videodata fileref="Ref/Jdbc/Insert/personRecords.webm" format="video/webm" />
                 </videoobject>
               </mediaobject>
 
-              <para>Moreover <xref linkend="quandaentry_DupInsert"/> does not
+              <para>Moreover <xref linkend="quandaentry_DupInsert" /> does not
               yet contain any tests: SQL schema or application modifications
               may lead to inconsistencies. Provide the following tests:</para>
 
@@ -1228,8 +1121,7 @@ conn.close(); // Important! Wanna use a <link
                   </listitem>
 
                   <listitem>
-                    <para>Consider catching <classname
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/SQLIntegrityConstraintViolationException.html">java.sql.SQLIntegrityConstraintViolationException</classname>
+                    <para>Consider catching <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/SQLIntegrityConstraintViolationException.html">java.sql.SQLIntegrityConstraintViolationException</classname>
                     in case of email duplicates.</para>
                   </listitem>
 
@@ -1260,8 +1152,7 @@ static public int insertPerson(
             </question>
 
             <answer>
-              <para>Our last exercise's database schema <filename
-              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdbc/Insert/Minimum/src/main/resources/schema.sql">resources/schema.sql</filename>
+              <para>Our last exercise's database schema <filename xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/Jdbc/Insert/Minimum/src/main/resources/schema.sql">resources/schema.sql</filename>
               may remain untouched. Solution:</para>
 
               <annotation role="make">
@@ -1273,16 +1164,14 @@ static public int insertPerson(
       </qandaset>
 
       <qandaset defaultlabel="qanda" xml:id="qandaXmldata2relational">
-        <title>Avoiding intermediate <xref linkend="glo_SQL"/> file
+        <title>Avoiding intermediate <xref linkend="glo_SQL" /> file
         export</title>
 
         <qandadiv>
           <qandaentry>
             <question>
-              <para>In <xref linkend="quandaentry_SqlFromXml"/> shows a <xref
-              linkend="glo_SAX"/> application transforming XML product catalog
-              instances into a series of SQL statements. Implement a <xref
-              linkend="glo_JDBC"/> based application which reads the following
+              <para>In <xref linkend="quandaentry_SqlFromXml" /> shows a <xref linkend="glo_SAX" /> application transforming XML product catalog
+              instances into a series of SQL statements. Implement a <xref linkend="glo_JDBC" /> based application which reads the following
               type of data and writes it to a relational database:</para>
 
               <programlisting language="xml">&lt;catalog&gt;
@@ -1295,10 +1184,8 @@ static public int insertPerson(
               to assure data integrity transferring data shall be realized in
               an <quote>all or nothing</quote> fashion by grouping all
               <code>INSERT</code>s into a single transaction. You may want to
-              read about <link
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#setAutoCommit-boolean-">setAutoCommit(boolean
-              autoCommit)</link> and <link
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#commit--">commit()</link>
+              read about <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#setAutoCommit(boolean)">setAutoCommit(boolean
+              autoCommit)</link> and <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#commit()">commit()</link>
               for this purpose.</para>
             </question>
 
@@ -1320,21 +1207,16 @@ static public int insertPerson(
       </qandaset>
 
       <qandaset defaultlabel="qanda" xml:id="exerciseJdbcWhyInterface">
-        <title>Interfaces and classes in <trademark
-        xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark></title>
+        <title>Interfaces and classes in <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark></title>
 
         <qandadiv>
           <qandaentry>
             <question>
-              <para>The <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
-              standard mostly defines interfaces like <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html">Connection</classname>
-              and <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html">Statement</classname>.
+              <para>The <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              standard mostly defines interfaces like <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html">Connection</classname>
+              and <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html">Statement</classname>.
               Why are these not being defined as classes? Moreover why is
-              <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html">DriverManager</classname>
+              <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html">DriverManager</classname>
               being defined as a class rather than an interface?</para>
 
               <para>You may want to supply code examples backing your
@@ -1342,9 +1224,8 @@ static public int insertPerson(
             </question>
 
             <answer>
-              <para>Figure <xref linkend="sda1_fig_jdbcArchitecture"/> depicts
-              <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              <para>Figure <xref linkend="sda1_fig_jdbcArchitecture" /> depicts
+              <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
               being a vendor independent architecture. Oracle for example may
               implement a class
               <classname>com.oracle.jdbc.OracleConnection</classname>:</para>
@@ -1369,16 +1250,14 @@ Statement createStatement(int resultSetType,
 ...
 }</programlisting>
 
-              <para>Using <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              <para>Using <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
               interfaces rather than vendor specific classes allows for
               decoupling an application from a specific database platform. It
               requires a database vendor's implementation not to be exposed to
-              our own <xref linkend="glo_Java"/> code but to be encapsulated
+              our own <xref linkend="glo_Java" /> code but to be encapsulated
               by a set of interfaces.</para>
 
-              <para>Regarding the special role of <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html">DriverManager</classname>
+              <para>Regarding the special role of <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html">DriverManager</classname>
               we notice the need for a starting point: An application requires
               an initial entry point for accessing a given framework. In
               theory (<emphasis role="bold">BUT NOT IN PRACTICE!!!</emphasis>)
@@ -1444,25 +1323,20 @@ public someClass {
       </qandaset>
 
       <qandaset defaultlabel="qanda" xml:id="quandaentry_Close">
-        <title>Closing <trademark
-        xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+        <title>Closing <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
         connections</title>
 
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Why is it important to call the <link
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html#close()">close()</link>
-              method for <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html">Connection</classname>
-              and / or <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Statement.html">Statement</classname>
+              <para>Why is it important to call the <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#close()">close()</link>
+              method for <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html">Connection</classname>
+              and / or <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html">Statement</classname>
               instances?</para>
             </question>
 
             <answer>
-              <para>A <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              <para>A <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
               connection ties network resources (socket connections). These
               may get used up if e.g. new connections are being established
               within a loop.</para>
@@ -1480,12 +1354,11 @@ public someClass {
         <qandadiv>
           <qandaentry>
             <question>
-              <para>In exercise <xref linkend="exerciseJdbcWhyInterface"/> we
+              <para>In exercise <xref linkend="exerciseJdbcWhyInterface" /> we
               saw a hypothetic way to resolve the interface/class resolution
               problem by using a switch clause. How is this
               <code>switch</code> clause's logic actually realized in a
-              <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
               based application? (<quote>behind the scenes</quote>)</para>
 
               <para>Hint: Read the documentation of
@@ -1493,20 +1366,18 @@ public someClass {
             </question>
 
             <answer>
-              <para>Prior to opening a Connection a <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              <para>Prior to opening a Connection a <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
               driver registers itself at the
               <classname>java.sql.DriverManager</classname>. For this purpose
               the standard defines the <code language="java">static</code>
-              <link
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html#registerDriver(java.sql.Driver)">registerDriver(Driver)</link>
+              <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html#registerDriver(java.sql.Driver)">registerDriver(Driver)</link>
               method. On success driver is being added to an internal
               dictionary:</para>
 
               <informaltable border="1">
-                <col width="20%"/>
+                <col width="20%" />
 
-                <col width="30%"/>
+                <col width="30%" />
 
                 <tr>
                   <th>protocol</th>
@@ -1533,12 +1404,10 @@ public someClass {
                 </tr>
               </informaltable>
 
-              <para>So whenever the method <link
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html#getConnection(java.lang.String,%20java.lang.String,%20java.lang.String)">getConnection()</link>
+              <para>So whenever the method <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DriverManager.html#getConnection(java.lang.String,java.lang.String,java.lang.String)">getConnection()</link>
               is being called the
               <classname>java.sql.DriverManager</classname> will scan the
-              <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
               URL and isolate the protocol part. If we start with
               <code>jdbc:mysql://someserver.com:3306/someDatabase</code> this
               is just <code>jdbc:mysql</code>. The value is then being looked
@@ -1553,13 +1422,12 @@ public someClass {
     </section>
 
     <section xml:id="jdbcSecurity">
-      <title><xref linkend="glo_JDBC"/> and security</title>
+      <title><xref linkend="glo_JDBC" /> and security</title>
 
       <section xml:id="jdbcSecurityNetwork">
         <title>Network sniffing</title>
 
-        <para>Sniffing <trademark
-        xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+        <para>Sniffing <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
         network traffic is one possibility for intruders to compromise
         database applications. This requires physical access to either
         of:</para>
@@ -1579,38 +1447,33 @@ public someClass {
         </itemizedlist>
 
         <figure xml:id="figJdbcSniffing">
-          <title>Sniffing a <trademark
-          xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+          <title>Sniffing a <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
           connection by an intruder.</title>
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/jdbcSniffing.multi.svg"/>
+              <imagedata fileref="Ref/Fig/jdbcSniffing.multi.svg" />
             </imageobject>
           </mediaobject>
         </figure>
 
         <para>We demonstrate a possible attack by analyzing the network
-        traffic between our application shown in <xref
-        linkend="sda1_fig_jdbcSimpleWrite"/> and the <productname
-        xlink:href="https://www.mysql.com">Mysql</productname> database
-        server. Prior to starting the application we set up <productname
-        xlink:href="https://www.wireshark.org">Wireshark</productname> for
+        traffic between our application shown in <xref linkend="sda1_fig_jdbcSimpleWrite" /> and the <productname xlink:href="https://www.mysql.com">Mysql</productname> database
+        server. Prior to starting the application we set up <productname xlink:href="https://www.wireshark.org">Wireshark</productname> for
         filtered capturing:</para>
 
         <figure xml:id="sda1_jdbc_fig_jdbcAttackWireshark">
-          <title>Setting up <productname
-          xlink:href="https://www.wireshark.org">Wireshark</productname></title>
+          <title>Setting up <productname xlink:href="https://www.wireshark.org">Wireshark</productname></title>
 
           <informaltable border="0">
-            <colgroup width="75%"/>
+            <colgroup width="75%" />
 
-            <colgroup width="25%"/>
+            <colgroup width="25%" />
 
             <tr>
               <td valign="top"><itemizedlist>
                   <listitem>
-                    <para>Database server and <xref linkend="glo_JDBC"/>
+                    <para>Database server and <xref linkend="glo_JDBC" />
                     client on same machine.</para>
                   </listitem>
 
@@ -1623,15 +1486,14 @@ public someClass {
                   </listitem>
 
                   <listitem>
-                    <para>Capture packets of type <acronym
-                    xlink:href="https://en.wikipedia.org/wiki/Transmission_Control_Protocol">TCP</acronym>
+                    <para>Capture packets of type <acronym xlink:href="https://en.wikipedia.org/wiki/Transmission_Control_Protocol">TCP</acronym>
                     having port number 3306.</para>
                   </listitem>
                 </itemizedlist></td>
 
               <td valign="top"><mediaobject>
                   <imageobject>
-                    <imagedata fileref="Ref/Fig/wireshark.png"/>
+                    <imagedata fileref="Ref/Fig/wireshark.png" />
                   </imageobject>
                 </mediaobject></td>
             </tr>
@@ -1643,13 +1505,10 @@ public someClass {
 
           <screen>[...
 5.5.24-0ubuntu0.12.04.1.%...X*e?I1ZQ...................e,F[yoA5$T[N.mysql_native_password.
- A...........!.......................<emphasis role="red">hdmuser</emphasis> <co
-              xml:id="tcpCaptureUsername"/>......U.&gt;S.%..~h...!.xhdm............j..../* 
+ A...........!.......................<emphasis role="red">hdmuser</emphasis> <co xml:id="tcpCaptureUsername" />......U.&gt;S.%..~h...!.xhdm............j..../*
 
- ... <emphasis role="red">INSERT INTO Person VALUES('Jim', 'jim@foo.org')</emphasis> <co
-              xml:id="tcpCaptureSqlInsert"/>6...
-  .&amp;.<emphasis role="red">#23000Duplicate entry 'jim@foo.org' for key 'email'</emphasis> <co
-              xml:id="tcpCaptureErrmsg"/></screen>
+ ... <emphasis role="red">INSERT INTO Person VALUES('Jim', 'jim@foo.org')</emphasis> <co xml:id="tcpCaptureSqlInsert" />6...
+  .&amp;.<emphasis role="red">#23000Duplicate entry 'jim@foo.org' for key 'email'</emphasis> <co xml:id="tcpCaptureErrmsg" /></screen>
 
           <calloutlist>
             <callout arearefs="tcpCaptureUsername">
@@ -1670,12 +1529,11 @@ public someClass {
         </figure>
 
         <figure xml:id="sda1_jdbc_fig_jdbcMysqlSecurity">
-          <title><xref linkend="glo_Soft_Mysql"/> security</title>
+          <title><xref linkend="glo_Soft_Mysql" /> security</title>
 
           <para>What about the missing password?</para>
 
-          <para><link
-          xlink:href="https://dev.mysql.com/doc/refman/5.7/en/security-against-attack.html">Making
+          <para><link xlink:href="https://dev.mysql.com/doc/refman/5.7/en/security-against-attack.html">Making
           MySQL Secure Against Attackers</link>:</para>
 
           <blockquote>
@@ -1687,15 +1545,14 @@ public someClass {
           </blockquote>
         </figure>
 
-        <para>So regarding our (current) <productname
-        xlink:href="https://www.mysql.com">Mysql</productname> implementation
+        <para>So regarding our (current) <productname xlink:href="https://www.mysql.com">Mysql</productname> implementation
         the impact of this attack type is somewhat limited but still severe:
         All data being transmitted between client and server may be disclosed.
         This typically comprises sensible data as well. Possible
         solutions:</para>
 
         <figure xml:id="sda1_jdbc_fig_jdbcSecurityImpact">
-          <title><xref linkend="glo_Soft_Mysql"/> security</title>
+          <title><xref linkend="glo_Soft_Mysql" /> security</title>
 
           <itemizedlist>
             <listitem>
@@ -1704,8 +1561,7 @@ public someClass {
             </listitem>
 
             <listitem>
-              <para><productname
-              xlink:href="https://www.mysql.com">Mysql</productname> mitigates
+              <para><productname xlink:href="https://www.mysql.com">Mysql</productname> mitigates
               the attack type's severity</para>
             </listitem>
 
@@ -1715,16 +1571,13 @@ public someClass {
               <itemizedlist>
                 <listitem>
                   <para>Encrypted tunnel between client and server: like e.g.
-                  <link
-                  xlink:href="https://www.debianadmin.com/howto-use-ssh-local-and-remote-port-forwarding.html">ssh
-                  port forwarding</link> or <link
-                  xlink:href="https://en.wikipedia.org/wiki/Virtual_private_network">VPN</link>.</para>
+                  <link xlink:href="https://www.debianadmin.com/howto-use-ssh-local-and-remote-port-forwarding.html">ssh
+                  port forwarding</link> or <link xlink:href="https://en.wikipedia.org/wiki/Virtual_private_network">VPN</link>.</para>
                 </listitem>
 
                 <listitem>
-                  <para>Use <trademark
-                  xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
-                  driver supporting <xref linkend="glo_TLS"/>.</para>
+                  <para>Use <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+                  driver supporting <xref linkend="glo_TLS" />.</para>
                 </listitem>
               </itemizedlist>
             </listitem>
@@ -1744,7 +1597,7 @@ public someClass {
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/sqlconstruct.multi.svg"/>
+              <imagedata fileref="Ref/Fig/sqlconstruct.multi.svg" />
             </imageobject>
           </mediaobject>
         </figure>
@@ -1754,7 +1607,7 @@ public someClass {
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/sqlinject.multi.svg"/>
+              <imagedata fileref="Ref/Fig/sqlinject.multi.svg" />
             </imageobject>
           </mediaobject>
         </figure>
@@ -1765,7 +1618,7 @@ public someClass {
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/exploits_of_a_mom.png"/>
+              <imagedata fileref="Ref/Fig/exploits_of_a_mom.png" />
             </imageobject>
           </mediaobject>
         </figure>
@@ -1778,14 +1631,13 @@ public someClass {
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/heartland.fig"/>
+              <imagedata fileref="Ref/Fig/heartland.fig" />
             </imageobject>
           </mediaobject>
         </figure>
 
         <figure xml:id="sda1_jdbc_sqlInjectionRelevance">
-          <title>SQL injection relevance, <xref
-          linkend="bib_Clarke09"/></title>
+          <title>SQL injection relevance, <xref linkend="bib_Clarke09" /></title>
 
           <blockquote>
             <para>Many people say they know what SQL injection is, but all
@@ -1802,8 +1654,7 @@ public someClass {
         <figure xml:id="sda1_fig_sqlInjectLessonsLearned">
           <title>Lessons learned?</title>
 
-          <para>Current achievements continue to be <link
-          xlink:href="https://www.cvedetails.com/vulnerability-search.php?f=1&amp;vendor=&amp;product=&amp;cveid=&amp;cweid=&amp;cvssscoremin=&amp;cvssscoremax=&amp;psy=&amp;psm=&amp;pey=&amp;pem=&amp;usy=&amp;usm=&amp;uey=&amp;uem=&amp;opsqli=1">questionable</link>.</para>
+          <para>Current achievements continue to be <link xlink:href="https://www.cvedetails.com/vulnerability-search.php?f=1&amp;vendor=&amp;product=&amp;cveid=&amp;cweid=&amp;cvssscoremin=&amp;cvssscoremax=&amp;psy=&amp;psm=&amp;pey=&amp;pem=&amp;usy=&amp;usm=&amp;uey=&amp;uem=&amp;opsqli=1">questionable</link>.</para>
         </figure>
 
         <qandaset defaultlabel="qanda" xml:id="sqlInjectDropTable">
@@ -1812,16 +1663,14 @@ public someClass {
           <qandadiv>
             <qandaentry>
               <question>
-                <para>Use your <xref linkend="quandaentry_DupInsertUnitTest"/>
-                application and the idea of <xref linkend="figSqlInject"/> to
+                <para>Use your <xref linkend="quandaentry_DupInsertUnitTest" />
+                application and the idea of <xref linkend="figSqlInject" /> to
                 launch an SQL injection attack. We provide some hints:</para>
 
                 <orderedlist>
                   <listitem>
-                    <para>The <productname
-                    xlink:href="https://www.mysql.com">Mysql</productname>
-                    <trademark
-                    xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+                    <para>The <productname xlink:href="https://www.mysql.com">Mysql</productname>
+                    <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
                     driver implementation already provides precautions to
                     hamper SQL injection attacks. In its default configuration
                     a sequence of SQL commands separated by semicolons
@@ -1831,18 +1680,14 @@ public someClass {
                     <programlisting language="sql">INSERT INTO Person VALUES (...);DROP TABLE Person</programlisting>
 
                     <para>In order to execute these so called multi user
-                    queries we explicitly have to enable a <productname
-                    xlink:href="https://www.mysql.com">Mysql</productname>
+                    queries we explicitly have to enable a <productname xlink:href="https://www.mysql.com">Mysql</productname>
                     property thereby overriding the default security
                     configuration:</para>
 
-                    <literallayout>jdbc:mysql://localhost:3306/hdm?useSSL=false&amp;<emphasis
-                        role="red">allowMultiQueries=true</emphasis></literallayout>
+                    <literallayout>jdbc:mysql://localhost:3306/hdm?useSSL=false&amp;<emphasis role="red">allowMultiQueries=true</emphasis></literallayout>
 
-                    <para>The <productname
-                    xlink:href="https://www.mysql.com">Mysql</productname>
-                    manual <link
-                    xlink:href="https://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html">contains
+                    <para>The <productname xlink:href="https://www.mysql.com">Mysql</productname>
+                    manual <link xlink:href="https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html">contains
                     </link>a remark regarding this parameter:</para>
 
                     <remark>Notice that this has the potential for SQL
@@ -1862,12 +1707,9 @@ public someClass {
 
               <answer>
                 <para>Logging tells us about SQL code being generated when
-                inserting a record based on e.g. user <emphasis
-                role="red">Eve</emphasis> having an email <emphasis
-                role="red">eve@my.org</emphasis>:</para>
+                inserting a record based on e.g. user <emphasis role="red">Eve</emphasis> having an email <emphasis role="red">eve@my.org</emphasis>:</para>
 
-                <programlisting language="sql">main INFO  insert.SimpleInsert - Executing »INSERT INTO Person VALUES('<emphasis
-                    role="red">Eve</emphasis>', '<emphasis role="red">eve@my.org</emphasis>')«</programlisting>
+                <programlisting language="sql">main INFO  insert.SimpleInsert - Executing »INSERT INTO Person VALUES('<emphasis role="red">Eve</emphasis>', '<emphasis role="red">eve@my.org</emphasis>')«</programlisting>
 
                 <para>We craft our first input <code>username</code> replacing
                 <emphasis role="red">Eve</emphasis> to launch our
@@ -1885,7 +1727,7 @@ Enter <emphasis role="red">Eve', 'eve@my.org');DROP TABLE Person;INSERT INTO Per
                 <para>This <quote>successfully</quote> kills our
                 <code>Person</code> table:</para>
 
-                <screen>goik@goikschlepptop MinimumTest&gt; cat A1.log 
+                <screen>goik@goikschlepptop MinimumTest&gt; cat A1.log
 main INFO  insert.SimpleInsert - Executing »INSERT INTO Person VALUES('Eve', 'eve@my.org');DROP TABLE Person;INSERT INTO Person VALUES('jim', 'jim@company.com')«
 main ERROR insert.SimpleInsert - General database connection problem:
 java.sql.SQLSyntaxErrorException: Table 'hdm.Person' doesn't exist
@@ -1914,13 +1756,13 @@ java.sql.SQLSyntaxErrorException: Table 'hdm.Person' doesn't exist
         <title>Sanitizing user input</title>
 
         <para>There are at least two general ways to deal with the disastrous
-        result of <xref linkend="sqlInjectDropTable"/>:</para>
+        result of <xref linkend="sqlInjectDropTable" />:</para>
 
         <itemizedlist>
           <listitem>
             <para>Keep the database server from interpreting user input
             completely. This is probably the best way and will be discussed in
-            <xref linkend="sectPreparedStatements"/>.</para>
+            <xref linkend="sectPreparedStatements" />.</para>
           </listitem>
 
           <listitem>
@@ -1963,9 +1805,9 @@ java.sql.SQLSyntaxErrorException: Table 'hdm.Person' doesn't exist
               input:</para>
 
               <informaltable border="1">
-                <col width="10%"/>
+                <col width="10%" />
 
-                <col width="5%"/>
+                <col width="5%" />
 
                 <tr>
                   <td>Mercury</td>
@@ -2026,41 +1868,35 @@ java.sql.SQLSyntaxErrorException: Table 'hdm.Person' doesn't exist
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/filtering.fig"/>
+              <imagedata fileref="Ref/Fig/filtering.fig" />
             </imageobject>
           </mediaobject>
         </figure>
 
         <qandaset defaultlabel="qanda" xml:id="quandaentry_RegexpUse">
-          <title>Using regular expressions in <xref
-          linkend="glo_Java"/></title>
+          <title>Using regular expressions in <xref linkend="glo_Java" /></title>
 
           <qandadiv>
             <qandaentry>
               <question>
-                <para>This exercise is a preparation for <xref
-                linkend="exercisefilterUserInput"/>. The aim is to deal with
-                regular expressions and to use them in <xref
-                linkend="glo_Java"/>. If you don't know yet about regular
+                <para>This exercise is a preparation for <xref linkend="exercisefilterUserInput" />. The aim is to deal with
+                regular expressions and to use them in <xref linkend="glo_Java" />. If you don't know yet about regular
                 expressions / pattern matching you may want to read either
                 of:</para>
 
                 <itemizedlist>
                   <listitem>
-                    <para><link
-                    xlink:href="http://www.aivosto.com/vbtips/regex.html">Regular
+                    <para><link xlink:href="http://www.aivosto.com/vbtips/regex.html">Regular
                     expressions - An introduction</link></para>
                   </listitem>
 
                   <listitem>
-                    <para><link
-                    xlink:href="http://www.codeproject.com/Articles/939/An-Introduction-to-Regular-Expressions">An
+                    <para><link xlink:href="http://www.codeproject.com/Articles/939/An-Introduction-to-Regular-Expressions">An
                     Introduction to Regular Expressions</link></para>
                   </listitem>
 
                   <listitem>
-                    <para><link
-                    xlink:href="http://www.regular-expressions.info/tutorial.html">Regular
+                    <para><link xlink:href="http://www.regular-expressions.info/tutorial.html">Regular
                     Expression Tutorial</link></para>
                   </listitem>
                 </itemizedlist>
@@ -2071,11 +1907,11 @@ java.sql.SQLSyntaxErrorException: Table 'hdm.Person' doesn't exist
                 <programlisting language="java">...
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
- 
+
 public static void main(String[] args) {
    final String [] wordList = new String [] {"Eric", "126653BBb", "_login","some text"};
    final String [] regexpList = new String[] {"[A-K].*", "[^0-9]+.*", "_[a-z]+", ""};
-   
+
    for (final String word: wordList) {
       for (final String regexp: regexpList) {
          testMatch(word, regexp);
@@ -2086,10 +1922,10 @@ public static void main(String[] args) {
 /**
  * Matching a given word by a regular expression. A log message is being
  * written to stdout.
- * 
+ *
  * Hint: The implementation is based on the explanation being given in the
  * introduction to {@link Pattern}
- * 
+ *
  * @param word This string will be matched by the subsequent argument.
  * @param regexp The regular expression tested to match the previous argument.
  * @return true if regexp matches word, false otherwise.
@@ -2098,7 +1934,7 @@ public static boolean testMatch(final String word, final String regexp) {
 .../* to be implemented by <emphasis role="bold">**YOU**</emphasis>   */
 }</programlisting>
 
-                <para>As being noted in the <xref linkend="glo_Java"/> above
+                <para>As being noted in the <xref linkend="glo_Java" /> above
                 you may want to read the documentation of class
                 <classname>java.util.regex.Pattern</classname>. The intended
                 output of the above application is:</para>
@@ -2117,7 +1953,7 @@ import java.util.regex.Pattern;
 /**
  * This class is intended to gain some basic experience with
  * regular expressions and their usage in Java
- * 
+ *
  * @author goik
  *
  */
@@ -2138,10 +1974,10 @@ public class RegexpPrimer {
    /**
     * Matching a given word by a regular expression. A log message is being
     * written to stdout.
-    * 
+    *
     * Hint: The implementation is based on the explanation being given in the
     * introduction to {@link Pattern}
-    * 
+    *
     * @param word This string will be matched by the subsequent argument.
     * @param regexp The regular expression tested to match the previous argument.
     * @return true if regexp matches word, false otherwise.
@@ -2169,7 +2005,7 @@ public class RegexpPrimer {
           <qandadiv>
             <qandaentry>
               <question>
-                <para>The application of <xref linkend="sqlInjectDropTable"/>
+                <para>The application of <xref linkend="sqlInjectDropTable" />
                 proved to be vulnerable to SQL injection. Sanitize the two
                 user input field's values to prevent such behaviour.</para>
 
@@ -2210,8 +2046,7 @@ public class RegexpPrimer {
                           application.</para>
 
                           <para>A concise definition of an email's syntax is
-                          being given in <link
-                          xlink:href="https://tools.ietf.org/html/rfc5322#section-3.4.1">RFC5322</link>.
+                          being given in <link xlink:href="https://tools.ietf.org/html/rfc5322#section-3.4.1">RFC5322</link>.
                           Its implementation is beyond scope of the current
                           lecture. Moreover it is questionable whether E-mail
                           clients and mail transfer agents implement strict
@@ -2226,7 +2061,7 @@ public class RegexpPrimer {
                   </listitem>
 
                   <listitem>
-                    <para>The <xref linkend="glo_Java"/> standard class
+                    <para>The <xref linkend="glo_Java" /> standard class
                     <classname>javax.swing.InputVerifier</classname> may help
                     you validating user input.</para>
                   </listitem>
@@ -2244,7 +2079,7 @@ public class RegexpPrimer {
 
                       <mediaobject>
                         <imageobject>
-                          <imagedata fileref="Ref/Fig/insertValidate.screen.png"/>
+                          <imagedata fileref="Ref/Fig/insertValidate.screen.png" />
                         </imageobject>
 
                         <caption>
@@ -2259,8 +2094,7 @@ public class RegexpPrimer {
 
                 <tip>
                   <para>Vaadin does provide regular expression based
-                  validation support. You may want to consider <classname
-                  xlink:href="https://vaadin.com/api/com.vaadin.data.validator.EmailValidator">EmailValidator</classname>
+                  validation support. You may want to consider <classname xlink:href="https://vaadin.com/api/com/vaadin/data/validator/EmailValidator.html">EmailValidator</classname>
                   instead.</para>
                 </tip>
               </question>
@@ -2271,15 +2105,14 @@ public class RegexpPrimer {
                 </annotation>
 
                 <para>Validation will be based on both on regular expressions
-                and Vaadins built in <classname
-                xlink:href="https://vaadin.com/api/com.vaadin.data.validator.EmailValidator">EmailValidator</classname>:</para>
+                and Vaadins built in <classname xlink:href="https://vaadin.com/api/com/vaadin/data/validator/EmailValidator.html">EmailValidator</classname>:</para>
 
                 <programlisting language="java">   @Override
    protected void init(final VaadinRequest vaadinRequest) {
 
     ...
       // Sanitizing user names by regular expression
-      nameField.addValidator(new RegexpValidator("[^;\"'()]+", 
+      nameField.addValidator(new RegexpValidator("[^;\"'()]+",
         "Sorry but this does not appear to be a user's name"));
 
       // Adding an input validator for sanitizing username and e-mail input values.
@@ -2291,12 +2124,12 @@ public class RegexpPrimer {
 ...
 
    void conditionallyActivateInsertButton() {
-      final boolean isValid = 
+      final boolean isValid =
             0 &lt; nameField.getValue().trim().length() &amp;&amp;
             nameField.isValid() &amp;&amp;
-           
+
             // empty fields are not being validated!
-            0 &lt; emailField.getValue().trim().length() &amp;&amp; 
+            0 &lt; emailField.getValue().trim().length() &amp;&amp;
             <emphasis role="bold">emailField.isValid();</emphasis>
                 ...</programlisting>
               </answer>
@@ -2309,20 +2142,19 @@ public class RegexpPrimer {
         <title><classname>java.sql.PreparedStatement</classname></title>
 
         <para>Sanitizing user input is a means to secure an application. The
-        <trademark
-        xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+        <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
         standard however provides a mechanism being superior regarding the
         purpose of protecting applications against SQL injection attacks. We
         shed some light on our current mechanism sending SQL statements to a
         database server:</para>
 
         <figure xml:id="sqlTransport">
-          <title>SQL statements in <xref linkend="glo_Java"/> applications get
+          <title>SQL statements in <xref linkend="glo_Java" /> applications get
           parsed at the database server</title>
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/sqlTransport.fig"/>
+              <imagedata fileref="Ref/Fig/sqlTransport.fig" />
             </imageobject>
           </mediaobject>
         </figure>
@@ -2361,7 +2193,7 @@ INSERT INTO Person VALUES ('Pete', 'p@rr.com')
         <figure xml:id="sda1_jdbc_fig_interpretSqlPerformanceMitigation">
           <title>Addressing performance mitigation</title>
 
-          <programlisting language="sql">INSERT INTO Person VALUES 
+          <programlisting language="sql">INSERT INTO Person VALUES
   ('Jim', 'jim@q.org'),
   ('Eve', 'eve@y.org'),
   ('Pete', 'p@rr.com') ... ;</programlisting>
@@ -2374,7 +2206,7 @@ INSERT INTO Person VALUES ('Pete', 'p@rr.com')
           <title>Addressing security</title>
 
           <para>The database server's interpreter may interpret an attacker's
-          malicious code among with intended <xref linkend="glo_SQL"/>.</para>
+          malicious code among with intended <xref linkend="glo_SQL" />.</para>
         </figure>
 
         <figure xml:id="sda1_jdbc_fig_interpretSqlSecurityPerformanceSolution">
@@ -2401,7 +2233,7 @@ INSERT INTO Person VALUES ('Pete', 'p@rr.com')
 
           <mediaobject>
             <imageobject>
-              <imagedata fileref="Ref/Fig/sqlTransportPrepare.fig"/>
+              <imagedata fileref="Ref/Fig/sqlTransportPrepare.fig" />
             </imageobject>
           </mediaobject>
         </figure>
@@ -2416,15 +2248,13 @@ INSERT INTO Person VALUES ('Pete', 'p@rr.com')
 
           <orderedlist>
             <listitem>
-              <para xml:id="exerciseGuiWritePrepared"><classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/PreparedStatement.html">PreparedStatement</classname>
-              instance creation: Parsing <xref linkend="glo_SQL"/> statement
+              <para xml:id="exerciseGuiWritePrepared"><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/PreparedStatement.html">PreparedStatement</classname>
+              instance creation: Parsing <xref linkend="glo_SQL" /> statement
               possibly containing place holders.</para>
             </listitem>
 
             <listitem>
-              <para>Set values of all placeholder values: No <xref
-              linkend="glo_SQL"/> parsing happens.</para>
+              <para>Set values of all placeholder values: No <xref linkend="glo_SQL" /> parsing happens.</para>
             </listitem>
 
             <listitem>
@@ -2433,32 +2263,28 @@ INSERT INTO Person VALUES ('Pete', 'p@rr.com')
           </orderedlist>
 
           <para>Steps 2. and 3. may be repeated without requiring re-parsing
-          <xref linkend="glo_SQL"/> statements thus saving database server
+          <xref linkend="glo_SQL" /> statements thus saving database server
           resources.</para>
         </figure>
 
-        <para>Our introductory toy application <xref
-        linkend="sda1_fig_jdbcSimpleWrite"/> may be rewritten using <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/PreparedStatement.html">PreparedStatement</classname>
+        <para>Our introductory toy application <xref linkend="sda1_fig_jdbcSimpleWrite" /> may be rewritten using <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/PreparedStatement.html">PreparedStatement</classname>
         objects:</para>
 
         <figure xml:id="sda1_jdbc_fig_preparedStatementExample">
-          <title><classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/PreparedStatement.html">PreparedStatement</classname>
+          <title><classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/PreparedStatement.html">PreparedStatement</classname>
           example</title>
 
           <programlisting language="java">final Connection conn = DriverManager.getConnection (...
-      
+
 final PreparedStatement pStmt = conn.prepareStatement(
-  "INSERT INTO Person VALUES(<emphasis role="bold">?, ?</emphasis>)");<co
-              xml:id="listPrepCreate"/>
-      
-pStmt.setString(1, "Jim");<co xml:id="listPrepSet1"/>
-pStmt.setString(2, "jim@foo.org");<co xml:id="listPrepSet2"/>
-      
-final int updateCount = pStmt.executeUpdate();<co xml:id="listPrepExec"/>
-      
-System.out.println("Successfully inserted " + updateCount + " dataset(s)");     </programlisting>
+  "INSERT INTO Person VALUES(<emphasis role="bold">?, ?</emphasis>)");<co xml:id="listPrepCreate" />
+
+pStmt.setString(1, "Jim");<co xml:id="listPrepSet1" />
+pStmt.setString(2, "jim@foo.org");<co xml:id="listPrepSet2" />
+
+final int updateCount = pStmt.executeUpdate();<co xml:id="listPrepExec" />
+
+System.out.println("Successfully inserted " + updateCount + " dataset(s)");</programlisting>
         </figure>
 
         <calloutlist>
@@ -2470,23 +2296,19 @@ System.out.println("Successfully inserted " + updateCount + " dataset(s)");
           </callout>
 
           <callout arearefs="listPrepSet1 listPrepSet2">
-            <para>Fill in the two placeholder values being defined at <coref
-            linkend="listPrepCreate"/>.</para>
+            <para>Fill in the two placeholder values being defined at <coref linkend="listPrepCreate" />.</para>
 
             <caution>
               <para>Since half the world of programming folks will index a
-              list of n elements starting from 0 to n-1, <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
-              apparently counts from 1 to n. Working with <trademark
-              xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              list of n elements starting from 0 to n-1, <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+              apparently counts from 1 to n. Working with <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
               would have been too easy otherwise!</para>
             </caution>
           </callout>
 
           <callout arearefs="listPrepExec">
             <para>Execute the beast! Notice the empty parameter list. No SQL
-            is required since we already prepared it in <coref
-            linkend="listPrepCreate"/>.</para>
+            is required since we already prepared it in <coref linkend="listPrepCreate" />.</para>
           </callout>
         </calloutlist>
 
@@ -2504,54 +2326,38 @@ System.out.println("Successfully inserted " + updateCount + " dataset(s)");
         <figure xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport">
           <title>No dynamic table support</title>
 
-          <programlisting language="java">PreparedSatatement statement = 
-  connection.prepareStatement("SELECT ? <co
-              linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-1.2"
-              xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-1.2-co"/> from ?" <co
-              linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-2.2"
-              xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-2.2-co"/>);      
-statement.setString(1, "birthday") <co
-              linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-3.2"
-              xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-3.2-co"/>;
-statement.setString(2, "Persons") <co
-              linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-4.2"
-              xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-4.2-co"/>;
-ResultSet rs = statement.executeQuery() <co
-              linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-5"
-              xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-5-co"/>;</programlisting>
+          <programlisting language="java">PreparedSatatement statement =
+  connection.prepareStatement("SELECT ? <co linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-1.2" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-1.2-co" /> from ?" <co linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-2.2" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-2.2-co" />);
+statement.setString(1, "birthday") <co linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-3.2" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-3.2-co" />;
+statement.setString(2, "Persons") <co linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-4.2" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-4.2-co" />;
+ResultSet rs = statement.executeQuery() <co linkends="sda1_jdbc_fig_preparedNoDynamicTableSupport-5" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-5-co" />;</programlisting>
 
           <para>In a nutshell: <emphasis role="red">Only attribute value
           literals may be parameterized.</emphasis></para>
         </figure>
 
         <calloutlist>
-          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-1.2-co"
-                   xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-1.2">
+          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-1.2-co" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-1.2">
             <para>Providing an attributes name as parameter.</para>
           </callout>
 
-          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-2.2-co"
-                   xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-2.2">
+          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-2.2-co" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-2.2">
             <para>Providing the table name to be queried as parameter.</para>
           </callout>
 
-          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-3.2-co"
-                   xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-3.2">
+          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-3.2-co" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-3.2">
             <para>Setting the desired attributes name intending:</para>
 
             <programlisting language="none">SELECT <emphasis role="red">birthday</emphasis> FROM ...</programlisting>
           </callout>
 
-          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-4.2-co"
-                   xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-4.2">
+          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-4.2-co" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-4.2">
             <para>Setting the table name to be queried intending:</para>
 
-            <programlisting language="none">SELECT birthday FROM <emphasis
-                role="red">Persons</emphasis></programlisting>
+            <programlisting language="none">SELECT birthday FROM <emphasis role="red">Persons</emphasis></programlisting>
           </callout>
 
-          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-5-co"
-                   xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-5">
+          <callout arearefs="sda1_jdbc_fig_preparedNoDynamicTableSupport-5-co" xml:id="sda1_jdbc_fig_preparedNoDynamicTableSupport-5">
             <para>Fails: Only attribute value literals are allowed.</para>
           </callout>
         </calloutlist>
@@ -2563,16 +2369,14 @@ ResultSet rs = statement.executeQuery() <co
           <qandadiv>
             <qandaentry>
               <question>
-                <para>Use <classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/PreparedStatement.html">PreparedStatement</classname>
-                objects to sanitize your flawed <xref
-                linkend="quandaentry_DupInsertUnitTest"/> implementation being
-                susceptible to <xref linkend="glo_SQL"/> injection
+                <para>Use <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/PreparedStatement.html">PreparedStatement</classname>
+                objects to sanitize your flawed <xref linkend="quandaentry_DupInsertUnitTest" /> implementation being
+                susceptible to <xref linkend="glo_SQL" /> injection
                 attacks.</para>
 
                 <para>When you are done repeat your injection attempt from
-                <xref linkend="sqlInjectDropTable"/>. You may require larger
-                string lengths in your <xref linkend="glo_SQL"/> schema for
+                <xref linkend="sqlInjectDropTable" />. You may require larger
+                string lengths in your <xref linkend="glo_SQL" /> schema for
                 accommodating the injection string.</para>
               </question>
 
@@ -2593,13 +2397,11 @@ ResultSet rs = statement.executeQuery() <co
       <title>Read Access</title>
 
       <figure xml:id="sda1_jdbc_fig_readAndWrite">
-        <title><xref linkend="glo_JDBC"/> read and write</title>
+        <title><xref linkend="glo_JDBC" /> read and write</title>
 
         <itemizedlist>
           <listitem>
-            <para><code language="sql">CREATE</code> / <code
-            language="sql">UPDATE</code> / <code
-            language="sql">DELETE</code></para>
+            <para><code language="sql">CREATE</code> / <code language="sql">UPDATE</code> / <code language="sql">DELETE</code></para>
 
             <para>client modifies database server data:</para>
 
@@ -2611,7 +2413,7 @@ ResultSet rs = statement.executeQuery() <co
 
             <para>client receives copies of database server data:</para>
 
-            <programlisting language="java">ResultSet result = statement.executeQuery("SELECT ... FROM Person ...");        </programlisting>
+            <programlisting language="java">ResultSet result = statement.executeQuery("SELECT ... FROM Person ...");</programlisting>
           </listitem>
         </itemizedlist>
       </figure>
@@ -2621,23 +2423,21 @@ ResultSet rs = statement.executeQuery() <co
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/jdbcReadWrite.fig"/>
+            <imagedata fileref="Ref/Fig/jdbcReadWrite.fig" />
           </imageobject>
         </mediaobject>
       </figure>
 
       <figure xml:id="sda1_jdbc_fig_readContainer">
-        <title><xref linkend="glo_JDBC"/> record container</title>
+        <title><xref linkend="glo_JDBC" /> record container</title>
 
         <itemizedlist>
           <listitem>
-            <para>No standard Collections container e.g. <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">java.util.List</classname>.</para>
+            <para>No standard Collections container e.g. <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">java.util.List</classname>.</para>
           </listitem>
 
           <listitem>
-            <para><quote>Own</quote> container standard <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html">java.sql.ResultSet</classname>
+            <para><quote>Own</quote> container standard <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html">java.sql.ResultSet</classname>
             holding transient database.</para>
           </listitem>
         </itemizedlist>
@@ -2648,7 +2448,7 @@ ResultSet rs = statement.executeQuery() <co
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Fig/jdbcread.fig" scale="65"/>
+            <imagedata fileref="Ref/Fig/jdbcread.fig" scale="65" />
           </imageobject>
         </mediaobject>
       </figure>
@@ -2662,13 +2462,13 @@ ResultSet rs = statement.executeQuery() <co
         <informaltable border="0">
           <tr>
             <td valign="top"><programlisting language="sql">CREATE TABLE Friends (
-   id INTEGER NOT NULL PRIMARY KEY    
+   id INTEGER NOT NULL PRIMARY KEY
   ,nickname char(10)
   ,birthdate DATE
 );</programlisting></td>
 
             <td valign="top"><programlisting language="sql">INSERT INTO Friends VALUES
-   (1, 'Jim', '1991-10-10')    
+   (1, 'Jim', '1991-10-10')
   ,(2, 'Eve', '2003-05-24')
   ,(3, 'Mick','2001-12-30')
   ;</programlisting></td>
@@ -2682,53 +2482,42 @@ ResultSet rs = statement.executeQuery() <co
         <programlisting language="java">final Connection conn = DriverManager.getConnection (...);
 final Statement stmt = conn.createStatement();
 <emphasis role="bold">// Step 3: Creating the client side JDBC container holding our data records</emphasis>
-<emphasis role="bold">final ResultSet data = stmt.executeQuery("SELECT * FROM Friends");</emphasis> <co
-            linkends="listingJdbcRead-1" xml:id="listingJdbcRead-1-co"/>
-      
+<emphasis role="bold">final ResultSet data = stmt.executeQuery("SELECT * FROM Friends");</emphasis> <co linkends="listingJdbcRead-1" xml:id="listingJdbcRead-1-co" />
+
 <emphasis role="bold">// Step 4: Dataset iteration
-while (data.next()) {</emphasis> <co linkends="listingJdbcRead-2"
-            xml:id="listingJdbcRead-2-co"/>
-<emphasis role="bold">   System.out.println(data.getInt("id")</emphasis> <co
-            linkends="listingJdbcRead-3" xml:id="listingJdbcRead-3-co"/>
-   <emphasis role="bold">    + ", " + data.getString("nickname")</emphasis> <co
-            linkends="listingJdbcRead-3" xml:id="listingJdbcRead-4-co"/>
-       <emphasis role="bold">+ ", " + data.getString("birthdate"));</emphasis> <co
-            linkends="listingJdbcRead-3" xml:id="listingJdbcRead-5-co"/>
+while (data.next()) {</emphasis> <co linkends="listingJdbcRead-2" xml:id="listingJdbcRead-2-co" />
+<emphasis role="bold">   System.out.println(data.getInt("id")</emphasis> <co linkends="listingJdbcRead-3" xml:id="listingJdbcRead-3-co" />
+   <emphasis role="bold">    + ", " + data.getString("nickname")</emphasis> <co linkends="listingJdbcRead-3" xml:id="listingJdbcRead-4-co" />
+       <emphasis role="bold">+ ", " + data.getString("birthdate"));</emphasis> <co linkends="listingJdbcRead-3" xml:id="listingJdbcRead-5-co" />
 }</programlisting>
       </figure>
 
       <calloutlist>
         <callout arearefs="listingJdbcRead-1-co" xml:id="listingJdbcRead-1">
           <para>As being mentioned in the introduction to this section the
-          <trademark
-          xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+          <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
           standard provides a container interface rather than using
           <classname>java.util.List</classname> or similar.</para>
         </callout>
 
         <callout arearefs="listingJdbcRead-2-co" xml:id="listingJdbcRead-2">
-          <para>Calling <link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#next()">next()</link>
+          <para>Calling <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#next()">next()</link>
           prior to actually accessing data on the client side is mandatory!
-          The <link
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#next()">next()</link>
+          The <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#next()">next()</link>
           method positions an internal iterator to the first element of our
           dataset unless the latter being empty. Follow the link address and
           **read** the documentation.</para>
         </callout>
 
-        <callout arearefs="listingJdbcRead-3-co listingJdbcRead-4-co listingJdbcRead-5-co"
-                 xml:id="listingJdbcRead-3">
+        <callout arearefs="listingJdbcRead-3-co listingJdbcRead-4-co listingJdbcRead-5-co" xml:id="listingJdbcRead-3">
           <para>The access methods have to be chosen according to matching
-          types. An overview of database/<xref linkend="glo_Java"/> type
-          mappings is being given in <uri
-          xlink:href="https://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/mapping.html">https://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/mapping.html</uri>.</para>
+          types. An overview of database/<xref linkend="glo_Java" /> type
+          mappings is being given in <uri xlink:href="https://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html">https://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html</uri>.</para>
         </callout>
       </calloutlist>
 
       <figure xml:id="sda1_jdbc_fig_ResultSetStates">
-        <title>Important <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html">ResultSet</classname>
+        <title>Important <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html">ResultSet</classname>
         states</title>
 
         <glosslist>
@@ -2742,14 +2531,10 @@ while (data.next()) {</emphasis> <co linkends="listingJdbcRead-2"
           </glossentry>
 
           <glossentry>
-            <glossterm>Cursor positioned: <code
-            language="java">resultSet.next()</code> returning <code
-            language="java">true</code></glossterm>
+            <glossterm>Cursor positioned: <code language="java">resultSet.next()</code> returning <code language="java">true</code></glossterm>
 
             <glossdef>
-              <para>Data accessible until <code
-              language="java">resultSet.next()</code>returns <code
-              language="java">false</code>.</para>
+              <para>Data accessible until <code language="java">resultSet.next()</code>returns <code language="java">false</code>.</para>
             </glossdef>
           </glossentry>
 
@@ -2765,27 +2550,24 @@ while (data.next()) {</emphasis> <co linkends="listingJdbcRead-2"
       </figure>
 
       <figure xml:id="sda1_jdbc_fig_Sql2JdbcTypeConversion">
-        <title><xref linkend="glo_JDBC"/> to <xref linkend="glo_Java"/> type
+        <title><xref linkend="glo_JDBC" /> to <xref linkend="glo_Java" /> type
         conversions</title>
 
         <informaltable border="1">
           <tr>
-            <th><xref linkend="glo_JDBC"/> Type</th>
+            <th><xref linkend="glo_JDBC" /> Type</th>
 
-            <th><xref linkend="glo_Java"/> type</th>
+            <th><xref linkend="glo_Java" /> type</th>
           </tr>
 
           <tr>
-            <td valign="top"><code language="sql">CHAR</code>, <code
-            language="sql">VARCHAR</code>, <code
-            language="sql">LONGVARCHAR</code></td>
+            <td valign="top"><code language="sql">CHAR</code>, <code language="sql">VARCHAR</code>, <code language="sql">LONGVARCHAR</code></td>
 
             <td valign="top"><classname>String</classname></td>
           </tr>
 
           <tr>
-            <td valign="top"><code language="sql">NUMERIC</code>, <code
-            language="sql">DECIMAL</code></td>
+            <td valign="top"><code language="sql">NUMERIC</code>, <code language="sql">DECIMAL</code></td>
 
             <td valign="top"><classname>java.math.BigDecimal</classname></td>
           </tr>
@@ -2809,28 +2591,25 @@ while (data.next()) {</emphasis> <co linkends="listingJdbcRead-2"
           </tr>
         </informaltable>
 
-        <para>Shamelessly copied from <link
-        xlink:href="https://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html#1051555">JDBC
+        <para>Shamelessly copied from <link xlink:href="https://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html#1051555">JDBC
         Types Mapped to Java Types</link>.</para>
       </figure>
 
       <figure xml:id="sda1_jdbc_fig_Jdbc2SqlTypeConversion">
-        <title><xref linkend="glo_Java"/> to <xref linkend="glo_JDBC"/> type
+        <title><xref linkend="glo_Java" /> to <xref linkend="glo_JDBC" /> type
         conversions</title>
 
         <informaltable border="1">
           <tr>
-            <th><xref linkend="glo_Java"/> Type</th>
+            <th><xref linkend="glo_Java" /> Type</th>
 
-            <th><xref linkend="glo_JDBC"/> type</th>
+            <th><xref linkend="glo_JDBC" /> type</th>
           </tr>
 
           <tr>
             <td valign="top"><classname>String</classname></td>
 
-            <td valign="top"><code language="sql">CHAR</code>, <code
-            language="sql">VARCHAR</code>, <code
-            language="sql">LONGVARCHAR</code></td>
+            <td valign="top"><code language="sql">CHAR</code>, <code language="sql">VARCHAR</code>, <code language="sql">LONGVARCHAR</code></td>
           </tr>
 
           <tr>
@@ -2852,8 +2631,7 @@ while (data.next()) {</emphasis> <co linkends="listingJdbcRead-2"
           </tr>
         </informaltable>
 
-        <para>Shamelessly copied from <link
-        xlink:href="https://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html#1033804">Java
+        <para>Shamelessly copied from <link xlink:href="https://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html#1033804">Java
         Types Mapped to JDBC Types</link>.</para>
       </figure>
 
@@ -2871,8 +2649,7 @@ Date getDate​(int columnIndex)
 
         <programlisting language="java">Object getObject​(int columnIndex)</programlisting>
 
-        <para><link
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#getObject-int-">Gets
+        <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#getObject(int)">Gets
         the value of the designated column in the current row of this
         ResultSet object as an Object in the Java programming
         language.</link></para>
@@ -2885,13 +2662,13 @@ Date getDate​(int columnIndex)
           <tr>
             <td valign="top"><programlisting language="java">final int id =
   resultSet.getInt("id");
-final String nickName = 
-  resultSet.getString("nickname");     
+final String nickName =
+  resultSet.getString("nickname");
 final Date birthDate =
   resultSet.getDate​("birthdate");</programlisting></td>
 
             <td valign="top"><programlisting language="sql">CREATE TABLE Friends (
-   id INTEGER NOT NULL PRIMARY KEY     
+   id INTEGER NOT NULL PRIMARY KEY
   ,nickname char(10)
   ,birthdate DATE
 );</programlisting></td>
@@ -2906,13 +2683,13 @@ final Date birthDate =
           <tr>
             <td valign="top"><programlisting language="java">final int id =
   resultSet.getInt(1);
-final String nickName = 
-  resultSet.getString(2);     
+final String nickName =
+  resultSet.getString(2);
 final Date birthDate =
   resultSet.getDate(3);</programlisting></td>
 
             <td valign="top"><programlisting language="sql">CREATE TABLE Friends (
-   id INTEGER NOT NULL PRIMARY KEY     
+   id INTEGER NOT NULL PRIMARY KEY
   ,nickname char(10)
   ,birthdate DATE
 );</programlisting></td>
@@ -2921,7 +2698,7 @@ final Date birthDate =
       </figure>
 
       <para>We now present a series of exercises thereby exploring important
-      aspects of <xref linkend="glo_JDBC"/> read access.</para>
+      aspects of <xref linkend="glo_JDBC" /> read access.</para>
 
       <section xml:id="sectGetterTypeConversion">
         <title>Getter methods and type conversion</title>
@@ -2930,21 +2707,17 @@ final Date birthDate =
           <qandadiv>
             <qandaentry>
               <question>
-                <para>Apart from type mappings the <xref linkend="glo_JDBC"/>
-                access methods like <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#getString(int)">getString()</link>
-                may also be used for type conversion. Modify <xref
-                linkend="sda1_jdbc_fig_codeReadingFriendsData"/> by:</para>
+                <para>Apart from type mappings the <xref linkend="glo_JDBC" />
+                access methods like <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#getString(int)">getString()</link>
+                may also be used for type conversion. Modify <xref linkend="sda1_jdbc_fig_codeReadingFriendsData" /> by:</para>
 
                 <itemizedlist>
                   <listitem>
-                    <para>Read the database attribute <code>id</code> by <link
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#getString(java.lang.String)">getString(String)</link>.</para>
+                    <para>Read the database attribute <code>id</code> by <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#getString(java.lang.String)">getString(String)</link>.</para>
                   </listitem>
 
                   <listitem>
-                    <para>Read the database attribute nickname by <link
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#getInt(java.lang.String)">getInt(String)</link>.</para>
+                    <para>Read the database attribute nickname by <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#getInt(java.lang.String)">getInt(String)</link>.</para>
                   </listitem>
                 </itemizedlist>
 
@@ -2956,31 +2729,23 @@ final Date birthDate =
 
                 <programlisting language="java">// Step 4: Dataset iteration
 while (data.next()) {
-    System.out.println(data.<emphasis role="bold">getString</emphasis>("id") <co
-                    linkends="jdbcReadWrongType-1"
-                    xml:id="jdbcReadWrongType-1-co"/>
-           + ", " + data.<emphasis role="bold">getInt</emphasis>("nickname") <co
-                    linkends="jdbcReadWrongType-2"
-                    xml:id="jdbcReadWrongType-2-co"/>
+    System.out.println(data.<emphasis role="bold">getString</emphasis>("id") <co linkends="jdbcReadWrongType-1" xml:id="jdbcReadWrongType-1-co" />
+           + ", " + data.<emphasis role="bold">getInt</emphasis>("nickname") <co linkends="jdbcReadWrongType-2" xml:id="jdbcReadWrongType-2-co" />
            + ", " + data.getString("birthdate"));
 }</programlisting>
 
                 <para>We observe:</para>
 
                 <calloutlist>
-                  <callout arearefs="jdbcReadWrongType-1-co"
-                           xml:id="jdbcReadWrongType-1">
-                    <para>Calling <link
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#getString(int)">getString()</link>
+                  <callout arearefs="jdbcReadWrongType-1-co" xml:id="jdbcReadWrongType-1">
+                    <para>Calling <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#getString(int)">getString()</link>
                     for a database attribute of type INTEGER does not cause
                     any trouble: The value gets silently converted to a string
                     value.</para>
                   </callout>
 
-                  <callout arearefs="jdbcReadWrongType-2-co"
-                           xml:id="jdbcReadWrongType-2">
-                    <para>Calling <link
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#getInt(java.lang.String)">getInt(String)</link>
+                  <callout arearefs="jdbcReadWrongType-2-co" xml:id="jdbcReadWrongType-2">
+                    <para>Calling <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#getInt(java.lang.String)">getInt(String)</link>
                     for the database field of type CHAR yields an (expected)
                     Exception:</para>
                   </callout>
@@ -3001,15 +2766,14 @@ INSERT INTO Friends VALUES (1, <emphasis role="bold">'31'</emphasis>, '1991-10-1
 
                 <screen>1, 31, 1991-10-10</screen>
 
-                <para>Conclusion: The <xref linkend="glo_JDBC"/> driver
+                <para>Conclusion: The <xref linkend="glo_JDBC" /> driver
                 performs a conversion from a string type to an integer similar
-                like the <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html#parseInt(java.lang.String)">parseInt(String)</link>
+                like the <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Integer.html#parseInt(java.lang.String)">parseInt(String)</link>
                 method.</para>
 
                 <para>The next series of exercises aims on a more powerful
                 implementation of our person data insertion application in
-                <xref linkend="sda1SectGuiAuthenticateTheRealMcCoy"/>.</para>
+                <xref linkend="sda1SectGuiAuthenticateTheRealMcCoy" />.</para>
               </answer>
             </qandaentry>
           </qandadiv>
@@ -3021,8 +2785,7 @@ INSERT INTO Friends VALUES (1, <emphasis role="bold">'31'</emphasis>, '1991-10-1
 
           <programlisting language="java">final int count = resultSet.getInt("numProducts");</programlisting>
 
-          <para>Problem: Two possibilities in case of <code
-          language="java">count == 0</code>:</para>
+          <para>Problem: Two possibilities in case of <code language="java">count == 0</code>:</para>
 
           <orderedlist>
             <listitem>
@@ -3031,8 +2794,7 @@ INSERT INTO Friends VALUES (1, <emphasis role="bold">'31'</emphasis>, '1991-10-1
             </listitem>
 
             <listitem>
-              <para>DB attribute <property>numProducts</property> is <code
-              language="sql">null</code>.</para>
+              <para>DB attribute <property>numProducts</property> is <code language="sql">null</code>.</para>
             </listitem>
           </orderedlist>
         </figure>
@@ -3049,8 +2811,7 @@ if (resultSet.wasNull()) {
 ...
 }</programlisting>
 
-          <para>See <methodname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#wasNull--">wasNull()</methodname>.</para>
+          <para>See <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#wasNull()">wasNull()</methodname>.</para>
         </figure>
       </section>
 
@@ -3087,8 +2848,7 @@ if (resultSet.wasNull()) {
                 the above result in case of nickname <code>NULL</code>
                 values.</para>
 
-                <para>Hint: Read the documentation of <link
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSet.html#wasNull()">wasNull()</link>.</para>
+                <para>Hint: Read the documentation of <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSet.html#wasNull()">wasNull()</link>.</para>
               </question>
 
               <answer>
@@ -3101,16 +2861,14 @@ if (resultSet.wasNull()) {
       </section>
 
       <section xml:id="sda1SectRelationadatal2Xml">
-        <title>Reversing <xref linkend="glo_XML"/> to Rdbms</title>
+        <title>Reversing <xref linkend="glo_XML" /> to Rdbms</title>
 
-        <qandaset defaultlabel="qanda" xml:base="qandaRelationaldata2Xml"
-                  xml:id="qandaRelationaldata2Xml">
+        <qandaset defaultlabel="qanda" xml:base="qandaRelationaldata2Xml" xml:id="qandaRelationaldata2Xml">
           <qandadiv>
             <qandaentry>
               <question>
-                <para>Reverse exercise <xref
-                linkend="qandaXmldata2relational"/> to read Rdbms data via
-                <xref linkend="glo_JDBC"/> and export corresponding XML data
+                <para>Reverse exercise <xref linkend="qandaXmldata2relational" /> to read Rdbms data via
+                <xref linkend="glo_JDBC" /> and export corresponding XML data
                 using Jdom. You will need two database tables describing each
                 product among with at least one description. Consider the
                 following schema among with some sample data:</para>
@@ -3154,9 +2912,9 @@ INSERT INTO Description VALUES(2, 2, 'Pre-attached tent poles.');</programlistin
                   </listitem>
 
                   <listitem>
-                    <para>Write a <xref linkend="glo_JDBC"/> application which
+                    <para>Write a <xref linkend="glo_JDBC" /> application which
                     reads from your RDBMS data and exports a corresponding
-                    <xref linkend="glo_XML"/> instance:</para>
+                    <xref linkend="glo_XML" /> instance:</para>
 
                     <programlisting language="xml">&lt;catalog&gt;
   &lt;product id="1"&gt;
@@ -3173,8 +2931,7 @@ INSERT INTO Description VALUES(2, 2, 'Pre-attached tent poles.');</programlistin
   &lt;/product&gt;
 &lt;/catalog&gt;</programlisting>
 
-                    <para>Use <link
-                    xlink:href="https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html">PreparedStatement</link>
+                    <para>Use <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/PreparedStatement.html">PreparedStatement</link>
                     instances throughout your application.</para>
                   </listitem>
                 </orderedlist>
@@ -3221,13 +2978,12 @@ INSERT INTO Description VALUES(2, 2, 'Pre-attached tent poles.');</programlistin
           <qandadiv>
             <qandaentry>
               <question>
-                <para>We want to extend the transformation <xref
-                linkend="xml2xml"/> by reading price information from a RDBMS.
+                <para>We want to extend the transformation <xref linkend="xml2xml" /> by reading price information from a RDBMS.
                 Consider the following schema:</para>
 
                 <programlisting language="sql">CREATE TABLE Product(
   orderNo CHAR(10) NOT NULL PRIMARY KEY
- ,price DECIMAL (9,2) NOT NULL 
+ ,price DECIMAL (9,2) NOT NULL
 );
 
 INSERT INTO Product VALUES('x-223', 330.20);
@@ -3239,13 +2995,13 @@ INSERT INTO Product VALUES('w-124', 110.40);
 
                 <mediaobject>
                   <imageobject>
-                    <imagedata fileref="Ref/Fig/xml2html.fig"/>
+                    <imagedata fileref="Ref/Fig/xml2html.fig" />
                   </imageobject>
                 </mediaobject>
 
                 <para>You may start by implementing <emphasis>and
                 testing</emphasis> the following methods of a RDBMS
-                interfacing class using <xref linkend="glo_JDBC"/>:</para>
+                interfacing class using <xref linkend="glo_JDBC" />:</para>
 
                 <programlisting language="java">public class DbAccess {
 
@@ -3254,7 +3010,7 @@ INSERT INTO Product VALUES('w-124', 110.40);
     * @param userName The user's name
     * @param password The user's password
     */
-   public void connect(final String jdbcUrl, 
+   public void connect(final String jdbcUrl,
          final String userName, final String password) {
     ...
    }
@@ -3280,23 +3036,20 @@ INSERT INTO Product VALUES('w-124', 110.40);
                 <tip>
                   <para>You may want to write a small testbed assuring RDBMS
                   access functionality working properly prior to integrating
-                  it into your <xref linkend="glo_DOM"/> application producing
+                  it into your <xref linkend="glo_DOM" /> application producing
                   HTML output.</para>
                 </tip>
 
-                <para>Then extend <xref linkend="xml2xml"/> by introducing a
+                <para>Then extend <xref linkend="xml2xml" /> by introducing a
                 new method <methodname>addPrices(final Document
-                catalog)</methodname> which adds prices to the <acronym
-                xlink:href="https://www.w3.org/DOM">DOM</acronym> tree
+                catalog)</methodname> which adds prices to the <acronym xlink:href="https://www.w3.org/DOM">DOM</acronym> tree
                 accordingly.</para>
               </question>
 
               <answer>
-                <para>The additional functionality on top of <xref
-                linkend="xml2xml"/> is represented by a method
+                <para>The additional functionality on top of <xref linkend="xml2xml" /> is represented by a method
                 <methodname>de.hdm_stuttgart.mi.sda1.rdbmsxml2html.XmlRdbms2Html.addPrices()</methodname>.
-                This method modifies the <acronym
-                xlink:href="https://www.w3.org/DOM">DOM</acronym> input tree
+                This method modifies the <acronym xlink:href="https://www.w3.org/DOM">DOM</acronym> input tree
                 prior to applying the XSL by inserting data received from the
                 RDBMS:</para>
 
@@ -3318,7 +3071,7 @@ INSERT INTO Product VALUES('w-124', 110.40);
 
         <mediaobject>
           <imageobject>
-            <imagedata fileref="Ref/Jdbc/Users/userModel.svg"/>
+            <imagedata fileref="Ref/Jdbc/Users/userModel.svg" />
           </imageobject>
         </mediaobject>
       </figure>
@@ -3328,7 +3081,7 @@ INSERT INTO Product VALUES('w-124', 110.40);
       <title>Transactions</title>
 
       <qandaset defaultlabel="qanda" xml:id="quandaentry_AutoCommit">
-        <title><xref linkend="glo_JDBC"/> and transactions</title>
+        <title><xref linkend="glo_JDBC" /> and transactions</title>
 
         <figure xml:id="sda1_jdbc_fig_transactionIsolationLevel">
           <title>Isolation level</title>
@@ -3345,7 +3098,7 @@ INSERT INTO Product VALUES('w-124', 110.40);
 
             <listitem>
               <para><emphasis role="bold">Level 1</emphasis>: Prevents dirty
-              reads. (Default on many <xref linkend="glo_RDBMS"/>)</para>
+              reads. (Default on many <xref linkend="glo_RDBMS" />)</para>
             </listitem>
 
             <listitem>
@@ -3484,32 +3237,27 @@ INSERT INTO Product VALUES('w-124', 110.40);
         </qandaset>
 
         <figure xml:id="sda1_jdbc_fig_jdbcIsolationLevelApi">
-          <title><xref linkend="glo_JDBC"/> Isolation level</title>
+          <title><xref linkend="glo_JDBC" /> Isolation level</title>
 
           <itemizedlist>
             <listitem>
-              <para>Transaction unsupported: <property
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#TRANSACTION_NONE">Connection.TRANSACTION_NONE</property></para>
+              <para>Transaction unsupported: <property xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#TRANSACTION_NONE">Connection.TRANSACTION_NONE</property></para>
             </listitem>
 
             <listitem>
-              <para>Level 0: <property
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#TRANSACTION_READ_COMMITTED">Connection.TRANSACTION_READ_COMMITTED</property></para>
+              <para>Level 0: <property xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#TRANSACTION_READ_COMMITTED">Connection.TRANSACTION_READ_COMMITTED</property></para>
             </listitem>
 
             <listitem>
-              <para>Level 1: <property
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#TRANSACTION_READ_UNCOMMITTED">Connection.TRANSACTION_READ_UNCOMMITTED</property></para>
+              <para>Level 1: <property xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#TRANSACTION_READ_UNCOMMITTED">Connection.TRANSACTION_READ_UNCOMMITTED</property></para>
             </listitem>
 
             <listitem>
-              <para>Level 2: <property
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#TRANSACTION_REPEATABLE_READ">Connection.TRANSACTION_REPEATABLE_READ</property></para>
+              <para>Level 2: <property xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#TRANSACTION_REPEATABLE_READ">Connection.TRANSACTION_REPEATABLE_READ</property></para>
             </listitem>
 
             <listitem>
-              <para>Level 2: <property
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#TRANSACTION_SERIALIZABLE">Connection.TRANSACTION_SERIALIZABL</property></para>
+              <para>Level 2: <property xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#TRANSACTION_SERIALIZABLE">Connection.TRANSACTION_SERIALIZABL</property></para>
             </listitem>
           </itemizedlist>
         </figure>
@@ -3519,10 +3267,8 @@ INSERT INTO Product VALUES('w-124', 110.40);
 
           <programlisting language="java">connection.setTransactionIsolation​(Connection.TRANSACTION_READ_COMMITTED);</programlisting>
 
-          <para>See <code
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#TRANSACTION_READ_COMMITTED">Connection.TRANSACTION_READ_COMMITTED</code>
-          and <methodname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#setTransactionIsolation-int-">setTransactionIsolation</methodname>.</para>
+          <para>See <code xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#TRANSACTION_READ_COMMITTED">Connection.TRANSACTION_READ_COMMITTED</code>
+          and <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#setTransactionIsolation(int)">setTransactionIsolation</methodname>.</para>
 
           <note>
             <para>Will become effective when starting next transaction.</para>
@@ -3534,18 +3280,15 @@ INSERT INTO Product VALUES('w-124', 110.40);
             <question>
               <itemizedlist>
                 <listitem>
-                  <para><link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#setAutoCommit(boolean)">How
-                  does the method setAutoCommit()</link> relate to <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#commit()">commit()</link>
-                  and <link
-                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#rollback()">rollback()</link>?
+                  <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#setAutoCommit(boolean)">How
+                  does the method setAutoCommit()</link> relate to <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#commit()">commit()</link>
+                  and <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#rollback()">rollback()</link>?
                   Is there a <quote>start transaction</quote> method on
                   offer?</para>
                 </listitem>
 
                 <listitem>
-                  <para>How may we group individual <xref linkend="glo_SQL"/>
+                  <para>How may we group individual <xref linkend="glo_SQL" />
                   statement into transactions?</para>
                 </listitem>
               </itemizedlist>
@@ -3553,18 +3296,15 @@ INSERT INTO Product VALUES('w-124', 110.40);
 
             <answer>
               <para>A connection's default state is <code>autocommit ==
-              true</code>. In this state each individual <xref
-              linkend="glo_SQL"/> statement (<code>SELECT</code>,
+              true</code>. In this state each individual <xref linkend="glo_SQL" /> statement (<code>SELECT</code>,
               <code>UPDATE</code>, ...) defines a separate transaction.</para>
 
-              <para>The <xref linkend="glo_JDBC"/> API does not provide a
+              <para>The <xref linkend="glo_JDBC" /> API does not provide a
               <quote>start transaction</quote> equivalent. Instead
-              transactions are being started implicitly and last until <code
-              language="java">connection</code>.<methodname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#commit--">commit()</methodname>
+              transactions are being started implicitly and last until <code language="java">connection</code>.<methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#commit()">commit()</methodname>
               is being executed.</para>
 
-              <para>Grouping two or more <xref linkend="glo_SQL"/> statements
+              <para>Grouping two or more <xref linkend="glo_SQL" /> statements
               into a transaction in turn requires:</para>
 
               <orderedlist>
@@ -3574,20 +3314,18 @@ INSERT INTO Product VALUES('w-124', 110.40);
                 </listitem>
 
                 <listitem>
-                  <para>All subsequent <xref linkend="glo_SQL"/> statements
+                  <para>All subsequent <xref linkend="glo_SQL" /> statements
                   will implicitly become part of the <quote>current</quote>
                   transaction till either of the following three events
                   happen:</para>
 
                   <orderedlist numeration="loweralpha">
                     <listitem>
-                      <para><link
-                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#commit()">commit()</link></para>
+                      <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#commit()">commit()</link></para>
                     </listitem>
 
                     <listitem>
-                      <para><link
-                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#rollback()">rollback()</link></para>
+                      <para><link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#rollback()">rollback()</link></para>
                     </listitem>
 
                     <listitem>
@@ -3598,10 +3336,8 @@ INSERT INTO Product VALUES('w-124', 110.40);
                   </orderedlist>
 
                   <note>
-                    <para>Both <link
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#commit()">commit()</link>
-                    and <link
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/Connection.html#rollback()">rollback()</link>
+                    <para>Both <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#commit()">commit()</link>
+                    and <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/Connection.html#rollback()">rollback()</link>
                     are being initiated from the client side whereas aborting
                     a transaction happens on behalf of the database
                     server.</para>
@@ -3631,11 +3367,9 @@ INSERT INTO Product VALUES('w-124', 110.40);
 
             <answer>
               <para>On aborting a transaction a database server will cause the
-              corresponding <xref linkend="glo_JDBC"/> client to throw a
-              <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/SQLException.html">SQLException</classname>.
-              An application is obliged to implement a sensible <code
-              language="java">catch(...)</code> clause.</para>
+              corresponding <xref linkend="glo_JDBC" /> client to throw a
+              <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/SQLException.html">SQLException</classname>.
+              An application is obliged to implement a sensible <code language="java">catch(...)</code> clause.</para>
             </answer>
           </qandaentry>
         </qandadiv>
diff --git a/Doc/Sda1/jpaintro.xml b/Doc/Sda1/jpaintro.xml
index 8ae99b88564e153fa8d769948c2c44ed71020763..b669e69ecd1728bc4a647bfe7a873569850a8d9c 100644
--- a/Doc/Sda1/jpaintro.xml
+++ b/Doc/Sda1/jpaintro.xml
@@ -1,28 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<chapter annotations="slide" version="5.1" xml:id="chapJpaGettingStarted"
-         xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
-         xmlns:xi="http://www.w3.org/2001/XInclude"
-         xmlns:svg="http://www.w3.org/2000/svg"
-         xmlns:ns="http://docbook.org/ns/transclusion"
-         xmlns:m="http://www.w3.org/1998/Math/MathML"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         xmlns:db="http://docbook.org/ns/docbook">
-  <title>Getting started with <xref linkend="glo_JPA"/></title>
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:ns="http://docbook.org/ns/transclusion" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="slide" version="5.1" xml:id="chapJpaGettingStarted">
+  <title>Getting started with <xref linkend="glo_JPA" /></title>
 
   <figure xml:id="sda1_jpa_whyJpa">
-    <title>Why using <xref linkend="glo_JPA"/> ?</title>
+    <title>Why using <xref linkend="glo_JPA" /> ?</title>
 
     <itemizedlist>
       <listitem>
-        <para>Working with plain <xref linkend="glo_JDBC"/> is time
+        <para>Working with plain <xref linkend="glo_JDBC" /> is time
         consuming.</para>
       </listitem>
 
       <listitem>
-        <para>Addressing the <link
-        xlink:href="https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch">Object-relational
+        <para>Addressing the <link xlink:href="https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch">Object-relational
         impedance mismatch</link>.</para>
       </listitem>
 
@@ -31,7 +21,7 @@
       </listitem>
 
       <listitem>
-        <para>Repeating tasks for <xref linkend="glo_CRUD"/>
+        <para>Repeating tasks for <xref linkend="glo_CRUD" />
         operations.</para>
       </listitem>
 
@@ -60,13 +50,12 @@
   </figure>
 
   <figure xml:id="sda1_jpa_OrImpedanceMismatch">
-    <title>OR <link
-    xlink:href="http://www.agiledata.org/essays/impedanceMismatch.html">impedance
+    <title>OR <link xlink:href="http://www.agiledata.org/essays/impedanceMismatch.html">impedance
     mismatch</link></title>
 
     <informaltable border="0">
       <tr>
-        <th><xref linkend="glo_OO"/></th>
+        <th><xref linkend="glo_OO" /></th>
 
         <th>Relational</th>
       </tr>
@@ -111,7 +100,7 @@
   </figure>
 
   <figure xml:id="sda1_jpa_versions_2.0">
-    <title><xref linkend="glo_JPA"/> 2.0</title>
+    <title><xref linkend="glo_JPA" /> 2.0</title>
 
     <itemizedlist>
       <listitem>
@@ -123,7 +112,7 @@
       </listitem>
 
       <listitem>
-        <para><xref linkend="glo_SQL"/> hints.</para>
+        <para><xref linkend="glo_SQL" /> hints.</para>
       </listitem>
 
       <listitem>
@@ -133,7 +122,7 @@
   </figure>
 
   <figure xml:id="sda1_jpa_versions_2.1">
-    <title><xref linkend="glo_JPA"/> 2.1</title>
+    <title><xref linkend="glo_JPA" /> 2.1</title>
 
     <itemizedlist>
       <listitem>
@@ -159,7 +148,7 @@
   </figure>
 
   <figure xml:id="sda1_jpa_versions_2.2">
-    <title><xref linkend="glo_JPA"/> 2.2</title>
+    <title><xref linkend="glo_JPA" /> 2.2</title>
 
     <itemizedlist>
       <listitem>
@@ -177,22 +166,21 @@
   </figure>
 
   <figure xml:id="sda1_jpa_Overview">
-    <title><xref linkend="glo_JPA"/> overview</title>
+    <title><xref linkend="glo_JPA" /> overview</title>
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="Ref/JpaIntro/jpaProvider.multi.svg"/>
+        <imagedata fileref="Ref/JpaIntro/jpaProvider.multi.svg" />
       </imageobject>
     </mediaobject>
   </figure>
 
   <figure xml:id="sda1_jpaintro_fig_jpaComponents">
-    <title><xref linkend="glo_JPA"/> components</title>
+    <title><xref linkend="glo_JPA" /> components</title>
 
     <glosslist>
       <glossentry>
-        <glossterm><classname
-        xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManagerFactory.html">EntityManagerFactory</classname></glossterm>
+        <glossterm><classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/EntityManagerFactory.html">EntityManagerFactory</classname></glossterm>
 
         <glossdef>
           <para>Bootstrapping a provider's implementation.</para>
@@ -200,8 +188,7 @@
       </glossentry>
 
       <glossentry>
-        <glossterm><classname
-        xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html">EntityManager</classname></glossterm>
+        <glossterm><classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/EntityManager.html">EntityManager</classname></glossterm>
 
         <glossdef>
           <para>Managing a persistence context.</para>
@@ -209,8 +196,7 @@
       </glossentry>
 
       <glossentry>
-        <glossterm><classname
-        xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/EntityTransaction.html">EntityTransaction</classname></glossterm>
+        <glossterm><classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/EntityTransaction.html">EntityTransaction</classname></glossterm>
 
         <glossdef>
           <para>Start, commit and rollback transactions.</para>
@@ -218,11 +204,10 @@
       </glossentry>
 
       <glossentry>
-        <glossterm><classname
-        xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/Query.html">Query</classname></glossterm>
+        <glossterm><classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Query.html">Query</classname></glossterm>
 
         <glossdef>
-          <para>Executing <xref linkend="glo_OO"/> capable queries.</para>
+          <para>Executing <xref linkend="glo_OO" /> capable queries.</para>
         </glossdef>
       </glossentry>
     </glosslist>
@@ -232,24 +217,20 @@
     <title>Notes on tooling</title>
 
     <figure xml:id="sda1_jpaintro_fig_jpaMavenConfig">
-      <title><xref linkend="glo_Maven"/> <filename>pom.xml</filename></title>
+      <title><xref linkend="glo_Maven" /> <filename>pom.xml</filename></title>
 
       <itemizedlist>
         <listitem>
-          <para>Library <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L19">dependencies</link>.</para>
+          <para>Library <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L19">dependencies</link>.</para>
         </listitem>
 
         <listitem>
-          <para>Metamodel generation by annotation processing supporting <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L109">Criteria</link>
-          and <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L92">Querydsl</link>.</para>
+          <para>Metamodel generation by annotation processing supporting <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L109">Criteria</link>
+          and <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L92">Querydsl</link>.</para>
         </listitem>
 
         <listitem>
-          <para>Build path adjustment <link
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L131">adding
+          <para>Build path adjustment <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L131">adding
           generated metamodel class directory</link>.</para>
         </listitem>
       </itemizedlist>
@@ -260,7 +241,7 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/JpaIntro/ideaAddFrameworkSupportJ2EEpersistence.png"/>
+          <imagedata fileref="Ref/JpaIntro/ideaAddFrameworkSupportJ2EEpersistence.png" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -270,7 +251,7 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/JpaIntro/ideaAddFrameworkSupportHibernate.png"/>
+          <imagedata fileref="Ref/JpaIntro/ideaAddFrameworkSupportHibernate.png" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -280,55 +261,45 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/JpaIntro/ideaConfigFacets.png"/>
+          <imagedata fileref="Ref/JpaIntro/ideaConfigFacets.png" />
         </imageobject>
       </mediaobject>
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_ideaConfigAnnotationProcessing">
-      <title>Criteria / <xref linkend="glo_Querydsl"/> annotation
+      <title>Criteria / <xref linkend="glo_Querydsl" /> annotation
       processing</title>
 
       <mediaobject>
         <imageobjectco>
           <areaspec otherunits="imagemap" units="other">
-            <area coords="873,218,1051,264"
-                  linkends="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-1.2"
-                  xml:id="targetMetamodelGeneratedClasses"/>
+            <area coords="873,218,1051,264" linkends="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-1.2" xml:id="targetMetamodelGeneratedClasses" />
 
-            <area coords="600,367,1049,398"
-                  linkends="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-1"
-                  xml:id="configAnnotateProcessCriteria"/>
+            <area coords="600,367,1049,398" linkends="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-1" xml:id="configAnnotateProcessCriteria" />
 
-            <area coords="605,398,1004,427"
-                  linkends="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-2"
-                  xml:id="configAnnotateProcessQuerydsl"/>
+            <area coords="605,398,1004,427" linkends="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-2" xml:id="configAnnotateProcessQuerydsl" />
           </areaspec>
 
           <imageobject>
-            <imagedata fileref="Ref/JpaIntro/ideaConfigAnnotationProcessing.png.marked.svg"/>
+            <imagedata fileref="Ref/JpaIntro/ideaConfigAnnotationProcessing.png.marked.svg" />
           </imageobject>
         </imageobjectco>
       </mediaobject>
     </figure>
 
     <calloutlist>
-      <callout arearefs="targetMetamodelGeneratedClasses"
-               xml:id="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-1.2">
+      <callout arearefs="targetMetamodelGeneratedClasses" xml:id="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-1.2">
         <para>Generated metamodel classes will show up here. This directory
-        must be <link
-        xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L131">configured
+        must be <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/pom.xml#L131">configured
         in pom.xml as well</link>.</para>
       </callout>
 
-      <callout arearefs="configAnnotateProcessCriteria"
-               xml:id="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-1">
+      <callout arearefs="configAnnotateProcessCriteria" xml:id="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-1">
         <para>Generate Criteria related metamodel classes.</para>
       </callout>
 
-      <callout arearefs="configAnnotateProcessQuerydsl"
-               xml:id="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-2">
-        <para>Generate <xref linkend="glo_Querydsl"/> related metamodel
+      <callout arearefs="configAnnotateProcessQuerydsl" xml:id="sda1_jpaintro_fig_ideaConfigAnnotationProcessing-2">
+        <para>Generate <xref linkend="glo_Querydsl" /> related metamodel
         classes.</para>
       </callout>
     </calloutlist>
@@ -338,7 +309,7 @@
     <title>A round trip working with objects</title>
 
     <section xml:id="sda1_jpaintro_sect_createSchema">
-      <title>Mapping <xref linkend="glo_OO"/> domain model to database
+      <title>Mapping <xref linkend="glo_OO" /> domain model to database
       model</title>
 
       <figure xml:id="sda1_jpaintro_figClassStudyCourse">
@@ -361,7 +332,7 @@
       <figure xml:id="sda1_jpaintro_fig_jreCreateStudyCourse">
         <title>Transient instance</title>
 
-        <programlisting language="java">final StudyCourse csm = new StudyCourse("CSM", "Computer Science and Media"); 
+        <programlisting language="java">final StudyCourse csm = new StudyCourse("CSM", "Computer Science and Media");
 System.out.println(csm);</programlisting>
 
         <para>Result:</para>
@@ -375,8 +346,7 @@ System.out.println(csm);</programlisting>
         <itemizedlist>
           <listitem>
             <para>Both <property>shortName</property> and
-            <property>fullName</property> must be unique and not <code
-            language="java">null</code>.</para>
+            <property>fullName</property> must be unique and not <code language="java">null</code>.</para>
           </listitem>
 
           <listitem>
@@ -396,87 +366,64 @@ System.out.println(csm);</programlisting>
 
         <informaltable border="0">
           <tr>
-            <td valign="top"><programlisting language="java">@Entity <co
-                  linkends="sda1_jpaintro_fig_studyCourseEntity-1"
-                  xml:id="sda1_jpaintro_fig_studyCourseEntity-1-co"/>
+            <td valign="top"><programlisting language="java">@Entity <co linkends="sda1_jpaintro_fig_studyCourseEntity-1" xml:id="sda1_jpaintro_fig_studyCourseEntity-1-co" />
 public class StudyCourse {
-  @Id <co linkends="sda1_jpaintro_fig_studyCourseEntity-2"
-                  xml:id="sda1_jpaintro_fig_studyCourseEntity-2-co"/>
-  @Column <co linkends="sda1_jpaintro_fig_studyCourseEntity-3"
-                  xml:id="sda1_jpaintro_fig_studyCourseEntity-3-co"/>(length = 3 <co
-                  linkends="sda1_jpaintro_fig_studyCourseEntity-4"
-                  xml:id="sda1_jpaintro_fig_studyCourseEntity-4-co"/>)
-  private String shortName;    
-
-  @Column(length = 150 <coref
-                  linkend="sda1_jpaintro_fig_studyCourseEntity-4-co"/>,
-     unique=true <co linkends="sda1_jpaintro_fig_studyCourseEntity-5"
-                  xml:id="sda1_jpaintro_fig_studyCourseEntity-5-co"/>,
-     nullable=false <co linkends="sda1_jpaintro_fig_studyCourseEntity-6"
-                  xml:id="sda1_jpaintro_fig_studyCourseEntity-6-co"/>)
+  @Id <co linkends="sda1_jpaintro_fig_studyCourseEntity-2" xml:id="sda1_jpaintro_fig_studyCourseEntity-2-co" />
+  @Column <co linkends="sda1_jpaintro_fig_studyCourseEntity-3" xml:id="sda1_jpaintro_fig_studyCourseEntity-3-co" />(length = 3 <co linkends="sda1_jpaintro_fig_studyCourseEntity-4" xml:id="sda1_jpaintro_fig_studyCourseEntity-4-co" />)
+  private String shortName;
+
+  @Column(length = 150 <coref linkend="sda1_jpaintro_fig_studyCourseEntity-4-co" />,
+     unique=true <co linkends="sda1_jpaintro_fig_studyCourseEntity-5" xml:id="sda1_jpaintro_fig_studyCourseEntity-5-co" />,
+     nullable=false <co linkends="sda1_jpaintro_fig_studyCourseEntity-6" xml:id="sda1_jpaintro_fig_studyCourseEntity-6-co" />)
   private String fullName;
   ...
 }</programlisting></td>
 
-            <td valign="top"><programlisting language="sql"><coref
-                  linkend="sda1_jpaintro_fig_studyCourseEntity-1-co"/>
+            <td valign="top"><programlisting language="sql"><coref linkend="sda1_jpaintro_fig_studyCourseEntity-1-co" />
 CREATE TABLE  StudyCourse(
 
-  PRIMARY KEY <coref linkend="sda1_jpaintro_fig_studyCourseEntity-2-co"/> (shortName),
-  shortName varchar(3) <coref
-                  linkend="sda1_jpaintro_fig_studyCourseEntity-4-co"/> NOT NULL,
+  PRIMARY KEY <coref linkend="sda1_jpaintro_fig_studyCourseEntity-2-co" /> (shortName),
+  shortName varchar(3) <coref linkend="sda1_jpaintro_fig_studyCourseEntity-4-co" /> NOT NULL,
 
 
 
-  UNIQUE KEY <coref linkend="sda1_jpaintro_fig_studyCourseEntity-5-co"/>(fullName),
-  fullName varchar(150) NOT NULL <coref
-                  linkend="sda1_jpaintro_fig_studyCourseEntity-6-co"/>    
+  UNIQUE KEY <coref linkend="sda1_jpaintro_fig_studyCourseEntity-5-co" />(fullName),
+  fullName varchar(150) NOT NULL <coref linkend="sda1_jpaintro_fig_studyCourseEntity-6-co" />
 )</programlisting></td>
           </tr>
         </informaltable>
       </figure>
 
       <calloutlist>
-        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-1-co"
-                 xml:id="sda1_jpaintro_fig_studyCourseEntity-1">
-          <para>The <classname
-          xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/Entity.html">@Entity</classname>
+        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-1-co" xml:id="sda1_jpaintro_fig_studyCourseEntity-1">
+          <para>The <classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Entity.html">@Entity</classname>
           annotation marks class <classname>StudyCourse</classname> to become
-          a <xref linkend="glo_JPA"/> mapped entity.</para>
+          a <xref linkend="glo_JPA" /> mapped entity.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-2-co"
-                 xml:id="sda1_jpaintro_fig_studyCourseEntity-2">
-          <para>Every <classname
-          xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/Entity.html">@Entity</classname>
-          must have exactly one <classname
-          xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/Id.html">@Id</classname>
+        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-2-co" xml:id="sda1_jpaintro_fig_studyCourseEntity-2">
+          <para>Every <classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Entity.html">@Entity</classname>
+          must have exactly one <classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Id.html">@Id</classname>
           property (or a combination of properties) designated to become the
           entities primary key.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-3-co"
-                 xml:id="sda1_jpaintro_fig_studyCourseEntity-3">
-          <para><classname
-          xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/Column.html">@Column</classname>
-          annotations are optional supplying additional <xref
-          linkend="glo_JPA"/> mapping meta data</para>
+        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-3-co" xml:id="sda1_jpaintro_fig_studyCourseEntity-3">
+          <para><classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Column.html">@Column</classname>
+          annotations are optional supplying additional <xref linkend="glo_JPA" /> mapping meta data</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-4-co"
-                 xml:id="sda1_jpaintro_fig_studyCourseEntity-4">
+        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-4-co" xml:id="sda1_jpaintro_fig_studyCourseEntity-4">
           <para>Limit the <property>shortName</property> and
           <property>fullName</property> attributes' database length.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-5-co"
-                 xml:id="sda1_jpaintro_fig_studyCourseEntity-5">
+        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-5-co" xml:id="sda1_jpaintro_fig_studyCourseEntity-5">
           <para>Property <property>fullName</property> is about to become a
           unique key.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-6-co"
-                 xml:id="sda1_jpaintro_fig_studyCourseEntity-6">
+        <callout arearefs="sda1_jpaintro_fig_studyCourseEntity-6-co" xml:id="sda1_jpaintro_fig_studyCourseEntity-6">
           <para>Since <property>fullName</property> is no primary but just a
           unique key we have to state the desired business rule constraint
           explicitly.</para>
@@ -489,16 +436,14 @@ CREATE TABLE  StudyCourse(
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Repeat <xref
-              linkend="sda1_jpaintro_fig_studyCourseEntity"/> but omit the
+              <para>Repeat <xref linkend="sda1_jpaintro_fig_studyCourseEntity" /> but omit the
               <code language="java">length = 150</code> constraint.</para>
 
               <para>Analyze the generated schema. What do you observe? Give an
               explanation.</para>
 
               <tip>
-                <para>Read the <xref linkend="glo_Soft_Mysql"/> server <link
-                xlink:href="https://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html#innodb-mximums-minimums">Maximums
+                <para>Read the <xref linkend="glo_Soft_Mysql" /> server <link xlink:href="https://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html#innodb-maximums-minimums">Maximums
                 and Minimums</link> documentation.</para>
               </tip>
             </question>
@@ -508,10 +453,9 @@ CREATE TABLE  StudyCourse(
               contrast to the <code language="java">unique=true</code>
               setting.</para>
 
-              <para><xref linkend="glo_Soft_Mysql"/> imposes upper limits on
+              <para><xref linkend="glo_Soft_Mysql" /> imposes upper limits on
               unique key lengths. Omitting <code language="java">length =
-              150</code> implies type <code
-              language="sql">VARCHAR(255)</code>. Depending on the database
+              150</code> implies type <code language="sql">VARCHAR(255)</code>. Depending on the database
               server's encoding the resulting length exceeds a key's maximum
               possible length.</para>
 
@@ -527,21 +471,20 @@ CREATE TABLE  StudyCourse(
       <title>Inserting objects</title>
 
       <figure xml:id="sda1_jpaintro_fig_persistence.xml">
-        <title><filename
-        xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/resources/META-INF/persistence.xml">persistence.xml</filename>
+        <title><filename xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/resources/META-INF/persistence.xml">persistence.xml</filename>
         configuration</title>
 
         <programlisting language="none">&lt;persistence...&gt;
   &lt;persistence-unit name = "<emphasis role="red">strategy_drop-and-create</emphasis>"&gt;
     &lt;properties&gt;
-      &lt;property name = "javax.persistence.jdbc.driver" 
+      &lt;property name = "javax.persistence.jdbc.driver"
                 value="com.mysql.cj.jdbc.Driver"/&gt;
       &lt;property name = "javax.persistence.jdbc.url"
                value = "jdbc:mysql://localhost:3306/hdm"/&gt;
       &lt;property name = "javax.persistence.jdbc.user" value="hdmuser"/&gt;
       &lt;property name = "javax.persistence.jdbc.password" value="XYZ"/&gt;
 
-      &lt;property name = "javax.persistence.schema-generation.database.action"     
+      &lt;property name = "javax.persistence.schema-generation.database.action"
                value = "<emphasis role="red">drop-and-create</emphasis>"/&gt;
     &lt;/properties&gt;
   &lt;/persistence-unit&gt;
@@ -549,47 +492,30 @@ CREATE TABLE  StudyCourse(
       </figure>
 
       <figure xml:id="sda1_jpaintro_fig_inserByTransaction">
-        <title><classname
-        xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/CreateStudyCourse.java">CreateStudyCourse</classname>
+        <title><classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/CreateStudyCourse.java">CreateStudyCourse</classname>
         using a transaction</title>
 
         <informaltable border="0">
-          <colgroup width="56%"/>
+          <colgroup width="56%" />
 
-          <colgroup width="44%"/>
+          <colgroup width="44%" />
 
           <tr>
-            <td valign="top"><programlisting language="none">final EntityManagerFactory factory = <co
-                  linkends="sda1_jpaintro_fig_inserByTransaction-1"
-                  xml:id="sda1_jpaintro_fig_inserByTransaction-1-co"/>
- Persistence.createEntityManagerFactory(    
-   "<emphasis role="red">strategy_drop-and-create</emphasis>") <co
-                  linkends="sda1_jpaintro_fig_inserByTransaction-2.2"
-                  xml:id="sda1_jpaintro_fig_inserByTransaction-2.2-co"/>;       
-
-final EntityManager entityManager = <co
-                  linkends="sda1_jpaintro_fig_inserByTransaction-2"
-                  xml:id="sda1_jpaintro_fig_inserByTransaction-2-co"/>
+            <td valign="top"><programlisting language="none">final EntityManagerFactory factory = <co linkends="sda1_jpaintro_fig_inserByTransaction-1" xml:id="sda1_jpaintro_fig_inserByTransaction-1-co" />
+ Persistence.createEntityManagerFactory(
+   "<emphasis role="red">strategy_drop-and-create</emphasis>") <co linkends="sda1_jpaintro_fig_inserByTransaction-2.2" xml:id="sda1_jpaintro_fig_inserByTransaction-2.2-co" />;
+
+final EntityManager entityManager = <co linkends="sda1_jpaintro_fig_inserByTransaction-2" xml:id="sda1_jpaintro_fig_inserByTransaction-2-co" />
   factory.createEntityManager();
 
-final EntityTransaction tx = <co
-                  linkends="sda1_jpaintro_fig_inserByTransaction-3"
-                  xml:id="sda1_jpaintro_fig_inserByTransaction-3-co"/>
+final EntityTransaction tx = <co linkends="sda1_jpaintro_fig_inserByTransaction-3" xml:id="sda1_jpaintro_fig_inserByTransaction-3-co" />
       entityManager.getTransaction();
-<emphasis role="red">tx.begin();</emphasis> <co
-                  linkends="sda1_jpaintro_fig_inserByTransaction-4"
-                  xml:id="sda1_jpaintro_fig_inserByTransaction-4-co"/>
-  final StudyCourse csm = new StudyCourse(     
-   "CSM","Computer Science and Media"); <co
-                  linkends="sda1_jpaintro_fig_inserByTransaction-5"
-                  xml:id="sda1_jpaintro_fig_inserByTransaction-5-co"/>
-
-  entityManager.persist(csm); <co
-                  linkends="sda1_jpaintro_fig_inserByTransaction-6"
-                  xml:id="sda1_jpaintro_fig_inserByTransaction-6-co"/>
-<emphasis role="red">tx.commit(); </emphasis><co
-                  linkends="sda1_jpaintro_fig_inserByTransaction-7"
-                  xml:id="sda1_jpaintro_fig_inserByTransaction-7-co"/></programlisting></td>
+<emphasis role="red">tx.begin();</emphasis> <co linkends="sda1_jpaintro_fig_inserByTransaction-4" xml:id="sda1_jpaintro_fig_inserByTransaction-4-co" />
+  final StudyCourse csm = new StudyCourse(
+   "CSM","Computer Science and Media"); <co linkends="sda1_jpaintro_fig_inserByTransaction-5" xml:id="sda1_jpaintro_fig_inserByTransaction-5-co" />
+
+  entityManager.persist(csm); <co linkends="sda1_jpaintro_fig_inserByTransaction-6" xml:id="sda1_jpaintro_fig_inserByTransaction-6-co" />
+<emphasis role="red">tx.commit(); </emphasis><co linkends="sda1_jpaintro_fig_inserByTransaction-7" xml:id="sda1_jpaintro_fig_inserByTransaction-7-co" /></programlisting></td>
 
             <td valign="top"><programlisting language="sql">-- from logging
 
@@ -601,78 +527,63 @@ final EntityTransaction tx = <co
 
 
 
-insert into <coref linkend="sda1_jpaintro_fig_inserByTransaction-7-co"/>
+insert into <coref linkend="sda1_jpaintro_fig_inserByTransaction-7-co" />
   StudyCourse(
-    fullName, shortName)      
+    fullName, shortName)
   values(?, ?)</programlisting></td>
           </tr>
         </informaltable>
       </figure>
 
       <calloutlist>
-        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-1-co"
-                 xml:id="sda1_jpaintro_fig_inserByTransaction-1">
+        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-1-co" xml:id="sda1_jpaintro_fig_inserByTransaction-1">
           <para>Creating factory.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-2.2-co"
-                 xml:id="sda1_jpaintro_fig_inserByTransaction-2.2">
+        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-2.2-co" xml:id="sda1_jpaintro_fig_inserByTransaction-2.2">
           <para><code>strategy_drop-and-create</code> refers to the first
           persistence unit definition in
           <filename>resources/persistence.xml</filename>:</para>
 
-          <programlisting language="xml">&lt;persistence-unit name = "<emphasis
-              role="red">strategy_drop-and-create</emphasis>"&gt;
+          <programlisting language="xml">&lt;persistence-unit name = "<emphasis role="red">strategy_drop-and-create</emphasis>"&gt;
   &lt;properties&gt;
            ... &lt;!-- JDBC related stuff omitted--&gt;
     &lt;property name = "javax.persistence.schema-generation.database.action"
              value = "<emphasis role="red">drop-and-create</emphasis>"/&gt;
 &lt;/properties&gt;</programlisting>
 
-          <para>This setting causes <xref linkend="glo_JPA"/> to drop and
+          <para>This setting causes <xref linkend="glo_JPA" /> to drop and
           subsequently re-create all database tables being related to an
-          <classname
-          xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/Entity.html">@Entity</classname>
+          <classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Entity.html">@Entity</classname>
           annotated class.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-2-co"
-                 xml:id="sda1_jpaintro_fig_inserByTransaction-2">
-          <para>Creating an <classname
-          xlink:href="https://docs.oracle.com/javaee/7/api/index.html?javax/persistence/EntityManager.html">EntityManager</classname>
+        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-2-co" xml:id="sda1_jpaintro_fig_inserByTransaction-2">
+          <para>Creating an <classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/index.html?javax/persistence/EntityManager.html">EntityManager</classname>
           instance.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-3-co"
-                 xml:id="sda1_jpaintro_fig_inserByTransaction-3">
-          <para>Creating an <classname
-          xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/EntityTransaction.html">EntityTransaction</classname>
+        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-3-co" xml:id="sda1_jpaintro_fig_inserByTransaction-3">
+          <para>Creating an <classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/EntityTransaction.html">EntityTransaction</classname>
           instance.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-4-co"
-                 xml:id="sda1_jpaintro_fig_inserByTransaction-4">
+        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-4-co" xml:id="sda1_jpaintro_fig_inserByTransaction-4">
           <para>Starting transaction.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-5-co"
-                 xml:id="sda1_jpaintro_fig_inserByTransaction-5">
-          <para>Creating transient <classname
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>
+        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-5-co" xml:id="sda1_jpaintro_fig_inserByTransaction-5">
+          <para>Creating transient <classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>
           instance.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-6-co"
-                 xml:id="sda1_jpaintro_fig_inserByTransaction-6">
-          <para>Binding transient <classname
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>
-          instance to persistence context: The <classname
-          xlink:href="https://docs.oracle.com/javaee/7/api/index.html?javax/persistence/EntityManager.html">EntityManager</classname>
+        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-6-co" xml:id="sda1_jpaintro_fig_inserByTransaction-6">
+          <para>Binding transient <classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>
+          instance to persistence context: The <classname xlink:href="https://javaee.github.io/javaee-spec/javadocs/index.html?javax/persistence/EntityManager.html">EntityManager</classname>
           takes control of the instance's life cycle.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-7-co"
-                 xml:id="sda1_jpaintro_fig_inserByTransaction-7">
+        <callout arearefs="sda1_jpaintro_fig_inserByTransaction-7-co" xml:id="sda1_jpaintro_fig_inserByTransaction-7">
           <para>Committing transaction thereby persisting the
           <classname>StudyCourse</classname> instance.</para>
         </callout>
@@ -695,73 +606,55 @@ insert into <coref linkend="sda1_jpaintro_fig_inserByTransaction-7-co"/>
       <title>Retrieving objects</title>
 
       <figure xml:id="sda1_jpaintro_fig_readStudyCourseById">
-        <title><classname
-        xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/ReadStudyCourseById.java">ReadStudyCourseById</classname>
+        <title><classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/ReadStudyCourseById.java">ReadStudyCourseById</classname>
         retrieval by primary key</title>
 
         <programlisting language="none">final EntityManagerFactory factory = Persistence.createEntityManagerFactory(
-   "<emphasis role="red">strategy_none</emphasis>"<co
-            linkends="sda1_jpaintro_fig_readStudyCourseById-1"
-            xml:id="sda1_jpaintro_fig_readStudyCourseById-1-co"/> );
+   "<emphasis role="red">strategy_none</emphasis>"<co linkends="sda1_jpaintro_fig_readStudyCourseById-1" xml:id="sda1_jpaintro_fig_readStudyCourseById-1-co" /> );
   ...
 
 final StudyCourse studyCourse =
-  entityManager.<link xlink:href="???">find</link> <co
-            linkends="sda1_jpaintro_fig_readStudyCourseById-2"
-            xml:id="sda1_jpaintro_fig_readStudyCourseById-2-co"/>(StudyCourse.class, "<emphasis
-            role="red">CSM</emphasis>" <co
-            linkends="sda1_jpaintro_fig_readStudyCourseById-3"
-            xml:id="sda1_jpaintro_fig_readStudyCourseById-3-co"/>);
+  entityManager.<link xlink:href="???">find</link> <co linkends="sda1_jpaintro_fig_readStudyCourseById-2" xml:id="sda1_jpaintro_fig_readStudyCourseById-2-co" />(StudyCourse.class, "<emphasis role="red">CSM</emphasis>" <co linkends="sda1_jpaintro_fig_readStudyCourseById-3" xml:id="sda1_jpaintro_fig_readStudyCourseById-3-co" />);
 
-System.out.println("Read '" + studyCourse + "'"); <co
-            linkends="sda1_jpaintro_fig_readStudyCourseById-4"
-            xml:id="sda1_jpaintro_fig_readStudyCourseById-4-co"/></programlisting>
+System.out.println("Read '" + studyCourse + "'"); <co linkends="sda1_jpaintro_fig_readStudyCourseById-4" xml:id="sda1_jpaintro_fig_readStudyCourseById-4-co" /></programlisting>
 
         <screen>Read 'Computer Science and Media(CSM)'</screen>
       </figure>
 
       <calloutlist>
-        <callout arearefs="sda1_jpaintro_fig_readStudyCourseById-1-co"
-                 xml:id="sda1_jpaintro_fig_readStudyCourseById-1">
+        <callout arearefs="sda1_jpaintro_fig_readStudyCourseById-1-co" xml:id="sda1_jpaintro_fig_readStudyCourseById-1">
           <para><code>strategy_none</code> refers to the second persistence
           unit definition in
           <filename>resources/persistence.xml</filename>:</para>
 
-          <programlisting language="xml">&lt;persistence-unit name = "<emphasis
-              role="red">strategy_none</emphasis>"&gt;
+          <programlisting language="xml">&lt;persistence-unit name = "<emphasis role="red">strategy_none</emphasis>"&gt;
   &lt;properties&gt;
            ... &lt;!-- JDBC related stuff omitted--&gt;
     &lt;property name = "javax.persistence.schema-generation.database.action"
              value = "<emphasis role="red">none</emphasis>"/&gt;
 &lt;/properties&gt;</programlisting>
 
-          <para><xref linkend="glo_JPA"/> will not touch the database
+          <para><xref linkend="glo_JPA" /> will not touch the database
           schema.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readStudyCourseById-2-co"
-                 xml:id="sda1_jpaintro_fig_readStudyCourseById-2">
-          <para>The <methodname
-          xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html#find-java.lang.Class-java.lang.Object-">EntityManager.find(...)</methodname>
+        <callout arearefs="sda1_jpaintro_fig_readStudyCourseById-2-co" xml:id="sda1_jpaintro_fig_readStudyCourseById-2">
+          <para>The <methodname xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/EntityManager.html#find-java.lang.Class-java.lang.Object-">EntityManager.find(...)</methodname>
           method tries to retrieve a database record corresponding to an
           <classname>@Entity</classname> annotated instance of the desired
-          <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html">Class</classname>
+          <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Class.html">Class</classname>
           value.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readStudyCourseById-3-co"
-                 xml:id="sda1_jpaintro_fig_readStudyCourseById-3">
+        <callout arearefs="sda1_jpaintro_fig_readStudyCourseById-3-co" xml:id="sda1_jpaintro_fig_readStudyCourseById-3">
           <para>The desired study course's primary key value.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readStudyCourseById-4-co"
-                 xml:id="sda1_jpaintro_fig_readStudyCourseById-4">
+        <callout arearefs="sda1_jpaintro_fig_readStudyCourseById-4-co" xml:id="sda1_jpaintro_fig_readStudyCourseById-4">
           <para>Print study course's value.</para>
 
           <note>
-            <para>Since the transaction has been committed changes to <code
-            language="java">studyCourse</code> are transient and won't be
+            <para>Since the transaction has been committed changes to <code language="java">studyCourse</code> are transient and won't be
             propagated to the database until being attached to another
             transaction.</para>
           </note>
@@ -773,64 +666,43 @@ System.out.println("Read '" + studyCourse + "'"); <co
 
         <programlisting language="java">...
 final Query query = entityManager.
-  createQuery("SELECT S FROM StudyCourse S" <co
-            linkends="sda1_jpaintro_fig_readStudyCourseAll-1.2"
-            xml:id="sda1_jpaintro_fig_readStudyCourseAll-1.2-co"/>);     
+  createQuery("SELECT S FROM StudyCourse S" <co linkends="sda1_jpaintro_fig_readStudyCourseAll-1.2" xml:id="sda1_jpaintro_fig_readStudyCourseAll-1.2-co" />);
 
-final List&lt;StudyCourse&gt;<co
-            linkends="sda1_jpaintro_fig_readStudyCourseAll-1"
-            xml:id="sda1_jpaintro_fig_readStudyCourseAll-1-co"/> studyCourses =<co
-            linkends="sda1_jpaintro_fig_readStudyCourseAll-2"
-            xml:id="sda1_jpaintro_fig_readStudyCourseAll-2-co"/> query.getResultList();
+final List&lt;StudyCourse&gt;<co linkends="sda1_jpaintro_fig_readStudyCourseAll-1" xml:id="sda1_jpaintro_fig_readStudyCourseAll-1-co" /> studyCourses =<co linkends="sda1_jpaintro_fig_readStudyCourseAll-2" xml:id="sda1_jpaintro_fig_readStudyCourseAll-2-co" /> query.getResultList();
 
 studyCourses.stream().map(s -&gt; "Read '" + s + "'").
   forEach(System.out::println);</programlisting>
       </figure>
 
       <calloutlist>
-        <callout arearefs="sda1_jpaintro_fig_readStudyCourseAll-1.2-co"
-                 xml:id="sda1_jpaintro_fig_readStudyCourseAll-1.2">
-          <para>A <xref linkend="glo_JPQL"/> statement resembling <xref
-          linkend="glo_SQL"/> but actually retrieving <xref
-          linkend="glo_Java"/> objects rather than attribute value composed
+        <callout arearefs="sda1_jpaintro_fig_readStudyCourseAll-1.2-co" xml:id="sda1_jpaintro_fig_readStudyCourseAll-1.2">
+          <para>A <xref linkend="glo_JPQL" /> statement resembling <xref linkend="glo_SQL" /> but actually retrieving <xref linkend="glo_Java" /> objects rather than attribute value composed
           database records.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readStudyCourseAll-1-co"
-                 xml:id="sda1_jpaintro_fig_readStudyCourseAll-1">
-          <para>Notice: <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">List</classname>
-          in favour of <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/Set.html">Set</classname>
+        <callout arearefs="sda1_jpaintro_fig_readStudyCourseAll-1-co" xml:id="sda1_jpaintro_fig_readStudyCourseAll-1">
+          <para>Notice: <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">List</classname>
+          in favour of <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Set.html">Set</classname>
           respecting database ordering.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readStudyCourseAll-2-co"
-                 xml:id="sda1_jpaintro_fig_readStudyCourseAll-2">
-          <para>Unchecked assignment <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">java.util.List</classname>
-          to <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html">java.util.List</classname>&lt;<classname
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>&gt;.</para>
+        <callout arearefs="sda1_jpaintro_fig_readStudyCourseAll-2-co" xml:id="sda1_jpaintro_fig_readStudyCourseAll-2">
+          <para>Unchecked assignment <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">java.util.List</classname>
+          to <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/List.html">java.util.List</classname>&lt;<classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>&gt;.</para>
         </callout>
       </calloutlist>
 
       <figure xml:id="sda1_jpaintro_fig_readTypeViolate">
         <title>Type conversion problems</title>
 
-        <programlisting language="java" linenumbering="numbered"
-                        startinglinenumber="23">final Query query = entityManager.createQuery(
-     "SELECT S.shortName FROM StudyCourse AS S");      
+        <programlisting language="java" linenumbering="numbered" startinglinenumber="23">final Query query = entityManager.createQuery(
+     "SELECT S.shortName FROM StudyCourse AS S");
 final List&lt;StudyCourse&gt; studyCourses = query.getResultList();
 
-try { <co linkends="sda1_jpaintro_fig_readTypeViolate-1"
-            xml:id="sda1_jpaintro_fig_readTypeViolate-1-co"/>
+try { <co linkends="sda1_jpaintro_fig_readTypeViolate-1" xml:id="sda1_jpaintro_fig_readTypeViolate-1-co" />
   studyCourses.stream().map(s -&gt; "Read '" + s + "'").
-         forEach(System.out::println); <co
-            linkends="sda1_jpaintro_fig_readTypeViolate-2"
-            xml:id="sda1_jpaintro_fig_readTypeViolate-2-co"/>
-} finally <co linkends="sda1_jpaintro_fig_readTypeViolate-3"
-            xml:id="sda1_jpaintro_fig_readTypeViolate-3-co"/>{
+         forEach(System.out::println); <co linkends="sda1_jpaintro_fig_readTypeViolate-2" xml:id="sda1_jpaintro_fig_readTypeViolate-2-co" />
+} finally <co linkends="sda1_jpaintro_fig_readTypeViolate-3" xml:id="sda1_jpaintro_fig_readTypeViolate-3-co" />{
   factory.close();
 }</programlisting>
 
@@ -842,20 +714,16 @@ try { <co linkends="sda1_jpaintro_fig_readTypeViolate-1"
       </figure>
 
       <calloutlist>
-        <callout arearefs="sda1_jpaintro_fig_readTypeViolate-1-co"
-                 xml:id="sda1_jpaintro_fig_readTypeViolate-1">
+        <callout arearefs="sda1_jpaintro_fig_readTypeViolate-1-co" xml:id="sda1_jpaintro_fig_readTypeViolate-1">
           <para><code language="java">try</code> block required for later
           cleanup.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readTypeViolate-2-co"
-                 xml:id="sda1_jpaintro_fig_readTypeViolate-2">
-          <para>The culprit causing the <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/ClassCastException.html">ClassCastException</classname>.</para>
+        <callout arearefs="sda1_jpaintro_fig_readTypeViolate-2-co" xml:id="sda1_jpaintro_fig_readTypeViolate-2">
+          <para>The culprit causing the <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/ClassCastException.html">ClassCastException</classname>.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readTypeViolate-3-co"
-                 xml:id="sda1_jpaintro_fig_readTypeViolate-3">
+        <callout arearefs="sda1_jpaintro_fig_readTypeViolate-3-co" xml:id="sda1_jpaintro_fig_readTypeViolate-3">
           <para>Cleaning up persistence context in presence of an
           exception.</para>
         </callout>
@@ -864,17 +732,12 @@ try { <co linkends="sda1_jpaintro_fig_readTypeViolate-1"
       <figure xml:id="sda1_jpaintro_fig_readShortNames">
         <title>Reading <code language="java">shortName</code> values</title>
 
-        <programlisting language="none">final List&lt;<emphasis role="red">String</emphasis> <co
-            linkends="sda1_jpaintro_fig_readShortNames-1"
-            xml:id="sda1_jpaintro_fig_readShortNames-1-co"/>&gt; studyCourseShortNames = entityManager.
-  createQuery("SELECT <emphasis role="red">S.shortName</emphasis> <co
-            linkends="sda1_jpaintro_fig_readShortNames-2"
-            xml:id="sda1_jpaintro_fig_readShortNames-2-co"/> FROM StudyCourse AS S").
+        <programlisting language="none">final List&lt;<emphasis role="red">String</emphasis> <co linkends="sda1_jpaintro_fig_readShortNames-1" xml:id="sda1_jpaintro_fig_readShortNames-1-co" />&gt; studyCourseShortNames = entityManager.
+  createQuery("SELECT <emphasis role="red">S.shortName</emphasis> <co linkends="sda1_jpaintro_fig_readShortNames-2" xml:id="sda1_jpaintro_fig_readShortNames-2-co" /> FROM StudyCourse AS S").
     getResultList();
 
 studyCourseShortNames.stream().
-  map(s -&gt; "Read '" + s <co linkends="sda1_jpaintro_fig_readShortNames-3"
-            xml:id="sda1_jpaintro_fig_readShortNames-3-co"/> + "'").
+  map(s -&gt; "Read '" + s <co linkends="sda1_jpaintro_fig_readShortNames-3" xml:id="sda1_jpaintro_fig_readShortNames-3-co" /> + "'").
   forEach(System.out::println);</programlisting>
 
         <screen>Read 'CSM'
@@ -882,29 +745,22 @@ studyCourseShortNames.stream().
       </figure>
 
       <calloutlist>
-        <callout arearefs="sda1_jpaintro_fig_readShortNames-1-co"
-                 xml:id="sda1_jpaintro_fig_readShortNames-1">
+        <callout arearefs="sda1_jpaintro_fig_readShortNames-1-co" xml:id="sda1_jpaintro_fig_readShortNames-1">
           <para>Corresponding to <emphasis role="red">s.shortName</emphasis>
           our result will be a list of strings rather than a list of
-          <classname
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>
+          <classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>
           instances.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readShortNames-2-co"
-                 xml:id="sda1_jpaintro_fig_readShortNames-2">
+        <callout arearefs="sda1_jpaintro_fig_readShortNames-2-co" xml:id="sda1_jpaintro_fig_readShortNames-2">
           <para>The attribute <code language="java">shortName</code> from
-          class <classname
-          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>.</para>
+          class <classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_basic/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_readShortNames-3-co"
-                 xml:id="sda1_jpaintro_fig_readShortNames-3">
+        <callout arearefs="sda1_jpaintro_fig_readShortNames-3-co" xml:id="sda1_jpaintro_fig_readShortNames-3">
           <para><code language="java">s</code> already represents an instance
-          of <classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
-          thus no <methodname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#toString--">toString()</methodname>
+          of <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
+          thus no <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#toString()">toString()</methodname>
           conversion is being required.</para>
         </callout>
       </calloutlist>
@@ -935,24 +791,20 @@ public class StudyCourse {
 
         <informaltable border="0">
           <tr>
-            <td valign="top"><programlisting language="java">final StudyCourse csm <co
-                  linkends="sda1_jpaintro_fig_updateStudyCourse-1"
-                  xml:id="sda1_jpaintro_fig_updateStudyCourse-1-co"/>= entityManager.    
+            <td valign="top"><programlisting language="java">final StudyCourse csm <co linkends="sda1_jpaintro_fig_updateStudyCourse-1" xml:id="sda1_jpaintro_fig_updateStudyCourse-1-co" />= entityManager.
   find(StudyCourse.class, "CSM");
 
 final EntityTransaction tx =
   entityManager.getTransaction();
 
-tx.begin(); 
-  csm.setFullName( <co linkends="sda1_jpaintro_fig_updateStudyCourse-2"
-                  xml:id="sda1_jpaintro_fig_updateStudyCourse-2-co"/>
-   "Computerwissenschaft und Medien");   
-tx.commit(); <co linkends="sda1_jpaintro_fig_updateStudyCourse-3"
-                  xml:id="sda1_jpaintro_fig_updateStudyCourse-3-co"/></programlisting></td>
+tx.begin();
+  csm.setFullName( <co linkends="sda1_jpaintro_fig_updateStudyCourse-2" xml:id="sda1_jpaintro_fig_updateStudyCourse-2-co" />
+   "Computerwissenschaft und Medien");
+tx.commit(); <co linkends="sda1_jpaintro_fig_updateStudyCourse-3" xml:id="sda1_jpaintro_fig_updateStudyCourse-3-co" /></programlisting></td>
 
             <td valign="top"><screen>MariaDB [hdm]&gt;
-        select * from StudyCourse;     
-+---------+---------------------+     
+        select * from StudyCourse;
++---------+---------------------+
 |shortName| fullName            |
 +---------+---------------------+
 | CSM     | Computerwissenschaft|
@@ -963,21 +815,17 @@ tx.commit(); <co linkends="sda1_jpaintro_fig_updateStudyCourse-3"
       </figure>
 
       <calloutlist>
-        <callout arearefs="sda1_jpaintro_fig_updateStudyCourse-1-co"
-                 xml:id="sda1_jpaintro_fig_updateStudyCourse-1">
-          <para>Retrieving instance from database. Variable <code
-          language="java">csm</code> is bound to the persistence
+        <callout arearefs="sda1_jpaintro_fig_updateStudyCourse-1-co" xml:id="sda1_jpaintro_fig_updateStudyCourse-1">
+          <para>Retrieving instance from database. Variable <code language="java">csm</code> is bound to the persistence
           context.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_updateStudyCourse-2-co"
-                 xml:id="sda1_jpaintro_fig_updateStudyCourse-2">
+        <callout arearefs="sda1_jpaintro_fig_updateStudyCourse-2-co" xml:id="sda1_jpaintro_fig_updateStudyCourse-2">
           <para>Changing instance's <code language="java">fullName</code>
           property's value.</para>
         </callout>
 
-        <callout arearefs="sda1_jpaintro_fig_updateStudyCourse-3-co"
-                 xml:id="sda1_jpaintro_fig_updateStudyCourse-3">
+        <callout arearefs="sda1_jpaintro_fig_updateStudyCourse-3-co" xml:id="sda1_jpaintro_fig_updateStudyCourse-3">
           <para>Committing transaction will automatically commit all
           persistence context related changes.</para>
         </callout>
@@ -985,13 +833,13 @@ tx.commit(); <co linkends="sda1_jpaintro_fig_updateStudyCourse-3"
     </section>
 
     <section xml:id="sda1_jpaintro_sectQueryDsl">
-      <title><xref linkend="glo_Querydsl"/></title>
+      <title><xref linkend="glo_Querydsl" /></title>
 
       <figure xml:id="sda1_jpaintro_fig_multipleInsertStudyCourse">
         <title>Populating the database</title>
 
         <programlisting language="java">tx.begin();
- entityManager.persist(new StudyCourse("CSM","Computer Science and Media"));   
+ entityManager.persist(new StudyCourse("CSM","Computer Science and Media"));
  entityManager.persist(new StudyCourse("MMB","Mobile Media"));
  entityManager.persist(new StudyCourse("CRB","Cross Media Journalism"));
  entityManager.persist(new StudyCourse("IDB","Information Design"));
@@ -999,10 +847,10 @@ tx.commit();</programlisting>
       </figure>
 
       <figure xml:id="sda1_jpaintro_fig_DomainModelDatabaseInterface">
-        <title><xref linkend="glo_JPQL"/>: Domain model and database</title>
+        <title><xref linkend="glo_JPQL" />: Domain model and database</title>
 
-        <programlisting language="none">final <emphasis role="red">List&lt;StudyCourse&gt;</emphasis> studyCourses 
-= 
+        <programlisting language="none">final <emphasis role="red">List&lt;StudyCourse&gt;</emphasis> studyCourses
+=
 entityManager.createQuery(
   "<emphasis role="red">SELECT S FROM StudyCourse AS S</emphasis>").getResultList();</programlisting>
 
@@ -1018,35 +866,31 @@ entityManager.createQuery(
       </figure>
 
       <figure xml:id="sda1_jpaintro_fig_jpaQueryAlternatives">
-        <title><xref linkend="glo_JPA"/> query alternatives</title>
+        <title><xref linkend="glo_JPA" /> query alternatives</title>
 
         <glosslist>
           <glossentry>
-            <glossterm><xref linkend="glo_JPQL"/>:</glossterm>
+            <glossterm><xref linkend="glo_JPQL" />:</glossterm>
 
             <glossdef>
               <programlisting language="none">entityManager.createQuery(
- "<emphasis role="red">SELECT S FROM StudyCourse AS S WHERE S.shortName like 'C%'</emphasis>")       </programlisting>
+ "<emphasis role="red">SELECT S FROM StudyCourse AS S WHERE S.shortName like 'C%'</emphasis>")</programlisting>
             </glossdef>
           </glossentry>
 
           <glossentry>
-            <glossterm><link
-            xlink:href="https://www.tutorialspoint.com/jpa/jpa_criteria_api.htm">Criteria
+            <glossterm><link xlink:href="https://www.tutorialspoint.com/jpa/jpa_criteria_api.htm">Criteria
             queries</link>:</glossterm>
 
             <glossdef>
-              <programlisting language="none">criteria.select(<emphasis
-                  role="red">studyCourseRoot</emphasis>);
-criteria.where( builder.<emphasis role="red">like</emphasis>( <emphasis
-                  role="red">studyCourseRootRoot</emphasis>.
-   get(<emphasis role="red">StudyCourse_.shortName</emphasis>), "<emphasis
-                  role="red">C%</emphasis>" ) );</programlisting>
+              <programlisting language="none">criteria.select(<emphasis role="red">studyCourseRoot</emphasis>);
+criteria.where( builder.<emphasis role="red">like</emphasis>( <emphasis role="red">studyCourseRootRoot</emphasis>.
+   get(<emphasis role="red">StudyCourse_.shortName</emphasis>), "<emphasis role="red">C%</emphasis>" ) );</programlisting>
             </glossdef>
           </glossentry>
 
           <glossentry>
-            <glossterm><xref linkend="glo_Querydsl"/>:</glossterm>
+            <glossterm><xref linkend="glo_Querydsl" />:</glossterm>
 
             <glossdef>
               <programlisting language="java">new JPAQuery(entityManager).
@@ -1060,65 +904,52 @@ criteria.where( builder.<emphasis role="red">like</emphasis>( <emphasis
   </section>
 
   <section xml:id="sda1_jpa_sect_JpqlQuery">
-    <title><xref linkend="glo_JPQL"/></title>
+    <title><xref linkend="glo_JPQL" /></title>
 
     <figure xml:id="sda1_jpaintro_fig_jpqlSecurityProblem">
-      <title><xref linkend="glo_JPQL"/></title>
+      <title><xref linkend="glo_JPQL" /></title>
 
       <programlisting language="none">final Query query = entityManager.createQuery(
   "SELECT S FROM StudyCourse AS S WHERE S.shortName like <emphasis role="red">'C%'</emphasis>");</programlisting>
 
       <screen>select studycours0_.shortName as shortNam1_0_,
-       studycours0_.fullName as fullName2_0_ 
-from StudyCourse studycours0_ 
+       studycours0_.fullName as fullName2_0_
+from StudyCourse studycours0_
 where studycours0_.shortName like <emphasis role="red">'C%'</emphasis></screen>
 
       <para>But wait: What about security?</para>
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_jpqlSecurityPrepared">
-      <title><xref linkend="glo_JPQL"/> parameter</title>
+      <title><xref linkend="glo_JPQL" /> parameter</title>
 
       <programlisting language="none">final Query query = entityManager.createQuery(
   "SELECT S FROM StudyCourse AS S WHERE S.shortName like :pattern");
 query.setParameter("pattern", "<emphasis role="red">C%</emphasis>");</programlisting>
 
       <programlisting language="sql">select studycours0_.shortName as shortNam1_0_,
-       studycours0_.fullName  as fullName2_0_ 
-from   StudyCourse studycours0_ 
+       studycours0_.fullName  as fullName2_0_
+from   StudyCourse studycours0_
 where  studycours0_.shortName like <emphasis role="red">?</emphasis></programlisting>
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval">
-      <title><xref linkend="glo_JPQL"/> record retrieval</title>
+      <title><xref linkend="glo_JPQL" /> record retrieval</title>
 
       <programlisting language="none">final Query queryRecords = entityManager.createQuery(
-  "SELECT S.<emphasis role="red">fullName</emphasis>, S.<emphasis role="red">shortName</emphasis> FROM StudyCourse AS S" <co
-          linkends="sda1_jpaintro_fig_jpqlRecordRetrieval-1"
-          xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-1-co"/>);
+  "SELECT S.<emphasis role="red">fullName</emphasis>, S.<emphasis role="red">shortName</emphasis> FROM StudyCourse AS S" <co linkends="sda1_jpaintro_fig_jpqlRecordRetrieval-1" xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-1-co" />);
 queryRecords.getResultList().stream().
   map(r -&gt; {
-    final Object[] record = (Object[]) r; <co
-          linkends="sda1_jpaintro_fig_jpqlRecordRetrieval-2"
-          xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-2-co"/>
-    return (String)<emphasis role="red">record[0]</emphasis> + " (" + (String)<emphasis
-          role="red">record[1]</emphasis> + ")" <co
-          linkends="sda1_jpaintro_fig_jpqlRecordRetrieval-3"
-          xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-3-co"/>;
-  }).forEach(System.out::println)<co
-          linkends="sda1_jpaintro_fig_jpqlRecordRetrieval-4"
-          xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-4-co"/> ;</programlisting>
-
-      <screen><emphasis role="red">Computer Science and Media</emphasis> (<emphasis
-          role="red">CSM</emphasis>) ...</screen>
+    final Object[] record = (Object[]) r; <co linkends="sda1_jpaintro_fig_jpqlRecordRetrieval-2" xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-2-co" />
+    return (String)<emphasis role="red">record[0]</emphasis> + " (" + (String)<emphasis role="red">record[1]</emphasis> + ")" <co linkends="sda1_jpaintro_fig_jpqlRecordRetrieval-3" xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-3-co" />;
+  }).forEach(System.out::println)<co linkends="sda1_jpaintro_fig_jpqlRecordRetrieval-4" xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-4-co" /> ;</programlisting>
+
+      <screen><emphasis role="red">Computer Science and Media</emphasis> (<emphasis role="red">CSM</emphasis>) ...</screen>
     </figure>
 
     <calloutlist>
-      <callout arearefs="sda1_jpaintro_fig_jpqlRecordRetrieval-1-co"
-               xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-1">
-        <para>Retrieving two attribute values <emphasis
-        role="red">fullName</emphasis> and <emphasis
-        role="red">shortName</emphasis> from
+      <callout arearefs="sda1_jpaintro_fig_jpqlRecordRetrieval-1-co" xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-1">
+        <para>Retrieving two attribute values <emphasis role="red">fullName</emphasis> and <emphasis role="red">shortName</emphasis> from
         <classname>StudyCourse</classname> records.</para>
 
         <note>
@@ -1128,47 +959,36 @@ queryRecords.getResultList().stream().
         </note>
       </callout>
 
-      <callout arearefs="sda1_jpaintro_fig_jpqlRecordRetrieval-2-co"
-               xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-2">
-        <para>Compile time prior knowledge: <xref linkend="glo_JPA"/> wraps
+      <callout arearefs="sda1_jpaintro_fig_jpqlRecordRetrieval-2-co" xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-2">
+        <para>Compile time prior knowledge: <xref linkend="glo_JPA" /> wraps
         each database record into an <classname>Object[]</classname> array
         typically (albeit in the current example) containing heterogeneous
         instance references corresponding to database types being
         involved.</para>
 
         <para>The array's size equals the number of database attributes being
-        requested being 2 in the given example. <emphasis
-        role="red">fullName</emphasis> and <emphasis
-        role="red">shortName</emphasis> record values appear at array index
+        requested being 2 in the given example. <emphasis role="red">fullName</emphasis> and <emphasis role="red">shortName</emphasis> record values appear at array index
         positions 0 and 1 respectively.</para>
 
         <note>
-          <para>As with plain <xref linkend="glo_JDBC"/> you are on your own
+          <para>As with plain <xref linkend="glo_JDBC" /> you are on your own
           handling types being involved accordingly. Obviously there is no
-          compile time type checking whatsoever. <code language="java"
-          xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2">instanceof</code>
+          compile time type checking whatsoever. <code language="java" xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2">instanceof</code>
           may save you from troubles.</para>
         </note>
       </callout>
 
-      <callout arearefs="sda1_jpaintro_fig_jpqlRecordRetrieval-3-co"
-               xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-3">
-        <para>Digging into array values: Since both <emphasis
-        role="red">fullName</emphasis> and <emphasis
-        role="red">shortName</emphasis> are strings identical casts can be
+      <callout arearefs="sda1_jpaintro_fig_jpqlRecordRetrieval-3-co" xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-3">
+        <para>Digging into array values: Since both <emphasis role="red">fullName</emphasis> and <emphasis role="red">shortName</emphasis> are strings identical casts can be
         used.</para>
 
         <note>
           <para>The two casts are used for illustration purposes: In the
-          current example omitting these will have no effect at all: The <xref
-          linkend="glo_Java"/> runtime will call the overridden <methodname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#toString--">toString()</methodname>
+          current example omitting these will have no effect at all: The <xref linkend="glo_Java" /> runtime will call the overridden <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#toString()">toString()</methodname>
           method anyway.</para>
 
-          <para>Calling non-<classname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html">Object</classname>
-          methods like e.g. <methodname
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#toUpperCase--">toUpperCase()</methodname>
+          <para>Calling non-<classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Object.html">Object</classname>
+          methods like e.g. <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#toUpperCase()">toUpperCase()</methodname>
           however requires a cast:</para>
 
           <programlisting language="none">final Query queryRecords = entityManager.createQuery(
@@ -1176,23 +996,21 @@ queryRecords.getResultList().stream().
 
 queryRecords.getResultList().stream().
   map(r -&gt; {
-    final Object[] record = (Object[]) r; 
+    final Object[] record = (Object[]) r;
     return ((String)record[0]).<emphasis role="red">toUpperCase()</emphasis> + " (" + (String)record[1] + ")" ;
   }).
   forEach(System.out::println) ;</programlisting>
         </note>
       </callout>
 
-      <callout arearefs="sda1_jpaintro_fig_jpqlRecordRetrieval-4-co"
-               xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-4">
+      <callout arearefs="sda1_jpaintro_fig_jpqlRecordRetrieval-4-co" xml:id="sda1_jpaintro_fig_jpqlRecordRetrieval-4">
         <para>Print values.</para>
       </callout>
     </calloutlist>
   </section>
 
   <section xml:id="sda1_jpa_sect_criteriaQuery">
-    <title><link
-    xlink:href="https://www.tutorialspoint.com/jpa/jpa_criteria_api.htm">Criteria
+    <title><link xlink:href="https://www.tutorialspoint.com/jpa/jpa_criteria_api.htm">Criteria
     queries</link></title>
 
     <figure xml:id="sda1_jpaintro_fig_criteriaMetaData">
@@ -1200,7 +1018,7 @@ queryRecords.getResultList().stream().
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/JpaIntro/criteriumMetaAnnotate.multi.svg"/>
+          <imagedata fileref="Ref/JpaIntro/criteriumMetaAnnotate.multi.svg" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -1210,7 +1028,7 @@ queryRecords.getResultList().stream().
 
       <programlisting language="none">final CriteriaQuery&lt;StudyCourse&gt; criteria = builder.
    createQuery( StudyCourse.class );
-final Root&lt;StudyCourse&gt; studyCourseRoot = 
+final Root&lt;StudyCourse&gt; studyCourseRoot =
    criteria.from(<emphasis role="red">StudyCourse.class</emphasis>);
 criteria.select( studyCourseRoot );
 criteria.where( builder.like( studyCourseRoot.
@@ -1221,57 +1039,53 @@ final List&lt;StudyCourse&gt; studyCourses = entityManager.
 studyCourses.stream().map(s -&gt; "Read '" + s + "'").
   forEach(System.out::println);</programlisting>
 
-      <para>What about <xref linkend="glo_SQL"/> injection?</para>
+      <para>What about <xref linkend="glo_SQL" /> injection?</para>
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_criteria_injectionSafe">
       <title>No injection susceptibility</title>
 
       <programlisting language="sql">select studycours0_.shortName as shortNam1_0_,
-       studycours0_.fullName  as fullName2_0_ 
-from StudyCourse studycours0_ 
+       studycours0_.fullName  as fullName2_0_
+from StudyCourse studycours0_
 where studycours0_.shortName like <emphasis role="red">?</emphasis></programlisting>
     </figure>
   </section>
 
   <section xml:id="sda1_jpa_sect_querydsl">
-    <title><xref linkend="glo_Querydsl"/></title>
+    <title><xref linkend="glo_Querydsl" /></title>
 
     <figure xml:id="sda1_jpaintro_fig_querydslMetaData">
-      <title><xref linkend="glo_Querydsl"/> entity metamodel</title>
+      <title><xref linkend="glo_Querydsl" /> entity metamodel</title>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/JpaIntro/queryDslMetaAnnotate.multi.svg"/>
+          <imagedata fileref="Ref/JpaIntro/queryDslMetaAnnotate.multi.svg" />
         </imageobject>
       </mediaobject>
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_QuerydslAbout">
-      <title>From <quote
-      xlink:href="http://www.querydsl.com/static/querydsl/latest/reference/html/ch02.html#jpa_integration">Querying
+      <title>From <quote xlink:href="http://www.querydsl.com/static/querydsl/latest/reference/html/ch02.html#jpa_integration">Querying
       JPA</quote></title>
 
-      <para><quote><xref linkend="glo_Querydsl"/> for <xref
-      linkend="glo_JPA"/> is an alternative to both <xref linkend="glo_JPQL"/>
-      and <link
-      xlink:href="https://www.tutorialspoint.com/jpa/jpa_criteria_api.htm">Criteria
+      <para><quote><xref linkend="glo_Querydsl" /> for <xref linkend="glo_JPA" /> is an alternative to both <xref linkend="glo_JPQL" />
+      and <link xlink:href="https://www.tutorialspoint.com/jpa/jpa_criteria_api.htm">Criteria
       queries</link>.</quote></para>
 
-      <para><quote>It combines the dynamic nature of <link
-      xlink:href="https://www.tutorialspoint.com/jpa/jpa_criteria_api.htm">Criteria
-      queries</link> with the expressiveness of <xref linkend="glo_JPQL"/> and
+      <para><quote>It combines the dynamic nature of <link xlink:href="https://www.tutorialspoint.com/jpa/jpa_criteria_api.htm">Criteria
+      queries</link> with the expressiveness of <xref linkend="glo_JPQL" /> and
       all that in a fully typesafe manner.</quote></para>
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_querydslLike">
-      <title><xref linkend="glo_Querydsl"/> query</title>
+      <title><xref linkend="glo_Querydsl" /> query</title>
 
       <informaltable border="0">
         <tr>
           <td valign="top"><programlisting language="java">new JPAQuery(entityManager).
   from(qStudyCourse).
-  where(qStudyCourse.shortName.like("C%")).     
+  where(qStudyCourse.shortName.like("C%")).
   list(qStudyCourse).
   stream().
   map(s -&gt; "Read '" + s + "'").
@@ -1280,8 +1094,8 @@ where studycours0_.shortName like <emphasis role="red">?</emphasis></programlist
           <td valign="top"><screen>Read 'Cross Media
   Journalism(CRB)'
 
-Read 'Computer Science   
-  and Media(CSM)'     </screen></td>
+Read 'Computer Science
+  and Media(CSM)'</screen></td>
         </tr>
       </informaltable>
     </figure>
@@ -1290,9 +1104,9 @@ Read 'Computer Science
       <title>No injection susceptibility</title>
 
       <programlisting language="sql">select studycours0_.shortName as shortNam1_0_,
-       studycours0_.fullName  as fullName2_0_ 
-from StudyCourse studycours0_ 
-where studycours0_.shortName like <emphasis role="red">?</emphasis> escape '!' </programlisting>
+       studycours0_.fullName  as fullName2_0_
+from StudyCourse studycours0_
+where studycours0_.shortName like <emphasis role="red">?</emphasis> escape '!'</programlisting>
     </figure>
   </section>
 
@@ -1350,11 +1164,11 @@ where studycours0_.shortName like <emphasis role="red">?</emphasis> escape '!' <
 
       <glosslist>
         <glossentry>
-          <glossterm><xref linkend="glo_Soft_Mysql"/>:</glossterm>
+          <glossterm><xref linkend="glo_Soft_Mysql" />:</glossterm>
 
           <glossdef>
             <programlisting language="none">CREATE TABLE StudyCourse (
-  id bigint(20) NOT NULL <emphasis role="red">AUTO_INCREMENT</emphasis>,     
+  id bigint(20) NOT NULL <emphasis role="red">AUTO_INCREMENT</emphasis>,
   PRIMARY KEY (id),... )</programlisting>
           </glossdef>
         </glossentry>
@@ -1365,7 +1179,7 @@ where studycours0_.shortName like <emphasis role="red">?</emphasis> escape '!' <
           <glossdef>
             <programlisting language="none">CREATE TABLE StudyCourse (
   id bigint(20) NOT NULL
-  <emphasis role="red">GENERATED ALWAYS AS IDENTITY</emphasis>,       
+  <emphasis role="red">GENERATED ALWAYS AS IDENTITY</emphasis>,
   PRIMARY KEY (id),... )</programlisting>
           </glossdef>
         </glossentry>
@@ -1373,8 +1187,7 @@ where studycours0_.shortName like <emphasis role="red">?</emphasis> escape '!' <
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_RdbmsInsertIdentity">
-      <title><code language="sql">INSERT</code> omitting <code
-      language="sql">id</code></title>
+      <title><code language="sql">INSERT</code> omitting <code language="sql">id</code></title>
 
       <programlisting language="none">INSERT
 INTO StudyCourse (fullName, shortName)
@@ -1392,20 +1205,14 @@ VALUES('Mobile Media ', 'MMB');</programlisting>
       <informaltable border="0">
         <tr>
           <td valign="top"><programlisting language="none">@Entity public class StudyCourse {
-  @Id <co linkends="sda1_jpaintro_fig_generatedIdentity-1"
-                xml:id="sda1_jpaintro_fig_generatedIdentity-1-co"/>
-  @GeneratedValue <co linkends="sda1_jpaintro_fig_generatedIdentity-2"
-                xml:id="sda1_jpaintro_fig_generatedIdentity-2-co"/>
-   (strategy=<emphasis role="red">GenerationType.IDENTITY</emphasis>)    
+  @Id <co linkends="sda1_jpaintro_fig_generatedIdentity-1" xml:id="sda1_jpaintro_fig_generatedIdentity-1-co" />
+  @GeneratedValue <co linkends="sda1_jpaintro_fig_generatedIdentity-2" xml:id="sda1_jpaintro_fig_generatedIdentity-2-co" />
+   (strategy=<emphasis role="red">GenerationType.IDENTITY</emphasis>)
   <emphasis role="red">Long id</emphasis>;
-  @Column(... unique = true <co
-                linkends="sda1_jpaintro_fig_generatedIdentity-3"
-                xml:id="sda1_jpaintro_fig_generatedIdentity-3-co"/>)
+  @Column(... unique = true <co linkends="sda1_jpaintro_fig_generatedIdentity-3" xml:id="sda1_jpaintro_fig_generatedIdentity-3-co" />)
     private String shortName;
 
-  @Column(...unique = true <co
-                linkends="sda1_jpaintro_fig_generatedIdentity-4"
-                xml:id="sda1_jpaintro_fig_generatedIdentity-4-co"/>)
+  @Column(...unique = true <co linkends="sda1_jpaintro_fig_generatedIdentity-4" xml:id="sda1_jpaintro_fig_generatedIdentity-4-co" />)
    private String fullName;
 ...
   @Override
@@ -1416,51 +1223,44 @@ VALUES('Mobile Media ', 'MMB');</programlisting>
 
           <td valign="top"><screen>CREATE TABLE StudyCourse (
   id bigint(20) NOT NULL
-      AUTO_INCREMENT <coref linkend="sda1_jpaintro_fig_generatedIdentity-2-co"/>,
-  fullName varchar(150) NOT NULL,    
+      AUTO_INCREMENT <coref linkend="sda1_jpaintro_fig_generatedIdentity-2-co" />,
+  fullName varchar(150) NOT NULL,
   shortName varchar(3) NOT NULL,
-  PRIMARY KEY (id), <coref linkend="sda1_jpaintro_fig_generatedIdentity-1-co"/>
-  UNIQUE KEY ... (fullName), <coref
-                linkend="sda1_jpaintro_fig_generatedIdentity-4-co"/>
-  UNIQUE KEY ... (shortName) <coref
-                linkend="sda1_jpaintro_fig_generatedIdentity-3-co"/>
+  PRIMARY KEY (id), <coref linkend="sda1_jpaintro_fig_generatedIdentity-1-co" />
+  UNIQUE KEY ... (fullName), <coref linkend="sda1_jpaintro_fig_generatedIdentity-4-co" />
+  UNIQUE KEY ... (shortName) <coref linkend="sda1_jpaintro_fig_generatedIdentity-3-co" />
 )</screen></td>
         </tr>
       </informaltable>
     </figure>
 
     <calloutlist>
-      <callout arearefs="sda1_jpaintro_fig_generatedIdentity-1-co"
-               xml:id="sda1_jpaintro_fig_generatedIdentity-1">
+      <callout arearefs="sda1_jpaintro_fig_generatedIdentity-1-co" xml:id="sda1_jpaintro_fig_generatedIdentity-1">
         <para>Defining the primary key.</para>
       </callout>
 
-      <callout arearefs="sda1_jpaintro_fig_generatedIdentity-2-co"
-               xml:id="sda1_jpaintro_fig_generatedIdentity-2">
+      <callout arearefs="sda1_jpaintro_fig_generatedIdentity-2-co" xml:id="sda1_jpaintro_fig_generatedIdentity-2">
         <para>Database auto generated value.</para>
       </callout>
 
-      <callout arearefs="sda1_jpaintro_fig_generatedIdentity-3-co"
-               xml:id="sda1_jpaintro_fig_generatedIdentity-3">
+      <callout arearefs="sda1_jpaintro_fig_generatedIdentity-3-co" xml:id="sda1_jpaintro_fig_generatedIdentity-3">
         <para>First business key.</para>
       </callout>
 
-      <callout arearefs="sda1_jpaintro_fig_generatedIdentity-4-co"
-               xml:id="sda1_jpaintro_fig_generatedIdentity-4">
+      <callout arearefs="sda1_jpaintro_fig_generatedIdentity-4-co" xml:id="sda1_jpaintro_fig_generatedIdentity-4">
         <para>Second business key.</para>
       </callout>
     </calloutlist>
 
     <figure xml:id="sda1_jpaintro_fig_createNewStudyCourse">
-      <title><classname
-      xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_surrogate/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>
+      <title><classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_surrogate/src/main/java/de/hdm_stuttgart/mi/sda1/model/StudyCourse.java">StudyCourse</classname>
       creation</title>
 
       <informaltable border="0">
         <tr>
           <td valign="top"><programlisting language="none">final StudyCourse csm =
   new StudyCourse(
-  "CSM", "Computer Science and Media");     
+  "CSM", "Computer Science and Media");
 
 log.info(csm);
 tx.begin();
@@ -1468,7 +1268,7 @@ tx.begin();
 tx.commit();
 log.info(csm);</programlisting></td>
 
-          <td valign="top"><screen>13:04:33,027 ...Computer Science ...    
+          <td valign="top"><screen>13:04:33,027 ...Computer Science ...
   (CSM, <emphasis role="red">id=null</emphasis>)
 ...
   insert ...StudyCourse ...
@@ -1479,8 +1279,7 @@ log.info(csm);</programlisting></td>
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_entityStudent">
-      <title>Entity <classname
-      xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_surrogate/src/main/java/de/hdm_stuttgart/mi/sda1/model/Student.java">Student</classname></title>
+      <title>Entity <classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_surrogate/src/main/java/de/hdm_stuttgart/mi/sda1/model/Student.java">Student</classname></title>
 
       <informaltable border="0">
         <tr>
@@ -1493,8 +1292,8 @@ log.info(csm);</programlisting></td>
   <emphasis role="red">@ManyToOne</emphasis>
   StudyCourse studyCourse;
 
-  public Student(final String name)     
-   {this.name = name;} 
+  public Student(final String name)
+   {this.name = name;}
 }</programlisting></td>
 
           <td valign="top"><programlisting language="none">@Entity class StudyCourse {
@@ -1502,7 +1301,7 @@ log.info(csm);</programlisting></td>
 
   <emphasis role="red">@OneToMany</emphasis>(
     <emphasis role="red">mappedBy = "studyCourse"</emphasis>)
-  final List&lt;Student&gt; students      
+  final List&lt;Student&gt; students
     = new Vector&lt;&gt;();
 
 ...
@@ -1536,11 +1335,11 @@ log.info(csm);</programlisting></td>
   StudyCourse studyCourse;
 
   public void enroll(
-  final StudyCourse studyCourse) {     
+  final StudyCourse studyCourse) {
     studyCourse.add(this);
     this.studyCourse = studyCourse;
-  } 
-... 
+  }
+...
 }</programlisting></td>
 
           <td valign="top"><programlisting language="none">@Entity
@@ -1552,7 +1351,7 @@ public class StudyCourse {
   final List&lt;Student&gt; students
     = new Vector&lt;&gt;();
 
-  void add(final Student student){     
+  void add(final Student student){
     students.add(student);
   } ...}</programlisting></td>
         </tr>
@@ -1560,8 +1359,7 @@ public class StudyCourse {
     </figure>
 
     <figure xml:id="sda1_jpaintro_fig_studentsToStudyCourse">
-      <title><classname
-      xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_surrogate/src/main/java/de/hdm_stuttgart/mi/sda1/CreateUniversity.java">CreateUniversity</classname></title>
+      <title><classname xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/JpaIntro/P/StudyCourse_surrogate/src/main/java/de/hdm_stuttgart/mi/sda1/CreateUniversity.java">CreateUniversity</classname></title>
 
       <programlisting language="java">    final List&lt;Student&gt; students = new Vector&lt;&gt;();
     students.add(new Student("Jill Evans"));
@@ -1583,10 +1381,8 @@ public class StudyCourse {
           <question>
             <para>Read the
             <productname>mi-maven-archetype-jpa-hibernate</productname>
-            archetype's <link
-            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/ws/Archetypes/mi-maven-archetype-jpa-hibernate/src/main/resources/archetype-resources/Readme.md#eclipse-ide-users">documentation</link>
-            to derive a <xref linkend="glo_Maven"/> project from it <link
-            linkend="sd1SectUsingMavenEclipse">using the MI archetype
+            archetype's <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/ws/Archetypes/mi-maven-archetype-jpa-hibernate/src/main/resources/archetype-resources/Readme.md#eclipse-ide-users">documentation</link>
+            to derive a <xref linkend="glo_Maven" /> project from it <link linkend="sd1SectUsingMavenEclipse">using the MI archetype
             catalog</link>. For the sake of a simplified discussion regarding
             package names choose the following <property>groupId</property>
             and <property>artifactId</property> values:</para>
@@ -1602,10 +1398,10 @@ public class StudyCourse {
 
             <orderedlist>
               <listitem>
-                <para>Get used to <xref linkend="glo_JPA"/> using the existing
+                <para>Get used to <xref linkend="glo_JPA" /> using the existing
                 data model first. Execute
                 <classname>jpaintro.university.CreateAirline</classname> and
-                watch the generated <xref linkend="glo_SQL"/>
+                watch the generated <xref linkend="glo_SQL" />
                 statements.</para>
 
                 <tip>
@@ -1626,9 +1422,7 @@ public class StudyCourse {
               <listitem>
                 <para>Execute
                 <classname>jpaintro.university.SearchByIcao</classname>.
-                Visualize the <xref linkend="glo_JPA"/> generated <xref
-                linkend="glo_SQL"/> statements and explain the <xref
-                linkend="glo_JDBC"/> layer messages including search parameter
+                Visualize the <xref linkend="glo_JPA" /> generated <xref linkend="glo_SQL" /> statements and explain the <xref linkend="glo_JDBC" /> layer messages including search parameter
                 values.</para>
 
                 <tip>
@@ -1668,8 +1462,7 @@ public class StudyCourse {
                 <tip>
                   <itemizedlist>
                     <listitem>
-                      <para>Read the <link
-                      xlink:href="https://www.objectdb.com/java/jpa/query/api">TypedQuery
+                      <para>Read the <link xlink:href="https://www.objectdb.com/java/jpa/query/api">TypedQuery
                       section</link> and add an appropriate <code>... where
                       name like 'S%'</code> clause.</para>
                     </listitem>
@@ -1679,10 +1472,8 @@ public class StudyCourse {
 
               <listitem>
                 <para>A <quote>best practices</quote> advice recommends
-                supplying a business key in addition to a <link
-                xlink:href="https://en.wikipedia.org/wiki/Surrogate_key">surrogate
-                primary key</link>. Read <link
-                xlink:href="https://docs.oracle.com/javaee/7/api/javax/persistence/Column.html">Annotation
+                supplying a business key in addition to a <link xlink:href="https://en.wikipedia.org/wiki/Surrogate_key">surrogate
+                primary key</link>. Read <link xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Column.html">Annotation
                 Type Column</link> and define a unique, non-null integer
                 property <property>courseNumber</property> in your
                 <classname>Lecture</classname> class.</para>
@@ -1708,59 +1499,43 @@ public class StudyCourse {
 
                 <screen>...
 DEBUG [main] util.LogHelper (LogHelper.java:102) - PersistenceUnitInfo [
-name: strategy_drop-and-create <co linkends="sda1HibernateSchemaLog-1"
-                    xml:id="sda1HibernateSchemaLog-1-co"/>
+name: strategy_drop-and-create <co linkends="sda1HibernateSchemaLog-1" xml:id="sda1HibernateSchemaLog-1-co" />
 ...
-INFO  [main] cfg.Environment (Environment.java:213) - HHH000206: hibernate.properties not found <co
-                    linkends="sda1HibernateSchemaLog-2"
-                    xml:id="sda1HibernateSchemaLog-2-co"/>
+INFO  [main] cfg.Environment (Environment.java:213) - HHH000206: hibernate.properties not found <co linkends="sda1HibernateSchemaLog-2" xml:id="sda1HibernateSchemaLog-2-co" />
 ...
-INFO  [main] ...  Connection properties: {user=hdmuser, password=XYZ} <co
-                    linkends="sda1HibernateSchemaLog-3"
-                    xml:id="sda1HibernateSchemaLog-3-co"/>
-INFO  [main] ...  Autocommit mode: false <co
-                    linkends="sda1HibernateSchemaLog-4"
-                    xml:id="sda1HibernateSchemaLog-4-co"/>
+INFO  [main] ...  Connection properties: {user=hdmuser, password=XYZ} <co linkends="sda1HibernateSchemaLog-3" xml:id="sda1HibernateSchemaLog-3-co" />
+INFO  [main] ...  Autocommit mode: false <co linkends="sda1HibernateSchemaLog-4" xml:id="sda1HibernateSchemaLog-4-co" />
 ...
-INFO  [main] dialect.Dialect ... Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect <co
-                    linkends="sda1HibernateSchemaLog-5"
-                    xml:id="sda1HibernateSchemaLog-5-co"/>
+INFO  [main] dialect.Dialect ... Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect <co linkends="sda1HibernateSchemaLog-5" xml:id="sda1HibernateSchemaLog-5-co" />
 ...
-    drop table if exists Airline <co linkends="sda1HibernateSchemaLog-7"
-                    xml:id="sda1HibernateSchemaLog-7-co"/>
+    drop table if exists Airline <co linkends="sda1HibernateSchemaLog-7" xml:id="sda1HibernateSchemaLog-7-co" />
 ...
-    create table Airline ( <co linkends="sda1HibernateSchemaLog-8"
-                    xml:id="sda1HibernateSchemaLog-8-co"/>
+    create table Airline ( <co linkends="sda1HibernateSchemaLog-8" xml:id="sda1HibernateSchemaLog-8-co" />
         id bigint not null auto_increment,
         icaoCode varchar(255),
         name varchar(255),
         primary key (id)
     ) ENGINE=InnoDB
 ...
-insert into Airline (icaoCode, name) values (?, ?) <co
-                    linkends="sda1HibernateSchemaLog-9"
-                    xml:id="sda1HibernateSchemaLog-9-co"/>
+insert into Airline (icaoCode, name) values (?, ?) <co linkends="sda1HibernateSchemaLog-9" xml:id="sda1HibernateSchemaLog-9-co" />
 ...</screen>
 
                 <calloutlist>
-                  <callout arearefs="sda1HibernateSchemaLog-1-co"
-                           xml:id="sda1HibernateSchemaLog-1">
+                  <callout arearefs="sda1HibernateSchemaLog-1-co" xml:id="sda1HibernateSchemaLog-1">
                     <para>Using <code>&lt;persistence-unit name="jpa-recreate"
                     ...&gt;</code> from file
                     <filename>persistence.xml</filename>.</para>
                   </callout>
 
-                  <callout arearefs="sda1HibernateSchemaLog-2-co"
-                           xml:id="sda1HibernateSchemaLog-2">
+                  <callout arearefs="sda1HibernateSchemaLog-2-co" xml:id="sda1HibernateSchemaLog-2">
                     <para>Hibernate may as well use a configuration file
                     <filename>hibernate.properties</filename> in favour of
-                    <xref linkend="glo_JPA"/>
+                    <xref linkend="glo_JPA" />
                     <filename>persistence.xml</filename>.</para>
                   </callout>
 
-                  <callout arearefs="sda1HibernateSchemaLog-3-co"
-                           xml:id="sda1HibernateSchemaLog-3">
-                    <para>Opening a <xref linkend="glo_JDBC"/> connection as
+                  <callout arearefs="sda1HibernateSchemaLog-3-co" xml:id="sda1HibernateSchemaLog-3">
+                    <para>Opening a <xref linkend="glo_JDBC" /> connection as
                     being defined in
                     <filename>persistence.xml</filename>:</para>
 
@@ -1773,20 +1548,17 @@ insert into Airline (icaoCode, name) values (?, ?) <co
                     passwords!</para>
                   </callout>
 
-                  <callout arearefs="sda1HibernateSchemaLog-4-co"
-                           xml:id="sda1HibernateSchemaLog-4">
+                  <callout arearefs="sda1HibernateSchemaLog-4-co" xml:id="sda1HibernateSchemaLog-4">
                     <para>Allowing grouping of statements into
                     transactions.</para>
                   </callout>
 
-                  <callout arearefs="sda1HibernateSchemaLog-5-co"
-                           xml:id="sda1HibernateSchemaLog-5">
+                  <callout arearefs="sda1HibernateSchemaLog-5-co" xml:id="sda1HibernateSchemaLog-5">
                     <para>Choosing the desired
                     <productname>Mysql</productname> backend.</para>
                   </callout>
 
-                  <callout arearefs="sda1HibernateSchemaLog-7-co"
-                           xml:id="sda1HibernateSchemaLog-7">
+                  <callout arearefs="sda1HibernateSchemaLog-7-co" xml:id="sda1HibernateSchemaLog-7">
                     <para>Drop table <classname>Airline</classname> if exists.
                     This is due to the <code>&lt;property
                     name="hibernate.hbm2ddl.auto" value="create-drop"
@@ -1794,17 +1566,13 @@ insert into Airline (icaoCode, name) values (?, ?) <co
                     <filename>persistence.xml</filename>.</para>
                   </callout>
 
-                  <callout arearefs="sda1HibernateSchemaLog-8-co"
-                           xml:id="sda1HibernateSchemaLog-8">
+                  <callout arearefs="sda1HibernateSchemaLog-8-co" xml:id="sda1HibernateSchemaLog-8">
                     <para>Creating the database table.</para>
                   </callout>
 
-                  <callout arearefs="sda1HibernateSchemaLog-9-co"
-                           xml:id="sda1HibernateSchemaLog-9">
+                  <callout arearefs="sda1HibernateSchemaLog-9-co" xml:id="sda1HibernateSchemaLog-9">
                     <para>Inserting data using PreparedStatements. Notice the
-                    two question marks (?, ?) representing <xref
-                    linkend="glo_JDBC"/> <interfacename
-                    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/PreparedStatement.html">PreparedStatement</interfacename>
+                    two question marks (?, ?) representing <xref linkend="glo_JDBC" /> <interfacename xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/PreparedStatement.html">PreparedStatement</interfacename>
                     place holders.</para>
                   </callout>
                 </calloutlist>
@@ -1827,8 +1595,8 @@ CREATE TABLE Airline (
                 <screen>...
 select airline0_.id as id1_0_,
        airline0_.icaoCode as icaoCode2_0_,
-       airline0_.name as name3_0_ 
-from Airline airline0_ 
+       airline0_.name as name3_0_
+from Airline airline0_
 where airline0_.icaoCode=?
 ...
 TRACE [main] sql.BasicBinder (BasicBinder.java:65) - binding parameter [1] as [VARCHAR] - [DLH]
@@ -1839,7 +1607,7 @@ TRACE [main] sql.BasicBinder (BasicBinder.java:65) - binding parameter [1] as [V
 
                 <screen>
 ...
-select id, icaoCode, name 
+select id, icaoCode, name
 from Airline
 where airline0_.icaoCode=?
 ...
@@ -1876,17 +1644,14 @@ TRACE [main] sql.BasicBinder (BasicBinder.java:65) - binding parameter [1] as [V
   </section>
 
   <section xml:id="sda1SectRdbms2catalogJpa">
-    <title>Exporting <xref linkend="glo_XML"/> catalog data using <xref
-    linkend="glo_JPA"/>.</title>
+    <title>Exporting <xref linkend="glo_XML" /> catalog data using <xref linkend="glo_JPA" />.</title>
 
     <qandaset defaultlabel="qanda" xml:id="sda1QandaRdbms2catalogJpa">
       <qandadiv>
         <qandaentry>
           <question>
-            <para>In <xref linkend="sda1SectRelationadatal2Xml"/> you exported
-            RDBMS data to <xref linkend="glo_XML"/> by means of <xref
-            linkend="glo_JDBC"/>. In this follow up exercise <xref
-            linkend="glo_JPA"/> will be used facilitating the database reading
+            <para>In <xref linkend="sda1SectRelationadatal2Xml" /> you exported
+            RDBMS data to <xref linkend="glo_XML" /> by means of <xref linkend="glo_JDBC" />. In this follow up exercise <xref linkend="glo_JPA" /> will be used facilitating the database reading
             part following:</para>
 
             <orderedlist>
@@ -1900,8 +1665,7 @@ TRACE [main] sql.BasicBinder (BasicBinder.java:65) - binding parameter [1] as [V
               </listitem>
 
               <listitem>
-                <para>Add required properties among with <xref
-                linkend="glo_JPA"/> annotations to
+                <para>Add required properties among with <xref linkend="glo_JPA" /> annotations to
                 <classname>de.hdm_stuttgart.mi.sda1.sql2catalog.model.Product</classname>
                 and
                 <classname>de.hdm_stuttgart.mi.sda1.sql2catalog.model.Description</classname>.</para>
@@ -1910,33 +1674,29 @@ TRACE [main] sql.BasicBinder (BasicBinder.java:65) - binding parameter [1] as [V
                   <para>Since <classname>Description</classname> instances are
                   composites with respect to <classname>Product</classname>
                   (Composition rather than aggregation or association) you
-                  might want to use <interfacename
-                  xlink:href="https://en.wikibooks.org/wiki/Java_Persistence/ElementCollection">@ElementCollection</interfacename>
-                  in favour of <interfacename
-                  xlink:href="https://en.wikibooks.org/wiki/Java_Persistence/ManyToOne">@ManyToOne</interfacename>
-                  and <interfacename
-                  xlink:href="https://en.wikibooks.org/wiki/Java_Persistence/OneToMany">@OneToMany</interfacename>.</para>
+                  might want to use <interfacename xlink:href="https://en.wikibooks.org/wiki/Java_Persistence/ElementCollection">@ElementCollection</interfacename>
+                  in favour of <interfacename xlink:href="https://en.wikibooks.org/wiki/Java_Persistence/ManyToOne">@ManyToOne</interfacename>
+                  and <interfacename xlink:href="https://en.wikibooks.org/wiki/Java_Persistence/OneToMany">@OneToMany</interfacename>.</para>
                 </tip>
 
                 <tip>
                   <para>Regarding ordering of descriptions you may want to
-                  read <interfacename
-                  xlink:href="http://docs.oracle.com/javaee/7/api/javax/persistence/OrderColumn.html">@OrderColumn</interfacename>'s
+                  read <interfacename xlink:href="https://javaee.github.io/javaee-spec/javadocs/javax/persistence/OrderColumn.html">@OrderColumn</interfacename>'s
                   documentation.</para>
                 </tip>
               </listitem>
 
               <listitem>
-                <para>The <xref linkend="glo_Junit"/> test class
+                <para>The <xref linkend="glo_Junit" /> test class
                 <classname>rdbms2catalog.TestSchema</classname> does contain
-                <xref linkend="glo_JPA"/> data inserting code being commented
+                <xref linkend="glo_JPA" /> data inserting code being commented
                 out. Having your data model completed you may un comment
                 these. Test execution will then populate your database with
                 sample data.</para>
               </listitem>
 
               <listitem>
-                <para>Implement the actual RDBMS to <xref linkend="glo_XML"/>
+                <para>Implement the actual RDBMS to <xref linkend="glo_XML" />
                 export application.</para>
 
                 <tip>
diff --git a/Doc/Sda1/mongodb.xml b/Doc/Sda1/mongodb.xml
index b3064833a8b0d4214d3bdbb3b892e435493708aa..3c9aa93ce8a6f99b530b2d8a6690a53ab5c9c4c4 100644
--- a/Doc/Sda1/mongodb.xml
+++ b/Doc/Sda1/mongodb.xml
@@ -122,7 +122,7 @@ WriteResult({
 	"nInserted" : 0,
 	"<emphasis role="bold">writeError" : {
 		"code" : 11000,
-		"errmsg" : "E11000 duplicate key error collection: test.university index: 
+		"errmsg" : "E11000 duplicate key error collection: test.university index:
      lecture_id_1 dup key: { : 143108.0 }"</emphasis>
 	}
 })</programlisting>
diff --git a/Doc/Sda1/prerequisites.xml b/Doc/Sda1/prerequisites.xml
index 35389007be79700df19a864c7eaac08fee51d8f7..78da0eaf668de63a6a907f1fc22b1816f8b827e9 100644
--- a/Doc/Sda1/prerequisites.xml
+++ b/Doc/Sda1/prerequisites.xml
@@ -246,8 +246,8 @@ Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)</screen>
 
       <screen>root@goiki:~# aptitude install mysql-server
 The following NEW packages will be installed:
-  libdbd-mysql-perl{a} libdbi-perl{a} libnet-daemon-perl{a} libplrpc-perl{a} 
-  mysql-client-5.5{a} mysql-server-5.5 
+  libdbd-mysql-perl{a} libdbi-perl{a} libnet-daemon-perl{a} libplrpc-perl{a}
+  mysql-client-5.5{a} mysql-server-5.5
 0 packages upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 Need to get 0 B/17.8 MB of archives. After unpacking 63.2 MB will be used.
 Do you want to continue? [Y/n/?]</screen>
@@ -257,25 +257,25 @@ Do you want to continue? [Y/n/?]</screen>
       xlink:href="https://www.mysql.com">Mysql</productname> servers
       <quote>root</quote> (Administrator) password:</para>
 
-      <screen>Package configuration                                                                              
-                                                                                                   
-                                                                                                   
-     ┌───────────────────────────┤ Configuring mysql-server-5.5 ├────────────────────────────┐     
-     │ While not mandatory, it is highly recommended that you set a password for the MySQL   │     
-     │ administrative "root" user.                                                           │     
-     │                                                                                       │     
-     │ If this field is left blank, the password will not be changed.                        │     
-     │                                                                                       │     
-     │ New password for the MySQL "root" user:                                               │     
-     │                                                                                       │     
-     │ ********_____________________________________________________________________________ │     
-     │                                                                                       │     
-     │                                        &lt;Ok&gt;                                           │     
-     │                                                                                       │     
-     └───────────────────────────────────────────────────────────────────────────────────────┘     
-                                                                                                   
-                                                                                                   
-                                                                                                   </screen>
+      <screen>Package configuration
+
+
+     ┌───────────────────────────┤ Configuring mysql-server-5.5 ├────────────────────────────┐
+     │ While not mandatory, it is highly recommended that you set a password for the MySQL   │
+     │ administrative "root" user.                                                           │
+     │                                                                                       │
+     │ If this field is left blank, the password will not be changed.                        │
+     │                                                                                       │
+     │ New password for the MySQL "root" user:                                               │
+     │                                                                                       │
+     │ ********_____________________________________________________________________________ │
+     │                                                                                       │
+     │                                        &lt;Ok&gt;                                           │
+     │                                                                                       │
+     └───────────────────────────────────────────────────────────────────────────────────────┘
+
+
+</screen>
 
       <para>This has to be entered twice. Keep a <emphasis
       role="bold">permanent</emphasis> record of this entry. Alternatively set
@@ -288,7 +288,7 @@ Do you want to continue? [Y/n/?]</screen>
       exercises:</para>
 
       <screen>goik@hopc ~&gt; mysql -u root -p
-Enter password: 
+Enter password:
 
 ... messages omitted for brevity ...
 
@@ -300,7 +300,7 @@ Query OK, 1 row affected (0.00 sec)</screen>
       we add <code>hdmuser</code> as a new user and grant full access to the
       newly created database <code>hdm to him</code>:</para>
 
-      <screen> ...                                                                                                                                                                                                                                                          
+      <screen> ...
 mysql&gt; <emphasis role="bold">CREATE USER 'hdmuser'@'localhost' IDENTIFIED BY 'XYZ';</emphasis>
 mysql&gt; <emphasis role="bold">use hdm;</emphasis>
 mysql&gt; <emphasis role="bold">GRANT ALL PRIVILEGES ON *.* TO 'hdmuser'@'localhost' WITH GRANT OPTION;</emphasis>
@@ -505,7 +505,7 @@ lrwxrwxrwx 1 ... 2011 <emphasis role="bold">mysql.jar -&gt; mysql-connector-java
    id INT NOT NULL
   ,name CHAR(20) NOT NULL
   ,airlineCode CHAR(5) NOT NULL
-  
+
   ,CONSTRAINT _PK_Airline_id PRIMARY KEY(id)
   ,CONSTRAINT _UN_Airline_name UNIQUE(name)
   ,CONSTRAINT _UN_Airline_airlineCode UNIQUE(airlineCode)
@@ -515,7 +515,7 @@ CREATE TABLE Destination (
    id INT NOT NULL
   ,fullName CHAR(20) NOT NULL
   ,airportCode CHAR(5)
-    
+
   ,CONSTRAINT _PK_Destination_id PRIMARY KEY(id)
   ,CONSTRAINT _UN_Destination_airportCode UNIQUE(airportCode)
 );
@@ -532,7 +532,7 @@ CREATE TABLE Flight (
   --  ,CONSTRAINT _FK_Flight_airline FOREIGN KEY(airline) REFERENCES Airline
   --  ,CONSTRAINT _FK_Flight_origin FOREIGN KEY(origin) REFERENCES Destination
   --  ,CONSTRAINT _FK_Flight_destination FOREIGN KEY(destination) REFERENCES Destination
-  
+
   ,CONSTRAINT _PK_Flight_id UNIQUE(id)
   ,CONSTRAINT _UN_Flight_flightNumber UNIQUE(flightNumber)
   ,CONSTRAINT _CK_Flight_origin_destination CHECK(NOT(origin = destination))
diff --git a/Doc/Sda1/projects.xml b/Doc/Sda1/projects.xml
index f0544f38904fd794e0a670344426ba4ff6b2d546..ada720e960fb62c54746a31727c53475718c9c68 100644
--- a/Doc/Sda1/projects.xml
+++ b/Doc/Sda1/projects.xml
@@ -195,9 +195,9 @@
         <listitem>
           <para>Reading a database's schema requires <xref
           linkend="glo_JDBC"/> meta data support e.g. <interfacename
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/ResultSetMetaData.html">ResultSetMetaData</interfacename>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/ResultSetMetaData.html">ResultSetMetaData</interfacename>
           and possibly <interfacename
-          xlink:href="https://docs.oracle.com/javase/9/docs/api/java/sql/DatabaseMetaData.html">DatabaseMetaData</interfacename>.</para>
+          xlink:href="https://docs.oracle.com/javase/10/docs/api/java/sql/DatabaseMetaData.html">DatabaseMetaData</interfacename>.</para>
         </listitem>
 
         <listitem>
diff --git a/Doc/Sda1/sax.xml b/Doc/Sda1/sax.xml
index 97afc6f44e4a845b482fb6681538a34afeac7bbc..8977011602c589753c1ba8bd11073ed586e66e61 100644
--- a/Doc/Sda1/sax.xml
+++ b/Doc/Sda1/sax.xml
@@ -1,11 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<section version="5.0" xml:id="sax" xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xmlns:xi="http://www.w3.org/2001/XInclude"
-         xmlns:svg="http://www.w3.org/2000/svg"
-         xmlns:m="http://www.w3.org/1998/Math/MathML"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         xmlns:db="http://docbook.org/ns/docbook">
+<section xmlns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="sax">
   <title>XML APIs, the Simple API for XML (SAX)</title>
 
   <section xml:id="sda1SaxRecommendedReading">
@@ -13,36 +7,29 @@
 
     <itemizedlist>
       <listitem>
-        <para><link
-        xlink:href="https://www.ibm.com/developerworks/xml/tutorials/x-usax/x-usax.html">Understanding
+        <para><link xlink:href="https://www.ibm.com/developerworks/xml/tutorials/x-usax/x-usax.html">Understanding
         SAX</link></para>
       </listitem>
 
       <listitem>
-        <para>Sections <link
-        xlink:href="http://tutorials.jenkov.com/java-xml">1</link> till <link
-        xlink:href="http://tutorials.jenkov.com/java-xml/sax-example.html">6</link>
-        from the <link xlink:href="http://tutorials.jenkov.com/java-xml">Java
+        <para>Sections <link xlink:href="http://tutorials.jenkov.com/java-xml/">1</link> till <link xlink:href="http://tutorials.jenkov.com/java-xml/sax-example.html">6</link>
+        from the <link xlink:href="http://tutorials.jenkov.com/java-xml/">Java
         &amp; XML Tutorial</link>.</para>
       </listitem>
     </itemizedlist>
 
     <para>Try to answer the following question: Why do developers sometimes
-    derive a handler from <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/helpers/DefaultHandler.html">DefaultHandler</classname>
-    and why do they sometimes prefer implementing <link
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</link>?</para>
+    derive a handler from <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/helpers/DefaultHandler.html">DefaultHandler</classname>
+    and why do they sometimes prefer implementing <link xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</link>?</para>
   </section>
 
   <section xml:id="saxPrinciple">
-    <title>The principle of a <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> application</title>
+    <title>The principle of a <acronym xlink:href="http://www.saxproject.org">SAX</acronym> application</title>
 
     <para>We are already familiar with transformations of XML document
     instances to other formats. Sometimes the capabilities being offered by a
     given transformation approach do not suffice for a given problem.
-    Obviously a general purpose programming language like <xref
-    linkend="glo_Java"/> offers superior means to perform advanced
+    Obviously a general purpose programming language like <xref linkend="glo_Java" /> offers superior means to perform advanced
     manipulations of XML document trees.</para>
 
     <para>Before diving into technical details we present an example exceeding
@@ -56,7 +43,7 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/saxxmlrdbms.fig" scale="65"/>
+          <imagedata fileref="Ref/Fig/saxxmlrdbms.fig" scale="65" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -64,7 +51,7 @@
     <para>Our catalog might look like:</para>
 
     <figure xml:id="simpleCatalog">
-      <title>A <xref linkend="glo_XML"/> based catalog.</title>
+      <title>A <xref linkend="glo_XML" /> based catalog.</title>
 
       <programlisting language="xml">&lt;catalog&gt;
   &lt;item orderNo="<emphasis role="bold">3218</emphasis>"&gt;Swinging headset&lt;/item&gt;
@@ -84,7 +71,7 @@
   orderNo CHAR(10) PRIMARY KEY
  ,price Money
 )
-        
+
 INSERT INTO Product VALUES('<emphasis role="bold">3218</emphasis>', 42.57)
 INSERT INTO Product VALUES('<emphasis role="bold">9921</emphasis>', 121.50)</programlisting>
 
@@ -135,24 +122,18 @@ INSERT INTO Product VALUES('<emphasis role="bold">9921</emphasis>', 121.50)</pro
     capabilities: XSLT does not enable us to RDBMS content. However some XSLT
     processors provide extensions for this task.</para>
 
-    <para>It is tempting to write a <xref linkend="glo_Java"/> application
-    which might use e.g. <trademark
-    xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
+    <para>It is tempting to write a <xref linkend="glo_Java" /> application
+    which might use e.g. <trademark xlink:href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</trademark>
     for database access. But how do we actually read and parse a XML file?
-    Sticking to the <xref linkend="glo_Java"/> standard we might use a <link
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/io/InputStream.html">FileInputStream</link>
+    Sticking to the <xref linkend="glo_Java" /> standard we might use a <link xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/InputStream.html">FileInputStream</link>
     instance to read from <code>catalog.xml</code> and write a XML parser by
-    ourself. Fortunately <orgname>SUN</orgname>'s <trademark
-    xlink:href="http://www.oracle.com/technetwork/java/javase">JDK</trademark>
-    already includes an API denoted <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym>, the
+    ourself. Fortunately <orgname>SUN</orgname>'s <trademark xlink:href="http://www.oracle.com/technetwork/java/javase">JDK</trademark>
+    already includes an API denoted <acronym xlink:href="http://www.saxproject.org">SAX</acronym>, the
     <emphasis>S</emphasis>imple <emphasis>A</emphasis>pi for
-    <emphasis>X</emphasis>ml. The<productname
-    xlink:href="http://www.oracle.com/technetwork/java/javase/jdk-7-readme-429198.html">JDK</productname>
+    <emphasis>X</emphasis>ml. The<productname xlink:href="http://www.oracle.com/technetwork/java/javase/jdk-7-readme-429198.html">JDK</productname>
     also includes a corresponding parser implementation. In addition there are
     third party <acronym xlink:href="http://www.saxproject.org">SAX</acronym>
-    parser implementations available like <productname
-    xlink:href="https://xerces.apache.org">Xerces</productname> from the
+    parser implementations available like <productname xlink:href="https://xerces.apache.org">Xerces</productname> from the
     <orgname xlink:href="https://www.apache.org">Apache
     Foundation</orgname>.</para>
 
@@ -162,7 +143,7 @@ INSERT INTO Product VALUES('<emphasis role="bold">9921</emphasis>', 121.50)</pro
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="Ref/Fig/updateinfo.fig"/>
+        <imagedata fileref="Ref/Fig/updateinfo.fig" />
       </imageobject>
     </mediaobject>
 
@@ -198,8 +179,7 @@ INSERT INTO Product VALUES('<emphasis role="bold">9921</emphasis>', 121.50)</pro
     development. A key press <emphasis>event</emphasis> for example will be
     forwarded by an application's <emphasis>event handler</emphasis> to a
     callback function (sometimes called a <emphasis>handler</emphasis> method)
-    being implemented by an application developer. The <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> API works the same
+    being implemented by an application developer. The <acronym xlink:href="http://www.saxproject.org">SAX</acronym> API works the same
     way: A parser reads a XML document generating events which
     <emphasis>may</emphasis> be handled by an application. During document
     parsing the XML tree structure gets <quote>flattened</quote> to a sequence
@@ -211,7 +191,7 @@ INSERT INTO Product VALUES('<emphasis role="bold">9921</emphasis>', 121.50)</pro
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/saxmodel.pdf"/>
+          <imagedata fileref="Ref/Fig/saxmodel.pdf" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -224,14 +204,12 @@ INSERT INTO Product VALUES('<emphasis role="bold">9921</emphasis>', 121.50)</pro
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/saxapparch.pdf"/>
+          <imagedata fileref="Ref/Fig/saxapparch.pdf" />
         </imageobject>
 
         <caption>
-          <para>A <acronym
-          xlink:href="http://www.saxproject.org">SAX</acronym> application
-          consists of a <acronym
-          xlink:href="http://www.saxproject.org">SAX</acronym> parser and an
+          <para>A <acronym xlink:href="http://www.saxproject.org">SAX</acronym> application
+          consists of a <acronym xlink:href="http://www.saxproject.org">SAX</acronym> parser and an
           implementation of event handlers being specific to the application.
           The application is developed by implementing the two
           handlers.</para>
@@ -240,8 +218,7 @@ INSERT INTO Product VALUES('<emphasis role="bold">9921</emphasis>', 121.50)</pro
     </figure>
 
     <para>An Error Handler is required since the XML stream may contain
-    errors. In order to implement a <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> application we have
+    errors. In order to implement a <acronym xlink:href="http://www.saxproject.org">SAX</acronym> application we have
     to:</para>
 
     <orderedlist>
@@ -287,21 +264,19 @@ INSERT INTO Product VALUES('<emphasis role="bold">9921</emphasis>', 121.50)</pro
   <section xml:id="saxIntroExample">
     <title>First steps</title>
 
-    <para>Our first <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> toy application
+    <para>Our first <acronym xlink:href="http://www.saxproject.org">SAX</acronym> toy application
     <classname>sax.stat.v1.ElementCount</classname> shall simply count the
     number of elements it finds in an arbitrary XML document. In addition the
     <acronym xlink:href="http://www.saxproject.org">SAX</acronym> events shall
-    be written to standard output generating output sketched in <xref
-    linkend="saxFlattenEvent"/>. The application's central implementation
+    be written to standard output generating output sketched in <xref linkend="saxFlattenEvent" />. The application's central implementation
     reads:</para>
 
     <figure xml:id="saxElementCount">
       <title>Counting XML elements.</title>
 
       <programlisting language="java">package sax.stat.v1;
-...        
-        
+...
+
 public class ElementCount {
 
   public void parse(final String uri) {
@@ -342,10 +317,8 @@ public class ElementCount {
 } ...</programlisting>
 
     <para>In order to keep an application independent from a specific parser
-    implementation the <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> uses the so called
-    <link
-    xlink:href="http://www.dofactory.com/Patterns/PatternAbstract.aspx">Abstract
+    implementation the <acronym xlink:href="http://www.saxproject.org">SAX</acronym> uses the so called
+    <link xlink:href="http://www.dofactory.com/Patterns/PatternAbstract.aspx">Abstract
     Factory Pattern</link> instead of simply calling a constructor from a
     vendor specific parser class.</para>
 
@@ -367,34 +340,28 @@ public class ElementCount {
     parser being callable during the parsing process:</para>
 
     <programlisting language="java">package sax.stat.v1;
-...        
+...
 public class MyEventHandler extends <classname>org.xml.sax.helpers.DefaultHandler</classname> {
-        
-  public void <emphasis role="bold"><emphasis role="bold">startDocument()</emphasis></emphasis><co
-        xml:id="programlisting_eventhandler_startDocument"/> {
+
+  public void <emphasis role="bold"><emphasis role="bold">startDocument()</emphasis></emphasis><co xml:id="programlisting_eventhandler_startDocument" /> {
     System.out.println("Opening Document");
   }
-  public void <emphasis role="bold">endDocument()</emphasis><co
-        xml:id="programlisting_eventhandler_endDocument"/> {
+  public void <emphasis role="bold">endDocument()</emphasis><co xml:id="programlisting_eventhandler_endDocument" /> {
     System.out.println("Closing Document");
   }
   public void <emphasis role="bold">startElement(String namespaceUri, String localName, String rawName,
-                     Attributes attrs)</emphasis> <co
-        xml:id="programlisting_eventhandler_startElement"/>{
+                     Attributes attrs)</emphasis> <co xml:id="programlisting_eventhandler_startElement" />{
     System.out.println("Opening \"" + rawName + "\"");
     elementCount++;
   }
   public void <emphasis role="bold">endElement(String namespaceUri, String localName,
-    String rawName)</emphasis><co
-        xml:id="programlisting_eventhandler_endElement"/>{
+    String rawName)</emphasis><co xml:id="programlisting_eventhandler_endElement" />{
     System.out.println("Closing \"" + rawName + "\"");
   }
-  public void <emphasis role="bold">characters(char[] ch, int start, int length)</emphasis><co
-        xml:id="programlisting_eventhandler_characters"/>{
+  public void <emphasis role="bold">characters(char[] ch, int start, int length)</emphasis><co xml:id="programlisting_eventhandler_characters" />{
     System.out.println("Content \"" + new String(ch, start, length) + '"');
   }
-  public int getElementCount() <co
-        xml:id="programlisting_eventhandler_getElementCount"/>{
+  public int getElementCount() <co xml:id="programlisting_eventhandler_getElementCount" />{
     return elementCount;
   }
   private int elementCount = 0;
@@ -421,8 +388,7 @@ public class MyEventHandler extends <classname>org.xml.sax.helpers.DefaultHandle
 
       <callout arearefs="programlisting_eventhandler_endElement">
         <para>Called each time an element like <tag class="starttag">item
-        ...</tag> gets closed by its counterpart <tag
-        class="endtag">item</tag>.</para>
+        ...</tag> gets closed by its counterpart <tag class="endtag">item</tag>.</para>
       </callout>
 
       <callout arearefs="programlisting_eventhandler_characters">
@@ -434,8 +400,7 @@ public class MyEventHandler extends <classname>org.xml.sax.helpers.DefaultHandle
       <callout arearefs="programlisting_eventhandler_getElementCount">
         <para><function>getElementCount()</function> is a getter method to
         read only access the private field <varname>elementCount</varname>
-        which gets incremented in <coref
-        linkend="programlisting_eventhandler_startElement"/> each time an XML
+        which gets incremented in <coref linkend="programlisting_eventhandler_startElement" /> each time an XML
         element opens.</para>
       </callout>
     </calloutlist>
@@ -460,7 +425,7 @@ public class MyEventHandler extends <classname>org.xml.sax.helpers.DefaultHandle
     completion of a parsing run:</para>
 
     <programlisting language="java">package sax.stat.v1;
-        
+
 public class ElementCountDriver {
   public static void main(String argv[]) {
     ElementCount xmlStats = new ElementCount();
@@ -472,43 +437,36 @@ public class ElementCountDriver {
     <para>Processing the catalog example instance yields:</para>
 
     <screen>Opening Document
-<emphasis role="bold">Opening "catalog"</emphasis> <co
-        xml:id="programlisting_catalog_output"/>
+<emphasis role="bold">Opening "catalog"</emphasis> <co xml:id="programlisting_catalog_output" />
 Content "
   "
-<emphasis role="bold">Opening "item"</emphasis> <co
-        xml:id="programlisting_catalog_item1"/>
+<emphasis role="bold">Opening "item"</emphasis> <co xml:id="programlisting_catalog_item1" />
 Content "Swinging headset"
 Closing "item"
 Content "
   "
-<emphasis role="bold">Opening "item"</emphasis>  <co
-        xml:id="programlisting_catalog_item2"/>
+<emphasis role="bold">Opening "item"</emphasis>  <co xml:id="programlisting_catalog_item2" />
 Content "200W Stereo Amplifier"
 Closing "item"
 Content "
 "
 Closing "catalog"
 Closing Document
-<emphasis role="bold">Document contains 3 elements</emphasis> <co
-        xml:id="programlisting_catalog_elementcount"/></screen>
+<emphasis role="bold">Document contains 3 elements</emphasis> <co xml:id="programlisting_catalog_elementcount" /></screen>
 
     <calloutlist>
       <callout arearefs="programlisting_catalog_output">
-        <para>Start parsing element <tag
-        class="starttag">catalog</tag>.</para>
+        <para>Start parsing element <tag class="starttag">catalog</tag>.</para>
       </callout>
 
       <callout arch="" arearefs="programlisting_catalog_item1">
         <para>Start parsing element <tag class="starttag">item
-        orderNo="3218"</tag>Swinging headset<tag class="endtag"
-        role="">item</tag>.</para>
+        orderNo="3218"</tag>Swinging headset<tag class="endtag" role="">item</tag>.</para>
       </callout>
 
       <callout arch="" arearefs="programlisting_catalog_item2">
         <para>Start parsing element <tag class="starttag">item
-        orderNo="9921"</tag>200W Stereo Amplifier<tag class="endtag"
-        role="">item</tag>.</para>
+        orderNo="9921"</tag>200W Stereo Amplifier<tag class="endtag" role="">item</tag>.</para>
       </callout>
 
       <callout arearefs="programlisting_catalog_elementcount">
@@ -521,8 +479,7 @@ Closing Document
     content is due to whitespace being located between elements. For example a
     newline appears between the the <tag class="starttag">catalog</tag> and
     the first <tag class="starttag">item</tag> element. The parser
-    encapsulates this whitespace in a call to the <methodname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/ContentHandler.html#characters-char:A-int-int-">characters()</methodname>
+    encapsulates this whitespace in a call to the <methodname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/ContentHandler.html#characters(char%5B%5D,int,int)">characters()</methodname>
     method. In an application this call will typically be ignored. XML
     document instances in a professional context will typically not contain
     any newline characters at all. Instead the whole document is represented
@@ -531,19 +488,16 @@ Closing Document
     will not appear.</para>
 
     <para>The <code>characters(char[] ch, int start, int length)</code>
-    method's signature looks somewhat strange regarding <xref
-    linkend="glo_Java"/> conventions. One might expect <code>characters(String
-    s)</code>. But this way the <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> API allows efficient
+    method's signature looks somewhat strange regarding <xref linkend="glo_Java" /> conventions. One might expect <code>characters(String
+    s)</code>. But this way the <acronym xlink:href="http://www.saxproject.org">SAX</acronym> API allows efficient
     parser implementations: A parser may initially allocate a reasonable large
-    <code>char</code> array of say 128 bytes sufficient to hold 64 (<link
-    xlink:href="http://unicode.org">Unicode</link>) characters. If this buffer
+    <code>char</code> array of say 128 bytes sufficient to hold 64 (<link xlink:href="http://unicode.org">Unicode</link>) characters. If this buffer
     gets exhausted the parser might allocate a second buffer of double size
     thus implementing an <quote>amortized doubling</quote> algorithm:</para>
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="Ref/Fig/saxcharacter.pdf"/>
+        <imagedata fileref="Ref/Fig/saxcharacter.pdf" />
       </imageobject>
     </mediaobject>
 
@@ -551,8 +505,7 @@ Closing Document
     The second content <code>200W Stereo Amplifier</code> and the third
     content <code>Earphone</code> both fit in the second buffer. Subsequent
     content may require further buffer allocations. Such a strategy minimizes
-    the number of time consuming <code>new </code> <classname
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+    the number of time consuming <code>new </code> <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">String</classname>
     <code>(...)</code> constructor calls being necessary for the more
     convenient API variant <code>characters(String s)</code>.</para>
   </section>
@@ -560,15 +513,13 @@ Closing Document
   <section xml:id="saxRegistry">
     <title>Event- and error handler registration</title>
 
-    <para>Our first <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> application suffers
+    <para>Our first <acronym xlink:href="http://www.saxproject.org">SAX</acronym> application suffers
     from the following deficiencies:</para>
 
     <itemizedlist>
       <listitem>
         <para>The error handling is very sparse. It completely relies on
-        exceptions being thrown by classes like <classname
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/SAXException.html">SAXException</classname>
+        exceptions being thrown by classes like <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/SAXException.html">SAXException</classname>
         which frequently do not supply meaningful error information.</para>
       </listitem>
 
@@ -585,21 +536,17 @@ Closing Document
       </listitem>
     </itemizedlist>
 
-    <para>We now incrementally add these features to the <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> parsing process.
+    <para>We now incrementally add these features to the <acronym xlink:href="http://www.saxproject.org">SAX</acronym> parsing process.
     <acronym xlink:href="http://www.saxproject.org">SAX</acronym> offers an
-    interface <link
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/XMLReader.html">XmlReader</link>
+    interface <link xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/XMLReader.html">XmlReader</link>
     to conveniently <emphasis>register</emphasis> event- and error handler
     instances independently instead of passing both interfaces as a single
-    argument to the <link
-    xlink:href="https://docs.oracle.com/javase/9/docs/api/javax/xml/parsers/SAXParser.html#parse-java.io.File-org.xml.sax.helpers.DefaultHandler-">parse()</link>
+    argument to the <link xlink:href="https://docs.oracle.com/javase/10/docs/api/javax/xml/parsers/SAXParser.html#parse(java.io.File,org.xml.sax.helpers.DefaultHandler)">parse()</link>
     method. We first code an error handler class by implementing the interface
-    <classname>org.xml.sax.ErrorHandler</classname> being part of the <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> API:</para>
+    <classname>org.xml.sax.ErrorHandler</classname> being part of the <acronym xlink:href="http://www.saxproject.org">SAX</acronym> API:</para>
 
     <programlisting language="java">package sax.stat.v2;
-...        
+...
 public class MyErrorHandler implements ErrorHandler {
 
   <emphasis role="bold">public void warning(SAXParseException e)</emphasis> {
@@ -630,7 +577,7 @@ public class MyErrorHandler implements ErrorHandler {
       <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;catalog&gt;
   &lt;item orderNo="3218"&gt;Swinging headset&lt;/item&gt;
-  &lt;item orderNo="9921"&gt;200W Stereo Amplifier 
+  &lt;item orderNo="9921"&gt;200W Stereo Amplifier
 &lt;/catalog&gt;</programlisting>
 
       <caption>
@@ -659,30 +606,24 @@ public class ElementCount {
       final SAXParserFactory saxPf = SAXParserFactory.newInstance();
       final SAXParser saxParser = saxPf.newSAXParser();
       xmlReader = saxParser.getXMLReader();
-      xmlReader.setContentHandler(eventHandler); <co
-        xml:id="programlisting_assemble_parser_setcontenthandler"/>
-      xmlReader.setErrorHandler(errorHandler); <co
-        xml:id="programlisting_assemble_parser_seterrorhandler"/>
+      xmlReader.setContentHandler(eventHandler); <co xml:id="programlisting_assemble_parser_setcontenthandler" />
+      xmlReader.setErrorHandler(errorHandler); <co xml:id="programlisting_assemble_parser_seterrorhandler" />
   }
   public void parse(final String uri)
     throws IOException, SAXException{
-    xmlReader.parse(uri); <co
-        xml:id="programlisting_assemble_parser_invokeparse"/>
+    xmlReader.parse(uri); <co xml:id="programlisting_assemble_parser_invokeparse" />
   }
   public int getElementCount() {
-    return eventHandler.getElementCount(); <co
-        xml:id="programlisting_assemble_parser_getelementcount"/>
+    return eventHandler.getElementCount(); <co xml:id="programlisting_assemble_parser_getelementcount" />
   }
   private final XMLReader xmlReader;
-  private final MyEventHandler eventHandler = new MyEventHandler(); <co
-        xml:id="programlisting_assemble_parser_createeventhandler"/>
-  private final MyErrorHandler errorHandler = new MyErrorHandler(); <co
-        xml:id="programlisting_assemble_parser_createerrorhandler"/>
+  private final MyEventHandler eventHandler = new MyEventHandler(); <co xml:id="programlisting_assemble_parser_createeventhandler" />
+  private final MyErrorHandler errorHandler = new MyErrorHandler(); <co xml:id="programlisting_assemble_parser_createerrorhandler" />
 }</programlisting>
 
     <calloutlist>
       <callout arearefs="programlisting_assemble_parser_setcontenthandler programlisting_assemble_parser_seterrorhandler">
-        <para>Referring to <xref linkend="figureSax" os=""/> these two calls
+        <para>Referring to <xref linkend="figureSax" os="" /> these two calls
         attach the event- and error handler objects to the parser thus
         implementing the two arrows from the parser to the application's
         implementation.</para>
@@ -730,18 +671,14 @@ public class ElementCount {
           <question>
             <label>Reading an element's set of attributes.</label>
 
-            <para>The example document instance does include <tag
-            class="attribute">orderNo</tag> attribute values for each <tag
-            class="starttag">item</tag> element. The parser does not yet show
+            <para>The example document instance does include <tag class="attribute">orderNo</tag> attribute values for each <tag class="starttag">item</tag> element. The parser does not yet show
             these attribute keys and their corresponding values. Read the
-            documentation for <classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/Attributes.html">org.xml.sax.Attributes</classname>
+            documentation for <classname xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/Attributes.html">org.xml.sax.Attributes</classname>
             and extend the given code to use it.</para>
 
-            <para>You should start from the <xref linkend="glo_MIB"/> Maven
+            <para>You should start from the <xref linkend="glo_MIB" /> Maven
             archetype <code>mi-maven-archetype-sax</code>. Configuration hints
-            are available at <xref
-            linkend="sd1SectUsingMavenEclipse"/>.</para>
+            are available at <xref linkend="sd1SectUsingMavenEclipse" />.</para>
           </question>
 
           <answer>
@@ -751,7 +688,7 @@ public class ElementCount {
             their values:</para>
 
             <programlisting language="java">package sax;
-        
+
 public class AttribEventHandler extends DefaultHandler {
 
   public void startElement(String namespaceUri, String localName,
@@ -781,10 +718,10 @@ public class AttribEventHandler extends DefaultHandler {
               within:</para>
 
               <screen>Opening Document
-<emphasis role="bold">Opening "catalog"</emphasis> 
+<emphasis role="bold">Opening "catalog"</emphasis>
 Content "
   "
-<emphasis role="bold">Opening "item"</emphasis> 
+<emphasis role="bold">Opening "item"</emphasis>
 Content "Swinging headset"
 Closing "item"
 Content " ...</screen>
@@ -818,8 +755,7 @@ Content " ...</screen>
   &lt;/content&gt;
 &lt;/memo&gt;</programlisting>
 
-              <para>The elements <tag class="starttag">to</tag> , <tag
-              class="starttag">name</tag>, <tag class="starttag">surname</tag>
+              <para>The elements <tag class="starttag">to</tag> , <tag class="starttag">name</tag>, <tag class="starttag">surname</tag>
               and <tag class="starttag">para</tag> both appear multiple times.
               Write a SAX application which processes arbitrary XML documents
               and creates an alphabetically sorted list of elements being
@@ -965,10 +901,8 @@ Subject: Firewall problems</screen>
               <para>Hint: The callback implementation of
               <methodname>org.xml.sax.helpers.DefaultHandler.characters(char[],int,int)</methodname>
               may be used to filter the desired output. You have to limit its
-              output to <tag class="starttag">from</tag> and <tag
-              class="starttag">subject</tag> descendant content. Taking the
-              <tag class="starttag">subject</tag>Firewall problems<tag
-              class="endtag">subject</tag> element as an example the
+              output to <tag class="starttag">from</tag> and <tag class="starttag">subject</tag> descendant content. Taking the
+              <tag class="starttag">subject</tag>Firewall problems<tag class="endtag">subject</tag> element as an example the
               corresponding event sequence reads:</para>
 
               <informaltable border="1">
@@ -1029,10 +963,10 @@ Subject: Firewall problems</screen>
 public class MemoViewHandler extends DefaultHandler {
 
   // These variables help us to keep track of the current event state spanning
-  // each startElement(...) -- character(...) -- endElement(...) event sequence 
+  // each startElement(...) -- character(...) -- endElement(...) event sequence
   boolean inFromContext = false,
       inSubjectContext = false;
-  
+
   public void startElement(String namespaceUri, String localName,
       String rawName, Attributes attrs) {
     switch(rawName) {
@@ -1040,13 +974,13 @@ public class MemoViewHandler extends DefaultHandler {
       inFromContext = true;
       System.out.print("Sender: ");
       break;
-    case "subject": 
+    case "subject":
       inSubjectContext = true;
       System.out.print("Subject: ");
       break;
     case "surname":
       if (inFromContext) {
-        System.out.print(" "); // Adding additional space between &lt;name&gt; 
+        System.out.print(" "); // Adding additional space between &lt;name&gt;
       }                        // and &lt;surname&gt;  content.
       break;
     }
@@ -1056,11 +990,11 @@ public class MemoViewHandler extends DefaultHandler {
   public void endElement(String uri, String localName, String rawName)
       throws SAXException {
     switch(rawName) {
-    case "from": 
+    case "from":
       inFromContext = false;
       System.out.println();
       break;
-    case "subject": 
+    case "subject":
       inSubjectContext = false;
       System.out.println();
       break;
@@ -1088,7 +1022,7 @@ public class MemoViewHandler extends DefaultHandler {
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Consider the following <xref linkend="glo_XHTML"/>
+              <para>Consider the following <xref linkend="glo_XHTML" />
               document instance example:</para>
 
               <programlisting language="xml">&lt;html xmlns='http://www.w3.org/1999/xhtml'&gt;
@@ -1097,14 +1031,13 @@ public class MemoViewHandler extends DefaultHandler {
     &lt;/head&gt;
     &lt;body&gt;
         &lt;img src='a.gif' align='top'/&gt;
-        
+
         &lt;p&gt;Some inline image without alignment &lt;img src="b.gif"/&gt;&lt;/p&gt;
         &lt;p&gt;Some inline image with alignment &lt;img src="c.gif" align="bottom"/&gt;&lt;/p&gt;
     &lt;/body&gt;
 &lt;/html&gt;</programlisting>
 
-              <para>This instance contains three <tag
-              class="emptytag">img</tag> elements. Two of them have an old
+              <para>This instance contains three <tag class="emptytag">img</tag> elements. Two of them have an old
               style <property>align</property> property. Modern HTML versions
               prohibit this usage in favour of CSS <code>&lt;img
               style="vertical-align: text-top;" /&gt;</code>.</para>
@@ -1137,12 +1070,12 @@ Found image element 'c.gif' having attribute align='bottom'
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Consider the following <xref linkend="glo_XHTML"/>
+              <para>Consider the following <xref linkend="glo_XHTML" />
               document instance example:</para>
 
               <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;!DOCTYPE html&gt;
-&lt;html xmlns:html="http://www.w3.org/1999/xhtml" 
+&lt;html xmlns:html="http://www.w3.org/1999/xhtml"
     xmlns="http://www.w3.org/1999/xhtml"&gt;
     &lt;head&gt;
         &lt;title&gt;&lt;/title&gt;
@@ -1150,46 +1083,34 @@ Found image element 'c.gif' having attribute align='bottom'
     &lt;body&gt;
         &lt;h1&gt;Some Title&lt;/h1&gt;
         &lt;!-- Block level image --&gt;
-        
+
         &lt;div&gt;
-            &lt;img src="dsfcjws.jpeg"/&gt; <co
-                  linkends="sda1XhtmlImgBlockInline-1"
-                  xml:id="sda1XhtmlImgBlockInline-1-co"/>
+            &lt;img src="dsfcjws.jpeg"/&gt; <co linkends="sda1XhtmlImgBlockInline-1" xml:id="sda1XhtmlImgBlockInline-1-co" />
         &lt;/div&gt;
-        
-        &lt;img src="someimage.png"/&gt; <co
-                  linkends="sda1XhtmlImgBlockInline-2"
-                  xml:id="sda1XhtmlImgBlockInline-2-co"/>
-        
+
+        &lt;img src="someimage.png"/&gt; <co linkends="sda1XhtmlImgBlockInline-2" xml:id="sda1XhtmlImgBlockInline-2-co" />
+
         &lt;!-- inline image within a paragraph --&gt;
-        &lt;p&gt;This is an &lt;em&gt;&lt;img src="fds.gif"/&gt;<co
-                  linkends="sda1XhtmlImgBlockInline-3"
-                  xml:id="sda1XhtmlImgBlockInline-3-co"/>&lt;/em&gt; inline image:&lt;img 
-                                                   src="otherdata.png"/&gt;<co
-                  linkends="sda1XhtmlImgBlockInline-4"
-                  xml:id="sda1XhtmlImgBlockInline-4-co"/>.&lt;/p&gt; 
-        
+        &lt;p&gt;This is an &lt;em&gt;&lt;img src="fds.gif"/&gt;<co linkends="sda1XhtmlImgBlockInline-3" xml:id="sda1XhtmlImgBlockInline-3-co" />&lt;/em&gt; inline image:&lt;img
+                                                   src="otherdata.png"/&gt;<co linkends="sda1XhtmlImgBlockInline-4" xml:id="sda1XhtmlImgBlockInline-4-co" />.&lt;/p&gt;
+
     &lt;/body&gt;
 &lt;/html&gt;</programlisting>
 
               <calloutlist>
-                <callout arearefs="sda1XhtmlImgBlockInline-1-co"
-                         xml:id="sda1XhtmlImgBlockInline-1">
+                <callout arearefs="sda1XhtmlImgBlockInline-1-co" xml:id="sda1XhtmlImgBlockInline-1">
                   <para>First block level image.</para>
                 </callout>
 
-                <callout arearefs="sda1XhtmlImgBlockInline-2-co"
-                         xml:id="sda1XhtmlImgBlockInline-2">
+                <callout arearefs="sda1XhtmlImgBlockInline-2-co" xml:id="sda1XhtmlImgBlockInline-2">
                   <para>Second block level image.</para>
                 </callout>
 
-                <callout arearefs="sda1XhtmlImgBlockInline-3-co"
-                         xml:id="sda1XhtmlImgBlockInline-3">
+                <callout arearefs="sda1XhtmlImgBlockInline-3-co" xml:id="sda1XhtmlImgBlockInline-3">
                   <para>First inline image.</para>
                 </callout>
 
-                <callout arearefs="sda1XhtmlImgBlockInline-4-co"
-                         xml:id="sda1XhtmlImgBlockInline-4">
+                <callout arearefs="sda1XhtmlImgBlockInline-4-co" xml:id="sda1XhtmlImgBlockInline-4">
                   <para>Second inline image.</para>
                 </callout>
               </calloutlist>
@@ -1199,8 +1120,7 @@ Found image element 'c.gif' having attribute align='bottom'
               <orderedlist>
                 <listitem>
                   <para>All <tag class="emptytag">img</tag> elements having
-                  either <tag class="emptytag">body</tag>, <tag
-                  class="emptytag">div</tag>, <tag class="emptytag">th</tag>
+                  either <tag class="emptytag">body</tag>, <tag class="emptytag">div</tag>, <tag class="emptytag">th</tag>
                   or <tag class="emptytag">td</tag> parent elements are
                   considered to be block level images.</para>
                 </listitem>
@@ -1211,7 +1131,7 @@ Found image element 'c.gif' having attribute align='bottom'
                 </listitem>
               </orderedlist>
 
-              <para>Write a <xref linkend="glo_SAX"/> application which counts
+              <para>Write a <xref linkend="glo_SAX" /> application which counts
               both the number of block level and inline images separately. On
               invocation the above instance shall yield the following
               output:</para>
@@ -1251,7 +1171,7 @@ Document contains 2 inline &lt;img&gt; elements.</screen>
     &lt;/xs:sequence&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;
-    
+
 &lt;xs:element name="item"&gt;
   &lt;xs:complexType mixed="true"&gt;
     &lt;xs:attribute name="orderNo" type="xs:int" use="required"/&gt;
@@ -1260,16 +1180,14 @@ Document contains 2 inline &lt;img&gt; elements.</screen>
 
       <programlisting language="xml">&lt;catalog&gt;
   &lt;item orderNo="3218"&gt;Swinging headset&lt;/item&gt;
-  &lt;item orderNo="9921"&gt;200W Stereo Amplifier&lt;/item&gt; <emphasis
-          role="bold">&lt;!-- second entry forbidden
+  &lt;item orderNo="9921"&gt;200W Stereo Amplifier&lt;/item&gt; <emphasis role="bold">&lt;!-- second entry forbidden
                                                                       by schema --&gt;</emphasis>
 &lt;/catalog&gt;</programlisting>
 
       <caption>
-        <para>In contrast to <xref linkend="saxMissItem"/> this document is
+        <para>In contrast to <xref linkend="saxMissItem" /> this document is
         well formed. But it is not <emphasis role="bold">valid</emphasis> with
-        respect to the schema since more than one <tag
-        class="starttag">item</tag> elements are present.</para>
+        respect to the schema since more than one <tag class="starttag">item</tag> elements are present.</para>
       </caption>
     </figure>
 
@@ -1282,14 +1200,12 @@ Document contains 2 inline &lt;img&gt; elements.</screen>
 
     <para>The string <code>http://xml.org/sax/features/validation</code>
     serves as a key. Since this is an ordinary string value a parser may or
-    may not implement it. The <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> standard defines two
+    may not implement it. The <acronym xlink:href="http://www.saxproject.org">SAX</acronym> standard defines two
     exception classes for dealing with feature related errors:</para>
 
     <variablelist>
       <varlistentry>
-        <term><link
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/SAXNotRecognizedException.html">SAXNotRecognizedException</link></term>
+        <term><link xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/SAXNotRecognizedException.html">SAXNotRecognizedException</link></term>
 
         <listitem>
           <para>The feature is not known to the parser.</para>
@@ -1297,8 +1213,7 @@ Document contains 2 inline &lt;img&gt; elements.</screen>
       </varlistentry>
 
       <varlistentry>
-        <term><link
-        xlink:href="https://docs.oracle.com/javase/9/docs/api/org/xml/sax/SAXNotSupportedException.html">SAXNotSupportedException</link></term>
+        <term><link xlink:href="https://docs.oracle.com/javase/10/docs/api/org/xml/sax/SAXNotSupportedException.html">SAXNotSupportedException</link></term>
 
         <listitem>
           <para>The feature is known to the parser but the parser does not
@@ -1308,8 +1223,7 @@ Document contains 2 inline &lt;img&gt; elements.</screen>
       </varlistentry>
     </variablelist>
 
-    <para>The <productname
-    xlink:href="https://projects.apache.org/projects/xml_commons_resolver.html">xml-commons
+    <para>The <productname xlink:href="https://projects.apache.org/project.html?xerces-xml_commons_resolver">xml-commons
     resolver project </productname>offers an implementation being able to
     process various catalog file formats. Maven based project allow the
     corresponding library import by adding the following dependency:</para>
@@ -1320,8 +1234,7 @@ Document contains 2 inline &lt;img&gt; elements.</screen>
   &lt;version&gt;1.2&lt;/version&gt;
 &lt;/dependency&gt;</programlisting>
 
-    <para>We need a properties file <link
-    xlink:href="https://xerces.apache.org/xml-commons/components/resolver/tips.html">CatalogManager.properties</link>
+    <para>We need a properties file <link xlink:href="https://xerces.apache.org/xml-commons/components/resolver/tips.html">CatalogManager.properties</link>
     defining XML catalogs to be used and additional parameters:</para>
 
     <literallayout># Catalogs are relative to this properties file
@@ -1337,26 +1250,22 @@ prefer=public</literallayout>
     <para>This configuration uses some catalogs from the
     <trademark>Oxygen</trademark> <trademark>Eclipse</trademark> plugin. We
     may now add a resolver to our SAX application by referencing the above
-    configuration file <coref linkend="resolverPropertyFile"/> and registering
-    the resolver to our SAX parser instance <coref
-    linkend="resolverRegister"/>:</para>
+    configuration file <coref linkend="resolverPropertyFile" /> and registering
+    the resolver to our SAX parser instance <coref linkend="resolverRegister" />:</para>
 
     <programlisting language="java">xmlReader = saxParser.getXMLReader();
 
       // Set up resolving PUBLIC identifier
-      final CatalogManager cm = new CatalogManager("<emphasis role="bold">CatalogManager.properties</emphasis>" <co
-        xml:id="resolverPropertyFile"/> );
+      final CatalogManager cm = new CatalogManager("<emphasis role="bold">CatalogManager.properties</emphasis>" <co xml:id="resolverPropertyFile" /> );
       final CatalogResolver resolver = new CatalogResolver(cm);
-      xmlReader.setEntityResolver(resolver) <co xml:id="resolverRegister"/>;</programlisting>
+      xmlReader.setEntityResolver(resolver) <co xml:id="resolverRegister" />;</programlisting>
   </section>
 
   <section xml:id="saxNamespace">
     <title>Namespaces</title>
 
-    <para>In order to make a <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> parser application
-    namespace aware we have to activate two <acronym
-    xlink:href="http://www.saxproject.org">SAX</acronym> parsing
+    <para>In order to make a <acronym xlink:href="http://www.saxproject.org">SAX</acronym> parser application
+    namespace aware we have to activate two <acronym xlink:href="http://www.saxproject.org">SAX</acronym> parsing
     features:</para>
 
     <programlisting language="java">xmlReader = saxParser.getXMLReader();
@@ -1364,8 +1273,7 @@ xmlReader.setFeature("http://xml.org/sax/features/namespaces", true);
 xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);</programlisting>
 
     <para>This instructs the parser to pass the namespace's name for each
-    element. Namespace prefixes like <code>xsl</code> in <tag
-    class="starttag">xsl:for-each</tag> are also passed and may be used by an
+    element. Namespace prefixes like <code>xsl</code> in <tag class="starttag">xsl:for-each</tag> are also passed and may be used by an
     application:</para>
 
     <programlisting language="java">package sax;
@@ -1425,15 +1333,13 @@ localName='HTML'</screen>
     <itemizedlist>
       <listitem>
         <para>Elements belonging to the namespace
-        <code>http://www.w3.org/1999/XSL/Transform</code> like <tag
-        class="emptytag">xsl:value-of select="..."</tag> have to be
+        <code>http://www.w3.org/1999/XSL/Transform</code> like <tag class="emptytag">xsl:value-of select="..."</tag> have to be
         interpreted as instructions by the processor.</para>
       </listitem>
 
       <listitem>
         <para>Elements <emphasis role="bold">not</emphasis> belonging to the
-        namespace <code>http://www.w3.org/1999/XSL/Transform</code> like <tag
-        class="emptytag">html</tag> or <tag class="starttag">fo:block</tag>
+        namespace <code>http://www.w3.org/1999/XSL/Transform</code> like <tag class="emptytag">html</tag> or <tag class="starttag">fo:block</tag>
         are copied <quote>as is</quote> to the output.</para>
       </listitem>
     </itemizedlist>
@@ -1489,7 +1395,7 @@ localName='HTML'</screen>
 
             <para>Data being contained in catalog instances shall be
             transferred to a relational database system. Implement and test a
-            <xref linkend="glo_SAX"/> application by following the
+            <xref linkend="glo_SAX" /> application by following the
             subsequently described steps:</para>
 
             <glosslist>
@@ -1528,24 +1434,20 @@ localName='HTML'</screen>
                 <glossterm>SAX Application</glossterm>
 
                 <glossdef>
-                  <para>The order of appearance of the XML elements <tag
-                  class="starttag">product</tag>, <tag
-                  class="starttag">name</tag> and <tag
-                  class="starttag">age</tag> does not permit a linear
+                  <para>The order of appearance of the XML elements <tag class="starttag">product</tag>, <tag class="starttag">name</tag> and <tag class="starttag">age</tag> does not permit a linear
                   generation of suitable SQL <code>INSERT</code> statements by
-                  a <xref linkend="glo_SAX"/> content handler. Instead you
+                  a <xref linkend="glo_SAX" /> content handler. Instead you
                   will have to keep copies of local element values when
                   implementing
                   <methodname>org.xml.sax.ContentHandler.startElement(String,String,String,org.xml.sax.Attributes)</methodname>
                   and related callback methods. The following sequence of
                   insert statements corresponds to the XML data being
-                  contained in <xref
-                  linkend="catalogProductDescriptionsExample"/>. You may use
+                  contained in <xref linkend="catalogProductDescriptionsExample" />. You may use
                   these statements as a blueprint to be generated by your
-                  <xref linkend="glo_SAX"/> application:</para>
+                  <xref linkend="glo_SAX" /> application:</para>
 
                   <programlisting language="sql"><emphasis role="bold">INSERT INTO Product VALUES ('mpt', 'Monkey picked tea', NULL);</emphasis>
-INSERT INTO Description VALUES('mpt', 0, 
+INSERT INTO Description VALUES('mpt', 0,
                                 'Picked only by specially trained monkeys');
 INSERT INTO Description VALUES('mpt', 1, 'Rare wild Chinese tea');
 
@@ -1554,7 +1456,7 @@ INSERT INTO Description VALUES('instantTent', 0, 'Exclusive WeatherTec system.')
 INSERT INTO Description VALUES('instantTent', 1, '4-person, 1-room tent');
 INSERT INTO Description VALUES('instantTent', 2, 'Pre-attached tent poles');</programlisting>
 
-                  <para>Provide a suitable <xref linkend="glo_Junit"/>
+                  <para>Provide a suitable <xref linkend="glo_Junit" />
                   test.</para>
                 </glossdef>
               </glossentry>
@@ -1579,61 +1481,48 @@ INSERT INTO Description VALUES('instantTent', 2, 'Pre-attached tent poles');</pr
 
             <orderedlist>
               <listitem>
-                <para>The <xref linkend="glo_SQL"/> database schema might
+                <para>The <xref linkend="glo_SQL" /> database schema might
                 read:</para>
 
                 <programlisting language="sql">CREATE TABLE Product (
-   id CHAR(20) NOT NULL PRIMARY KEY <co linkends="catalog2sqlSchema-1"
-                    xml:id="catalog2sqlSchema-1-co"/>
+   id CHAR(20) NOT NULL PRIMARY KEY <co linkends="catalog2sqlSchema-1" xml:id="catalog2sqlSchema-1-co" />
   ,name VARCHAR(255) NOT NULL
-  ,age SMALLINT <co linkends="catalog2sqlSchema-2"
-                    xml:id="catalog2sqlSchema-2-co"/>
+  ,age SMALLINT <co linkends="catalog2sqlSchema-2" xml:id="catalog2sqlSchema-2-co" />
 );
 
 CREATE TABLE Description (
-   product CHAR(20) NOT NULL REFERENCES Product <co
-                    linkends="catalog2sqlSchema-3"
-                    xml:id="catalog2sqlSchema-3-co"/>
-  ,orderIndex int NOT NULL  <co linkends="catalog2sqlSchema-4"
-                    xml:id="catalog2sqlSchema-4-co"/> -- preserving the order of descriptions
+   product CHAR(20) NOT NULL REFERENCES Product <co linkends="catalog2sqlSchema-3" xml:id="catalog2sqlSchema-3-co" />
+  ,orderIndex int NOT NULL  <co linkends="catalog2sqlSchema-4" xml:id="catalog2sqlSchema-4-co" /> -- preserving the order of descriptions
                                -- belonging to a given product
   ,text VARCHAR(255) NOT NULL
-  ,UNIQUE(product, orderIndex) <co linkends="catalog2sqlSchema-5"
-                    xml:id="catalog2sqlSchema-5-co"/>
+  ,UNIQUE(product, orderIndex) <co linkends="catalog2sqlSchema-5" xml:id="catalog2sqlSchema-5-co" />
 );</programlisting>
 
                 <calloutlist>
-                  <callout arearefs="catalog2sqlSchema-1-co"
-                           xml:id="catalog2sqlSchema-1">
+                  <callout arearefs="catalog2sqlSchema-1-co" xml:id="catalog2sqlSchema-1">
                     <para>The primary key constraint implements the uniqueness
                     of <tag class="starttag">product id='xyz'</tag>
                     values</para>
                   </callout>
 
-                  <callout arearefs="catalog2sqlSchema-2-co"
-                           xml:id="catalog2sqlSchema-2">
-                    <para>Nullability of <code>age</code> implements <tag
-                    class="starttag">age</tag> elements being optional.</para>
+                  <callout arearefs="catalog2sqlSchema-2-co" xml:id="catalog2sqlSchema-2">
+                    <para>Nullability of <code>age</code> implements <tag class="starttag">age</tag> elements being optional.</para>
                   </callout>
 
-                  <callout arearefs="catalog2sqlSchema-3-co"
-                           xml:id="catalog2sqlSchema-3">
+                  <callout arearefs="catalog2sqlSchema-3-co" xml:id="catalog2sqlSchema-3">
                     <para><tag class="starttag">description</tag> elements
                     being children of <tag class="starttag">product</tag> are
                     being implemented by a foreign key to its identifying
                     owner thus forming weak entities.</para>
                   </callout>
 
-                  <callout arearefs="catalog2sqlSchema-4-co"
-                           xml:id="catalog2sqlSchema-4">
+                  <callout arearefs="catalog2sqlSchema-4-co" xml:id="catalog2sqlSchema-4">
                     <para>The attribute <code>orderIndex</code> allows
                     descriptions to be sorted thus maintaining the original
-                    order of appearance of <tag
-                    class="starttag">description</tag> elements.</para>
+                    order of appearance of <tag class="starttag">description</tag> elements.</para>
                   </callout>
 
-                  <callout arearefs="catalog2sqlSchema-5-co"
-                           xml:id="catalog2sqlSchema-5">
+                  <callout arearefs="catalog2sqlSchema-5-co" xml:id="catalog2sqlSchema-5">
                     <para>The <code>orderIndex</code> attribute is unique
                     within the set of descriptions belonging to the same
                     product.</para>
@@ -1658,7 +1547,7 @@ INSERT INTO Description VALUES('instantTent', 1, 'Pre-attached tent poles');
 INSERT INTO Description VALUES('instantTent', 2, 'Exclusive WeatherTec system.');
 -- end of current product entry --</programlisting>
 
-                <para>So a <xref linkend="glo_Junit"/> test may just execute
+                <para>So a <xref linkend="glo_Junit" /> test may just execute
                 the XML to SQL converter and then compare the effective output
                 to the above reference file.</para>
               </listitem>
@@ -1674,18 +1563,16 @@ INSERT INTO Description VALUES('instantTent', 2, 'Exclusive WeatherTec system.')
       <qandadiv>
         <qandaentry>
           <question>
-            <para>We want to extend the SAX examples counting <link
-            linkend="saxElementCount">elements</link> and of arbitrary
+            <para>We want to extend the SAX examples counting <link linkend="saxElementCount">elements</link> and of arbitrary
             document instances. Consider the following XSL sample document
-            containing <xref linkend="glo_XHTML"/>:</para>
+            containing <xref linkend="glo_XHTML" />:</para>
 
             <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    xmlns:xs="http://www.w3.org/2001/XMLSchema" <co
-                xml:id="xhtmlCombinedNs_Svg"/>
-    xmlns:h="http://www.w3.org/1999/xhtml" <co xml:id="xhtmlCombinedNs_Xhtml"/>
+    xmlns:xs="http://www.w3.org/2001/XMLSchema" <co xml:id="xhtmlCombinedNs_Svg" />
+    xmlns:h="http://www.w3.org/1999/xhtml" <co xml:id="xhtmlCombinedNs_Xhtml" />
     exclude-result-prefixes="xs" version="2.0"&gt;
-    
+
     &lt;xsl:template match="/"&gt;
         &lt;h:html&gt;
             &lt;h:head&gt;
@@ -1710,14 +1597,12 @@ INSERT INTO Description VALUES('instantTent', 2, 'Exclusive WeatherTec system.')
 
 &lt;/xsl:stylesheet&gt;</programlisting>
 
-            <para>This XSL stylesheet defines two different namespaces <coref
-            linkend="xhtmlCombinedNs_Svg"/> and <coref
-            linkend="xhtmlCombinedNs_Xhtml"/>.</para>
+            <para>This XSL stylesheet defines two different namespaces <coref linkend="xhtmlCombinedNs_Svg" /> and <coref linkend="xhtmlCombinedNs_Xhtml" />.</para>
 
-            <para>Implement a <xref linkend="glo_SAX"/> application being able
+            <para>Implement a <xref linkend="glo_SAX" /> application being able
             to group elements from arbitrary XML documents by namespaces along
             with their corresponding frequencies of occurrence. The intended
-            output for the previous <xref linkend="glo_XSL"/> example shall
+            output for the previous <xref linkend="glo_XSL" /> example shall
             look like:</para>
 
             <screen>Namespace '<emphasis role="bold">http://www.w3.org/1999/xhtml</emphasis>' contains:
@@ -1758,7 +1643,7 @@ Namespace '<emphasis role="bold">http://www.w3.org/1999/XSL/Transform</emphasis>
             </annotation>
 
             <para>The above solution contains both a running application and a
-            (incomplete) <xref linkend="glo_Junit"/> test.</para>
+            (incomplete) <xref linkend="glo_Junit" /> test.</para>
           </answer>
         </qandaentry>
       </qandadiv>
diff --git a/Doc/Sda1/schema.xml b/Doc/Sda1/schema.xml
index b6c30e49d853638f095b283f2b2c05828a1f13d3..112deb4ba4a80e0bb4d8698019df3ba622892b2e 100644
--- a/Doc/Sda1/schema.xml
+++ b/Doc/Sda1/schema.xml
@@ -14,7 +14,7 @@
       <surname>Goik</surname></personname>
 
       <affiliation>
-        <orgname>http://medieninformatik.hdm-stuttgart.de</orgname>
+        <orgname>https://www.hdm-stuttgart.de/mi</orgname>
       </affiliation>
     </author>
 
@@ -367,7 +367,7 @@ WHERE ID=1</programlisting>
 
           <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;
-    
+
     &lt;xs:element name="employee"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -382,7 +382,7 @@ WHERE ID=1</programlisting>
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
 &lt;/xs:schema&gt;</programlisting>
         </figure>
 
@@ -416,7 +416,7 @@ WHERE ID=1</programlisting>
           <title>A list of employees</title>
 
           <programlisting language="xml">&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;
-    
+
     &lt;xs:element name="employee"&gt; <co linkends="schemaElementReference-1"
               xml:id="schemaElementReference-1-co"/>
         &lt;xs:complexType&gt;
@@ -431,7 +431,7 @@ WHERE ID=1</programlisting>
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="employeeList"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -446,7 +446,7 @@ WHERE ID=1</programlisting>
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
 &lt;/xs:schema&gt;</programlisting>
         </figure>
 
@@ -475,7 +475,7 @@ WHERE ID=1</programlisting>
 
         <programlisting language="xml">&lt;employeeList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="employee.xsd"&gt;
-    
+
     &lt;employee&gt;
         &lt;id&gt;21&lt;/id&gt;
         &lt;givenName&gt;Bob&lt;/givenName&gt;
@@ -485,7 +485,7 @@ WHERE ID=1</programlisting>
         &lt;email&gt;hope@exploitation.com&lt;/email&gt;
         &lt;phone&gt;1123-33244&lt;/phone&gt;
     &lt;/employee&gt;
-    
+
     &lt;employee&gt;
         &lt;id&gt;22&lt;/id&gt;
         &lt;givenName&gt;Gill&lt;/givenName&gt;
@@ -495,7 +495,7 @@ WHERE ID=1</programlisting>
         &lt;email&gt;gill@flashmaster.com&lt;/email&gt;
         &lt;phone&gt;9771-43421&lt;/phone&gt;
     &lt;/employee&gt;
-    
+
 &lt;/employeeList&gt;</programlisting>
 
         <qandaset defaultlabel="qanda" xml:id="sda1QandaMediaFormatGrammar">
@@ -680,7 +680,7 @@ WHERE ID=1</programlisting>
                 linkend="fig_ListOfEmployees"/>:</para>
 
                 <programlisting language="xml">&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"&gt;
-    
+
     &lt;xs:element name="trackList"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -690,7 +690,7 @@ WHERE ID=1</programlisting>
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="track"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -703,7 +703,7 @@ WHERE ID=1</programlisting>
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
 &lt;/xs:schema&gt;</programlisting>
 
                 <para>This allows for an arbitrary number of tracks:</para>
@@ -729,7 +729,7 @@ WHERE ID=1</programlisting>
         &lt;duration&gt;PT5M32S&lt;/duration&gt;
         &lt;mediaformat&gt;flac&lt;/mediaformat&gt;
     &lt;/track&gt;
-    
+
     &lt;!-- maybe more to come ... --&gt;
 &lt;/trackList&gt;</programlisting>
                 </figure>
@@ -800,7 +800,7 @@ WHERE ID=1</programlisting>
 
         <programlisting language="xml">&lt;employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="employee.xsd"&gt;
-    &lt;id&gt;21&lt;/id&gt; 
+    &lt;id&gt;21&lt;/id&gt;
     &lt;givenName&gt;Bob&lt;/givenName&gt;
    ...
 &lt;/employee&gt;</programlisting>
@@ -912,7 +912,7 @@ WHERE ID=1</programlisting>
     &lt;xs:complexType&gt;
         &lt;xs:sequence&gt;
             <emphasis role="bold">&lt;!-- type referral to previously defined type --&gt;
-            &lt;xs:element name="id" type="NumericIdentity"/&gt;</emphasis> 
+            &lt;xs:element name="id" type="NumericIdentity"/&gt;</emphasis>
             &lt;xs:element name="givenName" type="xs:string"/&gt;
             &lt;xs:element name="surname" type="xs:string"/&gt;
             &lt;xs:element name="birthday" type="xs:string"/&gt;
@@ -1066,7 +1066,7 @@ WHERE ID=1</programlisting>
     &lt;givenName&gt;Laura&lt;/givenName&gt;
     &lt;surname&gt;Anderson&lt;/surname&gt;
     &lt;birthday&gt;1956-41-02&lt;/birthday&gt;
-    &lt;sex&gt;f&lt;/sex&gt; 
+    &lt;sex&gt;f&lt;/sex&gt;
     &lt;email&gt;anderson@corporate.com&lt;/email&gt; <co
                           xml:id="prog_PowerAllEmail"/>
     &lt;phone&gt;223-324323&lt;/phone&gt; <co xml:id="prog_PowerAllPhone"/>
@@ -1185,7 +1185,7 @@ WHERE ID=1</programlisting>
         class="emptytag">xs:attribute</tag> definitions:</para>
 
         <programlisting language="xml">&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" &gt;
-    
+
     &lt;xs:element name="employee"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:attribute name="id" type="xs:unsignedInt"/&gt;
@@ -1197,7 +1197,7 @@ WHERE ID=1</programlisting>
             &lt;xs:attribute name="phone" type="xs:string"/&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
 &lt;/xs:schema&gt;</programlisting>
 
         <para>We may reference the above schema constructing a valid XML
@@ -1263,7 +1263,7 @@ WHERE ID=1</programlisting>
             requirement for the representation of area codes:</para>
 
             <programlisting language="xml">&lt;employee&gt;
-   ...  
+   ...
   &lt;phone&gt;
      &lt;area&gt;9771&lt;/area&gt;
      &lt;local&gt;43421&lt;/local&gt;
@@ -1345,13 +1345,13 @@ WHERE ID=1</programlisting>
 
           <programlisting language="xml">&lt;employeeList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="employee.xsd"&gt;
-    
+
     &lt;employee&gt;
         &lt;id&gt;21&lt;/id&gt;
         &lt;givenName&gt;Bob&lt;/givenName&gt;
         ...
     &lt;/employee&gt;
-    
+
     &lt;employee&gt;
         &lt;id&gt;21&lt;/id&gt; <emphasis role="bold">&lt;!-- Uups: id=21 again? --&gt;</emphasis>
         &lt;givenName&gt;Gill&lt;/givenName&gt;
diff --git a/Doc/Sda1/vaadin.xml b/Doc/Sda1/vaadin.xml
index f2ec6d776c59728ce6157f4b160e2acb48ad9a34..62ab01a2792ca55426afc2ed3be6c9df74bbfc66 100644
--- a/Doc/Sda1/vaadin.xml
+++ b/Doc/Sda1/vaadin.xml
@@ -265,7 +265,7 @@
             <para>Notice the separation of problem related messages:</para>
 
             <programlisting language="java">  ...    } catch (SQLException ex) {
-            Notification.show("Failed to insert record, see log for details", 
+            Notification.show("Failed to insert record, see log for details",
                                   Notification.Type.ERROR_MESSAGE); <co
                 linkends="sda1JdbcMsgEnduserProgrammer-1"
                 xml:id="sda1JdbcMsgEnduserProgrammer-1-co"/>
@@ -423,15 +423,15 @@
 /**
     * Inserting a (name, email) record into the database server. Errors are being logged and forwarded
     * to {@link LoginUI#guiError(String)}.
-    * 
+    *
     * &lt;dl&gt;
     *   &lt;dt&gt;&lt;b&gt;Precondition:&lt;/b&gt;&lt;/dt&gt;
     *   &lt;dd&gt;must be in &lt;strong&gt;connected&lt;/strong&gt; state, see {@link #toggleConnectionState()}&lt;/dd&gt;
     * &lt;/dl&gt;
-    * 
+    *
     * @param name A person's name
     * @param email A person's email address
-    * 
+    *
     */
    public boolean insert(final String name, final String email) {// TODO ...
    }
@@ -517,10 +517,10 @@ public interface PersistView {
 public class ViewMockup implements PersistView {
 
    ...
-   
+
    @Override
    public void setStatusConnected() {
-      ...      
+      ...
    }
 
    @Override
@@ -534,7 +534,7 @@ public class ViewMockup implements PersistView {
             messages:</para>
 
             <programlisting language="java">public class DataInsertTest {
-   
+
    final ViewMockup viewMockup = new ViewMockup();
 
    final PersistenceHandler ph = new PersistenceHandler(viewMockup);
@@ -752,7 +752,7 @@ public class ViewMockup implements PersistView {
    name char(80) NOT NULL
   ,email CHAR(20) NOT NULL UNIQUE
   ,login CHAR(10)  UNIQUE -- login names must be unique --
-  ,password CHAR(20)    
+  ,password CHAR(20)
 );</programlisting>
 
             <para>On clicking <quote>Connect</quote> a user may enter his
@@ -985,11 +985,11 @@ public class ViewMockup implements PersistView {
             <programlisting language="java">package sda.jdbc.intro.auth;
 ...
 public class UserInputUnit {
-   
+
    final JLabel label; <co xml:id="uiuLabel"/>
    final InputVerifierNotify verifier; <co xml:id="uiuVerifier"/>
    final JLabel errorMessage; <co xml:id="uiuErrmsg"/>
-   
+
    public UserInputUnit(final String guiText, final InputVerifierNotify verifier) {
       this.label = new JLabel(guiText);
       this.verifier = verifier;
@@ -1007,7 +1007,7 @@ public abstract class InputVerifierNotify extends InputVerifier {
    protected final String errorMessage;
    public final JLabel validationLabel;
    public final JTextField field; <co xml:id="verfierGuiField"/>
-   
+
    public InputVerifierNotify(final JTextField field, final String errorMessage) { ...</programlisting>
 
             <para>We need two field verifier classes being derived from
@@ -1066,12 +1066,12 @@ public class InsertPerson extends JFrame {
                new EqualValueVerifier <co linkends="listingInsertUserAuth-3"
                 xml:id="listingInsertUserAuth-3-co"/> (new JPasswordField(10),
                                 passwordField, "Passwords do not match"));
-   
+
    private final UserInputUnit [] userInputUnits = <co
                 linkends="listingInsertUserAuth-4"
                 xml:id="listingInsertUserAuth-4-co"/>
       {name, email, login, password, passwordRepeat};
-...   
+...
    private void userLoginDialog() {...}
 ...
    public InsertPerson (){
@@ -1085,7 +1085,7 @@ public class InsertPerson extends JFrame {
          databaseFieldPanel.add(unit.label);
          databaseFieldPanel.add(unit.verifier.field);
          databaseFieldPanel.add(unit.verifier.validationLabel);
-      } 
+      }
       insertButton.addActionListener(new ActionListener() {
          @Override public void actionPerformed(ActionEvent e) {
             if (inputValuesAllValid()) {
@@ -1114,7 +1114,7 @@ public class InsertPerson extends JFrame {
          }
       }
       return true;
-   }   
+   }
 }</programlisting>
 
             <calloutlist>
diff --git a/Doc/Sda1/xmlintro.xml b/Doc/Sda1/xmlintro.xml
index 5189b01316ef7ebefd4cd64a14e865338450caa4..1cd830599e6944385e204703b91c547c48b32359 100644
--- a/Doc/Sda1/xmlintro.xml
+++ b/Doc/Sda1/xmlintro.xml
@@ -1,14 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<chapter annotations="slide" version="5.0" xml:id="xmlIntro"
-         xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
-         xmlns:xi="http://www.w3.org/2001/XInclude"
-         xmlns:svg="http://www.w3.org/2000/svg"
-         xmlns:ns="http://docbook.org/ns/transclusion"
-         xmlns:m="http://www.w3.org/1998/Math/MathML"
-         xmlns:html="http://www.w3.org/1999/xhtml"
-         xmlns:db="http://docbook.org/ns/docbook">
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:ns="http://docbook.org/ns/transclusion" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="slide" version="5.0" xml:id="xmlIntro">
   <title>Introduction to XML</title>
 
   <figure xml:id="sda1_xml_fig_recommendedReading">
@@ -16,7 +7,7 @@
 
     <itemizedlist>
       <listitem>
-        <para><xref linkend="bib_fawcett2012"/>.</para>
+        <para><xref linkend="bib_fawcett2012" />.</para>
       </listitem>
 
       <listitem>
@@ -35,11 +26,9 @@
 
       <itemizedlist>
         <listitem>
-          <para>Acronym <quote>E<emphasis
-          role="red"><emphasis>x</emphasis></emphasis>tensible
+          <para>Acronym <quote>E<emphasis role="red"><emphasis>x</emphasis></emphasis>tensible
           <emphasis><emphasis role="red">M</emphasis></emphasis>arkup
-          <emphasis><emphasis
-          role="red">L</emphasis></emphasis><foreignphrase>anguage</foreignphrase></quote>.</para>
+          <emphasis><emphasis role="red">L</emphasis></emphasis><foreignphrase>anguage</foreignphrase></quote>.</para>
         </listitem>
 
         <listitem>
@@ -49,8 +38,7 @@
         </listitem>
 
         <listitem>
-          <para>Superset / Generalization of <link
-          xlink:href="https://www.w3.org/MarkUp">(X)HTML</link>.</para>
+          <para>Superset / Generalization of <link xlink:href="https://www.w3.org/MarkUp">(X)HTML</link>.</para>
         </listitem>
       </itemizedlist>
     </figure>
@@ -86,8 +74,7 @@
 
       <itemizedlist>
         <listitem>
-          <para>Tons of well-defined <link
-          xlink:href="https://www.w3.org/standards/xml">standards</link>.</para>
+          <para>Tons of well-defined <link xlink:href="https://www.w3.org/standards/xml">standards</link>.</para>
 
           <!-- Add W3C standards list examples-->
         </listitem>
@@ -104,16 +91,16 @@
       <title>Relevance (2018/02)</title>
 
       <informaltable border="0">
-        <colgroup width="56%"/>
+        <colgroup width="56%" />
 
-        <colgroup width="44%"/>
+        <colgroup width="44%" />
 
         <tr>
           <td valign="top"><screen>locate \.xml
 ...
 /etc/ImageMagick-6/type.xml
 /etc/alternatives/desktop-background.xml
-/etc/bonobo-activation/bonobo-activation-config.xml     
+/etc/bonobo-activation/bonobo-activation-config.xml
 /etc/cupshelpers/preferreddrivers.xml
 /etc/gconf/gconf.xml.defaults
 ...</screen></td>
@@ -128,9 +115,9 @@
       <title><abbrev>JSON</abbrev> catches up!</title>
 
       <informaltable border="0">
-        <colgroup width="56%"/>
+        <colgroup width="56%" />
 
-        <colgroup width="44%"/>
+        <colgroup width="44%" />
 
         <tr>
           <td valign="top"><screen>locate \.json
@@ -153,12 +140,12 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/xhtml.svg"/>
+          <imagedata fileref="Ref/Fig/xhtml.svg" />
         </imageobject>
       </mediaobject>
     </figure>
 
-    <para><xref linkend="glo_XHTML"/> illustrating <xref linkend="glo_XML"/>
+    <para><xref linkend="glo_XHTML" /> illustrating <xref linkend="glo_XML" />
     documents' tree like / hierarchical structure:</para>
 
     <figure xml:id="xhtmlTree">
@@ -166,14 +153,13 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/xhtmlexample.fig" scale="65"/>
+          <imagedata fileref="Ref/Fig/xhtmlexample.fig" scale="65" />
         </imageobject>
       </mediaobject>
     </figure>
 
     <para>We may extend this example by representing a mathematical formula
-    via a standard called <link
-    xlink:href="https://www.w3.org/Math">Mathml</link>:</para>
+    via a standard called <link xlink:href="https://www.w3.org/Math">Mathml</link>:</para>
 
     <figure xml:id="mathmlExample">
       <title><link xlink:href="https://www.w3.org/Math">MathML</link>
@@ -181,12 +167,12 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/sqrtrender.fig"/>
+          <imagedata fileref="Ref/Fig/sqrtrender.fig" />
         </imageobject>
       </mediaobject>
     </figure>
 
-    <para>In contrast to a RDBMS <xref linkend="glo_XML"/> allows for
+    <para>In contrast to a RDBMS <xref linkend="glo_XML" /> allows for
     hierarchically organized data:</para>
 
     <figure xml:id="mathmltree">
@@ -195,14 +181,13 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/sqrtree.fig"/>
+          <imagedata fileref="Ref/Fig/sqrtree.fig" />
         </imageobject>
       </mediaobject>
     </figure>
 
     <figure xml:id="sda1_xml_fig_htmlMathmlSimilarities">
-      <title><xref linkend="glo_HTML"/> / <link
-      xlink:href="https://www.w3.org/Math">MathML</link> document
+      <title><xref linkend="glo_HTML" /> / <link xlink:href="https://www.w3.org/Math">MathML</link> document
       similarities</title>
 
       <itemizedlist>
@@ -215,8 +200,7 @@
 
         <listitem>
           <para>Nesting rules e.g. <quote>The <tag class="starttag">body</tag>
-          element may contain <tag class="starttag">p</tag>, <tag
-          class="starttag">ul</tag>, <tag class="starttag">table</tag> etc.
+          element may contain <tag class="starttag">p</tag>, <tag class="starttag">ul</tag>, <tag class="starttag">table</tag> etc.
           elements</quote>.</para>
         </listitem>
 
@@ -258,7 +242,7 @@
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/attributes.fig" scale="65"/>
+          <imagedata fileref="Ref/Fig/attributes.fig" scale="65" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -267,15 +251,15 @@
   <section xml:id="xmlHtml">
     <title>Well formed XML documents</title>
 
-    <para>The general structure of an <xref linkend="glo_XML"/> document is as
+    <para>The general structure of an <xref linkend="glo_XML" /> document is as
     follows:</para>
 
     <figure xml:id="sda1_xml_fig_basicStructure">
-      <title><xref linkend="glo_XML"/> basic structure</title>
+      <title><xref linkend="glo_XML" /> basic structure</title>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/xmlbase.fig" scale="65"/>
+          <imagedata fileref="Ref/Fig/xmlbase.fig" scale="65" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -302,11 +286,9 @@
     <figure xml:id="memoWellFormed">
       <title>Representing messages.</title>
 
-      <programlisting language="xml">&lt;?xml<co xml:id="first_xml_code_magic"/> version="1.0"<co
-          xml:id="first_xml_code_version"/> encoding="UTF-8"<co
-          xml:id="first_xml_code_encoding"/>?&gt;
-&lt;memo&gt;<co xml:id="first_xml_code_topelement"/>
- &lt;from&gt;M. Goik&lt;/from&gt;<co xml:id="first_xml_code_from"/>
+      <programlisting language="xml">&lt;?xml<co xml:id="first_xml_code_magic" /> version="1.0"<co xml:id="first_xml_code_version" /> encoding="UTF-8"<co xml:id="first_xml_code_encoding" />?&gt;
+&lt;memo&gt;<co xml:id="first_xml_code_topelement" />
+ &lt;from&gt;M. Goik&lt;/from&gt;<co xml:id="first_xml_code_from" />
  &lt;to&gt;B. King&lt;/to&gt;
  &lt;to&gt;A. June&lt;/to&gt;
  &lt;subject&gt;Best whishes&lt;/subject&gt;
@@ -316,12 +298,10 @@
 
     <calloutlist>
       <callout arearefs="first_xml_code_magic">
-        <para>The very first character group <code
-        language="xml">&lt;?xml</code> is actually a terminal to be conceived
-        as a <link
-        xlink:href="https://en.wikipedia.org/wiki/Magic_number_(programming)">magic
+        <para>The very first character group <code language="xml">&lt;?xml</code> is actually a terminal to be conceived
+        as a <link xlink:href="https://en.wikipedia.org/wiki/Magic_number_(programming)">magic
         number string</link> indicating the content type. It allows for
-        distinguishing <xref linkend="glo_XML"/> documents from other file
+        distinguishing <xref linkend="glo_XML" /> documents from other file
         types i.e. <filename>.gif</filename>, <filename>.jpg</filename>,
         <filename>.zip</filename> and so on.</para>
 
@@ -329,13 +309,13 @@
           <itemizedlist>
             <listitem>
               <para>The whole header line is optional with respect to the
-              <xref linkend="glo_XML"/> standard.</para>
+              <xref linkend="glo_XML" /> standard.</para>
             </listitem>
 
             <listitem>
               <para>The <quote>document type XML</quote> notion is fairly
               generic: It may be further categorized <abbrev>i.e.</abbrev>
-              containing <xref linkend="glo_SVG"/> data.</para>
+              containing <xref linkend="glo_SVG" /> data.</para>
             </listitem>
           </itemizedlist>
         </note>
@@ -343,8 +323,7 @@
 
       <callout arearefs="first_xml_code_version">
         <para>The <code language="xml">version="1.0"</code> attribute declares
-        subsequent lines will conform to the <link
-        xlink:href="https://www.w3.org/TR/xml">XML</link> standard of version
+        subsequent lines will conform to the <link xlink:href="https://www.w3.org/TR/xml">XML</link> standard of version
         1.0. This allows for XML standard evolution <abbrev>e.g.</abbrev> to
         <code language="xml">version="2.1"</code>.</para>
       </callout>
@@ -366,9 +345,8 @@
       </callout>
 
       <callout arearefs="first_xml_code_topelement">
-        <para>An <xref linkend="glo_XML"/> document must have exactly one top
-        level <emphasis>node</emphasis>. In contrast to the <xref
-        linkend="glo_HTML"/> standard when talking about XML documents
+        <para>An <xref linkend="glo_XML" /> document must have exactly one top
+        level <emphasis>node</emphasis>. In contrast to the <xref linkend="glo_HTML" /> standard when talking about XML documents
         <quote>nodes</quote> are commonly referred to as
         <quote>elements</quote> rather than <quote>tags</quote>. In this
         example <tag class="starttag">memo</tag> is the top level root
@@ -387,9 +365,7 @@
       </callout>
 
       <callout arearefs="first_xml_code_from">
-        <para>Each <xref linkend="glo_XML"/> element like <tag
-        class="starttag">from</tag> has a corresponding counterpart <tag
-        class="endtag">from</tag>. In terms of XML we say each element being
+        <para>Each <xref linkend="glo_XML" /> element like <tag class="starttag">from</tag> has a corresponding counterpart <tag class="endtag">from</tag>. In terms of XML we say each element being
         opened has to be closed accordingly. In conjunction with the preceding
         point this is equivalent to the fact that each XML document represents
         a tree structure as being shown in the <link linkend="mathmltree">tree
@@ -409,17 +385,16 @@
     check:</para>
 
     <figure xml:id="sda1_xml_fig_miParser">
-      <title>MI department <xref linkend="glo_CLI"/> parser</title>
+      <title>MI department <xref linkend="glo_CLI" /> parser</title>
 
-      <para>Checking an <xref linkend="glo_XML"/> document for
+      <para>Checking an <xref linkend="glo_XML" /> document for
       well-formedness:</para>
 
       <screen><errortext>goik&gt;xmlparse message.xml
 Parsing was successful</errortext></screen>
     </figure>
 
-    <para>We deliberately omit the closing element <tag
-    class="endtag">from</tag>:</para>
+    <para>We deliberately omit the closing element <tag class="endtag">from</tag>:</para>
 
     <figure xml:id="sda1_xml_fig_omitFrom">
       <title>Non-wellformed, missing <tag class="endtag">from</tag></title>
@@ -439,7 +414,7 @@ Parsing was successful</errortext></screen>
       <title>Parsing non-wellformed</title>
 
       <screen><errortext>goik&gt;xmlparse omitfrom.xml
-file:///ma/goik/workspace/Vorlesungen/Input/Memo/omitfrom.xml:7:3: 
+file:///ma/goik/workspace/Vorlesungen/Input/Memo/omitfrom.xml:7:3:
 fatal error org.xml.sax.SAXParseException: The element type "from"
 must be terminated by the matching end-tag "&lt;/from&gt;". parsing error</errortext></screen>
     </figure>
@@ -456,8 +431,7 @@ must be terminated by the matching end-tag "&lt;/from&gt;". parsing error</error
       <title>Improperly nested elements</title>
 
       <programlisting language="xml">&lt;memo&gt;
- <emphasis role="red">&lt;from&gt;</emphasis>M. Goik<emphasis role="red">&lt;to&gt;</emphasis>B. King<emphasis
-          role="red">&lt;/from&gt;</emphasis><emphasis role="red">&lt;/to&gt;</emphasis>
+ <emphasis role="red">&lt;from&gt;</emphasis>M. Goik<emphasis role="red">&lt;to&gt;</emphasis>B. King<emphasis role="red">&lt;/from&gt;</emphasis><emphasis role="red">&lt;/to&gt;</emphasis>
  &lt;to&gt;A. June&lt;/to&gt;
  &lt;subject&gt;Best whishes&lt;/subject&gt;
  &lt;content&gt;Hi all, congratulations to your splendid party&lt;/content&gt;
@@ -490,12 +464,12 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/propernest.fig" scale="65"/>
+          <imagedata fileref="Ref/Fig/propernest.fig" scale="65" />
         </imageobject>
       </mediaobject>
     </figure>
 
-    <para>The following example violates the <xref linkend="glo_XML"/> proper
+    <para>The following example violates the <xref linkend="glo_XML" /> proper
     nesting constraint and thus does not represent a well-formed
     document:</para>
 
@@ -504,7 +478,7 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="Ref/Fig/impropernest.fig"/>
+          <imagedata fileref="Ref/Fig/impropernest.fig" />
         </imageobject>
       </mediaobject>
     </figure>
@@ -515,14 +489,12 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
       xlink:href="src/viewlet/wellformed/wellformed_viewlet_swf.html">here</uri>.</para>
 -->
 
-    <para>XML elements may have attributes like <tag
-    class="attribute">date</tag> in the following example:</para>
+    <para>XML elements may have attributes like <tag class="attribute">date</tag> in the following example:</para>
 
     <figure xml:id="memoWellAttrib">
       <title>date and priority attributes.</title>
 
-      <programlisting language="xml">&lt;memo <emphasis role="red">date="10.02.2026"</emphasis> <emphasis
-          role="red">priority="high"</emphasis>&gt;
+      <programlisting language="xml">&lt;memo <emphasis role="red">date="10.02.2026"</emphasis> <emphasis role="red">priority="high"</emphasis>&gt;
   &lt;from&gt;M. Goik&lt;/from&gt;
   &lt;to&gt;B. King&lt;/to&gt;
   &lt;to&gt;A. June&lt;/to&gt;
@@ -572,8 +544,7 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
       </informaltable>
     </figure>
 
-    <qandaset defaultlabel="qanda"
-              xml:id="sda1_xmlintro_quanda_attributeQuotes">
+    <qandaset defaultlabel="qanda" xml:id="sda1_xmlintro_quanda_attributeQuotes">
       <title>Single and double attribute value quotes</title>
 
       <qandadiv>
@@ -588,30 +559,23 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
             definitions as:</para>
 
             <productionset>
-              <title><link
-              xlink:href="https://www.w3.org/TR/2008/REC-xml-20081126/#d0e888">Literals</link></title>
+              <title><link xlink:href="https://www.w3.org/TR/2008/REC-xml-20081126/#d0e888">Literals</link></title>
 
               <production xml:id="w3RecXml_NT-EntityValue">
                 <lhs>EntityValue</lhs>
 
-                <rhs>'"' ([^%&amp;"] | <nonterminal
-                def="#w3RecXml_NT-PEReference">PEReference</nonterminal> |
-                <nonterminal
-                def="#w3RecXml_NT-Reference">Reference</nonterminal>)* '"' | 
-                "'" ([^%&amp;'] | <nonterminal
-                def="#w3RecXml_NT-PEReference">PEReference</nonterminal> |
-                <nonterminal
-                def="#w3RecXml_NT-Reference">Reference</nonterminal>)*
+                <rhs>'"' ([^%&amp;"] | <nonterminal def="#w3RecXml_NT-PEReference">PEReference</nonterminal> |
+                <nonterminal def="#w3RecXml_NT-Reference">Reference</nonterminal>)* '"' | 
+                "'" ([^%&amp;'] | <nonterminal def="#w3RecXml_NT-PEReference">PEReference</nonterminal> |
+                <nonterminal def="#w3RecXml_NT-Reference">Reference</nonterminal>)*
                 "'"</rhs>
               </production>
 
               <production xml:id="w3RecXml_NT-AttValue">
                 <lhs>AttValue</lhs>
 
-                <rhs>'"' ([^&lt;&amp;"] | <nonterminal
-                def="#w3RecXml_NT-Reference">Reference</nonterminal>)* '"' | 
-                "'" ([^&lt;&amp;'] | <nonterminal
-                def="#w3RecXml_NT-Reference">Reference</nonterminal>)*
+                <rhs>'"' ([^&lt;&amp;"] | <nonterminal def="#w3RecXml_NT-Reference">Reference</nonterminal>)* '"' | 
+                "'" ([^&lt;&amp;'] | <nonterminal def="#w3RecXml_NT-Reference">Reference</nonterminal>)*
                 "'"</rhs>
               </production>
 
@@ -624,10 +588,8 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
               <production xml:id="w3RecXml_NT-PubidLiteral">
                 <lhs>PubidLiteral</lhs>
 
-                <rhs>'"' <nonterminal
-                def="#w3RecXml_NT-PubidChar">PubidChar</nonterminal>* '"' |
-                "'" (<nonterminal
-                def="#w3RecXml_NT-PubidChar">PubidChar</nonterminal> - "'")*
+                <rhs>'"' <nonterminal def="#w3RecXml_NT-PubidChar">PubidChar</nonterminal>* '"' |
+                "'" (<nonterminal def="#w3RecXml_NT-PubidChar">PubidChar</nonterminal> - "'")*
                 "'"</rhs>
               </production>
 
@@ -639,8 +601,7 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
               </production>
             </productionset>
 
-            <para>Find out how it is possible to set the attribute <tag
-            class="attribute">alt</tag>'s value to the string <code>We may use
+            <para>Find out how it is possible to set the attribute <tag class="attribute">alt</tag>'s value to the string <code>We may use
             "quotes" here</code>.</para>
           </question>
 
@@ -648,7 +609,7 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
             <para>The production rule for attribute values reads:</para>
 
             <productionset>
-              <productionrecap linkend="w3RecXml_NT-AttValue"/>
+              <productionrecap linkend="w3RecXml_NT-AttValue" />
             </productionset>
 
             <para>This allows us to use either of two alternatives to delimit
@@ -680,8 +641,7 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
 
             <programlisting language="xml">&lt;img src="bold.gif" alt='We may use "quotes" here' /&gt;</programlisting>
 
-            <para>Notice that according to <xref
-            linkend="w3RecXml_NT-AttValue"/> the delimiting quotes must not be
+            <para>Notice that according to <xref linkend="w3RecXml_NT-AttValue" /> the delimiting quotes must not be
             mixed. The following code is thus not well formed:</para>
 
             <programlisting language="xml">&lt;img src="bold.gif'/&gt;</programlisting>
@@ -696,9 +656,7 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
       <qandadiv>
         <qandaentry>
           <question>
-            <para>Draw a graphical representation similar as in <xref
-            linkend="mathmltree"/> of the memo document being given in <xref
-            linkend="memoWellAttrib"/>.</para>
+            <para>Draw a graphical representation similar as in <xref linkend="mathmltree" /> of the memo document being given in <xref linkend="memoWellAttrib" />.</para>
           </question>
 
           <answer>
@@ -706,21 +664,19 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
             structure may be visualized as:</para>
 
             <informalfigure xml:id="memotreeFigure">
-              <para>A graphical representation of <xref
-              linkend="memoWellAttrib"/>:</para>
+              <para>A graphical representation of <xref linkend="memoWellAttrib" />:</para>
 
               <informalfigure xml:id="memotreeFigureFalse">
                 <mediaobject>
                   <imageobject>
-                    <imagedata fileref="Ref/Fig/memotree.fig"/>
+                    <imagedata fileref="Ref/Fig/memotree.fig" />
                   </imageobject>
                 </mediaobject>
               </informalfigure>
 
               <para>The sequence of <emphasis>element</emphasis> child nodes
               is important in XML and has to be preserved. Only the order of
-              the two attributes <tag class="attribute">date</tag> and <tag
-              class="attribute">priority</tag> is undefined: They actually
+              the two attributes <tag class="attribute">date</tag> and <tag class="attribute">priority</tag> is undefined: They actually
               belong to the <tag class="starttag">memo</tag> node serving as a
               dictionary with the attribute names being the keys and the
               attribute values being the values of the dictionary.</para>
@@ -742,13 +698,11 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
 
           <answer>
             <para>The parser flags a mixture of single and double quotes for a
-            given attribute as an error. The XML standard <link
-            xlink:href="https://www.w3.org/TR/xml#NT-AttValue">defines</link>
+            given attribute as an error. The XML standard <link xlink:href="https://www.w3.org/TR/xml/#NT-AttValue">defines</link>
             the syntax of attribute values as follows: An attribute value has
             to be enclosed <emphasis>either</emphasis> in two single
             <emphasis>or</emphasis> in two double quotes as being defined in
-            <uri
-            xlink:href="https://www.w3.org/TR/xml/#NT-AttValue">http://www.w3.org/TR/xml/#NT-AttValue</uri>.
+            <uri xlink:href="https://www.w3.org/TR/xml/#NT-AttValue">http://www.w3.org/TR/xml/#NT-AttValue</uri>.
             Mixed quotes are disallowed.</para>
           </answer>
         </qandaentry>
@@ -812,13 +766,12 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
       </itemizedlist>
     </figure>
 
-    <para>These constraints are part of the definition of a <link
-    xlink:href="https://www.w3.org/TR/xml#sec-well-formed">well formed
+    <para>These constraints are part of the definition of a <link xlink:href="https://www.w3.org/TR/xml/#sec-well-formed">well formed
     document</link>. The specification imposes additional constraints for a
     document to be well-formed.</para>
 
     <figure xml:id="sda1_xml_fig_problemMarkupInterfere">
-      <title><xref linkend="glo_XML"/> markup collision I</title>
+      <title><xref linkend="glo_XML" /> markup collision I</title>
 
       <informaltable border="1">
         <tr>
@@ -828,23 +781,20 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
         </tr>
 
         <tr>
-          <td valign="top"><programlisting language="none">&lt;p&gt; if (a <emphasis
-                role="red">&lt;</emphasis> b) return true;&lt;/p&gt;</programlisting></td>
+          <td valign="top"><programlisting language="none">&lt;p&gt; if (a <emphasis role="red">&lt;</emphasis> b) return true;&lt;/p&gt;</programlisting></td>
 
-          <td valign="top"><programlisting language="none">&lt;p&gt; if (a <emphasis
-                role="red">&amp;lt;</emphasis> b) return true;&lt;/p&gt;</programlisting></td>
+          <td valign="top"><programlisting language="none">&lt;p&gt; if (a <emphasis role="red">&amp;lt;</emphasis> b) return true;&lt;/p&gt;</programlisting></td>
         </tr>
 
         <tr>
           <td valign="top"><itemizedlist>
               <listitem>
-                <para><xref linkend="glo_XML"/> parser assumes opening element
+                <para><xref linkend="glo_XML" /> parser assumes opening element
                 <tag class="starttag">b</tag>.</para>
               </listitem>
 
               <listitem>
-                <para>Operator <quote>&lt;</quote> interferes with <xref
-                linkend="glo_XML"/> markup.</para>
+                <para>Operator <quote>&lt;</quote> interferes with <xref linkend="glo_XML" /> markup.</para>
               </listitem>
             </itemizedlist></td>
 
@@ -854,12 +804,12 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
     </figure>
 
     <figure xml:id="sda1_xml_fig_problemMarkupEscape">
-      <title><xref linkend="glo_XML"/> markup collision II</title>
+      <title><xref linkend="glo_XML" /> markup collision II</title>
 
       <informaltable border="1">
-        <colgroup width="41%"/>
+        <colgroup width="41%" />
 
-        <colgroup width="59%"/>
+        <colgroup width="59%" />
 
         <tr>
           <th>Error</th>
@@ -868,23 +818,19 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
         </tr>
 
         <tr>
-          <td valign="top"><programlisting language="none">&lt;p&gt;Smith <emphasis
-                role="red">&amp;</emphasis> Wesson&lt;/p&gt;</programlisting></td>
+          <td valign="top"><programlisting language="none">&lt;p&gt;Smith <emphasis role="red">&amp;</emphasis> Wesson&lt;/p&gt;</programlisting></td>
 
-          <td valign="top"><programlisting language="none">&lt;p&gt;Smith <emphasis
-                role="red">&amp;amp;</emphasis> Wesson&lt;/p&gt;</programlisting></td>
+          <td valign="top"><programlisting language="none">&lt;p&gt;Smith <emphasis role="red">&amp;amp;</emphasis> Wesson&lt;/p&gt;</programlisting></td>
         </tr>
 
         <tr>
-          <td valign="top"><programlisting language="none">&lt;img ... alt="a <emphasis
-                role="red">'</emphasis>good<emphasis role="red">'</emphasis> fellow"/&gt;</programlisting></td>
+          <td valign="top"><programlisting language="none">&lt;img ... alt="a <emphasis role="red">'</emphasis>good<emphasis role="red">'</emphasis> fellow"/&gt;</programlisting></td>
 
           <td valign="top"><programlisting language="none">&lt;img ... alt="a &amp;apos;good&amp;apos; fellow"/&gt;</programlisting></td>
         </tr>
 
         <tr>
-          <td valign="top"><programlisting language="none">&lt;img ... alt="a <emphasis
-                role="red">"</emphasis>good<emphasis role="red">"</emphasis> fellow"/&gt;</programlisting></td>
+          <td valign="top"><programlisting language="none">&lt;img ... alt="a <emphasis role="red">"</emphasis>good<emphasis role="red">"</emphasis> fellow"/&gt;</programlisting></td>
 
           <td valign="top"><programlisting language="none">&lt;img ... alt="a &amp;quot;good&amp;quot; fellow"/&gt;</programlisting></td>
         </tr>
@@ -892,7 +838,7 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
     </figure>
 
     <figure xml:id="sda1_xml_fig_standardEscapeEntities">
-      <title><xref linkend="glo_XML"/> standard replacement entities</title>
+      <title><xref linkend="glo_XML" /> standard replacement entities</title>
 
       <informaltable border="1">
         <tr>
@@ -939,8 +885,7 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
       <informaltable border="0">
         <tr>
           <td valign="top"><programlisting language="none">&lt;!-- Avoiding &amp;amp; --&gt;
-&lt;h3&gt;<emphasis role="red">&lt;![CDATA[</emphasis>HTML &amp; XML<emphasis
-                role="red">]]&gt;</emphasis>&lt;/h3&gt;      
+&lt;h3&gt;<emphasis role="red">&lt;![CDATA[</emphasis>HTML &amp; XML<emphasis role="red">]]&gt;</emphasis>&lt;/h3&gt;
 
 &lt;!-- Display markup code
      »as is« --&gt;
@@ -948,12 +893,12 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
   &lt;li&gt;One&lt;/li&gt;
   &lt;li&gt;Two&lt;/li&gt;
 &lt;/ul&gt;<emphasis role="red">]]&gt;</emphasis>&lt;/pre&gt;</programlisting><para>Hint:
-          Possibly useful when exporting e.g. <xref linkend="glo_RDBMS"/> data
-          to <xref linkend="glo_XML"/>.</para></td>
+          Possibly useful when exporting e.g. <xref linkend="glo_RDBMS" /> data
+          to <xref linkend="glo_XML" />.</para></td>
 
           <td valign="top"><mediaobject>
               <imageobject>
-                <imagedata fileref="Ref/Xml/cdataPre.png"/>
+                <imagedata fileref="Ref/Xml/cdataPre.png" />
               </imageobject>
             </mediaobject></td>
         </tr>
@@ -965,19 +910,16 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
 
       <informaltable border="0">
         <tr>
-          <td valign="top"><programlisting language="none">&lt;h3&gt;HTML <emphasis
-                role="red">&amp;amp;</emphasis> XML&lt;/h3&gt;
+          <td valign="top"><programlisting language="none">&lt;h3&gt;HTML <emphasis role="red">&amp;amp;</emphasis> XML&lt;/h3&gt;
 
 &lt;pre&gt;<emphasis role="red">&amp;lt;</emphasis>ul<emphasis role="red">&amp;gt;</emphasis>
-  <emphasis role="red">&amp;lt;</emphasis>li<emphasis role="red">&amp;gt;</emphasis>One<emphasis
-                role="red">&amp;lt;</emphasis>/li<emphasis role="red">&amp;lt;</emphasis>
-  <emphasis role="red">&amp;lt;</emphasis>li<emphasis role="red">&amp;gt;</emphasis>Two<emphasis
-                role="red">&amp;lt;</emphasis>/li<emphasis role="red">&amp;gt;</emphasis>
+  <emphasis role="red">&amp;lt;</emphasis>li<emphasis role="red">&amp;gt;</emphasis>One<emphasis role="red">&amp;lt;</emphasis>/li<emphasis role="red">&amp;lt;</emphasis>
+  <emphasis role="red">&amp;lt;</emphasis>li<emphasis role="red">&amp;gt;</emphasis>Two<emphasis role="red">&amp;lt;</emphasis>/li<emphasis role="red">&amp;gt;</emphasis>
 <emphasis role="red">&amp;lt;</emphasis>/ul<emphasis role="red">&amp;gt;</emphasis>&lt;/pre&gt;</programlisting></td>
 
           <td valign="top"><mediaobject>
               <imageobject>
-                <imagedata fileref="Ref/Xml/cdataPre.png"/>
+                <imagedata fileref="Ref/Xml/cdataPre.png" />
               </imageobject>
             </mediaobject></td>
         </tr>
@@ -1000,10 +942,9 @@ terminated by the matching end-tag "&lt;/to&gt;". parsing error</computeroutput>
             <quote><code>]]&gt;</code></quote> itself cannot be
             represented:</para>
 
-            <programlisting language="none">&lt;h3&gt;<emphasis role="red">&lt;![CDATA[</emphasis>A CDATA section is being terminated by »]]&gt;«.<emphasis
-                role="red">]]&gt;</emphasis>&lt;/h3&gt;</programlisting>
+            <programlisting language="none">&lt;h3&gt;<emphasis role="red">&lt;![CDATA[</emphasis>A CDATA section is being terminated by »]]&gt;«.<emphasis role="red">]]&gt;</emphasis>&lt;/h3&gt;</programlisting>
 
-            <screen>xmlparse /tmp/pre.xhtml 
+            <screen>xmlparse /tmp/pre.xhtml
 file:///tmp/pre.xhtml:1:63: fatal error org.xml.sax.SAXParseException;
 systemId: file:///tmp/pre.xhtml; lineNumber: 2; columnNumber: 63;
 The character sequence "]]&gt;" must not appear in content unless used to
diff --git a/Doc/Sda1/xmlschema.xml b/Doc/Sda1/xmlschema.xml
index a5c8a3020da677292ff1e56316f481012facd174..8e52cae1ce3a6bbe2bee5f8857abb05f8ffc0ac5 100644
--- a/Doc/Sda1/xmlschema.xml
+++ b/Doc/Sda1/xmlschema.xml
@@ -347,19 +347,19 @@ double amount = Double.parseDouble(a);</programlisting></td>
                   xml:id="sda1_xmlschema_fig_contactXsd01-3-co"/>
       &lt;xs:element name="firstName"/&gt; <co
                   linkends="sda1_xmlschema_fig_contactXsd01-4"
-                  xml:id="sda1_xmlschema_fig_contactXsd01-4-co"/>    
+                  xml:id="sda1_xmlschema_fig_contactXsd01-4-co"/>
       &lt;xs:element name="lastName"/&gt;
       &lt;xs:element name="email"/&gt;
     &lt;/xs:sequence&gt;
-  &lt;/xs:complexType&gt; 
+  &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
 
-            <td valign="top"><programlisting language="xml">&lt;contact 
+            <td valign="top"><programlisting language="xml">&lt;contact
   xmlns:xsi=
     "http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="organizer.xsd" <co
                   linkends="sda1_xmlschema_fig_contactXsd01-5"
-                  xml:id="sda1_xmlschema_fig_contactXsd01-5-co"/>&gt;     
+                  xml:id="sda1_xmlschema_fig_contactXsd01-5-co"/>&gt;
   &lt;firstName&gt;Eve&lt;/firstName&gt;
   &lt;lastName&gt;Dexter&lt;/lastName&gt;
   &lt;email&gt;dexter@company.com&lt;/email&gt;
@@ -412,7 +412,7 @@ double amount = Double.parseDouble(a);</programlisting></td>
       <figure xml:id="sda1_xmlschema_fig_instanceToSchema">
         <title>Linking instance to schema</title>
 
-        <programlisting language="xml">&lt;contact 
+        <programlisting language="xml">&lt;contact
   xmlns:<emphasis role="red">xsi</emphasis>="<link
             xlink:href="https://www.w3.org/TR/xmlschema11-1/#xsi-namespace">http://www.w3.org/2001/XMLSchema-instance</link>" <co
             linkends="sda1_xmlschema_fig_instanceToSchema-1"
@@ -455,10 +455,10 @@ double amount = Double.parseDouble(a);</programlisting></td>
 
             <programlisting language="none">&lt;contact xmlns:<emphasis
                 role="red">dummy</emphasis>="<code
-                xlink:href="https://www.w3.org/TR/xmlschema11-1/#xsi-namespace">http://www.w3.org/2001/XMLSchema-instance</code>" 
+                xlink:href="https://www.w3.org/TR/xmlschema11-1/#xsi-namespace">http://www.w3.org/2001/XMLSchema-instance</code>"
   <emphasis role="red">dummy</emphasis><link
                 xlink:href="https://www.w3.org/TR/xmlschema11-1/#xsi_schemaLocation">:noNamespaceSchemaLocation</link> = "<filename
-                xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V01_start/organizer.xsd">organizer.xsd</filename>"&gt; 
+                xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V01_start/organizer.xsd">organizer.xsd</filename>"&gt;
   ...
 &lt;/contact&gt;</programlisting>
           </note>
@@ -483,10 +483,10 @@ double amount = Double.parseDouble(a);</programlisting></td>
       <figure xml:id="sda1_xmlschema_fig_centralizedSchemaDef">
         <title>Centralized schema definition</title>
 
-        <programlisting language="none">&lt;contact 
+        <programlisting language="none">&lt;contact
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="<link
-            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V01_start/organizer.xsd">https://mi.hdm-stuttgart.de/organizer.xsd</link>"&gt; 
+            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V01_start/organizer.xsd">https://mi.hdm-stuttgart.de/organizer.xsd</link>"&gt;
   ...
 &lt;/contact&gt;</programlisting>
       </figure>
@@ -544,7 +544,7 @@ Parsing was successfull <co linkends="sda1_xmlschema_fig_validateContact-3"
           <tr>
             <td valign="top"><programlisting language="xml">&lt;contact xmlns:xsi=
    "http://www.w3.org/2001/XMLSchema-instance"
-  xsi:noNamespaceSchemaLocation="organizer.xsd"&gt;    
+  xsi:noNamespaceSchemaLocation="organizer.xsd"&gt;
   &lt;firstName&gt;Eve&lt;/firstName&gt;
   &lt;lastName&gt;Dexter&lt;/lastName&gt;
   &lt;!-- no &lt;email&gt; here --&gt;
@@ -632,7 +632,7 @@ String s1 = new String(), s2 = new String();</programlisting>
     &lt;xs:sequence&gt;
       &lt;xs:element name="firstName"/&gt;
       &lt;xs:element name="lastName"/&gt;
-      &lt;xs:element name="email" <emphasis role="red">minOccurs="0"</emphasis>/&gt;     
+      &lt;xs:element name="email" <emphasis role="red">minOccurs="0"</emphasis>/&gt;
     &lt;/xs:sequence&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
@@ -640,7 +640,7 @@ String s1 = new String(), s2 = new String();</programlisting>
             <td valign="top"><programlisting language="xml">&lt;contact ...="organizer.xsd"&gt;
   &lt;firstName&gt;Eve&lt;/firstName&gt;
   &lt;lastName&gt;Dexter&lt;/lastName&gt;
-  &lt;!-- no &lt;email&gt; <emphasis role="red">required</emphasis> here --&gt;    
+  &lt;!-- no &lt;email&gt; <emphasis role="red">required</emphasis> here --&gt;
 &lt;/contact&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -665,7 +665,7 @@ String s1 = new String(), s2 = new String();</programlisting>
           ref="<emphasis role="red">contact</emphasis>"/&gt; <emphasis
                   role="red">────┐</emphasis> <co
                   linkends="sda1_xmlschema_fig_organizerMultipleContacts-1"
-                  xml:id="sda1_xmlschema_fig_organizerMultipleContacts-1-co"/>  
+                  xml:id="sda1_xmlschema_fig_organizerMultipleContacts-1-co"/>
     &lt;/xs:sequence&gt;            <emphasis role="red">│</emphasis>
   &lt;/xs:complexType&gt;           <emphasis role="red">│</emphasis>
 &lt;/xs:element&gt;                 <emphasis role="red">│</emphasis>
@@ -676,7 +676,7 @@ String s1 = new String(), s2 = new String();</programlisting>
   &lt;xs:complexType&gt;
     &lt;xs:sequence&gt;
         ...
-      &lt;xs:element name="email" minOccurs="0"/&gt;     
+      &lt;xs:element name="email" minOccurs="0"/&gt;
     &lt;/xs:sequence&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
@@ -689,7 +689,7 @@ String s1 = new String(), s2 = new String();</programlisting>
   &lt;contact&gt;
     &lt;firstName&gt;Joe&lt;/firstName&gt;
     &lt;lastName&gt;Simpson&lt;/lastName&gt;
-    &lt;email&gt;touching@the.void&lt;/email&gt;    
+    &lt;email&gt;touching@the.void&lt;/email&gt;
   &lt;/contact&gt;
 &lt;/organizer&gt;</programlisting></td>
           </tr>
@@ -734,7 +734,7 @@ String s1 = new String(), s2 = new String();</programlisting>
   &lt;xs:complexType&gt;
     &lt;xs:sequence&gt;
       &lt;xs:element ref="contact"
-        minOccurs="0" maxOccurs="unbounded"/&gt;      
+        minOccurs="0" maxOccurs="unbounded"/&gt;
     &lt;/xs:sequence&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;
@@ -743,7 +743,7 @@ String s1 = new String(), s2 = new String();</programlisting>
     &lt;xs:sequence&gt;
       &lt;xs:element name="firstName"/&gt;
       &lt;xs:element name="lastName"/&gt;
-      &lt;xs:element name="email" minOccurs="0"/&gt;     
+      &lt;xs:element name="email" minOccurs="0"/&gt;
     &lt;/xs:sequence&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
@@ -751,7 +751,7 @@ String s1 = new String(), s2 = new String();</programlisting>
             <td valign="top"><programlisting language="xml">&lt;contact ...="organizer.xsd"&gt;
   &lt;firstName&gt;Eve&lt;/firstName&gt;
   &lt;lastName&gt;Dexter&lt;/lastName&gt;
-  &lt;email&gt;dexter@company.com&lt;/email&gt;    
+  &lt;email&gt;dexter@company.com&lt;/email&gt;
 &lt;/contact&gt;</programlisting><para><emphasis role="bold">Rule:</emphasis>
             Every schema element may be chosen as an instance's
             root.</para></td>
@@ -852,7 +852,7 @@ String s1 = new String(), s2 = new String();</programlisting>
       &lt;xs:element name="lastName"/&gt;
       &lt;xs:element name="birthDate"
              minOccurs="0" maxOccurs="1"/&gt;
-      &lt;xs:element name="email" minOccurs="0"/&gt;      
+      &lt;xs:element name="email" minOccurs="0"/&gt;
     &lt;/xs:sequence&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
@@ -862,7 +862,7 @@ String s1 = new String(), s2 = new String();</programlisting>
   &lt;firstName&gt;Eve&lt;/firstName&gt;
   &lt;lastName&gt;Dexter&lt;/lastName&gt;
 
-   &lt;!-- valid though incomplete! --&gt;    
+   &lt;!-- valid though incomplete! --&gt;
   &lt;birthDate&gt;1995-&lt;/birthDate&gt;
 &lt;/contact&gt;</programlisting></td>
           </tr>
@@ -882,7 +882,7 @@ String s1 = new String(), s2 = new String();</programlisting>
       &lt;xs:element name="lastName"/&gt;
       &lt;xs:element name="birthDate"
         <emphasis role="red">type="xs:date"</emphasis>
-        minOccurs="0" maxOccurs="1"/&gt;      
+        minOccurs="0" maxOccurs="1"/&gt;
       &lt;xs:element name="email"
           minOccurs="0"/&gt;
     &lt;/xs:sequence&gt;
@@ -896,12 +896,12 @@ String s1 = new String(), s2 = new String();</programlisting>
     &lt;!-- '1995-11-39' is no valid value
         for 'date'. --&gt;
     &lt;birthDate&gt;<emphasis role="red">1995-11-39</emphasis>&lt;/birthDate&gt;
-  &lt;/contact&gt; 
+  &lt;/contact&gt;
   &lt;contact&gt;
     ...
     &lt;!-- '21-th May 2004' is no valid
      value for 'date'. --&gt;
-    &lt;birthDate&gt;<emphasis role="red">21-th May 2004</emphasis>&lt;/birthDate&gt;     
+    &lt;birthDate&gt;<emphasis role="red">21-th May 2004</emphasis>&lt;/birthDate&gt;
   &lt;/contact&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -946,7 +946,7 @@ String s1 = new String(), s2 = new String();</programlisting>
           minOccurs="0"/&gt;
     &lt;/xs:sequence&gt;
     &lt;xs:attribute name="birthDate"
-      type="xs:date" <emphasis role="red">use="optional"</emphasis>/&gt;     
+      type="xs:date" <emphasis role="red">use="optional"</emphasis>/&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
 
@@ -954,7 +954,7 @@ String s1 = new String(), s2 = new String();</programlisting>
                   xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V06_birthdateAttributeType/birthdateAttribute.xml">&lt;contact ...="organizer.xsd"</link>
   <emphasis role="red">birthDate="1995-11-29"</emphasis>&gt;
   &lt;firstName&gt;Eve&lt;/firstName&gt;
-  &lt;lastName&gt;Dexter&lt;/lastName&gt;    
+  &lt;lastName&gt;Dexter&lt;/lastName&gt;
 &lt;/contact&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -975,7 +975,7 @@ String s1 = new String(), s2 = new String();</programlisting>
         minOccurs="0"/&gt;
     &lt;/xs:sequence&gt;
     <emphasis role="red">&lt;xs:attribute name="birthDate"
-     type="xs:date" use="optional"/&gt;</emphasis>     
+     type="xs:date" use="optional"/&gt;</emphasis>
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
 
@@ -983,7 +983,7 @@ String s1 = new String(), s2 = new String();</programlisting>
                   role="red">optional</emphasis>--&gt;
 <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V06_birthdateAttributeType/birthdateAttribute.xml">&lt;contact ...="organizer.xsd"</link>&gt;
   &lt;firstName&gt;Eve&lt;/firstName&gt;
-  &lt;lastName&gt;Dexter&lt;/lastName&gt;    
+  &lt;lastName&gt;Dexter&lt;/lastName&gt;
 &lt;/contact&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1007,8 +1007,8 @@ String s1 = new String(), s2 = new String();</programlisting>
             <td valign="top"><programlisting language="none">&lt;contact ...="organizer.xsd"&gt;
   &lt;firstName&gt;Eve&lt;/firstName&gt;
   &lt;lastName&gt;Dexter&lt;/lastName&gt;
-  
-  &lt;!-- Good idea, but no »real« email --&gt;     
+
+  &lt;!-- Good idea, but no »real« email --&gt;
   &lt;email&gt;dexter at my dot com&lt;/email&gt;
 &lt;/contact&gt;</programlisting></td>
 
@@ -1038,7 +1038,7 @@ String s1 = new String(), s2 = new String();</programlisting>
 
         <programlisting language="xml">&lt;xs:simpleType name="emailType" <co
             linkends="sda1_xmlschema_fig_organizerEmailUserType-1"
-            xml:id="sda1_xmlschema_fig_organizerEmailUserType-1-co"/>&gt; 
+            xml:id="sda1_xmlschema_fig_organizerEmailUserType-1-co"/>&gt;
   &lt;xs:restriction <co
             linkends="sda1_xmlschema_fig_organizerEmailUserType-2"
             xml:id="sda1_xmlschema_fig_organizerEmailUserType-2-co"/> base="xs:string" <co
@@ -1048,7 +1048,7 @@ String s1 = new String(), s2 = new String();</programlisting>
     "[_\-a-zA-Z0-9\.\+]+@[a-zA-Z0-9](\.?[\-a-zA-Z0-9]*[a-zA-Z0-9])*"/&gt;
                                                                   <co
             linkends="sda1_xmlschema_fig_organizerEmailUserType-4"
-            xml:id="sda1_xmlschema_fig_organizerEmailUserType-4-co"/>      
+            xml:id="sda1_xmlschema_fig_organizerEmailUserType-4-co"/>
   &lt;/xs:restriction&gt;
 &lt;/xs:simpleType&gt;</programlisting>
 
@@ -1106,7 +1106,7 @@ String s1 = new String(), s2 = new String();</programlisting>
     minOccurs="0" <emphasis role="red">type="emailType"</emphasis> <emphasis
                   role="red">──┘</emphasis> <co
                   linkends="sda1_xmlschema_fig_organizerEmailUserTypeXsd-2"
-                  xml:id="sda1_xmlschema_fig_organizerEmailUserTypeXsd-2-co"/>/&gt;     
+                  xml:id="sda1_xmlschema_fig_organizerEmailUserTypeXsd-2-co"/>/&gt;
     &lt;/xs:sequence&gt; ...
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
@@ -1114,13 +1114,13 @@ String s1 = new String(), s2 = new String();</programlisting>
             <td valign="top"><programlisting language="none">&lt;contact ...="organizer.xsd"&gt;
   &lt;firstName&gt;Eve&lt;/firstName&gt;
   &lt;lastName&gt;Dexter&lt;/lastName&gt;
-  
+
   &lt;!-- <emphasis role="red">Value 'dexter at my dot com'
        is not facet-valid
        with respect to pattern
        '[_\-a-z...0-9])*'
         for type 'emailType'.</emphasis> --&gt;
-  &lt;email&gt;dexter at my dot com&lt;/email&gt;    
+  &lt;email&gt;dexter at my dot com&lt;/email&gt;
 &lt;/contact&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1147,21 +1147,21 @@ String s1 = new String(), s2 = new String();</programlisting>
     &lt;xs:sequence&gt;
       &lt;xs:element name="firstName" <co
             linkends="sda1_xmlschema_fig_organizerUrType-1"
-            xml:id="sda1_xmlschema_fig_organizerUrType-1-co"/>/&gt; 
-      &lt;xs:element name="lastName" /&gt;       
+            xml:id="sda1_xmlschema_fig_organizerUrType-1-co"/>/&gt;
+      &lt;xs:element name="lastName" /&gt;
       &lt;xs:element name="email" .../&gt;
-    &lt;/xs:sequence&gt;                      
+    &lt;/xs:sequence&gt;
     &lt;xs:attribute                   <link
-            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V07_emailNoSpaces/mindTheUr_type.xml">&lt;contact ...="organizer.xsd"&gt;</link>          
+            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V07_emailNoSpaces/mindTheUr_type.xml">&lt;contact ...="organizer.xsd"&gt;</link>
        name="birthDate" .../&gt;        &lt;firstName&gt;Eve <emphasis
             role="red">&lt;email&gt;</emphasis>eve@y.com<emphasis role="red">&lt;/email&gt;</emphasis> <co
             linkends="sda1_xmlschema_fig_organizerUrType-2"
-            xml:id="sda1_xmlschema_fig_organizerUrType-2-co"/>&lt;/firstName&gt;       
+            xml:id="sda1_xmlschema_fig_organizerUrType-2-co"/>&lt;/firstName&gt;
   &lt;/xs:complexType&gt;                  &lt;lastName&gt;Dexter <emphasis
             role="red">&lt;pre&gt;</emphasis>Gordon<emphasis role="red">&lt;/pre&gt;</emphasis> <co
             linkends="sda1_xmlschema_fig_organizerUrType-3"
             xml:id="sda1_xmlschema_fig_organizerUrType-3-co"/> &lt;/lastName&gt;
-&lt;/xs:element&gt;                       &lt;/contact&gt;              </programlisting>
+&lt;/xs:element&gt;                       &lt;/contact&gt;</programlisting>
       </figure>
 
       <calloutlist>
@@ -1192,7 +1192,7 @@ String s1 = new String(), s2 = new String();</programlisting>
   &lt;xs:complexType&gt;
     &lt;xs:sequence&gt;
       &lt;xs:element name="firstName" <emphasis role="red">type="xs:string"</emphasis>/&gt;
-      &lt;xs:element name="lastName" <emphasis role="red">type="xs:string"</emphasis>/&gt;       
+      &lt;xs:element name="lastName" <emphasis role="red">type="xs:string"</emphasis>/&gt;
       &lt;xs:element name="email" minOccurs="0" type="emailType"/&gt;
     &lt;/xs:sequence&gt;
     &lt;xs:attribute name="birthDate" type="xs:date" use="optional"/&gt;
@@ -1206,7 +1206,7 @@ String s1 = new String(), s2 = new String();</programlisting>
         <programlisting language="none">&lt;contact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="organizer.xsd"
   birthDate="1995-11-29"&gt;
-  
+
   &lt;!-- Wrong: type string --&gt;
   &lt;firstName&gt;<emphasis role="red">Eve &lt;email&gt;eve@paradise.com&lt;/email&gt;</emphasis>&lt;/firstName&gt;<co
             linkends="sda1_xmlschema_fig_organizerAddingTypesInvalid-1"
@@ -1255,7 +1255,7 @@ String s1 = new String(), s2 = new String();</programlisting>
   &lt;xs:restriction base="xs:string"&gt;
     &lt;xs:enumeration value="<emphasis role="red">friend</emphasis>"/&gt;
     &lt;xs:enumeration value="<emphasis role="red">colleague</emphasis>"/&gt;
-    &lt;xs:enumeration value="<emphasis role="red">businessPartner</emphasis>"/&gt;      
+    &lt;xs:enumeration value="<emphasis role="red">businessPartner</emphasis>"/&gt;
   &lt;/xs:restriction&gt;
 &lt;/xs:simpleType&gt;</programlisting></td>
 
@@ -1334,12 +1334,12 @@ String s1 = new String(), s2 = new String();</programlisting>
           <tr>
             <td valign="top"><programlisting language="sql">SELECT name, email
 from Customer
-WHERE dept='finance'    
+WHERE dept='finance'
    or category = 12</programlisting></td>
 
             <td valign="top"><screen>{
   ('John Yates', 'yates@company.com'),
-  ('Sandra Barnes', 'barnes@testcenter.org'),     
+  ('Sandra Barnes', 'barnes@testcenter.org'),
 ...
 }</screen></td>
           </tr>
@@ -1363,14 +1363,14 @@ WHERE dept='finance'
           <tr>
             <td valign="top"><programlisting language="sql">SELECT name, email
 from Customer
-WHERE dept='finance'     
+WHERE dept='finance'
    or category = 12</programlisting></td>
 
             <td valign="top"><programlisting language="xml">&lt;database&gt;
-  ... 
-    &lt;customer dept='finance'&gt;...    
+  ...
+    &lt;customer dept='finance'&gt;...
 
-&lt;/database&gt;</programlisting><programlisting language="xslt">/database//customer[@dept='finance'     
+&lt;/database&gt;</programlisting><programlisting language="xslt">/database//customer[@dept='finance'
         or category='7']</programlisting></td>
           </tr>
         </informaltable>
@@ -1495,7 +1495,7 @@ WHERE dept='finance'
     <emphasis role="red">&lt;a&gt;</emphasis>Three<emphasis role="red">&lt;/a&gt;</emphasis>
     <emphasis role="red">&lt;a&gt;</emphasis>Four<emphasis role="red">&lt;/a&gt;</emphasis>
   &lt;/b&gt;
-  &lt;c&gt;Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example&lt;/c&gt;    
+  &lt;c&gt;Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example&lt;/c&gt;
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1530,13 +1530,13 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   <emphasis role="red">&lt;b id="first"&gt;</emphasis>
-    &lt;a&gt;One&lt;/a&gt;    
+    &lt;a&gt;One&lt;/a&gt;
     &lt;a&gt;Two&lt;/a&gt;
     &lt;a&gt;Three&lt;/a&gt;
     &lt;a&gt;Four&lt;/a&gt;
   <emphasis role="red">&lt;/b&gt;</emphasis>
   <emphasis role="red">&lt;c&gt;</emphasis>Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example<emphasis
-                  role="red">&lt;/c&gt;</emphasis>      
+                  role="red">&lt;/c&gt;</emphasis>
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1577,7 +1577,7 @@ WHERE dept='finance'
     <emphasis role="red">&lt;a&gt;</emphasis>Four<emphasis role="red">&lt;/a&gt;</emphasis>
   &lt;/b&gt;
   &lt;c&gt;Mixed <emphasis role="red">&lt;a&gt;</emphasis>content<emphasis
-                  role="red">&lt;/a&gt; </emphasis>Example&lt;/c&gt;    
+                  role="red">&lt;/a&gt; </emphasis>Example&lt;/c&gt;
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1618,7 +1618,7 @@ WHERE dept='finance'
     <emphasis role="red">&lt;a&gt;</emphasis>Four<emphasis role="red">&lt;/a&gt;</emphasis>
   &lt;/b&gt;
   &lt;c&gt;Mixed <emphasis role="red">&lt;a&gt;</emphasis>content<emphasis
-                  role="red">&lt;/a&gt; </emphasis>Example&lt;/c&gt;    
+                  role="red">&lt;/a&gt; </emphasis>Example&lt;/c&gt;
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1653,12 +1653,12 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   &lt;b&gt;
-    &lt;a&gt;One&lt;/a&gt;    
+    &lt;a&gt;One&lt;/a&gt;
     <emphasis role="red">&lt;a&gt;</emphasis>Two<emphasis role="red">&lt;/a&gt;</emphasis>
     &lt;a&gt;Three&lt;/a&gt;
     &lt;a&gt;Four&lt;/a&gt;
   &lt;/b&gt;
-  &lt;c&gt;Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example&lt;/c&gt;    
+  &lt;c&gt;Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example&lt;/c&gt;
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1694,12 +1694,12 @@ WHERE dept='finance'
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   &lt;b&gt;
     <emphasis role="red">&lt;a&gt;</emphasis>One<emphasis role="red">&lt;/a&gt;</emphasis>
-    &lt;a&gt;Two&lt;/a&gt;    
+    &lt;a&gt;Two&lt;/a&gt;
     &lt;a&gt;Three&lt;/a&gt;
     &lt;a&gt;Four&lt;/a&gt;
   &lt;/b&gt;
   &lt;c&gt;Mixed<emphasis role="red">&lt;a&gt;</emphasis>content&gt;<emphasis
-                  role="red">&lt;/a&gt;</emphasis>Example&lt;/c&gt;    
+                  role="red">&lt;/a&gt;</emphasis>Example&lt;/c&gt;
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1764,13 +1764,13 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   &lt;b&gt;
-    &lt;a&gt;One&lt;/a&gt;    
+    &lt;a&gt;One&lt;/a&gt;
     &lt;a&gt;Two&lt;/a&gt;
     <emphasis role="red">&lt;a&gt;</emphasis>Three<emphasis role="red">&lt;/a&gt;</emphasis>
     <emphasis role="red">&lt;x&gt;</emphasis>Four<emphasis role="red">&lt;/x&gt;</emphasis>
     <emphasis role="red">&lt;a&gt;</emphasis>Five<emphasis role="red">&lt;/a&gt;</emphasis>
   &lt;/b&gt;
-  &lt;c&gt;Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example&lt;/c&gt;    
+  &lt;c&gt;Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example&lt;/c&gt;
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1828,13 +1828,13 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   &lt;b&gt;
-    &lt;a&gt;One&lt;/a&gt;    
+    &lt;a&gt;One&lt;/a&gt;
     &lt;a&gt;Two&lt;/a&gt;
     <emphasis role="red">&lt;a&gt;</emphasis>Three<emphasis role="red">&lt;/a&gt;</emphasis>
     &lt;x&gt;Four&lt;/x&gt;
     <emphasis role="red">&lt;a&gt;</emphasis>Five<emphasis role="red">&lt;/a&gt;</emphasis>
   &lt;/b&gt;
-  &lt;c&gt;Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example&lt;/c&gt;    
+  &lt;c&gt;Mixed&lt;a&gt;content&gt;&lt;/a&gt;Example&lt;/c&gt;
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1870,13 +1870,13 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   &lt;b id="first"&gt;
-    <emphasis role="red">&lt;a&gt;</emphasis>A house<emphasis role="red">&lt;/a&gt;</emphasis>    
+    <emphasis role="red">&lt;a&gt;</emphasis>A house<emphasis role="red">&lt;/a&gt;</emphasis>
     <emphasis role="red">&lt;a&gt;</emphasis>Rent a car<emphasis role="red">&lt;/a&gt;</emphasis>
     <emphasis role="red">&lt;a&gt;</emphasis>Two houses<emphasis role="red">&lt;/a&gt;</emphasis>
     <emphasis role="red">&lt;a&gt;</emphasis>Five<emphasis role="red">&lt;/a&gt;</emphasis>
   &lt;/b&gt;
   <emphasis role="red">&lt;c&gt;</emphasis>Building a house<emphasis
-                  role="red">&lt;/c&gt;</emphasis>    
+                  role="red">&lt;/c&gt;</emphasis>
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1913,13 +1913,13 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   &lt;b id="first"&gt;
-    <emphasis role="red">&lt;a&gt;</emphasis>A house<emphasis role="red">&lt;/a&gt;</emphasis>    
+    <emphasis role="red">&lt;a&gt;</emphasis>A house<emphasis role="red">&lt;/a&gt;</emphasis>
     &lt;a&gt;Rent a car&lt;/a&gt;
     <emphasis role="red">&lt;a&gt;</emphasis>Two houses<emphasis role="red">&lt;/a&gt;</emphasis>
     &lt;a&gt;Five&lt;/a&gt;
   &lt;/b&gt;
   <emphasis role="red">&lt;c&gt;</emphasis>Building a house<emphasis
-                  role="red">&lt;/c&gt;</emphasis>    
+                  role="red">&lt;/c&gt;</emphasis>
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1955,13 +1955,13 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   &lt;b id="first"&gt;
-    &lt;a&gt;A house&lt;/a&gt;    
+    &lt;a&gt;A house&lt;/a&gt;
     &lt;a&gt;Rent a car&lt;/a&gt;
     <emphasis role="red">&lt;a&gt;</emphasis>Two houses<emphasis role="red">&lt;/a&gt;</emphasis>
     &lt;a&gt;Five&lt;/a&gt;
   &lt;/b&gt;
   <emphasis role="red">&lt;c&gt;</emphasis>Building a house<emphasis
-                  role="red">&lt;/c&gt;</emphasis>    
+                  role="red">&lt;/c&gt;</emphasis>
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -1996,13 +1996,13 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   <emphasis role="red">&lt;b </emphasis>id="start"<emphasis role="red">&gt;</emphasis>
-    &lt;a&gt;A house&lt;/a&gt;   
+    &lt;a&gt;A house&lt;/a&gt;
     &lt;a&gt;Rent a car&lt;/a&gt;
     &lt;a&gt;Two houses    &lt;/a&gt;
     &lt;a&gt;Five&lt;/a&gt;
   &lt;/b&gt;
   <emphasis role="red">&lt;c</emphasis> id="build"<emphasis role="red">&gt;</emphasis>Building a house<emphasis
-                  role="red">&lt;/c&gt;</emphasis>    
+                  role="red">&lt;/c&gt;</emphasis>
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -2037,13 +2037,13 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="xml">&lt;top&gt;
   &lt;b id="first"&gt;
-    &lt;a&gt;A house&lt;/a&gt;   
+    &lt;a&gt;A house&lt;/a&gt;
     &lt;a&gt;Rent a car&lt;/a&gt;
     &lt;a&gt;Two houses    &lt;/a&gt;
     &lt;a&gt;Five&lt;/a&gt;
   &lt;/b&gt;
   <emphasis role="red">&lt;c</emphasis> id="build"<emphasis role="red">&gt;</emphasis>Building a house<emphasis
-                  role="red">&lt;/c&gt;</emphasis>    
+                  role="red">&lt;/c&gt;</emphasis>
 &lt;/top&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -2062,7 +2062,7 @@ WHERE dept='finance'
 &lt;/contact&gt;                        <emphasis role="red">│</emphasis> &lt;!-- Error: Nicknames must be unique--&gt;
                                   <emphasis role="red">│</emphasis>
 &lt;contact&gt;  &lt;!-- O.k.: Nickname    <emphasis role="red">│</emphasis>
-               is optional--&gt;     <emphasis role="red">│</emphasis>  
+               is optional--&gt;     <emphasis role="red">│</emphasis>
   &lt;firstName&gt;Petra&lt;/firstName&gt; ...<emphasis role="red">│</emphasis>
 &lt;/contact&gt;                        <emphasis role="red">│</emphasis>
                                   <emphasis role="red">│</emphasis>
@@ -2092,7 +2092,7 @@ WHERE dept='finance'
 
             <td valign="top"><programlisting language="none">CREATE TABLE Contact (
    ...
-   nickname CHAR(10) NULL UNIQUE    
+   nickname CHAR(10) NULL UNIQUE
 ...
 )</programlisting></td>
           </tr>
@@ -2108,18 +2108,18 @@ WHERE dept='finance'
                   xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V17_nickname/organizer.xsd">&lt;xs:element name="organizer"&gt;</link>
 ...&lt;xs:element ref="contact" <co
                   linkends="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-1"
-                  xml:id="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-1-co"/>.../&gt; 
+                  xml:id="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-1-co"/>.../&gt;
        ...
 ...&lt;xs:unique name="nicknameUnique"&gt; <co
                   linkends="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-2"
                   xml:id="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-2-co"/>
-     &lt;xs:selector       xpath = "contact"/&gt; 
-     &lt;xs:field xpath="@nickname"/&gt;   <emphasis role="red">│</emphasis>     
+     &lt;xs:selector       xpath = "contact"/&gt;
+     &lt;xs:field xpath="@nickname"/&gt;   <emphasis role="red">│</emphasis>
   &lt;/xs:unique&gt;             <emphasis role="red">└───┐</emphasis>     <emphasis
                   role="red">│</emphasis> <co
                   linkends="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-3"
                   xml:id="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-3-co"/>
-&lt;/xs:element&gt; ...    <emphasis role="red">┌─────────┼─────┘</emphasis>     
+&lt;/xs:element&gt; ...    <emphasis role="red">┌─────────┼─────┘</emphasis>
                      <emphasis role="red">â–¼</emphasis>         <emphasis
                   role="red">│</emphasis>
 &lt;xs:element name="contact"&gt;    <emphasis role="red">â–¼</emphasis> <co
@@ -2128,23 +2128,23 @@ WHERE dept='finance'
 ...     &lt;xs:attribute name="nickname" <co
                   linkends="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-5"
                   xml:id="sda1_xmlschema_fig_organizerContactNicknameUniqueXsd-5-co"/>.../&gt;
-  ...     
+  ...
 &lt;/xs:element&gt;</programlisting></td>
 
             <td valign="top"><programlisting language="none"><link
                   xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V17_nickname/duplicateNickname.xml">&lt;contact nickname=</link>"<emphasis
-                  role="red">Blue</emphasis>"&gt; <emphasis role="red">◀────┐</emphasis> 
-  &lt;firstName&gt;Eve &lt;/firstName&gt;  <emphasis role="red">│</emphasis> 
-  &lt;lastName&gt;Dexter&lt;/lastName&gt;  <emphasis role="red">│</emphasis> 
-&lt;/contact&gt;                     <emphasis role="red">│</emphasis> 
+                  role="red">Blue</emphasis>"&gt; <emphasis role="red">◀────┐</emphasis>
+  &lt;firstName&gt;Eve &lt;/firstName&gt;  <emphasis role="red">│</emphasis>
+  &lt;lastName&gt;Dexter&lt;/lastName&gt;  <emphasis role="red">│</emphasis>
+&lt;/contact&gt;                     <emphasis role="red">│</emphasis>
+                               <emphasis role="red">│</emphasis>
+<emphasis role="red">&lt;!-- Invalid: Duplicate unique │
+   value [Blue] ... --&gt;        │</emphasis>
                                <emphasis role="red">│</emphasis>
-<emphasis role="red">&lt;!-- Invalid: Duplicate unique │ 
-   value [Blue] ... --&gt;        │</emphasis> 
-                               <emphasis role="red">│</emphasis> 
 &lt;contact nickname="<emphasis role="red">Blue</emphasis>"&gt; <emphasis
-                  role="red"><emphasis role="red">◀────┘</emphasis></emphasis> 
-  &lt;firstName&gt;Joe&lt;/firstName&gt; 
-  &lt;lastName&gt;Simpson&lt;/lastName&gt;     
+                  role="red"><emphasis role="red">◀────┘</emphasis></emphasis>
+  &lt;firstName&gt;Joe&lt;/firstName&gt;
+  &lt;lastName&gt;Simpson&lt;/lastName&gt;
 &lt;/contact&gt;</programlisting></td>
           </tr>
         </informaltable>
@@ -2200,7 +2200,7 @@ WHERE dept='finance'
 &lt;contact&gt; &lt;!-- <emphasis role="red">Error: Missing @id</emphasis>--&gt;
   &lt;firstName&gt;Joe&lt;/firstName&gt;...&lt;/contact&gt;
 
-&lt;contact id="345"&gt; 
+&lt;contact id="345"&gt;
   &lt;firstName&gt;Sue&lt;/firstName&gt;...&lt;/contact&gt;
 
 &lt;contact id="123"&gt; &lt;!-- <emphasis role="red">Error: Duplicate @id value</emphasis>--&gt;
@@ -2225,7 +2225,7 @@ WHERE dept='finance'
             databases</emphasis>: <code language="sql">PRIMARY KEY</code> or
             UNIQUE + NOT NULL constraint.</para></td>
 
-            <td valign="top"><programlisting language="none">CREATE TABLE Contact (   
+            <td valign="top"><programlisting language="none">CREATE TABLE Contact (
    ...
    id INT PRIMARY KEY
 ...
@@ -2245,20 +2245,20 @@ WHERE dept='finance'
 ... &lt;xs:element ref="contact".../&gt;
     ...
     &lt;xs:key name="primaryKey"&gt;
-      &lt;xs:selector  xpath="contact"/&gt;   
+      &lt;xs:selector  xpath="contact"/&gt;
       &lt;xs:field  xpath="@id"/&gt; <emphasis role="red">│</emphasis>
     &lt;/xs:key&gt;         <emphasis role="red">┌───┼────┘</emphasis>
 &lt;/xs:element&gt;         <emphasis role="red">â–¼</emphasis>   <emphasis
                   role="red">└───┐</emphasis>
 &lt;xs:element name="contact"&gt;   <emphasis role="red">â–¼</emphasis>
-...&lt;xs:attribute       name="id" 
+...&lt;xs:attribute       name="id"
     type="xs:int" <emphasis role="red">use="optional"</emphasis> <co
                   linkends="sda1_xmlschema_fig_organizerContactIdKeyXsd-1"
-                  xml:id="sda1_xmlschema_fig_organizerContactIdKeyXsd-1-co"/>/&gt;    
+                  xml:id="sda1_xmlschema_fig_organizerContactIdKeyXsd-1-co"/>/&gt;
 ...</programlisting></td>
 
             <td valign="top"><programlisting language="none"><emphasis
-                  role="red">&lt;!-- Invalid: Element "organizer"    
+                  role="red">&lt;!-- Invalid: Element "organizer"
 has no value for the
 key "primaryKey". --&gt;</emphasis>
 <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V20_primaryKeyId/missingId.xml">&lt;contact birthDate="1995-11-29"</link>
@@ -2291,17 +2291,17 @@ key "primaryKey". --&gt;</emphasis>
 ... &lt;xs:element ref="contact".../&gt;
     ...
     &lt;xs:key name="primaryKey"&gt;
-      &lt;xs:selector xpath="contact"/&gt;    
+      &lt;xs:selector xpath="contact"/&gt;
       &lt;xs:field xpath="@id"/&gt;
     &lt;/xs:key&gt;
 &lt;/xs:element&gt;
 &lt;xs:element name="contact"&gt;
-...&lt;xs:attribute name="id" 
+...&lt;xs:attribute name="id"
     type="xs:int" <emphasis role="red">use="required"</emphasis> /&gt;
 ...</programlisting></td>
 
             <td valign="top"><programlisting language="none"><emphasis
-                  role="red">&lt;!-- Invalid: Element "organizer"    
+                  role="red">&lt;!-- Invalid: Element "organizer"
 has no value for the
 key "primaryKey". --&gt;</emphasis>
 <link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V20_primaryKeyId/missingId.xml">&lt;contact birthDate="1995-11-29"</link>
@@ -2377,7 +2377,7 @@ key "primaryKey". --&gt;</emphasis>
 
         <programlisting language="none">&lt;contact id="10" &gt;
     &lt;firstName&gt;Eve &lt;/firstName&gt; ... &lt;/contact&gt;
-&lt;contact id="11" &gt; 
+&lt;contact id="11" &gt;
     &lt;firstName&gt;Joe&lt;/firstName&gt;... &lt;/contact&gt;
 &lt;contact id="<emphasis role="red">12</emphasis>" &gt; <emphasis role="red">◀──────────────────────────┐</emphasis> <co
             linkends="sda1_xmlschema_fig_organizerAppointmentInvalidRef-1"
@@ -2423,32 +2423,32 @@ key "primaryKey". --&gt;</emphasis>
         <programlisting language="none"><link
             xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sda1/Ref/Organizer/V33_appointmentParticipants/organizer.xsd">&lt;xs:element name="organizer"&gt;</link>
   &lt;xs:complexType&gt;&lt;xs:sequence&gt; ...
-     &lt;xs:element ... maxOccurs="unbounded" ref="appointment"/&gt;  
+     &lt;xs:element ... maxOccurs="unbounded" ref="appointment"/&gt;
 ...&lt;xs:key name="primaryKey"&gt; <emphasis role="red">◀─<emphasis
               role="red">─</emphasis><emphasis role="red"><emphasis role="red"> reference </emphasis><emphasis
                 role="red"><emphasis role="red">─</emphasis></emphasis>┐</emphasis></emphasis>         <emphasis
-            role="red">│</emphasis> 
+            role="red">│</emphasis>
    &lt;xs:selector xpath="contact"/&gt;            <emphasis role="red">│</emphasis>         <emphasis
             role="red">│</emphasis>  <co
             linkends="sda1_xmlschema_fig_organizerEnforceReferentialIntegrity-1"
-            xml:id="sda1_xmlschema_fig_organizerEnforceReferentialIntegrity-1-co"/> 
+            xml:id="sda1_xmlschema_fig_organizerEnforceReferentialIntegrity-1-co"/>
      &lt;xs:field xpath="@id"/&gt;                 <emphasis role="red">│</emphasis>         <emphasis
             role="red">│</emphasis>
    &lt;/xs:key&gt;                                 <emphasis role="red">│</emphasis>         <emphasis
             role="red">│</emphasis>
    &lt;xs:keyref name="participants" refer="primaryKey"&gt;  <emphasis
-            role="red">│</emphasis> 
+            role="red">│</emphasis>
      &lt;xs:selector xpath="appointment/participant"/&gt;    <emphasis
-            role="red">│</emphasis>  
+            role="red">│</emphasis>
      &lt;xs:field xpath="."/&gt;                <emphasis role="red">│</emphasis>            <emphasis
-            role="red">│</emphasis> 
+            role="red">│</emphasis>
     &lt;/xs:keyref&gt;                          <emphasis role="red">└────┐</emphasis>       <emphasis
-            role="red">│</emphasis> 
+            role="red">│</emphasis>
 &lt;/xs:element&gt;                                  <emphasis role="red">│</emphasis>       <emphasis
-            role="red">│</emphasis> 
-&lt;xs:element name="appointment"&gt; <emphasis role="red">◀──────────────┼───────┘</emphasis> 
+            role="red">│</emphasis>
+&lt;xs:element name="appointment"&gt; <emphasis role="red">◀──────────────┼───────┘</emphasis>
   &lt;xs:complexType&gt;&lt;xs:sequence&gt;                <emphasis
-            role="red">â–¼</emphasis>         
+            role="red">â–¼</emphasis>
  ...  &lt;xs:element type="xs:integer" name="participant"  <co
             linkends="sda1_xmlschema_fig_organizerEnforceReferentialIntegrity-2"
             xml:id="sda1_xmlschema_fig_organizerEnforceReferentialIntegrity-2-co"/></programlisting>
@@ -2761,7 +2761,7 @@ key "primaryKey". --&gt;</emphasis>
   &lt;xs:complexType&gt;
     &lt;xs:sequence&gt;
       &lt;xs:element ref="contact"
-        minOccurs="0" maxOccurs="unbounded"/&gt;      
+        minOccurs="0" maxOccurs="unbounded"/&gt;
     &lt;/xs:sequence&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;
@@ -2770,7 +2770,7 @@ key "primaryKey". --&gt;</emphasis>
     &lt;xs:sequence&gt;
       &lt;xs:element name="firstName"/&gt;
       &lt;xs:element name="lastName"/&gt;
-      &lt;xs:element name="email" minOccurs="0"/&gt;     
+      &lt;xs:element name="email" minOccurs="0"/&gt;
     &lt;/xs:sequence&gt;
   &lt;/xs:complexType&gt;
 &lt;/xs:element&gt;</programlisting></td>
@@ -3006,7 +3006,7 @@ public class Memo {
 
               <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" 
+    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
     elementFormDefault="qualified"
     vc:minVersion="1.0" vc:maxVersion="1.1"&gt;
 
@@ -3016,7 +3016,7 @@ public class Memo {
             &lt;xs:totalDigits value="10"/&gt;
         &lt;/xs:restriction&gt;
     &lt;/xs:simpleType&gt;
-    
+
     &lt;xs:simpleType name="invoiceStatus"&gt;
         &lt;xs:restriction base="xs:token"&gt;
             &lt;xs:enumeration value="open"/&gt;
@@ -3032,7 +3032,7 @@ public class Memo {
                 &lt;xs:element ref="invoice" minOccurs="0" maxOccurs="unbounded"/&gt;
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
-        
+
         &lt;xs:key name="customerId"&gt;
             &lt;xs:annotation&gt;
                 &lt;xs:documentation&gt;Customers' primary key&lt;/xs:documentation&gt;
@@ -3040,7 +3040,7 @@ public class Memo {
             &lt;xs:selector xpath="customer"/&gt;
             &lt;xs:field xpath="@id"/&gt;
         &lt;/xs:key&gt;
-        
+
         &lt;xs:keyref refer="customerId" name="customerToInvoice"&gt;
             &lt;xs:annotation&gt;
                 &lt;xs:documentation&gt;Referencing a customer's primary key&lt;/xs:documentation&gt;
@@ -3049,7 +3049,7 @@ public class Memo {
             &lt;xs:field xpath="@customer"/&gt;
         &lt;/xs:keyref&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="customer"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -3067,23 +3067,23 @@ public class Memo {
 
                     &lt;xs:attribute name="status" type="invoiceStatus"/&gt;    &lt;!-- See  xs:simpleType  definition above --&gt;
                     &lt;xs:attribute name="customer" type="xs:int" use="required"/&gt;
-                    
+
                 &lt;/xs:extension&gt;
             &lt;/xs:simpleContent&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
 &lt;/xs:schema&gt;</programlisting>
 
               <para>An example data set:</para>
 
               <programlisting language="xml">&lt;data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="invoice.xsd"&gt;
-    
+
     &lt;customer id="5"&gt;
         &lt;name&gt;Clarke Jefferson&lt;/name&gt;
     &lt;/customer&gt;
-    
+
     &lt;invoice customer="5" status="due"&gt;33.12&lt;/invoice&gt;
 &lt;/data&gt;</programlisting>
 
@@ -3135,7 +3135,7 @@ public class Memo {
                     <programlisting language="xml">    &lt;customer id="5"&gt;
         &lt;name&gt;Clarke Jefferson&lt;/name&gt;
     &lt;/customer&gt;
-    
+
     &lt;customer id="5"&gt;
         &lt;name&gt;Jane Austen&lt;/name&gt;
     &lt;/customer&gt;</programlisting>
@@ -3150,7 +3150,7 @@ public class Memo {
                     <programlisting language="xml">    &lt;customer id="5"&gt;
         &lt;name&gt;Clarke Jefferson&lt;/name&gt;
     &lt;/customer&gt;
-    
+
     &lt;invoice customer="6" status="due"&gt;33.12&lt;/invoice&gt;</programlisting>
                   </glossdef>
                 </glossentry>
@@ -3230,12 +3230,12 @@ public class Memo {
         &lt;destination id="1" airportCode="EDDF"&gt;
             &lt;fullName&gt;Frankfurt International Airport – Frankfurt am Main&lt;/fullName&gt;
         &lt;/destination&gt;
-        
+
         &lt;destination  id="3" airportCode="EBCI"&gt;
             &lt;fullName&gt;Brussels South Charleroi Airport – Charleroi&lt;/fullName&gt;
         &lt;/destination&gt;
     &lt;/destinations&gt;
-    
+
     &lt;flights&gt;
         &lt;flight id="1" airline="2" origin="1" destination="3"&gt;
             &lt;flightNumber&gt;LH 4234&lt;/flightNumber&gt;
@@ -3265,21 +3265,21 @@ public class Memo {
               <programlisting language="xml">&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified"
     vc:minVersion="1.1"&gt;
-    
+
     &lt;xs:simpleType name="ICAOAirportCode"&gt;
         &lt;xs:restriction base="xs:string"&gt;
             &lt;xs:length value="4" /&gt;
             &lt;xs:pattern value="[A-Z09]+"&gt;&lt;/xs:pattern&gt;
         &lt;/xs:restriction&gt;
     &lt;/xs:simpleType&gt;
-    
+
     &lt;xs:simpleType name="ICAOAirlineCode"&gt;
         &lt;xs:restriction base="xs:string"&gt;
             &lt;xs:length value="3"/&gt;
             &lt;xs:pattern value="[A-Z]+"&gt;&lt;/xs:pattern&gt;
         &lt;/xs:restriction&gt;
     &lt;/xs:simpleType&gt;
-    
+
     &lt;xs:element name="top"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -3288,22 +3288,22 @@ public class Memo {
                 &lt;xs:element ref="flights"/&gt;
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
-        
+
         &lt;xs:keyref name="_FK_Flight_airline" refer="_PK_Airline_id"&gt;
             &lt;xs:selector xpath="flights/flight"/&gt;
             &lt;xs:field xpath="@airline"/&gt;
         &lt;/xs:keyref&gt;
-        
+
         &lt;xs:keyref name="_FK_Flight_origin" refer="_PK_Destination_id"&gt;
             &lt;xs:selector xpath="flights/flight"/&gt;
             &lt;xs:field xpath="@origin"/&gt;
         &lt;/xs:keyref&gt;
-        
+
         &lt;xs:keyref name="_FK_Flight_destination" refer="_PK_Destination_id"&gt;
             &lt;xs:selector xpath="flights/flight"/&gt;
             &lt;xs:field xpath="@destination"/&gt;
         &lt;/xs:keyref&gt;
-        
+
     &lt;/xs:element&gt;
 
     &lt;xs:element name="airlines"&gt;
@@ -3317,12 +3317,12 @@ public class Memo {
             &lt;xs:selector xpath="airline"/&gt;
             &lt;xs:field xpath="@id"/&gt;
         &lt;/xs:key&gt;
-        
+
         &lt;xs:key name="_UN_Airline_name"&gt;
             &lt;xs:selector xpath="airline"/&gt;
             &lt;xs:field xpath="name"/&gt;
         &lt;/xs:key&gt;
-        
+
         &lt;xs:key name="_UN_Airline_airlineCode"&gt;
             &lt;xs:selector xpath="airline"/&gt;
             &lt;xs:field xpath="@airlineCode"/&gt;
@@ -3334,23 +3334,23 @@ public class Memo {
             &lt;xs:sequence&gt;
                 &lt;xs:element name="name" type="xs:string"/&gt;
             &lt;/xs:sequence&gt;
-            &lt;xs:attribute name="id" type="xs:int" use="required"/&gt;               
-            &lt;xs:attribute name="airlineCode" type="ICAOAirlineCode" use="required"/&gt;               
+            &lt;xs:attribute name="id" type="xs:int" use="required"/&gt;
+            &lt;xs:attribute name="airlineCode" type="ICAOAirlineCode" use="required"/&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="destinations"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
                 &lt;xs:element ref="destination" minOccurs="0" maxOccurs="unbounded"/&gt;
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
-        
+
         &lt;xs:key name="_PK_Destination_id"&gt;
             &lt;xs:selector xpath="destination"/&gt;
             &lt;xs:field xpath="@id"/&gt;
         &lt;/xs:key&gt;
-        
+
         &lt;xs:key name="_UN_Destination_airportCode"&gt;
             &lt;xs:selector xpath="destination"/&gt;
             &lt;xs:field xpath="@airportCode"/&gt;
@@ -3362,28 +3362,28 @@ public class Memo {
             &lt;xs:sequence&gt;
                 &lt;xs:element name="fullName"/&gt;
             &lt;/xs:sequence&gt;
-            &lt;xs:attribute name="id" type="xs:int"/&gt;               
-            &lt;xs:attribute name="airportCode" type="ICAOAirportCode"/&gt;               
+            &lt;xs:attribute name="id" type="xs:int"/&gt;
+            &lt;xs:attribute name="airportCode" type="ICAOAirportCode"/&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="flights"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
                 &lt;xs:element ref="flight" minOccurs="0" maxOccurs="unbounded"/&gt;
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
-        
+
         &lt;xs:key name="_PK_Flight_id"&gt;
             &lt;xs:selector xpath="flight"/&gt;
             &lt;xs:field xpath="@id"/&gt;
         &lt;/xs:key&gt;
-        
+
         &lt;xs:key name="_UN_Flight_flightNumber"&gt;
             &lt;xs:selector xpath="flight"/&gt;
             &lt;xs:field xpath="flightNumber"/&gt;
         &lt;/xs:key&gt;
-        
+
     &lt;/xs:element&gt;
 
     &lt;xs:element name="flight"&gt;
@@ -3391,10 +3391,10 @@ public class Memo {
             &lt;xs:sequence&gt;
                 &lt;xs:element name="flightNumber" type="xs:string"/&gt;
             &lt;/xs:sequence&gt;
-            &lt;xs:attribute name="id" type="xs:int" use="required"/&gt;               
-            &lt;xs:attribute name="airline" type="xs:int" use="required"/&gt;               
-            &lt;xs:attribute name="origin" type="xs:int"/&gt;               
-            &lt;xs:attribute name="destination" type="xs:int"/&gt;      
+            &lt;xs:attribute name="id" type="xs:int" use="required"/&gt;
+            &lt;xs:attribute name="airline" type="xs:int" use="required"/&gt;
+            &lt;xs:attribute name="origin" type="xs:int"/&gt;
+            &lt;xs:attribute name="destination" type="xs:int"/&gt;
             &lt;xs:assert test="not(@origin = @destination)"&gt;
                 &lt;xs:annotation&gt;
                     &lt;xs:documentation&gt;CHECK constraint _CK_Flight_origin_destination&lt;/xs:documentation&gt;
@@ -3402,7 +3402,7 @@ public class Memo {
             &lt;/xs:assert&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
 &lt;/xs:schema&gt;</programlisting>
             </answer>
           </qandaentry>
@@ -3520,25 +3520,25 @@ public class Memo {
                 <programlisting language="xml">&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified"
    vc:minVersion="1.0" vc:maxVersion="1.1"&gt;
-   
+
    &lt;xs:simpleType name="money"&gt;
       &lt;xs:restriction base="xs:decimal"&gt;
          &lt;xs:fractionDigits value="2"/&gt;
       &lt;/xs:restriction&gt;
    &lt;/xs:simpleType&gt;
-   
-   &lt;xs:element name="title" type="xs:string"/&gt;            
+
+   &lt;xs:element name="title" type="xs:string"/&gt;
    &lt;xs:element name="para" type="xs:string"/&gt;
-   
+
    &lt;xs:element name="description" type="paraSequence"/&gt;
    &lt;xs:element name="introduction" type="paraSequence"/&gt;
-   
+
    &lt;xs:complexType name="paraSequence"&gt;
       &lt;xs:sequence&gt;
          &lt;xs:element ref="para" minOccurs="1" maxOccurs="unbounded"/&gt;
-      &lt;/xs:sequence&gt;         
+      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
-   
+
    &lt;xs:element name="product"&gt;
       &lt;xs:complexType&gt;
          &lt;xs:sequence&gt;
@@ -3558,7 +3558,7 @@ public class Memo {
             &lt;xs:element ref="product" minOccurs="1" maxOccurs="unbounded"/&gt;
          &lt;/xs:sequence&gt;
       &lt;/xs:complexType&gt;
-      
+
       &lt;xs:key name="uniqueProductId"&gt;
          &lt;xs:selector xpath="product"&gt;&lt;/xs:selector&gt;
          &lt;xs:field xpath="@id"/&gt;
@@ -3742,7 +3742,7 @@ public class Memo {
 
                   <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"&gt;
-  
+
     &lt;!-- Elements having no inner structure (but maybe attributes) --&gt;
     &lt;xs:element name="title" type="xs:string"/&gt;
     &lt;xs:element name="emphasis" type="xs:string"/&gt;
@@ -3756,7 +3756,7 @@ public class Memo {
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="chapter"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt; <co xml:id="figure_book.dtd_v2_chapter"/>
@@ -3768,7 +3768,7 @@ public class Memo {
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="para"&gt;
         &lt;xs:complexType mixed="true"&gt; <co
                       xml:id="figure_book.dtd_v2_para"/>
@@ -3777,7 +3777,7 @@ public class Memo {
             &lt;/xs:choice&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="itemizedlist"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -3786,7 +3786,7 @@ public class Memo {
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="listitem"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:choice minOccurs="1" maxOccurs="unbounded"&gt; <co
@@ -3796,7 +3796,7 @@ public class Memo {
             &lt;/xs:choice&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
 &lt;/xs:schema&gt;</programlisting>
 
                   <caption>
@@ -3983,18 +3983,18 @@ public class Memo {
 
                 <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" 
+    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
                      elementFormDefault="qualified"
     vc:minVersion="1.0" vc:maxVersion="1.1"&gt;
-    
-    &lt;xs:import namespace="http://www.w3.org/XML/1998/namespace" 
+
+    &lt;xs:import namespace="http://www.w3.org/XML/1998/namespace"
             schemaLocation="http://www.w3.org/2001/03/xml.xsd" /&gt;
-    
-    
+
+
     &lt;xs:include schemaLocation="table.xsd"/&gt;
 
     &lt;!-- Type definitions --&gt;
-    
+
     &lt;xs:attribute name="lang"&gt;
         &lt;xs:simpleType&gt;
             &lt;xs:restriction base="xs:string"&gt;
@@ -4017,7 +4017,7 @@ public class Memo {
                     xml:id="progamlisting_book_v5_link_linkend"/> type="xs:IDREF" use="required"/&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;!-- Starting the game ... --&gt;
     &lt;xs:element name="book"&gt;
         &lt;xs:complexType&gt;
@@ -4028,7 +4028,7 @@ public class Memo {
             &lt;xs:attribute ref="lang" use="optional"/&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="chapter"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -4045,7 +4045,7 @@ public class Memo {
             &lt;xs:attribute ref="xml:base"/&gt; &lt;!-- This allows supporting &lt;xi:include ...&gt; --&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="para"&gt;
         &lt;xs:complexType mixed="true"&gt; <co
                     xml:id="progamlisting_book_v5_mixed_link"/>
@@ -4119,7 +4119,7 @@ public class Memo {
                 model:</para>
 
                 <programlisting language="xml">&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"&gt;
-    
+
     &lt;xs:element name="table"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -4130,7 +4130,7 @@ public class Memo {
             &lt;xs:attribute name="border"/&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="tr"&gt;
         &lt;xs:complexType&gt;
             &lt;xs:sequence&gt;
@@ -4138,14 +4138,14 @@ public class Memo {
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
     &lt;xs:element name="td"&gt;
         &lt;xs:complexType mixed="true"&gt;
             &lt;xs:attribute name="colspan" type="xs:positiveInteger" use="optional"/&gt;
             &lt;xs:attribute name="rowspan" type="xs:positiveInteger" use="optional"/&gt;
         &lt;/xs:complexType&gt;
     &lt;/xs:element&gt;
-    
+
 &lt;/xs:schema&gt;</programlisting>
               </answer>
             </qandaentry>
diff --git a/Doc/Sda1/xslt.xml b/Doc/Sda1/xslt.xml
index 0575855dae31a897c71d31481cbf4011c1baff02..67165d310ebd8ed30cd00a532ce2a2e5d62b4042 100644
--- a/Doc/Sda1/xslt.xml
+++ b/Doc/Sda1/xslt.xml
@@ -81,13 +81,13 @@
 
 &lt;xs:element name="memo"&gt;
       &lt;xs:complexType&gt;
-         &lt;xs:sequence&gt; 
-            &lt;xs:element name="from" type="Person"/&gt; 
+         &lt;xs:sequence&gt;
+            &lt;xs:element name="from" type="Person"/&gt;
             &lt;xs:element name="to" type="Person" minOccurs="1" maxOccurs="unbounded"/&gt;
             &lt;xs:element name="subject" type="xs:string"/&gt;
             &lt;xs:element ref="content"/&gt;
          &lt;/xs:sequence&gt;
-         &lt;xs:attribute name="date" type="xs:date" use="required"/&gt; 
+         &lt;xs:attribute name="date" type="xs:date" use="required"/&gt;
          &lt;xs:attribute name="priority" type="Priority" use="optional"/&gt;
       &lt;/xs:complexType&gt;
    &lt;/xs:element&gt;
@@ -97,7 +97,7 @@
             &lt;xs:extension base="xs:string"&gt;
                 &lt;xs:attribute name="id" type="xs:ID"/&gt;
             &lt;/xs:extension&gt;
-        &lt;/xs:simpleContent&gt;               
+        &lt;/xs:simpleContent&gt;
     &lt;/xs:complexType&gt;
 
     &lt;xs:element name="content"&gt;
@@ -106,7 +106,7 @@
                 &lt;xs:element ref="para" minOccurs="1" maxOccurs="unbounded"/&gt;
             &lt;/xs:sequence&gt;
         &lt;/xs:complexType&gt;
-        
+
     &lt;/xs:element&gt;
 
     &lt;xs:element name="para"&gt;
@@ -153,7 +153,7 @@
   &lt;subject&gt;Firewall problems&lt;/subject&gt;
   &lt;content&gt;
     &lt;para&gt;Thanks for your excellent work.&lt;/para&gt;
-    &lt;para&gt;Our firewall is definitely broken! This bug has been reported by 
+    &lt;para&gt;Our firewall is definitely broken! This bug has been reported by
       the &lt;link <emphasis role="bold">linkend="goik"</emphasis>&gt;sender&lt;/link&gt;.&lt;/para&gt;
   &lt;/content&gt;
 &lt;/memo&gt;</programlisting>
@@ -165,13 +165,13 @@
       <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 version="2.0"&gt;
-  
+
   &lt;xsl:output method="text"/&gt;
-  
+
   &lt;xsl:template match="/memo"&gt;
     &lt;xsl:value-of select="from"/&gt;
   &lt;/xsl:template&gt;
-  
+
 &lt;/xsl:stylesheet&gt;</programlisting>
     </figure>
 
@@ -216,18 +216,18 @@ Martin Goik</computeroutput></screen>
 
       <programlisting language="xml">&lt;xsl:stylesheet <co
           xml:id="programlisting_helloxsl_stylesheet"/> xmlns:xsl <co
-          xml:id="programlisting_helloxsl_namespace_abbv"/> ="http://www.w3.org/1999/XSL/Transform" 
+          xml:id="programlisting_helloxsl_namespace_abbv"/> ="http://www.w3.org/1999/XSL/Transform"
                 version="2.0" <co xml:id="programlisting_helloxsl_xsl_version"/> &gt;
-  
+
   &lt;xsl:output method="text" <co
           xml:id="programlisting_helloxsl_method_text"/>/&gt;
-  
+
   &lt;xsl:template <co xml:id="programlisting_helloxsl_template"/> match <co
           xml:id="programlisting_helloxsl_match"/> ="/memo"&gt;
     &lt;xsl:value-of <co xml:id="programlisting_helloxsl_value-of"/> select <co
           xml:base="" xml:id="programlisting_helloxsl_valueof_select_att"/> ="from" /&gt;
   &lt;/xsl:template&gt;
-  
+
 &lt;/xsl:stylesheet&gt;</programlisting>
     </figure>
 
@@ -356,7 +356,7 @@ Martin Goik</computeroutput></screen>
           xml:id="programlisting_tolist_xpath_memo_to"/> &gt;
     &lt;xsl:value-of select="." <co xml:id="programlisting_tolist_value_of"/> /&gt;
     &lt;xsl:text&gt;,&lt;/xsl:text&gt; <co
-          xml:id="programlisting_tolist_xsl_text"/>    
+          xml:id="programlisting_tolist_xsl_text"/>
   &lt;/xsl:for-each&gt;
 &lt;/xsl:template&gt;</programlisting>
 
@@ -665,7 +665,7 @@ INSERT INTO Customer (id, name) VALUES ('eve', 'Eve intruder')</computeroutput><
               <programlisting language="xml">&lt;xsl:for-each select="memo/to"&gt;
   &lt;xsl:value-of select="."/&gt;
   &lt;xsl:if test="position() &amp;lt; last()"&gt;
-    &lt;xsl:text&gt;,&lt;/xsl:text&gt;     
+    &lt;xsl:text&gt;,&lt;/xsl:text&gt;
   &lt;/xsl:if&gt;
 &lt;/xsl:for-each&gt;</programlisting>
             </answer>
@@ -727,8 +727,8 @@ INSERT INTO Customer (id, name) VALUES ('eve', 'Eve intruder')</computeroutput><
   &lt;xsl:value-of select="."/&gt;
   &lt;xsl:if test="<emphasis role="bold">position()</emphasis> &amp;lt; <emphasis
           role="bold">last()</emphasis>"&gt;
-    &lt;xsl:text&gt;,&lt;/xsl:text&gt;     
-  &lt;/xsl:if&gt;    
+    &lt;xsl:text&gt;,&lt;/xsl:text&gt;
+  &lt;/xsl:if&gt;
 &lt;/xsl:template&gt;</programlisting>
 
       <calloutlist>
@@ -812,13 +812,13 @@ for (int i = 0; i &lt; 10; i++){
 
       <programlisting language="xml">&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   version="2.0"&gt;
-  
+
   &lt;xsl:output method="text"/&gt;
-  
+
   &lt;xsl:template match="/memo"&gt;
     &lt;xsl:apply-templates <emphasis role="bold">select="content"</emphasis>/&gt;
   &lt;/xsl:template&gt;
-  
+
 &lt;/xsl:stylesheet&gt;</programlisting>
 
       <para>Since no suitable template supplying rules for <tag
@@ -1064,7 +1064,7 @@ IV: ...
 &lt;xsl:template match="to"&gt;
   &lt;li&gt;
     &lt;xsl:value-of select="."/&gt;
-  &lt;/li&gt;    
+  &lt;/li&gt;
 &lt;/xsl:template&gt;</programlisting>
 
       <para>Processing this style sheet for a <tag class="starttag">memo</tag>
@@ -1111,7 +1111,7 @@ IV: ...
 &lt;xsl:output method="xhtml" indent="yes"
     doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
     doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/&gt;
-    
+
     &lt;xsl:template match="/"&gt;
         &lt;html&gt;&lt;head&gt; ...
      &lt;/xsl:template&gt;
@@ -1161,9 +1161,9 @@ IV: ...
             <answer>
               <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"&gt;
-  
+
   &lt;xsl:output indent="yes" method="xhtml"/&gt;
-  
+
   &lt;xsl:template match="/book"&gt;
     &lt;html&gt;
       &lt;head&gt;
@@ -1175,7 +1175,7 @@ IV: ...
       &lt;/body&gt;
     &lt;/html&gt;
   &lt;/xsl:template&gt;
-  
+
   &lt;xsl:template match="chapter"&gt;
     &lt;h2&gt;&lt;xsl:value-of select="title"/&gt;&lt;/h2&gt;
     &lt;xsl:apply-templates select="para"/&gt;
@@ -1392,7 +1392,7 @@ IV: ...
       class="starttag">emphasis</tag> child nodes:</para>
 
       <programlisting language="xml">&lt;content&gt;The <emphasis role="bold">&lt;url href="http://w3.org/XML"&gt;XML&lt;/url&gt;</emphasis> language
-  is <emphasis role="bold">&lt;emphasis&gt;easy&lt;/emphasis&gt;</emphasis> to learn. However you need 
+  is <emphasis role="bold">&lt;emphasis&gt;easy&lt;/emphasis&gt;</emphasis> to learn. However you need
   some <emphasis role="bold">&lt;emphasis&gt;time&lt;/emphasis&gt;</emphasis>.&lt;/content&gt;</programlisting>
 
       <para>Embedded element nodes have been set to bold style in order to
@@ -2069,15 +2069,15 @@ Jack Eve Jude  &lt;----Tolstoi----&gt; <co
 &lt;/xsl:template&gt;
 
 &lt;xsl:template match="to"&gt;
-  <emphasis role="bold">&lt;xsl:result-document</emphasis> 
-                  <co xml:id="programlisting_xsl_result_document_main"/> 
-                  <emphasis role="bold">href="file_{position()}.txt"</emphasis> 
-                  <co xml:id="programlisting_xsl_result_document_href"/> 
-                  <emphasis role="bold">method="text"</emphasis> 
+  <emphasis role="bold">&lt;xsl:result-document</emphasis>
+                  <co xml:id="programlisting_xsl_result_document_main"/>
+                  <emphasis role="bold">href="file_{position()}.txt"</emphasis>
+                  <co xml:id="programlisting_xsl_result_document_href"/>
+                  <emphasis role="bold">method="text"</emphasis>
                   <co xml:id="programlisting_xsl_result_document_method"/>&gt;
     &lt;xsl:value-of select="."/&gt; <co
           xml:id="programlisting_xsl_result_document_content"/>
-  
+
                   <emphasis role="bold">&lt;/xsl:result-document&gt;</emphasis>
 &lt;/xsl:template&gt;</programlisting>
 
@@ -2147,7 +2147,7 @@ Jack Eve Jude  &lt;----Tolstoi----&gt; <co
   &lt;xsl:result-document href="index.html"&gt;
     &lt;xsl:apply-templates select="book"/&gt;
   &lt;/xsl:result-document&gt;
-  
+
   &lt;xsl:for-each select="book/chapter"&gt;
     &lt;xsl:result-document href="{generate-id(.)}.html"&gt;
       &lt;xsl:apply-templates select="."/&gt;
@@ -2180,7 +2180,7 @@ Jack Eve Jude  &lt;----Tolstoi----&gt; <co
   &lt;xsl:variable name="reftargetNode" select="id(@linkend)"/&gt;
   &lt;xsl:variable name="reftargetParentChapter"
     select="$reftargetNode/ancestor-or-self::chapter"/&gt;
-  
+
   &lt;a href="{generate-id($reftargetParentChapter)}.html#{
     generate-id($reftargetNode)}"&gt;
     &lt;xsl:value-of select="."/&gt;
@@ -2353,7 +2353,7 @@ Jack Eve Jude  &lt;----Tolstoi----&gt; <co
             test="node()"&gt;...</code> conditionals inside.</para>
 
             <programlisting language="xml">    &lt;xsl:output method="xhtml" indent="no"/&gt;
-    
+
     &lt;xsl:template match="/"&gt;
         &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
             &lt;head&gt;
@@ -2366,7 +2366,7 @@ Jack Eve Jude  &lt;----Tolstoi----&gt; <co
             &lt;/body&gt;
         &lt;/html&gt;
     &lt;/xsl:template&gt;
-    
+
     &lt;!-- Matching elements containing text or other nodes --&gt;
     &lt;xsl:template match="*[node()]"&gt;
         &lt;xsl:text&gt;&amp;lt;&lt;/xsl:text&gt;
@@ -2374,17 +2374,17 @@ Jack Eve Jude  &lt;----Tolstoi----&gt; <co
             &lt;xsl:value-of select="name(.)"/&gt;
         &lt;/span&gt;
         &lt;xsl:apply-templates select="@*"/&gt;
-        
+
         &lt;xsl:text&gt;&amp;gt;&lt;/xsl:text&gt;
         &lt;xsl:apply-templates select="node()|text()"/&gt;
-        
+
         &lt;xsl:text&gt;&amp;lt;/&lt;/xsl:text&gt;
         &lt;span style="color: Blue;"&gt;
             &lt;xsl:value-of select="name(.)"/&gt;
         &lt;/span&gt;
         &lt;xsl:text&gt;&amp;gt;&lt;/xsl:text&gt;
     &lt;/xsl:template&gt;
-    
+
     &lt;!-- Matching empty elements --&gt;
     &lt;xsl:template match="*"&gt;
         &lt;xsl:text&gt;&amp;lt;&lt;/xsl:text&gt;
@@ -2392,12 +2392,12 @@ Jack Eve Jude  &lt;----Tolstoi----&gt; <co
             &lt;xsl:value-of select="name(.)"/&gt;
         &lt;/span&gt;
         &lt;xsl:apply-templates select="@*"/&gt;
-        
+
         &lt;span style="color: Aqua;"&gt;
             &lt;xsl:text&gt;/&amp;gt;&lt;/xsl:text&gt;
         &lt;/span&gt;
     &lt;/xsl:template&gt;
-    
+
     &lt;!-- Matching attributes --&gt;
     &lt;xsl:template match="@*"&gt;
         &lt;xsl:text&gt; &lt;/xsl:text&gt;
diff --git a/Doc/Sdi/dns.xml b/Doc/Sdi/dns.xml
index c6fead01e7f1cabeefbc884a84c5471b121e0ab6..20e1465c4f01d61af483866f877481ccea620798 100644
--- a/Doc/Sdi/dns.xml
+++ b/Doc/Sdi/dns.xml
@@ -162,7 +162,7 @@ zone "75.62.141.in-addr.arpa" {
 
               <glossdef>
                 <screen>;
-; BIND data file 
+; BIND data file
 ;
 $TTL    604800
 @       IN      SOA     ns4.mi.hdm-stuttgart.de. root.mi.hdm-stuttgart.de. (
@@ -192,7 +192,7 @@ www4.mi.hdm-stuttgart.de.         IN      A       141.62.75.104</screen>
               <glossterm><filename>/etc/bind/zones/db.141.62.75</filename></glossterm>
 
               <glossdef>
-                <screen>; BIND reverse data file 
+                <screen>; BIND reverse data file
 ;
 $TTL    604800
 @       IN      SOA     ns4.mi.hdm-stuttgart.de. root.mi.hdm-stuttgart.de. (
diff --git a/Doc/Sdi/docker.xml b/Doc/Sdi/docker.xml
index 7b7d659b84b9ef376a4168008fb7976aca03fc85..8b61f07c7f60d2a199e6ca865e2d930550f4ca28 100644
--- a/Doc/Sdi/docker.xml
+++ b/Doc/Sdi/docker.xml
@@ -31,7 +31,7 @@
   <figure xml:id="sdiDocker_Hub">
     <title>Docker hub</title>
 
-    <para>Repository hosting publicly available Docker images: </para>
+    <para>Repository hosting publicly available Docker images:</para>
 
     <para><uri
     xlink:href="https://hub.docker.com/explore">https://hub.docker.com/explore</uri></para>
@@ -46,14 +46,14 @@ NAME                       DESCRIPTION      <link
         xlink:href="https://docs.docker.com/docker-hub/repos/#stars">STARS</link>  <link
         xlink:href="https://docs.docker.com/docker-hub/official_repos">OFFICIAL</link>   <link
         xlink:href="https://docs.docker.com/docker-cloud/builds/automated-build">AUTOMATED</link>
-nextcloud                  A safe home …    424    [OK]                
-linuxserver/nextcloud      A Nextcloud …    56                                      
+nextcloud                  A safe home …    424    [OK]
+linuxserver/nextcloud      A Nextcloud …    56
 greyltc/nextcloud          Nextcloud: …     34                [OK]
 wonderfall/nextcloud       All-in-one …     27                [OK]
 rootlogin/nextcloud        Nextcloud …      17                [OK]
-lsioarmhf/nextcloud        ARMHF based …    8                                       
-ownyourbits/nextcloudpi    NextCloud ARM …  7                                       
-...                     </screen>
+lsioarmhf/nextcloud        ARMHF based …    8
+ownyourbits/nextcloudpi    NextCloud ARM …  7
+...</screen>
   </figure>
 
   <figure xml:id="sdiDocker_figPullImage">
@@ -63,7 +63,7 @@ ownyourbits/nextcloudpi    NextCloud ARM …  7
         xlink:href="https://docs.docker.com/engine/reference/commandline/image_pull">docker image pull</link> alpine
 Using default tag: latest
 latest: Pulling from library/alpine
-<emphasis role="red">ff3a5c916c92</emphasis>: Pull complete 
+<emphasis role="red">ff3a5c916c92</emphasis>: Pull complete
 Digest: sha256:7df6db5aa61ae9480f52f0b3a06a140ab98d427f86d8d5de0bedab9b8df6b1c0
 Status: Downloaded newer image for alpine:latest</screen>
   </figure>
@@ -84,10 +84,10 @@ latest: Pulling from wonderfall/nextcloud
         xml:id="sdiDocker_figPullNextcloudImage-3-co"/>
 a542d4c3cffb: Pull complete <co linkends="sdiDocker_figPullNextcloudImage-4"
         xml:id="sdiDocker_figPullNextcloudImage-4-co"/>
-83001cc0bea0: Pull complete 
-41a33c66b2c1: Pull complete 
-a70bf67726f3: Pull complete 
-fea90b3d29ac: Pull complete 
+83001cc0bea0: Pull complete
+41a33c66b2c1: Pull complete
+a70bf67726f3: Pull complete
+fea90b3d29ac: Pull complete
 Digest: sha256:472c5c7...2ca20cca45 <co
         linkends="sdiDocker_figPullNextcloudImage-5"
         xml:id="sdiDocker_figPullNextcloudImage-5-co"/>
@@ -161,12 +161,12 @@ Status: Downloaded newer image for wonderfall/nextcloud:latest</screen>
 
     <screen>&gt; docker image pull nextcloud:13.0.2
 13.0.2: Pulling from library/nextcloud
-3d77ce4481b1: Pull complete 
-32bfdb6043a8: Pull complete 
-028453741593: Pull complete 
-f93d7bd342a3: Pull complete 
-4a2fac611953: Pull complete 
-87fdfc7d0f94: Pull complete 
+3d77ce4481b1: Pull complete
+32bfdb6043a8: Pull complete
+028453741593: Pull complete
+f93d7bd342a3: Pull complete
+4a2fac611953: Pull complete
+87fdfc7d0f94: Pull complete
 Digest: sha256:c693921e69cb8...50156d973df035
 Status: Downloaded newer image for nextcloud:13.0.2</screen>
   </figure>
@@ -175,9 +175,9 @@ Status: Downloaded newer image for nextcloud:13.0.2</screen>
     <title>Maven ringing a bell?</title>
 
     <programlisting language="xml">&lt;dependency&gt;
-    &lt;groupId&gt;junit&lt;/groupId&gt; &lt;!-- <emphasis role="red">wonderfall</emphasis> --&gt;
-    &lt;artifactId&gt;junit&lt;/artifactId&gt; &lt;!-- <emphasis role="red">nextcloud</emphasis> --&gt;
-    &lt;version&gt;4.12&lt;/version&gt;        
+  &lt;groupId&gt;junit&lt;/groupId&gt;           &lt;!-- <emphasis role="red">wonderfall</emphasis> --&gt;
+  &lt;artifactId&gt;junit&lt;/artifactId&gt;     &lt;!-- <emphasis role="red">nextcloud</emphasis> --&gt;
+  &lt;version&gt;4.12&lt;/version&gt;            &lt;!-- <emphasis role="red">13.0.2</emphasis> --&gt;
 &lt;/dependency&gt;</programlisting>
   </figure>
 
diff --git a/Doc/Sdi/gettingStarted.xml b/Doc/Sdi/gettingStarted.xml
index 1e3afc176248f0c6972c86a5dbdb20e3d73aa351..27f5472053c04fed70ace8c0cb1872a7a2461e35 100644
--- a/Doc/Sdi/gettingStarted.xml
+++ b/Doc/Sdi/gettingStarted.xml
@@ -40,7 +40,7 @@ drwx------+ 32 mistudent mi    0 Okt 17 17:44 ..
     <abbrev>cifs</abbrev> based network file systems using extended ACLs. We
     may ask <command>getfacl</command> for details:</para>
 
-    <screen>mistudent@w10m:~/.ssh$ getfacl  authorized_keys 
+    <screen>mistudent@w10m:~/.ssh$ getfacl  authorized_keys
 # file: authorized_keys
 # owner: mistudent
 # group: mi
@@ -57,7 +57,7 @@ other::---</screen>
 
     <screen>mistudent@w10m:~/.ssh$ setfacl -m user:mistudent:--- authorized_keys
 mistudent@w10m:~/.ssh$ setfacl -m user::rw- authorized_keys
-mistudent@w10m:~/.ssh$ getfacl authorized_keys 
+mistudent@w10m:~/.ssh$ getfacl authorized_keys
 # file: authorized_keys
 # owner: mistudent
 # group: mi
@@ -68,7 +68,7 @@ group:users:---
 mask::---
 other::---
 
-mistudent@w10m:~/ssh$ ls -al authorized_keys 
+mistudent@w10m:~/ssh$ ls -al authorized_keys
 -rw-------+ 1 mistudent mi 396 Okt 17 17:45 authorized_keys</screen>
 
     <para>Addressing each file and the directory itself in a similar fashion
@@ -91,7 +91,7 @@ The authenticity of host 'sdi4a.mi.hdm-stuttgart.de (141.62.75.104)' can't be es
 ECDSA key fingerprint is b1:ee:e1:3d:db:3c:0b:06:e9:fb:b3:ae:b8:ed:e2:a8.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added 'sdi4a.mi.hdm-stuttgart.de,141.62.75.104' (ECDSA) to the list of known hosts.
-root@sdi4a.mi.hdm-stuttgart.de's password: 
+root@sdi4a.mi.hdm-stuttgart.de's password:
 Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 2.6.32-19-pve x86_64)
 
  * Documentation:  https://help.ubuntu.com/
@@ -107,8 +107,8 @@ Last login: Fri Mar 27 08:29:40 2015 from 192.168.1.66</screen>
         still using password access:</para>
 
         <screen>root@goiki:~# scp /ma/goik/.ssh/id_rsa.pub root@sdi4a.mi.hdm-stuttgart.de:
-root@sdi4a.mi.hdm-stuttgart.de's password: 
-id_rsa.pub                                  100%  736     0.7KB/s   00:00    
+root@sdi4a.mi.hdm-stuttgart.de's password:
+id_rsa.pub                                  100%  736     0.7KB/s   00:00
 </screen>
       </listitem>
 
diff --git a/Doc/Sdi/ldap.xml b/Doc/Sdi/ldap.xml
index ba5cc2dae9e1f40f618de32916ed15041939fc6f..563625541b260482b7963e95de142a7117e25ce1 100644
--- a/Doc/Sdi/ldap.xml
+++ b/Doc/Sdi/ldap.xml
@@ -537,7 +537,7 @@ olcRootPW: {ssha}pHE+EPOG2gyRyOgjvFqsWOb5zGsGl9CD</screen>
       <para>Activating this configuration my be effected by using <command
       xlink:href="http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;apropos=0&amp;sektion=0&amp;manpath=OpenLDAP+2.4-Release&amp;format=html">ldapmodify</command>:</para>
 
-      <screen>root@sdi8a:~# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f ~/add_olcRootPW.ldif 
+      <screen>root@sdi8a:~# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f ~/add_olcRootPW.ldif
 modifying entry "olcDatabase={0}config,cn=config"</screen>
 
       <para>This activation in turn enables a new account:</para>
diff --git a/Doc/Sdi/samba.xml b/Doc/Sdi/samba.xml
index 0b5fbcecd69ccf54b5057c291b01b2ade25a60af..228de87b824b27695dcb28735519bd494f477537 100644
--- a/Doc/Sdi/samba.xml
+++ b/Doc/Sdi/samba.xml
@@ -44,7 +44,7 @@
         xlink:href="http://linux.die.net/man/1/smbclient">smbclient</command>:</para>
 
         <screen>root@sdi4a:~# smbclient  -L localhost --user smbtester
-Enter smbtester's password: 
+Enter smbtester's password:
 Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
 
 	Sharename       Type      Comment
@@ -71,10 +71,10 @@ Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
         Mac-OS or Linux):</para>
 
         <screen>root@mi-ESPRIMO-P910:~# mount -t cifs  //sdi4a.mi.hdm-stuttgart.de/smbtester /mnt/test/ -ouser=smbtester
-Password for smbtester@//sdi4a.mi.hdm-stuttgart.de/smbtester: 
+Password for smbtester@//sdi4a.mi.hdm-stuttgart.de/smbtester:
 root@mi-ESPRIMO-P910:~# cat /mnt/test/
-.bash_history  q.txt          .viminfo       
-root@mi-ESPRIMO-P910:~# cat /mnt/test/q.txt 
+.bash_history  q.txt          .viminfo
+root@mi-ESPRIMO-P910:~# cat /mnt/test/q.txt
 Mal sehen ...
 root@mi-ESPRIMO-P910:~# df /mnt/test/
 Filesystem                            1K-blocks   Used Available Use% Mounted on
diff --git a/Doc/Tdoc/general.xml b/Doc/Tdoc/general.xml
index e5b37dfbdc4afef9f36c8ddda9b42ecb9966f9d1..5f1eab538ffa750900da2eb33fa92ff4661be217 100644
--- a/Doc/Tdoc/general.xml
+++ b/Doc/Tdoc/general.xml
@@ -868,7 +868,7 @@
             <td><programlisting language="html"><code>&lt;h1 id="start"
 &gt;First section&lt;/h1&gt;
 &lt;p&gt;A remark.&lt;/p&gt;
-        
+
 &lt;h2&gt;A subsection&lt;/h2&gt;
 &lt;p&gt;See &lt;a href="#start"
 &gt;remark&lt;/a&gt;.&lt;/p&gt;
@@ -877,7 +877,7 @@
             <th><xref linkend="glo_Docbook"/></th>
 
             <td><programlisting language="xml"><code>&lt;section xml:id="start"&gt;
- &lt;title&gt;First 
+ &lt;title&gt;First
    section&lt;/title&gt;
  &lt;para&gt;A remark.&lt;/para&gt;
  &lt;section&gt;
@@ -1132,7 +1132,7 @@ See remark at page 1.</literallayout></td>
     <figure xml:id="tdocSectDocbookRepresentation">
       <title>Document representation</title>
 
-      <programlisting language="xml">&lt;section version="5.1" 
+      <programlisting language="xml">&lt;section version="5.1"
   xmlns="http://docbook.org/ns/docbook"
   ...&gt;
 
@@ -1573,7 +1573,7 @@ See remark at page 1.</literallayout></td>
 
               <td valign="top"><programlisting language="xml">&lt;itemizedlist&gt;
   &lt;listitem&gt;
-    &lt;para&gt;Bee&lt;/para&gt;   
+    &lt;para&gt;Bee&lt;/para&gt;
   &lt;/listitem&gt;
   &lt;listitem&gt;
     &lt;para&gt;Ant&lt;/para&gt;
@@ -1582,7 +1582,7 @@ See remark at page 1.</literallayout></td>
 
               <td valign="top"><programlisting language="xml">&lt;ul&gt;
   &lt;li&gt;
-    &lt;p&gt;Bee&lt;/p&gt;   
+    &lt;p&gt;Bee&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;Ant&lt;/p&gt;
@@ -1617,7 +1617,7 @@ See remark at page 1.</literallayout></td>
 
               <td valign="top"><programlisting language="xml">&lt;orderedlist&gt;
   &lt;listitem&gt;
-    &lt;para&gt;Bee&lt;/para&gt;   
+    &lt;para&gt;Bee&lt;/para&gt;
   &lt;/listitem&gt;
 
   &lt;listitem&gt;
@@ -1627,7 +1627,7 @@ See remark at page 1.</literallayout></td>
 
               <td valign="top"><programlisting language="xml">&lt;ol&gt;
   &lt;li&gt;
-    &lt;p&gt;Bee&lt;/p&gt;   
+    &lt;p&gt;Bee&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;Ant&lt;/p&gt;
@@ -1676,7 +1676,7 @@ See remark at page 1.</literallayout></td>
     &lt;/glossdef&gt;
   &lt;/glossentry&gt;
   &lt;glossentry&gt;
-    &lt;glossterm&gt;Mouse&lt;/glossterm&gt;   
+    &lt;glossterm&gt;Mouse&lt;/glossterm&gt;
     &lt;glossdef&gt;
       &lt;para&gt;Mammal&lt;/para&gt;
     &lt;/glossdef&gt;
@@ -1687,7 +1687,7 @@ See remark at page 1.</literallayout></td>
   &lt;dt&gt;Bee&lt;/dt&gt;
   &lt;dd&gt;Insect&lt;/dd&gt;
   &lt;dt&gt;Mouse&lt;/dt&gt;
-  &lt;dd&gt;Mammal&lt;/dd&gt;   
+  &lt;dd&gt;Mammal&lt;/dd&gt;
 &lt;/dl&gt;</programlisting></td>
             </tr>
           </informaltable>
@@ -1734,7 +1734,7 @@ See remark at page 1.</literallayout></td>
     &lt;para&gt;Tea&lt;/para&gt;
     &lt;itemizedlist&gt;
       &lt;listitem&gt;
-        &lt;para&gt;black&lt;/para&gt;   
+        &lt;para&gt;black&lt;/para&gt;
       &lt;/listitem&gt;
       &lt;listitem&gt;
         &lt;para&gt;green&lt;/para&gt;
@@ -1750,7 +1750,7 @@ See remark at page 1.</literallayout></td>
   &lt;li&gt;
     &lt;p&gt;Tea&lt;/p&gt;
     &lt;ul&gt;
-      &lt;li&gt;black&lt;/li&gt;   
+      &lt;li&gt;black&lt;/li&gt;
       &lt;li&gt;green&lt;/li&gt;
     &lt;/ul&gt;
   &lt;/li&gt;
@@ -1802,7 +1802,7 @@ See remark at page 1.</literallayout></td>
     &lt;td&gt;A2&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
-    &lt;td colspan="2"&gt;B&lt;/td&gt;   
+    &lt;td colspan="2"&gt;B&lt;/td&gt;
   &lt;/tr&gt;
 &lt;/informaltable&gt;</programlisting></td>
 
@@ -1816,7 +1816,7 @@ See remark at page 1.</literallayout></td>
     &lt;td&gt;A2&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
-    &lt;td colspan="2"&gt;B&lt;/td&gt;   
+    &lt;td colspan="2"&gt;B&lt;/td&gt;
   &lt;/tr&gt;
 &lt;/table&gt;</programlisting></td>
             </tr>
@@ -1910,7 +1910,7 @@ See remark at page 1.</literallayout></td>
   &lt;mathphrase&gt;
   $ |x| = \left\{
    \begin{array}{rl}
-    -x &amp; \mbox{if $x&amp;lt;0$} \\   
+    -x &amp; \mbox{if $x&amp;lt;0$} \\
      x &amp; \mbox{otherwise}
    \end{array}\right.$
   &lt;/mathphrase&gt;
@@ -1919,7 +1919,7 @@ See remark at page 1.</literallayout></td>
               <td valign="top"><programlisting language="xml">&lt;span class="mathphrase"&gt;
   $ |x| = \left\{
    \begin{array}{rl}
-    -x &amp; \mbox{if $x&amp;lt;0$} \\   
+    -x &amp; \mbox{if $x&amp;lt;0$} \\
      x &amp; \mbox{otherwise}
    \end{array}\right.$
 &lt;/span&gt;</programlisting></td>
@@ -2103,7 +2103,7 @@ See remark at page 1.</literallayout></td>
                 </caution></td>
 
               <td valign="top"><programlisting language="xml">&lt;caution&gt;
-  &lt;para&gt;Beware of overheating!&lt;/para&gt;   
+  &lt;para&gt;Beware of overheating!&lt;/para&gt;
 &lt;/caution&gt;</programlisting></td>
             </tr>
           </informaltable>
@@ -2134,7 +2134,7 @@ See remark at page 1.</literallayout></td>
           <informaltable border="1">
             <tr>
               <td valign="top"><programlisting language="xml">&lt;chapter version="5.1"
-  xmlns="http://docbook.org/ns/docbook"&gt;   
+  xmlns="http://docbook.org/ns/docbook"&gt;
   &lt;title&gt;Top&lt;/title&gt;
   &lt;section&gt;
     &lt;title&gt;Level 1&lt;/title&gt;
@@ -2155,7 +2155,7 @@ See remark at page 1.</literallayout></td>
     &lt;h2&gt;Level 1&lt;/h2&gt;
     &lt;h3&gt;Level 2&lt;/h3&gt;
     &lt;h4&gt;Level 3&lt;/h4&gt;
-    &lt;p&gt;Hello!&lt;/p&gt;&lt;/body&gt;   
+    &lt;p&gt;Hello!&lt;/p&gt;&lt;/body&gt;
 &lt;/html&gt;</programlisting></td>
             </tr>
           </informaltable>
@@ -2167,7 +2167,7 @@ See remark at page 1.</literallayout></td>
           <informaltable border="1">
             <tr>
               <td valign="top"><programlisting language="xml">&lt;chapter version="5.1"
-  xmlns="http://docbook.org/ns/docbook"&gt;   
+  xmlns="http://docbook.org/ns/docbook"&gt;
   &lt;title&gt;Top&lt;/title&gt;
   &lt;sect1&gt;
     &lt;title&gt;Level 1&lt;/title&gt;
@@ -2188,7 +2188,7 @@ See remark at page 1.</literallayout></td>
     &lt;h2&gt;Level 1&lt;/h2&gt;
     &lt;h3&gt;Level 2&lt;/h3&gt;
     &lt;h4&gt;Level 3&lt;/h4&gt;
-    &lt;p&gt;Hello!&lt;/p&gt;&lt;/body&gt;   
+    &lt;p&gt;Hello!&lt;/p&gt;&lt;/body&gt;
 &lt;/html&gt;</programlisting></td>
             </tr>
           </informaltable>
@@ -2246,7 +2246,7 @@ See &lt;xref linkend="intro"/&gt; ...</programlisting>
               <glossdef>
                 <para>These are <quote>usual</quote> hypertext links:</para>
 
-                <programlisting language="xml">&lt;para&gt;See 
+                <programlisting language="xml">&lt;para&gt;See
 &lt;link href="http://tdg.docbook.org"&gt;Docbook&lt;/link&gt;
 .&lt;/para&gt;</programlisting>
               </glossdef>
@@ -2445,7 +2445,7 @@ See &lt;xref linkend="intro"/&gt; ...</programlisting>
     &lt;title&gt;First section&lt;/title&gt;
     &lt;para&gt;A stable link&lt;/para&gt;
   &lt;/section&gt;
-  &lt;section&gt; &lt;!-- no xml:id attribute--&gt;    
+  &lt;section&gt; &lt;!-- no xml:id attribute--&gt;
     &lt;title&gt;Second section&lt;/title&gt;
     &lt;para&gt;No stable link&lt;/para&gt; ...</programlisting></td>
 
@@ -2453,7 +2453,7 @@ See &lt;xref linkend="intro"/&gt; ...</programlisting>
 &lt;html&gt;
   ...
 &lt;h2 id="firstSection" <co linkends="xmlc_colist_permalink-2"
-                  xml:id="xmlc_colist_permalink-2-co"/>&gt;First section&lt;/h2&gt;    
+                  xml:id="xmlc_colist_permalink-2-co"/>&gt;First section&lt;/h2&gt;
 &lt;p&gt;A stable link&lt;/p&gt;
 
 &lt;h2 id="d03213" <co linkends="xmlc_colist_permalink-3"
@@ -3069,7 +3069,7 @@ div.equation &gt; p.title {
     <figure xml:id="xmlc_fig_monolithicExample">
       <title>A monolithic document</title>
 
-      <programlisting language="xml">&lt;book version="5.1" 
+      <programlisting language="xml">&lt;book version="5.1"
   xmlns="http://docbook.org/ns/docbook"&gt;
   &lt;chapter version="5.1" xml:id="start"&gt;
     &lt;title&gt;Start&lt;/title&gt;
@@ -3107,10 +3107,10 @@ div.equation &gt; p.title {
           language="xml">&lt;book version="5.1" <co
                 linkends="xmlc_cout_masterExample-1"
                 xml:id="xmlc_cout_masterExample-1-co"/>
-  xmlns="http://docbook.org/ns/docbook" 
+  xmlns="http://docbook.org/ns/docbook"
   xmlns:xi="http://www.w3.org/2001/XInclude"&gt; <co
                 linkends="xmlc_cout_masterExample-2"
-                xml:id="xmlc_cout_masterExample-2-co"/>    
+                xml:id="xmlc_cout_masterExample-2-co"/>
   &lt;xi:include href="start.xml" <co linkends="xmlc_cout_masterExample-3"
                 xml:id="xmlc_cout_masterExample-3-co"/>
      xpointer="element(/1)"/&gt; <co linkends="xmlc_cout_masterExample-4"
@@ -3126,9 +3126,9 @@ div.equation &gt; p.title {
           valign="top"><para><filename>start.xml</filename></para><programlisting
           language="xml">&lt;chapter version="5.1" <coref
                 linkend="xmlc_cout_masterExample-1-co"/>
-xmlns="http://docbook.org/ns/docbook"&gt;    
+xmlns="http://docbook.org/ns/docbook"&gt;
   &lt;title&gt;Start&lt;/title&gt;
-  &lt;para&gt;See 
+  &lt;para&gt;See
      &lt;xref linkend="intro"/&gt;.&lt;/para&gt;
 &lt;/chapter&gt;</programlisting></td>
         </tr>
@@ -3138,7 +3138,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
           valign="top"><para><filename>intro.xml</filename></para><programlisting
           language="xml">&lt;chapter version="5.1" <coref
                 linkend="xmlc_cout_masterExample-1-co"/>
-xmlns="http://docbook.org/ns/docbook"&gt;    
+xmlns="http://docbook.org/ns/docbook"&gt;
 &lt;title&gt;Introduction&lt;/title&gt;
   &lt;para&gt;Basic stuff.&lt;/para&gt;
 &lt;/chapter&gt;</programlisting></td>
@@ -3258,7 +3258,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
           <td valign="top"><programlisting language="xml">&lt;element name="aBook"&gt;
   &lt;zeroOrMore&gt;
     &lt;element name="person"&gt;
-      &lt;element name="fullName"&gt;   
+      &lt;element name="fullName"&gt;
         &lt;text/&gt;
       &lt;/element&gt;
       &lt;element name="email"&gt;
@@ -3271,7 +3271,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
           <td valign="top"><programlisting language="xml">&lt;aBook&gt;
   &lt;person&gt;
     &lt;fullName&gt;Jim Bone&lt;/fullName&gt;
-    &lt;email&gt;bone@mycity.com&lt;/email&gt;   
+    &lt;email&gt;bone@mycity.com&lt;/email&gt;
   &lt;/person&gt;
 &lt;/aBook&gt;</programlisting></td>
         </tr>
@@ -3385,20 +3385,20 @@ xmlns="http://docbook.org/ns/docbook"&gt;
             <filename>mybook.rng</filename>:</para>
 
             <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;grammar 
+&lt;grammar
     xmlns="http://relaxng.org/ns/structure/1.0"
     xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
     datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"&gt;
     &lt;start&gt;
         &lt;ref name="d.book"/&gt;
     &lt;/start&gt;
-    
+
     &lt;define name="d.book"&gt;
         &lt;element name="book"&gt;
             &lt;text/&gt;
         &lt;/element&gt;
     &lt;/define&gt;
-    
+
     <emphasis role="bold">&lt;!-- TODO: extend me accordingly ... --&gt;</emphasis>
 &lt;/grammar&gt;</programlisting>
           </question>
@@ -3425,7 +3425,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
   ...
   &lt;chapter&gt;
     &lt;title&gt;Introduction&lt;/title&gt;
-    &lt;para&gt;First section.&lt;/para&gt;    
+    &lt;para&gt;First section.&lt;/para&gt;
   &lt;/chapter&gt; ...
 &lt;/book&gt;</programlisting></td>
 
@@ -3433,7 +3433,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
   &lt;head&gt;...&lt;/head&gt;
   &lt;body&gt;
      &lt;h1&gt;Introduction&lt;/h1&gt;
-     &lt;p&gt;First section.&lt;/p&gt; ...   
+     &lt;p&gt;First section.&lt;/p&gt; ...
   &lt;/body&gt;
 &lt;/html&gt;</programlisting></td>
           </tr>
@@ -3451,7 +3451,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
         &lt;xsl:value-of select="title"/&gt;
       &lt;/h1&gt;
     &lt;/body&gt;
-  &lt;/html&gt;        
+  &lt;/html&gt;
 &lt;/xsl:template&gt;</programlisting>
       </figure>
 
@@ -3463,11 +3463,11 @@ xmlns="http://docbook.org/ns/docbook"&gt;
           <tr>
             <td rowspan="3"><programlisting language="xml">&lt;xsl:template match="title"&gt;
   &lt;h1&gt;
-    &lt;xsl:value-of select="."/&gt;    
-  &lt;/h1&gt;        
+    &lt;xsl:value-of select="."/&gt;
+  &lt;/h1&gt;
 &lt;/xsl:template&gt;</programlisting></td>
 
-            <td><programlisting language="xml">&lt;title&gt;Some content&lt;/title&gt;   </programlisting></td>
+            <td><programlisting language="xml">&lt;title&gt;Some content&lt;/title&gt;</programlisting></td>
           </tr>
 
           <tr>
@@ -3475,7 +3475,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
           </tr>
 
           <tr>
-            <td><programlisting language="xml">&lt;h1&gt;Some content&lt;/h1&gt;   </programlisting></td>
+            <td><programlisting language="xml">&lt;h1&gt;Some content&lt;/h1&gt;</programlisting></td>
           </tr>
         </informaltable>
       </figure>
@@ -3506,8 +3506,8 @@ xmlns="http://docbook.org/ns/docbook"&gt;
     &lt;chapter&gt;
         &lt;title&gt;General&lt;/title&gt;
         &lt;paragraph&gt;Java is a programming language offering:&lt;/paragraph&gt;
-        &lt;itemizedlist&gt;           
-            
+        &lt;itemizedlist&gt;
+
             &lt;listitem&gt;
                 &lt;paragraph&gt;Procedural elements&lt;/paragraph&gt;
                 &lt;itemizedlist&gt;
@@ -3528,7 +3528,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
             &lt;listitem&gt;
                 &lt;paragraph&gt;Functional elements&lt;/paragraph&gt;
             &lt;/listitem&gt;
-            
+
         &lt;/itemizedlist&gt;
     &lt;/chapter&gt;
     &lt;chapter&gt;
@@ -3550,7 +3550,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     exclude-result-prefixes="xs"
     version="2.0"&gt;
-    
+
     &lt;xsl:output method="xml" indent="yes"/&gt;
     &lt;xsl:template match="/book"&gt;
         &lt;html&gt;
@@ -3566,19 +3566,19 @@ xmlns="http://docbook.org/ns/docbook"&gt;
                 &lt;!-- See match="chapter" template below --&gt;
                 &lt;xsl:apply-templates select="chapter"/&gt;
             &lt;/body&gt;
-        &lt;/html&gt;        
+        &lt;/html&gt;
     &lt;/xsl:template&gt;
-    
+
     &lt;xsl:template match="chapter"&gt;
         &lt;!-- TODO: Implement me! --&gt;
     &lt;/xsl:template&gt;
-    
-    
-    &lt;!-- TODO: More templates have to be defined 
-               addressing &lt;title&gt;, &lt;paragraph&gt;, ...    
+
+
+    &lt;!-- TODO: More templates have to be defined
+               addressing &lt;title&gt;, &lt;paragraph&gt;, ...
     --&gt;
-    
-    
+
+
     &lt;!-- Protecting against missing template definitions --&gt;
     &lt;xsl:template match="*"&gt;
         &lt;p style="color:red;"&gt;
@@ -3587,7 +3587,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
             &lt;xsl:text&gt;'&lt;/xsl:text&gt;
         &lt;/p&gt;
     &lt;/xsl:template&gt;
-    
+
 &lt;/xsl:stylesheet&gt;</programlisting>
                 </listitem>
 
@@ -3600,7 +3600,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
       &lt;title&gt;Introducing Java&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
-      &lt;h1&gt;Introducing Java&lt;/h1&gt;        
+      &lt;h1&gt;Introducing Java&lt;/h1&gt;
     &lt;/body&gt;
 &lt;/html&gt;</programlisting>
                 </listitem>
@@ -3618,8 +3618,8 @@ xmlns="http://docbook.org/ns/docbook"&gt;
       &lt;h1&gt;Introducing Java&lt;/h1&gt;
         &lt;h2&gt;General&lt;/h2&gt;
         &lt;p&gt;Java is a programming language offering:&lt;/p&gt;
-        &lt;ul&gt;           
-            
+        &lt;ul&gt;
+
             &lt;li&gt;
                 &lt;p&gt;Procedural elements&lt;/p&gt;
                 &lt;ul&gt;
@@ -3640,9 +3640,9 @@ xmlns="http://docbook.org/ns/docbook"&gt;
             &lt;li&gt;
                 &lt;p&gt;Functional elements&lt;/p&gt;
             &lt;/li&gt;
-            
+
         &lt;/ul&gt;
-    
+
         &lt;h2&gt;JDK&lt;/h2&gt;
         &lt;p&gt;The Java developers kit (JDK) provides both a runtime environment
              and a compiler.&lt;/p&gt;
@@ -3687,7 +3687,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
 &lt;xsl:template match="paragraph"&gt;
         ...
 &lt;/xsl:template&gt;
-    
+
 &lt;!-- Non-default language --&gt;
 &lt;xsl:template match="paragraph[@lang]"&gt;
         ...
@@ -3771,7 +3771,7 @@ xmlns="http://docbook.org/ns/docbook"&gt;
 
                   <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
-    
+
     &lt;fo:layout-master-set&gt;
         &lt;!-- Define a simple page layout --&gt;
         &lt;fo:simple-page-master master-name="simplePageLayout"
@@ -3866,11 +3866,11 @@ xmlns="http://docbook.org/ns/docbook"&gt;
 
               <programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;xsl:stylesheet version="1.0"
-    xmlns:fo="http://www.w3.org/1999/XSL/Format" 
+    xmlns:fo="http://www.w3.org/1999/XSL/Format"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
-    
+
     &lt;xsl:output method="xml" indent="yes"/&gt;
-    
+
     &lt;xsl:template match="/book"&gt;
         &lt;fo:root&gt;
             &lt;fo:layout-master-set&gt;
diff --git a/Doc/Tdoc/software.xml b/Doc/Tdoc/software.xml
index efcd2fe7e00a3ec7b38d3ff28f4b779e784dc278..b78b3a5de3d20af7833783d9b1ca1a1bcfa8a162 100644
--- a/Doc/Tdoc/software.xml
+++ b/Doc/Tdoc/software.xml
@@ -150,12 +150,12 @@
 \makeindex</emphasis>
 \begin{document}
 \section{Introduction}
-In this example several keywords\index{keywords} will be used 
+In this example several keywords\index{keywords} will be used
 which are important and deserve to appear in the Index\index{Index}.
- 
-Terms like generate\index{generate} and some\index{others} will 
-also show up. 
- 
+
+Terms like generate\index{generate} and some\index{others} will
+also show up.
+
 <emphasis role="bold">\printindex</emphasis>
 \end{document}</programlisting>
       </figure>
diff --git a/ws/Docbook/CustomLayer/slide/reveal.css.patch b/ws/Docbook/CustomLayer/slide/reveal.css.patch
index 84e54490ab6cceee0ff96ec1b9a9ed55b111611a..1ee46b6298f8e1c00641c8cc75af49b55121e7e4 100644
--- a/ws/Docbook/CustomLayer/slide/reveal.css.patch
+++ b/ws/Docbook/CustomLayer/slide/reveal.css.patch
@@ -1,6 +1,6 @@
 diff -Naur css.orig/reveal.css css/reveal.css
---- css.orig/reveal.css	2018-05-30 16:09:42.483334660 +0200
-+++ css/reveal.css	2018-05-30 16:06:22.359785184 +0200
+--- css.orig/reveal.css	2018-06-03 15:00:16.973881804 +0200
++++ css/reveal.css	2018-06-03 14:58:57.710924018 +0200
 @@ -1,3 +1,13 @@
 +/*
 + *  patched by: /usr/share/hdm-docbook-xsl/CustomLayer/slide/reveal.css.patch
@@ -14,19 +14,34 @@ diff -Naur css.orig/reveal.css css/reveal.css
 +
  /*!
   * reveal.js
-  * http://lab.hakim.se/reveal-js
-@@ -26,7 +36,7 @@
-   border: 0;
-   font-size: 100%;
+  * http://revealjs.com
+@@ -16,7 +26,7 @@
+ .reveal b, .reveal u, .reveal center,
+ .reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li,
+ .reveal fieldset, .reveal form, .reveal label, .reveal legend,
+-.reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td,
++.reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr,
+ .reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed,
+ .reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup,
+ .reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary,
+@@ -28,6 +38,14 @@
    font: inherit;
--  vertical-align: baseline; }
-+  vertical-align: top; }
+   vertical-align: baseline; }
  
++.reveal th, .reveal td {
++  margin: 0;
++  padding: 0;
++  border: 0;
++  font-size: 100%;
++  font: inherit;
++  vertical-align: top; }
++
  .reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure,
  .reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section {
+   display: block; }
 diff -Naur css.orig/theme/serif.css css/theme/serif.css
---- css.orig/theme/serif.css	2018-05-30 16:09:42.483334660 +0200
-+++ css/theme/serif.css	2018-05-30 16:07:49.037908476 +0200
+--- css.orig/theme/serif.css	2018-06-03 15:00:16.973881804 +0200
++++ css/theme/serif.css	2018-06-03 14:56:44.644742215 +0200
 @@ -1,3 +1,8 @@
 +/*
 + *  patched by: /usr/share/hdm-docbook-xsl/CustomLayer/slide/reveal.css.patch
@@ -47,7 +62,7 @@ diff -Naur css.orig/theme/serif.css css/theme/serif.css
    background-color: #F0F1EB; }
  
  .reveal {
-@@ -139,10 +148,11 @@
+@@ -140,10 +149,11 @@
    font-style: italic; }
  
  .reveal pre {
@@ -61,7 +76,7 @@ diff -Naur css.orig/theme/serif.css css/theme/serif.css
    text-align: left;
    font-size: 0.55em;
    font-family: monospace;
-@@ -206,7 +216,7 @@
+@@ -208,7 +218,7 @@
   *********************************************/
  .reveal a {
    color: #51483D;
diff --git a/ws/Docbook/Refcheck/.gitignore b/ws/Docbook/Refcheck/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..70a85a8b0c3dacc8ca3999e704edfd28dcc02037
--- /dev/null
+++ b/ws/Docbook/Refcheck/.gitignore
@@ -0,0 +1,7 @@
+/target/
+/.settings/
+.classpath
+.project
+dependency-reduced-pom.xml
+*.log
+.idea
diff --git a/ws/Docbook/Refcheck/pom.xml b/ws/Docbook/Refcheck/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fc15abe24352f73db23c5880c3ee6ed1b947a392
--- /dev/null
+++ b/ws/Docbook/Refcheck/pom.xml
@@ -0,0 +1,94 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>de.hdm_stuttgart.mi</groupId>
+  <artifactId>refcheck</artifactId>
+  <version>0.1</version>
+  <packaging>jar</packaging>
+
+  <name>refcheck</name>
+
+  <url>https://freedocs.mi.hdm-stuttgart.de/sd1SectToolsOfTheTrade2.html</url>
+
+  <description>Basic Java project providing Junit 4 testing and log4j2 logging.</description>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-core</artifactId>
+      <version>2.11.0</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jdom</groupId>
+      <artifactId>jdom2</artifactId>
+      <version>2.0.6</version>
+    </dependency>
+
+    <dependency>
+      <groupId>jaxen</groupId>
+      <artifactId>jaxen</artifactId>
+      <version>1.1.6</version>
+    </dependency>
+
+  </dependencies>
+
+  <build>
+    <plugins>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>3.0.0</version>
+        <configuration/>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>3.1.0</version>
+        <configuration>
+          <transformers>
+            <transformer
+                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+              <manifestEntries>
+                <Main-Class>de.hdm_stuttgart.mi.Check</Main-Class>
+              </manifestEntries>
+            </transformer>
+          </transformers>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git a/ws/Docbook/Refcheck/src/main/java/de/hdm_stuttgart/mi/Check.java b/ws/Docbook/Refcheck/src/main/java/de/hdm_stuttgart/mi/Check.java
new file mode 100644
index 0000000000000000000000000000000000000000..5c55651afd878399653108b66b3a3a5e4c4be246
--- /dev/null
+++ b/ws/Docbook/Refcheck/src/main/java/de/hdm_stuttgart/mi/Check.java
@@ -0,0 +1,62 @@
+package de.hdm_stuttgart.mi;
+
+
+import javax.net.ssl.*;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.X509Certificate;
+
+/**
+ * Checking xml instances for external links
+ */
+
+public class Check {
+
+  /**
+   * Your application's main entry point.
+   *
+   * @param args Expecting an XML filename to be processed.
+   */
+  public static void main(String[] args) throws NoSuchAlgorithmException, KeyManagementException {
+
+    if (1 != args.length) {
+      exitOnError("Usage: refcheck <filename>", 3);
+    }
+    // Get rid of Let's encrypt and related certificate warnings
+    // not (yet?) belonging to standard Java trust store.
+    // Credits to https://www.nakov.com/blog/2009/07/16/disable-certificate-validation-in-java-ssl-connections
+    //
+    TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
+      public java.security.cert.X509Certificate[] getAcceptedIssuers() {
+        return null;
+      }
+      public void checkClientTrusted(X509Certificate[] certs, String authType) {
+      }
+      public void checkServerTrusted(X509Certificate[] certs, String authType) {
+      }
+    }
+    };
+    // Install the all-trusting trust manager
+    SSLContext sc = SSLContext.getInstance("SSL");
+    sc.init(null, trustAllCerts, new java.security.SecureRandom());
+    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
+
+    // Create all-trusting host name verifier
+    HostnameVerifier allHostsValid = new HostnameVerifier() {
+      public boolean verify(String hostname, SSLSession session) {
+        return true;
+      }
+    };
+
+    // Install the all-trusting host verifier
+    HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
+
+
+    final TargetDoc doc = new TargetDoc(args[0]);
+  }
+
+  static public void exitOnError(final String msg, final int status) {
+    System.err.println(msg);
+    System.exit(status);
+  }
+}
\ No newline at end of file
diff --git a/ws/Docbook/Refcheck/src/main/java/de/hdm_stuttgart/mi/TargetDoc.java b/ws/Docbook/Refcheck/src/main/java/de/hdm_stuttgart/mi/TargetDoc.java
new file mode 100644
index 0000000000000000000000000000000000000000..a86fba90b96f90d5ed7f8766c4a02c27f423b80f
--- /dev/null
+++ b/ws/Docbook/Refcheck/src/main/java/de/hdm_stuttgart/mi/TargetDoc.java
@@ -0,0 +1,237 @@
+package de.hdm_stuttgart.mi;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.jdom2.*;
+import org.jdom2.filter.Filters;
+import org.jdom2.input.SAXBuilder;
+import org.jdom2.output.Format;
+import org.jdom2.output.LineSeparator;
+import org.jdom2.output.XMLOutputter;
+import org.jdom2.xpath.XPathExpression;
+import org.jdom2.xpath.XPathFactory;
+
+import java.beans.XMLDecoder;
+import java.beans.XMLEncoder;
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+import java.util.regex.Pattern;
+
+class TargetDoc {
+  private static Logger log = LogManager.getLogger(TargetDoc.class);
+
+
+  static private final String mappingFileName = "/ma/goik/urlMappings.xml";
+
+  private final XPathFactory xFactory = XPathFactory.instance();
+  private final Namespace xlinkNamespace =
+      Namespace.getNamespace("xlink", "http://www.w3.org/1999/xlink");
+
+  private Document root;
+
+  final List<String>
+      missingUrlReplacements = new Vector<>(),
+      provenUrlSet = new Vector<>();
+
+  private Map<String, String > missingUrlSet = new HashMap<>();
+
+  TargetDoc (final String filename) {
+
+    loadLinks();
+
+    final SAXBuilder builder = new SAXBuilder();
+    try {
+      root = builder.build(new File(filename));
+    } catch (final JDOMException e) {
+      Check.exitOnError("Unable to parse »" + filename + "«: " + e, 1);
+
+    } catch (final IOException e) {
+      Check.exitOnError("Unable to read »" + filename + "«: " + e, 2);
+    }
+    descendTree(root);
+    final Format f = Format.getRawFormat();
+    f.setLineSeparator(LineSeparator.NL);
+    final XMLOutputter printer =
+        new XMLOutputter(f);
+
+    final String resultFilename = filename + ".result";
+    try (final FileOutputStream fos = new FileOutputStream(resultFilename)) {
+      printer.output(root, fos);
+    }  catch (IOException e) {
+      Check.exitOnError("Unable to write result XML file " + resultFilename + ":" + e, 6);
+    }
+    System.out.println("Processing completed! ------------\n\n");
+    missingUrlReplacements.forEach(System.out::println);
+  }
+
+  private void loadLinks() {
+    try (final FileInputStream fis = new FileInputStream(mappingFileName)) {
+      XMLDecoder readLinks = new XMLDecoder(fis);
+      missingUrlSet = (Map<String, String>) readLinks.readObject();
+    } catch (IOException e) {
+      System.out.println("Unable to read from " + mappingFileName);
+    }
+  }
+
+  private void descendTree(final Document current) {
+    final XPathExpression<Element> searchLinks = xFactory.compile(
+        "//*[@xlink:href]", Filters.element(), null, xlinkNamespace);
+    searchLinks.evaluate(current).forEach(this::handleLink);
+
+    try (final FileOutputStream bos = new FileOutputStream(mappingFileName)) {
+
+      final XMLEncoder xmlEncoder = new XMLEncoder(bos);
+      xmlEncoder.writeObject(missingUrlSet);
+      xmlEncoder.close();
+      bos.flush();
+
+    } catch (IOException e) {
+      Check.exitOnError("Unable to write to file " + mappingFileName + ": " + e, 5);
+    }
+  }
+
+  private void handleLink(final Element element) {
+    String uri = element.getAttribute("href", xlinkNamespace).getValue();
+
+    final String replace = missingUrlSet.get(uri);
+    boolean replacementCheckWasPositive = false;
+    if (null != replace && ! replace.trim().equals("") && doesLinkTargetExist(replace)) {
+      element.setAttribute("href", replace, xlinkNamespace);
+      final Element parent = element.getParentElement();
+      final int hrefElementIndex = parent.indexOf(element);
+      uri = replace;
+    }
+    if (!provenUrlSet.contains(uri)) {
+      if (!replacementCheckWasPositive && !doesLinkTargetExist(uri)) {
+        missingUrlReplacements.add(uri);
+        missingUrlSet.put(uri, "");
+      } else {
+        System.out.println("Cache hit: " + uri);
+        provenUrlSet.add(uri);
+      }
+    }
+  }
+
+  private static boolean doesLinkTargetExist(String urlString)
+  {
+
+    if (!(urlString.startsWith("http://") || urlString.startsWith("https://") || urlString.startsWith("ftp://"))) {
+      if (urlString.startsWith("/")){
+        urlString = "https://freedocs.mi.hdm-stuttgart.de" + urlString;
+      } else {
+        urlString = "https://freedocs.mi.hdm-stuttgart.de/" + urlString;
+      }
+    }
+    if (urlString.contains("#")) {
+      final String[] components = urlString.split("#");
+      if (2 != components.length) {
+        Check.exitOnError("More than one »#« in " + urlString, 3);
+      }
+      final String baseUrl = components[0],
+          anchor = components[1];
+
+      if (baseUrl.startsWith("https://gitlab.mi.hdm-stuttgart.de/")) { // gitlab does not offer open id/name attribs
+        return doesUrlExist(urlString);
+      } else {
+        return anchorExist(baseUrl, anchor);
+      }
+    } else {
+      return doesUrlExist(urlString);
+    }
+  }
+
+  private static boolean doesUrlExist(final String urlString) {
+    final URL url;
+    try {
+      url = new URL(urlString);
+      // We want to check the current URL
+      HttpURLConnection.setFollowRedirects(false);
+
+      HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
+
+      // We don't need to get data
+      httpURLConnection.setRequestMethod("HEAD");
+
+      // Some websites don't like programmatic access so pretend to be a browser
+      httpURLConnection.setRequestProperty(
+          "User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)");
+      int responseCode = httpURLConnection.getResponseCode();
+
+      System.out.println("URL " + urlString + ": " + responseCode);
+
+      return isAcceptedHttpResponseCode(responseCode);
+    } catch (Exception e) {
+      return false;
+    }
+  }
+
+  static private boolean isAcceptedHttpResponseCode(final int httpResponseCode) {
+    switch (httpResponseCode) {
+        case HttpURLConnection.HTTP_OK:
+        case HttpURLConnection.HTTP_MOVED_PERM:
+        case HttpURLConnection.HTTP_MOVED_TEMP:
+          return true;
+
+        default:
+          return false;
+      }
+  }
+
+  private static boolean anchorExist(final String urlString, final String anchor) {
+    String htmlLine;
+    int noError500Attempts = 0;
+    do {
+      try {
+        final URL url = new URL(urlString);
+
+        final HttpURLConnection con = (HttpURLConnection) url.openConnection();
+
+        con.setRequestProperty(
+            "User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36");
+        System.out.println("URL/anchor " + urlString + "#" + anchor + ":" + con.getResponseCode());
+
+        if (isAcceptedHttpResponseCode(con.getResponseCode())) {
+          final BufferedReader input = new BufferedReader(new InputStreamReader(con.getInputStream()));
+
+          final Pattern p = getAncorMatcher(anchor);
+          while ((htmlLine = input.readLine()) != null) {
+            if (p.matcher(htmlLine).find()) {
+              return true;
+            }
+          }
+          return false;
+        } else { // i.E. docs.oracle.com randomly fails on error 500
+          if (urlString.startsWith("https://docs.oracle.com") && noError500Attempts++ < 5) {
+            System.out.println("Attempt " + noError500Attempts + ": Try yet another time on " + urlString);
+          } else {
+            return false;
+          }
+        }
+      } catch (Exception e) {
+        System.err.println("Failed reading " + urlString + ":" + e);
+      }
+    } while (true);
+  }
+
+  static Pattern getAncorMatcher(final String anchor) {
+    final String escapedAncor = escapeAnchor(anchor);
+    return Pattern.compile("(id|ID|name|NAME)[ ]*[=][ ]*['|\"]" + escapedAncor + "['|\"]");
+  }
+
+  static String escapeAnchor(final String anchor) {
+    return anchor.replaceAll("[(]", "\\\\(").
+        replaceAll("[)]", "\\\\)").
+        replaceAll("\\[", "\\\\[").
+        replaceAll("\\]", "\\\\]").
+        replaceAll("%20", " ").
+        replaceAll("%3C", "&lt;").
+        replaceAll("%3E", "&gt;").
+        replaceAll("%5B", "\\\\[").
+        replaceAll("%5D", "\\\\]");
+  }
+}
\ No newline at end of file
diff --git a/ws/Docbook/Refcheck/src/main/resources/certificate.xml b/ws/Docbook/Refcheck/src/main/resources/certificate.xml
new file mode 100644
index 0000000000000000000000000000000000000000..52190d655eefe739ea9392ba7420ce9739eccdbd
--- /dev/null
+++ b/ws/Docbook/Refcheck/src/main/resources/certificate.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.1" xml:id="linkcheck"
+         xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         xmlns:trans="http://docbook.org/ns/transclusion"
+         xmlns:svg="http://www.w3.org/2000/svg"
+         xmlns:m="http://www.w3.org/1998/Math/MathML"
+         xmlns:html="http://www.w3.org/1999/xhtml"
+         xmlns:db="http://docbook.org/ns/docbook">
+  <title>Checking links</title>
+
+
+
+  <itemizedlist>
+
+    <listitem>
+      <para><uri
+              xlink:href="https://cscircles.cemc.uwaterloo.ca/java_visualize/"
+      >https://cscircles.cemc.uwaterloo.ca/java_visualize/</uri></para>
+    </listitem>
+
+
+  </itemizedlist>
+
+</chapter>
diff --git a/ws/Docbook/Refcheck/src/main/resources/chapter.xml b/ws/Docbook/Refcheck/src/main/resources/chapter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6d652d4dbbc975c86767885420df427a5c7ffb69
--- /dev/null
+++ b/ws/Docbook/Refcheck/src/main/resources/chapter.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter version="5.1" xml:id="linkcheck"
+         xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         xmlns:trans="http://docbook.org/ns/transclusion"
+         xmlns:svg="http://www.w3.org/2000/svg"
+         xmlns:m="http://www.w3.org/1998/Math/MathML"
+         xmlns:html="http://www.w3.org/1999/xhtml"
+         xmlns:db="http://docbook.org/ns/docbook">
+  <title>Checking links</title>
+
+
+
+  <itemizedlist>
+
+    <listitem>
+      <para><uri
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/constant-values.html"
+      >https://docs.oracle.com/javase/10/docs/api/constant-values.html</uri></para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#PrintStream-java.lang.String-"
+      >https://docs.oracle.com/javase/10/docs/api/java/io/PrintStream.html#PrintStream-java.lang.String-</uri></para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#copyOfRange-T:A-int-int-"
+      >https://docs.oracle.com/javase/10/docs/api/java/util/Arrays.html#copyOfRange-T:A-int-int-</uri>
+      </para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+              xlink:href="P/Sd1/Prime/V1/target/site/apidocs/de/hdm_stuttgart/mi/sd1/main/PrimeNumbers.html#main-java.lang.String:A-"
+      >P/Sd1/Prime/V1/target/site/apidocs/de/hdm_stuttgart/mi/sd1/main/PrimeNumbers.html#main-java.lang.String:A-</uri>
+      </para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+              xlink:href="http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertArrayEquals(int[],%20int[])"
+      >http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertArrayEquals(int[],%20int[])</uri>
+      </para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+              xlink:href="https://commons.apache.org/proper/commons-io/javadocs/api-2.6/org/apache/commons/io/FileUtils.html#copyURLToFile-java.net.URL-java.io.File-"
+      >https://commons.apache.org/proper/commons-io/javadocs/api-2.6/org/apache/commons/io/FileUtils.html#copyURLToFile-java.net.URL-java.io.File-</uri></para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html">https://docs.oracle.com/javase/10/docs/api/java/lang/String.html</uri></para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/Sting.html">https://docs.oracle.com/javase/10/docs/api/java/lang/Sting.html</uri></para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+      xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#indexOf(int)">https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#indexOf(int)</uri></para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+              xlink:href="https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#index">https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#index</uri></para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+              xlink:href="https://logging.apache.org/log4j/2.x/">https://logging.apache.org/log4j/2.x</uri></para>
+    </listitem>
+
+    <listitem>
+      <para><uri
+              xlink:href="/Sd1/Ref/Src/rpncalculator-0.1.jar">https://freedocs.mi.hdm-stuttgart.de/Sd1/Ref/Src/rpncalculator-0.1.jar</uri></para>
+    </listitem>
+
+  </itemizedlist>
+
+</chapter>
diff --git a/ws/Docbook/Refcheck/src/main/resources/log4j2.xml b/ws/Docbook/Refcheck/src/main/resources/log4j2.xml
new file mode 100644
index 0000000000000000000000000000000000000000..101140f4e8345c4026340a3e677250ae09236723
--- /dev/null
+++ b/ws/Docbook/Refcheck/src/main/resources/log4j2.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+    <Appenders>
+        <File name="A1" fileName="A1.log" append="false">
+            <PatternLayout pattern="%t %-5p %c{2} - %m%n"/>
+        </File>
+        <Console name="STDOUT" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+        </Console>
+    </Appenders>
+    <Loggers>
+
+        <!-- You my want to define class or package level per-logger rules -->
+        <Logger name="de.hdm_stuttgart.mi.Check" level="debug">
+            <AppenderRef ref="A1"/>
+        </Logger>
+        <Root level="info">
+            <AppenderRef ref="STDOUT"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/ws/Docbook/Refcheck/src/test/java/de/hdm_stuttgart/mi/TargetDocTest.java b/ws/Docbook/Refcheck/src/test/java/de/hdm_stuttgart/mi/TargetDocTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..c10e06d3923d486986af9c7b5dad3e1200596110
--- /dev/null
+++ b/ws/Docbook/Refcheck/src/test/java/de/hdm_stuttgart/mi/TargetDocTest.java
@@ -0,0 +1,50 @@
+package de.hdm_stuttgart.mi;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Unit test of {@link Check}.
+ */
+public class TargetDocTest {
+    /**
+     * anchor id="anton"
+     */
+    @Test
+    public void testSimpleAnchor() {
+        checkAnchorMatch("foo <a id=\"anton\"> <b>", "anton");
+        checkAnchorMatch("foo <a ID  =\"anton\"> <b>", "anton");
+        checkAnchorMismatch("foo <a id=\"anton\"> <b>", "anto");
+        checkAnchorMismatch("foo <a id =\"anton\"> <b>", "anto");
+    }
+    /**
+     * anchor id="indexOf(int)"
+     */
+    @Test
+    public void testBraceAnchor() {
+        checkAnchorMatch("foo <a id=\"indexOf(int)\"> <b>", "indexOf(int)");
+        checkAnchorMismatch("foo <a id=\"indexOf(int)\"> <b>", "indexOf(in)");
+    }
+
+    /**
+     * URL %20 encoded space and []
+     */
+    @Test
+    public void testArrayBraceAnchor() {
+        checkAnchorMatch("foo <a id=\"assertArrayEquals(int[], int[])\"> <b>",
+            "assertArrayEquals(int[],%20int[])");
+    }
+
+
+
+
+    // Helper methods
+    static void checkAnchorMatch(final String html, final String anchor) {
+        Assert.assertTrue(html + " has no anchor " + anchor,
+            TargetDoc.getAncorMatcher(anchor).matcher(html).find());
+    }
+    static void checkAnchorMismatch(final String html, final String anchor) {
+        Assert.assertFalse(html + " should not have anchor " + anchor,
+            TargetDoc.getAncorMatcher(anchor).matcher(html).find());
+    }
+}
\ No newline at end of file