ID (DTD)

Aus Kefk

Wechseln zu: Navigation, Suche

ID (Akronym für Identifier, Eindeutiger Bezeichner) ist ein Begriff aus der XML-Welt. Man deklariert in einer DTD ein Attribut mit dem Typ ID, wenn dieser im kompletten XML-Dokument einen eindeutigen Wert besitzen soll. Hierdurch ist es möglich, an anderer Stelle darauf zu verweisen (mittels IDREF oder IDREFS).

Eine Attributdeklaration die den Typ ID verwendet, besitzt folgendes allgemeines Aussehen:

<!ATTLIST Elementname Attributname ID [#REQUIRED|#IMPLIED|...]>

Durch die vorige Deklaration kann die DTD überprüfen, ob der Attributname optional ist (Wert #IMPLIED), oder ob er angegeben werden muss (Wert #REQUIRED).


Beispiel

Die folgende Deklaration weist dem Element foo das optionale Attribut bezeichner mit dem Typ ID zu:

 <!ATTLIST foo bezeichner ID #IMPLIED>

Hierdurch ist es möglich, jedes Element foo einen eindeutigen Bezeichner zu geben:

 <foo bezeichner="hallo">...</foo>
 <foo bezeichner="welt">...</foo>

Wegen #IMPLIED kann das Attribut bezeichner auch wegbleiben:

 <foo>...</foo>

xml:id

Deklarationen können sowohl extern (durch eine DOCTYPE-Deklaration) als auch intern (über die interne Untermenge der DTD) vorkommen. Einige Spezifikationen (beispielsweise SOAP) verbieten die interne Untermenge der DTD. Hierdurch ist es nicht mehr möglich, dass der XML-Parser ein Attribut zum Typ ID zugehörig erkennt. Der Nachteil ist, dass damit ID/IDREF/IDREFS-Verknüpfungen nicht mehr überprüft werden können.

Um obige Nachteile zu vermeiden, definiert die W3C-Spezifikation[1] das Attribut xml:id. Damit ist es möglich, eindeutige Bezeichner zu vergeben und sie unabhängig von DTD oder Schema auch als solche zu erkennen.

Weblinks

Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort ID_%28DTD%29, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge