XML Grundkurs

Dokumentenklassen: Grundkonzept und Beispiele

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Dokumentenklassen sind eine Grundidee von XML. Der Film beschreibt, wie diese in einer DTD, in einem XML-Schema oder mit RelaxNG beschrieben werden können.
09:21

Transkript

In diesem Film geht es um Dokumentklassen. Sie sehen hier in einem XML-Editor eine kleine XML-Datei. Es handelt sich hier um ein kleines Adressbuch mit Namen und E-Mail-Adressen. Wir haben hier entsprechend das Element "addressBook", weil das Ganze ein Adressbuch ist, dann "card" für die unterschiedlichen Einträge: Vorname, Nachname, E-Mail. Das Ganze wirkt erst mal logisch und einsichtig auf den ersten Blick. Wie sollte man das sonst bezeichnen? Natürlich können Sie sagen, ich will das Ganze gerne auf Deutsch haben, also schreibe ich hier einfach mal "Vorname" hin, wunderschön. Das heißt, wir können den Elementen natürlich unterschiedliche Namen geben und wir müssen erst mal analysieren, welche Elemente wir überhaupt brauchen. Die Elemente für diese XML-Datei sind in dieser DTD niedergeschrieben. Sie sehen hier also, es gibt das Element "addressBook" und da drin gibt es dann unterschiedlich viele Elemente des Elements "card". Dann ist hier definiert, dass wir das Element "card" haben und dann gibt es die Elemente "firstname", "name" und "email" und da stehen einfach Textinformationen drin bzw. Zeicheninformationen. Dann gibt es hier noch ein Attribut, das hier auch noch definiert wurde. Also haben wir festgestellt: Wir wollen irgendwie kennzeichnen, dass wir aktive und nicht aktive Kontakte in diesem Adressbuch haben Und sollten wir feststellen, dass wir auch noch Telefonnummern notieren wollen, müssten wir hier entsprechend ein weiteres Element definieren. Wenn wir der Meinung sind, "firstname", "name" [sind] nicht genau das, was ich haben will, ich will lieber "Vorname" haben, dann müsste ich das natürlich entsprechend hier, in dieser "Document Type Definition", also in dieser Dokument-Typ-Definition, in der Definition der Dokumentklasse entsprechend definieren. Das ist erstmal so der grundlegende Gedanke dessen, was getan wird, wenn ein Dokumentklasse definiert wird. Das heißt also, wenn ich jetzt eine Dokumentklasse definieren möchte, dann analysiere ich erst mal, welche Strukturen ich überhaupt benötige. Das kann zum Beispiel auch für Bücher passend sein. Das heißt, ich analysiere, in einem Buch brauche ich sehr wahrscheinlich Absätze, ich brauche Überschriften, aber dann kann ich schon definieren, ich brauche unterschiedliche Arten von Absätzen oder ich brauche noch irgendwelche Container um Absätze herum, also mehrere Absätze, die einen Kasten, eine Aufgabe darstellen oder ähnliche Geschichten. Das heißt, dass muss hier erst mal analysiert werden. Dann wird diese Dokumentenstruktur in einer Sprache modelliert. Das kann eine Document Type Definition, DTD sein, also etwas, was wir eben gerade gesehen haben. Eine weitere Sprache, die es dafür gibt, heißt "Schema" oder eine dritte Sprache "Relax NG". Dann werden Dokumente in dieser Dokumentstruktur erstellt und die werden dann gegen die DTD, gegen das Schema oder gegen die Relax NG "geparst", das heißt, hier wird geschaut, ob das Ganze validiert ist. Also in XML wird ein Vokabular mit Elementnamen und Attributnamen für eine Dokumentenklasse erstellt. Nicht nur das Vokabular wird festgelegt, sondern auch, welche Eigenschaften die Elemente haben. Das heißt, welche anderen Elemente in ihnen enthalten sein können, welche Art von Informationen hier notiert werden dürfen. In der Praxis ist es nun so, dass nicht immer wieder neue Dokumentenklassen definiert werden. Das ist ein sehr aufwendiger Prozess und dann hätten wir auch eine Vielfalt von Dokumentenklassen und müssten entsprechende Anwendungen immer wieder anpassen, das wäre sehr aufwendig. Das heißt, man greift oft auf schon bestehende Dokumentenklassen zurück. Beispiele für XML-Dokumentenklassen sind XHTML, das ist der Nachfolger von HTML, welches auf SGML-Basis erstellt wurde und wird bekannterweise im Web für die Darstellung von Informationen in Webbrowsern verwendet; "DocBook" ist auch ein sehr weit verbreiteter Standard, eine sehr weit verbreitete Dokumentenklasse. Wie der Name schon sagt, geht es hier um die Darstellung von Buchinhalten. DocBook kommt eher aus dem Informatikbereich und enthält sehr viele Detailmöglichkeiten, um Programmcode und Ähnliches darzustellen. Aber grundsätzlich habe ich erst mal so ein Grundvokabular, mit dem ich Buchinhalte darstellen kann: Absätze, Kapitel, Unterkapitel, Fußnoten, Indexeinträge und ähnliche Geschichten. JATS/BITS: JATS ist für Journals, BITS ist für Bücher, auch das kommt aus dem Wissenschaftsbereich von der "National Library of Medicine", also NLM. Ursprünglich war es eine DTD, die NLM-DTD. Das wird immer wieder weiterentwickelt. Jetzt gibt es halt zwei unterschiedliche "Tagging Suites", also das TS heißt Tagging Suite. Das sind halt Dinge, die halt sehr stark im Wissenschaftsbereich von wissenschaftlichen Bibliotheken und Verlagen verwendet werden. Entsprechend habe ich hier auch die Möglichkeit, also ich habe Artikelklassen, ich habe dort "Sections" ich kann sehr viel mit Literaturreferenzen machen und ähnliche Geschichten und die sind dort schon fertig modelliert. DITA ist eine die DTD oder eine Struktur, die eher in der technischen Kommunikation verwendet wird, dort sehr weit verbreitet ist; also für Manuals, Handbücher Gebrauchsanweisung, Ähnliches. TEI kommt auch eher aus dem Wissenschaftsbereich, aber eher aus dem geisteswissenschaftlichen Bereich und ist sehr modular aufgebaut. Das heißt, ich kann dort sprachwissenschaftliche Strukturen mir raussuchen oder ich suche mir halt die Struktur für Gedichte und ähnliche Geschichten raus, kann das Ganze sehr modular benutzen und daher hat das ganze große Vorteile. SVG ist ein Standard, der wirklich weit verbreitet ist. Hier geht es gar nicht um die Darstellung von Textstrukturen, sondern SVG ist dazu da, Bilder in XML zu formulieren und darzustellen: vektorbasierende Bilder. Etwas, was man vorher eher als EPS aus dem PostScript-Bereich kannte. Jetzt gibt es halt auch eine XML-Schreibweise für diese Bildinformationen. MathML ist auch so ein wirklicher Standard für die Darstellung von mathematischen Inhalten mit XML-Mitteln. Das heißt, MathML wird oft ergänzend verwendet, wenn ich halt mathematische Inhalte habe, dann wird die MathML-Beschreibung verwendet, um halt Formeln in einer XML-Umgebung darzustellen. Und so gibt es noch viele weitere Beispiele für Standards oder Pseudo-Standards, das sind ja keine Standards, die von einer Standardisierungsorganisation rausgegeben wurden, die aber bestimmte Standards darstellen -- oft auch nur in kleinen Anwendungsbereichen -- aber dort halt sehr mächtig sind. Was ist jetzt der Vorteil, wenn man so ein Standard verwendet? Erstmal gibt es relativ viele Dienstleister, vielleicht auch schon Mitarbeiter, die diesen Standard kennen und sofort damit umgehen können. Dann gibt es natürlich relativ viele Tools rundherum um diesen Standard, beispielsweise Transformation von DocBook in HTML. Das ist etwas, was ich nicht neu schreiben muss, sondern etwas, was ich einfach schon benutzen kann; etwas, was da ist; etwas, was ich vielleicht anpassen muss. Nachteile dieser Standards sind, dass sie oft sehr mächtig sind, relativ viele Möglichkeiten auch bieten und darum nicht immer überall gleich verwendet werden. Das heißt, ich bin oft gezwungen, wenn ich wirklich homogene Daten haben möchte, homogene Datensätze haben möchte, dass ich noch zusätzlich zu den Standards sogenannte "Business Rules", also "Instructions", Anweisungen, wie diese Standard zu verwenden sind, weitergeben muss. Außerdem ist es so, dass ich mir, wenn ich diese Standards benutze, vielleicht doch ein neues Vokabular anlegen muss. Der Vorteil einer eigenen DTD kann halt sein, dass ich das Vokabular, was vielleicht in Word-Templates oder im Satzbereich verwendet wird, dass ich das auch in XML verwenden kann und so halt überall, egal, ob die Leute mit XML arbeiten oder nicht, bestimmte Inhaltselemente gleich benannt werden. Diesen Vorteil habe ich hier entsprechend nicht. Sie haben also in diesem Film gelernt, was Dokumentenklassen überhaupt sind, dass es gewisse Standards, gewisse weitverbreitete Dokumentenklassen gibt und welche Vor- und Nachteile es hat, diese Standards zu verwenden.

XML Grundkurs

Lernen Sie, wie XML-Dateien aufgebaut sind, worauf es ankommt, wenn man XML editiert, und was Dokumentenklassen sind.

2 Std. 28 min (28 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:07.11.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!