From f5812470956a27d715efc89cceaff3c587b13577 Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Thu, 12 Feb 2015 19:23:48 +0100
Subject: [PATCH] Project zip generation completed

---
 Doc/Common/glossary.xml                       |  4 +-
 Doc/Makefile                                  | 34 +++++++++-------
 Doc/Sd1/Ref/Fig/Makefile                      | 24 ------------
 Doc/Sd1/Ref/Fig/directionGeometry.fig         | 17 --------
 Doc/Sd1/Ref/Fig/getAverageSpeed.fig           | 24 ------------
 Doc/Sd1/Ref/Fig/returnValue.fig               | 20 ----------
 Doc/Sd1/Ref/Fig/setDirection.fig              | 20 ----------
 Doc/Sd1/Ref/Fig/turnLeft.fig                  | 24 ------------
 Doc/Sd1/Ref/Fig/turningStates.fig             | 39 -------------------
 Doc/Sd1/array.xml                             | 18 ++++-----
 Doc/Sd1/class.xml                             | 12 +++---
 Doc/Sd1/collections.xml                       | 18 ++++-----
 Doc/Sd1/deployment.xml                        |  4 +-
 Doc/Sd1/identity.xml                          |  2 +-
 Doc/Sd1/loop.xml                              | 20 +++++-----
 Doc/Sd1/preliminaries.xml                     | 28 ++++++-------
 Doc/Sd1/streams.xml                           |  4 +-
 Doc/Sda1/Ref/Fig/Makefile                     | 24 ------------
 Doc/Sda1/jdbc.xml                             |  6 +--
 Doc/Sda1/sax.xml                              |  8 ++--
 Doc/Sda2/Ref/Fig/Makefile                     | 24 ------------
 Doc/Sda2/jpa.xml                              |  4 +-
 Doc/Sda2/ldap.xml                             |  6 +--
 Doc/make.rules                                | 10 +++++
 .../mi/sda2/jpa/cd/domain/Catalog.java        | 18 ++++-----
 .../mi/sda2/jpa/cd/domain/Cd.java             | 30 +++++++-------
 P/pom.xml                                     |  8 +++-
 ws/Docbook/Extensions/Xsl/docbook2docbook.xsl | 16 ++++++--
 ws/Docbook/Extensions/docbook.sch             |  2 +-
 29 files changed, 139 insertions(+), 329 deletions(-)
 delete mode 100644 Doc/Sd1/Ref/Fig/Makefile
 delete mode 100644 Doc/Sd1/Ref/Fig/directionGeometry.fig
 delete mode 100644 Doc/Sd1/Ref/Fig/getAverageSpeed.fig
 delete mode 100644 Doc/Sd1/Ref/Fig/returnValue.fig
 delete mode 100644 Doc/Sd1/Ref/Fig/setDirection.fig
 delete mode 100644 Doc/Sd1/Ref/Fig/turnLeft.fig
 delete mode 100644 Doc/Sd1/Ref/Fig/turningStates.fig
 delete mode 100644 Doc/Sda1/Ref/Fig/Makefile
 delete mode 100644 Doc/Sda2/Ref/Fig/Makefile

diff --git a/Doc/Common/glossary.xml b/Doc/Common/glossary.xml
index 40c1fc8f0..e566cf719 100644
--- a/Doc/Common/glossary.xml
+++ b/Doc/Common/glossary.xml
@@ -401,8 +401,8 @@
       </glossdef>
     </glossentry>
 
-    <glossentry>
-      <glossterm xml:id="glo_pom.xml">pom.xml</glossterm>
+    <glossentry xml:id="glo_pom.xml">
+      <glossterm>pom.xml</glossterm>
 
       <glossdef>
         <para><link xlink:href="http://maven.apache.org">project object
diff --git a/Doc/Makefile b/Doc/Makefile
index de818d7a3..d4a2c1c1d 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -1,3 +1,6 @@
+SHELL = /bin/bash
+
+
 SCRIPTBASENAME=lectures
 PLUGINID=de.hdm_stuttgart.mi.lectures
 WWWBASE=www.mi.hdm-stuttgart.de:/home/infocenter2/doc
@@ -8,11 +11,13 @@ PPARAM= -p eclipse.plugin.name Lectures \
         -p eclipse.plugin.provider 'Martin Goik, goik@hdm-stuttgart.de'
 
 DOCMODULES=Sd1 Sda1 Sda2
+#DOCMODULES=Sda2
 
 BUILDROOT=/tmp
 
 #+++ no changes below this line ++++++++++++++++++++++++++++++++++++
 
+
 SAXONCMD=java -cp "/usr/share/java/Saxon-HE.jar:/usr/share/java/xercesImpl.jar" \
 -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \
     -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \
@@ -35,6 +40,20 @@ JAVADOCDESTDIR=${BUILDNAVI}/Ref/api
 #jdoc: $(foreach pomDir,$(POMDIRS),$(pomDir)/jdoc )
 
 all: ${BUILDROOT}/${BUILDNAVI}/printversion.pdf ${BUILDROOT}/${BUILDNAVI}/index.html ${BUILDROOT}/${BUILDNONAVI}/index.html
+	cd ${BUILDROOT}/resources/Generate;\
+          for module in ${DOCMODULES}; do \
+            pushd  $$module;\
+              mkdir -p ../../../$$module/Ref/Fig/Generate;\
+              tar c- *|tar -x -C ../../../$$module/Ref/Fig/Generate;\
+            popd;\
+          done;
+	cd ${BUILDROOT};\
+	 for module in ${DOCMODULES}; do \
+            pushd $$module/Ref/Fig;\
+              $(MAKE) -f ../../../../make.rules all;\
+            popd;\
+          done;
+	cd ${BUILDROOT}; tar c- ${DOCMODULES} | tar -x -C ${BUILDNAVI}
 
 
 ${BUILDROOT}/${BUILDNAVI}/index.html: ${BUILDROOT}/${SCRIPTBASENAME}.xml
@@ -61,26 +80,11 @@ ${BUILDROOT}/${BUILDNAVI}/printversion.pdf: ${BUILDROOT}/${SCRIPTBASENAME}.xml
             tar c- $$module/Ref| tar -x -C ${BUILDROOT}; \
           done;
 
-
-
-
 #	tar c --exclude=\.svn Ref|tar -xC ${BUILDNAVI}
 #GoikLectures/Doc/target/resources/Generate/Sda1
 #tar c- *|tar -x -C ../../../Sda1/Ref/Fig/Generate/
 
 
-post:
-	cd ${BUILDROOT};\
-#          for module in ${DOCMODULES}; do \
-#            mkdir -p  $$module/Ref/Fig/Generate;rm -f $$module/Ref/Fig/Generate/*.tex;\
-#            ../../bin/stripUnicode.sh resources/Generate/*.tex; mv resources/Generate/*.tex Ref/Fig/Generate
-#          done;
-
-
-
-#	cd Ref/Fig;make all
-
-
 #You may have to start refdbd -i applic.mi.hdm-stuttgart.de -s -e 0 -l 7
 db.docbook.bib.xml:db.docbook.xml
 	runbib -u refdb  -d refdb_mi -t db50x -r -G raw.css  -E utf-8 db.docbook.xml
diff --git a/Doc/Sd1/Ref/Fig/Makefile b/Doc/Sd1/Ref/Fig/Makefile
deleted file mode 100644
index abc9020a1..000000000
--- a/Doc/Sd1/Ref/Fig/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-#This Makefile has to be executed in a subdirectory
-# "Generate": make -f ../Makefile all
-#
-
-
-FIGFILES=account arrayAssoc array directionGeometry getAverageSpeed person returnValue setDirection townsByCountry \
-turningStates turnLeft 
-
-%-0.pdf:../%.fig
-	../../../../bin/fig2mpdf -l -m $< #&& touch $*.done
-	if [ -e $*.tex ]; then pdflatex $* && rm -f ../$*.pdf && mv $*.pdf ..; fi;
-
-../%.fig.pdf:../%.fig
-	fig2dev -L pstex $< | epstopdf -f > $<.pdf
-
-pdf:$(foreach figfile, $(FIGFILES), $(figfile)-0.pdf)  $(foreach figfile, $(FIGFILES), ../$(figfile).fig.pdf)
-
-all:
-	mkdir -p Generate;cd Generate;export PATH=../../../../bin:${PATH}; $(MAKE) -f ../Makefile pdf # PATH contains additional tools
-
-clean:
-	rm -rf Generate $(foreach figfile, $(FIGFILES), $(figfile).pdf) $(foreach figfile, $(FIGFILES), $(figfile).fig.pdf)
-
-#end
diff --git a/Doc/Sd1/Ref/Fig/directionGeometry.fig b/Doc/Sd1/Ref/Fig/directionGeometry.fig
deleted file mode 100644
index e1202ef2a..000000000
--- a/Doc/Sd1/Ref/Fig/directionGeometry.fig
+++ /dev/null
@@ -1,17 +0,0 @@
-#FIG 3.2  Produced by xfig version 3.2.5b
-Landscape
-Center
-Metric
-A4      
-100.00
-Single
--2
-1200 2
-1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 4725 5175 45 45 4725 5175 4770 5175
-2 1 0 1 0 0 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 60.00 120.00
-	 4725 5175 8100 3825
-2 1 0 1 0 0 50 -1 -1 0.000 0 0 -1 0 0 3
-	 4725 5175 8100 5175 8100 3825
-4 0 0 50 -1 14 12 0.0000 4 165 1920 3735 5670 (getX(), getY())\001
-4 0 0 50 -1 14 12 0.3840 4 150 1560 5670 4635 WALKING_SPEED\001
diff --git a/Doc/Sd1/Ref/Fig/getAverageSpeed.fig b/Doc/Sd1/Ref/Fig/getAverageSpeed.fig
deleted file mode 100644
index cb2b7976c..000000000
--- a/Doc/Sd1/Ref/Fig/getAverageSpeed.fig
+++ /dev/null
@@ -1,24 +0,0 @@
-#FIG 3.2  Produced by xfig version 3.2.5b
-Landscape
-Center
-Metric
-A4      
-100.00
-Single
--2
-1200 2
-2 1 0 1 14 7 770 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 3240 1170 3015 630
-2 1 0 1 14 7 770 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 4301 1133 4725 675
-2 1 0 1 4 7 750 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 342 1179 495 675
-4 0 4 750 -1 30 14 0.0000 4 240 2070 -135 585 speed as km / hour\001
-4 0 14 770 -1 30 14 0.0000 4 180 1455 2385 585 distance / km\001
-4 0 14 770 -1 30 14 0.0000 4 180 1110 4545 585 time / min\001
-4 0 0 800 -1 14 14 0.0000 4 195 2250 585 1395 getAverageSpeed\001
-4 0 4 760 -1 14 14 0.0000 4 150 450 90 1395 int\001
-4 0 14 780 -1 14 14 0.0000 4 195 3150 2700 1395 (int km, int minutes)\001
diff --git a/Doc/Sd1/Ref/Fig/returnValue.fig b/Doc/Sd1/Ref/Fig/returnValue.fig
deleted file mode 100644
index e375582c1..000000000
--- a/Doc/Sd1/Ref/Fig/returnValue.fig
+++ /dev/null
@@ -1,20 +0,0 @@
-#FIG 3.2  Produced by xfig version 3.2.5b
-Landscape
-Center
-Metric
-A4      
-100.00
-Single
--2
-1200 2
-2 1 0 1 4 7 750 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 405 1260 540 855
-2 1 0 1 14 7 770 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 2970 1305 3510 1035
-4 0 4 760 -1 14 14 0.0000 4 150 450 180 1440 int\001
-4 0 0 800 -1 14 14 0.0000 4 180 2100 720 1440 getLeavesEaten\001
-4 0 4 750 -1 14 14 0.0000 4 150 3150 45 675 Returns no. of leaves\001
-4 0 14 770 -1 14 14 0.0000 4 180 1800 3060 990 No Arguments\001
-4 0 14 780 -1 14 14 0.0000 4 195 300 2700 1395 ()\001
diff --git a/Doc/Sd1/Ref/Fig/setDirection.fig b/Doc/Sd1/Ref/Fig/setDirection.fig
deleted file mode 100644
index dbcb0707b..000000000
--- a/Doc/Sd1/Ref/Fig/setDirection.fig
+++ /dev/null
@@ -1,20 +0,0 @@
-#FIG 3.2  Produced by xfig version 3.2.5b
-Landscape
-Center
-Metric
-A4      
-100.00
-Single
--2
-1200 2
-2 1 0 1 14 7 770 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 3240 1170 3150 720
-2 1 0 1 4 7 750 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 180 1215 405 720
-4 0 0 800 -1 14 14 0.0000 4 150 1800 585 1395 setDirection\001
-4 0 14 770 -1 30 14 0.0000 4 225 1560 2385 585 one of {0,1,2,3}\001
-4 0 14 780 -1 14 14 0.0000 4 195 2250 2340 1395 (int direction)\001
-4 0 4 760 -1 14 14 0.0000 4 150 600 -90 1395 void\001
-4 0 4 750 -1 30 14 0.0000 4 225 1800 -135 585 Returns nothing\001
diff --git a/Doc/Sd1/Ref/Fig/turnLeft.fig b/Doc/Sd1/Ref/Fig/turnLeft.fig
deleted file mode 100644
index 35b029caf..000000000
--- a/Doc/Sd1/Ref/Fig/turnLeft.fig
+++ /dev/null
@@ -1,24 +0,0 @@
-#FIG 3.2  Produced by xfig version 3.2.5b
-Landscape
-Center
-Metric
-A4      
-100.00
-Single
--2
-1200 2
-2 1 0 1 0 7 740 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 2475 1530 2475 2070
-2 1 0 1 14 7 770 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 3285 1170 3420 720
-2 1 0 1 4 7 750 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 1.00 60.00 120.00
-	 1440 1260 1125 765
-4 0 0 800 -1 14 14 0.0000 4 150 1200 1980 1440 turnLeft\001
-4 0 14 780 -1 14 14 0.0000 4 195 300 3150 1395 ()\001
-4 0 4 760 -1 14 14 0.0000 4 150 600 1260 1440 void\001
-4 0 0 740 -1 14 14 0.0000 4 150 1950 1755 2250 Method's name\001
-4 0 14 770 -1 14 14 0.0000 4 180 1800 2835 675 No Arguments\001
-4 0 4 750 -1 14 14 0.0000 4 195 2250 45 675 Returns nothing\001
diff --git a/Doc/Sd1/Ref/Fig/turningStates.fig b/Doc/Sd1/Ref/Fig/turningStates.fig
deleted file mode 100644
index cb6748f3f..000000000
--- a/Doc/Sd1/Ref/Fig/turningStates.fig
+++ /dev/null
@@ -1,39 +0,0 @@
-#FIG 3.2  Produced by xfig version 3.2.5b
-Landscape
-Center
-Metric
-A4      
-100.00
-Single
--2
-1200 2
-6 5850 4005 7380 5175
-2 4 0 2 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-	 7335 5130 7335 4050 5895 4050 5895 5130 7335 5130
-4 0 0 50 -1 30 14 0.0000 4 150 990 5985 4755 next turn\001
-4 0 0 50 -1 30 14 0.0000 4 165 780 5985 4305 State 3:\001
-4 0 0 50 -1 30 14 0.0000 4 225 1140 5985 4995 20 degrees\001
--6
-6 3870 1635 5325 2760
-2 4 0 2 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-	 5310 2745 5310 1650 3885 1650 3885 2745 5310 2745
-4 0 0 50 -1 30 14 0.0000 4 150 990 3975 2355 next turn\001
-4 0 0 50 -1 30 14 0.0000 4 225 1140 3960 2610 15 degrees\001
-4 0 0 50 -1 30 14 0.0000 4 165 780 3975 1905 State 2:\001
--6
-6 1545 4050 3030 5145
-2 4 0 2 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-	 3015 5130 3015 4065 1560 4065 1560 5130 3015 5130
-4 0 0 50 -1 30 14 0.0000 4 150 990 1650 4770 next turn\001
-4 0 0 50 -1 30 14 0.0000 4 225 1020 1665 4995 5 degrees\001
-4 0 0 50 -1 30 14 0.0000 4 165 780 1650 4320 State 1:\001
--6
-2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 2.00 120.00 240.00
-	 2205 4050 3915 2250
-2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 2.00 120.00 240.00
-	 5355 2205 6615 4050
-2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 2.00 120.00 240.00
-	 5895 4725 3015 4725
diff --git a/Doc/Sd1/array.xml b/Doc/Sd1/array.xml
index bd449a74e..692cb3c07 100644
--- a/Doc/Sd1/array.xml
+++ b/Doc/Sd1/array.xml
@@ -36,7 +36,7 @@
                 <para>A skeleton project archive is available at:</para>
 
                 <annotation role="make">
-                  <para role="eclipse">P/Array/integerStoreSkeleton</para>
+                  <para role="eclipse">Sd1/Array/integerStoreSkeleton</para>
                 </annotation>
 
                 <para>The above link contains a skeleton file
@@ -89,7 +89,7 @@
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/Array/integerStore</para>
+                  <para role="eclipse">Sd1/Array/integerStore</para>
                 </annotation>
               </answer>
             </qandaentry>
@@ -175,7 +175,7 @@
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/Array/integerStoreUnbounded</para>
+                  <para role="eclipse">Sd1/Array/integerStoreUnbounded</para>
                 </annotation>
               </answer>
             </qandaentry>
@@ -217,7 +217,7 @@
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/Array/integerStoreStat</para>
+                  <para role="eclipse">Sd1/Array/integerStoreStat</para>
                 </annotation>
 
                 <para>Testing for equality of two <code>double</code>
@@ -364,7 +364,7 @@
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/Prime/V1</para>
+                  <para role="eclipse">Sd1/Prime/V1</para>
                 </annotation>
 
                 <orderedlist>
@@ -498,7 +498,7 @@ Elapsed time:14997</programlisting>
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/Prime/V2</para>
+                  <para role="eclipse">Sd1/Prime/V2</para>
                 </annotation>
 
                 <para>This time we only need ~18% of the previous time:</para>
@@ -853,7 +853,7 @@ Your sample's median is: 1.0</programlisting>
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/Array/integerStoreMedianAnswer</para>
+                  <para role="eclipse">Sd1/Array/integerStoreMedianAnswer</para>
                 </annotation>
 
                 <orderedlist>
@@ -1054,7 +1054,7 @@ values newArray  | 1| 2| F| 7| 9|  | ...</programlisting>
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/plot</para>
+                  <para role="eclipse">Sd1/plot</para>
                 </annotation>
 
                 <para>The above solution contains a variant using Java 8
@@ -1464,7 +1464,7 @@ goik@goiki:~/workspace/life/src/main/java$ cp *.java ~/my-scenarios/Life</progra
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/life/V1</para>
+                  <para role="eclipse">Sd1/life/V1</para>
                 </annotation>
               </answer>
             </qandaentry>
diff --git a/Doc/Sd1/class.xml b/Doc/Sd1/class.xml
index e9330cd6f..36b1ebd5c 100644
--- a/Doc/Sd1/class.xml
+++ b/Doc/Sd1/class.xml
@@ -140,7 +140,7 @@ public class Rectangle {
           setWidth(...) and setHeight(...):</para>
 
           <glosslist>
-            <glossentry>
+            <glossentry xml:id="glossMethodDiff1">
               <glossterm><methodname>setWidth(double
               w)</methodname></glossterm>
 
@@ -153,7 +153,7 @@ public class Rectangle {
               </glossdef>
             </glossentry>
 
-            <glossentry>
+            <glossentry xml:id="xmlMethodDiff2">
               <glossterm><methodname>setHeight(double
               height)</methodname></glossterm>
 
@@ -570,7 +570,7 @@ public void writeSvg() {
     calculator:</para>
 
     <annotation role="make">
-      <para role="eclipse">P/interest/V1</para>
+      <para role="eclipse">Sd1/interest/V1</para>
     </annotation>
 
     <glosslist>
@@ -748,7 +748,7 @@ public void writeSvg() {
 
           <answer>
             <annotation role="make">
-              <para role="eclipse">P/interest/V2</para>
+              <para role="eclipse">Sd1/interest/V2</para>
             </annotation>
 
             <para>We introduce a new variable <code>defaultInterestRate</code>
@@ -906,13 +906,13 @@ long sum = (long)a + b;</programlisting>
             test.</para>
 
             <annotation role="make">
-              <para role="eclipse">P/fraction/V05</para>
+              <para role="eclipse">Sd1/fraction/V05</para>
             </annotation>
           </question>
 
           <answer>
             <annotation role="make">
-              <para role="eclipse">P/fraction/V1</para>
+              <para role="eclipse">Sd1/fraction/V1</para>
             </annotation>
 
             <para>See implementation at <link
diff --git a/Doc/Sd1/collections.xml b/Doc/Sd1/collections.xml
index b0a759c71..6ecb69e7e 100644
--- a/Doc/Sd1/collections.xml
+++ b/Doc/Sd1/collections.xml
@@ -513,7 +513,7 @@ c12.equals("dummy"):false
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/Wordlist/Solution</para>
+                <para role="eclipse">Sd1/Wordlist/Solution</para>
               </annotation>
 
               <para>The input file smalltest.txt may be used to define a <xref
@@ -643,7 +643,7 @@ public class LengthCompare  implements Comparator&lt;String&gt; {
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/StringLengthSort/Solution</para>
+                <para role="eclipse">Sd1/StringLengthSort/Solution</para>
               </annotation>
             </answer>
           </qandaentry>
@@ -793,7 +793,7 @@ public class WordFrequency {
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/WordFrequency1/Solution</para>
+                <para role="eclipse">Sd1/WordFrequency1/Solution</para>
               </annotation>
             </answer>
           </qandaentry>
@@ -843,7 +843,7 @@ public class WordFrequency {
             project:</para>
 
             <annotation role="make">
-              <para role="eclipse">P/HtmlFormatting/Simple/Exercise</para>
+              <para role="eclipse">Sd1/HtmlFormatting/Simple/Exercise</para>
             </annotation>
 
             <para>Import the above project into <xref linkend="glo_Eclipse"/>.
@@ -1124,7 +1124,7 @@ End of records</programlisting>
 
           <answer>
             <annotation role="make">
-              <para role="eclipse">P/HtmlFormatting/Simple/Solution</para>
+              <para role="eclipse">Sd1/HtmlFormatting/Simple/Solution</para>
             </annotation>
           </answer>
         </qandaentry>
@@ -1446,7 +1446,7 @@ public interface Set_String {
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/WordFrequency1/Solution</para>
+                <para role="eclipse">Sd1/WordFrequency1/Solution</para>
               </annotation>
             </answer>
           </qandaentry>
@@ -1491,7 +1491,7 @@ public interface Set_String {
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/WordFrequency2/Solution</para>
+                <para role="eclipse">Sd1/WordFrequency2/Solution</para>
               </annotation>
             </answer>
           </qandaentry>
@@ -1548,7 +1548,7 @@ D: 2</programlisting>
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/Marks/Solution1</para>
+                <para role="eclipse">Sd1/Marks/Solution1</para>
               </annotation>
             </answer>
           </qandaentry>
@@ -1574,7 +1574,7 @@ D: Jane Simmonds, Tim Bone</programlisting>
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/Marks/Solution2</para>
+                <para role="eclipse">Sd1/Marks/Solution2</para>
               </annotation>
             </answer>
           </qandaentry>
diff --git a/Doc/Sd1/deployment.xml b/Doc/Sd1/deployment.xml
index 25eb2e51d..0b847d5c4 100644
--- a/Doc/Sd1/deployment.xml
+++ b/Doc/Sd1/deployment.xml
@@ -118,7 +118,7 @@
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/Array/arraycalcSolution</para>
+                <para role="eclipse">Sd1/Array/arraycalcSolution</para>
               </annotation>
             </answer>
           </qandaentry>
@@ -407,7 +407,7 @@ public class InputValidator {
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/Array/medianCmdLine</para>
+                <para role="eclipse">Sd1/Array/medianCmdLine</para>
               </annotation>
             </answer>
           </qandaentry>
diff --git a/Doc/Sd1/identity.xml b/Doc/Sd1/identity.xml
index 6d01a3b5e..593bf5a7b 100644
--- a/Doc/Sd1/identity.xml
+++ b/Doc/Sd1/identity.xml
@@ -192,7 +192,7 @@ b1 == b2: false <co linkends="answerCoStringOperatorEquality-2"
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/life/V3</para>
+                  <para role="eclipse">Sd1/life/V3</para>
                 </annotation>
               </answer>
             </qandaentry>
diff --git a/Doc/Sd1/loop.xml b/Doc/Sd1/loop.xml
index 6f5c408b9..9deba38c2 100644
--- a/Doc/Sd1/loop.xml
+++ b/Doc/Sd1/loop.xml
@@ -60,7 +60,7 @@ Is 2016 a leap year? true</programlisting>
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/rounding</para>
+                  <para role="eclipse">Sd1/rounding</para>
                 </annotation>
 
                 <para>A first solution may be:</para>
@@ -181,7 +181,7 @@ Is 2016 a leap year? true</programlisting>
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/rounding</para>
+                  <para role="eclipse">Sd1/rounding</para>
                 </annotation>
 
                 <para>We just need a single loop in <link
@@ -443,7 +443,7 @@ Is 2016 a leap year? true</programlisting>
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/rounding</para>
+                  <para role="eclipse">Sd1/rounding</para>
                 </annotation>
 
                 <para>See <link
@@ -541,7 +541,7 @@ Is 2016 a leap year? true</programlisting>
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/Gcd/V1</para>
+                <para role="eclipse">Sd1/Gcd/V1</para>
               </annotation>
 
               <para>Implementing <methodname
@@ -709,7 +709,7 @@ Is 2016 a leap year? true</programlisting>
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/fraction/V2</para>
+                <para role="eclipse">Sd1/fraction/V2</para>
               </annotation>
 
               <para>Modifying the constructor is straightforward: On creating
@@ -909,7 +909,7 @@ public class Math {
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/math/V0_5</para>
+                <para role="eclipse">Sd1/math/V0_5</para>
               </annotation>
 
               <para>See <link
@@ -1257,7 +1257,7 @@ public class Math {
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/math/V1</para>
+                <para role="eclipse">Sd1/math/V1</para>
               </annotation>
 
               <para>Regarding the finite number of terms we implement the last
@@ -1633,7 +1633,7 @@ e^3=19.412499999999998, difference=-0.67303692318767</programlisting>
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/math/V2</para>
+                <para role="eclipse">Sd1/math/V2</para>
               </annotation>
 
               <para>Taking seven terms into account we have the following
@@ -1829,7 +1829,7 @@ sin(4 * PI)=-9143.306026012957, <emphasis role="bold">difference=-9143.306026012
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/math/V3</para>
+                <para role="eclipse">Sd1/math/V3</para>
               </annotation>
 
               <para>The following results result from <link
@@ -2314,7 +2314,7 @@ sin(4 * PI)=4518.2187229323445, difference=4518.2187229323445</programlisting>
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/math/V4</para>
+                <para role="eclipse">Sd1/math/V4</para>
               </annotation>
 
               <para>For convenience reasons we start defining PI within our
diff --git a/Doc/Sd1/preliminaries.xml b/Doc/Sd1/preliminaries.xml
index f4d1008ff..20e67013c 100644
--- a/Doc/Sd1/preliminaries.xml
+++ b/Doc/Sd1/preliminaries.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<chapter xml:id="sw1Lect1"  version="5.0" xmlns="http://docbook.org/ns/docbook"
+<chapter version="5.0" xml:id="sw1Lect1" 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"
@@ -12,7 +12,7 @@
     <title>Common software development related resources</title>
 
     <glosslist>
-      <glossentry>
+      <glossentry xml:id="gossHdmMailRef">
         <glossterm><xref linkend="glo_HdM"/> mail server</glossterm>
 
         <glossdef>
@@ -33,7 +33,7 @@
         </glossdef>
       </glossentry>
 
-      <glossentry>
+      <glossentry xml:id="glossMiVpnRef">
         <glossterm><acronym>MI <xref linkend="glo_VPN"/></acronym>
         Installation</glossterm>
 
@@ -45,7 +45,7 @@
         </glossdef>
       </glossentry>
 
-      <glossentry>
+      <glossentry xml:id="glossMiCloudRef">
         <glossterm>MI Cloud</glossterm>
 
         <glossdef>
@@ -57,7 +57,7 @@
         </glossdef>
       </glossentry>
 
-      <glossentry>
+      <glossentry xml:id="glossMiGitRef">
         <glossterm>MI <xref linkend="glo_Git"/> / <xref linkend="glo_Svn"/>
         repository</glossterm>
 
@@ -67,7 +67,7 @@
         </glossdef>
       </glossentry>
 
-      <glossentry>
+      <glossentry xml:id="glossMiFileserverRef">
         <glossterm>MI file server</glossterm>
 
         <glossdef>
@@ -87,12 +87,12 @@
     <title>Lecture related resources</title>
 
     <glosslist>
-      <glossentry>
+      <glossentry xml:id="glossSd1LectureRef">
         <glossterm>Books / Literature</glossterm>
 
         <glossdef>
           <glosslist>
-            <glossentry>
+            <glossentry xml:id="glossSda1PrimaryLectures">
               <glossterm>Primary</glossterm>
 
               <glossdef>
@@ -109,7 +109,7 @@
               </glossdef>
             </glossentry>
 
-            <glossentry>
+            <glossentry xml:id="glossSda1SecondaryLectures">
               <glossterm>Secondary</glossterm>
 
               <glossdef>
@@ -128,7 +128,7 @@
               </glossdef>
             </glossentry>
 
-            <glossentry>
+            <glossentry xml:id="glossSda1LectureUnixShell">
               <glossterm>UNIX shell introduction</glossterm>
 
               <glossdef>
@@ -160,7 +160,7 @@
         </glossdef>
       </glossentry>
 
-      <glossentry>
+      <glossentry xml:id="glossSda1LiveLectureAdditions">
         <glossterm>Live lecture additions</glossterm>
 
         <glossdef>
@@ -170,7 +170,7 @@
         </glossdef>
       </glossentry>
 
-      <glossentry>
+      <glossentry xml:id="glossSda1EclipseDownload">
         <glossterm><xref linkend="glo_Eclipse"/> <xref
         linkend="glo_IDE"/></glossterm>
 
@@ -186,7 +186,7 @@
         </glossdef>
       </glossentry>
 
-      <glossentry>
+      <glossentry xml:id="glossSda1MavenArchetypeQuickstart">
         <glossterm>Maven artifact
         <quote>mi-maven-archetype-quickstart</quote></glossterm>
 
@@ -205,7 +205,7 @@
         </glossdef>
       </glossentry>
 
-      <glossentry>
+      <glossentry xml:id="glossSda1LubuntuVm">
         <glossterm><productname>Virtualbox</productname>
         <productname>Lubuntu</productname> VM</glossterm>
 
diff --git a/Doc/Sd1/streams.xml b/Doc/Sd1/streams.xml
index fdf58cf65..1b9e0d5ff 100644
--- a/Doc/Sd1/streams.xml
+++ b/Doc/Sd1/streams.xml
@@ -101,7 +101,7 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/Wc/readFile</para>
+                <para role="eclipse">Sd1/Wc/readFile</para>
               </annotation>
 
               <para>This solutions reacts both to inexistent files and general
@@ -253,7 +253,7 @@ final BufferedReader inputBufferedReader = new BufferedReader(fileReader);</prog
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/Wc/wc</para>
+                <para role="eclipse">Sd1/Wc/wc</para>
               </annotation>
 
               <para>Executing <command>mvn</command> <option>package</option>
diff --git a/Doc/Sda1/Ref/Fig/Makefile b/Doc/Sda1/Ref/Fig/Makefile
deleted file mode 100644
index f147f7067..000000000
--- a/Doc/Sda1/Ref/Fig/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#FIGFILES=\
-attribInElement  domtree        invoicedataimplement  jdbcurl            pageStack             sqlinject            xhtml \
-attributes       entityresolve  jdbcarch              memofour           persistence           sqlTransport         xml2fo2pdf \
-booknavigate     externalize    jdbcFourTier          memorelativexpath  persistentStates      sqlTransportPrepare  xml2html \
-clientserv       filtering      jdbcObjectRelation    memotree           persistHandlerStates  sqrtree              xmlattribandjava \
-contentmixed     headfoot       jdbcread              memoxpath          preceding             sqrtrender           xmlbase \
-cpp              heartland      jdbcReadWrite         overlay            propernest            updateinfo           xpath \
-crossmedia       impropernest   jdbcSniffing          pagerefhyperStack  regions               wellformedandvalid   xslconvert \
-dictionaryStack  invoicedata    jdbcThreeTier         pagerefStack       saxxmlrdbms           xhtmlexample         xsl_id
-
-#FIGFILES=clientserv
-
-FIGFILES=$(shell /bin/ls *.fig | sed -e s/\.fig//g)
-TEXFILES=$(shell cd Generate;/bin/ls *.tex | sed -e s/\.tex//g)
-
-p:
-	@echo  $(FIGFILES)
-	@echo ""
-#	@echo  $(TEXFILES)
-
-include ../../../../make.rules
-
-#end
diff --git a/Doc/Sda1/jdbc.xml b/Doc/Sda1/jdbc.xml
index 4269ad64e..525c59b16 100644
--- a/Doc/Sda1/jdbc.xml
+++ b/Doc/Sda1/jdbc.xml
@@ -1114,7 +1114,7 @@ public class SimpleInsert {
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/catalog2rdbms</para>
+                  <para role="eclipse">Sda1/catalog2rdbms</para>
                 </annotation>
 
                 <para>This solution requires a <command>mvn</command>
@@ -1122,7 +1122,7 @@ public class SimpleInsert {
                 <quote>saxerrorhandler</quote>:</para>
 
                 <annotation role="make">
-                  <para role="eclipse">P/saxerrorhandler</para>
+                  <para role="eclipse">Sda1/saxerrorhandler</para>
                 </annotation>
               </answer>
             </qandaentry>
@@ -3560,7 +3560,7 @@ PersistenceHandler.password=<emphasis role="bold">XYZ</emphasis> <co
 
                 <answer>
                   <annotation role="make">
-                    <para role="eclipse">P/rdbms2catalog</para>
+                    <para role="eclipse">Sda1/rdbms2catalog</para>
                   </annotation>
                 </answer>
               </qandaentry>
diff --git a/Doc/Sda1/sax.xml b/Doc/Sda1/sax.xml
index 70ce88838..d52dcb296 100644
--- a/Doc/Sda1/sax.xml
+++ b/Doc/Sda1/sax.xml
@@ -1406,7 +1406,7 @@ INSERT INTO Description VALUES('instantTent', 2, 'Pre-attached tent poles');</pr
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/catalog2sql</para>
+                  <para role="eclipse">Sda1/catalog2sql</para>
                 </annotation>
 
                 <para>Running this project and executing tests requires the
@@ -1415,7 +1415,7 @@ INSERT INTO Description VALUES('instantTent', 2, 'Pre-attached tent poles');</pr
                 to satisfy a dependency:</para>
 
                 <annotation role="make">
-                  <para role="eclipse">P/saxerrorhandler</para>
+                  <para role="eclipse">Sda1/saxerrorhandler</para>
                 </annotation>
 
                 <para>Some remarks are in order here:</para>
@@ -1591,7 +1591,7 @@ Namespace '<emphasis role="bold">http://www.w3.org/1999/XSL/Transform</emphasis>
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/xmlstatistics</para>
+                  <para role="eclipse">Sda1/xmlstatistics</para>
                 </annotation>
 
                 <para>Running this project and executing tests requires the
@@ -1600,7 +1600,7 @@ Namespace '<emphasis role="bold">http://www.w3.org/1999/XSL/Transform</emphasis>
                 to satisfy the following dependency:</para>
 
                 <annotation role="make">
-                  <para role="eclipse">P/saxerrorhandler</para>
+                  <para role="eclipse">Sda1/saxerrorhandler</para>
                 </annotation>
 
                 <para>The above solution contains both a running application
diff --git a/Doc/Sda2/Ref/Fig/Makefile b/Doc/Sda2/Ref/Fig/Makefile
deleted file mode 100644
index 943e8fd00..000000000
--- a/Doc/Sda2/Ref/Fig/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-#This Makefile has to be executed in a subdirectory
-# "Generate": make -f ../Makefile all
-#
-
-
-FIGFILES=mavenIntro transitiveDep persistProvider classUser mapUser mapUserIntegrity \
-billing billingData billingMapJoined billingSql figureInherit
-
-%-0.pdf:../%.fig
-	../../../../bin/fig2mpdf -l -m $< #&& touch $*.done
-	if [ -e $*.tex ]; then pdflatex $* && rm -f ../$*.pdf && mv $*.pdf ..; fi;
-
-../%.fig.pdf:../%.fig
-	fig2dev -L pstex $< | epstopdf -f > $<.pdf
-
-pdf:$(foreach figfile, $(FIGFILES), $(figfile)-0.pdf)  $(foreach figfile, $(FIGFILES), ../$(figfile).fig.pdf)
-
-all:
-	mkdir -p Generate;cd Generate;export PATH=../../../../bin:${PATH}; $(MAKE) -f ../Makefile pdf # PATH contains additional tools
-
-clean:
-	rm -rf Generate $(foreach figfile, $(FIGFILES), $(figfile).pdf) $(foreach figfile, $(FIGFILES), $(figfile).fig.pdf)
-
-#end
diff --git a/Doc/Sda2/jpa.xml b/Doc/Sda2/jpa.xml
index 4591c12a6..15f2be331 100644
--- a/Doc/Sda2/jpa.xml
+++ b/Doc/Sda2/jpa.xml
@@ -1612,7 +1612,7 @@
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/Jpa/Cd</para>
+                  <para role="eclipse">Sda2/Jpa/Cd</para>
                 </annotation>
               </answer>
             </qandaentry>
@@ -3008,7 +3008,7 @@
             <para>Import the following Hibernate based project:</para>
 
             <annotation role="make">
-              <para role="eclipse">P/Jpa/HibernateCacheDemo</para>
+              <para role="eclipse">Sda2/Jpa/HibernateCacheDemo</para>
             </annotation>
 
             <orderedlist>
diff --git a/Doc/Sda2/ldap.xml b/Doc/Sda2/ldap.xml
index 6e579d52a..2ecba2b46 100644
--- a/Doc/Sda2/ldap.xml
+++ b/Doc/Sda2/ldap.xml
@@ -593,11 +593,11 @@
 
             <answer>
               <annotation role="make">
-                <para role="eclipse">P/UnixSqlLdap/Jndi/Unix2Rdbms</para>
+                <para role="eclipse">Sda2/UnixSqlLdap/Jndi/Unix2Rdbms</para>
               </annotation>
 
               <annotation role="make">
-                <para role="eclipse">P/UnixSqlLdap/Jndi/Rdbms2Ldap</para>
+                <para role="eclipse">Sda2/UnixSqlLdap/Jndi/Rdbms2Ldap</para>
               </annotation>
             </answer>
           </qandaentry>
@@ -691,7 +691,7 @@
 
               <answer>
                 <annotation role="make">
-                  <para role="eclipse">P/account</para>
+                  <para role="eclipse">Sda2/account</para>
                 </annotation>
               </answer>
             </qandaentry>
diff --git a/Doc/make.rules b/Doc/make.rules
index 277f8972f..4af25e6e6 100644
--- a/Doc/make.rules
+++ b/Doc/make.rules
@@ -1,9 +1,19 @@
+FIGFILES=$(shell /bin/ls *.fig | sed -e s/\.fig//g)
+TEXFILES=$(shell cd Generate;/bin/ls *.tex | sed -e s/\.tex//g)
+
+
 %.fig.pdf:%.fig
 	fig2dev -L pstex $< | epstopdf -f > $*.fig.pdf
 
 %.pdf:%.fig
 	if [ ! -f Generate/$*.tex ]; then \
+          echo "*********************************************************"; \
+          echo "*********************************************************"; \
+          echo "*"; \
           echo File $< " is not being referenced from any XML document, exiting!"; \
+          echo "*"; \
+          echo "*********************************************************"; \
+          echo "*********************************************************"; \
           exit 1; \
         fi
 	cd Generate; fig2mpdf -l -m ../$<
diff --git a/P/Sda2/Jpa/Cd/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/cd/domain/Catalog.java b/P/Sda2/Jpa/Cd/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/cd/domain/Catalog.java
index f274d46b0..2612a911c 100644
--- a/P/Sda2/Jpa/Cd/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/cd/domain/Catalog.java
+++ b/P/Sda2/Jpa/Cd/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/cd/domain/Catalog.java
@@ -22,15 +22,15 @@ import javax.xml.bind.annotation.XmlType;
  * <p>The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element ref="{}cd" maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element ref="{}cd" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
  * </pre>
  * 
  * 
diff --git a/P/Sda2/Jpa/Cd/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/cd/domain/Cd.java b/P/Sda2/Jpa/Cd/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/cd/domain/Cd.java
index 9cfc06f60..9619a2c8a 100644
--- a/P/Sda2/Jpa/Cd/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/cd/domain/Cd.java
+++ b/P/Sda2/Jpa/Cd/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/cd/domain/Cd.java
@@ -28,21 +28,21 @@ import javax.xml.bind.annotation.XmlType;
  * <p>The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
- * &lt;complexType>
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="artist" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="country" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="company" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="price" type="{}money"/>
- *         &lt;element name="year" type="{http://www.w3.org/2001/XMLSchema}int"/>
- *       &lt;/sequence>
- *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="artist" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="country" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="company" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="price" type="{}money"/&gt;
+ *         &lt;element name="year" type="{http://www.w3.org/2001/XMLSchema}int"/&gt;
+ *       &lt;/sequence&gt;
+ *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}int" /&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
  * </pre>
  * 
  * 
diff --git a/P/pom.xml b/P/pom.xml
index 2898e624a..bb6a876b5 100644
--- a/P/pom.xml
+++ b/P/pom.xml
@@ -3,6 +3,10 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
 
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
   <parent>
     <groupId>de.hdm-stuttgart.mi</groupId>
     <artifactId>lecturenotes-base-pom</artifactId>
@@ -89,7 +93,7 @@
     <module>Sda1/xmlstatistics</module>
 
 
-    <!-- Structured data and applications 2
+    <!-- Structured data and applications 2  -->
 
     <module>Sda2/account</module>
     <module>Sda2/Register</module>
@@ -101,7 +105,7 @@
     <module>Sda2/forum_1</module>
     <module>Sda2/UnixSqlLdap/Jndi/Rdbms2Ldap</module>
     <module>Sda2/UnixSqlLdap/Jndi/Unix2Rdbms</module>
- -->
+
   </modules>
 
   <build>
diff --git a/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl b/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl
index 3e0d31094..274e8c6c6 100644
--- a/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl
+++ b/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl
@@ -36,6 +36,11 @@
             <xsl:if test="substring-after(parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref, '.') = 'fig'">
                 <uri>
                     <xsl:attribute name="xlink:href">
+                        <xsl:call-template name="hdm.get.leftmost.of.seperator">
+                            <xsl:with-param name="path" select="ancestor::*/@xml:base"/>
+                            <xsl:with-param name="seperator" select="'/'"/>
+                        </xsl:call-template>                  
+                        <xsl:text>/</xsl:text>
                         <xsl:call-template name="hdm.get.leftmost.of.seperator">
                             <xsl:with-param name="path" 
                                 select="parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref"/>
@@ -165,20 +170,23 @@
     
     <xsl:template match="db:para[@role='eclipse']" mode='make'>
         
+        <xsl:variable name="baseDir">
+            <xsl:text>P/</xsl:text>
+            <xsl:value-of select="."/>
+            <xsl:text>/target</xsl:text>
+        </xsl:variable>
         
         <itemizedlist>
             <listitem>
                 <para>
                     <xsl:text>Sourcecode available as importable Eclipse Maven project </xsl:text>
-                    <link
-                        xlink:href="Ref/api/{.}/eclipse.zip">zip archive</link>
+                    <link xlink:href="{$baseDir}/project.zip">zip archive</link>
                     <xsl:text>.</xsl:text>
                 </para>
             </listitem>
             
             <listitem>
-                <para>Online browsing of <link
-                    xlink:href="Ref/api/{.}/allclasses-noframe.html">API
+                <para>Online browsing of <link xlink:href="{$baseDir}/site/apidocs/allclasses-noframe.html">API
                     and implementation</link>.</para>
             </listitem>
         </itemizedlist>
diff --git a/ws/Docbook/Extensions/docbook.sch b/ws/Docbook/Extensions/docbook.sch
index 9c38974fc..98de77956 100644
--- a/ws/Docbook/Extensions/docbook.sch
+++ b/ws/Docbook/Extensions/docbook.sch
@@ -265,7 +265,7 @@
    </s:pattern>
 
    <s:pattern name="Mandatory Id definition constraint">
-      <s:rule context="db:chapter|db:section|db:figure|db:equation|db:table|db:qandaset">
+      <s:rule context="db:chapter|db:section|db:figure|db:equation|db:table|db:qandaset|db:glossary/db:glosslist/db:glossentry|db:biblioentry">
          <s:assert test="@xml:id">Each chapter,section, subection,... must have a unique id.</s:assert>
       </s:rule>
    </s:pattern>
-- 
GitLab