XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   (X)HTML (http://xhtmlforum.de/forumdisplay.php?f=72)
-   -   Eigene Doctypes nutzen? Sinnvoll? Was meint ihr? (http://xhtmlforum.de/showthread.php?t=53388)

Unsk1ll3d 29.08.2008 15:51

Eigene Doctypes nutzen? Sinnvoll? Was meint ihr?
 
Hallo,

Ich nutze zwar selbst nicht die Methode, aber diese ist mir letztens aufgefallen.
Man kann schließlich anstelle der öffentlichen DTD auch eigene verwenden, indem man sie lokal auf dem Server referenziert, also den URL verändert.

Das könnte zum Beispiel so aussehen:
Code:

<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://meinserver.de/xhtml_own.dtd">

Der Vorteil (naja, eher "Möglichkeit") wäre hier zum Beispiel, dass man schon vorher die einzelnen Elemente z.B. als Block-Element deklarieren kann, dementsprechend viel an CSS-Attributen spart. Ob es Sinn der Sache ist, sei mal dahin gestellt.

Auch könnte man eigene Attribute für Elemente "entwerfen", z.B. in einem strict-Dokument für den anchor auch die Möglichkeit eines target="..." geben, oder ggf. iframes voll ausnutzen (Ja, Frames sind doof...aber manchmal praktisch für Reloads in riesigen Scripten).

Beispielsweise könnte man dann das .dtd-Dokument wie folgt aussehen lassen, um nur die nötigsten Attribute zu definieren:
Code:

<!--================== The Anchor Element ================================-->

<!ELEMENT a %a.content;>
<!ATTLIST a
  %attrs;
  %focus;
  charset    %Charset;      #IMPLIED
  type        %ContentType;  #IMPLIED
  name        NMTOKEN        #IMPLIED
  href        %URI;          #IMPLIED
  rel        %LinkTypes;    #IMPLIED
  target      %FrameTarget;  #IMPLIED
  >

Ein weiterer Vorteil wäre auch, dass man so den Quirksmode auch manuell weiter eingrenzen könnte, da die "internen" Attribute für den IE (besser gesagt 5.5+ - IE6SP1) überschreibbar sind.

Leider habe ich keine Ahnung, ob die Browser-Engine bei jedem Site-Load dann schneller oder langsamer die DTD parsed. Das müsste mal getestet werden :)

Was meint ihr dazu? Sinnvoll oder nicht?
Ich bin über eure Kritik dazu gespannt :)

Grüße,
Unsk1ll3d

inta 29.08.2008 16:26

Ich sehe den Sinn nicht. (Besonders Elemente oder Attribute wieder zu definieren die bewusst aus dem Standard entfernt wurden, halte ich für sehr fragwürdig.)

Davon abgsehen stellt sich mir zuerst einmal die Frage, ob überhaupt jeder Browser die DTD interpretiert. Da bin ich mir absolut nicht sicher, ich würde erstmal vermuten, dass dem nicht so ist.

gato 29.08.2008 17:00

Zitat:

Zitat von Unsk1ll3d (Beitrag 399644)
Der Vorteil (naja, eher "Möglichkeit") wäre hier zum Beispiel, dass man schon vorher die einzelnen Elemente z.B. als Block-Element deklarieren kann, dementsprechend viel an CSS-Attributen spart. Ob es Sinn der Sache ist, sei mal dahin gestellt.

Die Browser entscheiden nicht anhand der DTD, ob ein Element ein Block- oder ein Inlineelement ist. Diese eigenschaft ist in der Spezifikation festgelegt und wird von den Browsern über CSS realisiert (intern bedeutet das z. B., dass das body-, h1-h6 und andere Elemente einfach display:block erhalten).

Zitat:

Zitat von Unsk1ll3d (Beitrag 399644)
Auch könnte man eigene Attribute für Elemente "entwerfen", z.B. in einem strict-Dokument für den anchor auch die Möglichkeit eines target="..." geben, oder ggf. iframes voll ausnutzen (Ja, Frames sind doof...aber manchmal praktisch für Reloads in riesigen Scripten).

Das geht jetzt schon, wenn XHTML als HTML verarbeitet wird, denn bei HTML unterscheidet der Brrowser nicht zwischen den DTDs.

Zitat:

Zitat von Unsk1ll3d (Beitrag 399644)
Ein weiterer Vorteil wäre auch, dass man so den Quirksmode auch manuell weiter eingrenzen könnte, da die "internen" Attribute für den IE (besser gesagt 5.5+ - IE6SP1) überschreibbar sind.

Die Einzige Auswirkung dürfte sein, dass diese Dokumenttypen jederzeit im Standardsmode verarbeitet werden, nichts weiter.

Zitat:

Zitat von Unsk1ll3d (Beitrag 399644)
Leider habe ich keine Ahnung, ob die Browser-Engine bei jedem Site-Load dann schneller oder langsamer die DTD parsed. Das müsste mal getestet werden :)

Nur der XML-Parser von Microsoft parst die DTD, der kann aber kein XHTML.

In den anderen Browsern wird das XHTML auf alles bis auf die DTD geprüft, deshalb kannst du z. B. target in XHTML Strict verwenden, auch wenn du das auf keinen Fall tun solltest (andere XML-Parser meckern dann nämlich trotzdem).

Zitat:

Zitat von Unsk1ll3d (Beitrag 399644)
Was meint ihr dazu? Sinnvoll oder nicht?

Nicht Sinnvoll, es dient höchstens als Talismann.

Chief 30.08.2008 00:19

Entschuldigt die dumme Frage, aber wenn der Browser sich nicht nach Doctypes richtet, für was ist der dann da?

gato 30.08.2008 00:40

Zitat:

Zitat von Chief (Beitrag 399707)
Entschuldigt die dumme Frage, aber wenn der Browser sich nicht nach Doctypes richtet, für was ist der dann da?

Früher dachte man, damit HTML zu Versionieren, aber das hat nicht geklappt, Browser kennen nur HTML-Dokumente, keine HTML-Strict-oder-sonstwas-Dokumente.

Von den Browsern wird der Doctype aber für die Dokumenttypweiche verwendet.

Chief 30.08.2008 00:50

Hab grad Den Google benutzt und weiß jetzt auch was das mit der D.typweiche auf sich hat.

Danke.

webseite_freaky 30.08.2008 21:50

Guten Abend,

ich halte es eher nicht für sinnvoll, da man es sonst nicht mehr validieren kann, da z.B. W3C nicht erkennt, was für ein Aufbau es ist! Lass liebe die Finger davon! ;)

Liebe Grüße,
euer webseite_freaky

Manko10 30.08.2008 22:38

Doch, man kann es schon validieren. Ob der W3-Validator das kann, weiß ich allerdings nicht. Ein vernünftiger Validator sollte anhand der DTD validieren und nicht nur festgelegte Doctypes erkennen.
Das X in XHTML steht ja gerade für die Erweiterung. Allerdings sind die Browser wohl noch nicht so weit, dass alles reibungslos läuft.

gato 31.08.2008 00:12

Zitat:

Zitat von Manko10 (Beitrag 399849)
Das X in XHTML steht ja gerade für die Erweiterung. Allerdings sind die Browser wohl noch nicht so weit, dass alles reibungslos läuft.

An sich schon, so ist es beispielsweise schon möglich (X)HTML5 zu schreiben, welches neue Elemente wie section und article enthält. Aber man darf natürlich nicht erwarten, dass die browser das sofort wie gewünscht darstellen, vor allem der IE braucht hier noch ein bisschen Extrahilfe. Im grunde ist aber Vorwärtskompatibilität gegeben.

webseite_freaky 31.08.2008 11:04

Zitat:

Zitat von Manko10 (Beitrag 399849)
Doch, man kann es schon validieren. Ob der W3-Validator das kann, weiß ich allerdings nicht. Ein vernünftiger Validator sollte anhand der DTD validieren und nicht nur festgelegte Doctypes erkennen.
Das X in XHTML steht ja gerade für die Erweiterung. Allerdings sind die Browser wohl noch nicht so weit, dass alles reibungslos läuft.

Hallo,

soviel ich weiß, muss in dem Doctype stehen welches "Format"
er zum Validieren nutzt, also muss was mit Strict z.B. drin stehen!
;)

Liebe Grüße,
euer webseite_freaky


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:54 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023