Verarbeitungsanweisungen

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

In HTML werden Kommentare manchmal dazu missbraucht, um Erweiterungen zu unterstützen, die nicht zum Standard gehören. Zum Beispiel wird der Inhalt des Elements script manchmal in einen Kommentar eingeschlossen, um zu verhindern, dass er in einem Browser angezeigt wird, der nicht skriptfähig ist. Der Apache-Webserver parst Kommentare in .shtml-Dateien, um serverseitige Erweiterungen zu ermitteln. Leider bleiben diese Dokumente mit ihren Kommentaren und der dazugehörenden Semantik in den seltensten Fällen intakt, wenn sie durch die verschiedenen HTML-Editoren und -Prozessoren geschickt werden. Und was noch schlimmer ist: Es kann auch passieren, dass ein unschuldiger Kommentar fälschlich als Eingabe für eine Anwendung eingestuft wird.

XML bietet Verarbeitungsanweisungen (Englisch: Processing Instructions) als alternative Möglichkeit, um Informationen an bestimmte Anwendungen, die das Dokument lesen, zu übergeben. Eine Verarbeitungsanweisung beginnt mit <? und endet mit ?>. Direkt nach dem <? kommt ein XML-Name, das so genannte Ziel, möglicherweise der Name der Anwendung, für die diese Verarbeitungsanweisung gedacht ist, oder vielleicht auch nur ein Identifier für diese spezielle Verarbeitungsanweisung. Der Rest der Verarbeitungsanweisung enthält Text in einem Format, das für die Anwendungen verständlich ist, an die sich diese Verarbeitungsanweisung richtet.

Zum Beispiel wird in HTML ein robots-META-Tag benutzt, um Suchmaschinen und anderen Agenten mitzuteilen, ob und wie sie eine Seite indizieren sollen. Die folgende Verarbeitungsanweisung wurde als Äquivalent für XML-Dokumente vorgeschlagen:

<?robots index="yes" follow="no"?> 

Das Ziel dieser Verarbeitungsanweisung ist robots. Die Syntax dieser speziellen Verarbeitungsanweisung sind zwei Pseudo-Attribute, eines namens index und ein anderes namens follow, deren Werte entweder yes oder no sind. Die Semantik dieser Verarbeitungsanweisung sagt aus, dass, falls das Attribut index den Wert yes hat, Suchmaschinen-Agenten diese Seite indizieren sollen. Hat index den Wert no, soll kein Agent die Seite indexieren. Gleicherweise werden Links von diesem Dokument aus weiterverfolgt, wenn follow den Wert yes hat. Hat es den Wert no, geschieht das nicht.

Andere Verarbeitungsanweisungen können eine völlig andere Syntax und Semantik aufweisen. Zum Beispiel können Verarbeitungsanweisungen eine quasi unbegrenzte Menge an Text enthalten. PHP schließt große Programme in Verarbeitungsanweisungen ein. Ein Beispiel:

<?php
  mysql_connect("database.unc.edu", "clerk", "password") ;
  $result = mysql("HR", "SELECT LastName, FirstName FROM Employees
    ORDER BY LastName, FirstName") ;
  $i = 0;
  while ($i < mysql_numrows ($result)) {
    $fields = mysql_fetch_row($result);
    echo "<person>$fields[1] $fields[0] </person>\r\n";
    $i++;
  }
  mysql_close( );
?>

Verarbeitungsanweisungen sind Markup, aber sie sind keine Elemente. Das bedeutet: Ebenso wie Kommentare können Verarbeitungsanweisungen überall in einem XML-Dokument außerhalb eines Tags auftauchen, einschließlich vor und hinter dem Wurzelelement. Die gebräuchlichste Verarbeitungsanweisung, xml-stylesheet, wird verwendet, um Dokumenten Stylesheets zuzuweisen. Sie steht immer vor dem Wurzelelement, wie das folgende Beispiel zeigt. In diesem Beispiel teilt die Verarbeitungsanweisung xml-stylesheet dem Browser mit, dass er das CSS-Stylesheet person.css auf dieses Dokument anwenden soll, bevor er es einem Leser anzeigt.

<?xml-stylesheet href="person.css" type="text/css"?>
<person>
   Alan Turing
</person>

Code-Beispiel: Ein XML-Dokument, dessen Prolog eine Verarbeitungsanweisung enthält

Die Buchstabenfolge xml als Name für Verarbeitungsanweisungen ist in jeder Kombination von Groß- und Kleinbuchstaben (also XML , Xml usw.) verboten, um Verwechslungen mit der XML-Deklaration zu vermeiden. Ansonsten können Sie jeden zulässigen XML-Namen für Ihre Verarbeitungsanweisungen wählen.

  

<< 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