DYDAKTYKA
Przetwarzanie dokumentów XML i zaawansowane techniki WWW (WFAIS.IF-N106/408)
Zajęcia w semestrze letnim roku akademickiego 2015/2016 rozpoczną się zgodnie z harmonogramem
dnia 29 lutego 2016 r.:
Grupa 1: poniedziedziałki 15:30 - 17:00, sala G-1-10.
Grupa 2: poniedziedziałki 17:00 - 18:30, sala G-1-10.
Materiały robocze do ćwiczeń:
01. Zajęcia organizacyjne i zasady zaliczenia(PDF) - 29.03.2016 r. 02. Wprowadzenie do tworzenia dokumentów XML (PDF) - 07.03.2016 r. 03. Walidacja dokumentów XML przez DTD(Document Type Definition) (PDF) - 14.03.2016 r. 04. Walidacja dokumentów XML przez XML-Schema (PDF) - 21.03.2016 r. 05. Wprowadzenie do języka ścieżek XPath (PDF) - 04.04.2016 r. 06. Procesor przekształceń XSLT dla XML (PDF) - 11.04.2016 r. 07. Obiektowy język JavaScript oraz format JSON (PDF) - 18.04.2016 r. 08. Zdarzenia w JavaScript (PDF) - 25.04.2016 r. 09. Wprowadzenie do jQuery (PDF) - 09.05.2016 r. 10. Wprowadzenie do jQuery - c.d. (PDF) - 16.05.2016 r. 11. Wprowadzenie do CORS i JSONP. (PDF) - 30.05.2016 r. 11. Wprowadzenie do REST API. (PDF) - 06.06.2016 r.
Tematy Mini-projektów
Zadanie 1 z dnia 21.03.2016 / Termin oddania: 10.04.2016 r. (23:59)
Proszę przygotować plik XML z co najmniej 5 elementami (rekordami) oraz z zagnieżdzeniami do co najmniej trzeciego poziomu, a następnie dla tego pliku prosze przygotować:- Plik CSS (kaskadowy arkusz stylu) formatujący wygląd XML.
- Plik DTD (Document Type Definition) walidujący XML.
- Plik XML-Schema walidujący XML
Zadanie 2 z dnia 04.04.2016 / Termin oddania: 18.04.2016 r. (23:59)
Proszę przygotowac plik XML zawierający bazę danych o mieszkaniach na sprzedaż. W pojedyńczym rekordzie (o nazwie np. mieszkanie ) powinien znaleźć się atrybut określający identyfikator mieszkania. W elementach potomnych należy umieścić następujące informacje: lokalizacja mieszkania (nazwa miejscowości), powierzchnia, liczba pokoi, rok oddania do użytkowania, cena. W pliku XML powinny znaleźć się przynajmniej 4 pojedyńcze rekordy. Dodatkowo dla pliku XML proszę przygotować XMLSchema (schemat) definioujący prawidłową strukturę pliku XML.Następnie proszę przygotować ścieżki języka XPath które:
- wyciągną wszystkie (lokalizacja, powierzechnia, etc) informacje o ostatnim mieszkaniu (można każda informację wyciągnąć osobno zdefiniowaną ścieżką),
- cenę przedostatniego mieszkania,
- pozwolą na zwrócenie danych o mieszkaniu na podstawie podania konkretnego identyfikatora.
Zadanie 3 z dnia 18.04.2016 / Termin oddania: 09.05.2016 r. (23:59)
Proszę przygotować plik XML z danymi o cenach samochodów na sprzedaż z następującymi węzłami: cennik(element główny),samochrod (określa pojedyńczy rekord), marka, model, rocznik, numer katalogowy, cena (elementy podrzędne). Następnie proszę przygotować przekształcenie XLST tak aby dane o samochodach były prezentowane w postaci tabeli tzn. z zastosowaniem znaczników html table, tr, td, gdzie:- sortowanie samochodów następuje po roczniku (od najnowszego do najstarszego),
- jeśli cena samochodu przekracza 50 tyś. zł to należy pokolorować tło komórki wyśwetlającej tą informację na czerwono, jeśli jest pomiędzy 20 50 tyś. zł to komórka ma mieć kolor niebieski, a jeśli poniżej 20 tyś. zł to kolor zielony.
Zadanie 4 z dnia 01.06.2016 / Termin oddania: SESJA POPRAWKOWA
Proszę przygotować tematyczną stonę internetową wykorzystując do tego celu bibliotekę jQuery oraz kaskadowe arkusze stylu CSS. Jednym z celów tego zadania jest zaprezentowanie umiejętności wykorzystania komunikacji asynchronicznej używając do tego celu technikę AJAX oraz serwisy API. Aplikacja powinna wykorzystywać dane udostępniane przez jedno z darmowych API (lista ciekawych i tematycznie pogrupowanych źródeł API jest dostępna np na stronie http://market.mashape.com. Strona wymaga założenia konta lub zalogowania się za pomocą istniejącego konta w systemi GitHub). Wybór API pozostawiam Państwu, jednak pośród dostępnych tametów sa wszelgiego rodzaju serwisy dostarczające dane na temat pogody, kursów walut, danych o wskaźnikach giełdowych itp. ) Aplikacja ma nie korzystać z "back-endu" dalatego aplikacja powinna rozwiązywać tzw. problem "cross-domenowości" za pomocą jednej z metod prezentowanych na zajęciach. Aplikacja może być wykonana w stylu "single-page-website" lub innej prostej strony zawierającej menu kierujące po poszczególnych podstron. Strona ta powinna powinna w sposób jasny prezentować dane pobrane z serwisu API. Minimalne wymagania jakie powinna spełniać strona są następujące:- aplikacja przygotowana wykorzystując do tego celu HTML, CSS, język JavaScript oraz bibliotekę jQuery,
- frontend wspomagany kaskadowymi arkuszami stylu CSS (można wykorzystać bibliotekę Twitter Bootstrap oraz jQueryUI),
- wykorzystanie do komunikacji asynchronicznej metody .ajax() z biblioteki jQuery