2014-08-31 24 views
5

Ich habe angefangen, auf der Client-Seite in letzter Zeit mit JQuery und JavaScript zu entwickeln. Um ehrlich zu sein habe ich immer das DOCTYPE-Etikett für selbstverständlich gehalten und ich habe nie viel darüber gelesen: http://www.w3schools.com/tags/tag_doctype.asp. Ich verstehe, gibt es verschiedene doctypes für XHTML 1 (insgesamt 3) HTML 4.01 (insgesamt 3) und HTML 5. Der Doctype enthält die folgende Struktur für 'HTML 4.01 Transitional':XHTML Doctype Komponenten und Grund für ihre Existenz

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

Ich verstehe nicht, die Grund zu haben: -//W3C//DTD HTML 4.01 Transitional//EN. Sicher ist der DTD-Pfad genug? Ich verstehe auch nicht, warum es so schwierig ist, sich daran zu erinnern, z.B. warum nicht einfach sagen: W3C HTML 4.01 Transitional. Ich verstehe, dass es einen Grund dafür gibt, aber ich kann nicht finden, was es ist.

Ich habe die letzten Stunden damit verbracht, nach einer Antwort zu suchen, aber kein Glück und daher der Grund für die Frage.

+2

Der Titel der Frage bezieht sich auf XHTML, aber der Körper fragt nach einem HTML 4.01 Doctype. Außerdem gibt es in der Frage, abgesehen von einer Erwähnung des Hintergrunds/Kontexts, nichts in Bezug auf JavaScript. –

+1

https://en.wikipedia.org/wiki/Formal_Public_Identifier – Quentin

+0

@Quentin, das ist genau das, wonach ich schon gesucht habe. Kannst du eine Antwort posten, damit ich sie verbessern kann? +1. – w0051977

Antwort

2

Die Deklaration des Dokumenttyps in HTML ist formal ein SGML-Konstrukt, das im SGML-Standard (ISO 8879) definiert ist. Die Syntax folgt somit diesem Standard, der es nicht erlaubt, den öffentlichen Bezeichner einfach wegzulassen; es erlaubt eine Syntax mit nur einer Systemkennung, in der Praxis eine URL, aber dann wäre die Syntax anders. Wenn HTML definiert wurde, wurde entschieden, diese Syntax zu verwenden.

In der Praxis spielt es keine Rolle, weil kein Browser jemals HTML nach dem SGML-Standard implementiert hat, und Browser Docctype-Strings genauso behandeln wie magische Strings, die einen bestimmten Modus auswählen können (Quirks, Standard, fast Standardmodus) "Co-Call" Doctype Sniffing "). In JavaScript hat es keine Bedeutung; Sie können auf den Doctype-String in JavaScript zugreifen, aber das ist alles.