Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · www.captiva.es XPath.

Slides:



Advertisements
Presentaciones similares
Conceptos básicos Def. Un símbolo es cualquier carácter imprimible.
Advertisements

CI-2413 Desarrollo de Aplicaciones para Internet
XPath Versión: 1.0 Introducción:
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
XML XQuery.
Curso: XML, de los datos a la presentación CAPTIVA ·
DOM ( Document Object Model) Prof. Franklin Cedeño.
UNIDAD III HOJAS DE CÁLCULO
Pedro Pastor (Universitat d'Alacant)Curso XSL1 Curso de XSL Sistema para la visualización de documentos XML.
CADENAS EN PHP.
Tema 2: Lenguaje PHP básico
1.2 Sintaxis del lenguaje Java.
Tema: Funciones en Excel (II) Funciones de Texto
Utilizar el signo igual para escribir texto o un valor
Algoritmo y Estructura de Datos I
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
ÁRBOLES DE EXPRESION.
1 Cadenas de caracteres Es un objeto de la clase String Una cadena de caracteres es una matriz unidimensional de elementos de tipo Char New. Utilizado.
Conceptos Básicos de Java
Programación.
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · XSLT.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Ejemplos de cómo utilizarlas
JAVA J.A.C..
Espacios de nombres de XML (Namespaces)
XML DEFINICIÓN DE ESQUEMAS
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · Modelos de documento (DTD)
XML no predefine la apariencia de los elementos. Se requiere una descripción aparte mediante una hoja de estilo. XSL (eXtensible Stylesheet Language) es.
Título Características y elementos fundamentales J.M. Morales-del-Castillo.
Tema 2: Los tipos de datos
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · eXtensible Stylesheet Language Formatting Objects.
Características y elementos fundamentales J.M. Morales-del-Castillo
Definition Type Document (DTD)
Fórmulas y Funciones Básicas
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · Introducción al mundo XML.
CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML
XPath Ing. Hernández López Augusto. Introducción  Es un lenguaje para encontrar información en un documento XML. Es utilizado para navegar a través de.
FORMULAS ESTADISTICAS.
Operadores lógicos en PHP Programación en Internet II.
VBA – Elementos del Lenguaje
FILTROS. Un filtro es un programa que recibe una entrada, la procesa y devuelve una salida. Relacionando filtros simples podemos hacer prácticamente cualquier.
Informática Ingeniería en Electrónica y Automática Industrial
Fundamentos de Programación Tipos de Datos en Java
Tema 2: Base de datos relacionales
Introducción a la programación
Bases de Datos Sql.
EXCEL 2007 hoja de cálculo HOJAS: DESDE HASTA FILAS: VAN DESDE LA HASTA 1´048,576. COLUMNAS: VAN DESDE LA AA AA HASTA LA XFD XFD.
Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones.
PRINCIPIOS DE PROGRAMACIÓN
Reglas Básicas del Álgebra de Boole
Presente un cuestionario con los aspectos mas importantes sobre los
Tipos de Datos.
Lic. Carla Aguirre Montalvo
Programación de Computadores
FUNDAMENTOS DE PROGRAMACIÓN
Aplicación JAVA implementando Arboles de Decisión

ACTIVIDADES FECHA: JULIO 6 AL 10 TEMA: FORMULAS Y FUNCIONES BÁSICAS EN LA HOJA DE CALCULO EXCEL PROPÓSITO: IDENTIFICAR LAS FORMULAS Y FUNCIONES BÁSICAS.
Lenguaje de Programación LISP
Informática Ingeniería en Electrónica y Automática Industrial
Lenguaje de Programación II PLAN DE EVALUACIÓN CONTENIDO MODALIDAD DE EVAL. PONDERACIÓN INTRODUCCIÓN BÁSICA AL LENGUAJE DE PROGRAMACIÓN.
 Excel es un programa de aplicaciones que modifica tus habilidades para grabar datos y luego extraer resultados de la misma.  Con Excel puede ingresar.
Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
LENGUAJES DE MARCAS Y SISTEMAS DE GESTIÓN DE INFORMACIÓN Bloque XML: UD4: espacios de nombres.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Equipo de Profesores del Curso. Funciones de Texto.
Excel 2013 Informática en los negocios lci. Excel 2013  ¿Qué es un RANGO en Excel?  Es un conjunto de celdas contiguas que pueden ser seleccionadas.
FiVaTech: Extracción de datos Web a partir de plantillas de páginas Antonio R. Gómez Sotelo.
XML Tecnologías Asociadas
Transcripción de la presentación:

Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · XPath

¿Qué es Xpath?  Lenguaje para identificar partes de documento XML  No es XML  Es parte de XSL (XSLT, XSL-FO)  Utilizado fuera de XSL: XPointer, XForms

Estructura en árbol (II)  Todo documento XML es un árbol de nodos  Cada nodo contiene otros nodos  Nodo raíz  Nodo imaginario del que cuelgan los demás. No es el elemento raíz  Nodo hoja  Si no tiene descendientes (p.e. texto, comentario, elemento sin atributos ni contenido)  Resto de nodos:  Nodo elemento  Nodo de texto  Nodo de atributo  Nodo de comentario  Nodo de PI  Nodo de namespace

Estructura en árbol (III)  Veamos un fichero XML y su representación en árbol:

Estructura en árbol (IV)  Algunas consideraciones  Los elementos, no se incluyen en el árbol  No direccionables por Xpath  Las entidades se resuelven previamente  Es posible que haya atributos tipo #FIXED añadidos por DTD que no estén físicamente en XML  Los atributos xmlns y xmlns:prefijo no se tienen en cuenta

Location Paths  ¿Qué es un location path?  Una expresión que localiza uno o varios nodos dentro de un documento  Compuesta por location steps que se evalúan relativamente al nodo “actual” denominado context node  Location path raíz  Sintaxis: /  Sitúa el context node en el nodo raíz  Localización de elementos hijos  Sintaxis: nombre-hijo  Ejemplo. Si el nodo contexto es DDD y evaluamos la expresión Xpath: BBB, seleccionaría:

Location Paths (II)  Localización de atributos   Ejemplo. Selección de todos los atributos “id”.  Se introduce localización desde nodo raíz “/”  Doble barra implica todo el documento “//”  XPath:

Location Paths (III)  Localización de comentarios, PI, texto  Sintaxis respect.: comment() text() processing- instruction()  Ejemplo. Selección de comentarios del texto. Nodo contexto  Nodo raíz.  XPath:comment()

Location Paths (IV)  Comodines  Ejemplo. Supongamos que nodo contexto es el nodo raíz.  XPath: node() ComodínSignificado * Todos los nodos elemento node() Todos los Todos los atributos

Location Paths (V)  Grupos de Location Paths  Sintaxis: path1 | path2 | path3  Ejemplo  Path de contexto  AAA  Xpath: CCC | EEE

Paths compuestos  Los location Paths pueden concatenarse con “/”  Ejemplos Xpath: /AAA/DDD/BBB Xpath: /AAA/*/*

Paths compuestos (II)  Selección de todos los descendientes  Sintaxis: //  Si se expresa en primer lugar indica todos los descendientes desde el raíz  Ejemplos Xpath: //BBB Xpath: /AAA/DDD//*

Paths compuestos (III)  Selección del nodo padre  Sintaxis:..  Ejemplos Xpath: //BBB/.. Xpath: /AAA/DDD/CCC/..

Paths compuestos (IV)  Selección del nodo contexto  Sintaxis:.  Ejemplos Xpath: //BBB/. Xpath: /AAA/DDD/.

Predicados  Filtros para refinar más un location path  Consisten en expresiones booleanas  Se aplican a cada Location path por separado  Sintaxis: path[expresion-booleana]  Ejemplos:  Primer nodo AAA en todo el documento  //AAA[1]  Evaluación del contenido del nodo elemento  //AAA[.=“contenido”]  Evaluación de nodos con atributo dado o atributo con valor dado    Nodos con nombre de elemento dado  //*[name()=‘AAA’]  //AAA  Comparación de valores: = = !=  >= 12]  Ojo: Si Xpath detro de XML: ‘<‘  ‘<’  Concatenaciones booleanas: and, or  >= 12 < 20]

Location Paths sin abreviar  Hasta ahora hemos visto forma abreviada (/,.., //,.)  La más utilizada  Location path completo compuesto por: eje::test-nodos[predicado]  Partes  eje: Indica la dirección en la que viajar  test-nodos: Condición que han de cumplir los nodos  predicado: Expresiones booleanas adicionales. Opcional  Ejemplo  Versión abreviada:  Versión sin abreviar: child::AAA/child::BBB/child::CCC/attribute::id

Location Paths sin abreviar (II)  Tipos de ejes  Equivalentes a forma abreviada: child (nombre), self (self::* .), parent (parent::* ..)  Nuevos. Siempre con referencia del nodo de contexto  ancestor  nodo padre y ascendencia hasta raíz  ancestor-or-self  incluye el nodo contexto  descendant  nodos hijos y descendencia  descendant-or-self  incluye el nodo contexto  following-sibling  siguientes nodos al mismo nivel que el de contexto hijos del mismo padre  preceding-sibling  como el anterior pero anteriores al nodo contexto  preceding  anteriores nodos hasta ppio del doc a cualquier nivel  following  siguientes nodos hasta fin del doc a cualquier nivel  namespace  todos los nodos de un namespace

Location Paths sin abreviar (III)  Ejemplos forma completa Xpath: /AAA/BBB/descendant::* Xpath:/AAA/BBB/DDD/CC C/ancestor::* Xpath://CCC/preceding- sibling::*

Expresiones generales  Otras expresiones aparte de Location Paths  Numéricas  Cadenas  Booleanas  Números  Expresión Xpath válida:  Todos los números Xpath se consideran 8-byte, IEEE 754 (doubles de Java). ± e-324 ~ ± e+308  Operaciones permitidas: + - * div mod  Ejemplo expresión XPath:  (8.5E45 * 2)

Expresiones generales (II)  Cadenas  Cualquier cadena unicode es una expresión Xpath válida  Únicamente no puede contener el carácter que la delimite (‘ ó “).  Ejemplos: “hola” “τσπξχ” “ضغلمنسش”  Las cadenas se pueden comparar  “hola” != “Hola”  Booleanos  Valores: true() false()  Las comparaciones devuelven booleanos: “1.5” >= “- 1.2”  Los operadores lógicos agrupan booleanos:  not( (1.5 < 5) and true() ) or false()

Funciones  Xpath dispone de varias funciones. Las funciones pueden devolver: booleanos, números, grupos de nodos, cadenas  Las conversiones automáticas son posibles excepto desde y hacia grupos de nodos  Funciones de nodos  position()  Devuelve número de nodo dentro de la lista de nodos de contexto (XSLT) Person,  last()  Devuelve el último nodo de la lista de contexto  count(nodeset)  Cuenta el nº de nodos del conjunto pasado como argumento  Ej. count(//BBB)  2

Funciones (II)  Funciones de nodos (II)  id(nodeset)  Devuelve nodo con atributo definido como ID en DTD igual a argumento  Ej. id(“a1234”)   local-name(nodeset)  Nombre de primer nodo en nodeset sin prefijo  name(nodeset)  Nombre de primer nodo completo  Ejemplo: name(//aa:AAA) = “aa:AAA”, local- name(//aa:AAA) = “AAA”  namespace-uri(nodeset)  Devuelve uri de namespace de primer nodo en nodeset

Funciones (III)  Ejemplos funciones de nodo XPath: //BBB[position() mod 2 = 0] XPath: //BBB[last()]

Funciones (IV)  Funciones de cadena  string(cualquier-cosa)  Convierte a cadena  Ej. string(true())  “true”  Con nodesets saca texto de primer nodo  aa bb  string(//*) = “aa”  starts-with(cadena-completa,subcadena)  Ej. starts-with(“Pepelui”, “Pe”)  true()  contains(cadena-completa,subcadena)  Ej: contains(“aeIou”, “eI”)  true()  substring-before(cadena, subcadena)  Ej: substring-before(“DD/MM/AAAA”, “/”)  “DD”  substring-after(cadena, subcadena)  Ej: substring-after(“DD/MM/AAAA”, “/”)  “MM/AAAA”  substring (cadena, inicio [,longitud])  Ej: substring(“DD/MM/AAAA”, 3)  “/MM/AAAA”  string-length(cadena)  Ej: substring(“DD/MM/AAAA”, 3)  “/MM/AAAA”  normalize-space(cadena)  Elimina espacios extra

Funciones (V)  Ejemplos funciones cadenas XPath: //*[string- length(name()) > 3] XPath: > 2]

Funciones (VI)  Funciones booleanas  true() false() not(expr)  Funciones numéricas  number()  convierte a número  number(nodeset) = number(string(nodeset))  Ej.: number(“7.5”) = 7.5 number(“Pedro”) = NaN  Extracción de parte entera  round(4.6) = 5  floor(4.6) = 4  ceiling(4.2) = 5  sum(nodeset)  Convierte cada nodo en número y lo suma

Funciones (VII)  Ejemplo funciones numéricas XPath: //BBB[ position() = floor(last() div ) or position() = ceiling(last() div ) ]