Łódź, 29 października 2012 roku

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Przekształcanie dokumentów XML - XSL
Rafał Hryniów Tomasz Pieciukiewicz
Implementacja procesora XSLT w języku Ocaml
Programowanie w Internecie (Internet Programming) Krystyna Dziubich p. 521 XSL Formatting Objects.
WEB SERVICE Stefan Rutkowski.
XPath XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
XSL – przekształcenia XML-a
XSLT – część XSLT – część 22 Rodzaje przetwarzania XSLT (1) Przetwarzanie sterowane strukturą dokumentu źródłowego (ang. push): –przechodzimy.
XPath. XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
XML w integracji aplikacji
Definiowanie typów dokumentów Część 2: XML Schema 16 października 2003.
11 XML w integracji aplikacji. 22 Cel: umożliwienie wymiany danych pomiędzy aplikacjami: aplikacje/komponenty/moduły posługują się różnymi formatami wewnętrznymi,
2 grudnia 2004 Wykorzystanie XML-a we własnych aplikacjach Patryk Czarnik (na podstawie wykładu Szymona Zioło)
XSL – część 2.
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema.
XML – standardy pokrewne XML – standardy pokrewne2 Standardy wykorzystywane w przetwarzaniu dokumentów XML XPath – XML Path Language. XSLT.
XSL Extensible Stylesheet Language 6 listopada 2003.
Zaawansowana składnia XML XML Schema
XSLT – część XSLT – część 22 Rodzaje przetwarzania XSLT (1) Przetwarzanie sterowane strukturą dokumentu źródłowego: –przechodzimy po strukturze.
Modele dostępu do dokumentu XML
XPath. XSL – część 1..
Wykorzystanie XML-a we własnych aplikacjach 23 października 2003.
11 Przypomnienie: zaliczenie ćwiczeń Kolokwium zaliczeniowe na ćwiczeniach 16 maja: zadania z technik omawianych na ćwiczeniach, można korzystać z notatek.
SAX i DOM wykorzystanie XML-a we własnych aplikacjach
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.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Model – View - Controler
Platforma .Net i Vs.Net.
Generyczne Repozytorium Dokumentów w XML
Inżynieria oprogramowania Lecture XXX JavaTM – część IV: IO
Dokumentowanie wymagań w języku XML
XPath, XSLT, (and XSL:FO)
XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss.
Standardy tworzenia dokumentów [Michał Kuciapski ]

P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Projektowanie warstwy serwera Współpraca z XML. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Proszę skopiować eclipse najlepiej do c:\temp uruchamiamy rejestrujemy jako academic.
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Programowanie w Internecie 2 Ćwiczenie 4 – Transformacja danych Prowadzący: Rajmund Pączkowski.
XML eXtensible Markup Language. 2 Prowadzący Michał Kozielski p. 413 mail:
Aplikacje Internetowe
Web Serwisy w praktyce Technologie internetowe ( )
Instytut Tele- i Radiotechniczny WARSZAWA
HTML DOM, XHTML – cel, charakterystyka
XML – eXtensible Markup Language 4. XSL transformations (XSLT) XSLT (ang. eXtensible Stylesheet Language Transformations) jest opartym na XML językiem.
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
JAVA.
XML – eXtensible Markup Language
Podstawy programowania
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.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Iga Lewandowska I EMII MU
Adresowanie elementów struktury dokumentów - XPath.
XML w bazach danych.
Obiektowe metody projektowania systemów XML eXtensible Markup Language.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
The Poznan University of Economics Department of Management Information Systems XML - wprowadzenie.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Aplikacje i usługi internetowe
PGO Interfejsy Michail Mokkas.
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

Łódź, 29 października 2012 roku Technologie mgr inż. Tomasz Węgliński email: tweglinski@kis.p.lodz.pl www: http://www.tweglinski.pl

WYKŁAD 8 XML & Java 2/15

Na następnym wykładzie… Plan wykładu Na wykładzie omówimy sobie następujące zagadnienia: Wczytywanie dokumentów XML Parsowanie XML za pomocą DOM i SAX Tworzenie dokumentów XML Kontrola poprawności dokumentów XML Wyszukiwanie informacji i XPath Transformacje XSL Na następnym wykładzie… Wykład 8: XML & Java 3/15

Przykłady wykorzystane w wykładzie pochodzą z książki: Literatura Przykłady wykorzystane w wykładzie pochodzą z książki: Źródło: http://helion.pl Wykład 8: XML & Java 4/15

Java + XML = przenośny kod + przenośne dane Dlaczego Java i XML? Zarówno Java jak i XML to języki darmowe i niezależne od platformy. Java + XML = przenośny kod + przenośne dane - Sun Microsystems (obecnie Oracle) - W drugiej połowie lat 90. IBM, Apache i inne firmy oraz organizacje opracowały szereg doskonałych bibliotek języka Java, które służyły do przetwarzania języka XML. Począwszy od wersji Java SE 1.4, firma Sun umieściła najważniejsze z nich w standardowej edycji platformy Java. Obecnie Java udostępnia szerszy wachlarz interfejsów, parserów, procesorów, struktur publikacji i narzędzi dla XML-a niż jakikolwiek inny język programowania. Wykład 8: XML & Java 5/15

Bardziej znane parsery, to: Apache Xerces, http://xml.apache.org Narzędzia Bardziej znane parsery, to: Apache Xerces, http://xml.apache.org IBM XML4J, http://alphaworks.ibm.com James Clark's XP, www.jclark.com OpenXML, www.openxml.org Oracle XML Parser, http://technet.oracle.com Tim Bray's Lark and Larval, www.textuality.com Najważniejsze procesory XML, to: Apache Xalan, http://xml.apache.org James Clarks's XT,www.jclark.com Lotus XSL Processor, www.alphaworks.ibm.com Oracle XSL Processor, http://technet.oracle.com Keith Visco's XSL:P, www.clc-marketing.com Michalel Kay's SAXON, http://users.iclway.co.uk Wykład 8: XML & Java 6/15

W ramach projektu Apache XML powstało wiele inicjatyw Projekt Apache W ramach projektu Apache XML powstało wiele inicjatyw mających na celu zaproponowanie nowych otwartych standardów opartych na XML. Projektami opartymi na Javie, są m.in.: Xerces - parser XML Xalan - procesor stylów XSLT Cocoon - publikacje webowe bazujące na XML FOP - procesor XSL-FO Xang - dynamiczne strony działające na serwerze w języku JavaScript SOAP - Simple Object Access Protocol Batik - narzędzie dla SVG (Scalable Vector Graphic) Crimson - parser XML, rozwinięcie parsera X SUN'a Wykład 8: XML & Java 7/15

Wczytywanie dokumentu XML Wczytywanie XML Wczytywanie dokumentu XML Procedura: Aby wczytać dokument XML potrzebny jest obiekt klasy DocumentBuilder, który uzyskamy z fabryki DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Wczytujemy plik z lokalnych zasobów: File f = . . . Document doc = builder.parse(f); Lub też z adresu URL: URL u = . . . Document doc = builder.parse(u); Lub też z dowolnego strumienia wejściowego: InputStream in = . . . Document doc = builder.parse(in); Wykład 8: XML & Java 8/15

Wczytywanie dokumentu XML (c.d.) Wczytywanie XML Wczytywanie dokumentu XML (c.d.) obiekt typu Document reprezentuje dokument XML za pomocą struktury drzewiastej utworzonej w pamięci. Składa się ona z obiektów, które implementują interfejs Node oraz jego interfejsy pochodne Wykład 8: XML & Java 9/15

Tworzenie dokumentu XML Tworzenie XML Tworzenie dokumentu XML Procedura: Tworzenie drzewa DOM, generacja pustego dokumentu za pomocą metody newDocument klasy DocumentBuilder: Document doc = builder.newDocument(); Do tworzenia elementów dokumentu wykorzystamy metodę klasy Document: Element rootElement = doc.createElement(rootName) Element childElement = doc.createElement(childName); Do tworzenia węzłów tekstowych użyjemy f-kcji createTextNode: Text textNode = doc.createTextNode(textContents); Dodajemy elementy do korzenia i odpowiednich węzłów: doc.appendChild(rootElement); rootElement.appendChild(childElement); childElement.appendChild(textNode); Wykład 8: XML & Java 10/15

Tworzenie dokumentu XML (c.d.) Tworzenie XML Tworzenie dokumentu XML (c.d.) Procedura: 4. Atrybuty elementów określamy korzystając z metody setAttribute klasy Element: rootElement.setAttribute(name, value); 5. Jeżeli chcemy dodać element DOCTYPE: Transformer t = TransformerFactory.newInstance().newTransformer(); t.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, systemIdentifier); t.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, publicIdentifier); t.setOutputProperty(OutputKeys.INDENT, "yes"); t.setOutputProperty(OutputKeys.METHOD, "xml"); t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); t.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(file))); Wykład 8: XML & Java 11/15

Kontrola poprawności dokumentu XML względem jego DTD Walidacja DTD Kontrola poprawności dokumentu XML względem jego DTD Procedura: Informujemy fabrykę DocumentBuilderFactory, aby wykorzystywała weryfikację poprawności dokumentów: factory.setValidating(true); Aby parser ignorował odstępy między elementami (umyślne tabulacje): factory.setIgnoringElementContentWhitespace(true); Instalujemy obiekt obsługi błędów, implementujący interfejs ErrorHandler, który zawiera następujące trzy metody: void warning(SAXParseException exception); void error(SAXParseException exception); void fatalError(SAXParseException exception); Obiekt obsługi błędów instalujemy za pomocą metody: builder.setErrorHandler(handler); Wykład 8: XML & Java 13/15

Walidacja DTD Dodatkowe metody: Wykład 8: XML & Java 14/15

Kontrola poprawności dokumentu XML względem XML Schema Walidacja XML Schema Kontrola poprawności dokumentu XML względem XML Schema Procedura – taka sama jak przy DTD jednakże: Należy włączyć obsługę przestrzeni nazw nawet, gdy nie są one używane w dokumencie XML: factory.setNamespaceAware(true); Przygotowujemy fabrykę do obsługi schematów za pomocą następującego fragmentu kodu: final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); Zobaczmy to w praktyce! Wykład 8: XML & Java 15/15