Quando si scrive il doctype HTML5 qual è il metodo corretto?
<!DOCTYPE html>
o
<!doctype html>
<!doctype html>
Quando si scrive il doctype HTML5 qual è il metodo corretto?
<!DOCTYPE html>
o
<!doctype html>
<!doctype html>
Risposte:
In HTML, DOCTYPE non distingue tra maiuscole e minuscole. I seguenti DOCTYPE sono tutti validi:
<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>
Nelle serializzazioni XML (ovvero XHTML) il DOCTYPE non è richiesto, ma se lo si utilizza, DOCTYPEdeve essere in maiuscolo:
<!DOCTYPE html>
Vedi la serializzazione XML di HTML5, alias 'XHTML5' :
Si noti che se non si fa maiuscolo
DOCTYPEin un documento XHTML, il parser XML restituirà un errore di sintassi.La seconda parte può essere scritta in lettere minuscole (
html), maiuscole (HTML) o anche maiuscole (hTmL) - funzionerà comunque. Tuttavia, per conformarsi alle Linee guida per il markup di Polyglot per i documenti XHTML compatibili con HTML , dovrebbe essere scritto in minuscolo.
<title/foo/sarebbe equivalente a <title>foo</title>. Solo alcuni validatori HTML usano SGML. La specifica HTML5 è la prima a chiarire questo: whatwg.org/specs/web-apps/current-work/multipage/…
html). Ecco la frase completa: “La seconda parte può essere scritta in minuscolo ( html), maiuscolo ( HTML) o anche in maiuscolo ( hTmL) - funzionerà comunque. Tuttavia, per conformarsi alle Linee guida per il markup di Polyglot per i documenti XHTML compatibili con HTML, dovrebbe essere scritto in minuscolo. "
Se qualcuno si sta ancora chiedendo nel 2014, si prega di consultare questo:
HTML5
Un DOCTYPE deve essere composto dai seguenti componenti, in questo ordine:
1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...
Nota: nonostante sia visualizzato in maiuscolo, la specifica indica che è insensibile
XHTML5
This specification does not define any syntax-level requirements
beyond those defined for XML proper.
XML documents may contain a DOCTYPE if desired, but this is not required
to conform to this specification. This specification does not define
a public or system identifier, nor provide a formal DTD.
Guardando le specifiche XML, elenca DOCTYPE in maiuscolo, ma non riesco a trovare nulla che affermi che è richiesto "tutto maiuscolo" (per il confronto, nelle specifiche HTML5 sopra elencate, viene visualizzato nell'esempio in maiuscolo, ma la specifica afferma esplicitamente che non fa distinzione tra maiuscole e minuscole ).
Markup Polyglot
W3 Polyglot Markup - Introduzione
A volte è utile essere in grado di servire documenti HTML5 che sono anche documenti XML ben formati.
Il markup Polyglot utilizza una dichiarazione del tipo di documento (DOCTYPE) specificata dalla sezione 8.1.1 di [HTML5]. Inoltre, il DOCTYPE è conforme alle seguenti regole:
* The string DOCTYPE is in uppercase letters.
Quindi, nota che Ployglot Markup utilizza un normale doctype HTML5, ma con aggiunte / modifiche. Per la nostra discussione, in particolare che DOCTYPE è dichiarato in maiuscolo .
Somma
Visualizza la sezione HTML vs. XHTML del W3
[Opinione] Non mi preoccuperei troppo di soddisfare la conformità XML a meno che tu non stia specificatamente cercando di fare delle considerazioni al riguardo. Per la maggior parte dello sviluppo di client e server basati su JS, JSON ha sostituito XML.
Pertanto, posso vederlo davvero applicabile solo se stai cercando di aggiornare un sistema legacy esistente basato su xhtml / xml per coesistere con la nuova funzionalità HTML5. In tal caso, esaminare le specifiche di markup poliglotta.
Secondo le ultime specifiche , dovresti usare qualcosa che non fa distinzione tra maiuscole e minuscole <!DOCTYPE html>. Quindi, mentre i browser sono tenuti a supportare qualsiasi caso tu preferisca, è ragionevole dedurre da ciò che <!DOCTYPE html>è il caso canonico.
<!DOCTYPE html>, quindi sarebbe ragionevole dedurre che l'autore della specifica abbia una leggera preferenza per quella particolare capitalizzazione. Userò la stessa maiuscola delle specifiche, poiché è bello che queste cose siano coerenti, ma se preferisci, <!dOcTyPeallora essere mio ospite :)
Le lettere maiuscole o minuscole sono "corrette". Tuttavia, se usi i caratteri web e ti preoccupi di IE7, ti consiglio di usarli a <!DOCTYPE html>causa di un bug in IE7 in cui i caratteri web a volte falliscono se si usa <!doctype html>(ad esempio in questa risposta ).
Questo è il motivo per cui ho sempre il carattere maiuscolo.
Lo standard per HTML5 è che i tag non fanno distinzione tra maiuscole e minuscole.
http://www.w3schools.com/html5/tag_doctype.asp
Più tecnicamente: ( http://www.w3.org/TR/html5/syntax.html )
Un DOCTYPE deve essere composto dai seguenti componenti, in questo ordine:
<!DOCTYPE.tag_doctype.aspnon è valido (404) e questa domanda riguarda la doctypedichiarazione, che non è un tag ... Comunque, la conclusione è corretta: in HTML5, la parola chiave doctypepuò essere in maiuscolo, minuscolo o misto.
La domanda implica che esiste solo una risposta corretta, fornisce una scelta multipla tra due e ci chiede di sceglierne una. Vorrei suggerire che per HTML5 entrambi <!DOCTYPE html>e <!doctype html>sono validi.
Quindi un browser compatibile con HTML5 accetterebbe quello minuscolo ed elaborerà correttamente l'html.
I browser precedenti e ignari di HTML5, ho sentito, anche senza un doctype, tenteranno di elaborare l'html nel miglior modo possibile. E se non riconoscono il doctype minuscolo farà lo stesso. Quindi non ha senso renderlo maiuscolo poiché quei browser non saranno comunque in grado di implementare completamente le dichiarazioni HTML5.
La dichiarazione doctype non distingue tra maiuscole e minuscole e qualsiasi stringa di ASCII corrispondente