Вы находитесь на странице: 1из 8

CONSULTA Y TRANSFORMACION

Ya que existen numerosas aplicaciones que usan XML para intercambiar, transmitir y almacenar datos, las herramientas para una gestin efectiva de datos XML estn siendo cada vez mas importantes. Las herramientas para consultar y transformar los datos XML son: Esenciales para extraer informacin de grandes datos de XML Para convertir los datos en distintos representaciones o esquemas en XML

La herramienta de salida de consulta XML puede ser un documento XML. Varios lenguajes proporcionan grados crecientes de capacidades de consulta y transformacin: XPATH XSLT XQUERY

XPATH:
Es un lenguaje para encontrar informacin en un documento XML

XPath XPath XPath XPath es una sintaxis para definir partes de un documento XML utiliza expresiones de ruta para navegar en documentos XML contiene una biblioteca de funciones estndar es un elemento importante en XSLT

Seleccin de nodos
XPath utiliza expresiones de ruta para seleccionar nodos en un documento XML. El nodo es seleccionado siguiendo un camino o pasos. Las expresiones de ruta ms tiles son las siguientes: Expresin Nodename / // Descripcin Selecciona todos los nodos secundarios del nodo denominado Selecciona desde el nodo raz /banco-2/cliente/name/text() Selecciona nodos en el documento desde el nodo actual que coincidan con la seleccin sin importar donde este /banco-2//name

. .. @ []

Selecciona el nodo actual Selecciona el padre del nodo actual Selecciona los atributos /banco-2/cuenta/@numero-cuenta La seleccin de predicados pueden seguir cualquier paso en una ruta y estn contenidos entre corchetes. /banco-2/cuenta[saldo>400] Calcula dos conjuntos de Nodos /banco-2/cuenta/id(@tenedores) | /banco-2/prestamos/id(@prestamista) Devuelve el nodo (si existe) con un atributo del tipo ID y cuyo valor sea <<foo>>

| Id(<<foo>>)

XSLT
Una hoja de estilo es una representacin de las opciones de formato para un documento, normalmente almacenado fuera del documento mismo, por lo que el formato est separado del contenido. XSL es el lenguajes de hojas de estilo XML estaba originalmente diseado para generar HTML a partir de XML y es por ello una extensin lgica de hojas de estilo HTML, el lenguaje incluye un mecanismo de transformacin de propsito general denominado XSLT (transformaciones XSL), que se puede transformar un documento XML en otro documento XML o a otros formatos HTML. XSLT es bastante potente y puede incluso actuar como un lenguaje de consulta. Las transformaciones se expresan como una serie de reglas recursivas, denominadas plantillas. Las plantillas permiten la seleccin de nodos en un rbol XML mediante una expresin XPath. Aunque se pueda usar como un lenguaje de consulta su sintaxis y semntica es distinta a la SQL. Una plantilla sencilla para XSLT.

<xsl:template match =<</banco-2cliente>>> <xsl:value-of select =<<nombre-cliente>>/> </xsl:template> <xsl:template match =<<*>>/>
Las instrucciones: Xsl: template match : contiene una expresin XPath que selecciona uno o mas nodos Xsl: value-of : devuelve valores de los nodos en el resultado de la expresin XPath La recursividad estructural es una parte clave de XSLT. La idea de sta es que cuando una plantilla coincide con un elemento en la estructura de rbol XSLT puede usar la recursividad estructural para aplicar las reglas de la plantilla a los subarboles en lugar de simplemente devolver un valor. Aplica las reglas recursivamente mediante la directiva xsl:apply-templates.

<xsl:template match =<</banco>>> <clientes> <xsl:apply-templates/> </clientes> </xsl:template> <xsl:template match =<</cliente>>> <clientes> <xsl:value-of select =<<nombre-cliente>>/> </clientes> </xsl:template> <xsl:template match =<<*>>/>
XSLT proporciona caracteristica denominada KEY, que permite la bsqueda de elementos mediante el uso de valores de subelementos o atributos, los objetivos son similares a los de la funcin id() en XPath, pero permite usar atributos distintos a los atributos ID. Las claves se definen mediante una directiva xsl:key la cual tiene tres partes ejemplo: <xsl: key name =<<numcuenta>>match =
<<cuenta>>

use =

<<numero-cuenta>>/>

Name: Se usa para distinguir las claves distintas Match: especifica a los que se aplica la clave Use: especifica la expresin a usar como el valor de la clave.

Las claves se pueden usar en plantillas como parte de cualquier patrn mediante la funcin keyesta funcin toma el nombre de la clave y el valor y devuelve el conjunto de nodos que coinciden con ese valor. XSLT permite ordenar los nodos. Un ejemplo sencillo muestra como se usara xsl:sort en la hoja de estilo para devolver los elementos cliente ordenados por nombre.

<xsl:template match =<</banco>>> <xsl:apply-templates select = <<cliente>>> > <xsl:sort select = <<nombre-cliente>>> > </xsl:apply-template> </xsl:template> <xsl:template match =<</cliente>>> <clientes> <xsl:value-of select =<<nombre-cliente>>/> <xsl:value-of select =<<calle-cliente>>/> <xsl:value-of select =<<ciudad-cliente>>/> </clientes> </xsl:template> <xsl:template match =<<*>>/>
Select: restringe para que solo se aplique a los subelementos cliente.

Xsl:sort: hace que los nodos se ordenen antes de ser procedados por el siguiente conjunto de plantillas.

XQUERY
El consorcio W3C esta desarrollando XQuery, un lenguaje de consulta de XML. El lenguaje XQuery se deriva de un lenguaje de consulta XML denominado Quilt, la amyor parte de las caracteristicasa de XQuery que se analizan aqu son parte de Quilt. Quilt pos si mismo incluye caractersticas de lenguajes nateriores, tales como XPath, XML:XQL y XML:QL. A diferencia de XSLT, XQuery no representa consults en XML, se parecen mas a las consultas SQL y se organizan en expresiones <<FLWR>> que comprende cuatro secciones: for, let, where y return SECCION FOR: Proporciona una serie de variables que cuyos valores son los resultados de expresiones XPath. SECCION LET: Permite que se asignen expresiones complicadas a los nombres de las variables por simplicidad de representacin. SECCION WHERE: Ejecuta comprobaciones adicionales sobre las tuplas reunidad de la seccin for. SECCION RETURN: Permite la construccin de resultados en XML.

Ejemplo de una expresin FLWR

for $x in /banco-2/cuenta let $numcuenta := $x/@numero-cuenta where $x/saldo > 400 return <numero-cuenta> $numcuenta >/numero-cuenta> las expresiones de ruta en SQuery estn basadas en expresiones de ruta XPath, pero XQuery proporciona algunas extensiones. Una de las extensiones de sintaxis utiles es el: operador -> : se usa para desreferenciar IDREFs al igual que la funcin id().

En XQuery los resultados se pueden ordenar si se incluye una clausula sortby al final de cualquier expresin, la clausula especifica como se han de ordenar las instancias de esa expresin. Ejemplo: For $c in /banco/cliente Return <cliente> $c/* </ciente>sortby(name) Decending: para ordenar de forma decreciente. XQuery usa el sistema de tipos de XMLSchema. XMLSchema es un peso ligero modelo de objetos Java que se pueden utilizar para manipular y generar representaciones de esquema XML. Se puede utilizar para leer esquema XML (xsd) en la memoria y analizar o modificarlos, o para crear esquemas totalmente nuevo desde cero. XQuery ofrece una gran variedad de otras caractersticas, tales como clausulas if-Then-else, las cuales se pueden usar con clausulas return.

LA INTERFAZ DE PROGRAMACION DE APLICACIONES


Debido a la gran aceptacin de xml como una representacin de datos y formato de intercambio hay gran cantidad de herramientas de software disponibles para la manipulacin de datos XML. Existen dos modelos estndar para la manipulacin mediante programacin XML. Una de las API estndar para la manipulacin XML es el DOM (modelo de objetos documento) que trata el contenido XML como un rbol, con cada elemento representado por un nodo, denominado DOMNode. Los programas pueden acceder mediante navegacin comenzando con la raz. La API DOM de java proporciona una interfaz llamada Node e interfaces element y attribute las cuales heredan de la interfaz Node. La interfaz Node proporciona mtodos tales como getParent-Node, getFirstChild() y getNextSilbling() para navegar por el rbol DOM comenzando por el nodo raz. Se puede acceder a los subelementos de un elemento mediante el nombre getElementsByTag Name(name) devuelve una lista de todos los elementos hijo con un nombre de etiqueta especificado. getAttribute(name) se puede acceder a los valores de atributo de un elemento mediante el nombre. El mtodo getData del nodo Text devuelve el contenido de texto.

DOM tambin proporciona una serie de funciones para actualizar el documento mediante la adicin y el borrado de hijos elemento y atributo.

La segunda interfaz de programacin es API SIMPLE PARA XML es un modelo de eventos diseados para proporcionar una interfaz comn entre analizadores y aplicaciones. Esta construida bajo la nocion de manejadores de eventos que consisten en funciones especificadas por el usuario asociadas con eventos de anlisis. Los eventos de anlisis corresponden con el reconocimiento de partes de un documento, por ejemplo: Se genera un evento cuando se encuentra la etiqueta de inicio para un elemento y se genera otro evento cuando se encuentra la etiqueta de finalizacin.

ALMACENAMIENTO DE DATOS XML


Muchas aplicaciones requieren el almacenamiento de datos XML. Una forma de almacenar datos XML es convertirlos a una representacin relacional y almacenarlos en una base de datos relacional. Hay varias alternativas para almacenar datos XML.

BASES DE DATOS RELACIONALES

Вам также может понравиться