Homepage-Webhilfe Event-Banner

Namensräume

In XML ist es möglich, für Elemente einen Namensraum festzulegen. Namensräume sind eigentlich dazu gedacht, Namenskonflikte zu vermeiden. Zu so einem Konflikt kann es immer dann kommen, wenn in einem XML-Dokument unterschiedliche XML-Varianten gemischt werden.

Ein Beispiel: Sie haben eine eigene XML-Datei geschrieben, in welcher es das Element article gibt. Ein bestimmter Teil Ihrer XML-Datei soll nun aber HTML-Code enthalten. In HTML gibt es aber ebenfalls das Element article. Sie haben einen Namenskonflikt.

Genau für solche Zwecke bzw. grundsätzlich, wenn Sie Elemente aus einer anderen XML-Variante (wie z. B. von HTML) verwenden, sollten Sie einen Namensraum angeben. Die Definition des Namensraums erfolgt mittels des Attributs xmlns, einem Präfix und einer URI (meist in Form der URL). Hinter der angegebenen URL muss in der Realität nichts existieren, sie muss sich lediglich unterscheiden. Es empfiehlt sich jedoch, hinter der URL eine Spezifikation zu hinterlegen (bzw. auf die Spezifikation z. B. vom W3C zu verlinken). Die vollständige Angabe eines Namensraums lautet xmlns:Präfix="URI". Alle Elementnamen, welche diesem Namensraum angehören, müssen nun mit dem Präfix erweitert werden. Aus einem Element mit dem Namen article und dem Präfix mit dem Namen h würde also h:article werden. Die Angabe des Namensraums kann entweder im Wurzelelement oder im ersten Element, in welchem der Namensraum benötigt wird, erfolgen.

Im folgenden Beispielcode ist das oben beschriebene Szenario mittels Namensraumangabe gelöst:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<article>
    <info>
        <autor>Max Mustermann</autor>
        <datum>15.01.2017</datum>
    </info>
    <inhalt>
        <h:article xmlns:h="http://www.w3.org/TR/html5/">
            <h:h1>XML Namensräume</h:h1>
            <h:p>Dies ist ein Newsletter zum Thema Namensräume 
                    in der Auszeichnungssprache XML.</h:p>
        </h:article>
    </inhalt>
</article>
Vorschau

Übrigens: Wenn alle Elemente, welche einem bestimmten Element untergeordnet sind, einem anderen Namensraum angehören, so kann auf den Präfix verzichtet werden. Das Attribut lautet dann lediglich xmlns. Im Beispiel oben wäre dies möglich.

Wichtig: Alle Elemente, bei denen kein Namensraum explizit angegeben wurde, gehören dem Standardnamensraum an.

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK