19.3 Aufbau der UnivIS-XML-Dokumente

Der prinzipielle Aufbau eines von der XML-Schnittstelle gelieferten Dokuments ist der folgende:

<?xml version="1.0"?>  
<!DOCTYPE UnivIS SYSTEM "http://univis.einrichtung.de/univis.dtd">  
<UnivIS>  
  <INHALT>  
</UnivIS>

wobei der Inhalt eine Reihung von Datensätzen darstellt, d.h. beispielsweise

<Lecture>  
 <name>Titel einer Lehrveranstaltung</name>  
 ...  
</Lecture>  
 
<Person>  
 <firstname>Theo</firstname>  
 <lastname>Tester</lastname>  
 ...  
</Person>

Die Bedeutung jedes Elements eines Datensatzes sollte selbsterklärend sein. Der genaue Aufbau der Informationen kann in der DTD nachgeschlagen werden.

Jeder einzelne Datensatz ist mit dem Attribut key versehen, der eine eindeutige Kennung für diesen Datensatz darstellt. Falls die Betriebsart orgnr gewählt wurde, ist ein zweites Attribut orgnr vorhanden, das die Organisationsnummer derjenigen Einrichtung enthält, aus der der Datensatz stammt.

Beispielsweise kann ein Datensatz die folgenden Attribute enthalten:

<Lecture key=".tech.IMMD.IMMD4.oobp" orgnr="10110">  
 ...  
</Lecture>

Verweise zwischen Datensätzen werden mit Hilfe des leeren Elements UnivISRef modelliert. Dieses Element enthält die Attribute type und key, die den Typ und die Kennung des referenzierten Datensatzes beinhalten. Ein Verweis auf die obige Lehrveranstaltung würde daher wie folgt formuliert:

<UnivISRef type="Lecture" key=".tech.IMMD.IMMD4.oobp" />

Diese Referenzen werden beispielsweise bei der Ausgabe der Dozenten bei einer Lehrveranstaltung, der Räume bei einem Termin oder der Kontakt-Personen bei einem Raum verwendet. Die Liste der Dozenten einer Lehrveranstaltungen wird zum Beispiel wie folgt ausgegeben:

<Lecture ...>  
 <dozs>  
  <doz><UnivISRef type="Person" key=".tech.IMMD.IMMD4.meier" /></doz>  
  <doz><UnivISRef type="Person" key=".tech.IMMD.IMMD4.mueller" /></doz>  
 </dozs>  
</Lecture>

Ein UnivIS-XML-Dokument ist dabei immer komplett, d.h. es enthält immer alle referenzierten Datensätze. Das obige Dokument würde demnach automatisch die folgenden Datensätze enthalten:

<Person key=".tech.IMMD.IMMD4.meier">  
 ...  
</Person>  
 
<Person key=".tech.IMMD.IMMD4.mueller">  
 ...  
</Person>

Bitte beachten Sie, dass in den UnivIS-Key die Pfadinformation, wo der Datensatz zu finden ist eingearbeitet ist. Das bedeutet, dass sich der Key z.B. einer Person ändert, wenn diese z.B. in ein anderes Institut verschoben wird. Gedacht ist der Key zur Referenzierung innerhalb eines XML Dokuments. Als Grundlage für den Aufbau einer eigenen Datenbank ist er aus oben genanntem Grund nicht geeignet.