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ć:
  1. Plik CSS (kaskadowy arkusz stylu) formatujący wygląd XML.
  2. Plik DTD (Document Type Definition) walidujący XML.
  3. Plik XML-Schema walidujący XML
Sprawdzić wygląd w kilku przeglądarkach.

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.
Do zaliczenie należy przedstawić plik XML, XMLSchema oraz plik tekstowy z polecaniami XPath wysłuskujące odpowiednie dane wraz z odpowiedziamy zwróconymi dla danego polecenia XPath.

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:
  1. sortowanie samochodów następuje po roczniku (od najnowszego do najstarszego),
  2. 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
Prezentacja projekt 4 oraz jednego wybranego przez prowadzącego projektu nr 1-3 odbędzie się na konsultacjach w dniu 24 czerwca 2016 r. (godzina zostanie ogłoszona po rezerwacji sali). Osoby które nie mogą przystąpić do prezentacji w podanych terminach proszone są o kontakt mailowy z podaniem propozycji alternatywnej daty. Aplikacja powinna, tak jak było to w przypadku poprzednich projektów przesłana przez skrzynkę wrzutową przed dniem prezentacji

Przesyłanie plików projektów

Wszystkie pliki powinny być przesłane w formie archiwum ZIP,TAR,RAR.