Sunteți pe pagina 1din 29

Tecnologas XML y Web Semntica

Departamento de Informtica
Universidad de Oviedo

Antes de empezar
r
rende
is a ap

v
o
ero N
nto, p
Lo sie semana
en 1

ti c a
Semn
b
e
W
ML y
gas X
ecnolo

Objetivo: Conocer las tecnologas y para qu sirven

ndice
Repaso de conceptos
Internet
Unicode
URIs

Lenguaje XML
Documentos bien formados
Documentos vlidos: DTDs

Vocabularios XML
XHTML, MathML, SVG, SMIL, X3D, VoiceXML,

Internet
Evolucin
(60-80) Origen militar
Protocolos de comunicacin (TCP/IP)
Seguridad ante ataques (mltiples servidores)

(80 95) Implantacin acadmica


Protocolos de intercambio de informacin (FTP, SMTP, HTTP, ...)
Enorme biblioteca con material hipermedia

(95 00) Acceso comercial


Posibilidad de negocio Dinero!!
Boom comercial

(00 05) Crisis de las punto com


Historias de fracasos Lecciones aprendidas
Revisin de arquitecturas tradicionales

(05 ?) Nuevos retos


Mltiples dispositivos, Automatizacin de tareas, Acceso universal
Web 2.0?

Internet
Modem
ISP local
Router

ISP regional

Acceso particular

servidores

Telefona mvil

Acceso corporativo
wireless

Internet
Repaso de conceptos
IP (Internet Protocol) protocolo de intercambio de paquetes
Asigna direcciones globales nicas (32 bits)
IPv6: nueva versin propuesta (direcciones de 128 bits)

Host = nodo de la red (con direccin IP)


Cliente: Ordenador que solicita servicios
Servidor: Ordenador que propicia respuestas a los clientes
Adems de la direccin IP, el puerto (16bits) identifica el servicio
Varios puertos predefinidos (80 = HTTP, 25 = SMTP, 20/21 = FTP, etc.)

Protocolo TCP: Comunicacin entre nodos manteniendo una conexin.


En condiciones normales, todos los paquetes llegan
Servicio de transporte y control de congestiones
No se garantizan tiempos ni retardos mnimos
Se utiliza para transmitir correos, ficheros, etc.

Protocolo UDP (Datagrama) no se realiza una conexin


Pueden producirse prdidas de algunos paquetes
Utilizado para transmisin de voz

Internet
Principales Protocolos
HTTP: Protocolo de transferencia de hipertexto
Puerto 80
Utiliza TCP/IP como protocolo subyacente
No incluye estado (no se almacena informacin del cliente)
HTTP/1.1 proporciona conexiones persistentes

FTP: Transferencia de ficheros


Puertos 20/21
Mantiene estado

SMTP (simple mail transfer protocol)


Formato de mensajes mediante MIME
Protocolos de acceso (POP3, IMAP, etc.)

DNS: Asignacin de nombres de dominio


Otros: LDAP , NNTP, WebDAV, etc.

World Wide Web


Evolucin
Hipertexto (Ted Nelson, 1965)
Texto no secuencial, con enlaces

WWW (Tim Berners-Lee, 1989)


Protocolo HTTP (Hypertext transfer protocol)
Se basa en Internet
Arquitectura cliente/servidor

Lenguaje HTML (HyperText Markup Language)


Enlaces mediante URLs
Marcas
Smbolos extras que se aaden al texto ordinario
Modifican la representacin del texto por parte del explorador

World Wide Web: Red de ordenadores que se comunican mediante el


protocolo HTTP

World Wide Web


Arquitectura
Arquitectura cliente/servidor

Cliente

Protocolo
http

Servidor

Visualizador
GET http://servidor.com/hola.html

http:/1.0200
200OK
OK
http:/1.0
<html>
<html>
<body>
<body>
Enlaceaa
Enlace
<ahref
href=otro.html>Otro</a>
=otro.html>Otro</a>
<a
</body>
</body>
</html>
</html>

World Wide Web


Caractersticas
WWW = Mayor almacen de informacin jams recopilado por la
humanidad
Caractersticas
Grandes cantidades de informacin sobre cualquier asunto
Acceso casi instantneo desde cualquier lugar con conexin a
Internet
Sistema no centralizado Cualquier persona puede aadir ms
informacin
Plataforma Multimedia (Texto, Imgenes, Vdeo, etc.)
Identificacin de recursos unificada (URIs)

World Wide Web


Grandes Retos
Integracin de aplicaciones
Bsqueda de lenguajes comunes: Estandarizacin
Interoperabilidad y computacin ubicua
Modelos Orientados a Servicios

Automatizacin de tareas
Representaciones comprensibles por las mquinas
Creacin de agentes autnomos

Accesibilidad
Acceso universal
Atencin a todos los usuarios: discapacidades, entornos diferentes, etc.

World Wide Web


Arquitectura propuesta
Confianza

Reglas

Lgica
Datos
Docum.
autodescrito

Ontologas

Firmas digitales

Demostracin
Datos

RDF + RDF Schema


XML + Namespaces + XML Schema
Unicode

URI

Representacin de Informacin
Bits, bytes, nmeros, caracteres, ...
Los ordenadores manejan cdigo binario: 0s y 1s
Bytes: Grupos de 8 bits

Nmeros: Sistemas de codificacin binaria, octal, hexadecimal...


Caracteres: Cdigo que asocia a cada carcter 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 tpicos de Europa occidental
Familia ISO-8859-X = Otros alfabetos europeos
ISO-8859-15 (iso-latin-9) Igual que iso-8859-1 + smbolo de

omas y muchos caracteres...


CUIDADO! ...hay muchos idi

Unicode
ISO-10646 (31 bits) Define un repertorio universal de caracteres (UCS)
En continua revisin: ISO-10646-2:2001 contiene ms de 70.000 caracteres
UNICODE = Consorcio de empresas que define restricciones sobre la
implementacin de ISO-10646
Varias codificaciones (UTF = Unicode Transformation Format)
- UTF-8: Los primeros 127 cdigos se presentan igual (compatible con ASCII)
El resto se codifican en longitud variable
Relativamente Eficiente
- UTF-16: Usa 16bits para los caracteres ms comunes, el resto con pares de 16
bits
- UTF-32: Codificacin directa en 32 bits (desperdicio de espacio)

:
Se distingue entre
A)
abstracta (Letra
ad
AA A
tid
Carcter: En
carcter A A A
l
de
n
ci
ta
en
es
an, Arial, etc.
pr
Re
):
plo: Times Rom
Glifo (Glyph
em
ej
,
hs
yp
gl
de
njunto
Fuente (Font): Co

Informacin multimedia
Imgenes: En pantalla = matriz de puntos de colores (pixels)
Formatos Raster (Raw): Se enumeran todos los puntos con sus
colores
Ejemplo: Bitmap, TIFF

Compresin: diversos algoritmos de compresin


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 (estndar de Internet)

Sonido: Formatos raster (WAV) y comprimidos (MP3)


Vdeo: Formatos comprimidos (MPEG)
Realidad Virtual: Lenguaje de Modelado (VRML, X3D)

Identificacin Recursos
URI: (Uniform resource Indentifier) Identifica un recurso de forma global
Puede sub-clasificarse en:
URL (Uniform resource locator)
Adems de identificar el recurso, indica cmo 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
URLs

URNs
URIs

IRIs (Internationalized Resource Identifiers)


permiten utilizar caracteres Unicode en los identificadores

Lenguaje XML

Orgenes de XML
Marcado de documentos
Orgenes: Industria de la Publicacin
Uso de marcas = indica cmo componer documento para impresin

Ejemplo de correccin tipogrfica


Fuente: http://recursos.cnice.mec.es/bancoimagenes

Marcado de documentos
Slo texto
ALBA Abril de 1915 Granada Mi corazn oprimido
siente junto a la alborada el dolor de sus
amores y el sueo de las distancias.

Texto marcado
]ALBA[ Ttulo, negrita, centrado, 14pt
]Abril de 1915[ SubTtulo, negrita, centrado
]Granada[ SubTtulo cursiva, centrado
]Mi corazn oprimido [ Verso, 10pt
]siente junto a la alborada [ Verso
]el dolor de sus amores [ Verso
]y el sueo de las distancias. [ Verso

Resultado
ALBA
Abril de 1915
Granada
Mi corazn oprimido
siente junto a la alborada
el dolor de sus amores
y el sueo de las distancias.

Marcado Descriptivo
El marcado no es la informacin que contiene el documento
Marcado = informacin acerca del documento = meta-informacin
Lenguajes de Marcado descriptivo: Incluyen marcas que describen cmo
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 corazn oprimido</p>
<p>siente junto a la alborada</p>
<p>el dolor de sus amores</p>
<p>y el sueo de las distancias. </p>
</body>
</html>

10

Marcado Generalizado
Marcado generalizado = Sintaxis comn que facilita la creacin de
lenguajes descriptivos
HTML
Otras marcas...(misma sintaxis)
<html>
<head><title>Poema</title></head>
<body lang=es>
<h1>Alba</h1>
<h2>Abril de 1915 </h2>
<h2><i>Granada</i></h2>
<p>Mi corazn oprimido</p>
<p>siente junto a la alborada</p>
<p>el dolor de sus amores</p>
<p>y el sueo de las distancias.</p>
</body>
</html>

<poema fecha="Abril de 1915"


lugar="Granada">
<titulo>Alba</titulo>
<verso>Mi corazn oprimido</verso>
<verso>siente junto a la alborada</verso>
<verso>el dolor de sus amores</verso>
<verso>y el sueo de las distancias. </verso>
</poema>

Sintaxis comn

nido
<etiqueta atrib=valor>conte
</etiqueta>

Marcado Generalizado
SGML
(70- ) GML desarrollado en IBM Generalized Markup
Language (Goldfarb, Mosher, Lorie)
(86) SGML Standard Generalized Markup Language
(Estndar ISO)
Utilizado para el intercambio de documentos
Principio: Separar contenido de la forma de
representarlo
Muy flexible (permite definir vocabularios especficos
para cada aplicacin)
HTML era un vocabulario de SGML

11

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 versin simplificada de SGML para la Web
20% de caractersticas de SGML 80% de funcionalidad de SGML
Detalle (Especificacin de XML = 26 pginas, de SGML > 500

XML

<?xml version=1.0 ?>


<!DOCTYPE raz[

]>
<raz>
<elemento>

</elemento>
</raz>

Declaracin de
XML
Declaracin de
Tipo DTD
Opcional

Documento

12

Declaracin de XML

<?xml version=1.0
encoding=iso-8859-1
standalone=yes?>

version: Actual = 1.0


Tambin existe la versin 1.1
Mayor compatibilidad con Unicode
Identificadores: Permite cualquier carcter 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>

Distincin
minsculas/maysculas

13

Documentos XML
Elementos vacos
Elementos vaco: elementos que no incluyen informacin
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>
<interno>texto</interno>
</externo>

...peronosepuedenentrelazar:
<externo>
<interno>texto</externo>
</interno>

14

Estructura General
Slo puede haber un nico elemento raz
Cada documento XML equivale a un rbol
ttulo
ttulo

<poema fecha="Abril de 1915"


lugar="Granada">

Alba

verso
verso

Mi corazn oprimido

verso
verso

siente junto a la

verso
verso

el dolor de sus

verso
verso

y el sueo de las

<titulo>Alba</titulo>
<verso>Mi corazn oprimido</verso>
<verso>siente junto a la alborada</verso>
<verso>el dolor de sus amores</verso>
<verso>y el sueo de las distancias. </verso>
</poema>

poema
poema
fecha:
Abril 1915
lugar:
Granada

Atributos
Cadaelementopuedeconteneratributosenlaetiquetainicial

<poema fecha=Abril de 1915 lugar=Granada>


. . .
</poema>
Elordendelosatributosnoessignificativo
Nopuedehaber2atributosconelmismonombre
Atributospredefinidos:
xml:lang: Especificaelidioma.
Porejemplo:en (ingls),sp (espaol)
xml:space: Especificacmotratarelespacioenblanco.
Valores: preserve =Mantenerlo
default =Permitiralaaplicacinquelotratecomoquiera.

15

Comentarios y caracteres especiales


Comentarios

<!-- el texto de un comentario


no es analizado -->
Caracteres especiales: No pueden incluirse directamente

<cdigo>
if x &lt; 4 then x:=x + 1;
</cdigo>
Secciones CDATA

&lt;

<

&gt;

>

&quot;
&apos;
&amp;

&

Si se desea introducir cdigo sin analizar

<cdigo>
if x < 3 && x > 4 then
print Hola
</cdigo>

<cdigo>
if x &lt; 3
&amp;&amp; x &gt; 4 then
print &quot;Hola&quot;
</cdigo>

<cdigo>
<cdigo>
<![CDATA[
<![CDATA[
&&xx>>44then
then
ififxx<<33&&
printHola
Hola
print
]]>
]]>
</cdigo>
</cdigo>

Instrucciones de Procesamiento
Es posible incluir instrucciones que indican al procesador alguna
accin a realizar
<?aplicacin datos ?>
Sintaxis:
Puedenutilizarseparaasociarunahojadeestilosaldocumento:
<?xml-stylesheet type="text/xsl" href=hoja.xsl"?>
...oparaotrospropsitosespeciales
Enrealidad,ladeclaracindedocumentoesunainstruccinde
procesamientoparaSGML
<?xml version=1.0 ?>

16

Documento bien formado


Documento bien formado
Sigue las reglas sintcticas
Importante:
Contiene un nico elemento raz
Todas las etiquetas estn correctamente anidadas

<pizzas>
<pizza nombre="Margarita" precio="6">
<ingrediente nombre="Tomate" />
<ingrediente nombre="Queso" />
</pizza>
</pizzas>

<pizzas>
<pizza nombre="Margarita" precio="6">
<ingrediente nombre="Tomate" >
</pizzas>

Documento vlido
Se puede incluir una declaracin del tipo de documento
<?xml version=1.0?>
<!DOCTYPE poema SYSTEM poema.dtd>
<poema fecha="Abril de 1915"
lugar="Granada">

poema.dtd

<!ELEMENT poema (titulo,verso*)>


<titulo>Alba</titulo>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT verso (#PCDATA)>
<verso>Mi corazn oprimido</verso>
<!ATTLIST poema fecha CDATA #REQUIRED
<verso>siente junto a la alborada</verso>
lugar CDATA #IMPLIED>
<verso>el dolor de sus amores</verso>
<verso>y el sueo de las distancias.
</verso>
</poema>

Documento vlido
Est bien formado y
La estructura encaja con la declaracin del tipo de documento

17

Declaracin Tipo Documento


DTD
La DTD permite especificar la estructura del documento
La DTD puede estar separada del documento

DTD

Emisor

Documento
autodescrito

valida

Receptor

Declaracin de tipo de documento (DTD)

DTD interno

<?xml version=1.0?>
<!DOCTYPE poema [
<!ELEMENT poema (titulo,verso*)>
...
]>
<pizzas>. . . </pizzas>

Tambin es posible especificar un


DTD externo y aadir definiciones
locales

SYSTEM (DTDs de mbito local)

DTD externo

<?xml version=1.0?>
<!DOCTYPE poema SYSTEM http://www.libro.org/poema.dtd >
<poema>
...
</poema>
PUBLIC (DTDs compartidos por diversas organizaciones)
<?xml version=1.0?>
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0//EN
http://www.w3c.org/TR/REC-html/strict.dtd>

18

DTD
Tipos de declaraciones
ELEMENT
Elementos del documento XML

ATTLIST
Lista de atributos de un elemento

ENTITY
Entidades (variables o macros)

NOTATION
Definen tipos de contenidos
Facilitan la inclusin de formatos binarios (imgenes, vdeos,
sonidos, ...)

DTD
Elementos
(?)
= 0, 1 elemento
(*)
= 0 ms elementos
(+)
= 1 ms elementos
(|)
= alternativa
(,)
= secuencia
EMPTY = vaco
ANY
= cualquier estructura de subelementos
#PCDATA = cadena de caracteres analizados
<!ELEMENT pizza (ingrediente*, inventor?)>
<!ELEMENT servicio (domicilio | restaurante) >
<!ELEMENT ingrediente EMPTY>
<!ELEMENT inventor (#PCDATA)>
<!ELEMENT seccin (ttulo, (contenido | seccin+))>
<!ELEMENT p (#PCDATA | a | ul | em )* >

Recursividad

PCDATA = Parsed Character Data


Indica que los datos son analizados buscando etiquetas

19

DTD
Atributos
Tipos de datos
CDATA = Cadena de caracteres
NMTOKEN = Palabra (sin espacios)
NMTOKENS = Lista de palabras
Enumeracin separada por |
ID = Nombre nico (sin duplicados)
IDREF = Su valor debe apuntar a un ID

Valor de los Atributos


#REQUIRED Obligatorio
#IMPLIED
Opcional
#FIXED
Constante
Valor
Valor por defecto
<pizza nombre=4 estaciones >
<ingrediente nombre=Jamn />
<precio moneda=euros valor=7 />
</pizza>

<!ATTLIST pizza nombre CDATA #REQUIRED>


<!ATTLIST ingrediente nombre CDATA #REQUIRED
caloras CDATA #IMPLIED>
<!ATTLIST precio moneda (euros|dlares) #REQUIRED
valor CDATA #REQUIRED>
<!ATTLIST persona cdigo ID #REQUIRED>
<!ATTLIST dueo cdigo IDREF #REQUIRED>
<!ATTLIST conOrgano (s|no) s >
<!ATTLIST impuesto tipo CDATA #FIXED IVA>

<persona cdigo=23 nombre =Juan />


<persona cdigo=35 nombre =Pepe />
<persona cdigo=37 nombre =Luis />
<dueo cdigo=35 />
<impuesto tipo=IVA />

DTD
Entidades Generales
Entidades: Asignan nombres a ciertos elementos (similar a variables)
Se denotan por &entidad;
No se admite recursividad
<!ENTITY marg Pizza Margarita>
<!ENTITY queso <ingrediente nombre=queso /> >
<pizza nombre=Pizza Margarita" precio=7">
<ingrediente nombre=queso />
</pizza>

<pizza nombre=&marg;" precio=7">


&queso;
</pizza>

Entidades numricas: Cdigo numrico del carcter


&#x2200;

&#8707;

Entidades predefinidas: Permiten incluir etiquetas sin analizar


&lt; <
&gt; >

&quot;
&amp; &

&apos;

20

DTD Entidades externas


Permiten usar archivos externos (Incluir otros documentos XML)
pizzas.xml

<pizzas>
<pizza nombre=4 Quesos" precio=7">
<ingrediente nombre=Jamn />
<ingrediente nombre=Queso />
</pizza>
...
</pizzas>
establecimiento.dtd

<!ELEMENT establecimiento ANY>


<!ENTITY personal SYSTEM personal.xml>
<!ENTITY pizzas SYSTEM pizzas.xml>

personal.xml

<personal>
<trabajador
nombre= Benito Alcaparra" >
...
</trabajador>
...
</personal>
establecimiento.xml

<establecimiento
nombre=Pizzera Al Capone>
&personal;
&pizzas;
</establecimiento>

DTD
Entidades externas
Las entidades externas combinadas con notaciones permiten incluir
archivos externos de datos binarios
<!NOTATION gif SYSTEM gifEditor.exe>
<!ENTITY dibujo SYSTEM logotipo.gif NDATA gif>

<informacin>
<logotipo>&dibujo;</logotipo>
</informacin>

21

DTD Entidades Parmetro


Permiten dar nombres a partes de un DTD
Se denotan por %entidad;
<!ENTITY establecimiento (nombre,dueo?,calle,nmero?,ciudad,pas,cdigoPostal) >
<!ENTITY persona (dni, nombre, calle,nmero?,ciudad,pas,cdigoPostal) >

<!ENTITY %localizacin calle,nmero?,ciudad,pas,cdigoPostal >


<!ENTITY establecimiento (nombre,dueo?,%localizacin;)>
<!ENTITY persona (dni, nombre, %localizacin;>

Entidades externas: Permiten incluir elementos externos en una DTD


Aplicacin: Dividir la definicin de una DTD en varios documentos

<!ENTITY %persona SYSTEM persona.dtd>


<!ENTITY %establecimiento SYSTEM establecimiento.dtd>
%persona;
%establecimiento;

Discusin sobre XML: Ventajas


Es un formato estructurado
Contiene informacin y meta-informacin
Ha sido diseado especficamente para Internet
Soportado por visualizadores y servidores
Numerosas herramientas de procesamiento
Legible por personas humanas
Admite la definicin de vocabularios especficos
Separa contenido del procesamiento y visualizacin
Aumenta la seguridad mediante la validacin de documentos
Formato abierto, respaldado por numerosas organizaciones
Una vez definido un DTD comn, facilita intercambio de informacin

22

Discusin sobre XML: Inconvenientes


Puede requerir demasiado espacio, ancho de banda y tiempo de
procesamiento
Documentos largos con mucha informacin redundante
Problemas para Bases de Datos
Es una sintaxis de documentos, no un lenguaje de programacin
Es posible crear formatos y vocabularios propietarios
Puede fomentar la proliferacin de vocabularios especficos
Bueno para texto, malo para datos binarios
<?xml version=1.0>
<imagen formato=base64>
DS34JSCDF029876D76523981DFNDF3F2134F5FD019A
FGF23DAND345CD2135911943DCBKAPFGDAJJK32A10
....
</imagen>

Ejercicios
Creacin de ficheros XML y validacin
Procesadores de XML
Chequean que est bien formado
Validan

Productos
Visuales: XML Writer, XML Spy, ...
Modo texto: xmllint, msxml, ...

xmllint forma parte de la librera libxml de GNOME

xmllint --valid --noout fichero.xml


Validar
Si no se pone nada,
Chequea que est bien formado

No muestra resultado
Si no hay mensajes OK

23

Espacios de Nombres

Problema de la Homonimia
Homonimia: Mismo nombre con diferentes propsitos
<pas nombre=Francia>
<capital>Pars</capital>
</pas>

<inversin>
<capital>7000</capital>
</inversin>

Cmo combinar en el mismo documento estos vocabularios?


<inversiones>
<pas nombre=Francia>
<capital>Pars</capital>
<capital>1200</capital>
</pas>
. . .
</inversiones>

Am
big

e
d

ad

24

Posibles Solucines

Asignar un nombre nico a cada etiqueta...


Posibles soluciones:
Crear una autoridad mundial que asigne nombres...
... o usar un mecanismo ya existente: URIs
Una URI es un identificador global nico
Ejemplo: http://www.aulanet.uniovi.es
SOLUCIN:
Asociar a cada etiqueta una URI que indica a qu
espacio de nombres pertenece...
[http:www.bolsa.com]:capital
[http:www.geog.es]:capital

Posibles soluciones
Solucin fcil...
Asociar a cada etiqueta una URI
<[http://www.bolsa.com]:inversiones>
<[http://www.geog.es]:pas
[http://www.geog.es]:nombre=Francia>
<[http://www.geog.es]:capital>Pars
</[http://www.geog.es]:capital>
<[http://www.bolsa.com]:capital>1200
</[http://www.bolsa.com]:capital>
</[http://www.bolsa.com]:pas>
. . .
Legib
ilidad
</[http://www.bolsa.com]:inversiones>
...

25

Definicin
Solucin: Asociar un alias a los elementos de un espacio de
nombres dentro de un mbito
xmlns:alias define alias en el mbito de un elemento
<b:inversiones
xmlns:b=http://www.bolsa.com
xmlns:g=http://www.geog.es>
<g:pas g:nombre=Francia>
<g:capital>Pars</g:capital>
<b:capital>1200</b:capital>
</g:pas>
. . .
NOTA: Las URIs slo se utilizan para que el
</b:inversiones>
nombre sea nico, no son enlaces, ni tienen
que contener informacin

Asignacin Dinmica
Es posible ir asociando espacios de nombres a los elementos
segn van apareciendo

<b:inversiones
xmlns:b=http://www.bolsa.com>
<g:pas
xmlns:g=http://www.geog.es
g:nombre=Francia>
<g:capital>Pars</g:capital>
<b:capital>1200</b:capital>
</g:pas>
. . .
</b:inversiones>

26

Espacio de nombres por defecto


Mediante xmlns=... se define un espacio de nombres por defecto
(sin alias)
<inversiones
xmlns=http://www.bolsa.com>
<g:pas
xmlns:g=http://www.geog.es
g:nombre=Francia>
<g:capital>Pars</g:capital>
<capital>1200</capital>
</g:pas>
. . .
</inversiones>
Se refiere a
http://www.bolsa.com

Validacin con DTDs


Posteriores a los DTDs, por tanto, los DTDs no dan soporte a
Espacios de Nombres
Hay que definir los espacios de nombre usados

<!DOCTYPE inversiones [
<!ELEMENT inversiones (g:pas*)>
<!ELEMENT g:pas (g:capital,capital) >
<!ELEMENT g:capital (#PCDATA)>
<!ELEMENT capital (#PCDATA)>
<!ATTLIST inversiones
xmlns CDATA #FIXED "http://www.bolsa.com">
<!ATTLIST g:pas
g:nombre CDATA #REQUIRED
xmlns:g CDATA #FIXED "http://www.geog.es">
]>

27

Valoracin
Ampliamente utilizados para combinar vocabularios
Facilitan la incorporacin de elementos no previstos
inicialmente
Sintaxis extraa al principio
Uso de prefijos
URIs como elemento diferenciador...pero las URLS tambin
sirven para acceder a recursos

Difcil combinacin con DTDs

Seleccin de Enlaces
Pgina del consorcio: http://www.w3c.org
En espaol: http://www.it.uc3m.es/~xml/enlaces.html
Especificacin anotada: http://www.xml.com/axml/testaxml.htm
XML en industria: http://www.xml.org
Diseo de vocabularios XML: http://www.xmlpatterns.com
Tutoriales:
http://www.w3schools.com
Artculos de XML:
http://www.topxml.com

http://www.xmlpatterns.com
Software de XML
http://www.xmlsoftware.com
http://www.xmlhack.com
http://www.garshol.priv.no/download/xmltools/

28

Fin de la Presentacin

29

S-ar putea să vă placă și