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!

zurück