xml y tecnologías asociadas hacia la web semántica

70
XML y tecnologías asociadas Hacia la Web Semántica

Upload: martirio-silguero

Post on 22-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XML y tecnologías asociadas Hacia la Web Semántica

XML y tecnologías asociadas

Hacia la Web Semántica

Page 2: XML y tecnologías asociadas Hacia la Web Semántica

Antecedentes históricos• 1960: Utilización de etiquetas descriptivas para codificación• 1967: Separación entre el contenido de los documentos y su

formato• 1969: GML (Lenguaje de Marcación Generalizado).

• Permitir que los subsistemas de edición y formateado de textos y los de RI compartieran documentos

• Introduce el concepto de tipo de documento

• 1985: SGML (estándar ISO 8879:1986). Estándar internacional para la descripción de la codificación electrónica de textos

• 1990: HTML• 1998: XML

Page 3: XML y tecnologías asociadas Hacia la Web Semántica

Motivaciones aparición XML

• Tratar datos semi-estructurados de la web

• Organizar colecciones de datos de distintas fuentes y formatos

• Intercambiar datos entre diferentes sitios/organizaciones

Page 4: XML y tecnologías asociadas Hacia la Web Semántica

XMLeXtended Markup Language

• Metalenguaje que nos permite definir lenguajes de marcado adecuados a usos determinados

• Subconjunto de SGML, simplificado y adaptado a Internet

• Marcación descriptiva• Extensible

– Los proveedores de información pueden definir nuevas etiquetas y atributos

Page 5: XML y tecnologías asociadas Hacia la Web Semántica

Ventajas de XML• No pertenece a ninguna compañía y su utilización es libre• Fácilmente procesable por personas y por software• Permite su utilización en diferente hardware (ordenadores

personales, teléfonos celulares, terminales de Braille, ...)• Diseñado para ser utilizado con cualquier alfabeto

• Sustitución de cadenas de caracteres (entidades)• Separa radicalmente la información o contenido de su

presentación o formato• Un documento (XML) muchas formas de presentación (PDF,

HTML, WML, RTF, VRML, ...)

Page 6: XML y tecnologías asociadas Hacia la Web Semántica

Ventajas XML (cont.)Permitirá integrar sistemas de información hasta ahora separados:– Documentos

· estructura irregular· anidados profundamente· tipos de datos relativamente simples· se da gran importancia al orden

– Relaciones · estructura muy regular· relativamente planas· tipos de datos relativamente complejos· se da poca importancia al orden  

Page 7: XML y tecnologías asociadas Hacia la Web Semántica

Terminología Elemento

Unidad de texto considerada como un componente estructural Atributos

Características y propiedades asociadas con elementos de un tipo determinado

DOM (Document Object Model)Árbol cuyos nodos son los elementos. Para acceder y manipular los datos almacenados en un documento XML se utiliza una colección de objetos, con varias propiedades y métodos, que representan el árbol y sus nodos.

Page 8: XML y tecnologías asociadas Hacia la Web Semántica

Estructura de un documento XML

Ejemplo

• Instrucciones de procesamiento

• Declaraciones de tipo de documento (DTD)

• Etiquetas de elementos y atributos

• Entidades

• Comentarios

• Secciones marcadas

Page 9: XML y tecnologías asociadas Hacia la Web Semántica

Ejemplo de documento XML

<mensaje><remite>

<nombre>Adelaida Delgado</nombre><email>[email protected]</email>

</remite><destinatario>

<nombre>Antonio F. Coca</nombre><email>[email protected]</email>

</destinatario><asunto>Saludos</asunto><cuerpo>

<parrafo>¿Hola qué tal? Hace <enfasis>mucho</enfasis> que no escribes. A ver si llamas y quedamos para tomar algo.

</parrafo></cuerpo>

</mensaje>

<?xml version="1.0"?><!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">

prólogo

Page 10: XML y tecnologías asociadas Hacia la Web Semántica

Instrucciones de procesamiento

Sintaxis:

Ejemplo:

<? Instrucción ?>

<?xml version="1.0"?>

Page 11: XML y tecnologías asociadas Hacia la Web Semántica

Documentos XML bien formados/válidos

XML está diseñado para ser utilizado con o sin DTD

Un documento XML es válido si tiene una DTD concordante. – La DTD puede está contenida en el propio documento

XML o contenida en un fichero externo

Un documento XML está bien formado si cumple las reglas descritas en la especificación oficial XML v1.0 (http://www.w3.org/TR/REC-xml)

Page 12: XML y tecnologías asociadas Hacia la Web Semántica

Documentos XML bien formados Estructura jerárquica de elementos

– Los elementos deben estar correctamente anidados, no se pueden superponer

– Sólo puede haber un elemento raíz, en el que están contenidos todos los demás

Etiquetas– Deben estar balanceadas– Las etiquetas vacías (de los elementos sin contenido) han de presentar el

símbolo “/” al final

Atributos– Los valores de los atributos han de estar entre comillas

Mayúsculas y minúsculas– XML es case-sensitive

Page 13: XML y tecnologías asociadas Hacia la Web Semántica

Documentos XML bien formados, sin DTD

Cuando no se utiliza DTD el documento debe comenzar por una declaración de documento único standalone

Los documentos XML sin DTD pueden utilizar atributos pero han de ser del tipo CDATA por defecto

<? xml version=“1.0” standalone=“yes” ?>

Page 14: XML y tecnologías asociadas Hacia la Web Semántica

Declaración de tipo de documento La DTD puede residir en un fichero externo (que puede ser

compartido por otros documentos) o bien estar contenida en el propio documento XML, como parte de su declaración de tipo de documento.

Si la DTD es externa, en la declaración de tipo de documento se indica dónde encontrarla:– Mediante un identificador público (PUBLIC)

– Mediante un Identificador Universal de Recursos (URI) precedido por la palabra SYSTEM.

Ejemplos:<!DOCTYPE MENSAJE SYSTEM "mensaje.dtd"><!DOCTYPE PRODUCTOS SYSTEM

"http://www.empresa.com/dtds/productos.dtd"><!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0//EN”>

Page 15: XML y tecnologías asociadas Hacia la Web Semántica

Elementos y atributos en XML Etiquetas de elementos

– Cada tipo de elemento tendrá un nombre (etiqueta), indicativa de la función, su identificador genérico

o bien:

si el contenido del elemento es vacío

Es importante comprender la estructura del documento para representarla utilizando las etiquetas apropiadas

<etiqueta>contenido_elemento </etiqueta>

<etiqueta/>

Page 16: XML y tecnologías asociadas Hacia la Web Semántica

Elementos y atributos en XML Atributos

– Suelen ser opcionales

– Atributo especial de identificación “id” se utiliza para dar un valor único a la ocurrencia de un elemento particular.

· Se puede utilizar para hacer referencias cruzadas

– Valores de los atributos se darán en la instancia del documento como un par atributo=“valor”, en la ocurrencia de la etiqueta de principio del elemento

Ejemplo:

<poema id=P1 estado=“borrador”> ... </poema>

Page 17: XML y tecnologías asociadas Hacia la Web Semántica

Entidades

XML utiliza entidades para referenciar a objetos (ficheros, páginas web, imágenes, cualquier cosa) que no deben ser analizados sintácticamente según las reglas de XML.

  Sintaxis:

 &entidad;

Page 18: XML y tecnologías asociadas Hacia la Web Semántica

Entidades predefinidas

Al usar una referencia a una entidad, el analizador sintáctico reemplaza la referencia con su contenido.

Entidad Carácter-------------------------&lt; <&gt; >&amp; &&apos; ‘&quot; “

Page 19: XML y tecnologías asociadas Hacia la Web Semántica

Entidades generales internas Son abreviaturas declaradas en la DTD

mediante el uso de "<!ENTITY". Ejemplo:

<!DOCTYPE texto[<!ENTITY nombre "Pepito de los Palotes Sabelotodo">]>... <texto><titulo>Historia de &nombre;</titulo></texto>

Page 20: XML y tecnologías asociadas Hacia la Web Semántica

Entidades generales externas analizadas

Obtienen su contenido en cualquier otro sitio del sistema.

Se referencian mediante la palabra SYSTEM seguida de un URI.

Ejemplo:

<!ENTITY mientidad SYSTEM "http://www.servidor.com/entidades.xml">

Page 21: XML y tecnologías asociadas Hacia la Web Semántica

Entidades generales externas no analizadas

Son aquéllas cuyo contenido no es texto sino por ejemplo una imagen, un archivo de vídeo, un ejecutable, etc.

Ejemplo:

<!ENTITY foto SYSTEM "http://www.servidor.com/foto.gif">

Page 22: XML y tecnologías asociadas Hacia la Web Semántica

Entidades parámetro Se usan para agrupar ciertos elementos que se

repitan mucho. Para declararlas y referenciarlas se usa el símbolo

"%". Pueden ser internas y externas.

Ejemplo: <!DOCTYPE texto [<!ENTITY % elem_parrafo "<!ELEMENT parrafo (#PCDATA)>"> ...%elem_parrafo; ]>

Page 23: XML y tecnologías asociadas Hacia la Web Semántica

Comentarios Son ignorados por los procesadores XML Pueden aparecer en cualquier lugar de la

instancia del documento o del prólogo pero no en las declaraciones, en las etiquetas o dentro de otros comentarios

Sintaxis:

<!-- comentario -->

Page 24: XML y tecnologías asociadas Hacia la Web Semántica

Secciones CDATA

Sirven para definir texto que no será tratado por los analizadores XML.

Sintaxis:<! [CDATA [ texto_libre ]]>

Page 25: XML y tecnologías asociadas Hacia la Web Semántica

Tecnologías asociadas a XML Modularidad y reutilización de documentos XML:

Espacios de Nombres Definición de Documentos:

DTDs y XML Schemas Definición de estilos:

CSS y XSL Referencias a partes de los documentos:

XPath Enlazado de documentos:

XLink, XPointer Aplicaciones:

RDF, XHTML, ...

Page 26: XML y tecnologías asociadas Hacia la Web Semántica

Espacios de nombres XML Colección de nombres universales identificada por un

URI (URL o URN) que se utiliza en los documentos XML como tipos de elementos y nombres de atributos.

Declaración por defecto: declara un espacio de nombres que se utilizará para todos los elementos dentro de ese ámbito.

Declaración explícita: se define un prefijo que se utilizará para calificar los elementos que pertenezcan al espacio de nombres que se le ha asociado como xmlns:prefijo=”espacio_de_nombres”

Page 27: XML y tecnologías asociadas Hacia la Web Semántica

Espacios de nombres XML. Ejemplos

<BOOK xmlns="urn:BookLovers.org:BookInfo"> <TITLE>A Suitable Boy</TITLE>

<PRICE currency="US Dollar">22.5</PRICE> </BOOK>

<BOOKS> <bk:BOOK xmlns:bk="urn:BookLovers.org:BookInfo" xmlns:money="urn:Finance:Money"> <bk:TITLE>A Suitable Boy</bk:TITLE> <bk:PRICE money:currency="US Dollar">

22.5</bk:PRICE> </bk:BOOK></BOOKS>

Page 28: XML y tecnologías asociadas Hacia la Web Semántica

DTDs Conjunto de reglas que definen un documento

XML y que sirven para etiquetarlo adecuadamente Indica qué elementos, atributos y entidades están

permitidas y algunas limitaciones de cómo combinarlos

Crear una DTD es como crear nuestro propio lenguaje de marcado para una aplicación específica

Sintaxis: <! DOCTYPE tipo_doc [ ...]>

Page 29: XML y tecnologías asociadas Hacia la Web Semántica

DTDs. Declaración de elementos Estructura arborescente

– Sintaxis:

<! ELEMENT id_gen especificac_contenido >

<!DOCTYPE etiqueta [

<!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)>

<!ELEMENT nombre (#PCDATA)>

<!ELEMENT calle (#PCDATA)>

<!ELEMENT ciudad (#PCDATA)>

<!ELEMENT pais (#PCDATA)>

<!ELEMENT codigo (#PCDATA)>

]>

– Ejemplo de declaración de elementos:

Page 30: XML y tecnologías asociadas Hacia la Web Semántica

<! ELEMENT id_genid_gen especificac_contenido >

indica un identificador genérico asignado al elemento que se quiere definir (su nombre)

Page 31: XML y tecnologías asociadas Hacia la Web Semántica

La especificación de contenido de un elemento puede ser:– EMPTY: Se utiliza para etiquetas vacías

Ejemplo: <!ELEMENT br EMPTY>

– ANY: Puede tener cualquier contenidoEjemplo: <!ELEMENT container ANY>

– Mixed: Puede tener caracteres de tipo datos (#PCDATA), opcionalmente mezclados con elementos de tipo hijos (children)

Ejemplo: <!ELEMENT enfasis (#PCDATA)><!ELEMENT parrafo (#PCDATA|enfasis)*>

– Children: Contiene sub-elementos. Se especifica un modelo de contenido (una simple gramática que gobierna los tipos permitidos para los elementos hijos y el orden en el cual pueden aparecer)

Ejemplo: <!ELEMENT aviso (titulo?, (parrafo+, grafico)*)>

<! ELEMENT id_gen especificac_contenidoespecificac_contenido >

Page 32: XML y tecnologías asociadas Hacia la Web Semántica

Modelos de contenido– Si la especificación de contenido contiene más de un componente hay

que especificar el orden mediante conectores:“,” (mismo orden que el especificado), “|” (sólo puede aparecer uno), “&” (cualquier orden)

– Cada partícula de contenido puede llevar un indicador de frecuencia:“+” (una o más veces), “?” (como mucho una ocurrencia) y “*” (ausente, o una o más veces)

Ejemplo: <!ELEMENT aviso (titulo?, (parrafo+, grafico)*)> En este caso, <aviso> puede tener <titulo> o no (pero sólo uno), y puede tener

cero o más conjuntos <parrafo><grafico>, <parrafo><parrafo><grafico>, etc.

<! ELEMENT id_gen especificac_contenidoespecificac_contenido >

Page 33: XML y tecnologías asociadas Hacia la Web Semántica

DTDs. Declaración de atributos En la DTD los atributos suelen declararse a continuación del

elemento– Sintaxis:

<! ATTLIST id_gen nombre tipo_valor estado/valor_defecto >

<!ATTLIST poema

id ID #IMPLIED

estado (borrador|revisado|publicado) borrador>

– Ejemplo de declaración de atributos:

Page 34: XML y tecnologías asociadas Hacia la Web Semántica

<!ATTLIST id_genid_gen nombre tipo_valor estado/valor_defecto>

Indica el identificador genérico del elemento del que se declaran los atributos Si varios elementos comparten los mismos atributos se daría la lista de los

elementos implicados entre paréntesis

A continuación vienen tantas líneas nombre tipo_valor estado/valor_defecto

como atributos tenga el elemento

Page 35: XML y tecnologías asociadas Hacia la Web Semántica

<!ATTLIST id_gen nombrenombre tipo_valor estado/valor_defecto>

indica el nombre del atributo

Page 36: XML y tecnologías asociadas Hacia la Web Semántica

<!ATTLIST id_gen nombre tipo_valortipo_valor estado/valor_defecto>

Atributos de cadena CDATA: cadenas de caracteres cualesquiera, no analizadas

sintácticamente

Atributos enumerados Sólo pueden contener un valor de entre un número determinado de

opciones

Atributos con símbolo Normalización del valor del atributo y validación en base al tipo de

atributo que se declare Símbolos:

ID, IDREF, IDREFS ENTITY, ENTITIES NMTOKEN, NMTOKENS NOTATION

Page 37: XML y tecnologías asociadas Hacia la Web Semántica

<!ATTLIST id_gen nombre tipo_valor estado/valor_defectoestado/valor_defecto>

defaultindica el valor predeterminado del atributo

#REQUIREDsignifica que no tiene valor por defecto ya que es obligatorio especificar este atributo

# IMPLIEDse utiliza cuando interesa que se pueda omitir un atributo, sin que se adopte automáticamente un valor por defecto

# FIXEDindica que el atributo tiene un valor fijo

Page 38: XML y tecnologías asociadas Hacia la Web Semántica

XML Schemas

Similar a una DTD en cuanto a que define qué elementos puede contener un

documento XML, cómo están organizados, y que atributos y de qué tipo pueden tener sus

elementos

Page 39: XML y tecnologías asociadas Hacia la Web Semántica

XML Schemas. Ventajas Usan sintaxis de XML Mayor riqueza de tipos de datos:

Tipos predefinidos (booleanos, fechas y horas, URIs, enteros, decimales, reales, intervalos de tiempo, etc.)

Tipos definidos por los usuarios Permite agrupar atributos Modelos de contenido:

Abierto: todos los elementos requeridos han de estar presentes, pero no es un error que también aparezcan elementos adicionales.

Refinable: permite que aparezcan elementos adicionales pero sólo si el esquema define cuáles son

Soportan los espacios de nombres

Page 40: XML y tecnologías asociadas Hacia la Web Semántica

XML Schemas. Frenos

La existencia de un gran número de herramientas, tanto SGML como XML, que pueden procesar DTDs

La existencia de un gran número de tipos de documentos ya definidos usando DTDs: HTML, XHTML, etc.

Una larga experiencia de aplicación práctica de las DTDs y conocimiento de éstas por parte de la comunidad de programadores de XML y SGML

Page 41: XML y tecnologías asociadas Hacia la Web Semántica

XML Schemas. Validación

Es posible convertir automáticamente las DTDs existentes en esquemas XML, con lo cual se mejoraría la descripción de los documentos

Para validar documentos frente a esquemas XML o DTDs se puede usar la herramienta XML Validator de Microsoft, accesible en http://msdn.microsoft.com/downloads/samples/internet/xml/xml_validator/

Page 42: XML y tecnologías asociadas Hacia la Web Semántica

XML Schemas. Ejemplo

<Schema xmlns="urn:schemas-microsoft-com:xml-data"xmlns:dt="urn:schemas-microsoft-com:datatypes"><AttributeType name='id' dt:type='string'

required='yes'/><ElementType name='nombre' content='textOnly'/><ElementType name='persona' content='mixed'> <attribute type='id'/> <element type='nombre'/></ElementType><ElementType name='documento' content='eltOnly'> <element type='persona'/></ElementType></Schema>

<documento xmlns="x-schema:personaSchema.xml"><persona id="43027584Y"> <nombre>Pepito Pérez Pérez</nombre></persona></documento>

Page 43: XML y tecnologías asociadas Hacia la Web Semántica

CSS (Cascade Style Sheet) Lenguaje de hojas de estilos diseñado para HTML Las reglas de las hojas de estilos se pueden

colocar: directamente en un documento HTML o XML, en documentos de hojas de estilos externas con la

extensión de archivo .css.  

<?xml-stylesheet type="text/css" href="mystyle.css"?>

CSS1, diciembre 1996 (IE 4.x, Netscape 4.x)CSS2, mayo 1998 (IE 5.x, Netscape 6.0)CSS3, en proceso

Page 44: XML y tecnologías asociadas Hacia la Web Semántica

CSS. Reglas de estilo Constan de dos partes: el selector y la

cadena de estilos. Selectores

Construcciones CSS que identifican partes de un documento HTML o XML.

Cadena de estilos Conjunto de:

propiedad: valor;

Page 45: XML y tecnologías asociadas Hacia la Web Semántica

CSS1. Tipos de selectores Tipo de elemento: selecciona un elemento de un

determinado tipo y le aplica un estilo o conjunto de estilos.

Clase de atributo: permite aplicar estilos a un atributo especial. El atributo class se utiliza para definir clases de estilos de un determinado tipo de elemento.

ID de atributo: establece una regla de estilo que se puede aplicar a cualquier elemento, independientemente de su tipo.

Page 46: XML y tecnologías asociadas Hacia la Web Semántica

Ejemplo de definición de un conjunto de estilos para el elemento p de un documento HTML

p { display: block; margin-bottom: 10px; font-family: Times, serif; font-size: 12pt;}

En el documento HTML se marcaría el código de párrafo de manera habitual:

<p>

Parrafo de texto.

</p>

Page 47: XML y tecnologías asociadas Hacia la Web Semántica

Ejemplo de definición de una clase especial de párrafos:

p.especial { display: block; margin-bottom: 10px; font-family: Times, serif; font-size: 12pt; font-style: italic;}

En el documento HTML se marcaría el código de párrafo especial utilizando el atributo class:

<p class=”especial”>

Parrafo de texto.

</p>

Page 48: XML y tecnologías asociadas Hacia la Web Semántica

Ejemplo de creación de una regla de estilo por medio del selecto ID de atributo:

#azul { color: blue; font-family: Times, serif;}

En el documento HTML se marcaría utilizando el atributo id:

<h1 id=”azul”>

Esto es un encabezamiento de color azul.

</h1>

Page 49: XML y tecnologías asociadas Hacia la Web Semántica

CSS1. Propiedades display describe cómo aparece un elemento y si tiene que

aparecer. Los posibles valores son: block (aparece en un recuadro), list-item (aparece con una viñeta en un recuadro), inline (aparece en un recuadro a continuación del contenido

adyacente), none (no aparece).

width y height: determinan el ancho y alto del recuadro o las dimensiones de una imagen.

border, border-left, border-right, border-top, border-bottom. Además también se puede indicar el grosor (border-width), el color (border-color) y el estilo (border-style).

Page 50: XML y tecnologías asociadas Hacia la Web Semántica

CSS1. Propiedades (cont.)

margin, margin-left, margin-right, margin-top, margin-bottom.

background-color y color text-align y text-indent: se usan para establecer,

respectivamente, la alineación y el sangrado de un elemento.

Las propiedades font: se utilizan para establecer los distintos parámetros que están asociados a las fuentes, como la familia (font-family), el tamaño (font-size), el estilo (font-style), etc.

Page 51: XML y tecnologías asociadas Hacia la Web Semántica

CSS2 Añade nuevos selectores y se pueden seleccionar

elementos basándose en un patrón. Se han añadido pseudoClases, y pseudoElementos que

permiten dar formato a objetos seleccionados, objetos apuntados, etc.

Se han añadido los tipos de medios de manera que permite crear formatos diferentes dependiendo del tipo de medio que se vaya a utilizar para mostrarlo, video, TV, impresoras, etc.

Permite fuentes descargables Permite el posicionamiento de elementos y tablas

Page 52: XML y tecnologías asociadas Hacia la Web Semántica

CSS3

Propone modularizar las especificaciones de CSS

Los selectores permiten seleccionar elementos en base a si contienen o no cierta palabra, o si son el único elemento de cierta clase

Page 53: XML y tecnologías asociadas Hacia la Web Semántica

XSL (eXtensible Style Language)

Sintaxis XML Un mismo documento XML puede tener varias

hojas de estilo XSL que lo muestren en diferentes formatos (HTML, PDF, RTF, VRML, PostScript, sonido, etc.).

El procesador XML lleva a cabo dos procesos: Transformación (tecnología XSLT) Formateo (tecnología XSLFO)

Page 54: XML y tecnologías asociadas Hacia la Web Semántica

XSLT A partir del árbol XML fuente se construye un árbol transformado,

el cual puede tener una estructura significativamente diferente del original.

Una hoja de estilo XSL consta de una serie de reglas de transformación.

Cada regla se compone de un patrón (pattern) y una acción o plantilla (template).

XSLT utiliza el patrón para seleccionar partes de un documento XML para su transformación.

Al cotejar un patrón con una parte del árbol, se usa una plantilla para determinar cómo se transforma esa parte de árbol.

XSLT utiliza expresiones XPath para recorrer un documento XML y llegar a un nodo determinado.

Page 55: XML y tecnologías asociadas Hacia la Web Semántica

XSLT. Espacio de nombres

Elementos: xsl:template: contiene los patrones y datos de

transformación. xsl:value-of: se usa para insertar el valor de un

elemento o atributo en la salida resultante de la hoja de estilos.

xsl:if xsl:for-each xsl:apply-templates: se usa para aplicar plantillas que se

definen en una hoja de estilos.

<xsl:stylesheet versión=”1.0” xmls:xsl=”http://www.w3.org/1999/XSL/Transform”>

Page 56: XML y tecnologías asociadas Hacia la Web Semántica

XSLT. Ejemplos<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?><?XML-STYLESHEET type="text/xsl" href="ejemplo1.xsl" ?><LIBROS> <LIBRO> <TITULO>AutoSketch</TITULO> <AUTOR NACIONALIDAD="Española">Ramón Montero</AUTOR> <PRECIO MONEDA="Euros">15.02</PRECIO> </LIBRO> <LIBRO> <TITULO>Windows 98</TITULO> <AUTOR NACIONALIDAD="Española">Jaime de Yraolagoitia</AUTOR> <PRECIO MONEDA="Pesetas">3.250</PRECIO> </LIBRO> <LIBRO> <TITULO>Web Graphics</TITULO> <AUTOR>Ron Wodaski</AUTOR> <PRECIO MONEDA="Dolares">49.95</PRECIO> </LIBRO> <LIBRO> <TITULO>Programming in Windows 95</TITULO> <AUTOR>Charles Petzold</AUTOR> <PRECIO MONEDA="Dolares">39.95</PRECIO> </LIBRO></LIBROS>

Documento XML

Page 57: XML y tecnologías asociadas Hacia la Web Semántica

XSLT. Ejemplos<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <HTML> <BODY> <table border="1"> <tr><th>Titulo</th><th>Autor</th><th>Precio</th></tr> <xsl:for-each select="/LIBROS/LIBRO" order-by="+ AUTOR"> <tr>

<td><FONT SIZE="2" COLOR="red" FACE="Verdana"> <xsl:value-of select="TITULO"/></FONT></td> <td><FONT SIZE="2" COLOR="blue" FACE="Verdana"> <xsl:value-of select="AUTOR"/></FONT></td> <td><FONT SIZE="2" COLOR="green" FACE="Verdana"> <xsl:value-of select="PRECIO"/> <xsl:value-of select="PRECIO/@MONEDA"/></FONT></td

</tr> </xsl:for-each> </table> </BODY> </HTML> </xsl:template></xsl:stylesheet>

ejemplo1.xsl

Page 58: XML y tecnologías asociadas Hacia la Web Semántica

XSLT. Ejemplos

Aplicación de la hoja de estilo ejemplo1.xsl

Page 59: XML y tecnologías asociadas Hacia la Web Semántica

<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <HTML> <BODY> <table border="1"> <tr><th>Titulo</th><th>Autor</th><th>Precio</th></tr> <xsl:for-each select="/LIBROS/LIBRO" order-by="+ AUTOR"> <xsl:if match=".[PRECIO/@MONEDA = 'Dolares']"> <tr>

<td><FONT SIZE="2" COLOR="red" FACE="Verdana"> <xsl:value-of select="TITULO"/></FONT></td> <td><FONT SIZE="2" COLOR="blue" FACE="Verdana"> <xsl:value-of select="AUTOR"/></FONT></td> <td><FONT SIZE="2" COLOR="green" FACE="Verdana"> <xsl:value-of select="PRECIO"/> <xsl:value-of select="PRECIO/@MONEDA"/></FONT></td> </tr> </xsl:if> </xsl:for-each> </table> </BODY> </HTML> </xsl:template></xsl:stylesheet>

ejemplo2.xsl

Page 60: XML y tecnologías asociadas Hacia la Web Semántica

XSLT. Ejemplos

Aplicación de la hoja de estilo ejemplo2.xsl

Page 61: XML y tecnologías asociadas Hacia la Web Semántica

XSLFO

Superconjunto de CSS Cada uno de los nodos del árbol se trata como un

objeto de formateo, donde cada nodo soporta una amplia gama de estilos de presentación.

Cuando el procesador XSL procesa un objeto de formateo, se asigna a un área rectangular en la superficie de la pantalla.

Las propiedades del objeto determinan qué formato tiene, junto con los parámetros del área en la que está asignada.

Page 62: XML y tecnologías asociadas Hacia la Web Semántica

XPath Con Xpath podemos seleccionar y hacer referencia a

texto, elementos, atributos y cualquier otra información contenida en un fichero XML.

Su nombre le viene de utilizar una notación de ruta (path) para navegar a través de la estructura jerárquica de un documento XML.

XPath opera sobre la estructura lógica de un documento XML, modelándolo como un árbol de nodos.

Una expresión Xpath devuelve una lista de punteros a los elementos que encajan con el patrón que representa dicha expresión.

Page 63: XML y tecnologías asociadas Hacia la Web Semántica

<libro> <titulo>Dos calles</titulo> <autor>Pepa Pepo</autor> <capitulo num="1"> La primera calle <parrafo> Era una sombría noche del mes de agosto... </parrafo> <parrafo destacar="si"> Ella, inocente cual <enlace href="http://www.mariposa.com">mariposa</enlace> que surca el cielo... </parrafo> </capitulo> <capitulo num="2" public="si"> La segunda calle <parrafo> Era una oscura noche del mes de septiembre... </parrafo> <parrafo> Ella, inocente cual <enlace href="http://www.abeja.com">abeja</enlace> que surca el viento en busca de flores... </parrafo> </capitulo></libro>

Page 64: XML y tecnologías asociadas Hacia la Web Semántica

Ejemplos de expresiones XPath/libro/capitulo/parrafo

referencia a todos los elementos parrafo que sean hijos de cualquier elemento capitulo que a su vez sean hijos de cualquier elemento libro que cuelgue del nodo raíz.

/libro/capitulo/@numselecciona el atributo num que posean los elementos capitulo

/libro/capitulo[@num="1"]/parrafo referencia todos los elementos parrafo de todos los elementos capitulo que tengan un atributo llamado num al cual se le haya asignado el valor "1"

/libro/capitulo[@public]/* selecciona todos los elementos hijos de los elementos capitulo que posean el atributo public

//parrafo//*[@href] selecciona todos los descendientes de parrafo que tienen un atributo href

//parrafo/text() selecciona el texto de todos los nodos parrafo

Page 65: XML y tecnologías asociadas Hacia la Web Semántica

Xpointer (XML Pointer Language)

Describe cómo apuntar a un elemento de XML. Es similar a utilizar etiquetas para apuntar a una parte de los documentos HTML.

Sintaxis:

donde expresión es una expresión Xpath con algunas propiedades extra.

URI#xpointer(expresion)

Page 66: XML y tecnologías asociadas Hacia la Web Semántica

XLink(XML Linking Language)

XLink describe cómo enlazar dos o más recursos.

Atributos type. Valores: simple, extended, locator, arc, resource, title, none href show. Valores: replace, new, embed, other, none actuate. Valores: onLoad, onRequest, other, none label from to role arcrole title

xmls:xlink="http://www.w3.org/XML/XLink/1.0"

Page 67: XML y tecnologías asociadas Hacia la Web Semántica

XLink. Ejemplo enlace simple

<mi_documento xmlns:xlink="http://www.w3.org/1999/xlink"> ... <enlazar xlink:type="simple" xlink:href="http://www.uib.es">

xlink:label="UIB"xlink:show="new">

Este enlace apunta a la pagina de inicio de la UIB y hace que se visualice en una nueva instancia del navegador. </enlazar> ...

</mi_documento>

Page 68: XML y tecnologías asociadas Hacia la Web Semántica

XLink. Ejemplo enlace extendido<mi_documento xmlns:xlink="http://www.w3.org/1999/xlink">

... <direcciones xlink:type="extended">

<locator xlink:type="locator"xlink:href="http://realmadrid.com" xlink:show="replace"xlink:actuate="onRequest"/>

<locator xlink:type="locator"xlink:href="http://fcbarcelona.com" xlink:show="new"

xlink:actuate="onRequest"/> <locator xlink:type="locator"

xlink:href="http://athmadrid.com" xlink:show="replace"xlink:actuate="onRequest"/>

Los clubes de fútbol de hoy en día... </direcciones> ...

</mi_documento>

Page 69: XML y tecnologías asociadas Hacia la Web Semántica

RDF (Resource Description Framework)

Aplicación de XML para escribir metadatos que describan recursos Web (cualquier recurso identificable a través de un URI) de tal manera que puedan ser intercambiados y procesados por los ordenadores.

XML permite dotar de estructura a los documentos, RDF expresa el significado de esa estructura

Tripletas: sujeto, verbo y objeto

(Sujetos) (tienen propiedades) (con ciertos valores)(Adelaida Delgado)(es la autora de)(XML y tecnologías asociadas)(field 5 in database A) (is a field of type) (zip code)

Sujeto, verbo y objeto se identifican con URIs

Page 70: XML y tecnologías asociadas Hacia la Web Semántica

XHTML

Versión de HTML conforme a XML DTD para XML Características

Existen elementos obligatorios (html, head, title, body, etc.)

Todas las etiquetas deben tener principio y fin Se ha de respetar el anidamiento de etiquetas El código ha de estar en minúsculas Los valores de atributos han de ir entre comillas dobles

Servicio de validación en http://validator.w3.org/