QName
# QName

QNames wurden durch XML Namespaces mit dem Ziel eingeführt, als URI-Referenz zu dienen. QName steht für „qualified name“ und definiert einen gültigen Bezeichner für Elemente und Attribute. QNames werden allgemein benutzt, um auf bestimmte Elemente oder Attribute innerhalb von XML-Dokumenten zu verweisen.

## Motivation

Weil URI-Referenzen lang sein können und für Element-/Attributnamen verbotene Zeichen enthalten können, werden QNames benutzt, um eine Abbildung von URI und Namespace-Präfix zu erstellen. Durch das Abbilden können URIs abgekürzt werden und somit in XML-Dokumenten komfortabler geschrieben werden (siehe Beispiel).

## Formale Definition

QNames werden vom W3C formal wie folgt definiert:

NCName ist wie folgt definiert:

Das Präfix wird als Platzhalter für den Namensraum und der LocalPart als Lokalteil für den qualifizierten Bezeichner verwendet. Lokalteil kann ein Attributname oder Elementname sein.

## Beispiel

In Zeile 2 wird das Präfix x definiert, welches mit der URI "http://example.com/ns/foo" verknüpft wird. Dieses Präfix kann später als Abkürzung für diesen Namensraum verwendet werden. Im weiteren Dokument ist der Tag x:p ein gültiger QName, weil er das x als Referenz auf den Namensraum und p als Lokalteil verwendet. Der Tag doc ist auch ein gültiger QName, er besteht allerdings nur aus dem Lokalteil.

