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>