Theoretische Grundlagen der Informatik, WS 02/03
Dozenten: J.-M. Piveteau, U.-M. Künzi
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>
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.
Nennen Sie fünf wichtige Unterschiede zwischen XML und HTML.
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.
Ü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.
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