
A continuación un ejemplo de XHTML correcto y que valida. Lo escribí como una manera de ayudarme a recordar como debe estar compuesto y evitar buscar más veces lo mismo.
Code
<?xml version="1.0" encoding="UTF-8"?>
<!-- Esto es un Comentario -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
La parte que dice "Strict" puede ser:
-Strict, significa que la parte estética debe ser hecha con CSS
-Transitional, permite usar elementos de HTML4 como align="center"
-Frameset, permite el uso de frames
Para saber más ver:
http://w3schools.com/xhtml/xhtml_dtd.asp
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
<head>
<title>Titulo</title>
<!-- meta -->
<meta name="description" content="Una página de ejemplo" />
<meta name="keywords" content="ejemplo,pagina,html,test" />
<meta name="author" content="Yo Ego" />
<!-- sobre meta: http://w3schools.com/tags/tag_meta.asp -->
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<!-- Script en archivo externo -->
<script type="text/javascript" src="main.js"></script>
<!-- Script local -->
<script type="text/javascript">
//<![CDATA[
alert("Esto es un alerta! Adentro de <head>.");
//]]>
</script>
<!-- css -->
<!-- <style> no permitido en <body> -->
<!-- CSS en archivo externo -->
<link rel="stylesheet" href="look.css" type="text/css" />
<!-- CSS local -->
<style type="text/css">
h1 {
color: #fa6;
}
</style>
</head>
<body>
<script type="text/javascript">
//<![CDATA[
alert("Esto es una alerta! Adentro de <body>.");
//]]>
</script>
<!-- noscript:
para funcionar tiene que tener adentro uno de los siguientes tags:
"p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del".
Estos tags son elementos "display: block".
-->
<noscript><h1>Esto NO aparece en un browser con javascript activo</h1></noscript>
<h2>Una prueba de h1</h2>
<p><abbr title="Extensible HyperText Markup Language">XHTML</abbr></p>
</body>
</html>