Sintaxis de XHTML

Escribir código XHTML requiere una sintaxis de HTML pura

Más reglas de sintaxis de XHTML:

  • Los nombres de los atributos deben estar en minúsculas
  • Los valores de los atributos deben estar entre comillas
  • No se pueden abreviar los atributos
  • Usar la propiedad Id en lugar de la propiedad name
  • La DTD de XHTML define los elementos de HTML que se deben usar forzadamente

Los nombres de los atributos deben estar en minúsculas

Esto es incorrecto:

<table WIDTH="100%">

Esto es correcto:

<table width="100%">

Los valores de los atributos deben estar entre comillas

Esto es incorrecto:

<table width=100%>

Esto es correcto:

<table width="100%">

No se pueden abreviar los atributos

Esto es incorrecto:

<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>

Esto es correcto:

<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
<frame noresize="noresize" />

A continuación se muestra una lista de atributos abreviados de HTML y su equivalente en XHTML:

HTML XHTML
compact compact="compact"
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"

Usa el atributo id en lugar de name

HTML 4.01 define el atributo name para los siguientes elementos: a, applet, frame, iframe, img y map.

No se recomienda el uso del atributo name en XHTML, debe usarse id en su lugar.

Esto es incorrecto:

<img src="picture.gif" name="picture1" />

Esto es correcto:

<img src="picture.gif" id="picture1" />

Consejo importante de compatibilidad:

Debes agregar un espacio adicional antes del símbolo "/" para que tu XHTML sea compatible con los navegadores modernos.

Atributo de lenguaje (lang)

La propiedad lang se aplica prácticamente a todos los elementos XHTML. Define el tipo de lenguaje utilizado para el contenido interno del elemento.

Si se utiliza la propiedad lang en algún elemento, se debe agregar xml:lang adicional, así:

<div lang="no" xml:lang="no">Heia Norge!</div>

Elementos XHTML obligatorios

Todos los documentos XHTML deben tener una declaración de tipo de archivo (declaración DOCTYPE). En los documentos XHTML deben existir los elementos html, head, y body, y el elemento title debe estar dentro del elemento head.

A continuación, se muestra un archivo plantilla XHTML minimizado:

<!DOCTYPE Declaración de Doctype aquí>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Título va aquí</title>
</head>
<body>
</body>
</html>

Consejo:La declaración de tipo de archivo no es parte del documento XHTML en sí. No es un elemento de XHTML ni tiene etiqueta de cierre.

Consejo:En XHTML, la propiedad xmlns dentro de la etiqueta <html> es obligatoria. Sin embargo, incluso si el atributo xmlns no se incluye en el documento XHTML, las herramientas de validación de w3.org no mostrarán errores. Esto se debe a que "xmlns=http://www.w3.org/1999/xhtml" es un valor fijo, y este valor se agregará a la etiqueta <html> incluso si no lo incluye en el código.

Aprenderás más sobre las declaraciones de tipos de documentos XHTML en el próximo capítulo.