XHTML Lenguaje de Marcas HiperTexto Extensible

Download Report

Transcript XHTML Lenguaje de Marcas HiperTexto Extensible

XHTML
Lenguaje de Marcas HiperTexto
Extensible
Departamento de Ingeniería Telemática
Universidad Carlos III de Madrid
Jesús Arias Fisteus
Índice
• Introducción
• XHTML 1.0
– Estructura documento
– Tipos de documentos
• XHTML 1.1
• XHTML Basic
¿Qué es XHTML?
– eXtensible HyperText Markup Language
• Es una combinación de HTML y XML
– Una familia de tipos de documentos (XML)
y de módulos que reproducen, reducen y
extienden HTML 4, representables en un
agente de usuario de XML.
– Tipos de documentos actuales del W3C:
• XHTML 1.0 (strict, frameset y transitional)
• XHTML 1.1
• XHTML Basic
¿por qué XHTML?
• XML
– es un lenguaje de marcado – produce documentos bien
formados
– Se diseñó para describir datos
• HTML
– Soporta documentos mal formados
– Diseñado para mostrar datos
• Existen buscadores de internet para PCs y
dispositivos limitados
• No tienen la potencia y recursos para interpretar
documentos mal formados
• Combinación de ambos lenguajes –XHTML
Familia de documentos XHTML
XHTML 1.1
XHTML Basic
Modularización
XHTML 1.0 Transitional XHTML 1.0 Strict XHTML 1.0 Frameset
XML
HTML 4 Transitional
SGML
HTML 4 Strict
HTML 4 Frameset
XHTML 1.0
– Reformulación de HTML en XML
– Mantiene la semántica de HTML, cambia
la sintaxis
– Tres tipos de documentos: strict, frameset
y transitional
– Compatible con aplicaciones XML y con
navegadores HTML 4
Diferencias XHTML 1.0 / HTML 4
– Los documentos deben estar bien formados:
• Elementos correctamente anidados
• Cada elemento no vacío debe tener marca de
finalización
• Los elementos de contenido vacío deben tener o
marca de finalización o marca de elemento vacío
• Los valores de los atributos deben estar
entrecomillados siempre
• No se permite la minimización de atributos
Diferencias XHTML 1.0 / HTML 4
– Otras diferencias:
• Nombres de elementos y atributos en minúsculas
• Gestión de espacios en blanco en el valor de
atributos
• Elementos script y style: uso de secciones
CDATA
• No hay exclusiones de SGML
• Atributos id y name en algunos elementos
Diferencias XHTML 1.0 / HTML 4
<HTML>
<HEAD>
<TITLE>Ejemplo</TITLE>
</HEAD>
<BODY>
<P> Ejemplo de conversión
<BR> con salto de línea.
<P> Segundo párrafo
<IMG SRC=“imagen.gif”
alt=“1” >
</BODY>
</HTML>
<?xml version=“1.0”?>
<!DOCTYPE xhtml PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN”
"DTD/xhtml1-strict.dtd">
<html
xmlns=“http://www.w3.org/1999/xhtml>
<head>
<title>Ejemplo</title>
</head>
<body>
<p> Ejemplo de conversión
<br/> con salto de línea. </p>
<p> Segundo párrafo </p>
<img src=“imagen.gif” alt=“1”/>
</body>
</html>
Diferencias XHTML 1.0 / HTML 4
<script type=“text/javascript”>
function y(x){return 2&x}
</script>
<table border=1>
<dl compact>
<p>párrafo <em>resaltado</p></em>
<script type=“text/javascript”>
<![CDATA[function y(x){return 2&x}]]>
</script>
<table border=“1”>
<dl compact=“compact”>
<p>párrafo <em>resaltado</em></p>
Estructura del documento
•
•
XHTML Standard define un árbol de tipos del documento
Hay tres tipos soportados:
– Script
– Transactional más común
– Frameworks
•
Estructura del documento
– the DOCTYPE (obligatorio)
– the Head
– the Body
•
Estructura básica
<!DOCTYPE ...>
<html>
<head>
<title>... </title>
</head> <body>
...
</body> </html>
Tipos de documentos
• Doctype define el tipo de documento:
• XHTML 1.0 Script (hojas de estilo en cascada)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.it.uc3m.es/prof/xhtml1/DTD/xhtml1-strict.dtd">
• XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.it.uc3m.es/prof/xhtml1/DTD/xhtml1-transitional.dtd">
• Aprovechar las ventajas de presentación de HTML y
emplear buscadores que no soportan hojas de estilo
en cascada
• XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.it.uc3m.es/prof/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.0 Strict
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
<title>Virtual Library</title>
</head>
<body>
<p>Moved to
<a href="http://vlib.org/">vlib.org</a>.
</p>
</body>
</html>
XHTML 1.0 Transitional
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
<title>Virtual Library</title>
</head>
<body>
<p>Moved to
<a href="http://vlib.org/">vlib.org</a>.
</p>
</body>
</html>
XHTML 1.0 Frameset
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
<title>Virtual Library</title>
</head>
<frameset>
<frame src=“me.html” />
<frame src=“you.html” />
</frameset>
</html>
Modularización de XHTML
– Descomposición de XHTML en un conjunto de
módulos abstractos que proporcionan tipos
específicos de funcionalidad.
– Implementable con DTDs y XML Schemas
– Los módulos pueden ser combinados entre sí, y
con nuevos módulos, para dar lugar a
subconjuntos o extensiones de XHTML
– Especifica cómo un desarrollador puede definir
nuevos módulos
Modularización: ventajas
– Difusión del mismo contenido en diversas
plataformas (PC, teléfono, PDA, TV, etc.)
– Definición de tipos de documento híbridos
con otros tipos de documento XML (SVG,
SMIL, MathML, etc.)
– Utilización de módulos abstractos
– Facilidad para diseñar nuevos módulos
para aplicaciones específicas
Módulos de XHTML
– Módulos del núcleo:
•
•
•
•
Estructura
Texto
Hipertexto
Listas
– Módulos de extensión de texto:
• Presentación
• Edición
• Texto bidireccional
Módulos de XHTML
– Módulos de formularios:
• Formularios básicos
• Formularios
– Módulos de tablas:
• Tablas básicas
• Tablas
– Otros:
• Imágenes
• Mapas de imágenes (cliente)
Módulos de XHTML
•
•
•
•
•
•
•
•
•
•
Mapas de imágenes (servidor)
Objetos
Marcos (frames)
Target
Iframe
Eventos intrínsecos
Metainformación
Scripts
Hojas de estilo
Atributo de estilo
Módulos de XHTML
• Link
• Base
– Módulos obsoletos:
• Applet
• Nombrado
• Legacy
XHTML 1.1
– Reformulación de XHTML 1.0 Strict, en
términos del estándar de modularización
– Elimina toda la funcionalidad obsoleta
presente en XHTML 1.0 y HTML 4
– Base sólida para futuros tipos de
documento XHTML
XHTML 1.1: módulos
–
–
–
–
–
–
–
–
–
–
–
Estructura
Texto
Hipertexto
Listas
Object
Presentación
Edición
Texto bidireccional
Formularios
Tablas
–
–
–
–
–
–
–
–
–
–
Imágenes
Mapas de imagen
(C)
Mapas de imagen
(S)
Eventos intrínsecos
Metainformación
Scripts
Hojas de estilo
Atributo de estilo (*)
Link
Base
Anotaciones Ruby
XHTML Basic
– Subconjunto de XHTML
– XHTML es apto para pequeños dispositivos
• HTML 4 es demasiado complejo: diseñado
para ordenadores potentes
• Estándar común frente a otras alternativas y
subconjuntos no compatibles de HTML:
CHTML, WML, etc.
– Suficiente rico para la creación de contenido
básico
– Extensible con módulos a las características de
cada tipo de dispositivo
XHTML Basic: módulos
–
–
–
–
–
–
–
–
–
–
–
Estructura
Texto
Hipertexto
Listas
Formularios básicos
Tablas básicas
Imágenes
Object
Metainformación
Link
Base
XHTML Basic no incluye...
– Hojas de estilo con <style>: debe utilizarse
<link>
– Scripts y eventos
– Módulo de presentación
– Formularios complejos
– Tablas complejas
– Frames
Otros tipos de documento:
•
•
•
•
•
XHTML+MathML
XHTML1.0+MathML2.0+SVG1.1 (draft)
XHTML+SMIL
DVB-HTML
WML2.0
XHTML1.0+MathML2.0+SVG1.1
– Permite integrar en un único documento, y
con un único DTD etiquetas de los tres
tipos de documentos:
• Anidadas en cualquier profundidad
• Se pueden anidar en XHTML dentro de BODY
• Se pueden anidar en SVG en foreignObject
XHTML1.0+MathML2.0+SVG1.1
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN”
"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>XHTML as the host language</title>
</head>
<body> ... XHTML content ...
<math xmlns="http://www.w3.org/1998/Math/MathML">
... MathML content ...
</math>
... XHTML content ...
<svg:svg version="1.1" xmlns="http://www.w3.org/2000/svg”>
... SVG content ...
</svg:svg>
</body>
</html>
Futuro... XHTML 2.0
– Reutilización de facilidades de XML
– Menos presentación, más estructura
– Más accesibilidad
– Menos scripts
– Más utilizable
– Más independiente del dispositivo
Eventos en XHTML
– El W3C está en proceso de
estandarización de XML-Events:
• Permite especificar y capturar eventos DOM 2
• Para cualquier tipo de documento XML
• Sustituto a los eventos de HTML:
–
–
–
–
Independientes del dispositivo
Independientes del lenguaje de script
Se pueden separar del documento
Conjunto de eventos extensible
<a onClick="...javascript..." ...>
<a ev:event="activate"
ev:handler="#myhandler" ...>
Editores/Navegadores XHTML
– Amaya (gratuito)
Referencias
• World Wide Web Consortium (W3C):
– http://www.w3.org