This course will become read-only in the near future. Tell us at community.p2pu.org if that is a problem.

3. Estructura XHTML


En este apartado vamos a ver cual sería la estructura de cualquier página web. Hasta ahora quiza esten siendo un poco aburridos, pero no se preocupen que ya mismo llega la práctica. Los elementos que componen nuestra pagina web son:

  • El tipo de documento o Doctype

 

Doctype XHTML 1.0 con carácter estricto

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

Doctype XHTML 1.0 con carácter transitional

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

Doctype XHTML 1.0 con carácter definición de Marcos

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

Doctype XHTML 1.1

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


Además de todos estos doctype que hemos mostrado existen muchos mas dependiendo del lenguaje de marcado que utilicemos y su versión. Esto nos sirve para definir previamente el tipo de código que contiene la página.

  • Establecer que nuestro documento es xhtml y su lenguaje


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

  • La cabecera

 

<head>
<title>El título de nuestra página</title>
</head>

  • El cuerpo


<body>
Esto es nuestra página, aqui se pone lo que queramos que se vea.
</body>

  • Todo esto quedaría de la siguiente forma

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>El título de nuestra página</title>
</head>

<body>
Esto es nuestra página, aqui se pone lo que queramos que se vea.
</body>

</html>

Task Discussion


  • oscar   April 27, 2012, 2:14 a.m.

     

     

    Oye amigo una pregunta...ya me kedo claro los diferentes tipos de doctype, pero, tengo una duda, puedo incluir mas de 2 tipos de DOCTYPE en un archivo.... es decir,
     
    Puedo incluir uno para creacion de marcos y tambien que éste sea de caracter estricto ???
    ó
    Puedo incluir un doctype de xhtml y uno de html(no sabia que tambien habia doctype's para html, gracias por la info).
     
    Si?
    No?
    Porque ?
  • jose francisco   April 27, 2012, 1:53 p.m.
    In Reply To:   oscar   April 27, 2012, 2:14 a.m.

    Sobre lo de utilizar dos doctype no creo que se pueda, si observas el html y xhtml son muy parecidos, las etiquetas son casi iguales, en lo que radica su diferencia es en las normas de utilización de estas, que el xhtml es mucho más estricto.

    El html también tiene sus doctype y como veas seguidamente son iguales que los de xhtml, con carácter estricto, transitional y frameset:

    • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

    y aqui el de html5 que sera la nueva recomentación que sacara el W3C, ahora mismo en desarrollo:

    • <!DOCTYPE html>

    La razón por la que no hace falta utilizar dos doctype es, por ejemplo el frameset, lo único que hace es coger el transitional y añadirle los frames, con lo que estas utilizando el de antes más completo. Y la diferencia entre el estricto y el transitional es que el estricto utiliza las normas al pie de la letra y no contiene nada que no sea contenido en la página, lo coloca todo en las css y el transitional nos da más libertad.

    El determinar un doctype que se adapte a nuestra página es muy importante hoy en día en la web semántica.

    • Los validadores utilizan esta sentencia para determinar el lenguaje y versión para poder comprobarlo.
    • Los navegadores también lo utlizan para comprobar si el documento esta bien codificado, utilizan un modo conocido como "modo de estándares" para maquetar la página. En este modo, los navegadores iententan mostrar la página tal y como la ha especificado en la scss el autor, se fían de que la persona que la ha creado sabía lo que estaba haciendo. Por otra parte, si se encuentra un doctype anticuado o incompleto, utilizan el modo Quirks (peculiaridades), que es más complatible con las prácticas y los navegadores antiguos. Este modo presupone que el documento es antiguo o que no se ha creado teniendo en cuenta los estandares de la web, esta se mostrara, pero se necesitará más potenica de procesamiento para hacerlo y el muy probale que el resultado sea algo extraño, nada parecido a lo que se esperaba.

    En definitiva hay que incluir siempre uno de los doctypes dentro de todos nuestros documentos HTML. Esto garantizará que los validadores sepan la versión de HTML o XHTML que utilizamos y asi podrán informar correctametne de cualquier error que hayáis cometido. También grantizará que todos los navegadores más nuevos utilizarán su modo de estándares, con lo que obtendráis unos resulados más uniformes cuando diseñéis el documento con el css.

    Espero te haya podido ayudar a aclarar tus dudas. Un saludo.

  • oscar   April 28, 2012, 1:05 a.m.
    In Reply To:   jose francisco   April 27, 2012, 1:53 p.m.

    Te agradesco, pues me quedo claro en un 95%(soy un poco lento en comprender) , pero si, ya capte. Muchas gracias. Buen dia

  • jose francisco   May 2, 2012, 2:54 p.m.
    In Reply To:   oscar   April 28, 2012, 1:05 a.m.

    gracias

  • Yob   April 18, 2012, 10:03 a.m.

    Yo siempre veia esas codigos raros que siempre generaba dreamweaver por defaul en la parte de arriba de la pagina y asi lo dejaba... ahora entiendo el significado!

    Pero me queda la duda de la diferencia entre HTML y XHTML, aparentemente son lo mismo, además, algunas paginas vienen bajo la extensión .htm y .html y de hecho, si tu mandas llamar una pagina cuando haces un vinculo bajo la extensión .html pero viene como .htm, simplemente no lo encuentra...

    ¿A que se deben entonces estas diferencias?.

  • jose francisco   April 18, 2012, 11:28 a.m.
    In Reply To:   Yob   April 18, 2012, 10:03 a.m.

    Voy a intentar explicarte a rasgos generales las diferencias entre el html y xhtml.

    Si lo miramos en función de sus normas de utilización nos encontramos con dos lenguajes, el html que otorgaba una gran libertad de uso de sus normas, no había que cerrar todas las etiquetas, ya que se cerraban cuando se abrian otras del mismo nombre, se utilizaba las minusculas y las mayusculas indistintamente para crear las etiquetas, etc...

    y el xml que era un lenguaje estricto en lo que a su forma de utilización y normas. Como un lenguaje de programación. 

    Lo que ha echo el xhtml es coger el html como lenguaje de marcado y las normas y formas de utilización estrictas del xml. Ha utilizado las propiedades estucturales y restricciones de uso del xml y se lo ha acoplado al html. 

    Lo que se busca con el paso del tiempo es un lenguaje estructurado, con una serie de reglas. Ahora todas las etiquetas se tienen que cerrar, en las etiquetas solo utilizamos minusculas, etc...

    Sobre lo de las extensiones finales, pues no te se responder cuando utilizar una u otra. Antiguamente se encontraba más la primera htm. Ahora yo creo que html. Yo utilizo siempre html. 

    Sobre que no te las encuentre es normal, no es lo mismo htm que html. Al faltarle la l el nombre de la pagina cambia.

    Espero pueda haber aclarado tus dudas

  • Yob   April 19, 2012, 9:36 a.m.
    In Reply To:   jose francisco   April 18, 2012, 11:28 a.m.

    entonces xhtml es un metodo no un lenguaje en si, el html no ha desaparecido, de hecho se sigue hablando de "HTML" y rara vez se oye de "XHTML" a pesar de que es el que se usa en la practica... es mas, tanto asi que hasta se sigue conservando la misma extension " .html" en vez de " .xhtml".

    Imagino que es por motivos de estandarizacion que surgio este metodo xhtml (ya que hoy en dia hay tanto navegador y OS, por lo tanto es necesario que haya regularizacion).

    Lo de la extensión htm y html queda claro, el mismo caso he visto con el jpeg, tambien suele causar problemas, pero parece que la version moderna y estantar es "jpg"

  • jose francisco   April 20, 2012, 9:41 a.m.
    In Reply To:   Yob   April 19, 2012, 9:36 a.m.

    El xhtml no es que sea un método de html, sino más biern una nueva versión que como adopto las carácteristicas estrictas de xml, supongo que por eso le pusieron xhtml en vez de html5.

    Ahora la nueva versión que estan sacando si tiene el nombre de html5.

  • Gonzalo   April 17, 2012, 1:17 p.m.

    Si no es mucha molestia,  me podria dar un ejemplo o explicarme  cuando usar uno de los diferentes Doctype, ya  que no me quedo muy claro cuando y porque usar uno en particular por ejemplo, donde escribiste todo el código html completo usaste: Doctype XHTML 1.0 con carácter estricto..

    Gracias!!

  • jose francisco   April 17, 2012, 1:36 p.m.
    In Reply To:   Gonzalo   April 17, 2012, 1:17 p.m.

    El elemento Doctype lo que nos muestra es:

    • el nombre del lenguaje de marcado XHTML
    • la versión del lenguaje de marcado 1.0
    • el carácter del lenguaje de marcado Strict/Transicional/Frameset
    • y el idioma en que esta escrita la definición de ese lenguaje de marcado EN.

     

    Lo que tu me estas preguntando es el carácter, las diferencias que existen entre uno u otro son:

    • Con carácter estricto indicamos que vamos a utilizar de forma estricta todas las especificaciones de la versión del lenguaje que estamos utilizando.
    • Con carácter transicional, significa que vamos a contemplar también el uso de algunas especificaciones de versiones anteriores. Nos da más libertad a la hora de escribir el código.
    • Con definición de marcos, es si vamos a utilizar marcos para crear nuestra página web. 

     

    Pero también ten en cuenta que solo he puesto los Doctypes de las versiones xhtml, también hay para las distintas versiones de html. Lo único es escoger el que mejor se adapte a nuestras necesidades. Yo recomiendo Xhtml 1.0 con carácter transicional, que en un principio nos da más libertad. 

    Espero haya aclarado tus dudas.

  • Gonzalo   April 17, 2012, 1:47 p.m.
    In Reply To:   jose francisco   April 17, 2012, 1:36 p.m.

    Muchas gracias amigo, si ya me quedo muy claro la diferencia de los Doctype. 

    Gracias!!!

  • jose francisco   April 17, 2012, 3:06 p.m.
    In Reply To:   Gonzalo   April 17, 2012, 1:47 p.m.

    de nada