Piotr Czapiewski Wydział Informatyki ZUT.  Extensible Markup Language  Język znaczników  Human-readable and machine-readable  Niezależny od platformy.

Slides:



Advertisements
Podobne prezentacje
1 Dzisiejszy wykład Klasa string wersja prosta wersja ze zliczaniem odwołań Wyjątki Specyfikator volatile.
Advertisements

Analiza wywołania i przebiegu przerwań w systemie Linux
Łódź, 29 października 2012 roku


Java Server Faces Tomasz Nowak.
C++ w Objectivity Marcin Michalak s1744. Pomocne pakiety: Data Definition Language (DDL). Standard Template Library (STL). Active Schema.
Sposoby implementacji asocjacji
XPath XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
Java applet (c.d.) Nguyen Hung Son Uniwersytet Warszawski.
XPath. XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
Nguyen Hung Son Uniwersytet Warszawski
2 grudnia 2004 Wykorzystanie XML-a we własnych aplikacjach Patryk Czarnik (na podstawie wykładu Szymona Zioło)
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
Java vs C# Michał Prządka Tomasz Nowak
XSL Extensible Stylesheet Language 6 listopada 2003.
Modele dostępu do dokumentu XML
XPath. XSL – część 1..
GUI Struktury Spotkanie integracyjne Nazwa wydziału: EAIiE Nazwa katedry: Informatyka Miejsce i data prezentacji: Kraków,
Standardy tworzenia dokumentów [Michał Kuciapski ]
Testowanie oprogramowania metodą badania pokrycia kodu
Łukasz Monkiewicz.
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Project made by Bartosz Rumiński Kl. III i rok 2007/2008.

142 JAVA – sterowanie i wątki public class A20 extends javax.swing.JApplet implements ActionListener { private int licznik = 0; private JTextField t =
Aplikacje sieciowe Obiekty typu Socket. ServerSocket ClientSocket Socket ClientSocket Socket.
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
„Tworzenie aplikacji sieciowych w języku Java”
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Networking Prezentacja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Threads Prezentacja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Java – overview.
Projektowanie warstwy serwera Współpraca z XML. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Projektowanie warstwy serwera Wprowadzenie. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Programowanie w Internecie 2 Ćwiczenie 4 – Transformacja danych Prowadzący: Rajmund Pączkowski.
Podstawy C# Grupa .NET PO.
Programowanie obiektowe III rok EiT
Integracja aplikacji Wykład 2
Monika Rokosik Katarzyna Rola. Wykrywanie kursu akcji poniżej dołka znajdującego się pomiędzy dwoma sąsiednimi górkami, z których późniejsza jest mniejsza.
REKURENCJA.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Podstawy inżynierii oprogramowania Zofia Kruczkiewicz
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
PRZELICZNIK DŁUGOŚCI w programie NetBeans IDE autorzy: Michał Mrozek i Marcin Mrugała 2012.
Krzysztof Manuszewski
db4o Kacper Skory Marcin Talarek
Programowanie obiektowe – zastosowanie języka Java SE
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 – coś na temat Klas Piotr Rosik
Inicjalizacja i sprzątanie
Seminarium problemowe
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
PIO. Autor -Zofia Kruczkiewicz1 Wykład 1-część druga Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowania (część biznesowa aplikacji) iteracyjno-rozwojowy.
PIO. Autor -Zofia Kruczkiewicz1 Wykład 1-część druga Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowania (część biznesowa aplikacji) iteracyjno-rozwojowy.
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
Definiowanie i wykonywanie procesów biznesowych z wykorzystaniem Business Process Execution Language Recenzent: prof. dr hab. Mykhaylo Yatsymirskyy Promotor:
Cz.8 Zdarzenia. Refleksja – przypomnienie Event Programowanie zdarzeniowe Do dzieła!
xHTML jako rozszerzenie HTML
Warsztaty C# Część 2 Grzegorz Piotrowski Grupa.NET PO
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Silverlight 4 dla Windows Phone 7
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
OCPJP Inner classes.
Wprowadzenie Przygotował Adam Zawadzki
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
The Poznan University of Economics Department of Management Information Systems XML - wprowadzenie.
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
XML we własnych aplikacjach Patryk Czarnik. Wykorzystanie XML we własnych aplikacjach Jak korzystać z XML we własnych aplikacjach? Odczyt zawartości dokumentów.
(według:
Zapis prezentacji:

Piotr Czapiewski Wydział Informatyki ZUT

 Extensible Markup Language  Język znaczników  Human-readable and machine-readable  Niezależny od platformy  Reprezentacja dokumentów lub danych ustrukturalizowanych

 Deklaracja XML  Element główny (root)  Elementy  Zagnieżdżanie  Atrybuty  Elementy puste Java i XML. Wydanie III Brett D. McLaughlin Justin Edelson Helion 2007

 Metajęzyk  Brak zdefiniowanych znaczników, jedynie reguły znakowania  Aplikacje XML  Specjalizowane języki bazujące na XML  XHTML, WML, SVG, MathML, DocBook, WSDL, … XML DTD XHTML XHTML

Definiowanie struktury dokumentu XML DTDXML Schema

<!DOCTYPE kontakty [ <!ATTLIST kontakt typ (prywatny | służbowy) "prywatny" id ID #REQUIRED> <!ATTLIST telefon typ (stacjonarny | komórkowy) "stacjonarny"> ]> Piotr Czapiewski Jan Kowalski

<xs:schema version="1.0" xmlns:xs=" targetNamespace=" xmlns=" elementFormDefault="qualified">

 Zapobieganie konfliktom nazw  Elementy z różnych „słowników” w jednym dokumencie  Deklaracja: prefiks oraz URI Product Description Product Description

Product Description Product Description <root xmlns:h=" xmlns:f=" Product Description African Coffee Table <root xmlns:h=" xmlns:f=" Product Description African Coffee Table Coffee Table Coffee Table

DOM, SAX Parsowanie JAXB Wiązanie XML XPath Przeszukiwanie XSLT Przekształcenia

100 sposobów na Excel 2007 PL David Hawley, Raina Hawley Helion pytań na temat e-biznesu do Piotra Majewskiego Piotr Majewski Helion

private static class MyHandler extends DefaultHandler { public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {... } public void endElement(String uri, String localName, String qName) throws SAXException {... } public void characters(char[] ch, int start, int length) throws SAXException {... } };

private static class MyHandler extends DefaultHandler { private int bookCount = 0; private List titles = new ArrayList (); private boolean book = false; private boolean title = false; public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {... } public void endElement(String uri, String localName, String qName) throws SAXException {... } public void characters(char[] ch, int start, int length) throws SAXException {... }

public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if(qName.equals("book")) { bookCount++; book = true; } else if(qName.equals("title")) { title = true; } public void endElement(String uri, String localName, String qName) throws SAXException { if(qName.equals("book")) book = false; else if(qName.equals("title")) title = false; } public void characters(char[] ch, int start, int length) throws SAXException { if(book && title) { String title = new String(ch, start, length); titles.add(title); }

SAXParser sax = SAXParserFactory.newInstance().newSAXParser(); MyHandler handler = new MyHandler(); sax.parse("books3.xml", handler); int bookCount = handler.getBookCount(); List titles = handler.getTitles(); System.out.println(bookCount); System.out.println(titles);

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.parse("books3.xml"); Element root = doc.getDocumentElement(); String rootName = root.getNodeName(); System.out.println("Element główny: " + rootName); NodeList bookNodeList = root.getElementsByTagName("book"); int n = bookNodeList.getLength(); System.out.println("Liczba książek: " + n);

NodeList bookNodeList = root.getElementsByTagName("book"); int n = bookNodeList.getLength(); for(int i=0; i<n; i++) { Node bookNode = bookNodeList.item(i); NodeList childNodes = bookNode.getChildNodes(); for(int j=0; j<childNodes.getLength(); j++) { Node node = childNodes.item(j); if(node.getNodeType() == Node.ELEMENT_NODE && node.getNodeName().equals("title")) { String title = node.getTextContent(); System.out.println(title); }

@XmlType(name = "book") public class Book { private String id; private String title; private String author; private String isbn; private Integer year; private String publisher; private Integer public String getId() { return id; } public void setId(String id) { this.id = id; }

@XmlRootElement(name = "books") public class BookList { private List bookList = new ArrayList = "book") public List getBookList() { return bookList; } public void setBookList(List bookList) { this.bookList = bookList; }

JAXBContext context = JAXBContext.newInstance(BookList.class); Unmarshaller um = context.createUnmarshaller(); FileReader fr = new FileReader("books.xml"); BookList bl = (BookList) um.unmarshal(fr); fr.close(); for(Book b : bl.getBookList()) System.out.println(b.getId() + " " + b.getTitle());

 XML Path Language  Adresowanie części dokumentu XML  Przykłady ścieżek  Element:/books/book/title 

 /books/book/title    //person  //person [ profile/age<25 and profile/gender='female' ] / name

 Funkcje operujące na liczbach:  fn:abs(...)  fn:round(...), fn:floor(...), fn:ceiling(...)  fn:avg(…), fn:min(…), fn:max(…)  Operacje na łańcuchach tekstowych:  fn:concat(string1, string2)  fn:substring(string, start, length)  fn:string-length(...)  fn:lower-case(...), fn:upper-case(...)  fn:contains(string1, string2), fn:starts-with(string1, string2)

 //book[ starts-with(title, "Java") ]  //book[ contains(title, "Java") ]/title  //book[ count(//author)>1 ]/title  //book[ string-length(title)>100 ]/title

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.parse("test100k.xml"); XPath xpath = XPathFactory.newInstance().newXPath(); String name = doc); String card = xpath.evaluate("//person[name='Nagasaki']/creditcard", doc);

String expr1 = "//person[profile/age<25 and profile/gender='female']/name"; NodeList nodes = (NodeList) xpath.evaluate(expr1, doc, XPathConstants.NODESET); for(int i=0; i<nodes.getLength(); i++) { Node n = nodes.item(i); System.out.println(n.getTextContent()); }

String expr2 = "//person[profile/age<25 and profile/gender='female']"; NodeList nodes2 = (NodeList) xpath.evaluate(expr2, doc, XPathConstants.NODESET); for(int i=0; i<nodes2.getLength(); i++) { Node n = nodes2.item(i); String name = xpath.evaluate("name", n); String age = xpath.evaluate("profile/age", n); String = xpath.evaluate(" address", n); System.out.println(name + ", " + age + ", " + ); }

Transformacje XSLT

 XSL Transformations  Język przekształceń dokumentów XML  Tłumaczenie dokumentu XML z jednego formatu na inny  Arkusz XSLT  „Przepis” na transformację  Zbudowany z reguł  Wykorzystanie XPath

Helion Onepress

<xsl:stylesheet version="1.0„ xmlns:xsl=" <xsl:apply-templates select="//ksiazka[(marka='1' or marka='2') and typ='1' and status='1']" />...

... Helion Onepress...