xHTML 1.0 Basics

34
xHTML Trabajando en orden Harold Maduro

description

Curso de Estándares Web - Día #1 Diferencias del xHTML 1.0 de versiones anteriores de HTML.

Transcript of xHTML 1.0 Basics

Page 1: xHTML 1.0  Basics

xHTMLTrabajando en orden

Harold Maduro

Page 2: xHTML 1.0  Basics

xHTML 1.0• Abrir documento con DOCTYPE correcto

• Namespace

• Declarar el Content Type

• Especificar el idioma (lang)

• Escribir todos los elementos en minúscula

• Encerrar los valores de los atributos en comillas

• Todos los elementos deben abrirse y cerrarse

• Hay que cerrar los tags vacíos también

• Todos los atributos necesitan un valor

• Encode todos los símbolos <, >, &

• No usar guiones dobles dentro de los comentarios

Page 3: xHTML 1.0  Basics

xHTML 1.0Abrir documento con DOCTYPE correcto

Los archivos xHTML comienzan con varios elementos que le dice a los browsers cómo interpretarlos y le dice a los validators cómo probar que están correctos.

El primer elemento de estos es el DOCTYPE (Document Type Declaration o DTD) el cual le dice a los validators que versión de HTML estamos usando.Los DOCTYPES le permiten a los diseñadores web crear diferentes tipos de documentos atados a diferentes sets de reglas. Las reglas de cómo se despliega el documento va a depender de la especificación de HTML creada por el W3C. La información proporcionada por el DOCTYPE le va a proporcionar a los browsers, la información de cómo fue construido el documento, por lo tanto, cómo deben desplegarlo. Los documentos HTML no van a validar al menos de que contengan un DOCTYPE.

Page 4: xHTML 1.0  Basics

xHTML 1.0Abrir documento con DOCTYPE correcto

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Page 5: xHTML 1.0  Basics

xHTML 1.0Abrir documento con DOCTYPE correcto

HTML 4.01 Transitional - Ingles<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">xHTML 1.0 Transitional - Ingles<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Page 6: xHTML 1.0  Basics

xHTML 1.0Abrir documento con DOCTYPE correcto

En el caso de xHTML 1.0, existen tres opciones de DTD y por lo tanto tres DOCTYPES posibles:Transitional:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">Strict:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">Frameset:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Page 7: xHTML 1.0  Basics

xHTML 1.0Abrir documento con DOCTYPE correcto

El problema es que si usamos un DOCTYPE incorrecto, o no lo usamos; los browsers cambian a lo que se llama "Quirks" mode, lo que significa que el browser asume que escribimos nuestro HTML a la antigua y trata de corregir los errores más comunes del pasado (elementos sin tag de cerrar, etc). Esto hace imposible que despliegue la página correctamente usando los estándares web, quienes tienen reglas mucho más estrictas.

Page 8: xHTML 1.0  Basics

xHTML 1.0Namespace

El namespace en XML es una colección de tipos de elementos y nombres de atributos asociados a un DTD específico.

Las declaraciones DTD permiten identificar al namespace apuntando a su localización online.

Los otros dos atributos son el idioma del documento y la especificación que el XML también fue escrito en ese idioma (ingles).

Page 9: xHTML 1.0  Basics

xHTML 1.0Namespace

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

Page 10: xHTML 1.0  Basics

xHTML 1.0Namespace

En muchas ocasiones, he visto que omiten el idioma y simplemente apuntan al namespace.<html

xmlns="http://www.w3.org/1999/xhtml">

Page 11: xHTML 1.0  Basics

xHTML 1.0Declarar el Content Type o Charset

Para poder ser interpretados correctamente por los browsers y para que los documentos puedan ser validados, deben llevar el tipo de character encoding que se ha usado en el mismo.El character set default de los documentos en HTML (HTML 4.01 y xHTML; incluso, XML) es Unicode. Unicode fue desarrollado por el Unicode Consortium y es un set de caracteres que provee un número único para cada caracter, "no matter what the platform, no matter what the program, no matter what the language". Ahora, este set de caracteres no contiene todos los caracteres que necesitamos en idiomas como español, griego, etc.

Page 12: xHTML 1.0  Basics

xHTML 1.0Declarar el Content Type o Charset

También podemos usar el ISO 8859-1, conocido como Latin-1. Este es un set de caracteres que incluyen caracteres de Europa del Este, Turkía, Grecia, Hebreo, etc. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Page 13: xHTML 1.0  Basics

xHTML 1.0Declarar el Content Type o Charset

UTF-8

UTF-8 permite agregar caracteres latinos directo en el documento y que puedan ser interpretados correctamente por el browser. Por ejemplo tíldes y eñes.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Page 14: xHTML 1.0  Basics

xHTML 1.0Language

La especificación de xHTML nos dice que debemos especificar el idioma en que está el contenido de nuestro documento. Esto lo podemos hacer por medio de un META TAG (ingles de Estados Unidos):<meta http-equiv="Content-Language" content="en-us" />

Page 15: xHTML 1.0  Basics

xHTML 1.0Language

En el caso de español, sería:<meta http-equiv="Content-Language" content="es" />

Page 16: xHTML 1.0  Basics

xHTML 1.0Elementos en Minúscula

<p>Este es mi <strong>párrafo</strong>.</p>

Page 17: xHTML 1.0  Basics

xHTML 1.0Atributos dentro de comillas

<p align=”left”>¡Hola!</p>

Page 18: xHTML 1.0  Basics

xHTML 1.0Elementos deben abrirse y cerrarse

correctamente

<p>Este es mi <strong>párrafo</strong>.

Mi libro favorito es <em>Neuromancer</em>

por <big>William Gibson</big>.</p>

Page 19: xHTML 1.0  Basics

xHTML 1.0Cerrar Tags Vacíos

<img src=”foto.jpg” />

Page 20: xHTML 1.0  Basics

xHTML 1.0Cerrar Tags Vacíos

<meta name=”description” value=”Mi super site” />

Page 21: xHTML 1.0  Basics

xHTML 1.0Cerrar Tags Vacíos

<input type=”text” name=”nombre” />

Page 22: xHTML 1.0  Basics

xHTML 1.0Todos los atributos necesitan un valor

<select name=”pais” selected=”selected”>

Panamá .

</select> .

Page 23: xHTML 1.0  Basics

xHTML 1.0Encode special characters

Smith &amp; Wesson

Page 24: xHTML 1.0  Basics

xHTML 1.0No usar guiones dentro de los comentarios

Mal:

<!-- ---- Contenido ----- -->

Page 25: xHTML 1.0  Basics

xHTML 1.0No usar guiones dentro de los comentarios

Bien:

<!-- Comienza el contenido -->

Page 26: xHTML 1.0  Basics

xHTML 1.0Tipos de elementos

• Block Elements

• Inline Elements

Page 27: xHTML 1.0  Basics

xHTML 1.0Block Element

• Como P, H1, DIV

• Genera nuevas líneas antes y después de su recuadro en el normal flow del documento

• Se acomodan verticalmente, uno debajo del anterior

• Un block element puede tener como hijos y descendientes a otros block elements y a inline elements

Page 28: xHTML 1.0  Basics

xHTML 1.0Inline element

• Como STRONG, EM, SPAN

• No generan nuevas líneas antes y después de su contenido

• Son descendientes de un block element

• Un inline element sólo puede tener como hijos y descendientes a otros inline elements

• No es posible que un inline element tenga como hijo o descendiente a un block element

Page 29: xHTML 1.0  Basics

xHTML 1.0Validar

La W3C ofrece un servicio online que revisa todo el documento HTML (dependiendo de la versión), y nos dice si está creado correctamente o tiene errores.

Esto es de gran ayuda, ya que podemos haber tenido errores, ya sea al momento de typear, errores en la forma de utilizar elementos HTML, elementos sin su tag de cierre, etc.

Validar el documento HTML siempre es una buena práctica, ya que nos asegura que nuestro trabajo está bien y podemos seguir adelante (ya sea implementando el template, creando el CSS, o creando el template de algún CMS con el código HTML que generamos).

Si el código está incorrecto desde el comienzo, y no lo descubrimos, puede traernos problemas sobre la marcha cuando otros elementos formen parte del sitio web (todo el contenido, el CSS, un CMS, programación backend, etc).

Page 30: xHTML 1.0  Basics

xHTML 1.0Validar

Muchos diseñadores toman la validación correcta de su sitio como un emblema o trofeo que despliegan en los pie de página de sus sitios o blogs. En el caso de sitios web comerciales, esto es innecesario y muchas veces confundiría al usuario final, quien no comprende qué significan las siglas xHTML, CSS, etc.

Page 31: xHTML 1.0  Basics

xHTML 1.0Validar

W3C HTML Validator

http://validator.w3.org/

Page 32: xHTML 1.0  Basics

Bibliografía

CSS: The Definitive Guide

Amazon: http://tinyurl.com/5hs7jf

Eric Meyer

Page 33: xHTML 1.0  Basics

Bibliografía

xHTML 1.0 Specification

http://www.w3.org/TR/xhtml1/

World Wide Web Consortium

Page 34: xHTML 1.0  Basics

Bibliografía

CSS 2.1 Specification

http://www.w3.org/TR/CSS21/

World Wide Web Consortium