WML2.0 บทช่วยสอน
WML2 เป็นภาษาที่ขยายไวยากรณ์และความหมายของสิ่งต่อไปนี้:
- XHTML Basic [ XHTMLBasic ]
- CSS Mobile Profile [ CSSMP ]
- Unique semantics of WML1.0 [ WML1.0 ]
WML2 ได้รับการปรับให้เหมาะสมสำหรับการระบุการนำเสนอและการโต้ตอบกับผู้ใช้บนอุปกรณ์ที่มีความสามารถ จำกัด เช่นโทรศัพท์มือถือและเทอร์มินัลมือถือไร้สายอื่น ๆ
บทช่วยสอนนี้ให้รายละเอียดของภาษามาร์กอัปไร้สาย (WML) เวอร์ชัน 2 บทช่วยสอนนี้อ้างถึงเวอร์ชัน 2.0 ของ WML เป็น WML2
XHTML Basic ที่กำหนดโดย W3C เป็นส่วนย่อยที่เหมาะสมของ XHTML ซึ่งเป็นการจัดรูปแบบของ HTML ใน XML
เป้าหมายพื้นฐานของ WML2:
มีเป้าหมายหลัก 5 ประการสำหรับ WML2:
Backward compatibility: แอปพลิเคชัน WML2 ควรทำงานบนอุปกรณ์รุ่นเก่าเช่นกัน
Convergence with existing and evolving Internet standards: XHTML Basic [XHTMLBasic] และ CSS Mobile Profile [CSSMP]
Optimisation of access from small, limited devices:โดยทั่วไปอุปกรณ์ที่ใช้ WAP จะมีขนาดเล็กและใช้งานแบตเตอรี่และมีหน่วยความจำและพลังงาน CPU ที่ค่อนข้าง จำกัด ดังนั้น WML2 ควรได้รับการปรับให้เหมาะสมเพียงพอที่จะทำงานบนอุปกรณ์เหล่านี้
Allowance for the creation of distinct user interfaces: WAP ช่วยให้สามารถสร้าง Man Machine Interfaces (MMI) ด้วยความยืดหยุ่นและความสามารถสูงสุดสำหรับผู้ขายในการปรับปรุงประสบการณ์ของผู้ใช้
Internationalisation of the architecture:WAP กำหนดเป้าหมายรหัสอักขระทั่วไปสำหรับการใช้งานระหว่างประเทศ ซึ่งรวมถึงสัญลักษณ์สากลและชุดรูปสัญลักษณ์สำหรับผู้ใช้ปลายทางและการเข้ารหัสอักขระที่ใช้เฉพาะสำหรับนักพัฒนาเนื้อหา
WML2 วิสัยทัศน์:
วิสัยทัศน์ WML2 คือการสร้างภาษาที่ขยายไวยากรณ์และความหมายของโปรไฟล์ XHTML Basic และ CSS Mobile ด้วยความหมายเฉพาะของ WML1 ผู้ใช้ไม่ควรทราบถึงความเข้ากันได้ของ WML1
โครงสร้างภาษา WML2:
WML2 เป็นภาษาใหม่ที่มีส่วนประกอบต่อไปนี้:
(1) XHTML พื้นฐาน:
กลุ่มองค์ประกอบนี้ใช้สำหรับคอนเวอร์เจนซ์ W3C สำหรับองค์ประกอบบางอย่างจะมีการเพิ่มแอตทริบิวต์ส่วนขยาย WML เพื่อให้สามารถใช้งานฟังก์ชัน WML1 ได้
(1a) องค์ประกอบพื้นฐาน XHTML:
a abbr ตัวย่อที่อยู่ฐาน blockquote br caption cite code dd dfn div dl dt em form h1 h2 h3 h4 h5 h6 head kbd label li link object ol param pre q samp span strong table td th title tr ul var
(1b) องค์ประกอบพื้นฐาน XHTML ที่มีแอตทริบิวต์ส่วนขยาย WML:
ร่างกาย html img อินพุตเมตาตัวเลือก p เลือกสไตล์ textarea
(2) องค์ประกอบ XHTML Modularization:
กลุ่มองค์ประกอบนี้ประกอบด้วยองค์ประกอบที่เลือกจากโมดูลเหล่านั้นของ XHTML ที่ไม่รวมอยู่ใน XHTML Basic องค์ประกอบส่วนใหญ่รวมอยู่เพื่อความเข้ากันได้ของ WML1 องค์ประกอบหนึ่งรวมเป็นส่วนเสริมที่เหมาะกับความสามารถของโทรศัพท์มือถือที่ จำกัด
(2a) XHTML Modularization สำหรับความเข้ากันได้แบบย้อนหลังกับ WML1:
b big i small (จากโมดูลการนำเสนอ) u (จาก Legacy Module) fieldset optgroup (จาก Forms Module)
(2b) องค์ประกอบ XHTML Modularization สำหรับการปรับปรุงคุณสมบัติ:
ชม
(3) องค์ประกอบส่วนขยาย WML:
องค์ประกอบบางอย่างนำมาจาก WML1 เนื่องจากความสามารถเทียบเท่าไม่ได้จัดเตรียมไว้ใน XHTML Basic หรือ XHTML Modularization องค์ประกอบหนึ่งรวมอยู่เพื่อการปรับปรุงความสามารถของ WML1
(3a) องค์ประกอบส่วนขยาย WML (สำหรับความเข้ากันได้กับ WML1):
wml: เข้าถึง wml: anchor wml: card wml: do wml: getvar wml: go wml: noop wml: onevent wml: postfield wml: prev wml: refresh wml: setvar wml: timer
(3b) องค์ประกอบส่วนขยาย WML (สำหรับการปรับปรุงคุณสมบัติ):
wml: วิดเจ็ต
โมดูลโครงสร้างเอกสาร WML:
องค์ประกอบต่อไปนี้ในโมดูลโครงสร้างใช้เพื่อระบุโครงสร้างของเอกสาร WML2:
- body
- html
- wml:card
- head
- title
องค์ประกอบของร่างกาย:
แอ็ตทริบิวต์ wml: newcontext ระบุว่าบริบทของเบราว์เซอร์เริ่มต้นเป็นสถานะที่กำหนดไว้อย่างดีหรือไม่เมื่อโหลดเอกสาร หากค่าแอ็ตทริบิวต์ wml: newcontext เป็น "true" เบราว์เซอร์จะต้องกำหนดค่าบริบทของเบราว์เซอร์ใหม่เมื่อไปที่การ์ดนี้
องค์ประกอบ html:
แอตทริบิวต์ xmlns: wml อ้างถึงเนมสเปซ WML เช่น: http://www.wapforum.org/2001/wml
แอ็ตทริบิวต์ wml: use-xml-fragments ถูกใช้เพื่อระบุวิธีการตีความตัวระบุแฟรกเมนต์โดยตัวแทนผู้ใช้ สำหรับรายละเอียดการใช้ wml: use-xml-fragments ในงาน go และงานก่อนหน้า
wml: องค์ประกอบการ์ด:
องค์ประกอบ wml: card ระบุส่วนย่อยของเนื้อหาเอกสาร wml หลายรายการ: องค์ประกอบของการ์ดอาจปรากฏในเอกสารเดียว องค์ประกอบ wml: การ์ดแต่ละรายการแสดงถึงการนำเสนอแต่ละรายการและ / หรือการโต้ตอบกับผู้ใช้
หากค่าแอตทริบิวต์ newcontext ขององค์ประกอบ wml: การ์ดเป็น "จริง" เบราว์เซอร์จะต้องกำหนดค่าบริบทของเบราว์เซอร์ใหม่เมื่อนำทางไปยังการ์ดนี้
องค์ประกอบหัว:
องค์ประกอบนี้เก็บข้อมูลส่วนหัวของเอกสารเช่นองค์ประกอบเมตาและสไตล์ชีตเป็นต้น
องค์ประกอบชื่อเรื่อง:
องค์ประกอบนี้ใช้เพื่อใส่ชื่อเอกสาร
NOTE:นักพัฒนา WML สามารถใช้รูปแบบเอกสาร XHTML นั่นคือโครงสร้างร่างกายหรือสามารถใช้ชุดการ์ด เมื่อใช้โครงสร้างร่างกายเอกสารจะถูกสร้างขึ้นโดยใช้องค์ประกอบของร่างกาย องค์ประกอบของเนื้อหาประกอบด้วยเนื้อหาของเอกสาร เมื่อใช้ชุดการ์ดเอกสารจะถูกสร้างขึ้นโดยใช้ wml: card elements
งาน WML2
งานต่อไปนี้กำหนดไว้ใน WML2.0 งานเหล่านี้คล้ายกับ WML1.0 มาก
- งานไป
- งานก่อนหน้า
- งาน noop
- งานรีเฟรช
เหตุการณ์ WML2:
ประเภทเหตุการณ์ต่อไปนี้กำหนดไว้ใน WML2:
Intrinsic event: เหตุการณ์ที่สร้างโดยตัวแทนผู้ใช้และรวมเหตุการณ์ต่อไปนี้ที่คล้ายกับ WML1.0
- ontimer
- onenterforward
- onenterbackward
- onpick
Extrinsic event:เหตุการณ์ที่ส่งไปยังตัวแทนผู้ใช้โดยตัวแทนภายนอกบางส่วน ข้อกำหนด WML 2 ไม่ได้ระบุคลาสใด ๆ ของเหตุการณ์ภายนอก ตัวอย่างหนึ่งของคลาสเหตุการณ์ภายนอก WML อาจเป็นเหตุการณ์ WTA
ประเภทเอกสาร WML2:
เอกสาร WML2 ระบุโดยประเภทสื่อ MIME "application / wml + xml" สามารถใช้ประเภท "application / xhtml + xml" เพื่อระบุเอกสารจากภาษามาร์กอัปที่ใช้ XHTML รวมถึง XHTML Basic
การประกาศ DOCTYPE อาจรวมถึง XHTML Basic Formal Public Identifier และอาจรวมถึง URI ของ XHTML Basic DTD ตามที่ระบุด้านล่าง:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
สไตล์ชีทด้วย WML2
สไตล์ชีตสามารถใช้เพื่อจัดรูปแบบเอกสาร WML2 ข้อมูลสไตล์สามารถเชื่อมโยงกับเอกสารได้ 3 วิธี:
สไตล์ชีตภายนอก:
สไตล์ชีตภายนอกสามารถเชื่อมโยงกับเอกสารโดยใช้คำสั่งการประมวลผล XML พิเศษหรือองค์ประกอบลิงก์ นอกจากนี้ยังสามารถใช้คำสั่งการประมวลผล XML ได้
ในตัวอย่างต่อไปนี้คำสั่งการประมวลผล XML ใช้เพื่อเชื่อมโยงสไตล์ชีตภายนอก "mobile.css"
<?xml-stylesheet href="mobile.css"
media="handheld" type="text/css" ?>
ในตัวอย่างต่อไปนี้องค์ประกอบลิงก์ถูกใช้เพื่อเชื่อมโยงสไตล์ชีตภายนอก "mystyle.css":
<html>
<head>
<link href="mystyle.css" type="text/css" rel="stylesheet"/>
...
</head>
...
</html>
สไตล์ชีทภายใน:
ข้อมูลสไตล์สามารถอยู่ภายในเอกสารโดยใช้องค์ประกอบสไตล์ องค์ประกอบนี้เช่นลิงก์ต้องอยู่ในส่วนหัวของเอกสาร
ต่อไปนี้แสดงตัวอย่างของสไตล์ชีตภายใน:
<html>
<head>
<style type="text/css">
p { text-align: center; }
</style>
...
</head>
...
</html>
สไตล์อินไลน์:
คุณสามารถระบุข้อมูลสไตล์สำหรับองค์ประกอบเดียวโดยใช้แอตทริบิวต์style สิ่งนี้เรียกว่าสไตล์อินไลน์
ในตัวอย่างต่อไปนี้ข้อมูลการจัดรูปแบบอินไลน์ถูกนำไปใช้กับองค์ประกอบย่อหน้าเฉพาะ:
<p style="text-align: center">...</p>
สไตล์ชีตเริ่มต้นของ WML2:
นี่คือตัวอย่างสไตล์ชีตสำหรับ 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 }
องค์ประกอบ WML2:
นี่คือลิงค์ไปยังรายการองค์ประกอบ WML2 ทั้งหมด องค์ประกอบส่วนใหญ่มีอยู่ในข้อกำหนด XHTML ยกเว้นองค์ประกอบบางอย่างที่เริ่มต้นด้วยWML:องค์ประกอบเหล่านี้เฉพาะสำหรับ WML
องค์ประกอบทั้งหมดที่มีความหมายเดียวกันที่นี่สิ่งที่มีในข้อกำหนด XHTML
การอ้างอิงแท็ก WML2สรุป:
เราสามารถสรุปได้ว่าถ้าคุณรู้จัก XHTML และ WML1.0 คุณก็ไม่มีอะไรต้องเรียนรู้ WML2.0
หากคุณสนใจอ่านเพิ่มเติมคุณสามารถค้นหาข้อกำหนดทั้งหมดสำหรับWAP2.0 และ WML2.0 ได้ที่นี่