From d1db55ca26e4a552514640f798ba305c27d98816 Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Mon, 6 Oct 2014 22:51:07 +0200
Subject: [PATCH] DTD --> XSD

---
 Doc/Ref/Fig/attribInElement.fig             | 65 +++++++++------------
 Doc/Ref/Fig/xmlattribandjava.fig            | 20 +++----
 Doc/Ref/src/Dtd/book/v5/java.xml            |  3 +-
 Doc/Ref/src/Memo.1/memo.dtd                 | 11 ----
 Doc/Ref/src/Memo.1/memo.xsd                 | 17 ------
 Doc/Ref/src/Memo.1/message.xml              |  1 -
 Doc/trans.txt                               |  9 ---
 ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.dtd | 14 -----
 ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.xsd | 55 +++++++++++++++++
 ws/eclipse/Jdbc/Input/Xml/Book/V.3/java.xml |  5 +-
 ws/eclipse/Jdbc/Input/Xml/Doodle/data.xml   | 40 ++++---------
 ws/eclipse/Jdbc/Input/Xml/Doodle/doodle.xsd | 29 +++++++++
 12 files changed, 134 insertions(+), 135 deletions(-)
 delete mode 100644 Doc/Ref/src/Memo.1/memo.dtd
 delete mode 100644 Doc/trans.txt
 delete mode 100644 ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.dtd
 create mode 100644 ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.xsd
 create mode 100644 ws/eclipse/Jdbc/Input/Xml/Doodle/doodle.xsd

diff --git a/Doc/Ref/Fig/attribInElement.fig b/Doc/Ref/Fig/attribInElement.fig
index 3fca60a1a..b1dc7e7d4 100644
--- a/Doc/Ref/Fig/attribInElement.fig
+++ b/Doc/Ref/Fig/attribInElement.fig
@@ -1,4 +1,4 @@
-#FIG 3.2  Produced by xfig version 3.2.5
+#FIG 3.2  Produced by xfig version 3.2.5c
 Landscape
 Center
 Metric
@@ -19,45 +19,34 @@ Single
 0 41 #424242
 0 42 #8c8c8c
 0 43 #424242
-6 990 630 10800 5400
-6 1575 1485 3825 1800
-4 0 0 900 -1 2 24 0.0000 4 285 2220 1575 1800 <!ATTLIST \001
+6 180 5265 10215 6120
+6 180 5310 2115 6030
+4 0 2 830 -1 2 24 0.0000 4 270 1920 180 5580 Attribute's\001
+4 0 2 830 -1 2 24 0.0000 4 195 960 180 6030 name\001
 -6
-6 2700 2070 9225 2475
-4 0 2 880 -1 2 24 0.0000 4 195 525 2700 2340 src\001
-4 0 5 870 -1 2 24 0.0000 4 285 1470 3375 2385 CDATA\001
-4 0 10 860 -1 2 24 0.0000 4 375 2385 6840 2385 #REQUIRED\001
+6 8280 5355 10215 6075
+4 0 10 810 -1 2 24 0.0000 4 270 1230 8280 6075 default\001
+4 0 10 810 -1 2 24 0.0000 4 270 1920 8280 5625 Attribute's\001
 -6
-6 2880 2520 8865 2880
-4 0 2 850 -1 2 24 0.0000 4 285 450 2880 2835 id \001
-4 0 5 850 -1 2 24 0.0000 4 285 450 3375 2835 ID\001
-4 0 10 850 -1 2 24 0.0000 4 300 1995 6840 2880 #IMPLIED\001
+6 4050 5265 5985 6120
+4 0 5 820 -1 2 24 0.0000 4 270 1920 4050 5535 Attribute's\001
+4 0 5 820 -1 2 24 0.0000 4 360 1635 4095 6030 data type\001
 -6
-6 2385 3015 9900 3465
-4 0 2 840 -1 2 24 0.0000 4 375 885 2385 3375 align\001
-4 0 5 840 -1 2 24 0.0000 4 390 3360 3420 3375 (top|center|bottom)\001
-4 0 0 900 -1 2 24 0.0000 4 225 225 9675 3330 >\001
-4 0 10 840 -1 2 24 0.0000 4 285 1530 6885 3330 "center"\001
--6
-6 990 3870 10800 5400
-2 1 0 3 0 7 830 -1 -1 0.000 0 0 -1 0 0 2
-	 1035 4365 10755 4365
-2 1 1 3 0 7 830 -1 -1 8.000 0 0 -1 0 0 2
-	 3285 3915 3285 5355
-2 1 1 3 0 7 830 -1 -1 8.000 0 0 -1 0 0 2
-	 6750 3915 6750 5355
-4 0 2 830 -1 2 24 0.0000 4 285 1920 1215 4860 Attribute's\001
-4 0 5 820 -1 2 24 0.0000 4 285 1920 3420 4815 Attribute's\001
-4 0 5 820 -1 2 24 0.0000 4 375 1635 3465 5310 data type\001
-4 0 2 830 -1 2 24 0.0000 4 195 960 1215 5310 name\001
-4 0 10 810 -1 2 24 0.0000 4 285 1230 6975 5355 default\001
-4 0 10 810 -1 2 24 0.0000 4 285 1920 6975 4905 Attribute's\001
--6
-4 0 4 890 -1 2 24 0.0000 4 375 675 3825 1800 img\001
-4 0 0 910 -1 2 24 0.0000 4 285 2400 1575 945 <!ELEMENT\001
-4 0 4 910 -1 2 24 0.0000 4 375 675 4095 945 img\001
-4 0 0 910 -1 2 24 0.0000 4 75 315 4905 945 ...\001
-4 0 0 910 -1 2 24 0.0000 4 225 225 5355 945 >\001
 -6
 2 2 0 2 7 7 900 -1 -1 0.000 0 0 -1 0 0 5
-	 0 0 10800 0 10800 5400 0 5400 0 0
+	 0 0 10800 0 10800 6300 0 6300 0 0
+4 0 0 840 -1 14 26 0.0000 4 390 7395 2160 3285 type="xs:ID" use="optional"/>\001
+4 0 0 900 -1 14 26 0.0000 4 345 3315 0 4770 </xs:element>\001
+4 0 0 900 -1 14 26 0.0000 4 360 5865 0 270 <xs:element name="img">\001
+4 0 4 899 -1 14 26 0.0000 4 360 765 4590 270 img\001
+4 0 0 880 -1 14 26 0.0000 4 390 4335 360 4050 </xs:complexType>\001
+4 0 0 860 -1 14 26 0.0000 4 270 6120 810 1485 <xs:attribute name="src"\001
+4 0 0 880 -1 14 26 0.0000 4 360 4080 270 855 <xs:complexType>\001
+4 0 2 830 -1 14 26 0.0000 4 195 765 5895 1485 src\001
+4 0 0 840 -1 14 26 0.0000 4 270 5865 810 2700 <xs:attribute name="id"\001
+4 0 2 830 -1 14 26 0.0000 4 270 510 5895 2700 id\001
+4 0 5 820 -1 14 26 0.0000 4 255 1275 3690 3285 xs:ID\001
+4 0 5 820 -1 14 26 0.0000 4 360 2295 3690 2070 xs:string\001
+4 0 1 810 -1 14 26 0.0000 4 360 2040 6750 3285 optional\001
+4 0 0 860 -1 14 26 0.0000 4 390 8415 2160 2070 type="xs:string" use="required"/>\001
+4 0 1 810 -1 14 26 0.0000 4 360 2040 7785 2070 required\001
diff --git a/Doc/Ref/Fig/xmlattribandjava.fig b/Doc/Ref/Fig/xmlattribandjava.fig
index e1bcaa6b8..f69ac5b3f 100644
--- a/Doc/Ref/Fig/xmlattribandjava.fig
+++ b/Doc/Ref/Fig/xmlattribandjava.fig
@@ -1,4 +1,4 @@
-#FIG 3.2  Produced by xfig version 3.2.5b
+#FIG 3.2  Produced by xfig version 3.2.5c
 Landscape
 Center
 Metric
@@ -8,19 +8,12 @@ Single
 -2
 1200 2
 0 32 #fffffe
-6 5265 3735 10575 5760
-4 0 4 830 -1 2 24 0.0000 4 270 5280 5265 4050 <!ELEMENT circle EMPTY>\001
-4 0 4 830 -1 2 24 0.0000 4 270 3300 5310 4500 <!ATTLIST circle \001
-4 0 4 830 -1 2 24 0.0000 4 360 4320 6030 4860 x CDATA #REQUIRED\001
-4 0 4 830 -1 2 24 0.0000 4 375 4320 6030 5265 y CDATA #REQUIRED\001
-4 0 4 830 -1 2 24 0.0000 4 360 4515 6075 5670 r CDATA #REQUIRED>\001
--6
 6 6210 1170 10710 2340
 4 0 1 870 -1 2 24 0.0000 4 270 2325 8190 2340 h='4' w='6'/>\001
 4 0 1 870 -1 2 24 0.0000 4 360 4095 6210 1935 <rectangle x='-3' y='-1'\001
 4 0 4 900 -1 2 24 0.0000 4 360 4470 6210 1485 <circle x='5' y='5' r='4'/>\001
 -6
-6 0 1035 4980 2340
+6 0 1035 4995 2340
 4 0 1 850 -1 2 24 0.0000 4 360 2355 0 1755 Rectangle r =\001
 4 0 1 850 -1 2 24 0.0000 4 360 4380 405 2250 new Rectangle(-3,-1,4,6);\001
 4 0 4 880 -1 2 24 0.0000 4 345 4935 45 1305 Circle c = new Circle(5,5,4);\001
@@ -36,7 +29,6 @@ Single
 2 2 0 1 7 7 890 -1 -1 0.000 0 0 -1 0 0 5
 	 0 0 10800 0 10800 6750 0 6750 0 0
 4 0 1 860 -1 2 24 0.0000 4 360 4635 0 6570 public class Rectangle {...}\001
-4 0 0 840 -1 2 210 0.0000 4 2460 1755 6975 5850 ?\001
 4 0 0 770 -1 2 24 0.0000 4 270 4200 5400 3015 XML DTD declarations\001
 4 0 0 810 -1 2 24 0.0000 4 270 3360 5670 540 New element nodes\001
 4 0 0 790 -1 2 24 0.0000 4 270 3045 180 495 Constructor calls\001
@@ -49,4 +41,10 @@ Single
 4 0 4 890 -1 2 24 0.0000 4 345 1605 315 4860 double r;\001
 4 0 4 890 -1 2 24 0.0000 4 360 1635 315 4410 double y;\001
 4 0 0 760 -1 2 24 0.0000 4 315 4320 45 2970 JAVA class declarations\001
-4 0 1 820 -1 2 22 0.0000 4 330 5400 5265 6615 <!ELEMENT rectangle EMPTY>\001
+4 0 4 830 -1 2 24 0.0000 4 270 5115 5265 4050 <xs:element name="circle"...\001
+4 0 0 840 -1 2 210 0.0000 4 2460 1755 6975 5850 ?\001
+4 0 4 830 -1 2 24 0.0000 4 270 4545 6030 4860 <xs:attribute name="x"...\001
+4 0 4 830 -1 2 24 0.0000 4 360 4545 6030 5265 <xs:attribute name="y"...\001
+4 0 4 830 -1 2 24 0.0000 4 270 4515 6075 5670 <xs:attribute name="r"...\001
+4 0 1 820 -1 2 22 0.0000 4 330 5250 5265 6615 <xs:element name="rectangle" ...\001
+4 0 4 830 -1 2 24 0.0000 4 360 3405 5625 4500 <xs:complexType...\001
diff --git a/Doc/Ref/src/Dtd/book/v5/java.xml b/Doc/Ref/src/Dtd/book/v5/java.xml
index 2f7859529..fae18c75e 100644
--- a/Doc/Ref/src/Dtd/book/v5/java.xml
+++ b/Doc/Ref/src/Dtd/book/v5/java.xml
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:noNamespaceSchemaLocation="book.xsd" lang="en">
+    xsi:noNamespaceSchemaLocation="book.xsd" 
+    lang="en">
     <title>Introduction to Java</title>
     <chapter id="introJava">
         <title>Java types</title>
diff --git a/Doc/Ref/src/Memo.1/memo.dtd b/Doc/Ref/src/Memo.1/memo.dtd
deleted file mode 100644
index 0aa935329..000000000
--- a/Doc/Ref/src/Memo.1/memo.dtd
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- A first draft for a memo's grammar -->
-<!ELEMENT memo     (from, to+, subject, content)>
-
-<!ATTLIST memo
-   date     CDATA             #REQUIRED
-   priority (low|medium|high) #IMPLIED>
-
-<!ELEMENT from     (#PCDATA)>
-<!ELEMENT to       (#PCDATA)>
-<!ELEMENT subject  (#PCDATA)>
-<!ELEMENT content  (#PCDATA)>
\ No newline at end of file
diff --git a/Doc/Ref/src/Memo.1/memo.xsd b/Doc/Ref/src/Memo.1/memo.xsd
index 786749696..3fa40ed3e 100644
--- a/Doc/Ref/src/Memo.1/memo.xsd
+++ b/Doc/Ref/src/Memo.1/memo.xsd
@@ -24,21 +24,4 @@
       </xs:restriction>
    </xs:simpleType>
 
-
 </xs:schema>
-
-<!-- A first draft for a memo's grammar -->
-
-<!-- 
-<!ELEMENT memo     (from, to+, subject, content)>
-
-<!ATTLIST memo
-   date     CDATA             #REQUIRED
-   priority (low|medium|high) #IMPLIED>
-
-<!ELEMENT from     (#PCDATA)>
-<!ELEMENT to       (#PCDATA)>
-<!ELEMENT subject  (#PCDATA)>
-<!ELEMENT content  (#PCDATA)>
-
- -->
\ No newline at end of file
diff --git a/Doc/Ref/src/Memo.1/message.xml b/Doc/Ref/src/Memo.1/message.xml
index 662881408..d0a3efce3 100644
--- a/Doc/Ref/src/Memo.1/message.xml
+++ b/Doc/Ref/src/Memo.1/message.xml
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <memo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="memo.xsd" 
             date="2014-09-24" priority="high">
diff --git a/Doc/trans.txt b/Doc/trans.txt
deleted file mode 100644
index 112adc194..000000000
--- a/Doc/trans.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-./Doc/Ref/src/Dtd/book/v5/book.dtd
-./Doc/Ref/src/Memo.1/memo.dtd
-./ws/eclipse/Jdbc/Input/Xml/Book/V.1/book.dtd
-./ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.dtd
-./ws/eclipse/Jdbc/Input/Xml/Book/V.2/book.dtd
-./ws/eclipse/Jdbc/Input/Xml/Memo/memo.dtd
-./ws/eclipse/Jdbc/Input/Dom/catalog.dtd
-./Klausuren/Sda1/SS2013/Ex1/book.dtd
-./Klausuren/Sda1/SS2013/Ex1/bookSimple.dtd
diff --git a/ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.dtd b/ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.dtd
deleted file mode 100644
index cd58edcb4..000000000
--- a/ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- $Id: book.dtd 177 2006-11-01 16:36:30Z goik $ -->
-<!ELEMENT book       (title, chapter+)>
-<!ELEMENT chapter    (title, para+)>
-<!ATTLIST chapter
-    id ID #IMPLIED >
-<!ELEMENT title      (#PCDATA)>
-<!ELEMENT para       (#PCDATA|emph|externlink|internlink)*>
-<!ELEMENT emph       (#PCDATA)>
-<!ELEMENT externlink (#PCDATA)>
-<!ATTLIST externlink
-    href CDATA #REQUIRED >
-<!ELEMENT internlink (#PCDATA)>
-<!ATTLIST internlink
-    ref IDREF #REQUIRED >
diff --git a/ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.xsd b/ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.xsd
new file mode 100644
index 000000000..2995f52f3
--- /dev/null
+++ b/ws/eclipse/Jdbc/Input/Xml/Book/V.3/book.xsd
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+    
+    <xs:element name="book">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="title"/>
+                <xs:element ref="chapter" minOccurs="1" maxOccurs="unbounded"/>    
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="title" type="xs:string"/>
+    
+    <xs:element name="chapter">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="title"/>
+                <xs:element ref="para" minOccurs="1" maxOccurs="unbounded"/>        
+            </xs:sequence>
+            <xs:attribute name="id" type="xs:ID" use="optional"/>            
+        </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="para">
+        <xs:complexType mixed="true">
+            <xs:sequence>
+                <xs:choice minOccurs="0" maxOccurs="unbounded">
+                    <xs:element ref="emph"/>
+                    <xs:element ref="internlink"/>
+                    <xs:element ref="externlink"/>
+                </xs:choice>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="emph">
+        <xs:complexType mixed="true"/>
+    </xs:element>
+    
+    <xs:element name="internlink" >
+        <xs:complexType mixed="true">
+            <xs:attribute name="ref" type="xs:IDREF"/>
+        </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="externlink" >
+        <xs:complexType mixed="true">
+            <xs:attribute name="href" type="xs:anyURI"/>
+        </xs:complexType>
+    </xs:element>
+    
+</xs:schema>
\ No newline at end of file
diff --git a/ws/eclipse/Jdbc/Input/Xml/Book/V.3/java.xml b/ws/eclipse/Jdbc/Input/Xml/Book/V.3/java.xml
index 429bc87f3..a00b2b0a0 100644
--- a/ws/eclipse/Jdbc/Input/Xml/Book/V.3/java.xml
+++ b/ws/eclipse/Jdbc/Input/Xml/Book/V.3/java.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--$Id: java.xml 177 2006-11-01 16:36:30Z goik $ -->
-<!DOCTYPE book SYSTEM "book.dtd">
-<book>
+<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="book.xsd" >
     <title>Introduction to Java</title>
     <chapter id="javaIntro">
         <title>Introduction</title>
diff --git a/ws/eclipse/Jdbc/Input/Xml/Doodle/data.xml b/ws/eclipse/Jdbc/Input/Xml/Doodle/data.xml
index 6e4f086ce..80ee8b04d 100644
--- a/ws/eclipse/Jdbc/Input/Xml/Doodle/data.xml
+++ b/ws/eclipse/Jdbc/Input/Xml/Doodle/data.xml
@@ -1,33 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE poll [
-    <!ELEMENT poll (date*, person*)>
-    <!ELEMENT date EMPTY>
-    <!ATTLIST date id   ID    #REQUIRED
-                   day  NMTOKEN #REQUIRED
-                   time NMTOKEN #REQUIRED>
-                   
-    <!ELEMENT person (#PCDATA)>
-    <!ATTLIST person participate IDREFS #IMPLIED>
-]>
-<poll>
-    <date id="propose1" day="01.03.2013" time="13:30"/>
-    <date id="propose2" day="01.04.2013" time="13:30"/>
-    <date id="propose3" day="01.08.2013" time="13:30"/>
-    <date id="propose4" day="01.09.2013" time="13:30"/>
-    
-    <person participate="propose1 propose2 propose3"
-        >Joachim Charzinski</person>
-    <person participate="propose3"
-        >Oliver Kretzschmar</person>
-    <!-- ... further data omitted -->
-</poll>
 
-<!--
-    1 date+
-    2 attribs day and time 
-    2 day and time as NMTOKEN
-    2 person+
-    3 person referencing date ID/IDREF
+<poll xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="doodle.xsd">
     
-    Sum:
-    -->
\ No newline at end of file
+    <timeslot start="2014-03-22T08:00:00" end="2014-03-22T09:30:00" id="early"/>
+    <timeslot start="2014-04-22T16:00:00" end="2014-04-22T17:30:00" id="normal"/>
+    <timeslot start="2014-04-22T20:00:00" end="2014-04-22T21:30:00" id="late"/>
+    
+    <person participate="early late">Joachim Charzinski</person>
+    <person participate="normal">Oliver Kretzschmar</person>
+    <!-- ... further data omitted -->
+</poll>
\ No newline at end of file
diff --git a/ws/eclipse/Jdbc/Input/Xml/Doodle/doodle.xsd b/ws/eclipse/Jdbc/Input/Xml/Doodle/doodle.xsd
new file mode 100644
index 000000000..dc9a44796
--- /dev/null
+++ b/ws/eclipse/Jdbc/Input/Xml/Doodle/doodle.xsd
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+    
+    <xs:element name="poll">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="timeslot" minOccurs="1" maxOccurs="unbounded"/>
+                <xs:element ref="person" minOccurs="0" maxOccurs="unbounded"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="timeslot">
+        <xs:complexType>
+            <xs:attribute name="id" type="xs:ID" use="required"/>
+            <xs:attribute name="start" type="xs:dateTime" use="required"/>
+            <xs:attribute name="end" type="xs:dateTime" use="required"/>
+        </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="person">
+        <xs:complexType mixed="true">
+            <xs:attribute name="participate" type="xs:IDREFS" use="required"/>
+        </xs:complexType>
+    </xs:element>
+    
+</xs:schema>
\ No newline at end of file
-- 
GitLab