Declaración de tipo de documento


Una declaración de tipo de documento , o DOCTYPE , es una instrucción que asocia un documento XML o SGML en particular (por ejemplo, una página web ) con una definición de tipo de documento (DTD) (por ejemplo, la definición formal de una versión particular de HTML 2.0 - 4.0 ). [1] En la forma serializada del documento, se manifiesta como una cadena corta de marcado que se ajusta a una sintaxis particular.

Los motores de diseño HTML en los navegadores web modernos realizan "rastreo" o "conmutación" de DOCTYPE, donde el DOCTYPE en un documento servido determina un modo de diseño, como " modo peculiar " o "modo estándar". La serialización de HTML5 , que no está basada en SGML, usa DOCTYPE solo para la selección de modo. Dado que los navegadores web se implementan con analizadores HTML de propósito especial, en lugar de analizadores basados ​​en DTD de propósito general, no usan DTD y nunca accederán a ellos incluso si se proporciona una URL. El DOCTYPE se conserva en HTML5 como un encabezado "casi inútil, pero obligatorio" solo para activar el "modo estándar" en los navegadores habituales. [2]text/htmltext/html

En XML, el elemento raíz que representa el documento es el primer elemento del documento. Por ejemplo, en XHTML, el elemento raíz es <html>, siendo el primer elemento abierto (después de la declaración de tipo de documento) y el último cerrado. Las palabras clave SISTEMA y PÚBLICO sugieren qué tipo de Definición de tipo de documento (DTD) es (uno que está en un sistema privado o uno que está abierto al público). Si se elige la palabra clave PUBLIC, esta palabra clave va seguida de una forma restringida de "identificador público" llamado Identificador público formal.(FPI) entre comillas dobles. Después de eso, también se proporciona necesariamente un "identificador de sistema" entre comillas dobles. Por ejemplo, el FPI para XHTML 1.1 es "- // W3C // DTD XHTML 1.1 // EN" y existen 3 posibles identificadores de sistema disponibles para XHTML 1.1 según las necesidades, uno de ellos es la referencia URI " http: //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ". Si, en cambio, se elige la palabra clave SYSTEM, solo se debe dar un identificador de sistema. Significa que el analizador XML debe ubicar la DTD de una manera específica del sistema, en este caso, mediante una referencia URI de la DTD entre comillas dobles. La última parte, rodeada por corchetes literales ([]), se llama un subconjunto interno que se puede usar para agregar / editar entidadeso agregar / editar comportamientos de palabras clave PÚBLICAS. [3] El subconjunto interno es siempre opcional (ya veces incluso prohibido dentro de perfiles SGML simples, en particular aquellos para analizadores HTML básicos que no implementan un analizador SGML completo).

Por otro lado, las declaraciones de tipo de documento son ligeramente diferentes en documentos basados ​​en SGML como HTML, donde el identificador público puede estar asociado con el identificador del sistema. Esta asociación podría realizarse, por ejemplo, por medio de un archivo de catálogo que resuelve el FPI en un identificador de sistema. [4]

Esta declaración de tipo de documento para XHTML incluye por referencia un DTD, cuyo público y cuyo identificador de sistema es http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd. Un solucionador de entidades puede usar cualquier identificador para localizar la entidad externa referenciada. No se ha indicado ningún subconjunto interno en este ejemplo ni en los siguientes. Se declara que el elemento raíz es htmly, por lo tanto, es la primera etiqueta que se abre después del final de la declaración de tipo de documento en este ejemplo y también en los siguientes. La etiqueta HTML no forma parte de la declaración de tipo de documento, pero se ha incluido en los ejemplos con fines orientativos.