XML-Know How

Attribute in XML

In dem Tag für den Grafikaufruf finden wir noch eine weitere unbekannte Syntax, die die Angaben für den Speicherort der Grafikdatei enthält. Solche Zusatzangaben nennt man Attribute. Attribute befinden sich immer innerhalb des Start-Tags und weisen die Form attributname="attributwert" auf. Sie können für unterschiedlichste Dinge dienen; häufig sind es Metadaten, also weiterführende Angaben, die nicht im Druck erscheinen, die Daten jedoch besser erschließen:

Beispiel:

Der Text

<absatz>Der Löwe frisst die Gazelle.</absatz>

ließe sich beispielsweise zunächst mit weiteren Elementen näher erschließen:

<absatz>Der <tier>Löwe</tier>frisst die <tier>Gazelle</tier>. </absatz>.

Schon hier wird deutlich, dass das Einbringen von Elementen (hier: <tier>) nicht nur der typographischen Weiterverarbeitung der Texte dient, sondern vielmehr allgemein zu deren Erschließung. Diese lässt sich nun beliebig erweitern:

<absatz>Der <tier typ="fleischfresser">Löwe</tier> frisst die <tier typ="pflanzenfresser">Gazelle</tier>.</absatz>.

Dabei ist die Verwendung von Attributen nicht auf ein Attribut pro Element beschränkt:

<absatz>Der <tier typ="fleischfresser" vorkommen="afrika" jäger="ja">Löwe</tier>frisst die <tier typ="pflanzenfresser" vorkommen="afrika" jäger="nein" beutetier="ja">Gazelle </tier>.</absatz>

Das Einbringen eines solch differenzierten Markups ist mit hohem redaktionellem Aufwand verbunden. Daher ist es eine der wichtigsten Aufgaben bei der Einführung von XML im Verlag festzulegen, welche Elemente und welche Attribute in den jeweiligen Werken von Interesse sind. Zwischen Minimal- und Maximal-Markup abzuwägen und Entscheidungen zu treffen, verlangt einen Kompromiss zwischen den Wünschen des Lektors/Redakteurs und dem produktionsbedingten Pragmatismus des Hersteller/Produktioners. Ziel muss es sein, für alle Medien gerüstet zu sein.

Eine weitere typische Anwendung von Attributen ist die Abbildung von Verweisen.

Beispiel:

<absatz>Im <verweis ziel="abschnitt5">fünften Abschnitt </verweis> finden Sie mehr zu diesem Thema.</absatz>

Das <verweis>-Element umschließt in diesem Beispiel den Verweistext, also den Textteil, der zum Beispiel später im Browser blau und unterstrichen dargestellt werden soll. Das ziel-Attribut gibt dabei genau an, auf welchen Textteil verwiesen wird.

Damit aus dieser Konstruktion ein funktionierender Verweis wird, braucht es noch ein für den Rechner eindeutig codiertes Sprungziel. Konkret heißt das, dem Zielabschnitt wird die Information beigegeben, dass es sich um den abschnitt5 handelt. Auch dies geschieht mittels eines Attributes.

<abschnitt name="abschnitt5">Das ist der fünfte Abschnitt </abschnitt>.

Auch für dieses Beispiel finden wir die Analogie im Web, also in XHTML:

<p> Klicken Sie <a href="sprungziel1"/>hier</a> </p>

(…)

<p id="sprungziel1">Hier steht das Sprungziel</p>

So kann für das Verarbeitungssystem unmissverständlich angegeben werden, wohin der Verweis führt, ohne dass der eigentliche freisprachliche Inhalts-Text sich dieser technischen Notwendigkeit unterordnen muss. Denn der freisprachliche Verweistext »Im fünften Abschnitt« bzw. das Wort »hier« ist für den Rechner nicht eindeutig und damit nicht ausreichend. Da Computer – anders als wir Menschen – nicht sinnverstehend lesen können, brauchen sie bei Verweisen ganz eindeutige Angaben.

Ein Browser würde in unserem XHTML-Beispiel die Tags nicht ausgeben, sondern den Text zwischen <a href="…"> und </a> farbig und unterstrichen als Link kennzeichnen. Beim Mausklick auf diesen Link würde der Absatz mit der ID sprungziel1 angezeigt. Bei der Printausgabe hingegen könnte ein geeignetes XML-Satzsystem einen Verweis auf die Seitenzahl einfügen, auf der der Abschnitt mit dem versteckten Namen abschnitt5 zu stehen kommt.