Diferencias entre XHTML y HTML en profesordeinformatica.com

Diferencias entre XHTML y HTML

Por Aitor López de Aberasturi el Miércoles, 27 de Agosto de 2014 0 Comentarios

Ya que XHTML es una aplicación XML vamos a tener que cambiar HTML para que cumpla sus especificaciones. La mayoría de ejemplos utilizado en este libro hasta ahora hemos intentado que cumplan las especificaciones XHTML. A continuación vamos a explicar como tenemos que ajustar un documento HTML para convertirlo a XTHML.

1.-Los Documentos Tienen Que Estar bien Formados

Las etiquetas tienen que cerrarse y abrirse en orden. Si tenemos elementos anidados lo primero que se abre es lo último que se cierra.

CORRECTO: elementos anidados.

<p> Esto es un es un p&parrafo;rrafo <em> enfatizado </em>.</p>

INCORRECTO: elementos superpuestos

<p> Esto es un es un p&parrafo;rrafo <em> enfatizado .</p></em>

2.-Los nombres de las etiquetas y atributos deben estar en minúsculas

Documentos XHTML deben usar minúsculas para todos las etiquetas HTML y atributos. XML difereincia entre mayúsculas y minúsculas por lo que <li> y <LI> las considera etiquetas diferentes.

CORRECTO:

<a href="profesordeinformatica.com">Profesordeinformatica.com</a>

INCORRECTO:

<A href="profesordeinformatica.com">Profesordeinformatica.com</A>

3.- En las etiquetas con contenido o no vacías, son obligatorias las etiquetas de cierre.

En HTML4 se permitió a ciertos elementos omitir la etiqueta de cierre. En XHTML esto no se admite y todos los elementos declarados en el DTD como tanto con contenidos como como sin contenido o vacíos tienen que tener su etiqueta de cierre.

CORRECTO: Etiquetas terminadas

<p> aquí es un párrafo. </p><p> aquí es otro párrafo. </p>

INCORRECTO: Etiquetas no terminadas

<p> aquí es un párrafo. <p> aquí es otro párrafo.

4.- Los valores de atributos siempre tienen que estar entrecomillados.

Todos los valores de los atributos deben estar entrecomillados, incluso aquellos que tengan valor numérico.

CORRECTO: valores de los atributos con comillas.

<td rowspan="3">

INCORRECTO: Valores de atributos sin comillas.

<td rowspan=3>

5 Minimización Atributo

XML no es compatible con la minimización de atributos. Los pares atributo-valor deben escribirse en su totalidad. Los nombres de atributos tales como select, checked o compact tienen que tener su valor.

CORRECTO: atributos no minimizados.

<dl compact="compact">

INCORRECTO: atributos minimizados.

<dl compact>

6.- Las etiquetas vacías o sin contenido

Las etiquetas vacías o sin contenido deben tener una etiqueta de cierre o la etiqueta de apertura debe terminar con />. Por ejemplo, <br/> o <hr> </hr>. Las etiqueta vacías son img, hr, br, meta, etc.

CORRECTO: Etiquetas vacías cerradas

<br/> <hr/>

INCORRECTO: Etiquetas vacías sin terminar.

<br> <hr>

7.- Espacios en blanco en los valores de los atributos

En XHTML, antes de acceder al valor de un atributo, se eliminan todos los espacios en blanco que se encuentran antes y después del valor y todos los espacios en blanco sobrantes dentro del valor de un atributo.

8.- Estiquetas script y style.

En XHTML, las los caracteres < y & no son válidas y las etiquetas script y style se declaran como contenido #PCDATA que analiza los datos de caracteres frene a los CDATA que no los analiza. Al utilizar la etiqueta <script>, el código JavaScript debe encerrarse entre unas etiquetas especiales <![CDATA[ ... ]]> para evitar que el navegador interprete de forma errónea caracteres como & y <. Las secciones CDATA son reconocidas nodos del modelo DOM (Modelo de objetos del documento).

CORRECTO:

<script type="text/javascript"> <! [CDATA [ ... contenido del script ]]> <>/script>

INCORRECTO:

<script type="text/javascript"> ... contenido del script ... </script>

Una alternativa es el uso de scripts y hojas de estilo externas.

9. Exclusiones SGML

En un DTD de HTML4 pueden excluirse etiquetas de ser anidadas dentro de otras. Por ejemplo <!ELEMENT A - -(%inline;)* -(A) -- anchor -> define que las etiquetas no pueden incluir etiquetas a. Esta característica no es siempre posible en XML y por lo tanto cuando no sea posible definir las exclusiones en el DTD de un XML, debe tenerse en cuenta la lista de exclusiones de etiquetas XHTML:

a: no puede contener otras etiquetas.

pre: no puede contener etiquetas img, object, big, small, sub o sup.

button: no puede contener las etiquetas input, select, textarea, label, button, form, fieldset, iframe o isindex. label: No puede contener la etiqueta label.

form: no puede contener otras etiquetas form.

CORRECTO:

<a href="enlace.html">Enlace</a>

INCORRECTO:

<a href="enlace.html"><span>Enlace</span></a>

10.- Atributos id y name.

HTML 4 permite utilizar el atributo name en etiquetas como a, applet, form, frame, iframe, img, y map sin embargo en XHTML está obsoleto y en su lugar debe utilizarse el atributo id.

CORRECTO:

<form id="formulario">

INCORRECTO:

<form name="formulario">

11.- Atributos con valores predefinidos.

Tanto HTML como XHTML tienen atributos con valores predefinidos como por ejemplo el atributo type de la etiqueta input, que puede tener valores como text, hidden, submit, etc. Los valores de estos atributos en HTML pueden ser en mayúsculas o minúsculas, sin embargo en XHTML solo se admitirán en minúsculas.

CORRECTO:

<input type="submit" value="Enviar" />

INCORRECTO:

<input type="Submit" value="Enviar" />

12. Valor hexadecimal de caracteres.

HTML permite hacer referencia a los valores hexadecimales de caracteres de dos formas: &#Xnn; o &#xnn; mientras que XHTML solo admite la versión en minúsculas &#xnn;

CORRECTO:

<p>Ĩ</p>

INCORRECTO:

<p>Ĩ</p>



Sobre el profe

Esta es la página web de Aitor Lopez de Aberasturi profesor de informática en ITS Ciudad Jardin. También puedes visitar mi blog de clase.