HTML frente a XHTML
XHTML es una versión de HTML más estricta y más basada en XML.
¿Qué es XHTML?
- XHTML significa EXtensible HyperTtexto Markup Llenguaje
- XHTML es una versión de HTML más estricta y más basada en XML
- XHTML es HTML definido como una aplicación XML
- XHTML es compatible con todos los principales navegadores
¿Por qué XHTML?
XML es un lenguaje de marcado en el que todos los documentos deben marcarse correctamente (estar "bien formados").
XHTML fue desarrollado para hacer que HTML sea más extensible y flexible para trabajar con otros formatos de datos (como XML). Además, los navegadores ignoran los errores en las páginas HTML e intentan mostrar el sitio web incluso si tiene algunos errores en el marcado. Por eso XHTML viene con un manejo de errores mucho más estricto.
Si desea estudiar XML, lea nuestro Tutorial XML.
Las diferencias más importantes con respecto a HTML
- <!DOCTYPE> es obligatorio
- El atributo xmlns en <html> es obligatorio
- <html>, <head>, <title> y <body> son obligatorios
- Los elementos siempre deben estar anidados correctamente
- Los elementos siempre deben estar cerrados
- Los elementos siempre deben estar en minúsculas
- Los nombres de los atributos siempre deben estar en minúsculas
- Los valores de los atributos siempre deben entrecomillarse
- La minimización de atributos está prohibida
XHTML - <!DOCTYPE ....> Es Obligatorio
Un documento XHTML debe tener una declaración XHTML <!DOCTYPE>.
Los elementos <html>, <head>, <title> y <body> también deben estar presentes, y el atributo xmlns en <html> debe especificar el espacio de nombres xml para el documento.
Ejemplo
Aquí hay un documento XHTML con un mínimo de etiquetas requeridas:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body>
some content here...
</body>
</html>
Los elementos XHTML deben estar correctamente anidados
En XHTML, los elementos siempre deben estar correctamente anidados entre sí, así:
Correcto:
<b><i>Some text</i></b>
Equivocado:
<b><i>Some text</b></i>
Los elementos XHTML siempre deben estar cerrados
En XHTML, los elementos siempre deben cerrarse así:
Correcto:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
Equivocado:
<p>This is a paragraph
<p>This is another paragraph
Los elementos XHTML vacíos siempre deben estar cerrados
En XHTML, los elementos vacíos siempre deben cerrarse así:
Correcto:
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />
Equivocado:
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">
Los elementos XHTML deben estar en minúsculas
En XHTML, los nombres de los elementos siempre deben estar en minúsculas, así:
Correcto:
<body>
<p>This is a paragraph</p>
</body>
Equivocado:
<BODY>
<P>This is a paragraph</P>
</BODY>
Los nombres de atributos XHTML deben estar en minúsculas
En XHTML, los nombres de los atributos siempre deben estar en minúsculas, así:
Correcto:
<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
Equivocado:
<a HREF="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
Los valores de los atributos XHTML deben citarse
En XHTML, los valores de los atributos siempre deben ir entre comillas, así:
Correcto:
<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
Equivocado:
<a href=https://www.w3schools.com/html/>Visit our HTML tutorial</a>
La minimización de atributos XHTML está prohibida
En XHTML, la minimización de atributos está prohibida:
Correcto:
<input type="checkbox" name="vehicle" value="car" checked="checked" />
<input type="text" name="lastname" disabled="disabled" />
Equivocado:
<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />