1 / 38

XQuery 1.0 - una herramienta para trabajar con XML

XQuery 1.0 - una herramienta para trabajar con XML. Volkert Brosda. Ind íce. ¿Que es XML? ¿Como funciona XQuery 1.0? ¿Que potencial tiene XQuery 1.0?. XML - una supervisi ón. texto con etiquetas representa texto, numeros, cadenas de bits

Download Presentation

XQuery 1.0 - una herramienta para trabajar con XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XQuery 1.0 - una herramienta para trabajar con XML Volkert Brosda

  2. Indíce ¿Que es XML? ¿Como funciona XQuery 1.0? ¿Que potencial tiene XQuery 1.0?

  3. XML - una supervisión • texto con etiquetas • representa texto, numeros, cadenas de bits • especifica información plana como bien estructurada • meta lenguaje • independiente de plataformas (UNICODE) • bien aceptado en el mercado • fácil pero tambien técnologia para aplicaciones profesionales • herramientas simples/ herramientas complejas • existe desde mas de 10 años • lenguaje para maquinas abstractas - independiente de la infraestructura

  4. element reglas de consistencia (opcional y variable) XML - instancia attribute name space

  5. XML - reglas de consistencia • las reglas de consistencia definen un lenguaje cierto • vocabulario e estructura • especificada por modelos de contenido (ocurrencia de texto/elemento) • DTD • especificada por datos XML (tipos de datos) • XML schema • lenguajes usados por familias de aplicaciones • Docbook, WSDL • jerarquía de lenguajes • MUMASY (VDMA 66320), BMEcat • arquitectura para jerarquías de lenguajes • DITA (Darwin Information Typing Architecture), dita.xml.org

  6. XML - reglas de consistencia • XML resulta en un meta lenguaje • definida por vocabulario y estructura • especificada por modelos de contenido (ocurrencia de texto/elemento) • DTD • especificada por datos XML (tipos de datos) • XML schema

  7. Error: hay que definir antes el titulo XML - DTD def. element conexión entre modules: entidades modelo de contenido, ocurrencia def. attribute

  8. estructura de tipos XML - XML schema xs:element define XML element espacio de nombres

  9. XML - reglas de consistencia • lenguajes XML usados por familias de aplicaciones • Docbook, WSDL

  10. XML - reglas de consistencia • jerarquía de lenguajes • mumasy (VDMA 66320), http://www.schema.de/eds/de/hierarchy-onClick.st4w

  11. XML - reglas de consistencia • arquitectura para jerarquías de lenguajes • dita, dita.xml.org/

  12. árbol de derivación de instancia XML XML - procesamiento • basado a la sintaxis (parser XML)

  13. XML - procesamiento 4 procesos simultaneamente

  14. XML - procesamiento • modelo de datos • texto, binario • DOM, SAX • XPath 2.0 • secuencia de entradas • tipos de XML schema

  15. paso XML - procesamiento eje • XPath 2.0 -> secuencias de instancias XML • expressiones de camino • secuencia de pasos • eje, prueba de nodos, predicados • ejemplos de XPath 2.0 • ./child::node() • /child::faq/@class • //faqans • //faqans/../@* • //faqquest[contains(.,"XQuery")][contains(.,"SQL")]/..//text() • //faqitem[2] == //faqitem[position()=2] prueba de nodos predicado

  16. XML - almacenamiento • memoria principal • sistema de filas/streams • sistema de base de datos ORDBMS • diseño individual, extensiones propias • XML a CLOB/BLOB con índices • ISO SQL/XML: tipo XML, XPath, XQuery integrado • XMLELEMENT, XMLFOREST

  17. XML - almacenamiento numero de la rama XPath • sistema de base de datos ORDBMS • conjunto de expresiones de XPath

  18. XML - almacenamiento • sistemas nativos de manejo de bases de datos del tipo XML • Tamino, eXist, Berkeley XML DB, XQuantum • soportan XPath, XQuery • trabajan con colecciones (container e índices)

  19. Formatos XHTML XSL-FO (PS/PDF) otro XML - presentación Contextos medio perfil otro

  20. XML - áreas de aplicación • distribución de información • de una fuente a muchos destinos • a mucha gente pero individual • integración de sistemas • datos • servicios • negocios • separación del trabajo • contenido, estructura, presentación, proceso

  21. XML - demandas al procesamiento XML • formar instancias XML (àrboles) • soportar modules • soportar reglas de consistencia • tipos, nombres de espacio • soportar acceso a diferentes fuentes (de XML) simultaneamente • soportar la combinación de instancias XML

  22. varias entradas XQuery 1.0 - función general resultado instancia XML se trata de tipos, espacios de nombres, modules

  23. XQuery 1.0 - situación en 2007 • especificación: • http://www.w3.org/TR/xpath-datamodel/ • http://www.w3.org/TR/xpath-functions/ • http://www.w3.org/TR/xpath20/ • http://www.w3.org/TR/xquery/ • desarrollo: 1999 - 2007 • uso: http://www.w3.org/XML/Query/#implementations • marketing: http://www.stylusstudio.com/xquery_primer.html

  24. expressión de camino en XPath 2.0 XQuery 1.0 - ejemplo acceso a sistemas nativos

  25. XQuery 1.0 - ejemplo mas complejo let$faq :=./root()//faq for$tema indistinct-values(doc('temas_autores.xml') //tema/text()) return<result tema=“{$tema}">{ for$ans in$faq//faqans wherecontains($ans,$tema) return for$autores indoc('temas_autores.xml')//docente where$autores/tema[.=$tema] return ( $autores/nombre, $ans/text()) } </result>

  26. XQuery 1.0 - F L W O R • SQL: S F W G O -> proceso FWGOS • Select From Where Group by Order by • XQuery: F L W O R > proceso FLWOR • For Let Where Order by Return

  27. XQuery 1.0 - F L W O R • FX FY = ciclo caja en caja con tuplas de X x Y, • X, Y se define por XPath 2.0 el orden es fijo

  28. XQuery 1.0 - F L W O R • LX= asignación de variables X • siempre secuencias definidas por XPath 2.0! • variables nunca cambian su valor! • expresiones de caminos de XPath 2.0 = F R • W condición = restricción del producto cruz de tuplas • O = ordenar referente el producto cruz de tuplas • R = construcción de datos XML

  29. XQuery 1.0 - ejemplo varias entradas

  30. XQuery 1.0 - ejemplo ordenar (ciclo caja en caja)

  31. forma canonica XQuery 1.0 - ejemplo trabajo a la forma „canonica“

  32. espacio de nombres XQuery 1.0 - funciones

  33. XQuery 1.0 - conexión a tipos declare function local:element_acc($x as xs:string) as xs:element*{ let$element:=doc($x)//xs:element return$element }; conexión a tipos -> -si no se menciona -> fácil -si se menciona -> seguro

  34. XQuery 1.0 - herramientas • use cases (W3C), tutoriales en el web • editor XML • „sand box“ (eXist) • debugger XPath, XQuery • transformación de datos SQL (mapper) • desarrollo visual de consultas (stylus studio) • generación de la documentación: xqDoc

  35. Comparación • SQL 2003 • 1o DB diséno, 2o datos insertado a tablas • uso profesional solo en conexión a lenguajes huesped • SQL/XML procesa datos XML dentro de tablas • XQuery • datos + estructura (+ reglas de consistencia) • uso profesional también sin conexión a lenguajes huesped • datos de sistemas SQL primero se transforma a XML

  36. Comparación • XSLT 2.0 • proceso de árbol con templates (reglas de producción) • funciones dadas adicionales (>XPath 2.0) • conexión a sistemas de publicación • sintaxis de XML • XQuery • ciclos caja en caja con secuencias • funciones/modulos definidos del usuario (>XPath 2.0) • integración con sistemas de manejo de base de datos Los dos usan XPath 2.0 y su modelo de datos.

  37. Bajo desarrollo • manipulación de datos, transacciones • integrado en SQL/XML • tratamiento con puro texto • Stored Procedures • conexión a lenguajes de programación (XQJ) • XqueryX - formato XML por XQuery

  38. XQuery • parece simple • técnologia seria Resumen • XQuery soporta muy bien aplicaciónes XML actual • datos con estructuras flexibles • integraciòn de varias entradas • filas, streams, colecciones, tablas de SQL • XQuery soporta aplicaciones nuevas • información no completa, rápida, con vida corta • „mejor datos nuevos que datos cambiados“ • aplicaciones del mercado global • orientación a servicios (contratos), multiples lenguajes

More Related