Samouczek WML2.0
WML2 to język, który rozszerza składnię i semantykę następujących elementów:
- XHTML Basic [ XHTMLBasic ]
- CSS Mobile Profile [ CSSMP ]
- Unique semantics of WML1.0 [ WML1.0 ]
WML2 jest zoptymalizowany do określania prezentacji i interakcji użytkownika na urządzeniach o ograniczonych możliwościach, takich jak telefony komórkowe i inne bezprzewodowe terminale mobilne.
Ten samouczek zawiera szczegółowe informacje na temat wersji 2. WML (Wireless Markup Language). Ten samouczek odnosi się do wersji 2.0 WML jako WML2.
XHTML Basic zdefiniowany przez W3C jest właściwym podzbiorem XHTML, który jest przeformułowaniem HTML na XML.
Podstawowe cele WML2:
WML2 ma pięć głównych celów:
Backward compatibility: Aplikacja WML2 powinna również działać na starych urządzeniach.
Convergence with existing and evolving Internet standards: XHTML Basic [XHTMLBasic] i CSS Mobile Profile [CSSMP]
Optimisation of access from small, limited devices:Urządzenia obsługujące WAP są zazwyczaj małe i działają na baterie oraz mają stosunkowo ograniczoną pamięć i moc procesora. Dlatego WML2 powinien być wystarczająco zoptymalizowany, aby działać na tych urządzeniach.
Allowance for the creation of distinct user interfaces: WAP umożliwia tworzenie interfejsów Man Machine (MMI) z maksymalną elastycznością i możliwością dla dostawcy w celu poprawy komfortu użytkowania.
Internationalisation of the architecture:WAP jest przeznaczony dla popularnych kodów znaków do użytku międzynarodowego. Obejmuje to międzynarodowe symbole i zestawy piktogramów dla użytkowników końcowych oraz lokalne kodowanie znaków dla twórców treści.
Wizja WML2:
Wizją WML2 jest stworzenie języka, który rozszerza składnię i semantykę profili XHTML Basic i CSS Mobile o unikalną semantykę WML1. Użytkownik nie powinien zdawać sobie sprawy, w jaki sposób osiąga się zgodność z WML1.
Struktura języka WML2:
WML2 to nowy język zawierający następujące składniki:
(1) XHTML Basic:
Ta grupa elementów jest dla konwergencji W3C. W przypadku niektórych elementów atrybuty rozszerzenia WML są dodawane w celu uzyskania funkcjonalności WML1.
(1a) Podstawowe elementy XHTML:
a skrót akronim adres bazowy cytat br podpis cytat kod dd dfn div dl dt em formularz h1 h2 h3 h4 h5 h6 head kbd etykieta li link obiekt ol param pre q samp span strong table td th title tr ul var
(1b) Podstawowe elementy XHTML z atrybutami rozszerzenia WML:
body html img input meta opcja p wybierz styl textarea
(2) Elementy modularyzacji XHTML:
Ta grupa elementów składa się z wybranych elementów z tych modułów XHTML, które nie są zawarte w XHTML Basic. Większość elementów jest uwzględnionych w celu zapewnienia zgodności z WML1. Jeden element jest dołączony jako rozszerzenie, które pasuje do ograniczonych możliwości telefonu.
(2a) Modularyzacja XHTML dla wstecznej kompatybilności z WML1:
b duży i mały (z modułu prezentacji) u (z modułu starszego) fieldset optgroup (z modułu Forms)
(2b) Elementy modularyzacji XHTML służące do ulepszania funkcji:
godz
(3) Elementy rozszerzeń WML:
Niektóre elementy pochodzą z WML1, ponieważ równoważne możliwości nie są dostępne w XHTML Basic lub XHTML Modularyzacja. Dołączono jeden element rozszerzający możliwości WML1.
(3a) Elementy rozszerzeń WML (dla zgodności z WML1):
wml: dostęp wml: kotwica wml: karta wml: do wml: getvar wml: go wml: noop wml: onevent wml: postfield wml: prev wml: odśwież wml: setvar wml: timer
(3b) Elementy rozszerzeń WML (do ulepszania funkcji):
wml: widget
Moduły struktury dokumentu WML:
Następujące elementy w module Structure służą do określenia struktury dokumentu WML2:
- body
- html
- wml:card
- head
- title
Element ciała:
Atrybut wml: newcontext określa, czy kontekst przeglądarki jest inicjowany do dobrze zdefiniowanego stanu po załadowaniu dokumentu. Jeśli wartość atrybutu wml: newcontext ma wartość „true”, przeglądarka MUSI ponownie zainicjować kontekst przeglądarki po przejściu do tej karty.
Element html:
Atrybut xmlns: wml odnosi się do przestrzeni nazw WML, na przykład: http://www.wapforum.org/2001/wml.
Atrybut wml: use-xml-fragments służy do określenia sposobu interpretacji identyfikatora fragmentu przez klienta użytkownika. Aby uzyskać szczegółowe informacje na temat użycia wml: use-xml-fragments w zadaniu go i zadaniu prev.
Element wml: card:
Element wml: card określa fragment treści dokumentu. W jednym dokumencie może pojawić się wiele elementów wml: card. Każdy element wml: card reprezentuje indywidualną prezentację i / lub interakcję z użytkownikiem.
Jeśli wartość atrybutu newcontext elementu wml: card to „true”, przeglądarka MUSI ponownie zainicjować kontekst przeglądarki po przejściu do tej karty.
Element głowy:
Ten element przechowuje informacje nagłówka dokumentu, takie jak element meta, arkusz stylów itp.
Tytułowy Element:
Ten element służy do umieszczenia tytułu dokumentu
NOTE:Programiści WML mogą używać stylu dokumentu XHTML, czyli struktury ciała, lub mogą używać kolekcji kart. Gdy używana jest struktura treści, dokument jest konstruowany przy użyciu elementu body. Element body zawiera treść dokumentu. Kiedy używana jest kolekcja kart, dokument jest konstruowany przy użyciu co najmniej jednego elementu wml: card.
Zadania WML2
Następujące zadania są zdefiniowane w WML2.0. Te zadania są bardzo podobne do WML1.0
- Zadanie w ruchu
- Poprzednie zadanie
- Noop zadanie
- Zadanie odświeżania
Wydarzenia WML2:
W WML2 zdefiniowano następujące typy zdarzeń:
Intrinsic event: Zdarzenie generowane przez agenta użytkownika i obejmuje następujące zdarzenia podobne do WML1.0
- ontimer
- onenterforward
- onenterbackward
- onpick
Extrinsic event:Zdarzenie wysłane do klienta użytkownika przez zewnętrznego agenta. Specyfikacja WML 2 nie określa żadnych klas zdarzeń zewnętrznych. Jednym z przykładów zewnętrznej klasy zdarzeń WML mogą być zdarzenia WTA
Typ dokumentu WML2:
Dokumenty WML2 są identyfikowane przez typ nośnika MIME „aplikacja / wml + xml”. Typu „aplikacja / xhtml + xml” można używać do identyfikacji dokumentów z dowolnego języka znaczników opartego na XHTML, w tym XHTML Basic.
Deklaracja DOCTYPE może zawierać podstawowy formalny publiczny identyfikator XHTML i może również zawierać identyfikator URI XHTML Basic DTD, jak określono poniżej:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
Arkusze stylów z WML2
Arkusze stylów mogą służyć do stylizacji dokumentów WML2. Informacje o stylu można powiązać z dokumentem na 3 sposoby:
Zewnętrzny arkusz stylów:
Zewnętrzny arkusz stylów można powiązać z dokumentem za pomocą specjalnej instrukcji przetwarzania XML lub elementu odsyłacza. Można również użyć instrukcji przetwarzania XML.
W poniższym przykładzie instrukcja przetwarzania XML jest używana do powiązania zewnętrznego arkusza stylów „mobile.css”.
<?xml-stylesheet href="mobile.css"
media="handheld" type="text/css" ?>
W poniższym przykładzie element link służy do powiązania zewnętrznego arkusza stylów „mystyle.css”:
<html>
<head>
<link href="mystyle.css" type="text/css" rel="stylesheet"/>
...
</head>
...
</html>
Arkusze stylów wewnętrznych:
Informacje o stylu można znaleźć w dokumencie za pomocą elementu stylu. Ten element, podobnie jak link, musi znajdować się w nagłówku dokumentu.
Poniżej przedstawiono przykład wewnętrznego arkusza stylów:
<html>
<head>
<style type="text/css">
p { text-align: center; }
</style>
...
</head>
...
</html>
Styl wbudowany:
Możesz określić informacje o stylu dla pojedynczego elementu za pomocą atrybutu stylu . Nazywa się to stylem inline.
W poniższym przykładzie informacje o stylu w wierszu są stosowane do określonego elementu akapitu:
<p style="text-align: center">...</p>
Domyślny arkusz stylów WML2:
Oto przykładowy arkusz stylów dla WML 2.0:
body, card, div, p, center, hr, h1, h2, h3, h4, h5, h6,
address, blockquote, pre, ol, ul, dl, dt, dd,
form, fieldset, object { display: block }
li { display: list-item }
head { display: none }
table { display: table }
tr { display: table-row }
td, th { display: table-cell }
caption { display: table-caption }
th { font-weight: bolder; text-align: center }
caption { text-align: center }
h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder }
i, cite, em, var,address { font-style: italic }
pre, code, kbd, pre { white-space: pre }
big { font-size: larger}
small { font-size: smaller}
hr { border: 1px inset }
ol { list-style-type: decimal }
u { text-decoration: underline }
Elementy WML2:
Oto link do pełnej listy wszystkich elementów WML2. Większość elementów jest dostępna w specyfikacji XHTML, z wyjątkiem kilku elementów zaczynających się od WML: Te elementy są specyficzne dla WML.
Wszystkie elementy mają takie samo znaczenie, jakie mają w specyfikacji XHTML.
Opis znaczników WML2Podsumowanie:
Możemy wywnioskować, że jeśli znasz XHTML i WML1.0, to nie masz nic do roboty, aby nauczyć się WML2.0
Jeśli jesteś zainteresowany dalszą lekturą, tutaj możesz znaleźć pełną specyfikację dla WAP2.0 i WML2.0