Sunday, May 10, 2009

b. Finden Sie 2 Dokumente auf dem HPI-Webserver, die zwar well-formed aber nicht valid XML sind. Geben Sie wiederum ein Fragment des Dokuments an sowie das validity constraint, welches von diesem Dokument verletzt wird.

Die XML Spezifikation zufolge: "An XML document is valid if it has an associated document type declaration and if the document complies with the constraints expressed in it."

1. http://kolleg.hpi.uni-potsdam.de/index.php?id=3927

2. http://kolleg.hpi.uni-potsdam.de/index.php?id=3723

Line 73, Column 104: ID "js-menu2" already defined
…:160px;VISIBILITY:hidden;"><div id="js-menu2"><

Line 72, Column 103: ID "js-menu2" first defined here

Die beide Dokumente sind zwar well-formed aber nicht valid, die Validity constraint: ID ist verlezt: "A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them."

Sunday, May 3, 2009

1. Aufgabe

a. Finden Sie 3 HTML-Dokumente auf einem HPI-Webserver(*.hpi.uni-potsdam.de), die kein well-formed XML sind. Geben Sie für jedes Dokument ein Fragment an, welches die XML-Syntax verletzt, sowie die XML- Syntaxregel, die verletzt wird.

1. www.hpi.uni-potsdam.de/forschung/fachgebiete.html

<a href="personen/hpi_fellows_friends.html" onfocus="blurLink(this);">HPI-Fellows & Friends</a>

nicht well-formed. Verletzung der Regel [14] - ampersand in CharData.
& reserved exclusively for markup
usage allowed inside comments, processing instructions, or CDATA sections

2. www.dcl.hpi.uni-potsdam.de/teaching/ftsem

Line 70 Col 20
<p class="MsoHeader" style="text-align: center;" align="center"><span >Dipl.
Inf. Andreas Rasche<br> - no end tag for br

Regel [39] element::= EmptyElemTAg | STag content ETag

3. www.dcl.hpi.uni-potsdam.de/papers/

Line 159 Col 33
<a class="c4" href="http://www.dcl.hpi.uni-potsdam.de/papers/papers/Jahresbericht2007.pdf">
Jahresbericht 2007 der Gruppe Betriebssysteme und Middleware am
HPI</a> Potsdam, June 2008.</p> - no start tag for p

Regel [39] element::= EmptyElemTAg | STag content ETag


Validated with http://validator.w3.org/

1. Aufgabe

c. Definieren Sie einen Dokumenttyp, der zur Beschreibung einer Menge von Studenten verwendet werden kann, für die ihr Name, ihre Matrikelnummer sowie die Menge der von ihnen besuchten Lehrveranstaltungen bekannt ist. Bilden Sie weiterhin ein Dokument, dass diesem Typ entspricht.

DTD

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT studenten ((student*))>
<!ELEMENT student ((lehrveranstaltungen))>
<!ATTLIST student
matrikel-nr CDATA #REQUIRED
name CDATA #REQUIRED
>
<!ELEMENT lehrveranstaltungen ((lehrveranstaltung*))>
<!ELEMENT lehrveranstaltung (#PCDATA)>

XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE studenten SYSTEM "studenten.dtd">
< studenten>
< student name="Student 1" matrikel-nr="111111">
< lehrveranstaltungen >
< lehrveranstaltung > XML </lehrveranstaltung >
</lehrveranstaltungen >
</student>
< student name="Student 2" matrikel-nr="222222">
< lehrveranstaltungen >
< lehrveranstaltung > XML </lehrveranstaltung >
< lehrveranstaltung > Semantic Web </lehrveranstaltung >
</lehrveranstaltungen >
</student>
</studenten>