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

Post on 22-Jan-2016

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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, ...)

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  

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.

Estructura de un documento XML

Ejemplo

• Instrucciones de procesamiento

• Declaraciones de tipo de documento (DTD)

• Etiquetas de elementos y atributos

• Entidades

• Comentarios

• Secciones marcadas

Ejemplo de documento XML

<mensaje><remite>

<nombre>Adelaida Delgado</nombre><email>adelaida@ipc4.uib.es</email>

</remite><destinatario>

<nombre>Antonio F. Coca</nombre><email>antonioc@ipc4.uib.es</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

Instrucciones de procesamiento

Sintaxis:

Ejemplo:

<? Instrucción ?>

<?xml version="1.0"?>

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)

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

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” ?>

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”>

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/>

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>

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;

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; “

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>

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">

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">

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; ]>

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 -->

Secciones CDATA

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

Sintaxis:<! [CDATA [ texto_libre ]]>

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, ...

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”

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>

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 [ ...]>

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:

<! ELEMENT id_genid_gen especificac_contenido >

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

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 >

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 >

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:

<!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

<!ATTLIST id_gen nombrenombre tipo_valor estado/valor_defecto>

indica el nombre del atributo

<!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

<!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

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

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

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

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/

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>

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

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;

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.

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>

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>

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>

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).

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.

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

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

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)

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.

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”>

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

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

XSLT. Ejemplos

Aplicación de la hoja de estilo ejemplo1.xsl

<?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

XSLT. Ejemplos

Aplicación de la hoja de estilo ejemplo2.xsl

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.

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.

<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>

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

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)

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"

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>

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>

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

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/

top related