Übungserie 1: XML-Grundbegriffe 

Theoretische Grundlagen der Informatik, WS 02/03

Dozenten: J.-M. Piveteau, U.-M. Künzi

Aufgabe 1 (Struktur eines XML-Dokuments)

Zeichnen Sie die Baumstruktur des folgenden XML-Dokuments:

<?xml version="1.0"?>
<ATOM>
<ID><NAME>Actinium</NAME>
<SYMBOL>Ac</SYMBOL>
<ATOMIC_NUMBER>89</ATOMIC_NUMBER></ID>
<PHYSICAL_DATA>
<ATOMIC_WEIGHT>227</ATOMIC_WEIGHT>
<BOILING_POINT UNITS="Kelvin">3470</BOILING_POINT> 
<DENSITY UNITS="grams/cubic centimeter">  <!-- At 300K -->  
10.07 
</DENSITY> </PHYSICAL_DATA>
<OXIDATION_STATES>3</OXIDATION_STATES> 
<ATOMIC_DATA><ATOMIC_RADIUS UNITS="Angstroms">1.88</ATOMIC_RADIUS> 
<ATOMIC_VOLUME UNITS="cubic centimeters/mole">22.5</ATOMIC_VOLUME> <ELECTRON>
<ELECTRON_CONFIGURATION>[Rn] 6d1 7s2</ELECTRON_CONFIGURATION> 
<ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY> </ELECTRON></ATOMIC_DATA> 
<IONIZATION_POTENTIAL>5.17</IONIZATION_POTENTIAL> 
</ATOM>

Aufgabe 2 (Elemente und Attributen)

Oft gruppieren Banken die Daten eines Kunden unter einem sogenannten Stammkonto, welchem verschiedene "Objekte" (Depot, Konto, Hypothek, etc.) zugeordnet werden können. Schreiben Sie eine gültige XML-File, welches folgende Kundeninformation speichert:

Beachten Sie, welche Information als Element bzw. als Attribut gespeichert werden soll. Begründen Sie jeweils Ihre Implementierung.

Aufgabe 3 (HTML und XML)

Nennen Sie fünf wichtige Unterschiede zwischen XML und HTML.

Aufgabe 4 (W3C-Standards)

Besuchen Sie die Website der W3C, wo die XML 1.0-Spezifikationen veröffentlicht sind.  Erklären Sie auf der Basis dieser Spezifikationen, wie der "Ampersand"-Charakter & in einem XML-Dokument angegeben werden soll.

Aufgabe 5 (BNF, für die Studenten vom 3. Semester)

Überprüfen Sie die Wohlgeformtheit der folgenden XML-Zeile mit Hilfe der BNF-Beschreibung von XML, wie sie in der Version 1.0 der Spezifikationen angegeben ist (siehe auch E. Harold, W. Means, XML in a Nutshell, s. 366 ff):

<Name Geburtsjahr="1980">Dupont</Name>

 Beschreiben Sie die einzelnen Schritte der Überprüfung.

Aufgabe 6 (Parser, für Studenten vom 3. Semester)

Schreiben Sie einen XML-Parser in Java, welcher die Wohlgeformtheit von einfachen XML-Dokumenten überprüft. Ihr Parser muss folgendes kontrollieren:
1) Das Dokument fängt mit einer gültigen XML-Deklaration an
2) Jedem Start Tag entspricht ein End-Tag, ausser wenn es ein Leerelement-Tag ist
3) Es gibt keine überlappende Elemente