target="_blank" in XHTML 1.1
... und trotzdem fehlerfrei validieren
Ich stand vor einer Entweder-Oder-Entscheidung:
Entweder code ich meine Website in XHTML 1.1 und verzichte zugunsten der fehlerfreien Validierung auf Links, die sich in neuem Fenster öffnen
oder ... ja, was oder?
Ich habe mich durch diverse Foren geklickt und bin oft über eine Javascript-Lösung gestolpert. Ich habe nichts gegen Javascript - aber wollte ich in
diesem Falle darauf verzichten.
Nach längerer Suche stieß ich auf Musings, einen Blog über Wissenschaft, Computer - und Leben auf Erden.
Auf diesem stellt der Autor sein Workaround vor:
Zuerst erstellen wir eine eigene DTD, die in meinem Fall so aussieht:
<!ENTITY % XHTML.version
"-//minus78.de//DTD XHTML 1.1 plus Target 1.0//EN" >
<!ENTITY % xhtml11.mod
PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
%xhtml11.mod;
<!ENTITY % xhtml-target.mod
PUBLIC "-//W3C//ELEMENTS XHTML Target 1.0//EN"
"http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-target-1.mod" >
%xhtml-target.mod;
Anschließend deklarieren wir im Header der Seite, die die Links enthält die Doctype-Deklaration folgendermaßen:
<!DOCTYPE html PUBLIC "-//minus78.de//DTD XHTML 1.1 plus Target 1.0//EN" "http://www.minus78.de/scripts/xhtml11-target.dtd">
In der zweiten Zeile hinterlassen wir demnach den Pfad zu unserer gespeicherten .dtd
Kurzer Test: W3C meckert nicht - und die Links öffnen sich im neuen Tab / Fenster!
