# Tag (Informatik)

Ein Tag (ausgesprochen [tæg]; aus englisch tag entlehnt, für Etikett, Mal, [Ab-]Zeichen, Auszeichner, Anhänger oder Schildchen) ist eine Auszeichnung eines Datenbestandes mit zusätzlichen Informationen.

## Auszeichnungssprachen

In manchen Auszeichnungssprachen (englisch markup languages), wie beispielsweise SGML, XML, XHTML und HTML, bezeichnet Tags die Auszeichnungsmarkierungen oder Marken für Elemente in den Dokumenten.
Im Allgemeinen gibt es folgende Auszeichnungsmarkierungen:
* <Elementname> – ein Starttag (aus englisch start tag entlehnt) für den Beginn
* </Elementname> – ein Endtag (englisch end tag) für das Ende einer Auszeichnung
* <Leerelementname/> – ein Leertag (englisch empty element tag) beispielsweise in HTML für Bilder, siehe auch Abschnitt „Attribute“
Die Bezeichnungen Elementname und Leerelementname sind gültige Namen der jeweiligen Auszeichnungssprache. Ein Dokument mit Tags wird wie folgt geschrieben:
Interpreter-Anwendungen, wie ein Webbrowser, lesen aus dem Dokument die Auszeichnungsmarkierungen mit einem Parser und erhalten so die Elemente. Diese benutzen sie dann beispielsweise zur Darstellung. Elemente und Tags stehen bei vollständig ausgezeichneten Dokumenten in einer direkten Beziehung: Paare aus Start- und Endtag stellen jeweils genau ein Element dar. Ein Leertag bildet ebenfalls genau ein Element, ein Leerelement.

### Attribute

Zusätzliche Eigenschaften werden mit Attributen einem Element zugeordnet. Diese werden nach dem Element-Bezeichner innerhalb des Start- oder Leertags wie folgt ausgezeichnet:
Ein Attribut besteht aus einer Zuweisung Attributname="Attributwert" (Eigenschaftsname=Eigenschaftswert). Der Attributwert wird üblicherweise in doppelten (englischen "...") oder in einfachen '...' Anführungszeichen gesetzt – hier am Beispiel eines in HTML eingebundenen Bildes (englisch image):
Zuweilen gibt es auch „Boolesche Attribute“, etwa in HTML, ohne eine Wertzuweisung:
Ist der Schalter controls vorhanden, so hat das Attribut den Wert „ja“; sonst „nein“. In XML hingegen ist diese Notation verboten.
Mehrere Attribute werden getrennt mit Separatorzeichen (Leerzeichen, Tabulatorzeichen, Zeilenumbrüche) aufgelistet:

### XML und XHTML

In XML und XHTML müssen Tags stets vollständig ausgezeichnet werden:

### SGML und HTML bis Version 4

In SGML und HTML bis Version 4 ist eine vollständige Auszeichnung stets zulässig. Allerdings sind, je nach Dokumenttypdefinition, Minimierungen durchaus zulässig. Im Beispiel wird das Attribut align="left" durch left minimiert:

### HTML Version 5

In HTML Version 5 lässt die Norm eine vollständige Auszeichnung auch zu. Die Standardauszeichnung sieht aber Minimierungen vor.
Eine Auflistung mit vollständiger Auszeichnung:
wird in HTML Version 5 vereinfacht wie folgt ausgezeichnet (die Endtags </li> werden ausgelassen):

## Vereinfachte Auszeichnungssprachen

In einzelnen vereinfachten Auszeichnungssprachen gibt es Tags mit eckigen Klammern oder solche, die nur aus Interpunktionszeichen bestehen, und bei Verwendung von LaTeX als Auszeichnungssprache verwendet man etwa „Befehle“ mit geschweiften Klammern – man vergleiche mit dem obersten XML-Beispiel
(diese Angaben lassen sich in einer LaTeX-Quelldatei tatsächlich schlecht vermeiden) – oder \begin{Tag}Element\end{Tag} zur Auszeichnung anstelle der Anfangs- und Schlusstags von XML – vgl. Auszeichnungssprache#Ergebnis und Code in Beispielen. In älterer Textverarbeitungssoftware werden Formatierungsanweisungen durch „Dot-Befehle“ (troff und WordStar) oder ähnlich gegeben.

## Dateiformate

Bei der Speicherung von Daten in Dateien bezeichnet „Tag“ eine Meta- oder Zusatzinformation, die der Datei angefügt wird. Dabei werden neben den zu speichernden Daten zusätzlich Informationen beispielsweise über deren Ursprung oder Verwendungszweck abgelegt.
* Das ID3-Tag etwa bietet in Musikdateien Informationen über deren Titel, Genre, Interpret und anderes.
* Ein Dateiformat für Bilddaten, das auf der Verwendung von Tags zur Speicherung von Informationen beruht, ist das Tagged Image File Format (TIFF).
* Zur zusätzlichen Auszeichnung von beliebigen Daten, meist Fotos, gibt es Exif.

## Objektorientierte Programmierung

In der objektorientierten Programmierung wird „Tag“ umgangssprachlich gebraucht und hat keine genaue Definition. Es bezeichnet ein Attribut oder Datenfeld, welches entweder für verschiedene Zwecke bereitgehalten, aber nicht notwendigerweise verwendet wird oder aber eine ähnliche Funktion wie in XML einnimmt und verwendet wird, um Programmobjekte zu klassifizieren oder intern zusätzliche Daten bereitzuhalten. In letzterem Falle als Bezeichnung häufig synonym verwendet zu flag bleibt das Attribut für einen Anwender oder den Programmierer, der vorgefertigte Klassen verwendet, verborgen.
In den Object-Pascal-Varianten Delphi und Kylix etwa besitzen sämtliche Klassen ein Integer-Feld „Tag“, das zunächst nicht verwendet wird und dem Programmierer erlaubt, dort zusätzliche Informationen zwischenzuspeichern.
Unter AmigaOS benutzt BOOPSI sogenannte Tag-Listen zur Parameterübergabe.

## Versionsverwaltung

In Versionsverwaltungssystemen bezeichnet ein Tag die Markierung einer Menge von Dateien, aus denen sich zu einem beliebigen Zeitpunkt eine bestimmte Version wiederherstellen lässt.

## Informationsarchitektur

Im Webdesign ist Tagging eine Technik, die es jedem Besucher erlaubt, an die besuchten Seiten frei wählbare Begriffe zu hängen (die Texte werden quasi etikettiert). Dadurch lassen sich Artikel in unterschiedliche Themenbereiche gleichzeitig einsortieren; die starre Hierarchisierung der herkömmlichen Navigations-Rubriken wird somit ergänzt oder ersetzt.

## Netzwerke

Im Netzwerkbereich können Tags verwendet werden, um Pakete in einem per VLAN unterteilten Netz den einzelnen VLAN-Segmenten zuzuordnen und um Pakete für eine Priorisierung nach Verkehrsklassen zu markieren (Quality of Service).

## Weitere Verwendungen

Die fachsprachlich ungenaue Verwendung des Wortes kann auch andere Bereiche erfassen. Allen Verwendungen ist gemein, dass sie sich sehr eng an der wörtlichen Bedeutung des englischen Begriffes orientieren. Als „Tag“ wird also immer ein (abstraktes) Etikett oder Schildchen, ein Auszeichner oder eine wie auch immer geartete Markierung bezeichnet.