WAP - składnia WML
Najwyższa warstwa w architekturze WAP składa się z WAE (Wireless Application Environment), na które składają się języki skryptowe WML i WML.
Język skryptowy WML służy do projektowania aplikacji przesyłanych przez urządzenia bezprzewodowe, takie jak telefony komórkowe. Ten język dba o mały ekran i niską przepustowość transmisji. WML to aplikacja języka XML zdefiniowana w definicji typu dokumentu.
Strony WML nazywane są deckami. Są zbudowane jako zestaw kart powiązanych ze sobą linkami. Kiedy strona WML jest uzyskiwana z telefonu komórkowego, wszystkie karty na stronie są pobierane z serwera WAP do telefonu komórkowego, pokazując zawartość.
Polecenia i składnie WML są używane do wyświetlania treści i nawigowania między kartami. Programiści mogą używać tych poleceń do deklarowania zmiennych, formatowania tekstu i wyświetlania obrazów na telefonie komórkowym.
Struktura programu WAP
Program WML jest zwykle podzielony na dwie części - plik document prolog i body. Rozważ następujący kod -
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card>
...
</card>
...more cards...
</wml>
Pierwsza linia tego tekstu mówi, że jest to dokument XML, a wersja to 1.0. Druga linia wybiera typ dokumentu i podaje adres URL plikudocument type definition (DTD). To DTD podaje pełną definicję XML WML. Odwołanie do DTD jest zdefiniowane w WAP 1.1, ale ten nagłówek zmienia się wraz z wersjami WML. Nagłówek musi zostać dokładnie skopiowany, aby zestawy narzędzi automatycznie wygenerowały ten prolog.
Treść jest ujęta w parę znaczników <wml> ... </wml>, jak pokazano powyżej. Treść dokumentu WML może składać się z co najmniej jednego z następujących elementów -
Deck
Card
Treść do wyświetlenia
Instrukcje nawigacyjne
Polecenia WML
Polecenia używane w WML są podsumowane w następujący sposób -
Formatowanie
Komenda | Opis |
---|---|
<p> | Ustęp |
<b> | Pogrubienie |
<big> | Duży |
<em> | Podkreślony |
<I> | Kursywa |
<small> | Mały |
<strong> | Silnie podkreślone |
<u> | Podkreślony |
<br> | Przerwanie linii |
Wstawianie obrazów
<img src="image-path/image - name" alt="Picture not available" />
Korzystanie z tabel
Komenda | Opis |
---|---|
<table> | Definicja tabeli |
<tr> | Definiowanie wiersza |
<td> | Definiowanie kolumny |
<Thead> | Nagłówek tabeli |
Zmienne
Zadeklarowany jako -
<setvar name="x" value="xyz"/>
Używany jako -
$ identifier or
$ (identifier) or
$ (Identifier; conversion)
Formularze
Komenda | Opis |
---|---|
<select> | Zdefiniuj jedną lub wiele list |
<input> | Dane wejściowe od użytkownika |
<opcja> | Definiuje opcję na liście do wyboru |
<fieldset> | Definiuje zestaw pól wejściowych |
<optgroup> | Definiuje grupę opcji na liście do wyboru |
Elementy zadań
Komenda | Opis |
---|---|
<go> | Reprezentuje czynność przejścia na nową kartę |
<noop> | Mówi, że nic nie powinno być zrobione |
<prev> | Reprezentuje akcję powrotu do poprzedniej karty |
<odśwież> | Odświeża niektóre określone zmienne karty. |
Wydarzenia
Różne wydarzenia są następujące -
Komenda | Opis |
---|---|
<do> | Definiuje procedurę obsługi zdarzeń do |
<onevent> | Definiuje procedurę obsługi zdarzeń onevent |
<postfield> | Definiuje procedurę obsługi zdarzeń postfield |
<ontimer> | Definiuje procedurę obsługi zdarzeń ontimer |
<onenterforward> | Definiuje obsługę onenterforward |
<onenterbackward> | Definiuje procedurę obsługi onenterbackward |
<onpick> | Definiuje procedurę obsługi zdarzeń onpick |
Przykładowy program WML
Zachowaj następujący kod WML w pliku info.wml na serwerze. Jeśli twój serwer obsługuje WAP, możesz uzyskać dostęp do tej strony przy użyciu dowolnego urządzenia WAP.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<!-- WML prolog.declaration of file type and version>
<wml>
<!-- Declaration of the WML deck>
<card id="info" newcontext="true">
<!-- declaration of a card in deck>
<p align="center"><b>Information Center</b></p>
<!--paragraph declaration to display heading>
<p>
<!--paragraph declaration to display links>
<a href="Movie.wml">1. Movies info.</a>
<a href="Weather.wml">2. Weather Info.</a>
<!--declaration of links for weather and movies>
</p>
</card>
<!-- card end>
</wml>
<!-- program end>