których wartości są adresami skryptów wywołujących wyżej opisane akcje: function akcja2()
{
document.fgColor = 'green'; //foreground
}
function akcja3()
{
document.fgColor = 'black'; //foreground
}
Za pomocą zdarzenia onfocus=”akcja1” umieszczonego w obrębie <input> z id=”lastname” i skryptu zyskany został po kliknięciu w polu Nazwisko efekt wyświetlenia następującego komunikatu(rys.3):
Rys.3 Zdarzenie wywołania komunikatu po kliknięciu kursorem myszy w polu Nazwisko
W obrębie znacznika <from> atrybut onsubmit po naciśnięciu przez użytkownika przycisku submit wywołuje proces walidacji skryptu Java Script :
>. Połączenie wyżej opisanych znaczników może utworzyć następujący ciąg znaków:
Pola zachowywać się mogą różnie w zależności od zadeklarowanego typu danych. Mogą np. występować w postaci listy.
W celu wyświetlenia różnego rodzaju wyników obliczeń XForms używa pól typu out put. Wszystkie pola, za wyjątkiem tych pól muszą zawierać w sobie przypisaną etykietkę.
W obrębie znaczników podobnie jak w HTML umieszczane są atrybuty ref czy nodeset odpowiedzialne za podanie ścieżki xPath odnajdującej określone dane w modelu danych co obrazuje poniższy przykład:
id="model" xmlns=”” >
…
submission id="zapisz" … />
<body>
submit submission="zapisz" … />
body>
Aplikacja XForms umożliwia łączenie pól w grupie, co ułatwia pisanie odwołań xPath, a także przy pomocy konstrukcji repeat można dokonywać odpowiedniego zbioru pól tyle razy ile jest wystąpień elementu zapisz w strukturze danych. Powtarzającymi się danymi można sterować, czemu służy znacznik submission>19
Pobieranie i przesyłanie danych
Po wypełnieniu formularza przez użytkownika, jego dane umieszczane są w strukturze danych określonej przez model, a sama operacja wysyłania danych (submission), wykorzystuje różne metody protokołu HTTP get, post, put. Dane można również zapisać w lokalnym pliku i wysłać drogą elektroniczną. Domyślnym formatem jest XML, ale akceptowane są także inne formaty jak choćby zgodne z formatem HTML.
W momencie przesłania dokumentu formularza na serwer i dokonaniu przez niego walidacji XForms aktywnie uczestniczy w nadesłaniu sprawdzonych danych. Na ekranie monitora pojawić się więc może formularz zastępujący dotychczas widoczny z komunikatem dotyczącym powodzenia lub niepowodzenia wysyłki danych. Odpowiedź z serwera może również zostać wpisana do struktury danych formularza, zastępując grupę wysłanych danych w formacie XML, albo wysłane dane mogą zostać zlekceważone20.
Walidacja po stronie klienta
Aplikację XForms cechuje pluralizm walidacyjny, umożliwiający oznaczenie elementów wartością not null, przez określenie typu danych XML Schema pozwalający na sprawdzenie zgodności wprowadzonych danych z zadeklarowanym typem. Za porównanie podanych danych ze schematem odpowiedzialny jest procesor XForms.
W celach walidacyjnych wykorzystuje się wyrażenia logiczne, które przypisane do poszczególnych elementów modelu sprawdzają poprawność działania narzuconym tym elementom reguł.
XForms i dynamiczna prezentacja
Formularze XForms są plastyczne. Dzięki posiadanym odpowiednim atrybutom możliwe jest prezentowanie interesującej nas w danej chwili ilości elementów formularza. Innymi słowy mówiąc poszczególne pola formularza mogą być wyłączone lub ponownie aktywowane, zamieniać swoją wartość. Dzięki takiemu podejściu twórców W3C XForms dynamicznie reaguje na rodzaj wprowadzonych danych, łącznie z listami wyboru, z możliwością wyboru wartości kreowaną przez dane zawarte w modelu danych.
XForms w sposób ogólny kształtuje wygląd formularza np. nadając mu odpowiednią kolorystykę, pozostawiając szczegóły formatowania przeglądarce lub CSS.
Zdarzenia i akcje
Struktura formularzy omawianej aplikacji umożliwia stosowanie zdarzeń w standardzie XML Ewents [W3C03]. Akcje, które są przez nie wywoływane to: wprowadzenie określonej przez użytkownika treści do formularza, wysłanie tych danych z całą strukturą, ich czyszczenie, dodawanie lub ujmowanie wierszy, pozycjonowanie linii w wielowierszowych częściach formularza, pozycjonowanie kursora w wybranym polu, , wymuszanie walidacji, wyliczenia, odświeżanie formularza i wyświetlanie komunikatów.
Obok wyświetlanych komunikatów, komentarze zaliczyć można do grupy następstw zainicjowanego zdarzenia, pełniących role pomocy podczas pracy z formularzem. W procesie walidacji komentarze mogą np. informować użytkownika o zaistniałym błędzie. Kombinacja Form i CSS pozwala wyeksponować wybrane elementy z całej struktury formularza, a jego pola można zaopatrzyć w zdeklarowany tekst. Takie gotowce umieszcza się w zewnętrznym dokumencie, aby umożliwić ich wielokrotne wykorzystanie w różnego typu formularzach21.
Przedstawiając bogactwo możliwości aplikacji XFroms nie sposób dostrzec jednej poważnej jego wady dotyczącej omawianego formatu – problem z jego obsługą w różnego typu przeglądarkach. Niezbyt duża popularność tego standardu objawia się również bardzo skąpą literaturą w języku polskim. Mimo tego Zafascynowani możliwościami XForms wyrażali swoje nadzieje, że pozostawiony w cieniu HTML zostanie powszechnie stosowany.22
Zaskoczeniem mogła się okazać decyzja konsorcjum W3C z dnia 2.07.2009 roku, o rozwiązaniu grupy roboczej nad XHTML 2 z końcem tegoż roku. W zamian zostały zwiększone zasoby na grupę roboczą HTML, którego celem stało się przyspieszenie rozwoju standardu HTML 523. Wydaje się, że nowy standard HTML a w nim nowe możliwości formularzy jak dotąd będą preferowane przez najpopularniejsze przeglądarki kosztem XForms.
Możliwości formularzy HTML5
Powszechnie już wiadomo, że HTML5 będzie nowym standardem zastępujący obecny HTML4.01. Producenci najpopularniejszych przeglądarek internetowych intensywnie wspierają rozwój tego języka, dzięki czemu istnieje już możliwość korzystania z pewnej grupy nowych znaczników, przy tworzeniu stron WWW. Obecnie najlepiej wspiera HTML5 udostępniona 8 czerwca bieżącego roku przeglądarka Safari5 dla systemu Mac OS, która przechodząc test dla obsługi omawianego standardu zdobyła 215/300 punktów możliwych do zdobycia24. Nie od razu twórcy HTML5 mogli cieszyć się takim wsparciem. Wszystko się zmieniło 2 lipca 2009 roku, gdy konsorcjum W3C ogłosiło rozwiązanie grupy pracującej nad konkurencyjną w stosunku do HTML5 specyfikacją XHTML2. Różnica pomiędzy tymi projektami polega na tym, że HTML5 jest kontynuacją specyfikacji HTML 4.01 i jego XML – owej odmiany XHTML1, a XHTML2 miał wprowadzić wiele znaczących zmian do języka bez względu na kompatybilność z poprzednimi wersjami XHTML.
Najnowszy szkic HTML5 z datą aktualizacji 18 czerwiec 2010 rok25, prezentuje, w stosunku do swojego poprzednika szereg nowości jak choćby nowe elementy usprawniające tworzenie serwisów i aplikacji internetowych, doprecyzowanie niejasności w specyfikacji HTML 4, dotyczących przede wszystkich sposobu obsługi błędów, czy samodzielna walidacja formularzy po stronie kienta, itd.
Czwarty obszerny rozdział dokumentu HTML5 A vocabulary and associated APIs for HTML and XHTML poświęcony został formularzom. Analizujący ją czytelnik już na samym początku zauważy jego ewolucyjny charakter, gdzie to co stare i wartościowe łączy się z nowym, tworząc ulepszony i ułatwiającym pracę system tworzenia dynamicznych formularzy WWW.
Nowe typy znacznika
W podrozdziale 4.10.7 dokumentu HTML5 zaprezentowane zostały typy znacznika w liczbie 23. Wśród znanych nam elementów jak text, reset, submit, pojawiło się kilkanaście nowych:
Treść jaką w sobie noszą wyżej przedstawione typy bez głębszej analizy sugerują ich zastosowanie. W niniejszej pracy pozwoliłem się ograniczyć do zaprezentowania wybranych elementów zastosowanych w formularzu Kandydaci. Dodatkowo w celu zwiększenia jego czytelności , przy pomocy znacznika <legend> wprowadziłem podział opcji i pól na wyraźnie zarysowujące się grupy co przy omawianiu typów znacznika