TEI

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Die Text Encoding Initiative (TEI) ist eine XML-, ursprünglich SGML-Anwendung, die für die Auszeichnung klassischer Literatur wie etwa die Aeneis von Vergil oder die gesammelten Werke von Thomas Jefferson entwickelt wurde. TEI ist ein herausragendes Beispiel für eine erzählend orientierte DTD. Da sie für die wissenschaftliche Analyse von Text anstatt für das eher flüchtige Lesen oder das Veröffentlichen entworfen wurde, enthält sie nicht nur Elemente für die gebräuchlichsten Dokumentstrukturen (Kapitel, Szene, Strophe usw.), sondern auch für typographische Elemente, die grammatikalische Struktur, die Position von Illustrationen auf der Seite usw. Diese Punkte sind für die meisten Leser nicht wichtig, für das eigentliche Publikum von TEI, d. h. für die Wissenschaftler, sind sie unerlässlich. Für viele akademische Zwecke sind zwei Manuskripte der Aeneis nicht unbedingt identisch. Transkriptionsfehler und Korrekturen, die von den verschiedenen Mönchen im Mittelalter vorgenommen wurden, können ganz entscheidend sein.

Das folgende Code-Beispiel verwendet die »Lite«-Version von TEI, einer Teilmenge von TEI, die nur die gebräuchlisten Tags einschließt. Der Inhalt stammt aus diesem Werk, "XML in a Nutshell". Obwohl eine vollständig TEI-kodierte Kopie dieses Manuskripts viel länger wäre, demonstriert dieses einfache Beispiel die grundlegenden Eigenschaften der meisten TEI-Dokumente, die Bücher repräsentieren. (Außer für Prosa kann TEI auch für Theaterstücke, Gedichte, Messbücher und eigentlich jede andere geschriebene Form von Literatur eingesetzt werden.)

<?xml version="1.0" encoding="ISO-88591" standalone="no"?>
<!DOCTYPE TEI.2 SYSTEM "xteilite.dtd">
<TEI.2>

  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>XML in a Nutshell</title>
        <author>Harold, Elliotte Rusty</author>
        <author>Means, W. Scott</author>
      </titleStmt>
      <publicationStmt><p></p></publicationStmt>
      <sourceDesc><p>Früher Manuskriptentwurf</p></sourceDesc>
    </fileDesc>
  </teiHeader>

  <text id="HarXMLi">

    <front>
      <div type='toc'>
        <head>Inhaltsverzeichnis</head>
        <list>
          <item>Einführung in XML</item>
          <item>XML als Dokumentformat</item>
          <item>XML im Web</item>
        </list>
      </div>
    </front>

    <body>

      <div1 type="chapter">
        <head>Einführung in XML</head>
        <p></p>
      </div1>

      <div1 type="chapter">
        <head>XML als Dokumentformat</head>
        <p>XML ist vor allen Dingen ein Dokumentformat. Es war immer für Webseiten, Bücher, wissenschaftliche Artikel, Gedichte, Kurzgeschichten, Referenzhandbücher, Anleitungen, Lehrbücher, Plädoyers, Verträge, Gebrauchsanweisungen und andere Dokumente gedacht, die von Menschen gelesen werden. Sein Einsatz als Syntax für Computerdaten in Anwendungen wie Bestellabwicklung, Objektserialisierung, Datenbanken sowie elektronischen Datenaustauschsystemen ist eigentlich nur ein glücklicher Zufall.</p>

        <div2 type="section">
          <head>Das Vermächtnis von SGML</head>
          <p></p>
        </div2>

        <div2 type="section">
          <head>TEI</head>
          <p></p>
        </div2>

        <div2 type="section">
          <head>DocBook</head>
          <p>DocBook ist eine SGML-Anwendung, die für neue Dokumente, jedoch nicht für alte entworfen wurde. Es ist besonders bei Computer-Dokumentationen gebräuchlich. Verschiedene O'Reilly-Bücher wurden in DocBook geschrieben, einschließlich <bibl><author>Norm Walsh</author>s <title>DocBook: The Definitive Guide</title></bibl>. Ein Großteil des Texts des Linux Documentation Projects (<abbrexpan='Linux Documentation Project'>LDP</abbr>) ist in DocBook geschrieben.</p>
        </div2>
      </div1>

      <div1 type="chapter">
        <head>XML im Web</head>
        <p></p>
      </div1>
    </body>

    <back>
      <div1 type="index">
        <list>
          <head>INDEX</head>
          <item>SGML, 89</item>
          <item>DocBook, 95-98</item>
          <item>TEI (Text Encoding Initiative, 92-95</item>
          <item>Text Encoding Initiative, Siehe TEI</item>
        </list>
      </div1>
    </back>

  </text>
</TEI.2>

Code-Beispiel: Ein TEI-Dokument

Das Wurzelelement dieses und aller TEI-Dokumente ist TEI.2. Dieses Wurzelelement ist immer in zwei Teile unterteilt: einen Header, der durch ein teiHeader-Element repräsentiert wird, und den eigentlichen Inhalt des Dokuments, der durch ein text-Element repräsentiert wird. Der Header enthält Informationen über das Quelldokument (zum Beispiel, von genau welchem mittelalterlichen Manuskript diese Kopie erstellt wurde, die Kodierung des Dokuments, einige Schlüsselwörter, die das Dokument beschreiben usw.).

Das Element text selbst besteht aus drei Teilen:

Titelei im front-Element

Die Titelei enthält das Vorwort, das Inhaltsverzeichnis, die Widmungsseite und die Umschlagbilder. Jeder dieser Teile wird durch ein div-Element mit einem type-Attribut repräsentiert, dessen Wert den Teil als Inhaltsverzeichnis, Vorwort, Titelseite usw. identifiziert. Jeder dieser Teile enthält andere Elemente, die den Inhalt dieses Teils bilden.

Hauptteil des Werks im body-Element

Der Hauptteil enthält die einzelnen Kapitel, Akte u.Ä., aus denen das Dokument besteht. Jedes dieser Elemente wird durch ein div1-Element mit einem type-Attribut repräsentiert, das diesen speziellen Teil als Band, Buch, Teil, Kapitel, Gedicht, Akt usw. identifiziert. Jedes div1-Element besitzt ein Kindelement header, das den Titel des Bandes, Buchs, Teils, Kapitels usw. angibt.

Nachsatz im back-Element

Der Nachsatz enthält den Index, das Glossar usw.

 

Die Bereiche können weiter unterteilt werden: div1-Elemente können div2-Elemente enthalten. div2-Elemente können div3-Elemente enthalten. div3-Elemente können div4-Elemente enthalten; dies kann sich bis div7 fortsetzen. Es gibt jedoch für jedes Werk eine kleinste Einheit. Diese Einheit enthält Absätze, die durch p-Elemente für Prosa oder lg-Elemente für die Strophen von Gedichten repräsentiert werden. Strophen werden weiter in einzelne Zeilen aufgeteilt, die durch l-Elemente repräsentiert werden.

Sowohl Zeilen als auch Absätze enthalten gemischten Inhalt, das heißt, in ihnen steht einfacher Text. Teile dieses Texts können jedoch weiter durch Elemente ausgezeichnet werden, die anzeigen, dass bestimmte Wörter oder Zeichen Namen von Menschen (name), Korrekturen (corr), unleserlich (unclear), falsch buchstabiert (sic) usw. sind.

Diese Struktur spiegelt ziemlich genau die Struktur der eigentlichen Dokumente wider, die in TEI kodiert sind. Das gilt für die meisten erzählend ausgerichteten XML-Anwendungen, die mit einigermaßen generischen Dokumenten umgehen müssen. TEI ist ein außerordentlich anschauliches Beispiel einer typischen XML-Dokumentstruktur.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de