WAP - ไวยากรณ์ WML
เลเยอร์บนสุดในสถาปัตยกรรม WAP ประกอบด้วย WAE (Wireless Application Environment) ซึ่งประกอบด้วยภาษาสคริปต์ WML และ WML
ภาษาสคริปต์ WML ใช้ในการออกแบบแอปพลิเคชันที่ส่งผ่านอุปกรณ์ไร้สายเช่นโทรศัพท์มือถือ ภาษานี้ดูแลหน้าจอขนาดเล็กและแบนด์วิธในการรับส่งข้อมูลต่ำ WML เป็นแอปพลิเคชันของ XML ซึ่งกำหนดไว้ในข้อกำหนดประเภทเอกสาร
เพจ WML เรียกว่าเด็ค การ์ดเหล่านี้สร้างขึ้นเป็นชุดของการ์ดซึ่งเกี่ยวข้องกันด้วยลิงก์ เมื่อเข้าถึงเพจ WML จากโทรศัพท์มือถือการ์ดทั้งหมดในเพจจะถูกดาวน์โหลดจากเซิร์ฟเวอร์ WAP ไปยังโทรศัพท์มือถือที่แสดงเนื้อหา
คำสั่งและไวยากรณ์ WML ใช้เพื่อแสดงเนื้อหาและเพื่อนำทางระหว่างการ์ด นักพัฒนาสามารถใช้คำสั่งเหล่านี้เพื่อประกาศตัวแปรจัดรูปแบบข้อความและแสดงรูปภาพบนโทรศัพท์มือถือ
โครงสร้างโปรแกรม WAP
โดยทั่วไปโปรแกรม WML จะแบ่งออกเป็นสองส่วน - ส่วน document prolog และ body. พิจารณารหัสต่อไปนี้ -
<?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>
บรรทัดแรกของข้อความนี้ระบุว่านี่คือเอกสาร XML และเวอร์ชันคือ 1.0 บรรทัดที่สองเลือกประเภทเอกสารและระบุ URL ของไฟล์document type definition (DTD) DTD นี้ให้คำจำกัดความ XML แบบเต็มของ WML DTD ที่อ้างถึงถูกกำหนดไว้ใน WAP 1.1 แต่ส่วนหัวนี้เปลี่ยนไปตามเวอร์ชันของ WML ต้องคัดลอกส่วนหัวทุกประการเพื่อให้ชุดเครื่องมือสร้าง prolog นี้โดยอัตโนมัติ
เนื้อหาอยู่ในคู่แท็ก <wml> ... </wml> ดังที่แสดงด้านบน เนื้อหาของเอกสาร WML สามารถประกอบด้วยอย่างน้อยหนึ่งอย่างต่อไปนี้ -
Deck
Card
เนื้อหาที่จะแสดง
คำแนะนำการนำทาง
คำสั่ง WML
คำสั่งที่ใช้ใน WML สรุปได้ดังนี้ -
การจัดรูปแบบ
คำสั่ง | คำอธิบาย |
---|---|
<p> | ย่อหน้า |
เ <b> | ตัวหนา |
<big> | ใหญ่ |
เ <em> | เน้น |
<I> | ตัวเอียง |
<small> | เล็ก |
<strong> | เน้นย้ำอย่างยิ่ง |
<u> | ขีดเส้นใต้ |
<br> | เส้นแบ่ง |
การแทรกรูปภาพ
<img src="image-path/image - name" alt="Picture not available" />
การใช้ตาราง
คำสั่ง | คำอธิบาย |
---|---|
<table> | ความหมายของตาราง |
<tr> | การกำหนดแถว |
<td> | การกำหนดคอลัมน์ |
<Thead> | ส่วนหัวของตาราง |
ตัวแปร
ประกาศเป็น -
<setvar name="x" value="xyz"/>
ใช้เป็น -
$ identifier or
$ (identifier) or
$ (Identifier; conversion)
แบบฟอร์ม
คำสั่ง | คำอธิบาย |
---|---|
<select> | กำหนดรายการเดียวหรือหลายรายการ |
<input> | ข้อมูลจากผู้ใช้ |
<option> | กำหนดตัวเลือกในรายการที่เลือกได้ |
<fieldset> | กำหนดชุดของช่องป้อนข้อมูล |
<optgroup> | กำหนดกลุ่มตัวเลือกในรายการที่เลือกได้ |
องค์ประกอบของงาน
คำสั่ง | คำอธิบาย |
---|---|
<go> | แสดงถึงการเปลี่ยนไปใช้การ์ดใหม่ |
<noop> | บอกว่าไม่มีอะไรควรทำ |
<prev> | แสดงถึงการย้อนกลับไปยังการ์ดก่อนหน้า |
<รีเฟรช> | รีเฟรชตัวแปรการ์ดที่ระบุ |
เหตุการณ์
เหตุการณ์ต่างๆมีดังนี้ -
คำสั่ง | คำอธิบาย |
---|---|
<do> | กำหนด do event handler |
<onevent> | กำหนดตัวจัดการเหตุการณ์ onevent |
<postfield> | กำหนดตัวจัดการเหตุการณ์หลังสนาม |
<ontimer> | กำหนดตัวจัดการเหตุการณ์ ontimer |
<onenterforward> | กำหนดตัวจัดการ onenterforward |
<onenterbackward> | กำหนดตัวจัดการแบบถอยหลัง |
<onpick> | กำหนดตัวจัดการเหตุการณ์ onpick |
ตัวอย่างโปรแกรม WML
เก็บรหัส WML ต่อไปนี้ไว้ใน info.wml บนเซิร์ฟเวอร์ของคุณ หากเซิร์ฟเวอร์ของคุณเปิดใช้งาน WAP คุณสามารถเข้าถึงหน้านี้โดยใช้อุปกรณ์ 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>