1 Programowanie w HTML i XMLprowadzący: dr inż. Tomasz Wierciński
2 Plan wykładów Język XML Język XSL Język JavaScript Co to jest WWW?Architektura środowiska WWW (klient-serwer) Przeglądarki WWW Serwery WWW Uniform Resource Locators – URL Protokół HTTP Witryny WWW Języki znaczników Właściwości języków znakowania Budowa języków znakowania Język HTML Wersje języka HTML Struktura dokumentu HTML Opis znaczników HTML Kodowanie znaków Dynamiczny HTML Arkusze styl Zdarzenia The Document Object Model (DOM) Język XML Język XSL Język JavaScript
3 Literatura www.w3.org/MarkUp/ www.w3schools.comBryan Pfaffenberger, Bill Karow, HTML 4. Biblia, Helion, 2000 Laura Lemay, HTML 4. Vademecum profesjonalisty, Helion, 1998 Benoit Marchal, XML w przykładach, Wydawnictwo MIKOM, 2001 Bryan Pfaffenberger, Steven M. Schafer, Chuck White, Bill Karow, HTML, XHTML i CSS. Biblia, Helion, 2005 Wojciech Romowicz, HTML i JavaScript, Helion, 1998 Steve Holzner, XSLT. Vademecum profesjonalisty, Helion, 2002 David Crowder, Rhoda Crowder, Tworzenie stron WWW. Biblia, Helion, 2002 Danny Goodman, JavaScript. Biblia, Helion, 2002
4 Co to jest WWW? Sieć WWW jest hipertekstowym systemem informacyjnymidea hipertekstu polega na tym, że zamiast czytać tekst po kolei, linia po linii (tak jak książkę), można przechodzić od punktu do punktu w sposób nieliniowy
5 WWW jest systemem graficznymintegruje ze sobą tekst z grafiką, dźwiękiem i sekwencjami wideo oraz wbudowane aplikacje
6 WWW jest siecią wieloplatformowądostęp do WWW możliwy jest przy użyciu dowolnego sprzętu, dowolnego systemu operacyjnego i dowolnego typu ekranu ograniczenia wynikają z użycia niestandardowych rozszerzeń wprowadzanych przez producentów oprogramowania
7 WWW jest siecią rozproszonądane rozproszone są po całym świecie w tysiącach witryn na tysiącach serwerów każda witryna, każda strona ma swój unikalny adres URL (ang. Uniform Resource Locator) będący uniwersalnym identyfikatorem zasobów, np.
8 WWW jest siecią dynamicznądane zmodyfikowane na stronach www są automatycznie widoczne przez wszystkich użytkowników
9 Sieć WWW jest interakcyjnamożliwość reakcji na zdarzenia wywołane przez użytkownika, np. kliknięcie myszką możliwość wymiany informacji pomiędzy użytkownikiem a serwerem WWW za pomocą formularzy
10 Architektura statycznego środowiska WWWWWW to środowisko klient-serwer
11 Klient WWW Klientem WWW jest przeglądarkaPrzeglądarka jest programem, który służy do oglądania i poruszania się po stronach WWW Potrafi odczytywać pliki różnych (oprócz HTTP) serwisów internetowych takich jak FTP, Gopher, grupy dyskusyjne Usenet, bazy danych WAIS, Telnet, poczta elektroniczna ( )
12 Chcąc wykorzystać przeglądarkę do odczytywania różnych typów informacji w Internecie, należy skorzystać z różnych rodzajów adresów URL, np. ftp://nazwa_serwera/katalog/plik Obecnie najpopularniejszymi przeglądarkami w sieci WWW są Microsoft Internet Explorer, Mozilla Firefox, Opera
13 Serwer WWW Serwer WWW to program działający na komputerze w sieci Internet, który odpowiada na żądania przeglądarki i wysyła do niej odpowiednie pliki (np. Apache)
14 Architektura dynamicznego środowiska WWWArchitektura trójwarstwowa WWW Server Application Server DB Server
15 Serwer Aplikacyjny Serwer w sieci komputerowej, przeznaczony do zdalnego uruchamiania i użytkowania aplikacji Zestaw oprogramowania (platforma) wspierająca programistę/developera przy tworzeniu aplikacji. Umożliwia oddzielenie logiki biznesowej od usług dostarczanych przez producenta platformy (bezpieczeństwo, zarządzanie transakcjami, skalowalność, czy też dostęp do baz danych). Do serwerów aplikacji należą m.in.: JBoss, BEA WebLogic, IBM WebSphere oraz platforma .NET Microsoft-u.
16 Serwer bazy danych Oprogramowanie bądź system informatyczny służący do zarządzania komputerowymi bazami danych Posiada mechanizmy: środki do gromadzenia, utrzymywania i administrowania trwałymi i masowymi zbiorami danych, środki zapewniające spójność i bezpieczeństwo danych, sprawny dostęp do danych (zwykle poprzez język zapytań, np. SQL), środki programistyczne służące do aktualizacji/przetwarzania danych (API dla popularnych języków programowania), jednoczesny dostęp do danych dla wielu użytkowników (z reguły realizowany poprzez transakcje), środki pozwalające na regulację dostępu do danych (autoryzację), środki pozwalające na odtworzenie zawartości bazy danych po awarii, środki optymalizujące zajętość pamięci oraz czas dostępu (np. indeksy), środki do pracy lub współdziałania w środowiskach rozproszonych.
17 Uniform Resource LocatorsOznacza zunifikowany format odnośników do zasobów Jest podzbiorem URI (Uniform Resource Identifier - zunifikowany identyfikator zasobów) Jest używany do adresowania dokumentów lub innych danych w sieci WWW. Może to być dokument WWW, plik na serwerze FTP, wiadomość na serwerze grup dyskusyjnych lub adres poczty elektronicznej
18 Pełen adres URL ma następującą postać syntaktyczną: scheme://host:port/path/filename?queryscheme - typ serwisu (nazwa protokołu), np HTTP, FTP; host - nazwa hostu (komputera w sieci WWW) port - numer portu na którym nasłuchuje dany serwer ( domyślnym numerem portu jest 80); path - ścieżka podkatalogów na serwerze (domyślnie katalog główny – root); filename - nazwa dokumentu (domyślnie index.html) query - treść zapytania postaci nazwa=wartość
19 Protokół HTTP (Hypertext Transfer Protocol)za pomocą protokołu HTTP przesyła się informacje w sieci WWW udostępnia on znormalizowany sposób komunikowania się komputerów ze sobą określa on formę żądań klienta dotyczących danych oraz formę odpowiedzi serwera na te żądania (protokół request/response) metody GET parametry zapytania przekazane w zapytaniu (query string) POST posiada blok danych umieszczony za nagłówkiem; posiada dodatkowe pola nagłówka: Content-Type:, Content-Length:
20 Protokół HTTP Initial request line Initial Response Line (Status Line)posiada trzy części: nazwę metody, ścieżkę lokalną zasobu i używaną wersję HTTP GET /path/to/file/index.html HTTP/1.0 Initial Response Line (Status Line) posiada trzy części: wersję HTTP, kod statusu odpowiedzi i opis przyczyny HTTP/ OK lub HTTP/ Not Found
21 Kody statusu odpowiedzi2xx – sukces, np. 200 OK 3xx – przekierowanie, np. 302: Moved Temporarily 4xx – błąd klienta, np. 404: Not Found 5xx – błąd serwera, np. 500: Internal Server Error
22 Metoda POST Nagłówek Treść HTTP Request HTTP ResponsePOST /login.jsp HTTP/1.1 Host: User-Agent: Mozilla/4.0 Content-Length: 29 Content-Type: application/x-www-form-urlencoded login=julius&password=zgadnij Nagłówek Treść HTTP Response HTTP/ OK. Date: Fri, 31 Dec :59:59 GMT Content-Type: text/plain Content-Length: 1354 status=ok
23 Metoda GET HTTP RequestGET /index.html?login=julius&password=zgadnij HTTP/1.1 Host: User-Agent: Mozilla/4.0
24 Witryny WWW Witryna to zbiór składający się z jednej lub kilku stron WWW powiązanych ze sobą w sposób, który odzwierciedla istotę zawartych w niej informacji i tworzy spójną całość Struktury witryn
25 Struktura hierarchicznaposiada wiele poziomów strona główna zawiera ogólny przegląd opisywanych treści oraz połączenia do stron, które znajdują się na niższych poziomach hierarchii
26 Struktura liniowa przejście od strony do strony odbywa się w sposób liniowy (krok po kroku)
27 Struktura liniowa z alternatywąposiada możliwość odejścia od głównej ścieżki dokumentów
28 Struktura mieszana (liniowo-hierarchiczna)
29 Struktura sieciowa brak ogólnej struktury dokumentówpołączenia między stronami za pomocą hiperłączy
30 Języki znaczników Język znakowania to sposób kodowania dokumentów tekstowych przy pomocy znaczników.
31 Budowa dokumentu dokument opisany przy użyciu języka znakowania zawiera: właściwy tekst znaczniki, określające elementy dokumentu, jego strukturę, sposoby formatowania i hiperpołączenia do innych stron lub informacji innego rodzaju większość elementów (elementy blokowe) składa się z trzech części: znacznika otwierającego, zawartości i znacznika zamykającego
32 Budowa dokumentu
33 Właściwości języków znakowaniaopis dokumentu w pliku tekstowym przenoszalność i kompatybilność poprzez wykorzystanie jedynie znaków ASCII oddzielenie struktury dokumentu od jego wyglądu (podział dokument-widok) opis struktury strony a nie wyglądu konkretnych jej elementów - odwrotnie niż w edytorach graficznych typu WYSIWYG (ang. What You See Is What You Get) praca w środowisku wieloplatformowym (różne komputery, systemy operacyjne i przeglądarki) hierarchiczna struktura znaczników
34 Język SGML (Standard Generalized Markup Language)1986 – stał się standardem według organizacji ISO nie ma określonego zbioru znaczników i reguł ich użytkowania jest nadrzędnym językiem służącym do definiowania dowolnych znaczników i ustalania zasad ich poprawnego użytkowania umożliwia definiowanie poszczególnych języków znacznikowych
35 Język HTML (HyperText Markup Language)HTML wywodzi się z języka SGML HTML jest językiem opisu strony a nie wyglądu poszczególnych jej elementów posiada zdefiniowany zbiór elementów i atrybutów, np. HEAD, BODY, TABLE, align, width
36 Historia języka HTML standardem HTML zajmuje się konsorcjum W3C (World Wide Web Consortium) 1989 – HTML opracowana przez Tima Berners-Lee zawiera kilkanaście znaczników wraz z odsyłaczami;
37 Historia języka HTML c.d.1995 HTML podstawowy zestaw znaczników, obsługiwany przez wszystkie przeglądarki; 1996 HTML wprowadzono przede wszystkim obsługę: tabel, apletów oraz otaczanie obrazów tekstem. Można było określać kolor i grafikę tła. Pojawiły się formularze. Język ten był w pełni zgodny z wcześniejszym standardem HTML 2.0;
38 Historia języka HTML c.d.1997 HTML 4.0 – wprowadzono dynamiczny HTML i arkusze stylów;
39 Struktura HTML w HTML-u zdefiniowane są trzy znaczniki, które opisują ogólną strukturę strony oraz dostarczają podstawowych informacji nagłówkowych:
40 Opis znaczników języka HTMLKomentarz służy do zamieszczenia w kodzie źródłowym komentarza; jest ignorowany przez przeglądarkę Source Output This is a regular paragraph
41 Opis znaczników języka HTML - HEADTytuł dokumentu
42 Opis znaczników języka HTML - HEAD definiuje związek pomiędzy dwoma dokumentami atrybuty: href – adres URL rel – relacja między dokumentami type – definiuje MIME type, np. text/css text/javascript image/gif
43 Opis znaczników języka HTMLNagłówki ... atrybuty align umożliwiają podział strony na części mają 6 poziomów różniących się między sobą wielkością i atrybutami czcionki (pogrubienie, podkreślenie, wielkie litery) HTML automatycznie dodaje pustą linię przed i po nagłówku
44 Nagłówki This is header 1 This is header 2 This is header 3Source Output This is header 1
This is header 2
This is header 3
This is header 4
This is header 5
This is header 6
This is header 1 This is header 2 This is header 3 This is header 4 This is header 5 This is header 6
45 Opis znaczników języka HTMLAkapit atrybuty: align umożliwia wyróżnienie fragmentu tekstu HTML automatycznie dodaje pustą linię przed i po akapicie Source Output This is some text in a very short paragraph
46 Opis znaczników języka HTMLPodział wiersza
umożliwia podział wiersza w dowolnym miejscu nie posiada znacznika końcowego (jest elementem liniowym) Source Output This text contains
a line break This text contains a line break
47 Opis znaczników języka HTMLLinia pozioma
atrybuty: align noshade size - wysokość width pozwala na podział strony przy pomocy linii Source Output This is some text
This is some text This is some text
48 Opis znaczników języka HTMLGrupowanie elementów This is a paragraph in a div section 49 Opis znaczników języka HTMLGrupowanie elementów liniowych umożliwia grupowanie elementów w celu ich sformatowania nie umieszcza znaków końca linii Source Output This is a paragraph This is a paragraph This is a paragraph This is another paragraph 50 Listy Lista wypunktowana (nieuporządkowana) 51 Listy Lista numerowana (uporządkowana) 52 Listy Lista definicji 53 Opis znaczników języka HTMLHiperłącze tworzy łącze do innego dokumentu lub miejsca w dokumencie atrybuty: href URL – docelowy adres URL target – gdzie otworzyć docelową stronę _blank – w nowym oknie _self – w tej samej ramce _parent – w ramce nadrzędnej _top – w oknie głównym 54 Opis znaczników języka HTMLTabela 55 Opis znaczników języka HTMLWiersz tabeli 56 Opis znaczników języka HTMLNagłówek tabeli 57 Opis znaczników języka HTMLKomórka tabeli 58 Opis znaczników języka HTMLZbiór ramek dzieli okno na ramki, z których każda zawiera odrębny dokument dokument nie może zawierać elementu atrybuty: cols: pixels, %, * rows: pixels, %, * 59 Opis znaczników języka HTMLRamka atrybuty: frameborder: 0, 1 name src – adres URL noresize – bez możliwości zmiany wymiarów scrolling – czy ramka jest skrolowana 60 Opis znaczników języka HTMLRamka wewnętrzna (inline) atrybuty align frameborder width, height name scrolling src 61 Opis znaczników języka HTMLObrazek 62 63 Tło Ustawianie koloru tła – atrybut Bgcolor Możliwe wartości:liczba hexadecymalna wartość RGB nazwa koloru 64 Tło 65 Tło Ustawianie tapety – atrybut Background Możliwe wartości: adres URL 66 Tło 67 68 Metadane Element Meta zawiera informacje o danej stronieatrybuty: name – nazwa metainformacji content – wartość skojarzona z nazwą lub http-equiv http-equiv – nazwa nagłówka HTTP scheme – format zawartości 69 name: Metadane author description keywords 70 http-equiv Metadane content-type expires refresh set-cookie 71 Kodowanie znaków International Organization for Standardization - ISO (ISO Latin 2) Microsoft - WIN-1250 72 CSS 73 Co to jest CSS? CSS to kaskadowe arkusze styli (Cascading Style Sheets) Style definiują w jaki sposób wyświetlać (formatować) elementy HTML Style są przechowywane w tzw. arkuszach styli (CSS files) Style są uporządkowane kaskadowo Style zostały dodane do wersji HTML 4.0 74 Definicje styli Style mogą być zdefiniowane w:pojedynczym elemencie HTML nagłówku HTML pliku zewnętrznym CSS 75 Definiowanie stylu w pojedynczym elemencie HTML 76 Definiowanie stylu w nagłówku HTML element { nazwa1: wartosc1; nazwa2: wartosc2; nazwaN: wartoscN; } ... 77 Definiowanie stylu w pliku zewnętrznymPlik CSS to plik tekstowy z rozszerzeniem CSS Treść pliku CSS: element { nazwa1: wartosc1; nazwa2: wartosc2; nazwaN: wartoscN; } ... 78 Dołączenie pliku CSS do dokumentu HTML 79 Hierarchia styli Domyślny styl przegladarkiZewnętrzny arkusz CSS (plik CSS) Wewnętrzny arkusz CSS (nagłówek HTML) Styl „inline” (pojedynczy element HTML) 80 Składnia CSS selector {property: value} body {color: black}p {font-family: "sans serif"} p {text-align:center;color:red} 81 Grupowanie selector1, selector1, selectorN {property: value}h1,h2,h3,h4,h5,h6 { color: green } 82 Klasy Umożliwiają definiowanie różnych styli dla elementów tego samego typu selector1.class {property: value} p.right {text-align: right} p.center {text-align: center} 83 Użycie klas This paragraph will be right-aligned. This paragraph will be center-aligned. 84 Przypisanie wielu klas do elementu HTML This is a paragraph. 85 Definiowanie klas dla różnych elementów HTML.class {property: value} .center {text-align: center} 86 Użycie This paragraph will also be center-aligned. 87 Definiowanie stylu dla elementów o określonym atrybucieselector[attribute=value] {property: value} input[type="text"] {background-color: blue} 88 Definiowanie stylu dla elementu o określonym idp#para1 { text-align: center; color: red } #green {color: green}This is a header in a div section
atrybuty:type: disc, square, circle zawiera pozycje tworzone za pomocą elementu li element li w specyfikacji 3.2 był elementem liniowym od wersji 4.01 li jest elementem blokowym atrybut type: disc, square, circle Source Output
Coffee Tea atrybutytype: A, a, I, i, 1 start Source Output
Coffee Teaskładają się z trzech części: listy definicji (dl), terminu definiowanego (dt) oraz opisu definicji (dd) Source Output
Coffee Black hot drink Milk White cold drink atrybuty: align bgcolor border cellpadding cellspacing width, height definiuje tabele wewnątrz tabeli można zdefiniować nagłówek, wiersz, komórkę oraz inną tabelę Source Output
Cell A Cell B Cell A Cell B atrybuty: align, valign bgcolor atrybuty: align, valign bgcolor colspan rowspan width, height nowrap Source Output
Header 1 Header 2 Cell A Cell B Header 1 Header 2 Cell A Cell B atrybuty src – adres URL alt – opis obrazka align width, height Source Output

definiuje blok tekstu nieformatowanego This text isAttribute Value Description DTD width number Defines the maximum number of characters per line (usually 40, 80, or 132) Source Output
This text is in a fixed-pitch font, and it preserves both spaces and line breaks
This text is in a fixed-pitch font, and it preserves both spaces and line breaks This heading will be center-aligned