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 ได้ที่นี่