Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05

Wielkość: px
Rozpocząć pokaz od strony:

Download "Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05"

Transkrypt

1 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05 T. Romańczukiewicz Jagiellonian University 2009/2010

2 Plan Plan 1 DOM 2 DOM w innych językach 3 Podsumowanie

3 Plan DOM DOM w innych językach Podsumowanie Przypomnienie Wstęp Węzły Metody XMLHttpRequest HTML DOM 1 DOM Przypomnienie Wstęp Węzły Metody XMLHttpRequest HTML DOM 2 DOM w innych językach 3 Podsumowanie

4 XML, poprawnie sformuowanie Sposoby opisu XML DTD XML Schema XPATH Sposoby prezentacji CSS XSLT

5 DOM DOM DOM w innych językach Podsumowanie Przypomnienie Wstęp Węzły Metody XMLHttpRequest HTML DOM DOM DOM W3C Document Object Model jest niezależnym od języka i platformy interfejsem pozwalajacym programom i skryptom na dostęp i zmiany w dokumentach XML. Możliwość użycia w JavaScript, Java, C++, PHP,... DOM Core DOM XML DOM HTML DOM DOM i SAX SAX (ang. Simple API for XML czyli Proste API dla XML-a) interfejs programistyczny do sekwencyjnego parsowania dokumentów XML. Jest to jeden z mechanizmów, który pozwala odczytywać dane zapisane w dokumentach XML. Parser, który implementuje SAX, działa jako parser strumieniowy sterowany zdarzeniami. Przetwarzanie z użyciem SAX jest jednokierunkowe - wcześniej przetworzone dane nie moga być ponownie odczytane bez ponownego uruchomienia całej procedury. korzystanie z modelu DOM wymaga wczytania całego dokumentu XML do pamięci i przechowywania go tam w postaci struktury drzewiastej o tym trzeba koniecznie pamiętać! należy uważać na DOM przy przetwarzaniu dużych ilości danych

6 W przeciwieństwie do interfejsu SAX, obiektowy model dokumentu wywodzi się z kręgów konsorcjum W3C. SAX to oprogramowanie będace własnościa publiczna. DOM jest samym w sobie standardem, tak jak XML. DOM nie został również opracowany wyłacznie dla Javy; jego zadaniem jest reprezentacja zawartości i modeli dokumentów we wszystkich językach i narzędziach programistycznych. Istnieja interfejsy DOM dla JavaScriptu, Javy, CORBA i innych języków. Jest to więc specyfikacja neutralna językowo i platformowo. Danych nie można użyć, dopóki cały dokument nie zostanie przetworzony i dodany do wyjściowej struktury drzewiastej. Dane wyjściowe z procesu przetwarzania, które maja zostać wykorzystane przez interfejsy DOM, maja postać obiektu org.w3c.dom.document. Obiekt ten działa jako procedura obsługi drzewa, w którym znajduja się nasze dane XML; z punktu widzenia hierarchii elementów obiekt ten znajduje się jeden poziom ponad elementem głównym dokumentu XML. Każdy element naszego wejściowego dokumentu XML jest bezpośrednio lub pośrednio potomny względem niego.

7 Węzły DOM Cały dokument jest węzłem dokumentu Każdy element jest węzłem elementu Każdy tekst jest węzłem tekstowym (!) Węzeł atrybutu Węzeł komentarza Uwaga: każdy tekst przechowywany jest w osobnym węźle: <year>2005</year> - węzeł elementu <year> zawiera węzeł tekstowy 2005

8 Węzeł Document Ponieważ Document to część samego węzła Node, możemy używać go wymiennie z innymi typami węzłów. Stanowi on jednak swoisty przypadek specjalny, ponieważ zawiera element główny i definicję DTD dokumentu oraz szereg innych specjalnych informacji nie należacych do hierarchii elementów XML. Dlatego przetwarzajac ten węzeł, musimy uzyskać element główny i przekazać go funkcji wyświetlajacej. Elementy DOM najbardziej typowym zadaniem wykonywanym w aplikacji będzie pobranie węzła DOM Element i wyświetlenie jego nazwy, atrybutów i wartości, a następnie jego elementów potomnych. Najpierw pobieramy nazwę elementu (metoda getnodename()) i wyświetlamy ja. Węzły tekstowe Parser XML postrzega wszystkie dane jako tekst i że to aplikacja dokonuje w razie potrzeby konwersji typów. Tak więc aby wyświetlić wartości elementów w DOM-ie, należy skupić uwagę na interfejsach Text i CDATASection. Wyświetlanie wartości jest całkiem proste korzystamy ze znanej już metody getnodevalue() interfejsu DOM Node.

9 Ładowanie pliku XML Listing 1: Przykład1.js 1 if (window.xmlhttprequest) 2 { 3 xhttp=new XMLHttpRequest(); 4 } 5 else / / I n t e r n e t E x p l o r e r 5 / 6 6 { 7 xhttp=new ActiveXObject("Microsoft.XMLHTTP"); 8 } 9 xhttp.open("get","books.xml",false); 10 xhttp.send(""); 11 xmldoc=xhttp.responsexml; Utworzenie obiektu XMLHTTP Otworzenie objektu XMLHTTP Wysłanie zapytania XML HTTP do serwera Przekazanie odpowiedzi jako objekt XML DOM Ze względów bezpieczeństwa plik XML musi się znajdować na tym samym serwerze co strona www.

10 Listing 2: Przykład1.js 1 function loadxmlstring(txt) 2 { 3 if (window.domparser) 4 { 5 parser=new DOMParser(); 6 xmldoc=parser.parsefromstring(txt,"text/xml"); 7 } 8 else / / I n t e r n e t E x p l o r e r 9 { 10 xmldoc=new ActiveXObject("Microsoft.XMLDOM"); 11 xmldoc.async="false"; 12 xmldoc.loadxml(txt); 13 } 14 return xmldoc; 15 } Uwaga na IE: Internet Explorer białe znaki nie traktuje jak węzły tekstowe inne przegladari tak

11 Ładowanie tekstuxml Listing 3: Przykład1.html 1 <html> 2 <head> 3 <script type="text/javascript" src="loadxmlstring.js"></script> 4 </head> 5 <body> 6 <script type="text/javascript"> 7 text="<bookstore><book>"; 8 text=text+"<title>everyday Italian</title>"; 9 text=text+"<author>giada De Laurentiis</author>"; 10 text=text+"<year>2005</year>"; 11 text=text+"</book></bookstore>"; xmldoc=loadxmlstring(text); document.write(xmldoc.getelementsbytagname("title")[0].childnodes[0]. nodevalue); 16 document.write("<br />"); 17 document.write(xmldoc.getelementsbytagname("author")[0].childnodes[0]. nodevalue); 18 document.write("<br />"); 19 document.write(xmldoc.getelementsbytagname("year")[0].childnodes[0]. nodevalue); 20 </script> 21 </body> 22 </html>

12 Interfejs prgoramistyczny DOM Własności x.nodename - nazwa węzła x x.nodevalue - Wartość x x.parentnode - Rodzic x x.childnodes - Potomek węzła x x.attributes - atrybuty x Metody x.getelementsbytagname(name) - zwróć wszystkie elementy o podanej nazwie x.appendchild(node) - Dodaj potomka do węzła x x.removechild(node) - Usuń potomka z węzła x Przykładowe wywołanie w JavaScript: txt=xmldoc.getelementsbytagname("title")[0].childnodes[0].nodevalue xmldoc - obiekt DOM utworzony przez parser getelementsbytagname("title")[0] - pierwszy element <title> childnodes[0] - pierwszy potomek elementu <title> (węzeł tekstowy) nodevalue - wartość tego elementu (sam tekst)

13 Listing 4: Node List wypisanie wszystkich elementów 1 xmldoc=loadxmldoc("books.xml"); 2 x=xmldoc.getelementsbytagname("title"); 3 4 for (i=0;i<x.length;i++) { 5 document.write(x[i].childnodes[0].nodevalue); 6 document.write("<br />"); 7 } Metoda node.getelementsbytagname("tagname"); zwraca listę elementów o podanej nazwie. Listing 5: Wypisanie tylko węzłów elementu nodetype 1 xmldoc=loadxmldoc("books.xml"); 2 x=xmldoc.documentelement.childnodes; 3 4 for (i=0;i<x.length;i++) { 5 if (x[i].nodetype==1) document.write(x[i].nodename); 6 document.write("<br />"); 7 } 8 }

14 Listing 6: Wypisanie nazw elementu book 1 xmldoc=loadxmldoc("books.xml"); 2 3 x=xmldoc.getelementsbytagname("book")[0].childnodes; 4 y=xmldoc.getelementsbytagname("book")[0].firstchild; 5 6 for (i=0;i<x.length;i++) 7 { 8 if (y.nodetype==1) 9 { / / P r o c e s s o n l y e l e m e n t nodes ( t y p e 1) 10 document.write(y.nodename + "<br />"); 11 } 12 y=y.nextsibling; 13 } Listing 7: Wydruk 1 title 2 author 3 year 4 price Załadowanie pliku "books.xml" do obiektu xmldoc; wczytanie węzłów potomnych pierwszego elementu book; Ustawinenie zmiennej "y" na childnodes[0]; dla każdego węzła potomka "y" sprawdzenie typu, jeśli typ 1 (czyli węzeł elementu) to wypisanie elementu przejście do następnego elementu rodzeństwa

15 Typy węzłów 1 ELEMENT_NODE 2 ATTRIBUTE_NODE 3 TEXT_NODE 4 CDATA_SECTION_NODE 5 ENTITY_REFERENCE_NODE 6 ENTITY_NODE 7 PROCESSING_INSTRUCTION_NODE 8 COMMENT_NODE 9 DOCUMENT_NODE 10 DOCUMENT_TYPE_NODE 11 DOCUMENT_FRAGMENT_NODE 12 NOTATION_NODE

16 Trawersowanie węzłów drzewa Przechodzenie po wszystkich węzłach Listing 8: Trawersowanie.html 1 <html><head> 2 <script type="text/javascript" src="loadxmlstring.js"></script> 3 </head> 4 <body> 5 <script type="text/javascript"> 6 text="<book>"; 7 text=text+"<title>everyday Italian</title>"; 8 text=text+"<author>giada De Laurentiis</author>"; 9 text=text+"<year>2005</year>"; 10 text=text+"</book>"; xmldoc=loadxmlstring(text); // documentelement always represents the root node 15 x=xmldoc.documentelement.childnodes; 16 for (i=0;i<x.length;i++) 17 { 18 document.write(x[i].nodename); 19 document.write(": "); 20 document.write(x[i].childnodes[0].nodevalue); 21 document.write("<br />"); 22 } 23 </script> 24 </body> 25 </html> loadxmlstring() ładuje ci ag znaków do xmldoc pobranie węzła dziecka z węzła korzenia

17 Nawigacja Nawigacja Poruszanie się po drzewie wykorzysujac relacje pomiędzy węzłami childnodes firstchild lastchild nextsibling previoussibling

18 W DOM wszystko jest węzłem. Każdy tekst wewnatrz elementu reprezentowany jest jako osobny węzeł tekstowy. Dostęp do niego można uzyskać poprzez węzeł potomka danego elementu. 1 x=xmldoc.getelementsbytagname("title")[0]; 2 y=x.childnodes[0]; 3 txt=y.nodevalue; W przeciwieństwie do elementów w DOMie atrybuty posiadaja wartość i można ja odczytać poprzez metodę getattribute() albo bezpośrednio poprzez własność nodevalue 1 xmldoc=loadxmldoc("books.xml"); 2 txt=xmldoc.getelementsbytagname("title")[0].getattribute("lang");

19 Zmiana wartości elementu i atruybutu Listing 9: Zmiana wartości 1 xmldoc=loadxmldoc("books.xml"); 2 3 x=xmldoc.getelementsbytagname("title")[0].childnodes[0]; 4 x.nodevalue="easy Cooking"; 5 xmldoc=loadxmldoc("books.xml"); 6 7 x=xmldoc.getelementsbytagname("book")[0] 8 y=x.getattributenode("category"); 9 y.nodevalue="food"; Listing 10: Usuwanie elementu 1 xmldoc=loadxmldoc("books.xml"); 2 y=xmldoc.getelementsbytagname("book")[0]; 3 4 xmldoc.documentelement.removechild(y); 5 y.parentnode.removechild(x); 6 7 x=xmldoc.getelementsbytagname("title")[0]; 8 y=x.childnodes[0]; 9 x.removechild(y);

20 Zamiana DOM DOM w innych językach Podsumowanie Przypomnienie Wstęp Węzły Metody XMLHttpRequest HTML DOM Listing 11: Zamiana wartości 1 xmldoc=loadxmldoc("books.xml"); 2 3 x=xmldoc.documentelement; 4 5 / / c r e a t e a book element, t i t l e e l e m e n t and a t e x t node 6 newnode=xmldoc.createelement("book"); 7 newtitle=xmldoc.createelement("title"); 8 newtext=xmldoc.createtextnode("a Notebook"); 9 10 / / add t h e t e x t node t o t h e t i t l e node, 11 newtitle.appendchild(newtext); 12 / / add t h e t i t l e node t o t h e book node 13 newnode.appendchild(newtitle); y=xmldoc.getelementsbytagname("book")[0] 16 / / replace the f i r s t book node with the new node 17 x.replacechild(newnode,y);

21 Inne przydatne metody: createelement() tworzy nowy element appendchild() dodaje nowy element createattribute() tworzy nowy atrrybut setattributenode() dodaje nowy atrybut setattribute() Ustawia wartości atrybutu lub go tworzy gdy go nie ma Listing 12: Przykład 1 xmldoc=loadxmldoc("books.xml"); 2 newel=xmldoc.createelement("edition"); 3 x=xmldoc.getelementsbytagname("book")[0]; 4 x.appendchild(newel); 5 6 newatt=xmldoc.createattribute("edition"); 7 newatt.nodevalue="first"; 8 x=xmldoc.getelementsbytagname("title"); 9 x[0].setattributenode(newatt);

22 Inne przydatne metody cd: createtextnode() tworzy element tekstowy createcdatasection() tworzy sekcję CDATA createcomment() (no comments) insertbefore() umieszcza węzeł przed podanym potomkiem insertdata(offset, string) umieszcza dane clonenode() kopiuje węzeł Listing 13: Przykład 1 xmldoc=loadxmldoc("books.xml"); 2 3 newel=xmldoc.createelement("edition"); 4 newtext=xmldoc.createtextnode("first"); 5 newel.appendchild(newtext); 6 7 x=xmldoc.getelementsbytagname("book")[0]; 8 x.appendchild(newel); 9 10 newcdata=xmldoc.createcdatasection("special Offer & Book Sale"); x=xmldoc.getelementsbytagname("book")[0]; 13 x.appendchild(newcdata); newcomment=xmldoc.createcomment("revised March 2008"); x=xmldoc.getelementsbytagname("book")[0]; 18 x.appendchild(newcomment);

23 Własności DOM Document Listing 14: Przykład 1 async, childnodes, doctype, documentelement, documenturi, domconfig, firstchild, 2 implementation, inputencoding, lastchild, nodename, nodetype, nodevalue, 3 stricterrorchecking, text, xml, xmlencoding, xmlstandalone, xmlversion Własności DOM Node Listing 15: Przykład 1 baseuri, childnodes, firstchild, lastchild, localname, namespaceuri, 2 nextsibling, nodename, nodetype, nodevalue, ownerdocument, parentnode, prefix, 3 previoussibling, textcontent, text, xml

24 Tworzenie obiektu XMLHttpRequest Dzięki obiektowi XMLHttpRequest można uaktualniać stronę bez jej przeładowania wysyłać zapyatania do serwera po załadowaniu strony odczytywać dane z serwera wysyłać dane na serwer w tle Listing 16: Przykłady 1 var xmlhttp; 2 function loadxmldoc(url) { 3 xmlhttp=null; 4 if (window.xmlhttprequest) xmlhttp=new XMLHttpRequest(); / / code for a l l new b r o w s e r s 5 else if (window.activexobject) xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") ; 6 7 if (xmlhttp!=null){ 8 xmlhttp.onreadystatechange=state_change; 9 xmlhttp.open("get",url,true); 10 xmlhttp.send(null); 11 } 12 else alert("your browser does not support XMLHTTP."); 13 }

25 Listing 17: Przykład cd. 1 function state_change() 2 { 3 if (xmlhttp.readystate==4) 4 { / / 4 = " l o a ded " 5 if (xmlhttp.status==200) 6 { / / 200 = "OK" 7 document.getelementbyid( A1 ).innerhtml=xmlhttp.status; 8 document.getelementbyid( A2 ).innerhtml=xmlhttp.statustext; 9 document.getelementbyid( A3 ).innerhtml=xmlhttp.responsetext; 10 } 11 else 12 alert("problem retrieving XML data:" + xmlhttp.statustext); 13 } 14 }

26 Własności XMLHttpRequest onreadystatechange przechwytywanie zdarzenia każdorazowej zmiany stanu readystate zwraca wartość stanu 0 = uninitialized 1 = loading 3 = interactive 4 = complete responsetext zwraca tekst odpowiedzi responsexml zwraca obiekt XML, który jest przetwarzany przy pomocy DOM status zwraca numer statusu (np. 404 Ńot Found", 200 dla ÓK") statustext zwraca tekst statusu

27 HTML DOM HTML DOM Własności x.nodename - nazwa węzła x x.nodevalue - wartość x x.parentnode - Rodzic x x.childnodes - Potomek węzła x x.attributes - atrybuty x x.innerhtml - textowa zawartość węzła x Metody x.getelementbyid(id) - zwróć wszystkie elementy o podanym ID x.getelementsbytagname(name) - zwróć wszystkie elementy o podanej nazwie x.appendchild(node) - Dodaj potomka do węzła x x.removechild(node) - Usuń potomka z węzła x Przykładowe wywołanie w JavaScript: txt=xmldoc.getelementsbytagname("title")[0].childnodes[0].nodevalue xmldoc - obiekt DOM utworzony przez parser getelementsbytagname("title")[0] - pierwszy element <title> childnodes[0] - pierwszy potomek elementu <title> (węzeł tekstowy) nodevalue - wartość tego elementu (sam tekst)

28 Plan DOM DOM w innych językach Podsumowanie 1 DOM 2 DOM w innych językach 3 Podsumowanie

29 DOM DOM w innych językach Podsumowanie Model DOM jest niezależny od platformy i języka programowania. Standard W3C DOM definiuje zespół klas i interfejsów, pozwalajacych na dostęp do struktury dokumentów oraz jej modyfikację poprzez tworzenie, usuwanie i modyfikację tzw. węzłów (ang. nodes). Dla większości języków programowania istnieja biblioteki obsługujace DOM dla plików XML Apache Xerces libxml (C++, gnome, PHP) MSXML Apache Xerces (rodzina pakietów : C++, Java, Perl) JAXP (Java API for XML Processing) JDOM VTD-XML Virtual Token Descriptor for extensible Markup Language (A " Document-Centric" XML parser) Standard W3C definiuje interfejsy DOM tylko dla języków JavaScript i Java.

30 DOM DOM w innych językach Podsumowanie Listing 18: PHP Example 1 function getlinks($link) 2 { 3 / r e t u r n a r r a y / 4 $ret = array(); 5 6 / a new dom o b j e c t / 7 $dom = new domdocument; 8 9 / g et t he HTML ( s upp re ss e r r o r s ) / / remove s i l l y white space / 13 $dom->preservewhitespace = false; / get the l i n k s from the HTML / 16 $links = $dom->getelementsbytagname( a ); / loop over the l i n k s / 19 foreach ($links as $tag) 20 { 21 $ret[$tag->getattribute( href )] = $tag->childnodes->item(0)-> nodevalue; 22 } 23 return $ret; 24 } Przykładowa funkcja zwraca tablicę linków z podanej strony. Jest to podejście znacznie wygodniejsze niż używanie wyrażeń regularnych np w Perlu.

31 DOM DOM w innych językach Podsumowanie Listing 19: Java Example 1 import org.w3c.dom.*; 2 import org.apache.xerces.parsers.domparser; 3 import java.io.*; 4 5 public class SearchElement{ 6 public static void main(string[] args) { 7 try{ 8 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 9 System.out.print("Enter file name: "); 10 String str = bf.readline(); 11 File file = new File(str); 12 if (file.exists()){ 13 DOMParser parser = new DOMParser(); 14 parser.parse(str); 15 Document doc = parser.getdocument(); 16 System.out.print("Enter element that have to count: "); 17 String ele = bf.readline(); 18 NodeList list = doc.getelementsbytagname(ele); 19 if(list.getlength() == 0) 20 System.out.println("Element doesn t exist in the " + str + " Document. "); 21 else 22 System.out.println("Element occurrs " + list.getlength() + " times in the " + str); 23 } 24 else { System.out.println("File not found!"); } 25 } 26 catch (Exception e) { e.getmessage(); } 27 }

32 Plan DOM DOM w innych językach Podsumowanie 1 DOM 2 DOM w innych językach 3 Podsumowanie

33 DOM DOM w innych językach Podsumowanie DOM jest modelem pozwalajacym na dostęp (czytanie i modyfikowanie) dokumentów XML poprzez strukturę drzewa Jest niezależny od platformy i języka programowania Całe drzewo XML jest wczytywane od razu w przeciwieństwie do SAX, co może być problemem przy dużych plikach XML Każdy element, atrybut, komentarz itp jest reprezentowany przez węzeł. Dane - węzeł tekstowy DOM udostępnie szereg metod pozwalajacych na porusznie się w strukturze drzewa (nawigacja, trawersowanie) oraz tworzenie usuwanie czytanie węzłów Ponieważ DOM jest niezależny od języka programowania, może być wykorzystywany w wielu językach poprzez odpowiednie API Standard W3C definiuje interfejsy DOM tylko dla języków JavaScript i Java.

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 6 JavaScript w przeglądarce Agenda Skrypty na stronie internetowej Model DOM AJAX Skrypty na stronie

Bardziej szczegółowo

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Wykorzystywanie 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ółowo

Kurs 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 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ółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane 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ółowo

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1 WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1 XML DOM (ang. XML Document Object Model Obiektowy Model Dokumentu XML) Inaczej drzewo DOM to hierarchiczny, obiektowy model dokumentu XML. DOM to platforma

Bardziej szczegółowo

XML extensible Markup Language. część 5

XML extensible Markup Language. część 5 XML extensible Markup Language część 5 JavaScript Co to jest JavaScript? JavaScript był zaprojektowany w celu dodania interaktywności do stron HTML JavaScript jest językiem skryptowym JavaScript jest zwykle

Bardziej szczegółowo

Drzewa DOM. Maciej Zakrzewicz. mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/

Drzewa DOM. Maciej Zakrzewicz. mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Drzewa DOM Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Document Object Model (DOM) Document Object Model jest standardem modelowania dokumentów XML przy użyciu struktury

Bardziej szczegółowo

Rys.2.1. Drzewo modelu DOM [1]

Rys.2.1. Drzewo modelu DOM [1] 1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA 2.1. DOM model

Bardziej szczegółowo

XML extensible Markup Language 6

XML extensible Markup Language 6 XML extensible Markup Language 6 XML DOM XML DOM zawiera metody (funkcje) pozwalające przeglądać drzewo XML: pobierać, wstawiać oraz usuwać jego węzły. Aby móc manipulować dokumentem XML musi on być załadowany

Bardziej szczegółowo

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Obiektowy 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ółowo

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych Czym jest AJAX AJAX wprowadzenie Beata Pańczyk na podstawie: 1. Lis Marcin, Ajax, Helion, 2007 2. Hadlock Kris, Ajax dla twórców aplikacji internetowych, Helion, 2007 AJAX (Asynchronous JavaScript and

Bardziej szczegółowo

Podstawy XML-a. Zaawansowane techniki programowania

Podstawy 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ółowo

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Extensible 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ółowo

Ajax. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE

Ajax. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE Ajax. Æwiczenia Autor: Marcin Lis ISBN: 83-246-0686-6 Format: A5, stron: 168 Przyk³ady na ftp: 32 kb ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK

Bardziej szczegółowo

Perl 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. 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ółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

XML extensible Markup Language. część 6

XML extensible Markup Language. część 6 XML extensible Markup Language część 6 Obiekt XML DOM Przykład: if(window.xmlhttprequest) { xhttp=new XMLHttpRequest(); } else // IE 5/6 { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("get","books.xml",false);

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany 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ółowo

Procesowanie dokumentów XML

Procesowanie 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ółowo

Podstawy programowania w języku JavaScript

Podstawy programowania w języku JavaScript Podstawy programowania w języku JavaScript Część piąta AJAX Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.siminskionline.pl Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych

Bardziej szczegółowo

Pogadanka o czymś, co niektórzy nazywają AJAX

Pogadanka o czymś, co niektórzy nazywają AJAX Pogadanka o czymś, co niektórzy nazywają AJAX Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 25 listopada 2005 roku Nowy świat aplikacji internetowych... System/przeglądarka

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06

Przetwarzanie 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ółowo

DOM SAX AJAX. SAX,DOMiAJAX. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 11 kwietnia 2010

DOM SAX AJAX. SAX,DOMiAJAX. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 11 kwietnia 2010 DOM,DOMi Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 kwietnia 2010 Bartłomiej Świercz, DOM i DOM Model DOM org.w3c.dom DOM Document Object Model zapewnia: Zbiór obiektów

Bardziej szczegółowo

Model semistrukturalny

Model semistrukturalny Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy

Bardziej szczegółowo

XML extensible Markup Language. część 5

XML extensible Markup Language. część 5 XML extensible Markup Language część 5 XML ważne zastosowanie Jak często pracujemy z plikami XML? Wróćmy jeszcze do wykładu poprzedniego. A dokładnie do pliku zawierającego ten wykład. xml_2017_wyklad_4.pptx

Bardziej szczegółowo

XML extensible Markup Language. część 6

XML extensible Markup Language. część 6 XML extensible Markup Language część 6 HTML DOM Zgodnie z modelem DOM wszystko w dokumencie HTML jest węzłem (ang. node). Cały dokument jest węzłem dokumentu (ang. document node) Każdy element HTML jest

Bardziej szczegółowo

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes) XPath XML Path Language XPath. XSLT część 1. Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: drzewiasty model struktury dokumentu, normalizacja zawartości dokumentu (ten

Bardziej szczegółowo

Sposoby 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. 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ółowo

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 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ółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Programowanie internetowe

Programowanie internetowe Programowanie internetowe Wykład 1 HTML mgr inż. Michał Wojtera email: mwojtera@dmcs.pl Plan wykładu Organizacja zajęć Zakres przedmiotu Literatura Zawartość wykładu Wprowadzenie AMP / LAMP Podstawy HTML

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

TECHNOLOGIE SIECI WEB

TECHNOLOGIE SIECI WEB TECHNOLOGIE SIECI WEB Prowadzący: dr inż. Jan Prokop, e-mail: jprokop@prz.edu.pl, Politechnika Rzeszowska, Wydział Elektrotechniki i Informatyki LABORATORIUM ĆWICZENIE nr 8 Temat: Podstawy technologii

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017 Wykład 7 25 kwietnia 2017 Dokumentowanie kodu Program javadoc Java jest wyposażona w generator dokumentacji który na podstawie odpowiednio napisanych komentarzy w kodzie programu (które jednak nie sa konieczne),

Bardziej szczegółowo

Paweł Rajba, pawel.rajba@continet.pl

Paweł Rajba, pawel.rajba@continet.pl Paweł Rajba, pawel.rajba@continet.pl Wprowadzenie Zalety Wady XMLHttpRequest AJAX w praktyce AJAX + jquery Literatura Z czego się składa? JavaScript + DOM Obiekt XMLHttpRequest Jakakolwiek technologia

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

HTML DOM, XHTML cel, charakterystyka

HTML DOM, XHTML cel, charakterystyka HTML DOM, XHTML cel, charakterystyka Mariusz Kacała Łukasz Przywarty Grzegorz Trawiński HTML DOM XHTML Ramowy plan prezentacji Wstęp HTML DOM - Założenia - Model i struktura - Właściwości - Metody i zastosowania

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. 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ółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoł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ółowo

XML 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 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ółowo

JavaScript obiektowość

JavaScript obiektowość JavaScript obiektowość WWW 27 kwietnia 2017 Od funkcyjności do obiektowości Wyrażenie regularne DOM Zdarzenia Obiekty w JS Intuicja Obiekty nie maja przypisanych klas, natomiast maja przypisane konstruktory.

Bardziej szczegółowo

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0;

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0; Server setup #include #include boolean incoming = 0; byte mac[] = 0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02 ; IPAddress ip(192,168, 0, 230); EthernetServer server(80); void setup() pinmode(2,

Bardziej szczegółowo

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Java 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Katalog książek cz. 2

Katalog 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ółowo

akademia androida Składowanie danych część VI

akademia 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ółowo

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

Bardziej szczegółowo

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86

5.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ółowo

Wykład 2: Podstawy Języka

Wykład 2: Podstawy Języka Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście

Bardziej szczegółowo

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

Zaawansowane aplikacje internetowe Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika

Bardziej szczegółowo

Tworzenie Stron Internetowych. odcinek 10

Tworzenie Stron Internetowych. odcinek 10 Tworzenie Stron Internetowych odcinek 10 JavaScript JavaScript (ECMAScript) skryptowy język programowania powszechnie używany w Internecie. Skrypty JS dodają do stron www interaktywność i funkcjonalności,

Bardziej szczegółowo

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0 Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2] 1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA JavaScript tak

Bardziej szczegółowo

I.Wojnicki, PHP. Smarty. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie. 28 marca 2014

I.Wojnicki, PHP. Smarty. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie. 28 marca 2014 Igor Wojnicki (AGH, KIS) Smarty 28 marca 2014 1 / 33 Smarty Igor Wojnicki Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie 28 marca 2014 $Id: smarty.tex,v 1.2 2013/06/22 22:09:45 wojnicki

Bardziej szczegółowo

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki LINQ TO XML Celem ćwiczenia jest zapoznanie się z możliwościami przetwarzania dokumentów XML na platformie.net. W toku zadania zostaną przedstawione dwie technologie: LINQ TO XML i XPath. Autor ćwiczenia:

Bardziej szczegółowo

OpenLaszlo. OpenLaszlo

OpenLaszlo. OpenLaszlo OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy 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ółowo

Podstawowe wykorzystanie Hibernate

Podstawowe wykorzystanie Hibernate Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia

Bardziej szczegółowo

Narzę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 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ółowo

Wywoływanie metod zdalnych

Wywoł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ółowo

JavaScript funkcyjność

JavaScript funkcyjność JavaScript funkcyjność WWW 9 kwietnia 2014 Możliwości tworzenia dynamicznych stron WWW HTML i CSS. Skrypty CGI (Perl, PHP). Serwery (django, java). Plug-iny. Ksiażka Większość przykładów pochodzi z ksiażki:

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane 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ółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe 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ółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Być może jesteś doświadczonym programistą, biegle programujesz w Javie, Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem

Bardziej szczegółowo

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania Zagrożenia trywialne Zagrożenia bezpieczeństwa aplikacji internetowych Rozwiązania charakterystyczne dla fazy rozwoju opisy rozpoznanych błędów, debugging, komentarze poprzednie wersje plików (cp plik.jsp

Bardziej szczegółowo

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Praca Magisterska System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu AUTOR PROMOTOR System Oferta Praca Magisterska Niniejszy system powstał w ramach pracy magisterskiej "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu". Politechnika Poznańska Wydział Informatyki

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA 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ółowo

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Schemat Internetu R R R R R R R 2 Model Internetu 3 Protokoły komunikacyjne stosowane w sieci Internet Protokoły warstwy

Bardziej szczegółowo

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API Łukasz Przywarty 171018 Wrocław, 17.01.2013 r. Grupa: WT/N 11:15-14:00 Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API Prowadzący: mgr inż. Mariusz Słabicki 1 / 5 1. Treść zadania laboratoryjnego W

Bardziej szczegółowo

XML i nowoczesne technologie zarządzania treścią

XML 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ółowo

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

Bardziej szczegółowo

O stronach www, html itp..

O stronach www, html itp.. O stronach www, html itp.. Prosty wstęp do podstawowych technik spotykanych w internecie 09.01.2015 M. Rad Plan wykładu Html Przykład Strona www Xhtml Css Php Js HTML HTML - (ang. HyperText Markup Language)

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje

Bardziej szczegółowo

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny Scenariusz Web Design DHTML na 10 sesji L.p. Specyficzne detale 2.1 - Strony statyczne I dynamiczne - Dodawanie kodu VBScript do strony HTML doc w Rysunek nie jest potrzebny 2.1.1 Opcje w pisaniu skryptów

Bardziej szczegółowo

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów

Bardziej szczegółowo