next up previous contents
Nächste Seite: 8.2.2 Beziehungen der Elemente Aufwärts: 8.2 Datenformat in XML Vorherige Seite: 8.2 Datenformat in XML   Inhalt


8.2.1 Elemente

Die Festlegung der Elemente, die in dem Dokument benutzt werden können, erfolgt in bestimmten Gruppen. Die Gruppen dienen der Strukturierung und der Wiederbenutzbarkeit der Elemente. Sie sind in dem erzeugten Dokument nicht sichtbar. Auf unterster Ebene innerhalb von textuellen Inhalten stehen die text.elements. Sie können überall dort eingesetzt werden, wo einfacher Text benutzt werden soll. Sie unterteilen sich weiter in drei Gruppen:

Code-Beispiel 1:
Das Einfügen aller beliebigen Elemente aus dem Namensraum von MathML wird mit dem xs:any-Element und der Angabe des Namensraumes für MathML erreicht. Durch die Angabe der Bearbeitungsart strict, lax oder skip im processContents-Attribut wird festgelegt, ob eine Validierung zwingend, eventuell oder gar nicht stattfinden soll. In diesem Beispiel wurde die Art lax gewählt, da damit der Prozessor angewiesen wird nach einer Definition für die eingefügten Elemente zu suchen, um sie zu validieren. Sollte die Suche erfolglos bleiben, so wird keine Validierung vorgenommen, aber dennoch kann das restliche Dokument weiter behandelt werden und es wird kein Fehler gemeldet. Da die Unterstützung von MathML vielfach noch nicht gegeben ist, kann für derartige Formate eine Ersatzgrafik verwendet werden.
<xs:element name="math">
 <xs:complexType>
  <xs:sequence>
   <xs:any namespace="http://www.w3.org/1998/Math/MathML" 
           processContents="lax" 
           minOccurs="0" maxOccurs="unbounded"/>
   <xs:group ref="def.graphic" minOccurs="0"/>
  </xs:sequence>
 </xs:complexType>
</xs:element>
Neben den Gruppen existiert auch noch ein code-Element, das vergleichbar zu MathML die Position einer "Fachsprache der Informatikëinnimmt. Innerhalb dieses Elementes wird nur Text xs:string eingegeben, weshalb Leerzeichen, Tabulator-Einrücker und Zeilenumbrüche erhalten bleiben. Damit lassen sich Code-Auszüge in die Texte integrieren. Eine weitere Möglichkeit liefert noch die Angabe einer Datei mittels des filelocation-Attributes. Der Inhalt des code-Elementes wird vernachlässigt und die angegebene Datei an seiner Stelle in das Dokument integriert. Aufbauend auf dem Text werden folgende Gruppierungen für die verschiedenen Elemente vorgenommen: Diese gesamten Elemente dienen zur Beschreibung des Inhaltes der einzelnen Kapitel chapter. Ein Kapitel besteht aus einem Titel title, einem optionalen Ersetzungstitel substitutetitle, einer optionalen Zusammenfassung abstract und dem Inhalt content. Ein Titel besteht aus reinem Text ergänzt um Textelemente und ist damit wie eine Zusammenfassung, die nur textuelle Inhalte über das Kapitel liefert, vom gemixten Typ elementtext. Das gleiche gilt auch für den Ersetzungstitel, auf den in Kapitel 8.2.3 näher eingegangen wird. In Abbildung 21 sind die Elemente eines Kapitels dargestellt. Das chapter- und das content-Element sind komplexe Typen, die nur Elemente beinhalten.

Abbildung 21: Definition des Kapitels - Grafische Ausgabe in XMLSpy
\includegraphics[scale=0.75]{bilder/chapterdef}

Eine weitere wichtige Strukturierung kann mittels Absätzen para vorgenommen werden. Sie bilden zum einen Textbausteine, die alle textauszeichnenden Elemente enthalten und zum anderen die strukturellen, semantischen oder Multimedia-Objeke. Damit lassen sich Inhalte gruppieren, was für die Generierung der Ausprägungen von Bedeutung ist. Das gesamte Dokument lecture ist prinzipiell nichts anderes als ein Kapitel mit Unterkapiteln. Allerdings kommen noch einige allgemeine Informationen hinzu, die festgelegt werden müssen. Zu den allgemeinen Informationen eines Dokumentes zählen zwingend die Autoren author, zusammengefasst in dem Element authorship. Desweiteren können noch ein Untertitel subtitle und ein Datum date hinzugefügt werden. Zum Einfügen von Inhalt-, Grafik- und Tabellenverzeichnissen, wie auch dem Glossar stehen jeweils die entsprechenden Elemente zur Verfügung. Diese sind nicht weiter von Bedeutung, da ihre Inhalte automatisch aus den dazugehörigen Elementen erstellt werden können. Die Elemente funktionieren damit als reine Markierungen, die angeben ob ein Verzeichnis erstellt werden soll. Das Literaturverzeichnis funktioniert prinzipiell gleich, doch müssen die im Text eingefügten Verweise noch mit ihren Quellen in Verbindung gebracht werden. Dazu können verschiedene Einträge in dem Literaturverzeichnis gemacht werden, die den Verweisen zugeordnet werden. Um die Quellenangaben für mehrere Dokumente nutzen zu können, lässt sich das Literaturverzeichnis in eine eigene Datei schreiben und in dem bibliography-Element über das filelocation-Attribut einfügen. Dieses Attribut steht für unterschiedliche Elemente zur Verfügung, beispielsweise das oben erwähnte code-Element, denen es dadurch ermöglicht werden soll auch externe Dateien zu integrieren. Diese Dateien müssen natürlich auch nach dem Schema gültig sein. Nur das code-Element und das math-Element bilden hierbei eine Ausnahme, da es sich beim Code nicht um ein XML-Dokument handeln muss und die mathematischen Formeln in einem externen Namensraum geschrieben wurden. Das lecture-Element verfügt neben diesen Angaben auch noch über ein Sprach-Attribut language, mit dem die Sprache für das gesamte Dokument festgelegt wird. Es handelt sich dabei um eine Pflichtangabe, was durch die folgende Definition festgelegt wurde:
<xs:attribute name="language" type="xs:language" 
                                  use="required"/>
Damit sind die wesentlichen Elemente des Quelldokumentes beschrieben. Die Struktur der Elemente und ihre Abhängigkeiten werden im folgenden Kapitel beschrieben.
next up previous contents
Nächste Seite: 8.2.2 Beziehungen der Elemente Aufwärts: 8.2 Datenformat in XML Vorherige Seite: 8.2 Datenformat in XML   Inhalt
Tanja Schniederberend 2003-06-11