Maciej Zabielski 15 stycznia 2003

Slides:



Advertisements
Podobne prezentacje
HTML 5.0 Marcin Badurowicz .
Advertisements

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Przekształcanie dokumentów XML - XSL
Piotr Szwed Katedra Automatyki AGH
Deklaracje i definicje klas w C++ Składowe, pola, metody Konstruktory
Rafał Hryniów Tomasz Pieciukiewicz
Język ANSI C Funkcje Wykład: Programowanie komputerów
Wprowadzenie do C++ Zajęcia 2.
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
SQL Server Native XML Web Services
PROGRAMOWANIE STRUKTURALNE
Język SQL ma ciekawe możliwości tworzenia zapytań
XPath XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
XSL – przekształcenia XML-a
XPath. XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema
Standardy pokrewne 13 listopada XLink – dowiązania w XML-u Linki jakie znamy (HTML): łączą dwa dokumenty: źródło i cel linku, źródłem linku jest.
Definiowanie typów dokumentów Część 2: XML Schema 16 października 2003.
XML w integracji aplikacji 11 grudnia XML w integracji aplikacji Cel: umożliwienie wymiany danych pomiędzy aplikacjami: aplikacje/komponenty/moduły.
XSL – część 2.
Inne standardy związane z XML-em XSLT – część 22 XPath 2.0 / XSLT 2.0 / XQuery 1.0 XML Schema system typów XQuery 1.0 and XPath 2.0 Data Model.
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema.
Visual Studio Codename „Orcas”, LINQ
XSL Extensible Stylesheet Language 6 listopada 2003.
XPath. XSL – część 1..
Inne standardy związane z XML-em XSLT – część 22 XPath 2.0 / XSLT 2.0 / XQuery 1.0 XML Schema system typów XQuery 1.0 and XPath 2.0 Data Model.
Współprogramy III Ten wykład ma na celu pokazanie kolejnej ciekawej możliwości, którą oferują współprogramy. Wspólprogramy reprezentujące wyrażenia regularne.
XML Schema XML Schema2 Definiowanie języków XML, SGML – metajęzyki. Definiowanie języków (zastosowań, typów dokumentów, schematów): –określanie.
27/09/ Języki programowania 1 Piotr Górczyński Instrukcje warunkowego wyboru.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Aplikacje ASP.NET Arkadiusz Twardoń ZTiPSK
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
XPath, XSLT, (and XSL:FO)
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Co to jest studium przypadku?
Metody autoryzacji użytkowników wymaga integracji z systemem operacyjnym nie wymaga logowania mała pewność mechanizmu wymaga logowania duża pewność mechanizmu.
BD-LAB6 Wojciech Pieprzyca
Resource Description Framework
Projektowanie warstwy serwera Współpraca z XML. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak Michał Kucal
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak Michał Kucal
Ściański1 Formularze na stronach WWW Z formularzy korzystamy zarówno wówczas gdy przekazujemy informacje (np. przy zakładaniu konta pocztowego), jak również
Podstawy programowania
Programowanie strukturalne i obiektowe
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
XML – eXtensible Markup Language 3
ANNA BANIEWSKA SYLWIA FILUŚ
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Specjalizacja "Dziennikarstwo On-line„ asynchroniczny JavaScript i XML – AJAX Część 6 Prowadzący: Dariusz Jaruga
Autor: Joanna Barańska Promotor: dr inż. Paweł Figat Konsultant:
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Temat 7: Instrukcje warunkowe
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
Adresowanie elementów struktury dokumentów - XPath.
XML w bazach danych.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Projektowanie postaci formularza:
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
SQL Server Analysis Services Action!
Aplikacje i usługi internetowe
Aplikacje i usługi internetowe
Haskell Składnia funkcji.
Zapis prezentacji:

Maciej Zabielski 15 stycznia 2003 XML – Języki Zapytań Maciej Zabielski 15 stycznia 2003

XML - Języki Zapytań, Maciej Zabielski 2003 Wprowadzenie W ciągu ostatnich kilku lat technologia XML zyskiwała na popularności. Ciągle pojawiają się nowe systemy oparte o ta technologie. XML wykorzystywany jest do wielu rzeczy, od wymiany danych miedzy systemami po bazy danych. W związku z tym ilość danych zapisanych w tym formacie ciągle wzrasta i konieczna jest efektywna metoda ich przeszukiwania za pomocą języków zapytań. XML - Języki Zapytań, Maciej Zabielski 2003

XML - Języki Zapytań, Maciej Zabielski 2003 XQuery Status: W3C Working Draft Pełna specyfikacja (około 180 stron): http://www.w3.org/TR/xquery/ Podstawowe założenie: „inteligentne” przeszukiwanie danych fizycznie zapisanych w formacie XML lub udostępnionych przez middleware. XML - Języki Zapytań, Maciej Zabielski 2003

Struktura modułu XQuery Pełne zapytanie składa się z 3 części Pierwsze dwie to tzw. Query Prolog – są opcjonalne. Pierwsza cześć zawiera deklaracje Namespace i polecenia importu schematów (XML Schema) Namespace xsd = ‘http://www.w3.org/2000/01/XMLSchema’ Druga cześć może zawierać funkcje zdefiniowana przez użytkownika. Np: funkcja obliczającą silnie ze znalezionej liczby: Define function factorial(xsd:integer $n) returns xsd:integer{ if($n eq 0) then 1 else $n * factorial($n – 1) } XML - Języki Zapytań, Maciej Zabielski 2003

Struktura modułu XQuery Trzecia część zawiera samo zapytanie. <Results> <Description>Factorial of 10<Description/> <Value>{factorial(10)}<Value/> <Results/> Tak jak tutaj, może się składać np. z konstruktora elementów (Element Constructor ) który w tym przypadku stworzy element Results. W tym przykładzie zostanie wywołana nasza funkcja Factorial z parametrem value = 10 a rezultat zostanie wstawiony do elementu Value. XML - Języki Zapytań, Maciej Zabielski 2003

Inne Typy Zapytań XQuery FLWR Expressions („flower”) Path Expressions Element Constructors Conditional Expressions Function Calls XML - Języki Zapytań, Maciej Zabielski 2003

XML wykorzystywany w przykladach XML - Języki Zapytań, Maciej Zabielski 2003

XQuery FLWR Expressions Ten typ wyrażeń jest jednym z najciekawszych stosowanych w XQuery. Przypominają SELECT stosowany w SQL – cechuje go podobna funkcjonalność. FLWR to skrót od „For-Let-Where-Return” – są to trzy podstawowe klauzule z których składa się wyrażenie. Przykładowe wyrażenie FLWR które znajduje wszystkie elementy których cena jest poniżej średniej: for $i in document("data/items.xml")//item let $avg_price := avg(document("data/items.xml")//item/price) where $i/price < $avg_price return <LowPricedItems> {$i/itemno, $i/description, $i/price} </LowPricedItems> For -> łączy zmienna „i” do listy elementów „item” z dokumentu items.xml Let -> oblicza średnią wartość (price) ze wszystkich elementów „item” Where -> wybiera te elementy „item” których cena (price) jest poniżej średniej (spośród tych w „i”) Return -> tworzy elementy „LowPricedItem” zawierające itemno, description i price wybranych elementoów. XML - Języki Zapytań, Maciej Zabielski 2003

XQuery Path Expressions Wyrażenia typu „Path” („ścieżka”) są dokładnie takimi samymi wyrażeniami jakie były stosowane w standardzie XML Path Language (XPath). Pełna specyfikacja XPath 1.0: http://www.w3.org/TR/xpath W uproszczeniu można powiedzieć, ze wyrażenie typu XPath to opis w jaki sposób należy nawigować po XML’u (reprezentowanym w postaci drzewa) aby dotrzeć do szukanej wartości. Następujący przykład zwraca wszystkie elementy „item” których tym „itemType” ma wartość "Purchasing item„ document("data/items.xml")/ixq:items/item[ItemType = "Purchasing item"] XML - Języki Zapytań, Maciej Zabielski 2003

XQuery - Element Constructors „Konstruktory Elementów” mogą być przydatne wtedy, gdy podczas budowania zapytania, chcemy aby częścią wyniku były nowe elementy. Przykład konstruktora: <newElement>Hello World</newElement> Taki zapis spowoduje utworzenie nowego elementu nazwanego „newElement” z jednym węzłem tekstowym o wartości „Hello World” (tzw. child text node). Nowe elementy mogą zawierać albo z góry ustalona wartość, albo wartość wyliczona lub pochodzącą z innej części zapytania. Poniższy przykład stworzy nowy element „MyListOfExpensiveItems” zawierający jako „dzieci” (child elements) wszystkie elementy „item” których cena była większa niż $1000. <MyListOfExpensiveItems>{ document("data/items.xml")/ixq:items/item [price > 1000] }</MyListOfExpensiveItems> XML - Języki Zapytań, Maciej Zabielski 2003

XQuery – Conditional Expressions Wyrażenia warunkowe w XQuery maja następującą postać: if <wyrazenie_warunkowe> then <wyrazenie_1> else <wyrazenie_2> W wyrażeniach warunkowych „wyrazenie_warunkowe” powinno prowadzić do TRUE lub FALSE. Jeżeli „wyrazenie_warunkowe” przyjmie wartość TRUE wartość całego wyrażenia warunkowego jest taka sama jak wartość wyrażenia #1 – w przeciwnym przypadku będzie to wartość wyrażenia #2. XML - Języki Zapytań, Maciej Zabielski 2003

XQuery - Implementacje Jedna z implementacji, w postaci demo, jest dostępna na stronie Microsoft: http://xqueryservices.com/ Przykłady zapytań można znaleźć na http://www.w3.org/TR/xmlquery-use-cases/#xmp-queries-results XQuery Expression: <bib> { for $b in document("http://www.bn.com/bib.xml")/bib/book where $b/publisher = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/title } </book> } </bib> Query Results: <bib> <book year="1994"> <title>TCP/IP Illustrated</title> </book> <book year="1992"> <title>Advanced Programming in the Unix environment</title> </book> XML - Języki Zapytań, Maciej Zabielski 2003

XML - Języki Zapytań, Maciej Zabielski 2003 Software AG – Tamino XQuery Demo http://tamino.demozone.softwareag.com/demoXQuery XML - Języki Zapytań, Maciej Zabielski 2003

Bibliografia & Inne Linki XML Path Language (XPath) http://www.w3.org/TR/xpath XQuery 1.0: An XML Query Language http://www.w3.org/TR/xquery/ Microsoft's XQuery Prototype http://xqueryservices.com/ The Quest for an XML Query Standard http://www.xml.com/pub/a/1999/03/quest/ http://www.perfectxml.com/articles/xml/xquery.asp http://www.devx.com/xml/Article/8046/0/page/1 http://www.searchtools.com/info/xml.html#search-query http://www.cc.gatech.edu/computing/Database/faculty/xml/xmlql.html XML - Języki Zapytań, Maciej Zabielski 2003