Your browser doesn't support the features required by impress.mod.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

2021 | Mainz

Einführung in X-Technologien


Modellieren, Strukturieren, Repräsentieren

Sektion 1: XML

Slides: Link

Max Grüntgens | Dominik Kasper | @digicademy | Twitter digicademy | CC-BY 4.0

Überblick

  1. Erklärung und Anwendung
  2. Notation und Syntax
  3. Wohlgeformtheit und Validität
  4. Arbeiten im Oxygen XML Editor (XML allgemein)

Das Repositorium in den eigenen GitHub-Account forken:

  1. Im Browser die Repositoriums-Seite auf GitHub öffnen https://github.com/digicademy/xml-modellieren-strukturieren-repraesentieren
  2. Rechts oben auf den Button "Fork" klicken und dem Dialog folgen.

Das Repositorium klonen (lokal speichern):

  1. Im Browser die Repositoriums-Seite auf GitHub öffnen https://github.com/digicademy/xml-modellieren-strukturieren-repraesentieren
  2. Auf den grünen Button "Code" klicken.
  3. Im Dialog "HTTPS" auswählen (vorausgewählt) und die URL in die Zwischenablage kopieren (strg+c).
  4. In der Eingabeaufforderung (aka Konsole, Terminal, Shell) an den Ort navigieren an dem das Repositorium gespeichert werden soll.
  5. An dieser Stelle in der Eingabeaufforderung das Repositorium per Befehl git clone https://github.com/digicademy/xml-modellieren-strukturieren-repraesentieren.git klonen.

01

XML

Erklärung und Anwendung I

Eine Auszeichnungssprache …

⇒ implizite Information explizit machen!

Erklärung und Anwendung II

Die Auszeichnungsprache: XML (Extensible Markup Language)

XML trennt Inhalt und Struktur sowie verschiedene Ebenen von Semantik und Metadaten durch Trennzeichen und Schlüsselwörter voneinander.

Vokabular und Verwendungsweise von XML sind anpassbar und erweiterbar. Mit Schema-Sprachen lässt sich ein Regelwerk für projekteigene XML-Dateien erstellen.

Erklärung und Anwendung III

Maschinelle Verarbeitung

Die Daten konsistent strukturierter XML-Dokumente können sehr leicht mithilfe von Abfrage- und Transformations-Sprachen durchsucht, akkumuliert und bspw. in Ausgabeformate überführt werden.

Für Abfragen verwendet man XPath (in XML-Dokumenten) und XQuery (XML-Datenbanken), für Transformationen XSLT, wobei dies prinzipiell auch mit XQuery möglich ist.

Auf der Grundlage konsistenter Datenhaltung können also Register und Indices akkumuliert werde. Zudem lassen sich Druckvorstufen für Verlage oder HTML-Ausgaben im Rahmen dynamischer Webseiten produzieren.

Erklärung und Anwendung IV

Anwendungsgebiete von Auszeichnungssprachen sind …

Notation und Syntax I

Trennzeichen:

Die genannten Zeichen trennen die besonderen Textbereiche, die allgemein zur Ebene des XML gehören oder innerhalb von XML besondere Funtkionen ausüben, vom übrigen "normalen" Text ab:
<1xml>2Normaler Text.<3/4xml>5

1 Die <-Klammer gibt an, dass der Kontext nun vom "normalen Text" zur Meta-Ebene XML wechselt.

2 Nach dem Elementname xml des StartTags wird der Kontext XML hinter der >-Klammer verlassen.

3 Die nächste <-Klammer zeigt einen erneuten Wechsel zum Kontext XML an.

4 Der Schrägstrich zeigt an, dass es sich um den Kontext EndTag handelt.

5 Die >-Klammer zeigt, dass der Kontext XML erneut verlassen wird.

Notation und Syntax II

Schlüsselwort: Element

Formal:
<StartTag>Inhalt (Text, Elemente)</EndTag>

wobei grundsätzlich gilt: StartTag = EndTag ( = Elementname), d.h. Start- und EndTag teilen denselben "Namen", sie unterscheiden sich nur durch das beim EndTag vorangestellte /!

<letter>1
    <sender>1Max Mustermann</sender>2
    <recipient>1Mina Musterfrau</recipient>2
</letter>2

1 StartTag (= Start-Teil eines Elements) 2 EndTag (= Schluss-Teil eines Elements)

Elemente können Attribute haben, dazu gleich mehr.

Im allgemeinen Sprachgebrauch wird häufig auch nur der Start- und/oder Endtag als Element bezeichnet (öffnendes/schließendes Element), streng technisch betrachtet, ist dies aber unpräzise.

Notation und Syntax III

Spezialfall: selbstschließendes Element

Selbstschließende oder leere Elemente haben weder Text- noch Element-Inhalte!

Formal: <StartTag></EndTag> oder synonym <StartTag/> bzw. <StartTag />

<root>
  <text>
    <p>
      <zbeginn/>1 Der Zeilenfall dieses <lem>2digitalisierten Buches mit
      <zbeginn/>einer Spaltenbreite von ca. 48 Zeichen</lem>2 soll unbe-
      <zbeginn h="true"/>3 dingt erhalten werden.
    </p>
  </text>
</root>

1 Leeres oder selbstschließendes Element. 2 Ein Element, das sich über ein selbstschließendes Element spannt. 3 Leeres oder selbstschließendes Element mit Attribut.

Selbstschließende Elemente können Attribute haben.

Notation und Syntax IV

Schlüsselwort: Attribut

Formal:
<StartTag attribut="wert">Inhalt (Text, Elemente)</EndTag>
Beispiel:
<letter identifier1="xyz123"2>
    <sender identifier="m0001">Max Mustermann</sender>
    <recipient identifier="f0001">Mina Musterfrau</recipient>
</letter>3

1 Dem Attribut mit dem Namen identifier wird per =-Zeichen 2 ein in "-Zeichen notierter Attributwert zugeordnet. 3 Es ist zu beachten, dass Attribute nur innerhalb des StartTags notiert werden.

Notation und Syntax V

Schlüsselwort: Namespace(-Präfix)

Formal:
<präfix:StartTag>Inhalt (Text, Elemente)</präfix:EndTag>
ist systematisch äquivalent zu
<{http://url/to/namespace}StartTag>
    Inhalt (Text, Elemente)
</{http://url/to/namespace}EndTag>
Beispiel:
<root xmlns:prj="http://url/to/namespace/prj/">
    <letter>
        <sender identifier="m0001">Max Mustermann</sender>
        <prj:letter>Blackletter Script</prj:letter>
    </letter>
</root>
Die Namespace-URL (xmlns) dient der Disambiguierung der Elemente und muss nicht notwendigerweise auf eine Webseite auflösen.

Notation und Syntax VI

Schlüsselwort: Namespace(-Präfix)

<root xmlns:prj="http://url/to/namespace/prj/"1>  
    <letter>
        <sender identifier="m0001">Max Mustermann</sender>
        <prj:letter>2Blackletter Script</prj:letter>
    </letter>
</root>

1 Die Namespace-URL http://url/to/namespace/prj/ wird als Attributwert an ein Attribut gebunden, das aus xmlns: und einem selbstgewählten Präfixnamen (hier prj) besteht. Dies bindet die Namespace-URL an das Namespace-Präfix.

2 Das Namespace-Präfix kann daraufhin benutzt werden, um Elementnamen zu disambiguieren.

Notation und Syntax VI

Schlüsselwort: XML-Deklaration (optional)

<?xml version="1.0" encoding="UTF-8"?>

Weitere Bezeichnung: XML Prolog

Der XML-Prolog gibt die XML-version und die Zeichencodierung an. Normalerweise ist die hier dargestellte Notation ausreichend und muss nicht angepasst werden.

Notation und Syntax VIIa

Schlüsselwort: Verarbeitungsanweisung I

Schema:
<?1
    xml-model href="schema.file"2 
    type="application/xml"3 
    schematypens="http://url/to/schema/ns"4
?>

1 Verarbeitungsanweisungen werden durch die Tag-Notation <? … ?> eingebunden. 2 Das Attribut href verweist per URL auf den Speicherort der Schema-Datei. 3 Das Attribut type gibt an, um welchen Datei-Typ es sich bei der Schema-Datei handelt. 4 Das Attribut schematypens gibt die Namespace-URL des Schemas an.

Schemata dienen der Definition von Regeln für XML-Dokumente, die über die allgemeine XML Syntax hinausgehen

Notation und Syntax VIIb

Für die Erstellung von Schemata gibt es verschiedene Standards bzw. Schemasprachen (RELAX NG, XML Schema (W3c), Schematron, DTD ...). Je nach Schemasprache ist die Einbindung unterschiedlich. Die Einbindung von W3C Schema erfolgt bspw. in Attributen innerhalb des root-Elements.

Einbindung eines Schemas der Schemasprache RELAX NG:

<?xml-model href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng"
    type="application/xml"
    schematypens="http://relaxng.org/ns/structure/1.0"?>

Einbindung eines Schemas der Schemasprache XML Schema:

<TEI xmlns="http://www.tei-c.org/ns/1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://www.tei-c.org/release/xml/tei/custom/schema/xsd/tei_all.xsd">

Notation und Syntax VIII

Schlüsselwort: Verarbeitungsanweisung II

Transformation:
<?xml-stylesheet type="text/xsl"1 href="./url/to/xsl-file.xsl"2?>

1 Das Attribut type gibt den Typ der Transformationsdatei an, meist ist das text/xsl. 2 Das Attribut href gibt per URL den Speicherort der Transformationsdatei an.

Beispiel:
<?xml-stylesheet type="text/xsl" href="meinStylesheet.xsl"?>

Auch in deutschsprachigen Publikationen wird meist von processing instructions gesprochen.

Notation und Syntax IX

XML Syntax Regeln I

  • Elemente in XML müssen sauber verschachtelt werden (properly nested)
  • Attribut-Werte müssen immer in Anführungszeichen stehen
  • Bestimmte Zeichen müssen als Entität notiert werden, wenn sie literal im Text verwendet werden sollen:
    • < entspricht &lt;
    • > entspricht &gt;
    • & entspricht &amp;
Nicht sauber verschachtelt
<t>Dieser Text ist ab
    <f>
        <u>hier als fett und
        unterstrichen markiert.</f>
    </u>!The element type "u" must be terminated by the matching end-tag "</u>".
</t>
sauber verschachtelt
<t>Dieser Text ist ab
    <f>
        <u>hier als fett und
        unterstrichen markiert.</u>
    </f>
</t>

Notation und Syntax X

XML Syntax Regeln II

Elementnamen

Wohlgeformtheit und Validität I

Wohlgeformheit

Wenn ein XML-Dokument den allgemeinen Syntax-Regeln gehorcht, bezeichnet man es als „wohlgeformt“ (engl. well-formed).

Wohlgeformheit ist eine essentielle Voraussetzung für die weitere Verarbeitung, ja für die Bestimmung eines (vermeintlichen) XML-Dokuments als XML-Dokument an sich.

Wohlgeformtheit und Validität II

Validität

Von „Validität“ spricht man, wenn ein XML-Dokument mit einem zugehörigen Schema konform ist, d.h. den dort hinterlegten Regeln in Bezug auf "Vokabular" (erlaubte Element- und Attribut-Namen) sowie "Grammatik" (Verschachtelungsregeln für Elemente) gehorchen.

Voraussetzung für Validität ist Wohlgeformheit. Dies ergibt sich logisch aus dem bisher Gesagten.

Wohlgeformtheit und Validität III

Sinn und Zweck

Durch die Ansetzung eines Schema-Regelwerks lassen sich XML-Dokumente sehr einfach in konsistenter Form erstellen, da jederzeit ein Feedback zur Regelhaftigkeit des Dokumentes zurückgegeben wird.

Im Oxygen-XML-Editor ist es unter Rückgriff auf ein zugrundeliegendes Schema bspw. möglich, dem Benutzer die im Auszeichnungs-Kontext angebrachten Elemente bzw. Attribute per Knopfdruck anzubieten. Dazu muss ein sog. Framework, auch Dokumenttyp-Assoziation erstellt werden. Ähnliche Funktionalitäten werden auch von vergleichbaren Editoren angeboten.

Wenn im Dokument ein Schema eingebunden ist, bietet der Oxygen bereits build in einen Vorschlagmodus für die korrekten Elemente bzw. Attribute (geleitetes Encoding).

Arbeiten mit einem XML Editor I

Kurzeinführung Oxygen XML Editor

Hier können Sie eine Probe-Lizenz für den Oxygen-XML-Editor beantragen, den Editor im Anschluss herunterladen und für eine Periode von 30 Tagen ausprobieren.

Übung: XML

Vergleichen Sie Ihre selbst erstellte XML-Datei mit der Musterlösung Uebungen/Inschrift_encoding.xml. Welche Unterschiede fallen Ihnen auf? Wo weicht Ihre Struktur von der Musterlösung ab? Versuchen Sie die Abweichungen zu erklären.

F I N I S

Thank you

Literatur & Software

Literatur

Eine kommentierte Literaturliste für Einsteiger in die Digital Humanities finden Sie hier.

Software