Miniprojekt - MyXHTML
Zielsetzung
Ziel ist es, eine DTD für eine vereinfachte Version von XHTML - kurz MyXHTML - selbst zu entwickeln. Das folgende XHTML-Dokument soll dabei als gültig bzgl. dieser DTD validiert werden.
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html SYSTEM "myxhtml.dtd">
<html>
<head>
<title>Steckbrief von Bailey</title>
</head>
<body>
<h1>Steckbrief</h1>
<p><img alt="Foto von Bailey" src="bailey1.jpg"/></p>
<p>Ich heiße <em>Bailey</em>. Ich lebe in der Nähe von Kaiserslautern.</p>
<p>Ich interessiere mich für Agility-Sport. Meine Lieblingsdisziplinen sind:</p>
<ul>
<li>Sprung durch einen Reifen</li>
<li>Lauf über eine Wippe</li>
<li>Slalomlauf zwischen Stangen</li>
</ul>
<p>
Ich gehe jedes Wochenende zur
<a href="www.welpenschule-kl.de/index.html">Welpenschule</a>
.
</p>
</body>
</html>
Hinweise zur Vorgehensweise
Da es sich hier um eine komplexere Aufgabe handelt, beginnen wir schrittweise. Zuerst soll nur folgendes Teildokument betrachtet werden:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html SYSTEM "myxhtml.dtd">
<html>
<head>
<title>Steckbrief von Bailey</title>
</head>
<body>
<h1>Steckbrief</h1>
</body>
</html>
Eine hierzu passende DTD (abgespeichert in myxhtml.dtd
) ist recht leicht zu entwickeln:
<!ELEMENT html (head, body)>
<!ELEMENT head (title)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT body (h1)>
<!ELEMENT h1 (#PCDATA)*>
Das reduzierte XML-Dokument sollte jetzt bzgl. der bisher entwickelten DTD validiert werden.
Nun kann ein XHTML-Dokument mehrere Überschriften 1. Ordnung enthalten. Innerhalb einer Überschrift können bestimmte Zeichenketten auch hervorgehoben werden. Diese Verallgemeinerungen können wie folgt in der DTD berücksichtigt werden:
<!ELEMENT html (head, body)>
<!ELEMENT head (title)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT body (h1)*>
<!ELEMENT h1 (#PCDATA | em)*>
<!ELEMENT em (#PCDATA)>
Nach jeder Änderung sollte das XML-Dokument bzgl. der entwickelten DTD erneut validiert werden.
Aufgabe
Führe die oben gezeigten Schritte durch. Wenn alles soweit geklappt hat, dann erweitere Schritt für Schritt das XML-Dokument und die zugehörige DTD.