Si utilizamos una codificación de caracteres distinta a la UTF-8, ó UTF-16, se debe indicar en la primera línea la versión de xml y la codificación de caracteres del documento.
Respecto a la versión de xml, la actual es la 1.0
La codificación es el modo en que los bits recibidos se transforman en caracteres, y debe tenerse en cuenta para que se puedan representar todos los caracteres del idioma en el que se mostrará el documento.
Son apropiadas para varios idiomas las codificaciones UTF-8 y UTF-16, y también es frecuente el uso de la europeo occidental (ISO-8859-1).
Aquí se indica el documento publico que contiene las reglas de sintaxis y gramática con las que se determina si el documento actual es válido o no respecto a la versión del lenguaje indicada.
Mediante este documento las aplicaciones de validación verifican que todos los elementos están correctamente anidados, y que las etiquetas y atributos que contienen son válidos.
Existen varias DTD que establecen distintos grados en los que un documento xhtml debe ajustarse a las reglas de gramática y sintaxis de xml.
Las tres primeras se muestran ordenadas de menos a más restrictivas, y una última indicada para el uso de frames.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">