Plan prezentacji. Przetwarzanie dokumentów XML JAXP SAX JAXP SAX DOM STAX XSLT. Przedmiot: XML i jego zastosowania. Dr inż. Stanisław Polak JAXB
|
|
- Feliks Piotrowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Plan prezentacji Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak JAXP SAX DOM STAX XSLT Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki JAXB Inne interfejsy programistyczne JDOM dom4j XOM Dr inż. Stanisław Polak 1 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 2 Przedmiot: XML i jego zastosowania JAXP SAX JAXP JAXP SAX Wstęp Ang. Java API for XML Processing Parsowanie, transformacja i walidacja dokumentów XML Standardowy komponent Javy Interfejsy: SAX DOM StAX XSLT Ang. Simple API for XML Standardowy interfejs do parsowania plików XML, oparty na modelu zdarzeniowym, stworzony w celu ujednolicenia dostępu do różnych parserów XML Cechy: Model zdarzeniowy Obiektowość Prostota Sekwencyjność dostęp do danych w trakcie przetwarzania Szybkość Małe zużycie pamięci Pierwotnie zdefiniowany w języku Java Dr inż. Stanisław Polak 3 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 4 Przedmiot: XML i jego zastosowania
2 SAX JAXP Ilustracja działania SAX SAX JAXP SAX API 1 <? xml version=" 1.0 "?> 2 <m u l l> 3 <t e x t x="1"> 4 Przyk ł adowa zawarto ś ć 5 </ t e x t> 6 </ page> 7 <m u l l> Dokument XML SAXParser 1 startdocument ( ) 2 startelement ( ) 3 characters ( ) 4 endelement ( ) parse() Aplikacja throw SAXException Ważniejsze metody parse() startdocument() enddocument() startelement() endelement() characters() processinginstruction() error() fatalerror() warning() notationdecl() unparsedentitydecl() resolveentity() Dr inż. Stanisław Polak 5 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 6 Przedmiot: XML i jego zastosowania SAX JAXP Pakiety SAX JAXP Przetwarzanie dokumentu org.xml.sax org.xml.sax.ext org.xml.sax.helpers javax.xml.parsers 1 import java. io. ; 2 import javax. xml. parsers. ; 3 import org. xml. sax. ; 4 import org. xml. sax. helpers. ; 5 class SAX { 6 public static void main ( String [ ] args ) { 7 try { 8 SAXParserFactory fabryka = SAXParserFactory. newinstance ( ) ; 9 SAXParser parser = fabryka. newsaxparser ( ) ; 10 XMLReader czytelnik = parser. getxmlreader ( ) ; 11 czytelnik. setcontenthandler ( new MojHandler()); 12 czytelnik. parse ( new InputSource ( args [ 0 ] ) ) ; 13 } catch ( ParserConfigurationException e ) { 14 System. out. println ( e. tostring ( ) ) ; 15 } catch ( SAXException e ) { 16 System. out. println ( e. tostring ( ) ) ; 17 } catch ( IOException e ) { 18 System. out. println ( e. tostring ( ) ) ; 19 } 20 } // main ( ) 21 / / 22 private static class MojHandler extends DefaultHandler { 23 public void startdocument ( ) throws SAXException { 24 System. out. println ( "Wykryto początek dokumentu " ) ; 25 } 26 public void enddocument ( ) throws SAXException { 27 System. out. println ( "Wykryto koniec dokumentu " ) ; 29 } // MojHandler 30 } //SAX Dr inż. Stanisław Polak 7 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 8 Przedmiot: XML i jego zastosowania
3 SAX JAXP Obsługa walidacji DOM Wstęp class SAX { 3 public static void main ( String [ ] args ) { 4 try { fabryka. setvalidating(true) ; 7 fabryka. setnamespaceaware(true) ; czytelnik. seterrorhandler (MojHandlerBledow()); } } // main ( ) 14 / / 15 private static class MojHandlerBledow implements ErrorHandler { 16 public void warning ( SAXParseException e ) throws SAXException { 17 System. out. println ( e. getmessage ( ) ) ; // gdy np. encja zosta ł a zadeklarowana kilka razy 18 } public void error ( SAXParseException e ) throws SAXException { 21 System. out. println ( e. getmessage ( ) ) ; // gdy dokument n i e j e s t v a l i d 22 } public void fatalerror ( SAXParseException e ) throws SAXException { 25 System. out. println ( e. getmessage ( ) ) ; //gdy dokument n i e j e s t w e l l formed 26 } 27 } // MojHandlerBledow //SAX Ang. Document Object Model Obiektowy model dostępu, strukturalizacji i nadawania stylu dokumentom Wersje: DOM Level 0 nie stanowi oficjalnego standardu W3C DOM Level 1 oficjalna rekomendacja W3C DOM Level 2 możliwość łączenia zawartości dwóch dokumentów, obsługa przestrzeni nazw DOM Level 3 obsługa XML Base, obsługa walidacji, możliwość ładowania i zachowywania dokumentów, mieszane słowniki znaczników DOM level 4 w trakcie opracowywania Cechy: Dostęp do całości dokumentu Możliwość tworzenia i modyfikacji dokumentu Duże zużycie pamięci Niska efektywność Dr inż. Stanisław Polak 9 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 10 Przedmiot: XML i jego zastosowania Reprezentacja graficzna dokumentu DOM API 1 <t a b l e> 2 <tbody> 3 <t r> 4 <td>shady Grove</ td> 5 <td>aeolian</ td> 6 </ t r> 7 <t r> 8 <td>over the River, Charlie</ td> 9 <td>dorian</ td> 10 </ t r> 11 </ tbody> 12 </ t a b l e> Ważniejsze metody newdocument() parse() Dr inż. Stanisław Polak 11 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 12 Przedmiot: XML i jego zastosowania
4 Pakiety Przetwarzanie istniejącego dokumentu Użycie JAXP API org.w3c.dom javax.xml.parsers 1 import javax. xml. parsers. ; 2 import org. xml. sax. ; 3 import java. io. ; 4 import org. w3c. dom. ; 5 6 public class DOM{ 7 static Document dokument ; 8 public static void main ( String argv [ ] ) { 9 DocumentBuilderFactory fabryka = DocumentBuilderFactory. newinstance ( ) ; 10 try { 11 DocumentBuilder budowniczy = fabryka. newdocumentbuilder ( ) ; 12 dokument = budowniczy. parse ( new File ( argv [ 0 ] ) ) ; 13 } catch ( ParserConfigurationException e ) { 14 e. printstacktrace ( ) ; 15 } catch ( SAXException e ) { 16 e. printstacktrace ( ) ; 17 } catch ( IOException e ) { 18 e. printstacktrace ( ) ; 19 } 20 NodeList elements = dokument. getelementsbytagname ( "tr" ) ; 21 Node tr = elements. item ( 0 ) ; 22 Node element = tr. getfirstchild ( ) ; 23 while ( element!= null ){ 24 if ( element. getnodetype ( ) == Node. ELEMENT_NODE ) 25 System. out. println ( element. getnodename ( ) ) ; // Wypisze : td 26 element = element. getnextsibling ( ) ; 27 } 29 } Dr inż. Stanisław Polak 13 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 14 Przedmiot: XML i jego zastosowania Przetwarzanie istniejącego dokumentu Użycie DOM Level 3 Load and Save Tworzenie dokumentu 1 import org. w3c. dom. bootstrap. DOMImplementationRegistry ; 2 import org. w3c. dom. ls. DOMImplementationLS ; 3 import org. w3c. dom. ls. LSParser ; 4 import org. w3c. dom. ; 5 6 public class DOM{ 7 static Document dokument ; 8 public static void main ( String argv [ ] ) { 9 try{ 10 DOMImplementationRegistry fabryka = DOMImplementationRegistry. newinstance ( ) ; 11 DOMImplementationLS impl = ( DOMImplementationLS ) fabryka. getdomimplementation ( "LS" ) ; 12 LSParser budowniczy = impl. createlsparser ( DOMImplementationLS. MODE_SYNCHRONOUS, null ) ; 13 dokument = budowniczy. parseuri ( argv [ 0 ] ) ; 14 } 15 catch ( ClassNotFoundException e ) { 16 e. printstacktrace ( ) ; 17 } 18 catch ( InstantiationException e ) { 19 e. printstacktrace ( ) ; 20 } 21 catch ( IllegalAccessException e ) { 22 e. printstacktrace ( ) ; 23 } 24 NodeList elements = dokument. getelementsbytagname ( "tr" ) ; 25 Node tr = elements. item ( 0 ) ; 26 Node element = tr. getfirstchild ( ) ; 27 while ( element!= null ){ 28 if ( element. getnodetype ( ) == Node. ELEMENT_NODE ) 29 System. out. println ( element. getnodename ( ) ) ; 30 element = element. getnextsibling ( ) ; 31 } 32 } 33 } 1 import javax. xml. parsers. ; 2 import org. w3c. dom. ; 3 public class DOMCreate{ 4 static Document dokument ; 5 public static void main ( String argv [ ] ) { 6 DocumentBuilderFactory fabryka = DocumentBuilderFactory. newinstance ( ) ; 7 try { 8 DocumentBuilder budowniczy = fabryka. newdocumentbuilder ( ) ; 9 dokument = budowniczy. newdocument ( ) ; 10 Element root = ( Element ) dokument. createelement ( " rootelement " ) ; 11 dokument. appendchild ( root ) ; 12 root. appendchild ( dokument. createtextnode ( "Some " ) ) ; 13 root. appendchild ( dokument. createtextnode ( " " ) ) ; 14 root. appendchild ( dokument. createtextnode ( "text " ) ) ; 15 } catch ( ParserConfigurationException e ) { 16 e. printstacktrace ( ) ; 17 } 18 } 19 } Dr inż. Stanisław Polak 15 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 16 Przedmiot: XML i jego zastosowania
5 Obsługa walidacji Serializacja dokumentu Użycie JAXP API class DOM { 3 public static void main ( String [ ] args ) { fabryka. setvalidating(true) ; 6 fabryka. setnamespaceaware(true) ; 7 try { budowniczy. seterrorhandler (MojHandlerBledow()); } } // main ( ) 14 / / 15 private static class MojHandlerBledow implements ErrorHandler { 16 public void warning ( SAXParseException e ) throws SAXException { 17 System. out. println ( e. getmessage ( ) ) ; // gdy np. encja zosta ł a zadeklarowana kilka razy 18 } public void error ( SAXParseException e ) throws SAXException { 21 System. out. println ( e. getmessage ( ) ) ; // gdy dokument n i e j e s t v a l i d 22 } public void fatalerror ( SAXParseException e ) throws SAXException { 25 System. out. println ( e. getmessage ( ) ) ; //gdy dokument n i e j e s t w e l l formed 26 } 27 } // MojHandlerBledow //SAX import javax. xml. transform. ; 3 import javax. xml. transform. dom. ; 4 import javax. xml. transform. stream. 5 6 public class DOMCreate{ 7 static Document dokument ; 8 9 public static void main ( String argv [ ] ) { 10 try{ TransformerFactory fabryka = TransformerFactory. newinstance ( ) ; 13 Transformer transformer = fabryka. newtransformer ( ) ; 14 Source we = new DOMSource ( dokument ) ; 15 Result wy = new StreamResult ( System. out ) ; 16 transformer. transform ( we, wy ) ; 17 } catch ( ParserConfigurationException e ) { 18 e. printstacktrace ( ) ; 19 } catch ( TransformerConfigurationException e ) { 20 System. out. println ( "This DOM does not support transforms." ) ; 21 } catch ( TransformerException e ) { 22 System. out. println ( " Transform failed." ) ; 23 } 24 } 25 } Dr inż. Stanisław Polak 17 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 18 Przedmiot: XML i jego zastosowania Serializacja dokumentu Użycie DOM Level 3 Load and Save STAX JAXP STAX import org. w3c. dom. bootstrap. ; 3 import org. w3c. dom. ls. ; 4 5 public class DOMCreate{ 6 static Document dokument ; 7 8 public static void main ( String argv [ ] ) { 9 try{ DOMImplementationRegistry fabryka = DOMImplementationRegistry. newinstance ( ) ; 12 DOMImplementationLS impl = ( DOMImplementationLS ) fabryka. getdomimplementation ( "LS" ) ; 13 LSSerializer pisarz = impl. createlsserializer ( ) ; 14 String str = pisarz. writetostring ( dokument ) ; 15 System. out. println ( str ) ; 16 }catch ( ParserConfigurationException e ) { 17 e. printstacktrace ( ) ; 18 } catch ( ClassNotFoundException e ) { 19 e. printstacktrace ( ) ; 20 } catch ( InstantiationException e ) { 21 e. printstacktrace ( ) ; 22 } catch ( IllegalAccessException e ) { 23 e. printstacktrace ( ) ; 24 } 25 } 26 } Ang. Streaming API for XML API w języku Java do odczytu i zapisu dokumentów XML Dostarcza standardowego interfejsu dwukierunkowego 1 parsera strumieniowego Oferuje prostszy, w stosunku do SAX, model programistyczny oraz bardziej efektywne, w stosunku do DOM, zarządzanie pamięcią 1 odczyt / zapis dokumentu XML Dr inż. Stanisław Polak 19 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 20 Przedmiot: XML i jego zastosowania
6 STAX JAXP Sposoby korzystania STAX JAXP Pakiety Za pomocą kursora Interfejsy XMLStreamReader XMLStreamWriter Metody geteventtype() get... ()... Najważniejsze różnice Za pomocą zdarzeń Interfejsy XMLEventReader XMLEventWriter Metody nextevent()... Obiekty utworzone z podklas XMLEvent są niezmienne (ang. immutable) i mogą być stosowane w tablicach, listach i mapach; ponadto mogą być przekazywane za pośrednictwem aplikacji nawet jeżeli parser przeniósł się do kolejnego zdarzenia. Można dodawać i usuwać zdarzenia ze strumienia zdarzeń XML w dużo prostszy sposób niż w przypadku podejścia za pomocą kursora. javax.xml.stream javax.xml.stream.events Dr inż. Stanisław Polak 21 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 22 Przedmiot: XML i jego zastosowania STAX JAXP Przetwarzanie istniejącego dokumentu Podejście za pomocą kursora STAX JAXP Przetwarzanie istniejącego dokumentu Podejście za pomocą zdarzeń 1 import javax. xml. stream. ; 2 import java. net. URL ; 3 import java. io. ; 4 5 public class StAXRead { 6 public static void main ( String [ ] args ) { 7 String input = args [ 0 ] ; 8 try { 9 URL u = new URL ( input ) ; 10 InputStream we = u. openstream ( ) ; 11 XMLInputFactory fabryka = XMLInputFactory. newinstance ( ) ; 12 XMLStreamReader parser = fabryka. createxmlstreamreader ( we ) ; 13 for ( int zdarzenie = parser. next ( ) ; zdarzenie!= XMLStreamConstants. END_DOCUMENT ; zdarzenie = parser. next ( ) ) { 14 switch ( zdarzenie ){ 15 case XMLStreamConstants. START_ELEMENT : 16 System. out. print ( " Wykryto znacznik otwieraj ący: "+parser. getlocalname ( )+"\n" ) ; 17 break ; } 20 } 21 parser. close ( ) ; 22 } 23 catch ( XMLStreamException ex ) { 24 System. out. println ( ex ) ; 25 } 26 catch ( IOException ex ) { 27 System. out. println ( " IOException while parsing " + input ) ; 29 } 30 } 1 import javax. xml. stream. ; 2 import javax. xml. stream. events. ; 3 import java. io. ; 4 5 public class StAXRead { 6 public static void main ( String [ ] args ) { 7 XMLEventReader czytelnik=null ; 8 try{ 9 czytelnik = XMLInputFactory. newinstance ( ). createxmleventreader ( new java. io. FileInputStream ( args [ 0 ] ) ) ; 10 while ( czytelnik. hasnext ( ) ) { 11 XMLEvent zdarzenie = ( XMLEvent ) czytelnik. nextevent ( ) ; 12 System. out. print ( zdarzenie ) ; 13 } 14 } 15 catch ( FileNotFoundException e ) { 16 e. printstacktrace ( ) ; 17 } 18 catch ( XMLStreamException e ) { 19 e. printstacktrace ( ) ; 20 } 21 } 22 } Dr inż. Stanisław Polak 23 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 24 Przedmiot: XML i jego zastosowania
7 STAX JAXP Tworzenie dokumentu Podejście za pomocą kursora STAX JAXP Tworzenie dokumentu Podejście za pomocą zdarzeń 1 import javax. xml. stream. ; 2 import java. io. ; 3 4 class StAXWrite{ 5 public static void main ( String [ ] args ) { 6 try{ 7 OutputStream out = new FileOutputStream ( " data. xml " ) ; 8 XMLOutputFactory fabryka = XMLOutputFactory. newinstance ( ) ; 9 XMLStreamWriter pisarz = fabryka. createxmlstreamwriter ( out ) ; 10 pisarz. writestartdocument ( "UTF -8", "1.0 " ) ; 11 pisarz. writestartelement ( " greeting " ) ; 12 pisarz. writeattribute ( "id", "g1" ) ; 13 pisarz. writecharacters ( " Hello StAX " ) ; 14 pisarz. writeenddocument ( ) ; 15 pisarz. flush ( ) ; 16 pisarz. close ( ) ; 17 out. close ( ) ; 18 } 19 catch ( FileNotFoundException e ) { 20 e. printstacktrace ( ) ; 21 } 22 catch ( XMLStreamException e ) { 23 e. printstacktrace ( ) ; 24 } 25 catch ( IOException e ) { 26 e. printstacktrace ( ) ; 27 } 29 } //Na wyj ś ciu : <?xml version = 1.0 encoding= UTF 8?><greeting id= g1 >Hello StAX</greeting> 1 import javax. xml. stream. ; 2 import javax. xml. stream. events. ; 3 4 class StAXWrite{ 5 public static void main ( String [ ] args ) { 6 try{ 7 XMLOutputFactory fabryka = XMLOutputFactory. newinstance ( ) ; 8 XMLEventWriter pisarz = fabryka. createxmleventwriter ( System. out ) ; 9 XMLEventFactory xmleventfactory = XMLEventFactory. newinstance ( ) ; 10 StartDocument startdokument = xmleventfactory. createstartdocument ( "UTF -8", "1.0 " ) ; 11 pisarz. add ( startdokument ) ; 12 StartElement greetingse = xmleventfactory. createstartelement ( "", "", " greeting " ) ; 13 pisarz. add ( greetingse ) ; 14 Attribute atrybut = xmleventfactory. createattribute ( "id", "g1" ) ; 15 pisarz. add ( atrybut ) ; 16 Characters tekst = xmleventfactory. createcharacters ( " Hello StAx " ) ; 17 pisarz. add ( tekst ) ; 18 EndElement greetingee = xmleventfactory. createendelement ( "", "", " greeting " ) ; 19 pisarz. add ( greetingee ) ; 20 EndDocument ed = xmleventfactory. createenddocument ( ) ; 21 pisarz. add ( ed ) ; 22 pisarz. flush ( ) ; 23 pisarz. close ( ) ; 24 } 25 catch ( XMLStreamException e ) { 26 e. printstacktrace ( ) ; 27 } 29 } //Na wyj ś ciu : <?xml version = 1.0 encoding= UTF 8?><greeting id= g1 >Hello StAx</greeting> Dr inż. Stanisław Polak 25 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 26 Przedmiot: XML i jego zastosowania XSLT JAXP XSLT WE / WY XSLT JAXP XSLT API ciąg bajtów/znaków (np. plik, połączenie sieciowe), strumień zdarzeń SAX, drzewo DOM, parser strumieniowy StAX (od Java SE 6). Dr inż. Stanisław Polak 27 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 28 Przedmiot: XML i jego zastosowania
8 XSLT JAXP Pakiety XSLT JAXP Przekształcenie dokumentu WE na WY javax.xml.transform javax.xml.transform.dom javax.xml.transform.sax javax.xml.transform.stax javax.xml.transform.stream public class TransformerPlik { 3 4 public static void main ( String [ ] args ) { try { 7 System. out. println ( "Początek działania." ) ; 8 9 / tworzymy transformer ( z XSLT albo bez ) / 10 TransformerFactory fabryka = TransformerFactory. newinstance ( ) ; 11 Transformer transformer ; 12 if ( args. length >= 3) 13 transformer = fabryka. newtransformer ( new StreamSource ( args [ 2 ] ) ) ; 14 else 15 transformer = fabryka. newtransformer ( ) ; / ź rod ło i cel przekszta ł cenia / 18 Source src = new StreamSource ( args [ 0 ] ) ; 19 Result res = new StreamResult ( args [ 1 ] ) ; / i p r z e k s z t a ł camy / 22 System. out. println ( "Początek przekształcania." ) ; 23 transformer. transform ( src, res ) ; 24 System. out. println ( "Koniec przekształcania." ) ; 25 } catch ( Exception e ) { 26 System. out. println ( e. getmessage ( ) ) ; 27 e. printstacktrace ( ) ; 29 } 30 } Dr inż. Stanisław Polak 29 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 30 Przedmiot: XML i jego zastosowania JAXB JAXB Charakterystyka JAXB Architektura Ang. Java Architecture for XML Binding Realizuje ideę wiązania XML w Javie Mapowanie hierarchii klas na schemat dokumentu XML Wchodzi w skład JavaEE oraz JAVA SE 1.6 Dr inż. Stanisław Polak 31 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 32 Przedmiot: XML i jego zastosowania
9 JAXB Przykład Hello World JAXB Proces wiązania Plik XML Schema 1. Generowanie klas 2. Kompilowanie klas 3. Odczyt danych (Unmarshal) 4. Generowanie drzewa zawartości 5. Walidacja (opcjonalna) 6. Przetwarzanie zawartości 7. Zapis danych XML (Marshal) 1 <? xml version=" 1.0 " e n c o d i n g="utf -8"?> 2 <xsd:schema x m l n s : x s d=" http: // /2001/ XMLSchema " 3 x m l n s : j x b=" http: // java.sun.com /xml /ns/jaxb " 4 j x b : v e r s i o n=" 2.0 "> 5 6 <x s d : e l e m e n t name=" Greetings " t y p e=" GreetingListType "/> 7 8 <xsd:complextype name=" GreetingListType "> 9 <x s d : s e q u e n c e> 10 <x s d : e l e m e n t name=" Greeting " t y p e=" GreetingType " 11 maxoccurs=" unbounded "/> 12 </ x s d : s e q u e n c e> 13 </ xsd:complextype> <xsd:complextype name=" GreetingType "> 16 <x s d : s e q u e n c e> 17 <x s d : e l e m e n t name="text " t y p e=" xsd:string "/> 18 </ x s d : s e q u e n c e> 19 <x s d : a t t r i b u t e name=" language " t y p e=" xsd:language "/> 20 </ xsd:complextype> </ xsd:schema> 1 $ xjc p hello hello. xsd 2 parsing a schema... 3 compiling a schema... 4 hello / GreetingListType. java 5 hello / GreetingType. java 6 hello / ObjectFactory. java Kompilacja schematu hello.xsd Dr inż. Stanisław Polak 33 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 34 Przedmiot: XML i jego zastosowania Przykład Hello World JAXB Wygenerowane pliki Plik GreetingType.java Przykład Hello World JAXB Wygenerowane pliki Plik GreetingListType.java 1 package hello ; public class GreetingType { ( name = "Text ", required = true ) 5 protected String text ; ( name = " language " ) ( CollapsedStringAdapter. class ) ( name = " language " ) 9 protected String language ; public String gettext ( ) { 12 return text ; 13 } public void settext ( String value ) { 16 this. text = value ; 17 } public String getlanguage ( ) { 20 return language ; 21 } public void setlanguage ( String value ) { 24 this. language = value ; 25 } 26 } 1 package hello ; public class GreetingListType { ( name = " Greeting ", required = true ) 5 protected List<GreetingType> greeting ; 6 7 public List<GreetingType> getgreeting ( ) { 8 if ( greeting == null ) { 9 greeting = new ArrayList<GreetingType >() ; 10 } 11 return this. greeting ; 12 } 13 } Dr inż. Stanisław Polak 35 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 36 Przedmiot: XML i jego zastosowania
10 Przykład Hello World JAXB Wygenerowane pliki Plik ObjectFactory.java 1 package hello ; public class ObjectFactory { 4 5 private final static QName _Greetings_QNAME = new QName ( "", " Greetings " ) ; 6 7 public ObjectFactory ( ) { 8 } 9 10 public GreetingListType creategreetinglisttype ( ) { 11 return new GreetingListType ( ) ; 12 } public GreetingType creategreetingtype ( ) { 15 return new GreetingType ( ) ; 16 } 17 ( namespace = "", name = " Greetings " ) 19 public JAXBElement<GreetingListType> creategreetings ( GreetingListType value ) { 20 return new JAXBElement<GreetingListType >(_Greetings_QNAME, GreetingListType. class, null, value ) ; 21 } 22 } Dr inż. Stanisław Polak 37 Przedmiot: XML i jego zastosowania Przykład Hello World JAXB Przykład użycia Plik Hello.java 1 import java. util. ; 2 import javax. xml. bind. ; 3 import hello. ; 4 5 public class Hello { 6 private ObjectFactory of ; 7 private GreetingListType grlist ; 8 9 public static void main( String argv [ ] ) { 10 Hello h = new Hello ( ) ; 11 h. make ( " Bonjour, madame ", "fr" ) ; 12 h. make ( "Hey, you ", "en" ) ; 13 h. marshal ( ) ; 14 } 15 public Hello ( ){ 16 of = new ObjectFactory ( ) ; 17 grlist = of. creategreetinglisttype ( ) ; 18 } public void make( String t, String l ){ 21 GreetingType g = of. creategreetingtype ( ) ; 22 g. settext ( t ) ; 23 g. setlanguage ( l ) ; 24 grlist. getgreeting ( ). add ( g ) ; 25 } public void marshal ( ) { 28 try { 29 JAXBElement<GreetingListType> gl = of. creategreetings ( grlist ) ; 30 JAXBContext jc = JAXBContext. newinstance ( " hello " ) ; 31 Marshaller m = jc. createmarshaller ( ) ; 32 m. marshal ( gl, System. out ) ; 33 } catch ( JAXBException jbe ) {... } 34 } 35 } Dr inż. Stanisław Polak 38 Przedmiot: XML i jego zastosowania Przykład Hello World JAXB Dokument wynikowy JDOM Inne interfejsy programistyczne JDOM Ogólna charakterystyka 1 <? xml version=" 1.0 " e n c o d i n g="utf -8" standalone=" yes "?> 2 <G r e e t i n g s> 3 <G r e e t i n g l a n g u a g e="fr"> 4 <Text>Bonjour, madame</ Text> 5 </ G r e e t i n g> 6 <G r e e t i n g l a n g u a g e="en"> 7 <Text>Hey, you</ Text> 8 </ G r e e t i n g> 9 </ G r e e t i n g s> hello.xml API oparte na drzewie, przeznaczone tylko do obsługi XML i tylko w języku Java. Inaczej niż w DOM, węzły drzewa są reprezentowane jako konkretne klasy, a nie interfejsy Nie zawiera własnego parsera Obiekt DOM Document można konwertować w obiekt Document w JDOM Dane dla drzewa mogą pochodzić ze źródeł nie-xml Drzewo JDOM można modyfikować Możliwość serializacji drzewa Dr inż. Stanisław Polak 39 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 40 Przedmiot: XML i jego zastosowania
11 JDOM Inne interfejsy programistyczne Tworzenie dokumentu 1 import org. jdom2. ; 2 import org. jdom2. input. ; 3 import org. jdom2. output. ; 4 import java. io. ; 5 6 public class JDOM { 7 public static void main ( String [ ] args ) { 8 Element message = new Element ( " message " ) ; 9 message. setattribute ( " type ", " normal " ) ; 10 message. addcontent ( new Text ( " Hello World!" ) ) ; 11 Element root = new Element ( "root " ) ; 12 root. addcontent ( message ) ; 13 Document doc = new Document ( root ) ; 14 XMLOutputter xout = new 15 XMLOutputter ( Format. getprettyformat ( ) ) ; 16 try{ 17 xout. output ( doc, System. out ) ; 18 } 19 catch ( IOException e ){} 20 } 21 } dom4j Inne interfejsy programistyczne dom4j Ogólna charakterystyka Biblioteka do pracy z XML, XPath oraz XSLT Mniejszy i szybszy w stosunku do JDOM Węzły reprezentowane przez interfejsy Java Możliwość tworzenia dokumentu na podstawie zdarzeń SAX lub drzewa DOM i zapisywania go w postaci zdarzeń SAX lub drzewa DOM Na wyjściu <?xml version="1.0" encoding="utf-8"?> <root> <message type="normal">hello World!</message> </root> Dr inż. Stanisław Polak 41 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 42 Przedmiot: XML i jego zastosowania dom4j Inne interfejsy programistyczne XOM Inne interfejsy programistyczne Tworzenie dokumentu 1 import org. dom4j. Document ; 2 import org. dom4j. DocumentHelper ; 3 import org. dom4j. Element ; 4 import org. dom4j. io. OutputFormat ; 5 import org. dom4j. io. XMLWriter ; 6 import java. io. ; 7 8 public class DOM4J { 9 10 public Document createdocument ( ) { 11 Document document = DocumentHelper. createdocument ( ) ; 12 Element root = document. addelement ( " root " ) ; 13 Element message = root. addelement ( " message " ) 14. addattribute ( " type ", " normal " ) 15. addtext ( " Hello World!" ) ; 16 return document ; 17 } public static void main ( String [ ] args ) { 20 DOM4J dom4j = new DOM4J ( ) ; 21 Document document = dom4j. createdocument ( ) ; 22 OutputFormat format = OutputFormat. createprettyprint ( ) ; 23 try{ 24 XMLWriter writer = new XMLWriter ( System. out, format ) ; 25 writer. write ( document ) ; 26 } 27 catch ( IOException e ){} 29 } Drzewiasta reprezentacja dokumentu XML Koncepcje zapożyczone z JDOM Używa parsera SAX do stworzenia drzewa... Funkcjonalności, które nie występują w JDOM Obsługa XInclude Lepsze wsparcie dla dokumentów nieprawidłowych, w tym walidacja bez odrzucenia nieprawidłowych dokumentów i zgłaszanie więcej niż jednego błędu walidacji na dokument... Dr inż. Stanisław Polak 43 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 44 Przedmiot: XML i jego zastosowania
12 XOM Inne interfejsy programistyczne Źródła Tworzenie dokumentu Źródła I 1 import nu. xom. ; 2 3 public class XOM { 4 5 public static void main ( String [ ] args ) { 6 7 Element root = new Element ( "root " ) ; 8 Element message = new Element ( " message " ) ; 9 Attribute type = new Attribute ( "type ", " normal " ) ; 10 message. addattribute ( type ) ; 11 message. appendchild ( " Hello World!" ) ; 12 root. appendchild ( message ) ; 13 Document doc = new Document ( root ) ; 14 String result = doc. toxml ( ) ; 15 System. out. println ( result ) ; 16 } 17 } Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią. Elliotte Rusty Harold. An Introduction to StAX. Elliotte Rusty Harold. XOM Tutorial. Jason Hunter, i in. JDOM Wolfgang Laun. A JAXB Tutorial. Dr inż. Stanisław Polak 45 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 46 Przedmiot: XML i jego zastosowania Źródła Źródła II MetaStuff Ltd. DOM4j Quick start. Oracle Sun. The Java Web Services Tutorial. Inc. Sun Microsystems. Java API for XML Processing (JAXP) Tutorial. html/intro.html. W3C. Document Object Model (DOM) Level 3 Core Specification. Dr inż. Stanisław Polak 47 Przedmiot: XML i jego zastosowania
SAX i DOM wykorzystanie XML-a we własnych aplikacjach. Simple API for XML Parsing Document Object Model
SAX i DOM wykorzystanie XML-a we własnych aplikacjach Simple API for XML Parsing Document Object Model 1 SAX - wstęp Definicja: standardowy interfejs do parsowania plików XML oparty na modelu zdarzeniowym
Bardziej szczegółowoProcesowanie dokumentów XML
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Procesowanie dokumentów XML Programowanie w Javie 2 mgr inż. Michał Misiak Cechy XML Sformalizowany zapis informacji restrykcyjne
Bardziej szczegółowoXML in own applications
XML in own applications Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management 2010/11 Introduction XML in own applications Models Generyczne drzewo
Bardziej szczegółowoWykorzystywanie parsera DOM w programach Java i PL/SQL
Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser
Bardziej szczegółowoPodstawy XML-a. Zaawansowane techniki programowania
Podstawy XML-a Zaawansowane techniki programowania Dokumenty XML XML = ang. Extensible Markup Language rozszerzalny język znaczników
Bardziej szczegółowoXML i Java 1. XML. 1.1. Budowa dokumentu XML. Projektowanie systemów informatycznych
1. XML 1.1. Budowa dokumentu XML XML i Java XML (ang. Extensible Markup Language) rozszerzalny język znaczników. Jest to standard mający bardzo szeroki zakres zastosowań. Dokument XML składa się z następujących
Bardziej szczegółowoJAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT.
JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT. MATERIAŁY: http://www.mkyong.com/tutorials/java-xml-tutorials/ http://ant.apache.org http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,
Bardziej szczegółowoXML we własnych aplikacjach
XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 Wykorzystanie XML we własnych aplikacjach Odczyt zawartości dokumentów XML. Modyfikacja
Bardziej szczegółowoXML we własnych aplikacjach
XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2008/09 Patryk Czarnik 09 Programy XML 2008/09 1 / 1 Wprowadzenie XML we własnych aplikacjach
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoKotwasiński Obsługa XMLa z poziomu Javy
Obsługa XMLa z poziomu Javy Adam 5 kwietnia 2009 Co możemy zrobić odczyt zawartości dokumentów XML modyfikacja i zapis dokumentów walidacja dokumentu podczas parsowania przed zapisaniem wzdględem DTD,
Bardziej szczegółowoXML i Java. Technologie zarządzania treścią. dr inż. Robert Perliński rperlinski@icis.pcz.pl
XML i Java Technologie zarządzania treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej XML i Java 2/57 SAX vs. DOM Dwa podstawowe
Bardziej szczegółowoXML we własnych aplikacjach
XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2011/12 Wprowadzenie XML we własnych aplikacjach XML w Javie Modele dostępu do dokumentu
Bardziej szczegółowoXML in own applications
XML in own applications Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management 2010/11 Patryk Czarnik 10 Programming XML 2010/11 1 / 43 1 Introduction
Bardziej szczegółowoXML we własnych aplikacjach
XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2011/12 Patryk Czarnik 10 Programy XML 2011/12 1 / 55 1 Wprowadzenie XML we własnych
Bardziej szczegółowoModele dostępu do dokumentu XML. Implementacja modelu parser. SAX2 pakiet org.xml.sax. Działanie modelu SAX przykład
Modele dostępu do dokumentu XML Wykorzystanie XML-a we własnych aplikacjach Pozwalają programistom na wysokopoziomowy dostęp do zawartości dokumentów XML : korzystamy z abstrakcyjnych obiektów, nie troszczymy
Bardziej szczegółowoKatalog książek cz. 2
Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.
Bardziej szczegółowoXML w.net. Dominik Baś nr alb. 160345. Wrocław, 29 maja 2007
XML w.net Dominik Baś nr alb. 160345 Wrocław, 29 maja 2007 Przetwarzanie dokumentów XML API: SAX Simple Api for XML - przetwarzanie strumieniowe DOM - Document Object Model - odwzorowanie dokumentu XML
Bardziej szczegółowoPrzetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 07
Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 07 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 JAXB Plan JAXB Przypomnienie Wstęp Przykład Typy danych Unmarshalling
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoPrzetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06
Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 SAX 2 Podsumowanie Plan SAX Podsumowanie Przypomnienie Wstęp Obsługa
Bardziej szczegółowoSAX2 pakiet org.xml.sax
Modele dostępu do dokumentu XML 23 października 2003 Wykorzystanie XML-a we własnych aplikacjach Pozwalają programistom na dostęp do zawartości dokumentów XML na wysokim poziomie: korzystamy z abstrakcyjnych
Bardziej szczegółowoJAX-RS czyli REST w Javie. Adam Kędziora
JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Bardziej szczegółowoJava. Programowanie Obiektowe Mateusz Cicheński
Java Programowanie Obiektowe Mateusz Cicheński Wielowątkowość Proces a wątek? Thread vs Runnable sleep(), interrupt(), join() Problemy wielowątkowości Obiekty niemodyfikowalne (immutable) Serializacja
Bardziej szczegółowoSOAP. Autor: Piotr Sobczak
SOAP Autor: Piotr Sobczak AGENDA: Trochę o Web Services Wprowadzenie do SOAP Anatomia komunikatu SOAP Wysyłanie i otrzymywanie komunikatu SOAP oraz API Javy w przykładach SOAP z załącznikami SOAP-RPC Obsługa
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowolibxml2 parser DOM dla C++ czwartek, 8 grudnia 11
libxml2 parser DOM dla C++ 1 SAX vs. DOM Dwa podstawowe typy API do przetwarzania dokumentów XML: Oparte na drzewach (ang. Tree-based API) - mapują strukturę dokumentu do drzewa i pozwalają użytkownikowi
Bardziej szczegółowoStrumienie i serializacja
Strumienie i serializacja Prezentacja dostępna na Syriuszu: http://sirius.cs.put.poznan.pl/~inf80156 Klasy: InputStream, OutputStream, Reader i Writer W Javie hierarchia strumieni oparta jest o cztery
Bardziej szczegółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowoakademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
Bardziej szczegółowoJava Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.
Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.
Bardziej szczegółowoJĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]
JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] XML 2 XML XML jest formatem tekstowym Zjadliwy dla ludzi Zawiera treść (dane) oraz znaczniki (markup) Znaczniki i zależności
Bardziej szczegółowoWykorzystanie XML a we własnych aplikacjach
2 grudnia 2004 Wykorzystanie XML a we własnych aplikacjach Patryk Czarnik (na podstawie wykładu Szymona Zioło) Modele dostępu do dokumentów XML Pozwalają programistom na dostęp do zawartości dokumentów
Bardziej szczegółowoKurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Bardziej szczegółowoKurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML
Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Wyrażenia regularne c:\> dir *.exe $ rm *.tmp Wyrażenia regularne 'alamakota' '(hop!)*' { '',
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoKurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016
Wykład 10 05 maja 2016 Biblioteka wejścia/wyjścia (Input/Output) import java.io.*; Umożliwia przechowywania danych na nośniku zewnętrznym Dane moga być wysyłane do plików, na drukarkę, do bufora pamięci,
Bardziej szczegółowoJava JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG
Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku
Bardziej szczegółowo1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach
Programowanie w j zyku Java - Adam Krechowicz 1 Klasa File Klasa File zapewnia podstawowe operacje na plikach import java.io.file; public class FileTest { File f = new File("/home/adam/abc.txt"); f.createnewfile();
Bardziej szczegółowoPerl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML
Perl a XML Narzędzia informatyczne w językoznawstwie Perl - Przetwarzanie XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 31 modułów w CPAN zawiera w
Bardziej szczegółowoSystemy operacyjne na platformach mobilnych
Systemy operacyjne na platformach mobilnych Wykład 4 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Menadżer połączeń Usługi HTTP Klient HTTP Żądanie
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoWykład 6 Dziedziczenie cd., pliki
Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie
Bardziej szczegółowoZaawansowany kurs języka Python
Wykład 5. 30 października 2013 Plan wykładu 1 2 3 4 yield from Zamiast Example for item in iterable: yield item: można pisać Example yield from iterable Plan wykładu 1 2 3 4 Przykłady wyrażeń regularnych
Bardziej szczegółowoTworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 6, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream
Bardziej szczegółowoInstrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Bardziej szczegółowoXML we własnych aplikacjach
XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Wprowadzenie XML we własnych aplikacjach XML w Javie Modele dostępu do dokumentu
Bardziej szczegółowoUsługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl
Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,
Bardziej szczegółowoWSNHiD, Programowanie 2, Lab. 3. Trwałość danych
WSNHiD, Programowanie 2, Lab. 3 Trwałość danych Wyjątki Nietypowe sytuacje, które podczas normalnego wykonywania programu nie powinny się wydarzyć obsługiwane są w języku Java za pomocą wyjątków. Przyjrzyjmy
Bardziej szczegółowoProgramowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Bardziej szczegółowoWprowadzenie do technologii Web Services: SOAP, WSDL i UDDI
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii
Bardziej szczegółowoExtensible Markup Language (XML) Wrocław, Java - technologie zaawansowane
Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia
Bardziej szczegółowo1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Bardziej szczegółowoXML we własnych aplikacjach
XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Patryk Czarnik (MIMUW) 09 Programy XML 2007/08 1 / 48 Plan 1 Wprowadzenie XML
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 9: Wyjątki 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 1 Co to jest wyjątek? błąd wykonania: InputFile.java:8: Warning: Exception java.io.filenotfoundexception must
Bardziej szczegółowoSosnowiec, dn... Imię i nazwisko...
Sosnowiec, dn.... Imię i nazwisko... Test znajomości zaawansowanch technik programowania składa się z 10 ptań. Dla każdego ptania zaproponowano czter odpowiedzi, z którch tlko jedna jest prawidłowa. Na
Bardziej szczegółowoObiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Bardziej szczegółowoJAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt
JAVA Pliki - zapis i odczyt Opracował: Andrzej Nowak Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Strumienie wejścia i wyjścia Strumienie wejścia
Bardziej szczegółowoSystemy Rozproszone - Ćwiczenie 6
Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez
Bardziej szczegółowoPlan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone
Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoTworzenie i wykorzystanie usług
Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi
Bardziej szczegółowoKatedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Bardziej szczegółowoProgramowane refleksyjne i serializacja
1 Programowane refleksyjne i serializacja 1. Programowanie refleksyjne: przegląd wybranych klas z pakietu java.lang i java.lang.reflect, dynamiczne obiekty proxy. 2. Serializacja interfejs Serializable,
Bardziej szczegółowoPrzetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05
Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 DOM 2 DOM w innych językach 3 Podsumowanie Plan DOM DOM w innych
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();
1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie
Bardziej szczegółowoBiblioteki dzielone, XML i readline
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Bardziej szczegółowoXML i nowoczesne technologie zarządzania treścią
XML i nowoczesne technologie zarządzania treścią Egzamin, 7 lutego 2014 r. Imię i nazwisko: Czas: 90 minut. Maksymalna suma punktów: 50. Pytania testowe są wielokrotnego wyboru, można przyjąć że co najmniej
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoWzorce prezentacji internetowych
Wzorce prezentacji internetowych 1. Model kontrolera widoku (Model View Controller). 2. Kontroler strony (Page Controller). 3. Kontroler fasady (Front Controller). 4. Szablon widoku (Template View). 5.
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoXML w bazach danych, standardy wiążące dokumenty XML
XML w bazach danych, standardy wiążące dokumenty XML Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 Walidacja względem DTD podczas parsowania SAXParserFactory
Bardziej szczegółowoProgramowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.
Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)
Bardziej szczegółowoAplikacje RMI. Budowa aplikacji rozproszonych. Część 2.
Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji
Bardziej szczegółowoXML - wprowadzenie. <message> <text> Dobrze </text> </message> <message> <text> Źle </message> </text> <message> <message> <text> Źle.
XML i SOAP 1. XML (extensive Markup Language). wprowadzenie, zastosowania, przykłady, specyfikacje DTD (Document Type Definition). 2. SOAP (Simple Object Access Protocol) struktura wiadomości, zdalne wywołanie
Bardziej szczegółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 9 Serializacja Przygotował: Jacek Sroka 2 Przypomnienie Abstrakcja strumienia hierarchia binarna InputStream/OutputStream hierarchia znakowa Reader/Writer
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 1) Celem ćwiczenia jest przygotowanie aplikacji w języku Java, która będzie służyła do stworzenia dokumentu XML za pomocą Java DOM API.
Bardziej szczegółowoJava Platform Micro Edition
Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoMetody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Bardziej szczegółowoProgramowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera
Bardziej szczegółowoWykład 8: Obsługa Wyjątków
Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoObiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych
Katedra Mikroelektroniki i Technik Informatycznych Łódź, 14 października 2005 roku Wstęp DOM Document Object Model zapewnia: Zbiór obiektów reprezentujących dokumenty XML i HTML. Model łączenia obiektów.
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowo1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)
Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie
Bardziej szczegółowoKurs rozszerzony języka Python
Wykład 5. 3 listopada 2017 Plan wykładu 1 2 3 Plan wykładu 1 2 3 Przykłady wyrażeń regularnych W systemie windows c:\windows\system32> dir *.exe Wynik accwiz.exe actmovie.exe ahui.exe alg.exe append.exe
Bardziej szczegółowo1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.
Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.
Bardziej szczegółowo1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);
1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); a) b) c) d) 2. Jaki będzie wynik kompilacji i wykonania
Bardziej szczegółowoJavaFX. Programowanie Obiektowe Mateusz Cicheński
JavaFX Programowanie Obiektowe Mateusz Cicheński Is JavaFX replacing Swing as the new client UI library for Java SE? Yes. http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html Zastosowania
Bardziej szczegółowo5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86
Spis treści 1 Wprowadzenie - architektura, protokoły, system WWW... 1 1.1 Wstęp.................................................. 1 1.2 Ważniejsze daty......................................... 2 1.3 Protokoły
Bardziej szczegółowopublic interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }
Web Services 1. Podstawy usług sieciowych. SOAP, WSDL. 2. Usługi sieciowe w JAX-RPC. interfejs punktu końcowego, korzystanie z usługi z poziomu komponentu EJB, programy klienckie, narzędzia i deskryptory
Bardziej szczegółowo