XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones.
Las tecnologías XML son un conjunto de módulos que ofrecen servicios útiles a las demandas más frecuentes por parte de los usuarios. XML sirve para estructurar, almacenar e intercambiar información.
Entre las tecnologías XML disponibles se pueden destacar:
XSL : Lenguaje Extensible de Hojas de Estilo, cuyo objetivo principal es mostrar cómo debería estar estructurado el contenido, cómo debería ser diseñado el contenido de origen y cómo debería ser paginado en un medio de presentación como puede ser una ventana de un navegador Web o un dispositivo móvil, o un conjunto de páginas de un catálogo, informe o libro.
XPath : Lenguaje de Rutas XML, es un lenguaje para acceder a partes de un documento XML.
XLink : Lenguaje de Enlace XML, es un lenguaje que permite insertar elementos en documentos XML para crear enlaces entre recursos XML.
XPointer : Lenguaje de Direccionamiento XML, es un lenguaje que permite el acceso a la estructura interna de un documento XML, esto es, a sus elementos, atributos y contenido.
XQL : Lenguaje de Consulta XML, es un lenguaje que facilita la extracción de datos desde documentos XML. Ofrece la posibilidad de realizar consultas flexibles para extraer datos de documentos XML en la Web.
XSL funciona como un lenguaje avanzado para crear hojas de estilos. Es capaz de transformar, ordenar y filtrar datos XML, y darles formato basándolo en sus valores. XPath identifica partes de un documento XML concreto, como pueden ser sus atributos, elementos, etc. XLink por su lado, describe un camino estándar para añadir hiperenlaces en un archivo XML. Es decir, es un mecanismo de vinculación a otros documentos XML. Funciona de forma similar a un enlace en una página Web, es decir, funciona como lo haría <a href="">, sólo que a href es un enlace unidireccional. Sin embargo, XLink permite crear vínculos bidireccionales, lo que implica la posibilidad de moverse en dos direcciones. Esto facilita la obtención de información remota como recursos en lugar de simplemente como páginas Web. XPointer funciona como una sintaxis que apunta a ciertas partes de un documento XML, es como una extensión de XPath. Se utiliza para llegar a ciertas partes de un documento XML. Primero, XLink permite establece el enlace con el recurso XML y luego es XPointer
el que va a un punto específico del documento. Su funcionamiento es muy similar al de los identificadores de fragmentos en un documento HTML ya que se añade al final de una URI y después lo que hace es encontrar el lugar
especificado en el documento XML. Al ser XPointer una extensión de XPath, XPointer tiene todas las ventajas de XPath y además permite establecer un rango en un documento XML, es decir, con XPointer es posible
establecer un punto final y un punto de inicio, lo que incluye todos los elementos XML dentro de esos dos puntos. Finalmente, XQL, lenguaje de consultas, se basa en operadores de búsqueda de un modelo de datos para documentos XML que puede realizar consultas en infinidad de tipos de documentos como son documentos estructurados, colecciones de documentos, bases de datos, estructuras DOM, catálogos, etc.
Ejemplo de documento XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<libro>
<titulo></titulo>
<capitulo>
<titulo></titulo>
<seccion>
<titulo></titulo>
</seccion>
</capitulo>
</libro>
Ejemplo de transformación XSL:
<!-- Transforma el documento XML anterior en un documento XHTML -->
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="libro capitulo titulo"/>
<xsl:output
method="xml"
indent="yes"
encoding="iso-8859-1"
doctype-public="-//W3C//DTD XHTML 1.1//EN"
doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>
<!-- Utiliza el título del libro como título del documento XHTML -->
<xsl:template match="libro">
<html>
<head>
<title>
<xsl:value-of select="titulo"/>
</title>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<!-- Y también como título de nivel H1 -->
<xsl:template match="libro/titulo">
<h1>
<xsl:apply-templates/>
</h1>
</xsl:template>
<!-- Los títulos de los capítulos aparecerán como H2 -->
<xsl:template match="capitulo/titulo">
<h2>
<xsl:apply-templates/>
</h2>
</xsl:template>
<!-- Los títulos de las secciones aparecerán como H3 -->
<xsl:template match="seccion/titulo">
<h3>
<xsl:apply-templates/>
</h3>
</xsl:template>
</xsl:stylesheet>
Ejemplo de código XPath:
<!-- Toma todos los elementos titulo dentro del elemento capítulo
y los elementos autor dentro del elemento capitulo -->
/doc/capitulo/titulo | /doc/capitulo/autor
Ejemplo de código XLink:
<my:crossReference xlink:href="libro.xml" xlink:role="http://www.example.com/linkprops/listalibros" xlink:title="Lista de libros"> Lista actual de libros </my:crossReference>
Ejemplo de código XPointer:
documento.xml#xpointer(
/libro/capitulo[@public])xpointer(/libro/capitulo[@num="1"])
Ejemplo de código de XQuery:
<!-- Libros escritos por Vargas Llosa después de 1991 -->
<bib>
{
for $b in doc("http://libro.example.com/bib.xml")/bib/libro
where $b/autor = "Vargas Llosa" and $b/@anio > 1991
return
<libro anio="{ $b/@anio }">
{ $b/titulo }
</libro>
}
</bib>
Webmaster · Última modificación: 09/01/2008 12:51
Copyright © 1994-2005 W3C® (MIT, ERCIM,
Keio). Todos los derechos reservados.
Son aplicables las reglas de responsabilidad,
marcas registradas,
utilización de documentos y licencias de software.
Las interacciones con este sitio están de acuerdo con nuestra declaración de privacidad de
usuarios
y miembros.