Publicado el 22 de Agosto del 2018
750 visualizaciones desde el 22 de Agosto del 2018
446,3 KB
27 paginas
Creado hace 17a (17/10/2007)
Lenguaje XML
Departamento de Informática
Universidad de Oviedo
World Wide Web
Características
WWW = Mayor almacen de información jamás recopilado por la
humanidad
Características
Grandes cantidades de información sobre cualquier asunto
Acceso casi instantáneo desde cualquier lugar con conexión a
Internet
Sistema no centralizado ⇒ Cualquier persona puede añadir más
información
Plataforma Multimedia (Texto, Imágenes, Vídeo, etc.)
Identificación de recursos unificada (URIs)
1
World Wide Web
Grandes Retos
Integración de aplicaciones
Búsqueda de lenguajes comunes: Estandarización
Interoperabilidad y computación ubicua
Modelos Orientados a Servicios
Automatización de tareas
Representaciones comprensibles por las máquinas
Creación de agentes autónomos
Accesibilidad
Acceso universal
Atención a todos los usuarios: discapacidades, entornos diferentes, etc.
Datos
Datos
Docum.
auto-
descrito
Lógica
Ontologías
RDF + RDF Schema
XML + Namespaces + XML Schema
Unicode
URI
World Wide Web
Arquitectura propuesta
Reglas
Confianza
Demostración
s
e
l
a
t
i
g
d
s
a
m
i
r
i
F
2
Representación de Información
Bits, bytes, números, caracteres, ...
Los ordenadores manejan código binario: 0s y 1s
Bytes: Grupos de 8 bits
Números: Sistemas de codificación binaria, octal, hexadecimal...
Caracteres: Código que asocia a cada carácter un nº
ASCII: 7 bits ⇒ (0 – 127)
(A)merican (S)tandard (C)ode for (I)nformation (I)nterchange
Extensiones de ASCII
ISO-8859-1 (iso-latin-1)
(8 bits) ASCII (0-127) + otros caracteres típicos de Europa occidental
Familia ISO-8859-X = Otros alfabetos europeos
ISO-8859-15 (iso-latin-9) Igual que iso-8859-1 + símbolo de €
¡CUIDADO! ...hay muchos idiomas y muchos caracteres...
ℜ € き ㄝ ㌟ ㉃ ⋐ ∀ ℵ ₤ ウ ぼ
Unicode
ISO-10646 (31 bits) Define un repertorio universal de caracteres (UCS)
En continua revisión: ISO-10646-2:2001 contiene más de 70.000 caracteres
UNICODE = Consorcio de empresas que define restricciones sobre la
implementación de ISO-10646
Varias codificaciones (UTF = Unicode Transformation Format)
- UTF-8: Los primeros 127 códigos se presentan igual (compatible con ASCII)
El resto se codifican en longitud variable
Relativamente Eficiente
- UTF-16: Usa 16bits para los caracteres más comunes, el resto con pares de 16
bits
- UTF-32: Codificación directa en 32 bits (desperdicio de espacio)
Se distingue entre:
Carácter: Entidad abstracta (Letra A)
Glifo (Glyph): Representación del carácter A A A A A A
Fuente (Font): Conjunto de glyphs, ejemplo: Times Roman, Arial, etc.
3
Información multimedia
Imágenes: En pantalla = matriz de puntos de colores (pixels)
Formatos Raster (Raw): Se enumeran todos los puntos con sus
colores
Ejemplo: Bitmap, TIFF
Compresión: diversos algoritmos de compresión
GIF: Utiliza 8 bits (hasta 256 colores)
Byte de color = Indice en la paleta de colores
JPEG: utiliza 24 bits (hasta 16 millones de colores)
Vectorial: Se enumeran las instrucciones de dibujo
Ejemplos: DXF, SVG (estándar de Internet)
Sonido: Formatos raster (WAV) y comprimidos (MP3)
Vídeo: Formatos comprimidos (MPEG)
Realidad Virtual: Lenguaje de Modelado (VRML, X3D)
Identificación Recursos
URI: (Uniform resource Indentifier) Identifica un recurso de forma global
Puede sub-clasificarse en:
URL (Uniform resource locator)
Además de identificar el recurso, indica cómo llegar hasta él
esquema: //servidor:puerto /ruta?datosGET
http://www.uniovi.es:8080/prueba/carrito?action=print
URN (Uniform resource name): Nombre de recurso
Ejemplo: urn:xmlorg:objects:schema:xmlschema:xcatalog
IRIs (Internationalized Resource Identifiers)
permiten utilizar caracteres Unicode en los identificadores
URLs
URNs
URIs
4
Lenguaje XML
Orígenes de XML
Marcado de documentos
Orígenes: Industria de la Publicación
Uso de marcas = indica cómo componer documento para impresión
Ejemplo de corrección tipográfica
Fuente: http://recursos.cnice.mec.es/bancoimagenes
5
Marcado de documentos
Sólo texto
ALBA Abril de 1915 Granada Mi corazón oprimido
siente junto a la alborada el dolor de sus
amores y el sueño de las distancias.
Texto marcado
]ALBA[ ← Título, negrita, centrado, 14pt
]Abril de 1915[← SubTítulo, negrita, centrado
]Granada[← SubTítulo cursiva, centrado
]Mi corazón oprimido [← Verso, 10pt
]siente junto a la alborada [← Verso
]el dolor de sus amores [← Verso
]y el sueño de las distancias. [← Verso
Resultado
ALBA
Abril de 1915
Granada
Mi corazón oprimido
siente junto a la alborada
el dolor de sus amores
y el sueño de las distancias.
Marcado Descriptivo
El marcado no es la información que contiene el documento
Marcado = información acerca del documento = meta-información
Lenguajes de Marcado descriptivo: Incluyen marcas que describen cómo
procesar el documento
Ejemplo: HTML
<html>
<head><title>Poema</title></head>
<body lang=“es”>
<h1>Alba</h1>
<h2>Abril de 1915 </h2>
<h2><i>Granada</i></h2>
<p>Mi corazón oprimido</p>
<p>siente junto a la alborada</p>
<p>el dolor de sus amores</p>
<p>y el sueño de las distancias. </p>
</body>
</html>
6
Marcado Generalizado
Marcado generalizado = Sintaxis común que facilita la creación de
lenguajes descriptivos
HTML
<html>
<head><title>Poema</title></head>
<body lang=“es”>
<h1>Alba</h1>
<h2>Abril de 1915 </h2>
<h2><i>Granada</i></h2>
<p>Mi corazón oprimido</p>
<p>siente junto a la alborada</p>
<p>el dolor de sus amores</p>
<p>y el sueño de las distancias.</p>
</body>
</html>
Otras marcas...(misma sintaxis)
<poema fecha="Abril de 1915"
lugar="Granada">
<titulo>Alba</titulo>
<verso>Mi corazón oprimido</verso>
<verso>siente junto a la alborada</verso>
<verso>el dolor de sus amores</verso>
<verso>y el sueño de las distancias. </verso>
</poema>
Sintaxis común
<etiqueta atrib=“valor”>contenido
</etiqueta>
Marcado Generalizado
SGML
(70- ) GML desarrollado en IBM – Generalized Markup
Language (Goldfarb, Mosher, Lorie)
(86) SGML Standard Generalized Markup Language
(Estándar ISO)
Utilizado para el intercambio de documentos
Principio: Separar contenido de la forma de
representarlo
Muy flexible (permite definir vocabularios específicos
para cada aplicación)
HTML era un vocabulario de SGML
7
Marcado Generalizado
XML
Desarrollado por T. Bray, J. Paoli, C. M. Sperberg-McQueen (1995)
T. Bray: Consultor de Textuality para Netscape (ahora en Sun)
C. M. Sperberg-McQueen (TEI, SGML)
J. Paoli (Microsoft)
Objetivos:
Crear una versión simplificada de SGML para la Web
20% de características de SGML ⇔ 80% de funcionalidad de SGML
Detalle (Especificación de XML = 26 páginas, de SGML > 500
XML
<?xml version=“1.0” ?>
<!DOCTYPE raíz[
]>
…
<raíz>
…
</raíz>
<elemento>
</elemento>
Declaración de
XML
Declaración de
Tipo DTD
Opcional
Documento
8
Declaración de XML
<?xml version=“1.0”
encoding=“iso-8859-1”
standalone=“yes”?>
version: Actual = 1.0
También existe la versión 1.1
Mayor compatibilidad con Unicode
Identificadores: Permite cualquier carácter Unicode
encoding: UTF-8, UTF-16, iso-8859-1, etc.
standalone: Indica si se puede gestionar el documento sin
hacer uso de recursos externos
Documentos y elementos XML
Los documentos consisten en una serie de datos marcados
mediante etiquetas
Las etiquetas describen la estructura del documento
Un elemento = etiqueta inicial, etiqueta final y contenido entre
ambas.
La etiqueta inicial puede incluir atributos.
<etiqueta attributo=“valor”>……</etiqueta>
Distinción
minúsculas/mayúsculas
9
Documentos XML
Elementos vacíos
Elementos vacío: elementos que no incluyen información
Habitualmente, incluyen atributos
Ejemplo:
<img src=“foto.jpg” alt=“Foto de Paisaje” ></img>
Sintaxis abreviada:
<etiqueta attributo=“valor”></etiqueta>
<etiqueta atributo=“valor”/>
⇓
Anidamiento
Se pueden anidar elementos
<externo>
</externo>
<interno>texto</interno>
...pero no se pueden entrelazar:
<externo>
</interno>
<interno>texto</externo>
☺
10
Árbol del documento XML
Sólo puede haber un único elemento raíz
Cualquier documento puede representarse como un árbol
título
título
“Alba”
<poema fecha="Abril de 1915"
lugar="Granada">
<titulo>Alba</titulo>
<verso>Mi corazón oprimido</verso>
<verso>siente junto a la alborada</verso>
<verso>el dolor de sus amores</verso>
<verso>y el sueño de las distancias. </verso>
</poema>
poema
poema
verso
verso
verso
verso
verso
verso
verso
verso
fecha
fecha
lugar
lugar
“Mi corazón oprimido”
“siente junto a la …”
“el dolor de sus …”
“y el sueño de las…”
“Abril de 1915”
“Granada”
Árbol del documento
Cualquier documento XML puede representarse como un árbol
Los documentos HTML también
Ejercicio: Dibujar el árbol del siguiente documento HTML
<html>
<head>
<title>Pagina</title></head>
<body>
<h1>Ejemplo</h1>
<p>Este párrafo tiene un
<a href="http://www.uniovi.es">enlace</a>
y un texto <em>enfatizado</em></p>
</body>
</html>
11
El árbol DOM puede manipularse dinámicamente
DOM
<html>
<head><title>Prueba</title>
<script type="text/javascript"><!--
function clona() {
var raiz=document.documentElement;
var cuerpo=raiz.getElementsByTagName("body")[0];
var texto=cuerpo.firstChild;
var textoNuevo=texto.cloneNode(true);
cuerpo.appendChild(textoNuevo);
}
--></script>
</head>
<body>
Hola
<input type="button" name="Clona" value="Saluda!" onclick="clona();" />
</body>
</html>
http://www.di.uniovi.es/~labra/cursos/XML/ejemplos/cambiaDOM.html
Atributos
Cada elemento puede contener atributos en la etiqueta inicial
<poema fecha=“Abril de 1915” lugar=“Granada”>
. . .
</poema>
El orden de los atributos no es significativo
No puede haber 2 atributos con el mismo nombre
Las comillas dobles y simples pueden mezclarse
<autor frase=“Juan dijo ‘Hola’ ”>
. . .
</autor>
<autor frase=‘Juan dijo “Hola” ’>
. . .
</autor>
12
Atributos predefinidos
xml:lang: Especifica el idioma.
Por ejemplo: en (inglés), sp (español)
xml:space: Especifica cómo tratar el espacio en blanco.
preserve = Mantene
Comentarios de: Lenguaje XML (0)
No hay comentarios