2010-06-22 20 views
6

Existen muchos hilos que explican qué Doctype elegir, pero no encuentro ninguna explicación sobre la sintaxis real. Tomemos, por ejemplo:Explicación de la sintaxis Doctype

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> 

En particular:

  • público puede ser reemplazado por otros valores y qué significa?
  • ¿Por qué la URL debe estar rodeada de comillas?
  • ¿Qué es "-"?
  • ¿Por qué la primera cadena está separada por dos barras en lugar de 1?
  • ¿La EN significa inglés? Si es así, ¿por qué los sitios web también usan lang=en?

Respuesta

2

Aunque no responde todas sus preguntas, pero creo que es un buen comienzo. Wikipedia es tu amiga ;)

http://en.wikipedia.org/wiki/Document_Type_Declaration

P.S. Para la pregunta de doble cita que se deja fuera, creo que las citas están ahí para interpretar las cadenas con espacios en blanco correctamente

1

¿Por qué la primera cuerda está separada por dos barras en lugar de 1?

El SGML syntax es "Owner//Keyword Description//Language".

Pero en la práctica, es irrelevante, ya que los navegadores no usan analizadores SGML para HTML. DOCTYPE es solo un interruptor para decidir entre el modo peculiar y el modo estándar.

0

Los tipos de Doctype no están limitados a las páginas HTML. Los Doctypes se utilizan para hacer referencia a Definiciones de tipo de documento (DTD), que definen la restricción en la estructura de un documento XML.

Hay diferentes tipos posibles, el ejemplo de la OP sigue un formato "DTD externa pública":

<!DOCTYPE root_element PUBLIC "DTD_name" "DTD_location"> 

donde:

  • root_element: es la raíz del XML
  • DTD_name: una identificador del DTD, para que los procesadores puedan usar una versión local del mismo en lugar de tener que descargarlo
  • DTD_location: la ubicación de la DTD en caso de que no esté disponible localmente.

El DTD_name también tiene un formato definido:

"prefix//owner_of_the_DTD//description_of_the_DTD//ISO 639_language_identifier" 

donde prefix es uno de los siguientes:

  • ISO: La DTD es una norma ISO. Todos los estándares ISO están aprobados.
  • +: El DTD es un estándar aprobado que no es ISO.
  • -: El DTD es un estándar no ISO no aprobado.

Fuente: http://xmlwriter.net/xml_guide/doctype_declaration.shtml