www.xml-xslt.de


Startseite

Das Buch

Auszeichnungssprachen

XML-Dokument
Dokumentstruktur
Elemente
Attribute
Kommentare/CDATA
Prolog
Wohlgeformtheit
Validität

Struktur: dtd

Retrieval: XSLT

4. Das XML-Dokument

4.1    Dokument und Dokumentstruktur

Die Elemente eines Dokuments, die gemäß XML kodiert wurden,  beschreiben in ihrem Zusammenspiel die Struktur und die Bedeutung eines Dokumentes, sie beschreiben nicht das Layout. XML kennt dabei wie HTML Elemente und Attribute zu Elementen.


    XML-Dokumente enthalten somit die folgenden Teilelemente:

  1. Information über eine Struktur des Dokumentes durch Elemente und deren Verschachtelung
  2. Inhalte, die von den Elementzeichen (Tags) eingeschlossen werden, oder die in Attributwerten vorhanden sind.


Beispiel zur Terminologie:

<quelle url=”http://www.xmltest.de”>Quelle: XML-Test im web</quelle>

Dabei sind:
    Element-Anfang:
        <quelle>
    Element-Ende:
        </quelle>
    Attribut:
        url
    Gleichheitszeichen zwischen Attribut und Attributwert:
        =
    Attributwert:
            http://www.xmltest.de
    Inhalt des Elements:
        Quelle: XML-Test im Web

 HTML-Dokumente enthalten ebenfalls strukturelle Informationen in Tags sowie Inhalte in Elementzeichen und Attributen. Elemente, Attribute, und Attributwerte sind in HTML durch den Standard limitiert. Der Benutzer fügt seine Inhalte idR. nur zwischen den Ele-mentzeichen ein. Zudem enthalten Tags in HTML weitestgehend auch Informationen zum konkreten Layout. Eine Konstruktion wie

<h3>Dies ist eine Überschrift</h3>

wird heute idR. bereits im Sinne einer Layoutangabe genutzt die besagt, dass im Schrift-bild vor und hinter der Überschrift eine Leerzeile eingefügt wird, dass die Überschrift als Block behandelt wird und dass ihr im Verhältnis zum übrigen Text eine bestimmte Schriftgröße zukommt.

    Dabei wäre es durchaus denkbar, dass der Tag <h3> lediglich eine Angabe zur Wertig-keit des Elementes im Verhältnis zu allen anderen Elemente des Dokumentes ist: Eine Überschrift auf dem Niveau 3. Wesentlich deutlicher wird die Verknüpfung von Layout- und Strukturangaben in HTML-Tags durch Angaben wie <b> <u> <center>; die Liste der Beispiele ist beinahe ebenso lang wie die Liste der verfügbaren HTML-Tags! Mit CSS (Cascading Style Sheets) lassen sich Layoutinformationen theoretisch weitgehend von die eigentlichen Tags trennen. Die Vermischung von Layoutinformation und Tag ist in der heutigen Anwendung von HTML aber die Regel. Bereits aus diesem Grund ist HTML kaum für eine informationsorientierte Strukturierung von Dokumenten geeignet.

    Ein weiteres und wesentliches Argument gegen HTML ist die begrenzte Liste der Tags. Zwar wird kaum eine Software zur Darstellung von HTML-Dokumenten (= Browser) Tags, die nicht in der HTML-Recommendation der w3.org enthalten sind, als Grund für eine Fehlerausgabe ansehen. Andererseits werden diese Tags aber auch nicht beachtet oder dargestellt. Damit liegen die Anforderungen an eine neue Auszeichnungssprache klar:

  1. Trennung von Struktur, Inhalt und Layout
  2. Freie Konstruktion einer Elementhierarchie (Tags) nach bestimmten Regeln


Auf dieser Basis wurde die eXtensible Markup Language geschaffen. XML ist ein Doku-mentformat, das die Erstellung von Regelsets zu Strukturen und Textteile eines XML-Dokuments ermöglicht. XML ist keine direkt anwendbare Auszeichnungssprache und enthält keine Tags.

    Dagegen ist XML eine Metaauszeichnungssprache, die lediglich Regeln zur Konstruk-tion von neuen Auszeichnungssprachen enthält. HTML könnte eine der Auszeichnungs-sprachen sein, die in XML geschrieben wird. Historisch gesehen ist dies nicht der Fall, denn HTML bestand vor XML. Auch strukturell gesehen ist der Versuch, HTML nach den Regeln von XML zu schreiben problematisch, denn HTML enthält auch in einer XML-konformen Schreibweise noch eine Vermischung von Layout, Inhalt und Struktur. Aller-dings gibt es die XML-konforme Ausführung von HTML bereits in der w3c-Recommendation XHMTL.

    Interessant ist XML aber vor allem für eigene Auszeichnungssprachen, die von jedem Informationsdesigner speziell für jede beliebige Aufgabe gestaltet werden können. In den folgenden Kapiteln wird deutlich werden, dass die Struktur, die ein Informationsdesigner in XML abbildet, dabei nicht nur für ein Dokument gelten muss. Ganz im Gegenteil ist die Regel, dass Dokumentensets mit einer gemeinsamen strukturellen Grundlage, der Do-kumentengrammatik, versehen werden.

    Ein XML-Dokument ist fehlerfrei, auch wenn es nur aus Tags und Zeichendaten be-steht. Eine Vorabinformation, wie die Struktur des Dokumentes aussehen soll, ist nicht erforderlich. Ebenso muss ein XML-Dokument nicht unbedingt als solches erklärt werden - z.B. durch eine äußeres, charakteristisches Root-Element wie bei HTML-Dokumenten. Auch die Anbindung von Stylesheets beliebiger Art ist optional.

    Damit ist das folgende Dokument ein fehlerfreies XML-Dokument, das eine Struktur (in den Elementnamen und ihrer Hierarchie) und Inhalte (Texte zwischen den Elementzei-chen) aufweist.

<email>
    <from>hans@mustermann.de</from>
    <to>fred@mustermann.de</to>
</email>

 Die Software, die XML-Dokumente verarbeitet, erwartet jedoch idR. eine Deklaration des XML-Dokuments - eine Aussage darüber, dass dieses Dokument am XML-Standard ge-messen werden soll. Weiterhin denkbar ist die Deklaration des Zeichensatzes, der in die-sem Dokument  verwendet werden soll, sowie die Erstellung oder auch der Verweis auf die Grammatik des Dokumentes. Ebenfalls denkbar sind der Verweis auf angebundene Stylesheets (idR. CSS für das direkte Retrieval und XSL für ein intelligenteres Retrieval) und andere Softwareinstruktionen beliebiger Art. Insgesamt stellt sich damit die Struktur des XML-Dokuments damit wie folgt dar, wo bei hier keine Aussagen über deren Not-wendigkeit gemacht wird:

Prolog
    XML-Deklaration:
    <?xml version="1.0" standalone="no"?>
    Stylesheet-Referenz:
    <?xml-stylesheet href="style.xsl" type="text/xsl"?>
    DOCTYPE-Deklaration:
    <!DOCTYPE email SYSTEM "email.dtd">
XML-Daten:
    <email datum='2001/10/12'>
         <from>hans@mustermann.de</from>
         <to>fred@mustermann.de</to>
         <body>
              Hallo Fred.
         </body>
    </email>

Dasselbe XML-Dokument ohne die Kommentare zum Aufbau:

<?xml version="1.0" standalone="no"?>
<?xml-stylesheet href="style.xsl" type="text/xsl"?>
<!DOCTYPE email SYSTEM "email.dtd">
<email datum='2001/10/12'>
    <from>hans@mustermann.de</from>
    <to>fred@mustermann.de</to>
    <body>
            Hallo Fred.
    </body>
</email>


 
 
 
 
 
 
 
 
 
 

Das XML/XSLT-Seminar
(zur Zeit als Buch nicht lieferbar)