XML-Know How

Processing Instructions

Processing Instructions (PI), zu Deutsch Verarbeitungsanweisungen, dienen dazu, Informationen zur Verarbeitung der Daten zu geben, die weder aus der Struktur noch den Elementnamen oder Attributen entnommen werden können.

PIs sind also ein Teil von XML, der überall dort benötigt wird, wo das Grundprinzip von XML – die medienunabhängige, systematisch-regelbasierte Kodierung von Inhalten – durchbrochen werden muss. PIs sind sozusagen das »subversive Element« in XML. In der Regel werden sie daher nur für einen bestimmten Arbeitsschritt verwendet und später wieder entfernt.

PIs dürfen überall im XML-Dokument verwendet werden, nur nicht innerhalb von Tags. Sie stehen zwischen den Begrenzungszeichen <? und ?>. Zwischen diesen Begrenzungszeichen kann sich beliebiger Text befinden. Allerdings darf eine PI nicht mit der Zeichenfolge xml beginnen, und natürlich dürfen auch die Begrenzungszeichen selbst nicht als Text in der PI auftreten. Normalerweise ist aber der formale Aufbau einer PI ähnlich dem Aufbau eines Elements: Nach dem Anfangsbegrenzer <? folgt unmittelbar die Angabe des betroffenen Verarbeitungsbereichs oder der Software, die die PI auswerten soll, darauf folgen die eigentlichen Verarbeitungsanweisungen in Attributform.

<?satzausgabe zeileninfo=“spatien90%“?>

Diese Beispiel-PI gibt für den Verarbeitungsbereich satzausgabe an, dass in der Zeile, in der sie steht, die Leerräume nur 90 % des vorgegebenen Minimal-Wertes breit sein sollen. Sie bezieht sich also auf eine konkrete Ausgabeform, nämlich den Satz und hier den konkret erreichten Umbruch. Die Angabe könnte etwa notwendig sein, um die Ausgangszeile eines Absatzes einzubringen. Daher wird die Spatienweite in der vorangehenden Zeile so manipuliert, dass ein unschöner Umbruch vermieden wird.

Diese Information ist natürlich nur in einem bestimmten Absatz und nur beim manuellen Feinumbruch für eine bestimmte Satzausgabe relevant, kann also nicht aus der Struktur, den Elementnamen oder Attributen entnommen werden. Die PI ist weder für den Inhalt noch für andere Verwertungen der Daten (CD-ROM, Internet) nötig. Nach Abschluss der Satzarbeiten und der Rückübernahme der XML-Daten in das Verlagssystem werden derartige PIs über einen Automatismus entfernt.

In der Realität sehen PIs eher kryptisch aus, da sie meist nur den Namen des Ausgabeprogramms und für dieses bestimmten Code enthalten. So etwa die folgende Anweisung, die dafür sorgt, dass das Werksatzprogramm TUSTEP an dieser Stelle einen festen Zeilenumbruch ausführt:

<?TUSTEP code=“$$$“ ?>

Für die Einschränkung, dass eine PI nicht mit der Zeichenfolge xml beginnen darf, gibt es einen guten Grund: Diese Zeichenfolge ist für PIs reserviert, die XML als solches betreffen. Die sogenannte XML-Deklaration am Anfang jeder XML-Datei ist formal eine PI. Sie zeigt dem verarbeitenden System an: bei der nachfolgenden Datei handelt es sich um ein XML-Dokument einer bestimmten XML-Version, mit oder ohne DTD und einer bestimmten Zeichenkodierung:

<?xml version=“1.0“ standalone=“yes“ encoding=“ansi“?>

Auch weitere Angaben zur Verarbeitung eines XML-Dokumentes, so die Information, dass für die Darstellung eine bestimmte Stilvorlage (Stylesheet) in einem bestimmten Format vorliegt, werden dem XML-Dokument in Form einer im XML-Standard festgelegten PI mitgegeben:

<?xml-stylesheet type=“text/css“ href=“buch.css“?>

Diese XML-Standard-PI gibt dem verarbeitenden System an, dass ein Stylesheet des Typs CSS in der Datei buch.css zur Verfügung steht. Stylesheets enthalten Informationen darüber, wie XML-Elemente ausgegeben werden sollen. So könnte ein Stylesheet für das Element <wichtig> festlegen, dass der Content dieses Elementes auf dem Bildschirm rot blinkend, bei der Druckausgabe fett und bei der Sprachausgabe besonders laut wiedergegeben wird.

Bei der Verwendung von PIs sollte man immer beachten, dass sie niemals Elemente ersetzen dürfen und dass sie ohne jeden Verlust für Inhalt und Strukturierung des Dokuments gelöscht werden können.