html - una - Doctype en mayúsculas o minúsculas?
validar mayusculas y minusculas en javascript (6)
Al escribir el Doctype HTML5, ¿cuál es el método correcto?
<!DOCTYPE html>
o
<!doctype html>
De acuerdo con la última especificación , debe usar algo que no concuerde con mayúsculas y minúsculas para <!DOCTYPE html>
. Por lo tanto, aunque los navegadores deben admitir el caso que prefiera, es razonable inferir de esto que <!DOCTYPE html>
es el caso canónico.
El estándar para HTML5 es que las etiquetas no distinguen entre mayúsculas y minúsculas.
http://www.w3schools.com/html5/tag_doctype.asp
Más técnicamente: ( http://www.w3.org/TR/html5/syntax.html )
Un DOCTYPE debe constar de los siguientes componentes, en este orden:
- Una cadena que es una coincidencia ASCII insensible a mayúsculas y minúsculas para la cadena
<!DOCTYPE
.
El tipo de pregunta implica que solo hay una respuesta correcta, proporciona una opción múltiple de dos y nos pide que elijamos una. Sugeriría que para HTML5 ambos <!DOCTYPE html>
y <!doctype html>
son válidos.
Por lo tanto, un navegador compatible con HTML5 aceptaría la minúscula y procesaría el html correctamente.
Los navegadores anteriores y ajenos a HTML5, he escuchado que, incluso sin un doctype, intentarán procesar el html de la mejor manera posible. Y si no reconocen el doctype en minúsculas, harán lo mismo. Por lo tanto, no tiene sentido hacerlo en mayúsculas, ya que esos navegadores no podrán implementar completamente ninguna declaración HTML5 de todos modos.
En HTML, el DOCTYPE no distingue entre mayúsculas y minúsculas. Los siguientes DOCTYPE son todos válidos:
<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>
En serializaciones XML (es decir, XHTML), DOCTYPE no es necesario, pero si lo usa, DOCTYPE
debería estar en mayúsculas:
<!DOCTYPE html>
Consulte La serialización XML de HTML5, también conocido como ''XHTML5'' :
Tenga en cuenta que si no mayúsculas de
DOCTYPE
en un documento XHTML, el analizador XML devolverá un error de sintaxis.La segunda parte se puede escribir en minúsculas (
html
), mayúsculas (HTML
) o incluso mayúsculas y minúsculas (hTmL
): seguirá funcionando. Sin embargo, para cumplir con las Pautas de marcado de Polyglot para documentos XHTML compatibles con HTML , debe escribirse en minúscula.
La mayúscula o minúscula es "correcta". Sin embargo, si usa fuentes web y se preocupa por IE7, le recomiendo usar <!DOCTYPE html>
debido a un error en IE7 donde las fuentes web a veces fallan si se usa <!doctype html>
(por ejemplo, en esta respuesta ).
Es por eso que siempre en mayúsculas el tipo de documento.
Si alguien todavía se está preguntando en 2014, consulte esto:
HTML5
Un DOCTYPE debe constar de los siguientes componentes, en este orden:
1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...
Nota: a pesar de mostrarse en mayúsculas, la especificación indica que es insensible
-------------------------------------------------- --------------------
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.
En cuanto a las especificaciones XML, enumera DOCTYPE en mayúsculas, pero no puedo encontrar nada que indique que se requieren ''mayúsculas'' (para comparación, en las especificaciones de HTML5 enumeradas anteriormente, se muestra en el ejemplo en mayúsculas, pero la especificación declara explícitamente que es insensible a mayúsculas y minúsculas ).
-------------------------------------------------- --------------------
Margen de Polyglot
W3 Polyglot Markup - Introducción
A veces es valioso poder servir documentos HTML5 que también sean documentos XML bien formados.
El marcado de Polyglot utiliza una declaración de tipo de documento (DOCTYPE) especificada en la sección 8.1.1 de [HTML5]. Además, el DOCTYPE cumple con las siguientes reglas:
* The string DOCTYPE is in uppercase letters.
Por lo tanto, tenga en cuenta que Ployglot Markup utiliza un doctype normal de HTML5, pero con adiciones / cambios. Para nuestra discusión, lo más notable es que DOCTYPE está declarado en mayúsculas .
-------------------------------------------------- --------------------
Suma
Ver la sección de HTML vs. XHTML del W3
[Opinión] No me preocuparía demasiado por satisfacer el cumplimiento de XML a menos que específicamente esté tratando de hacer consideraciones al respecto. Para la mayoría de los desarrollos de servidores basados en JS y clientes, JSON ha reemplazado a XML.
Por lo tanto, solo puedo ver que esto realmente se aplica si está tratando de actualizar un sistema heredado existente, xhtml / xml para que coexista con la nueva funcionalidad HTML5. Si este es el caso, busque en la especificación de marcado políglota.