บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" "...

26
1 บทที2 ภาษามาร์คอัฟ (Markup Language) และ XML ภาษามาร์กอั (อังกฤษ: markup language) คือประเภทภาษาคอมพิวเตอร์ที่แสดงทั้งข้อมูล และข้อมูลรูปแบบเข้าด้วยกัน โดยข้อมูลรูปแบบอธิบายถึงโครงสร้างหรือการแสดงผลซึ่งส่วนนี้เรียกว่า มาร์กอั โดยจะอยู่รวมกับข้อมูลปกติ ภาษามาร์กอั ที่รู้จักกันดีที่สุดคือ HTML ตามความเป็นมาแล้ว ภาษารูปแบบนี้ได้มีการใช้ในอุตสาหกรรมการพิมพ์ในการติดต่อสื่อสารงานพิมพ์ ระหว่างผู้เขียน บรรณาธิการ และเครื่องพิมพ์ ตัวอย่างภาษามาร์กอัป เช่น GML, SGML, HTML, XML เป็นต้น ความรู้ทั่วไปเกียวกับ XML (eXtensible Markup Language) โลกของเทคโนโลยีมีแพลตฟอร์มมากมาย หลากหลายภาษา แต่ละภาษาก็จะคุยกันด้วยสํานวนของมันเอง ในงานที่ต้องใช้แพลตฟอร์มหลากหลาย จะมีปัญหาก็คือมันจะทํางานร่วมกันอย่างไร? จะส่งข้อมูลอย่างไร ? เช่นถ้าจะเขียน ASP.net ให้คุยกับ JSP(Java) รือภาษาอื่น ต้องทําอย่างไร ? XML จึงเกิดขึ้นมาเพื่อแก้ปัญหานีมันจะทําหน้าที่เป็นตัวกลางเก็บข้อมูล โดยทีASP.net , JSP(Java) หรือภาษาอื่นๆ ต้องสามารถเข้าใจภาษา XML เป็นมาตรฐานอยู่แล้ว ขอยกตัวอย่างให้เห็นชัด ASP.net ต้องการแลกเปลี่ยนข้อมูลกับ JSP เราก็ เขียน ASP.net ให้สร้างไฟล์ XML พร้อมทั้งใส่โครงสร้างและข้อมูลตามที่เราต้องการ จากนั้นเราก็เขียน JSP ให้มาอ่านไฟล์ XML นั้นๆแค่นีASP.net ก็แลกเปลี่ยนข้อมูลกับ JSP ได้แล้ว XML เป็นภาษาหนึ่งที่ใช้ในการแสดงผลข้อมูล ถ้าเปรียบเทียบกับภาษา HTML จะแตกต่างกันทีHTML ถูกออกแบบมาเพื่อการแสดงผลอย่างเดียวเท่านั้น เช่นให้แสดงผลตัวเล็ก ตัวหนา ตัวเอียง เหมือนที่คุณเคยเห็นในเวบเพจทั้วไป แต่ภาษา XML นั้นถูกออกแบบมาเพื่อเก็บข้อมูล โดยทั้งข้อมูลและโครงสร้างของข้อมูลนั้นๆไว้ด้วยกัน ส่วนการแสดงผลก็จะใช้ภาษาเฉพาะซึ่งก็คือ XSL (Extensible Stylesheet Language) XML เป็นภาษาที่กําลังมาแรงมากที่สุด สําหรับใช้ในการพัฒนาระบบข้อมูลข่าวสารในปัจจุบัน ด้วยความง่ายในการนําไปใช้งานสําหรับการแลกเปลี่ยนข้อมูลข่าวสารทาง อิเล็กทรอนิกส์หรือ EDI ทําให้สามารถนํารูปแบบข้อมูลกลับมาพัฒนาใช้ ใหม่ได้ จึงทําให้ลดเวลาในการพัฒนาและการสร้างขึ้นมาใหม่ ทุกวันนีภาษา XML เป็นแนวทางหนึ่งที่จะสร้างคุณค่าให้กับผู้ใช้อินเทอร์เน็ต และเป็นหนทางที่จะสร้างบทบาทการประยุกต์ใช้งานบนเครือข่ายและเป็นภาษาทีกําลังมาแรงมากที่สุดเพราะกําลังกลายมาเป็นภาษามาตรฐานสําหรับการพัฒนาระบบการ แลกเปลี่ยนเอกสารข้อมูลอิเล็กทรอนิกส์ซึ่งกําลังจะนําศักยภาพใหม่ของโทคโนโลยี ที่มีการพัฒนาอย่างไม่หยุดยั้งเพื่อเข้ามารองรับในการประมวลผลบนอิน เทอร์เน็ต

Transcript of บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" "...

Page 1: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

1    

บทที่ 2

ภาษามาร์คอัฟ (Markup Language) และ XML

ภาษามาร์กอฟั (อังกฤษ: markup language) คือประเภทภาษาคอมพิวเตอร์ที่แสดงทั้งข้อมูล

และข้อมูลรูปแบบเข้าด้วยกัน โดยข้อมูลรูปแบบอธิบายถึงโครงสร้างหรือการแสดงผลซึ่งส่วนนี้เรียกว่า

มาร์กอัฟ โดยจะอยู่รวมกับข้อมูลปกติ ภาษามาร์กอัฟที่รู้จักกันดีที่สุดคือ HTML ตามความเป็นมาแล้ว

ภาษารูปแบบนี้ได้มีการใช้ในอุตสาหกรรมการพิมพ์ในการติดต่อสื่อสารงานพิมพ์ ระหว่างผู้เขียน บรรณาธิการ

และเครื่องพิมพ์

ตัวอย่างภาษามาร์กอัป เช่น GML, SGML, HTML, XML เป็นต้น

ความรู้ทั่วไปเกียวกับ XML (eXtensible Markup Language)

โลกของเทคโนโลยีมีแพลตฟอร์มมากมาย หลากหลายภาษา

แต่ละภาษาก็จะคุยกันด้วยสํานวนของมันเอง ในงานที่ต้องใช้แพลตฟอร์มหลากหลาย

จะมีปัญหาก็คือมันจะทํางานร่วมกันอย่างไร? จะส่งข้อมูลอย่างไร ? เช่นถ้าจะเขียน ASP.net ให้คุยกับ

JSP(Java) หรือภาษาอื่น ๆ ต้องทําอย่างไร ? XML จึงเกิดขึ้นมาเพื่อแก้ปัญหานี้

มันจะทําหน้าที่เป็นตัวกลางเก็บข้อมูล โดยที่ ASP.net , JSP(Java) หรือภาษาอื่นๆ ต้องสามารถเข้าใจภาษา

XML เป็นมาตรฐานอยู่แล้ว

ขอยกตัวอย่างให้เห็นชัด ๆ ASP.net ต้องการแลกเปลี่ยนข้อมูลกับ JSP เราก็เขียน ASP.net

ให้สร้างไฟล์ XML พร้อมทั้งใส่โครงสร้างและข้อมูลตามที่เราต้องการ จากนั้นเราก็เขียน JSP ให้มาอ่านไฟล์

XML นั้นๆแค่นี้ ASP.net ก็แลกเปลี่ยนข้อมูลกับ JSP ได้แล้ว

XML เป็นภาษาหนึ่งที่ใช้ในการแสดงผลข้อมูล ถ้าเปรียบเทียบกับภาษา HTML จะแตกต่างกันที่

HTML ถูกออกแบบมาเพื่อการแสดงผลอย่างเดียวเท่านั้น เช่นให้แสดงผลตัวเล็ก ตัวหนา ตัวเอียง

เหมือนที่คุณเคยเห็นในเวบเพจทั้วไป แต่ภาษา XML นั้นถูกออกแบบมาเพื่อเก็บข้อมูล

โดยทั้งข้อมูลและโครงสร้างของข้อมูลนั้นๆไว้ด้วยกัน ส่วนการแสดงผลก็จะใช้ภาษาเฉพาะซึ่งก็คือ XSL

(Extensible Stylesheet Language)

XML เป็นภาษาที่กําลังมาแรงมากที่สุด สําหรับใช้ในการพัฒนาระบบข้อมูลข่าวสารในปัจจุบัน

ด้วยความง่ายในการนําไปใช้งานสําหรับการแลกเปลี่ยนข้อมูลข่าวสารทาง อิเล็กทรอนิกส์หรือ EDI

ทําให้สามารถนํารูปแบบข้อมูลกลับมาพัฒนาใช้ใหม่ได้ จึงทําให้ลดเวลาในการพัฒนาและการสร้างขึ้นมาใหม่

ทุกวันนี้ ภาษา XML เป็นแนวทางหนึ่งที่จะสร้างคุณค่าให้กับผู้ใช้อินเทอร์เน็ต

และเป็นหนทางที่จะสร้างบทบาทการประยุกต์ใช้งานบนเครือข่ายและเป็นภาษาที่

กําลังมาแรงมากที่สุดเพราะกําลังกลายมาเป็นภาษามาตรฐานสําหรับการพัฒนาระบบการ

แลกเปลี่ยนเอกสารข้อมูลอิเล็กทรอนิกส์ซึ่งกําลังจะนําศักยภาพใหม่ของโทคโนโลยี

ที่มีการพัฒนาอย่างไม่หยุดยั้งเพื่อเข้ามารองรับในการประมวลผลบนอิน เทอร์เน็ต

Page 2: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

2    

โดยเป็นเทคโนโลยีระบบเปิดที่เน้นการสื่อสารระหว่างผู้คนบนอินเทอร์เน็ตและ แอพพลิเคชัน

ซึ่งมีความสามารถทํางานได้ระหว่างแพลตฟอร์มที่แตกต่างกัน

XML (eXtensible Markup Language)

ถูกออกแบบมาเพื่อให้ผู้สร้างเอกสารสามารถนําไปใช้งานในรูปแบบวิธีการที่ง่าย

มีความชัดเจนและเป็นเซตย่อยของ SGML (Standard Generalized Markup Language)

ซึ่งเป็นภาษาที่นิยมใช้และได้รับการพัฒนาให้มีประสิทธิภาพสูงสุดในการทํางาน บนเว็บ โดย XML

จะประกอบด้วย 3 ส่วนพื้นฐานด้วยกัน คือ เอกสารข้อมูล (Data document) เอกสารนิยามความหมาย

(definition document) และนิยามภาษา(definition language) ปัจจุบันมี 2

ภาษาด้วยกันที่มีการสร้างนิยามภาษาของเอกสารข้อมูลภาษาอื่นได้ คือ SGML และ XML เช่น ภาษา

WML(Wireless Markup Language) ก็มีต้นกําเนิดมาจาก XML

ที่ใช้ในการแสดงข้อความบนโทรศัพท์มือถือระบบ WAP (Wireless Application Protocol) โดยที่ XML

ถือได้ว่าเป็นส่วนหนึ่งของ SGML

ที่เป็นข้อกําหนดในการสร้างหรือจัดทําเอกสารในรูปแบบอิเล็กทรอนิกส์ที่กําหนด โดย W3C หรือ World

Wide Web Consortium ใน SGML มีกระบวนการเรียกว่า Information Analysis

สําหรับใช้ตรวจสอบโครงสร้างและราย ละเอียดของข้อมูล กระบวนการดังกล่าวเรียกว่า DTD (document

type definition) ซึ่งเป็นตัวชี้เนื้อหาของ ออบเจ็กต์ (Object) ในกลุ่มข้อมูล

การเปลี่ยนแปลงเทคโนโลยีไปสู่แนวทางใหม่ ข้อมูลจะกลายเป็นส่วนสําคัญ

ซึ่งไม่เหมือนกับในอดีตที่นักพัฒนาเว็บไซท์ไม่ได้ให้ความสนใจกับข้อมูลกัน มากนัก

เนื่องจากการติดต่อสื่อสารบนเครือข่ายอินเทอร์เน็ตของบริษัทต่างๆ ในยุคเริ่มต้นนั้น

ข้อมูลข่าวสารจะถูกนําเสนออยู่บนเว็บมีลักษณะเป็นเว็บแบบนิ่งหรือสแตติก (Static Web)

ซึ่งได้รับการออกแบบและกําหนดให้อยู่ในโครงสร้างนิ่งและไม่เปลี่ยนแปลง

เว็บเหล่านี้ถูกจัดเก็บในฟอร์แมตของภาษาเฮชทีเอ็มแอล (HTML)

ในปี ค.ศ. 1998 ก็เริ่มเข้าสู่ยุคสอง มีการพัฒนาโปรแกรมทางด้านฝั่งเซิร์ฟเวอร์

เพื่อให้เซิร์ฟเวอร์ทํางานตามคําเรียกขอมาจากทางฝั่งไคลเอนต์

ซึ่งก็เริ่มส่อแววให้เห็นเค้าโครงว่ามีการพัฒนาไปสู่เว็บที่มีการเชื่อมโยง กับระบบฐานข้อมูล (Database)

ซึ่งมีหัวใจหลักอยู่ที่ภาษา HTML

และมีการประมวลผลบางอย่างของข้อมูลข่าวสารที่นําเสนอบนเว็บมีลักษณะแบบไดนามิก (Dynamic)

ในยุคที่สามของอินเทอร์เน็ตได้มาถึงจุดที่จะช่วยยกระดับโครงสร้างพื้นฐานและการบูรณาการระบบต่

างๆ ขององค์กรเข้าด้วยกัน มีการพัฒนาเทคโนโลยีบนเว็บให้เป็นองค์กรเสมือนจริงที่สามารถทํางานและแลก

เปลี่ยนข้อมูลข่าวสารระหว่างองค์กรได้อย่างมีประสิทธิภาพ

นอกจากนี้แล้วยังรวมไปถึงการเชื่อมโยงและเข้าถึงข้อมูลข้ามเขตพื้นที่ ระหว่างโรงงานและธุรกิจ โดยอาศัย

XML เป็นแกนกลางในการแลกเปลี่ยนข้อมูลระหว่างกัน

Page 3: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

3    

เพื่อให้การดําเนินธุรกิจสามารถติดต่อสื่อสารกันแบบอัตโนมัติ มีความยืดหยุ่น

และสามารถปรับเปลี่ยนได้ทันกับการเปลี่ยนแปลงของการดําเนินธุรกิจในยุคเจเนอเรชั่นเอกซ์

ไวยากรณ์ และ คําสั่งพื้นฐาน

1. การเปิด-ปิดแท็ก XML

- กรณีทีมีข้อความภายใต้แท็ก รูปแบบการระบุแท็กก็คือ <tag>-----ข้อความ-----</tag>

- กรณีที่ไม่มีข้อความภายใต้แท็ก รูปแบบการระบุแท็กคือ <tag/> ถ้าภายในแท็กว่างมีการกําหนด

แอตทริบิวต์ ก็ต้องลงท้ายด้วยเครื่องหมาย / เช่นกัน รูปแบบการระบุแท็กคือ<tag attribute=”value”/>

2. อย่ากําหนดชื่อแท็กเหลื่อมกัน เช่น ที่ถูกต้องคือ <a> this is outer zone <b> this is inner zone

</b></a> ตัวอย่างที่ผิด <a> this is outer zone <b> this is inner zone </a></b>

3. Case sensitivity ของชื่อแท็กภาษา XML ให้ความสําคัญกับอักษรตัวพิมพ์เล็ก –

ตัวพิมพ์ใหญ่เป็นพิเศษฉะนั้นชื่อแท็กที่ตั้งขึ้นเองจึงต้องระวังไว้ด้วยว่า อักษรตัวพิมพ์เล็ก –

ตัวพิมพ์ใหญ่แตกต่างกันตัวอย่างเช่น <Tag>, <TAG>, <tag>, <tAG>

4. ค่าแอตทริบิวต์ต้องมีเครื่องหมายคําพูดกํากับไว้เสมอ ขอยกตัวอย่างแท็กในภาษา HTML

เช่นแท็กที่เกี่ยวกับไฟล์รูปภาพ ดังนี้ <img src=“/pic/image1.gif” alt=“bird”> แอตทริบิวต์ src ก็คือ

ส่วนขยายเพื่อบอกตําแหน่งที่อยู่ของไฟล์รูปภาพโดย src ถือว่าเป็นชื่อแอตทริบิวต์ ส่วน /pic/image1.gif

เรียกว่าเป็นค่าของแอตทริบิวต์

5. อักษรพิเศษบางตัวต้องแทนด้วยรหัสพิเศษ เราไม่สามารถระบุอักขระพิเศษลงในเอกสาร XMLได้โดยตรง เพราะว่าเบราเซอร์จะตีความหมายว่าเป็นสัญลักษณ์การทํางาน

ในกรณีที่จําเป็นต้องระบุสัญลักษณ์พิเศษลงไปเราต้องแทนด้วยรหัสพิเศษเท่านั้น เช่น เครื่องหมาย <

แทนด้วย &lt; เครื่องหมาย < แทนด้วย &gt; เป็นต้น

ความแตกต่างระหว่าง DTD และ XML Schema ความแตกต่างที่สําคัญระหว่าง DTD และ XML

schema คือ ความชัดเจนและความสามารถของทั้ง 2 ภาษา โดย Schema ได้จัดสร้างประโยชน์ต่างๆ

มากมายพร้อมกับมีความสามารถโดดเด่นที่เหนือกว่า DTD ภาษา XML สกีมา หรือ XML Schema

มีหน้าที่หลักคือ กําหนดโครงสร้างที่สมบูรณ์ให้กับเอกสาร XML กําหนดข้อบังคับที่เอกสาร XML

ต้องปฏิบัติตาม กําหนดชนิดและคุณสมบัติของข้อมูลที่ใช้ในเอกสาร XML ส่วน DTD

นั้นโดยทั่วไปแล้วจะเป็นตัวกําหนดเค้าโครงของกฎทั้งหมดให้กับอิลิเมนต์แต่ละ ตัวตามแต่ละชนิดของเอกสาร

ซึ่งใช้บ่งบอกถึงชนิดของข้อมูลที่ใช้งานอยู่ในเอกสารนั้นๆ กับเอกสาร XML แต่ DTD

ก็ยังมีข้อด้อยเมื่อเทียบกับ XML สกีมา อย่างไรก็ตามทั้ง DTDs และ schemas

ยังสนับสนุนรูปแบบในการทํางานของผู้พัฒนานิยามภาษา (Programming language)

กําหนดคําจํากัดความให้กับเอกสารนิยามข้อมูล (Program) สําหรับเอกสารข้อมูล (Input/Output)

เพื่อขยายขีดความสามารถให้กับภาษาข้อมูลให้เป็นลักษณะเฉพาะเจาะจง

โดยกําหนดขอบเขตแอพพลิเคชันและการติดต่อข้อมูลข่าวสารกับระบบอื่นๆ

Page 4: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

4    

Schemas อนุญาตให้คุณกําหนด elements ที่มีได้หรือต้องการมีในเอกสาร

อีกทั้งยังให้คุณจัดการแยกข้อมูลออกจากภาษา เช่น ในฐานข้อมูลเชิงวัตถุ (object-oriented) ยิ่งกว่านั้น

Schemas ยังถูกออกแบบให้เป็นเครื่องมือในการจัดการรวบรวมหรือผสมผสานเอกสารหลาย

เอกสารเข้าด้วยกันได้อย่างง่าย

นอกจากนี้ยังอนุญาตให้คุณอธิบายข้อจํากัดของข้อมูลเพื่อจะได้แสดงรูปแบบและ

ขนาดของข้อความได้อย่างถูกต้องแม่นยํา ส่วนภาษา XML parsers

ที่อยู่ในตลาดทั้งหมดทุกวันนี้ยังสนับสนุนรูปแบบการทํางานที่มีข้อมูลหลาย ชนิด(DTD-type)

อย่างไรก็ตามในยุคที่สองจะใช้ XML schema แทน ซึ่งจะมีการอธิบายทั้งรูปแบบโครงสร้างของลําดับ

(syntax) และชนิดของข้อมูลด้วย

โชคดีที่ยังมีเครื่องมือที่คุณสามารถหาซื้อเพื่อมาช่วยพัฒนาข้อมูลให้เกิดความชัดเจน

ถ้าคุณสร้างความชัดเจนให้กับเอกสารแล้ว เมื่อมีระบบงานอีก

คุณอาจจะมีความรู้สึกว่าต้องการใช้ข้อมูลในเอกสารข้อมูลทั้งหมดที่คุณมีความ

จําเป็นร่วมกับระบบนิยามข้อมูลอื่น

ในการเปรียบเทียบและแลกเปลี่ยนเอกสารข้อมูลอิเล็กทรอนิกส์บนเว็บมากกว่า 50 เพจขึ้นไป

เอกสารส่วนใหญ่เหล่านี้มีการพัฒนาข้อมูลให้มีความชัดเจน

ส่วนมากเอกสารนิยามข้อมูลมีการพัฒนาประยุกต์เอกสารให้เหมาะกับเครื่องมือที่ มีราคาแพง นี้คือ

จุดสําคัญของวิธีการ

ขณะนี้คุณอาจกําลังคิดว่า “เทคโนโลยีดี” แต่ด้วยเหตุผลใด XML

ถึงถูกนําไปใช้ประโยชน์ในโลกของเรา เพราะเหตุใดโรงงานบางส่วนถึงอยากจะเลือกใช้ XML

หลายคนพยายามค้นหาคําตอบเพื่อจะให้ได้รู้ว่า XML เข้ามาเกี่ยวข้องกับโรงงานอุตสาหกรรมได้อย่างไร

ในอีกไม่ช้านี้คุณก็จะได้เห็นโปรแกรมประยุกต์ที่หลายคนพูดเป็นเสียงเดียวกันว่ายอดเยี่ยม และ

มีแนวโน้มว่าผู้ใช้จํานวนมากจะหันมาให้ความสนใจ และใช้ระบบนี้ในการแลกเปลี่ยนข้อมูลระหว่างกัน เช่น

ในระบบสั่งซื้อที่มีการกําหนดรายการสินค้าผ่านเข้าสู่ระบบโรงงาน บัญชีรายการสิ่งของที่ซื้อ ใบเสร็จรับเงิน

ใบแจ้งหนี้และบัญชีรายการเหล่านี้จะทําการแจ้งและส่งข้อมูลผ่านไปยังเครื่อง

มือและอุปกรณ์การติดต่อสื่อสารที่มีมาตรฐาน เช่น โทรศัพท์มือถือ เครื่องปาล์ม เป็นต้น

สําหรับเครื่องมือที่ใช้ในระบบการบรรจุหีบห่อและการขนส่งนั้นจะทําการตั้งค่า

ซอฟต์แวร์ให้ทํางานเทคโนโลยีซอฟต์แวร์

คําแนะนําเกี่ยวกับโครงสร้างข้อมูล ที่เป็นเอกสาร XML สามารถแสดงคําสั่งและถูกบรรจุใน 2

เทคโนโลยี คือ DTD ซึ่งกําหนดกฎเกณฑ์รูปแบบเอกสาร XML และส่วน XSL (Exensible Style Sheet

Language) จะบอกไปยังคอมพิวเตอร์ที่ใช้ว่าจะมีวิธีการจัดรูปแบบหรือสร้างสไตล์ชีตเพื่อ แปลงเอกสาร XML

ทั้งหลายไปเป็นเอกสารชนิดอื่นได้อย่างไร DTD สามารถถูกบรรจุไว้ในเอกสาร XML

และสามารถถูกเชื่อมต่อภายนอกตามต้องการ

Page 5: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

5    

จริงๆ แล้ว XSL เป็นภาษาที่ใช้สําหรับแปลงหรือจัดรูปแบบให้กับเอกสาร XML

โดยสามารถนําข้อมูลออกจากเอกสาร XML ของผู้ใช้ จากแบบหนึ่งไปสู่อีกแบบ

การแปลงเอกสารมีประโยชน์ในกรณีที่บริษัทแห่งหนึ่งใช้ Schema แบบหนึ่งและลูกค้าใช้ Schema

อีกแบบหนึ่ง แต่บริษัทแห่งนี้สามารถแปลงเอกสาร XML ของลูกค้าที่ใช้ Schema ต่างกันมาเป็น Schema

ของบริษัทได้ โดยข้อมูลภายในเอกสาร XML ยังเหมือนเดิม

อีกทั้งสามารถปรับแต่งข้อมูลให้ตรงตามชนิดอุปกรณ์รอบข้างและยังสามารถเขียน

สคริปต์เพื่อแปลงเอกสารได้ด้วย

เทคโนโลยีสําคัญที่ยังไม่ได้กล่าวถึงนั้น ก็คือ SOAP (Simple Object Access Protocol) เป็น XML-

based โปรโตคอล (lightweight protocol)

สําหรับการแลกเปลี่ยนข้อมูลในสภาวะแวดล้อมแบบกระจายศูนย์ SOAP ได้กําหนดเมเสจจิ้งโปรโตคอล

(Messaging Protocol) ระหว่างผู้ขอบริการ (requestor) กับผู้ให้บริการ (provider) จุดเด่นของ SOAP

ก็คือเป็นโปรโตคอลที่เป็นกลาง ในการรับและส่งข้อมูล กล่าวคือ ไม่มีใครเป็นเจ้าของและเป็นโปรโตคอล

ที่ทํางานกับโปรโตคอลอื่นหลายชนิด

ส่วนการพัฒนาก็อนุญาตให้ทําได้อย่างอิสระตามแพลตฟอร์มระบบปฏิบัติการ

แบบจําลองทางวัตถุ(Object model)และภาษาโปรแกรมของผู้ที่ทําการพัฒนา ซึ่งกําหนดข้อความของข้อมูล

XML ว่าจําเป็นที่จะถูกส่งออกไปยังเว็บ ดังนั้นคุณจะใช้ SOAP

ได้อย่างรวดเร็วและมีประสิทธิภาพในการรับข้อมูลระหว่างคุณและคู่ค้าซึ่งเป็น ผู้ให้บริการคอนเทนต์ของคุณ

การสื่อสารระหว่างโปรแกรมต่างๆ บนเว็บในรูปแบบที่เป็นอิสระและยืดหยุ่นได้โดยการส่งข้อความด้วย XML

ที่ยังคงเป็นแบบการเข้าถึงโพรซิเดอร์(procedure)ที่ให้คุณเรียกใช้โครงสร้าง

บนระบบระยะไกล(Remote)ที่หันมาใช้ XML ก็เพราะว่าสามารถเรียกอุปกรณ์อื่นๆ

เพื่อการบริการสืบค้นข้อมูลหรือตั้งเงื่อนไขตามต้องการ

โครงสร้างของภาษา XML ภาษา XML มีโครงสร้างที่ประกอบด้วยแท็ก(Tag)เปิด และแท็กปิด เช่นเดียวกับภาษา HTML

แต่ภาษา XML คุณสามารถสร้างแท็กรวมทั้งกําหนดโครงสร้างของข้อมูลได้เอง ซึ่งความสามารถตรงนี้ตัวภาษา HTML ทําไม่ได้เพราะภาษา HTML ถูกกําหนดแท็กตายตัวโดย W3C

ตัวอย่างที่ 1 XML แท็ก(Tag) ที่บอกโครงสร้างและข้อมูลของบุคคล

<?xml version="1.0" encoding="windows-874"?> <address_book> <person Gender="M"> <name>Jane Doe</name> <address> <street>123 Main St.</street> <city>San Francisco</city> <state>CA</state>

Page 6: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

6    

<zip>94117</zip> </address> <phone>555-1212</phone> </person> </address_book>

ตัวอย่างที่ 2

<?xmlversion="1.0"encoding="windows-874"?> <callme> <my_mobile>0-1307-8072</my_mobile> <my_phone>0-2872-8936</my_phone> </callme>

จากตัวอย่างที่ 2 ตรงบรรทัดแรก เป็นการประกาศว่าเอกสารนี้เป็นไฟล์ XML นี้มีการเข้ารหัสอักขระแบบ windows-874 เพื่อปลายทางจะได้เข้าใจและถอดรหัสได้ถูกต้อง จากตัวอย่างจะเห็นว่า จริงๆแล้วในภาษา XML จะแบ่ง โครงสร้างเป็น 2 ส่วนใหญ่ ๆ คือ tag และ element

ตัวอย่างที่ 3 แสดงโครงสร้างของ tag และ element

<root> <element> <tag></tag> </element> </root>

Tag สําหรับใน XML แล้วแท็กมีความหมายในลักษณะเดียวกับที่ใช้ใน HTML tag คือข้อความที่อยู่ระหว่างสัญลักษณ์ "<" และ ">" มี 2 แบบคือ

- แท็กเปิด (Start tag) - แท็กปิด (End Tag) เช่น สังเกตุได้ว่าแท็กปิดเครื่องหมาย / อยู่หลังสัญลักษณ์ "<"

จากตัวอย่างที่ 2 Tag คือ ....<,callme> Element คือโครงสร้างหลักของ XML ซึ่งอยู่ในรูปของแท็กจะมีลักษณะซ้อนกันเป็นชั้นๆโดย element เริ่มต้นที่แท็กเปิดและสิ้นสุดที่แท็กปิดในแท็กดียวกัน และ Root element จะเป็น element บนสุดของไฟล์ XML

Page 7: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

7    

จากตัวอย่างที่ 2 Element คือ 0-1307-8072 , 0-2872-8936 Content ข้อมูลที่เก็บ เช่นจากตัวอย่างที่ 2 ใน Element 0-1307-8072 Content คือ 0-1307-8072 Attribute คือข้อมูลความหมายเพิ่มเติมเป็นค่าคงที่ ถูกเขียนอยู่ภายใน tag เปิด <....> จะมีมากกว่า 1 , มี 1 อันหรือไม่มีเลยก็ได้ จากตัวอย่างที่ 1 ก็คือ Gender="M"> เป็นต้น

การตรวจสอบความถูกต้องของ XML

ความถูกต้องของ XML แบ่งเป็น 2 ระดับ

- Well-formed เอกสารที่ well-formed คือใช้ syntax ของ XML ถูกต้องตามมาตรฐานทุกอย่าง

เอกสารที่ไม่ well-formed ถือว่าไม่เป็น XML

- Valid นอกจาก well-formed แล้ว เอกสารที่ valid ยังต้องใช้แท็ก XML ที่กําหนดเฉพาะใน

schema ที่ตกลงกันไว้เท่านั้น ปัจจุบันมี schema ที่นิยม 3 ตัว คือ Document Type Definition (DTD),

XML Schema (WXS) และ RELAX NG

ต้องการใช้งาน XML ต้องทําอย่างไรบ้าง

สําหรับ การใช้งานโดยทั่วไปแล้ว ท่านไม่ต้องทําอะไรเลย เพียงแต่ท่านมี Web Browser

ซึ่งทํางานได้กับ XML เช่น Internet Explorer 5 ขึ้นไปของค่าย Microsoft เป็นต้น แต่อย่าลืมว่า

คอมโพแนนท์บางอย่างนั้นกําลังมีการทดลองอยู่

อย่าเพิ่งคาดหวังว่าทุกอย่างจะใช้งานได้ตามที่คุณอ่านเจอเสมอไป

สําหรับ ท่านที่ต้องการสร้าง XML ไฟล์เอง หรืออ่านข้อมูลจาก XML ไฟล์

เพื่อนําไปคํานวนหรือเก็บไว้ในฐานข้อมูล ท่านก็จะต้องมี โปรแกรมพัฒนา อยา่งง่ายๆ ก็เป็นพวก HTML

Editor เขียนด้วยเทคโนโลยี ASP (VB/VB Script) หรือพัฒนาด้วย Java ในฝั่งของ Webserver ปัจจุบันค่าย

Microsoft ให้การสนับสนุนทั้งแต่ Personal Web Server ไปจนถึง Windows 2000 ที่สามารถใช้งาน

Component ใหม่ๆ ได้ [size="3"]XML เป็นโครงสร้างมาตรฐานระบบเปิด[/size]

การใช้งาน XML และ SOAP เป็นรูปแบบภาษาที่มีความสัมพันธ์กัน โดย SOAP มีโครงสร้างเป็น XML

ซึ่งเทคโนโลยีของ XML เองนั้นก็ได้มีการพัฒนาเพิ่มขึ้นเป็นอย่างมาก ในยุคแรก XML

จะถูกใช้งานในลักษณะของข้อมูลตามมาตรฐาน XML

แต่ในปัจจุบันเกิดขึ้นได้ในการเขียนรูปแบบภาษาระหว่างไคลเอนต์และ เซิร์ฟเวอร์

สําหรับรองรับเพลตฟอร์มและภาษาทุกประเภทที่เกี่ยวข้องเข้าด้วยกันกับเว็บ เซอร์วิส(Web Service) XML

ไม่เพียงแต่ออกแบบมาเพื่อให้พัฒนาโปรแกรมได้อย่างรวดเร็วเท่านั้น

ยังสามารถพัฒนาขยายรูปแบบการใช้งานไปสู่ความเป็นมาตรฐานลงไปในระดับโรงงาน อีกด้วย

Page 8: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

8    

สิ่งนี้ผู้พัฒนาย่อมใช้เทคโนโลยีเดียวกันเมื่อมีการติดต่อ ระหว่างคนและอุปกรณ์เครื่องจักรควบคุมหรือ

human machine interface (HMI)

ก็เพื่อให้เทคโนโลยีการผลิตมีศักยภาพทางด้านระบบอุตสาหกรรมอัตโนมัติและมี ประสิทธิภาพสูงขึ้น

โดยเฉพาะการนําระบบการวางแผนทรัพยากรขององค์กร หรือ Enterprise Resource Planning (ERP) และ

supply chain ซึ่งเป็นกระบวนการที่เกี่ยวข้องกับการจัดซื้อจัดหา (Procurement) การผลิต

(Manufacturing) การจัดจําหน่าย (Distribution) การขนส่ง (Transportation) และการจัดเก็บ (Storage)

ซึ่งเชื่อมโยงกระบวนการดําเนินธุรกิจทุกขั้นตอนที่เกี่ยวข้องเข้าด้วยกันทั้ง ในและนอกองค์กรไม่ว่าจะเป็นคู่ค้า

ผู้จัดหาวัตถุดิบ ผู้ผลิต ผู้จัดจําหน่าย หรือร้านค้าปลีก เป็นต้น

เหล่านี้จะต้องเชื่อมโยงกันเป็นห่วงโซ่หรือเครือข่าย ให้เกิดการประสานงานกันอย่างต่อเนื่อง

เพื่อทําให้การดําเนินงานมีต้นทุนที่ต่ําและมีประสิทธิภาพ นอกจากนี้ข้อเท็จจริงที่ว่าเอกสาร XML

บรรจุตัวอักษรแอสกี (ASCII) ก็เพื่อรับรองกลไกลแพลตฟอร์มระบบใดๆ เท่านั้น

ดังนั้น XML ใช้มาตรฐานเปิดจึงทํางานได้ในทุกแพลตฟอร์ม และใช้ภาษาคอมพิวเตอร์ใดเขียนก็ได้

XML ไม่ได้ทําอะไรเลย นอกจากเป็นโครงสร้างแทนข้อมูล หัวใจหลักของ XML คือ

การแยกข้อมูลออกจากการโปรเซส XML

เป็นการแสดงมาตรฐานเปิดสําหรับการแลกเปลี่ยนข้อมูลจากอุปกรณ์และหน่วยผู้ควบ

คุมผ่านเครือข่ายอินทราเน็ต ซึ่งมีแนวโน้มว่าในระหว่างที่รวมตัวกันอุปกรณ์คงต้องมีปฏิกิริยาต่อกันน้อย

โดยพื้นฐานแล้วถ้าข้อมูลเป็น web-based สามารถยินยอมให้เทคโนโลยี Java เป็นตัวโปรเซสบนเบราเซอร์ได้

เพราะนักพัฒนาสามารถสร้างแอพพลิเคชันแบบไม่ขึ้นกับแพลตฟอร์มด้วยภาษา Java และให้ XML

แลกเปลี่ยนข้อมูลระหว่างผู้ใช้เครื่องรับโทรศัพท์ระบบเซลล์ลูล่าร์

วันนี้ในทางปฏิบัติเครื่องมือบางชนิดสามารถแลกเปลี่ยนข้อมูลโดยใช้ XML

พร้อมกับเน็ตเวิร์กควบคุมฐานข้อมูล โดยมีความสามารถในแง่ของการนําไปใช้ในการสร้างธุรกรรมอีคอมเมิร์ซ

เพื่อช่วยลดต้นทุน  

ขีดความสามารถที่เพิ่มขึ้นของ XML

XML เป็นเอกสารที่มีความเป็นอิสระกับซอฟต์แวร์และระบบปฏิบัติการอื่นๆ สามารถส่งข้อมูลเอกสาร

XML ผ่านการเชื่อมต่อเครือข่ายอินเทอร์เน็ตไปยังฝั่งผู้ตรวจสอบ

เมื่อผู้ผลิตทําการเปลี่ยนแปลงระบบปฏิบัติการ ปริมาณความจุจะไม่มีผลกระทบต่อเอกสาร XML

ข้อเสนอนี้เปลี่ยนแปลงไปตามรูปแบบเทคโนโลยีสารสนเทศหรือสถาปัตยกรรม อัตโนมัติ

โดยทั่วไปแล้วด้วยความสามารถของ XML Protocal ในการแก้ปัญหาต่างๆ

ในการติดต่อสื่อสารทําได้ง่ายยิ่งขึ้น สามารถลดค่าใช้จ่ายในการบํารุงรักษา ยิ่งกว่านั้นระบบฐานข้อมูล

SQL(Structured Query Language) ยังรองรับระบบ XML-based

เพื่อสนับสนุนการทํางานกับฐานข้อมูลเชิงสัมพันธ์ (relational)

Page 9: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

9    

โดยเฉพาะเน้นในส่วนที่เป็นคําสั่งที่ใช้ในการดึงข้อมูลเป็นหลัก ทั้งนี้เพื่อช่วยเพิ่มประสิทธิภาพในการทํางาน

หรือช่วยในการสร้างแอพพลิเคชันฐานข้อมูลได้อย่างมีประสิทธิภาพ

สําหรับกุญแจสําคัญในการจัดเรียงฐานข้อมูลเชิงสัมพันธ์ นั้นคือ การมุ่งเน้นความสนใจไปที่ตัวข้อมูลเอง

ไม่ใช่มุ่งไปที่แอพพลิเคชันที่จะใช้ข้อมูล เช่น การดาวน์โหลดโปรแกรมควบคุมเนื้อหาใหม่

เพื่อใช้ในการแลกเปลี่ยนข้อมูลในด้านการปฏิบัติงานของอุปกรณ์ฮาร์แวร์ในโรงงาน

โดยยินยอมให้บริษัทเข้าถึงข้อมูลและจัดการกับแอพพลิเคชั่นใหม่ได้  

การทํางานร่วมกับอุตสาหกรรม  

ปัญหาความปลอดภัยของเครือข่ายอินเทอร์เน็ตเป็นปัญหาที่มีแนวโน้มในการสร้างความเสียหายเพิ่มขึ้นโดยตล

อดตามความแพร่หลายของการใช้อินเทอร์เน็ตและการประกอบ ธุรกิจพาณิชย์อิเล็กทรอนิกส์

ในปัจจุบันการเก็บข้อมูลส่วนบุคคลยังไม่เป็นปัญหาสําคัญในประเทศไทยมากนัก

แต่ในอนาคตปัญหาดังกล่าวจะยังมีแนวโน้มที่จะทวีความรุนแรงมากขึ้นตามระดับ

การใช้อินเทอร์เน็ตและการซื้อสินค้าผ่านการพาณิชย์อิเล็กทรอนิกส์ที่จะเพิ่ม ขึ้น

ต่อไปเนื่องจากการที่เทคโนโลยีในการโจมตีเครือข่ายได้รับการพัฒนาให้ก้าว หน้ามากขึ้น

วิธีการคุ้มครองข้อมูลส่วนบุคคลที่มีประสิทธิผลมากที่สุดจําเป็นต้องอาศัยแนว ทางต่างๆ

ประกอบกับการให้ศึกษาแก่ผู้บริโภค การส่งเสริมให้เกิดการกํากับดูแลตนเองของผู้ประกอบการ

และการออกกฏหมายรองรับ และเพื่อเตรียมการรับมือกับปัญหาที่จะเกิดขึ้น

หน่วยงานรัฐที่เกี่ยวข้องควรจัดตั้งทีมงานรับมือปัญหาฉุกเฉินด้านคอมพิวเตอร์

ร่วมกันพัฒนาอินเทอร์เน็ตประเทศไทย

ในวงการอุตสาหกรรมกําลังให้ความสนใจกับเทคโนโลยี XML

ที่เริ่มมีอิทธิพลและจะนําไปสู่การเปลี่ยนแปลงในภาคอุตสาหกรรมมาตรฐาน

ทั้งนี้เพราะการพัฒนาของเทคโนโลยีทําให้พฤติกรรมการทํางานต่างๆ นั้นเปลี่ยนแปลงไป

รูปแบบการรับส่งข้อมูลข่าวสารระหว่างกันก็ทําได้รวดเร็ว

ซึ่งเมื่อเปรียบเทียบกับอดีตที่มีการแลกเปลี่ยนข้อมูลข่าวสารแบบ EDI (Electronic Data Interchange)

การสร้างมาตรฐานเพื่อทําให้ผู้รับและผู้ส่งสามารถรับส่งข้อมูลแบบมีมาตรฐาน ได้

แต่การแลกเปลี่ยนข้อมูลก็ยังมีข้อจํากัดอยู่

ในภาคอุตสหากรรม เช่น อุตสาหกรรมน้ํามันและแก๊ซ เริ่มให้ความสนใจที่จะกําหนดการใช้งานภาษา

XML ให้เหมาะกับกระบวนการผลิตสําหรับผลิตภัณฑ์ในงานอุตสาหกรรมเวลานี้มาตรฐานใน

การออกแบบอุปกรณ์และการจัดหาวัตถุดิบเริ่มคุ้นเคยกับเทคโนโลยี XML ตัวนี้แล้ว

แผนกจัดซื้อหลายบริษัทได้ใช้อินเทอร์เน็ตเป็นทางเส้น

ข้อมูลดิจิตอลในการค้นหาโรงงานผู้ผลิตและผู้จําหน่ายอุปกรณ์เครื่องมือ และยังรวมไปถึงผู้ส่งมอบด้วย

Page 10: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

10    

เพราะการจัดซื้ออุปกรณ์เครื่องมืออาจจะมีผู้ส่งมอบเข้ามาเกี่ยวข้องในส่วน นี้ด้วย

และนอกจากนี้แล้วยังรวมไปถึงการบริการหลังการขายในการซ่อมแซมและบํารุงรักษา อีกด้วย

และในไม่ช้านี้การเชื่อมโยงข้อมูลก็จะอยู่ในรูปแบบดิจิตอลมากขึ้นโดยอาศัย

เครือข่ายอินเทอร์เน็ตเป็นสื่อการในการค้นหาและแลกเปลี่ยนข้อมูลระหว่าง องค์กร ทั้งส่วนผู้จําหน่าย ผู้ซื้อ

ผู้ส่งมอบ ในอนาคตผู้ประกอบการจะเข้ามาเกี่ยวข้องและอาศัยข้อมูลร่วมกันซึ่งระบบทั้ง

หมดนี้จะสามารถเชื่อมโยงกันทั้งหมดทั่วโลก ทั้งโรงงาน แผนกจัดซื้อ แผนกขาย

ผู้ผลิตมุ่งหวังที่จะลดจํานวนชั่วโมงการทํางานของวิศวกรในแต่ละโครงงานด้วยการยกเลิกระบบที่ใช้ข้อมูลที่เขีย

น แต่ใช้ระบบการถ่ายโอนข้อมูลที่เป็นอัตโนมัติมากขึ้น จะเห็นได้ว่า XML

เป็นเทคโนโลยีที่ได้รับสนับสนุนในวงการอุตสาหกรรมอย่างกว้างขวาง ผู้ค้นและองค์กรต่างเห็นคุณค่าของ

XML เช่นเดียวกับการใช้ HTML เนื่องจาก XML ไม่ได้เป็นแค่ค่านิยมเท่านั้น

อนาคตของ XML

การประยุกต์ใช้ในเชิงธุรกิจถือได้ว่ามีแนวโน้มเป็นมาตรฐานใหม่ของอุตสาหกรรม

ซอฟต์แวร์ที่น่าจับตามอง เพราะว่า XML จะเป็นภาษาสําหรับคนในยุคเจนเนอร์เรชั่น

ถึงแม้ว่าเทคโนโลยีนี้จะเริ่มแพร่หลายก็ตามแต่ก็ยังคงมีความเป็นมาตราฐานสํา หรับโปรโตคอลทั้งหมด โดย

XML นี้เป็นสถาปัตยกรรมพื้นฐานที่เป็นแบบแผนและจะเริ่มแพร่หลายในระดับ อุตสาหกรรมมาตรฐาน

เพราะสามารถนําไปใช้ในการสื่อสารระหว่างอุปกรณ์และสนับสนุนการควบคุมระยะไกล

กับอุปกรณ์ในโรงงานอุตสาหกรรมด้วยภาษา XML ที่มีคุณสมบัติที่ง่ายต่อการนําไปใช้กับโปรโตคอลต่างๆ

เข้าด้วยกัน

เป้าหมายที่จะสนับสนุนลูกค้าและลดค่าใช้จ่ายหรือต้นทุน

ในปัจจุบันเทคโนโลยีสารสนเทศทางอินเทอร์เน็ตจะมีบทบาทสําคัญสําหรับองค์ประกอบ

ทางธุรกิจและการลงทุนนี้เป็นกรณีตัวอย่างของภาคธุรกิจที่ขับดันเทคโนโลยีให้ ก้าวไกล XML

จึงจัดเป็นคลื่นลูกใหม่ทางเทคโนโลยีที่จะต้องถูกนํามาพิจารณามากขึ้น

การใช้งานในลักษณะแบบนี้ทําให้เราเห็นว่าแนวโน้มในอนาคตอันใกล้นี้ เราอาจจะนํา XML

มาใช้เพื่อการแลกเปลี่ยนข้อมูลระหว่างองค์กรแบบเดียวกับที่เราใช้ ในปัจจุบันมากขึ้นๆ ก็ได้ องค์กรต่างๆ

ควรพิจารณาเป้าหมายของแต่ละหน่วยงานมากขึ้นและศึกษาผลกระทบเทคโนโลยีเว็บใน

แง่มุมทางธุรกิจเพื่อปูทางไปสู่การได้เปรียบทางการแข่งขันในอนาคต

XML ที่ใช้ใน HTML

Standard Generalized Markup Language (SGML) เป็นภาษาแม่ของทั้ง HTML (HyperText Markup Language) และ XML (eXtensible Markup Language). ภาษา SGML ไม่ใช่ภาษาที่แท้จริง มันเป็น metalanguage (คําจํากัดความหรือคําอธิบายทางภาษา) มันเป็นภาษาที่ใช้เป็นเครื่องมือที่คุณสามารถสร้างสรรค์ภาษาอื่นๆ

Page 11: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

11    

ในกรณีนี้มันคือการสร้างภาษาภาษามาร์คอัพ (ระบบของการเข้ารหัสในการจัดโครงสร้างและการจัดรูปแบบองค์ประกอบของเอกสารอิเล็กทรอนิกส์)

HTML เป็นการใช้งานเฉพาะที่มาจากภาษา SGML มันเป็นชุดของรหัสที่ใช้โดยทั่วไปสําหรับหน้าเว็บที่สร้างเอกสารอิเล็กทรอนิกส์ตามกฎที่จัดตั้งขึ้นโดย SGML. HTML เป็นภาษาที่เกี่ยวกับการนําเสนอข้อมูลของคุณ ไม่ใช่ข้อมูลที่แท้จริง ดังนั้นจึงกล่าวได้ว่าภาษา HTML เป็นภาษาในการนําเสนอ

XML เป็นส่วนหนึ่งของ SGML แต่ก็ยังเป็น SGML แต่ก็ยังเหมือนเช่นภาษา SGML XML จะกําหนดวิธีการเฉพาะในการสร้างรูปแบบข้อความสําหรับข้อมูลเพื่อให้ไฟล์เป็นโปรแกรมและแพลตฟอร์มที่เป็นอิสระจากกัน และเป็นสากล (สามารถอ่านภาษาที่ต่างกันได้) ที่จริงแล้วเพราะภาษา XML เป็นภาษาที่ขยายได้ คุณไม่จําเป็นต้องมีเบราเซอร์ในการตีความของเพจ แอปพลิเคชั่นสามารถแยกเอกสาร XML และอ่านข้อมูลโดยไม่มีมนุษย์เข้ามาเกี่ยวข้อง

ภาษา XML ไม่เหมือนภาษา HTML โดยที่ XML จะเกี่ยวข้องกับเอกลักษณ์ ความหมายและโครงสร้างของข้อมูล XML สามารถขยายได้ เพราะช่วยให้นักพัฒนาเว็บไซต์สร้างรูปแบบแท็กของตัวเองเพื่อกําหนดแท็กสําหรับเอกสาร. ความสามารถในการกําหนดแท็กของคุณเองซึ่งเป็นคุณสมบัติหลักของ XML และมันเป็นสิ่งที่ช่วยให้นักพัฒนามีความยืดหยุ่นมากขึ้น

การกําหนดแท็กมาร์กอัพของคุณเอง คุณจะสามารถกําหนดเนื้อหาในเอกสารได้อย่างชัดเจน ทําให้ XML ภาษามาร์คอัพล้ําหน้ามากขึ้นกว่า HTML ตัวอย่างเช่นในภาษา HTML คุณสามารถจะมี ย่อหน้าแท็ก <P> ที่มาก่อน ย่อหน้าที่เกี่ยวกับเบสบอลได้ เว็บเบราเซอร์ของคุณเห็นแท็กนี้และรู้ที่จะแสดงข้อความนี้ต่อไป นี้และรู้ที่จะนําเสนอข้อมูลนี้ต่อไปในรูปแบบย่อหน้า อย่างไรก็ตาม สิ่งที่เบราเซอร์ทุกตัวรู้เกี่ยวกับข้อความ ก็คือ รุ้ว่ามันคือข้อความ แต่ไม่รู้ว่ามันคือเนื้อหาเกี่ยวกับเบสบอล ในเอกสาร XML, คุณสามารถกําหนดแท็ก <BASEBALL> > เพื่อระบุข้อความในย่อหน้าในเอกสารของคุณอย่างเฉพาะเจาะจง

วิธีนี้เมื่อเบราเซอร์ XML ของคุณตรวจสอบเอกสาร เอกสารจะรู้ว่าสิ่งนั้นมีข้อมูลและทําให้ได้เนื้อหาแม่นยํามากขึ้น เครื่องมือค้นหาที่ใช้ประโยชน์จากข้อมูล XML สามารถทํางานที่ดีได้ในการค้นหาหน้าเว็บที่คุณกําลังมองหาเนื่องจากลักษณะความอัจฉริยะของเนื้อหา XML

XML ไม่ได้จัดการกับวิธีการที่ข้อมูลจะปรากฏต่อผู้ใช้ปลายทาง เพราะว่าภาษา HTML เป็นภาษาในการนําเสนอ โดยที่เอกสาร XML ใช้แท็ก HTML ที่จะช่วยจัดการกับการจัดรูปแบบการแสดงผลของเอกสาร เช่นเดียวกันคุณสามารถใช้ภาษา XML ในเอกสาร HTMLของคุณเพื่อจัดหา metadataซึ่งเป็นข้อมูลเกี่ยวกับข้อมูลในเอกสาร XMLจะสัมพันธ์กับทางเว็บและอีคอมเมิร์ซ (พาณิชย์อิเล็กทรอนิกส์)เช่นเดียวกับที่ HTMLดั้งเดิม ทําบนอินเตอร์เน็ตไว้ XML และโปรแกรมที่เกี่ยวข้องจึงมีศักยภาพที่จะพัฒนาอินเตอร์เน็ตและวิธีการที่เราทําธุรกิจ

วิธีหาภาษามาร์กอัปมาเลือกใช ้

Page 12: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

12    

หากคุณไม่แน่ใจว่าเว็บไซต์ของคุณเขียนโดยใช้ภาษามาร์กอัปใด เราขอแนะนําให้คุณติดต่อผู้ดูแลเว็บหรือผู้ที่จัดการดูแลเว็บไซต์ของคุณ หรือคุณสามารถพยายามระบุภาษามาร์กอัปได้โดยทําตามขั้นตอนต่อไปนี้: จาก Chrome:

1. เปิดหน้าต่างเบราว์เซอร์ใหม่ และป้อนที่อยู่เว็บบนมือถือของคุณ o หาก Chrome ทําการดาวน์โหลดไฟล์ หรือหากคุณเห็นป๊อปอัปที่แจ้งให้คุณดาวน์โหลดไฟล์ที่มี "wml" อยู่ในชื่อไฟล์ แสดงว่าไซต์ของคุณเขียนด้วย WML

2. หากคุณสามารถเข้าถึงไซต์ของคุณใน Chrome คลิกขวาที่ใดก็ได้ในหน้าหลัก แล้วเลือก "ดูรหัสต้นฉบับ" เพื่อดูซอร์สโค้ด

o หากซอร์สโค้ดขึ้นต้นด้วย "<?xml..." แสดงว่าไซต์ของคุณเขียนด้วย XHTML o หากซอร์สโค้ดขึ้นต้นด้วย "<!DOCTYPE HTML..." แสดงว่าไซต์ของคุณเขียนด้วย CHTML หรือ HTML

จาก Firefox: 1. เปิดหน้าต่างเบราว์เซอร์ใหม่ และป้อนที่อยู่เว็บบนมือถือของคุณ

o หากคุณเห็นป๊อปอัปที่แจ้งว่า "คุณเลือกเปิด xxx ซึ่งเป็น: ___.wml" แสดงว่าไซต์ของคุณเขียนด้วย WML

2. หากคุณสามารถเข้าถึงไซต์ของคุณใน Firefox คลิกขวาที่ใดก็ได้ในหน้าหลัก แล้วเลือก "ดูซอร์สโค้ด" เพื่อดูซอร์สโค้ด

o หากซอร์สโค้ดขึ้นต้นด้วย "<?xml..." แสดงว่าไซต์ของคุณเขียนด้วย XHTML o หากซอร์สโค้ดขึ้นต้นด้วย "<!DOCTYPE HTML..." แสดงว่าไซต์ของคุณเขียนด้วย CHTML หรือ HTML

จาก Internet Explorer: 1. เปิดหน้าต่างเบราว์เซอร์ใหม่ และป้อนที่อยู่เว็บบนมือถือของคุณ

o หากคุณเห็นป๊อปอัปที่แจ้งให้คุณดาวน์โหลดไฟล์ที่มี "wml" อยู่ในชื่อไฟล์ แสดงว่าไซต์ของคุณเขียนด้วย WML

2. หากคุณสามารถเข้าถึงไซต์ของคุณใน IE คลิกขวาที่ใดก็ได้ในหน้าหลัก แล้วเลือก "ดูต้นฉบับ" เพื่อดูซอร์สโค้ด

o หากซอร์สโค้ดขึ้นต้นด้วย "<?xml..." แสดงว่าไซต์ของคุณเขียนด้วย XHTML o หากซอร์สโค้ดขึ้นต้นด้วย "<!DOCTYPE HTML..." แสดงว่าไซต์ของคุณเขียนด้วย CHTML หรือ HTML

บางครั้งอาจมีการสร้างเว็บไซต์บนมือถือมากกว่าหนึ่งเวอร์ชัน โดยแต่ละเวอร์ชันเขียนด้วยภาษามาร์กอัปที่แตกต่างกัน ขึ้นอยู่กับว่าเว็บไซต์บนมือถือของคุณถูกสร้างขึ้นมาอย่างไรและมีใช้ในภาษา มาร์กอัปได้กี่ภาษา ไซต์ของคุณอาจตรวจหาภาษามาร์กอัปที่สามารถใช้งานร่วมกันได้ให้กับ เบราว์เซอร์บนมือถือของผู้ใช้โดยอัตโนมัติ ไซต์ที่ตรวจหาภาษามาร์กอัปจะแสดงไซต์ของคุณในเวอร์ชันที่ถูกต้องโดย อัตโนมัติ หากเวอร์ชันต่างๆ

Page 13: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

13    

ของเว็บไซต์บนมือถือของคุณใช้ภาษามาร์กอัปมากกว่าหนึ่งภาษา ตรวจสอบให้แน่ใจว่าคุณเลือกแต่ละภาษาที่ไซต์ของคุณสนับสนุน

และโปรดจําไว้ว่า หากเว็บไซต์บนมือถือของคุณใช้ภาษามาร์กอัปต่างๆ หลายภาษา คุณจะต้องสร้างโค้ด AdSense สําหรับการค้นหาบนมือถือใหม่สําหรับเว็บไซต์แต่ละเวอร์ชั่น

การสร้างเอกสาร XML วิธีการสร้างเอกสารจะแสดงไปพร้อมกับนําเสนอตัวอย่าง ดังต่อไปนี้ 1.สร้างไฟล์ใหม่ขึ้นมาโดยใช้โปรแกรม Text Editor (ในที่นี้ใช้ Notepad) และ

พิมพ์โค้ดตามตัวอย่างรายการโค้ด intro ซึ่งสามารถเพิ่มหรือลด Lecturer Element (เมื่อ Customer Element ประกอบด้วย < Lecturer> และ </ Lecturer >)

2.ทําการเซฟ ในโปรแกรม Text Editor เพื่อบันทึกเอกสารเก็บไว้ในฮาร์ดดิสก์ และกําหนดชื่อของไฟล์เป็น Particular.xml

แสดงผลลัพธ์ได้ดังนี้

Page 14: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

14    

โครงสร้างทางกายวิภาคของเอกสาร XML

เอกสาร XML จากตัวอย่าง Particular.xml ประกอบด้วย 2 ส่วนหลัก คือ Prolog Element และ

Document Element หรือเรียกอีกอย่างหนึ่งว่า Root Element

ส่วนแรก (Prolog)

Prolog ในตัวอย่างประกอบด้วย 3 บรรทัด คือ <?xml version="1.0"> <!--File Name: particular.xml-->

บรรทัดที่หนึ่งเรียกว่า XML Declaration ซึ่งเป็นการประกาศให้รู้ว่าเอกสารอันนี้ คือ XML และยังเป็นการประกาศเวอร์ชันของ XML อีกด้วย การใส่ค่า XML Declaration ประกาศหรือไม่ประกาศก็ได้ แต่ถ้าตามมาตรฐานที่กําหนดแล้ว ควรจะกําหนดส่วนนี้เอาไว้ในเอกสารด้วยและถ้าต้องการประกาศต้องประกาศไว้ที่ ส่วนบนสุดเสมอ

Prolog  

Document  element  (Root  element)  

Element  nested  Within  document  element  

Comment  

XML  Declaration  

Page 15: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

15    

บรรทัดที่สองของ Prolog คือ บรรทัดว่างซึ่งทําให้เอกสารดูเป็นระเบียบและเข้าใจง่ายมากยิ่งขึ้น ซึ่ฎฎงจะ สามารถกําหนดบรรทัดว่างกี่บรรทัดก็ได้ในส่วนของ Prolog นี้เพราะว่าตัวประมวลผล (XML Processor) จะไม่นําบรรทัดเหล่านั้นมาประมวล บรรทัดที่ 3 ของ Prolog คือหมายเหตุ หรือ Comment การใส่คอมเมนต์ จะช่วยให้เอกสารนั้นง่ายขึ้น และดูเป็นระเบียบ โดยเริ่มจาก <!--และปิดท้ายด้วย--> เสมอ และสามารถพิมพ์ข้อความได้ตามต้องการยกเว้นสัญลักษณ์ ระหว่างแท็กคู่นี ้ซึ่งตัวประมวลผล (XML Processor) จะไม่นําคอมเมนต์เหล่านี้มาประมวลผล ซึ่ง Prolog จะสามารถจัดเก็บองค์ประกอบ (Component) ซึ่งมีให้เลือก ดังต่อไปนี - Document Type Declaration (DTD) คือส่วนที่กําหนดชนิดและโครงสร้างของเอกสาร ถ้ามีการประกาศ DTD จะอยู่ถัดจากบรรทัด XML Declaration - Processing Instruction คือ ส่วนที่จัดเตรียมข้อมูลที่ประมวลผล XML ส่งไปกับโปรแกรมประยุกต์ ส่วนที่สอง (Document Element) ในส่วนนี้คือ Element เดี่ยว หรือที่เรียกว่า Document Element หรือ Root Element ซึ่งจะสามารถบรรจุ Element เพิ่มเติมในเอกสารได้ ในเอกสาร XML นั้น Element จะแสดงลักษณะโครงสร้างของเอกสาร และจะแสดงส่วนประกอบต่าง ๆ ของเนื้อหาเอกสารที่อยู่ภายใน เช่น ใน Customer Element จะประกอบด้วย Name, Lastname ,Address, และ Telephone โดยจะประกอบด้วยแท็กเริ่มต้น, เนื้อหาภายในเอกสาร, และแท็กปิดท้ายเสมอ โดยเนื้อหาภายในจะเป็นไปได้ทั้งข้อมูลหรือ Element อื่น ๆ ที่อยู่ภายในหรือทั้ง 2 แบบรวมกันอยู่ จากตัวอย่าง Particular.xml จะเห็นว่า Document Element คือ <PARTICULAR>ซึ่งเป็นแท็กเริ่มต้น และ </PARTICULAR>ซึ่งเป็นแท็กปิดท้าย ส่วนเนื้อหาภายใน คือ Lecturer Element ทั้ง 4 ที่อยู่ภายใน ซึ่งใน Lecturer Element จะสามารถมีชุด Element ซ้อนอยู่ภายในได้อีก(ชื่อที่แสดงแท็กเริ่มต้น และแทก็ปิดท้าย จะเรียกว่า Type ของ Element )และภายใน Element ที่ซ้อนอยู่ภายใน Lecturer Element เช่น Name จะสามารถเก็บได้แต่ข้อมูลคงที่เป็น Character Data เท่านั้น

ข้อบังคับพื้นฐานของ XML ข้อบังคับพื้นฐานจะเป็นส่วนที่ช่วยให้สร้างเอกสารที่มีรูปแบบถูกต้อง (Well-Formed XML Document) ซึ่งเป็นข้อบังคับหนึ่งที่ต้องปฏิบัติตาม จึงทําให้เอกสารนั้น ๆ ประมวลผลได้โดยเบราเซอร์ หรือโปรแกรมอื่น โดยเอกสารที่ได้พิมพ์เป็นตัวอย่างที่ผ่านมาแล้วคือตัวอย่าง Particular.xml นั้นเป็นเอกสารที่มีรูปแบบถูกต้อง (Well-Formed XML Document) และจําเป็นต้องปฏิบัติตามกฎต่อไปนี้

Type  

Type  

Content  (nested  element)  

Strat-­‐tag  

Page 16: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

16    

- เอกสารจะต้องมี Element ระดับบนสุดเพียง Element เท่านั้น ซึ่งเรียกว่า Document Element หรือ Root Element) โดย Element อื่น ๆ นอกเหนือจากนี้จะต้องซ้อนอยู่ภายใน - Element ทุก Element ต้องซ้อนกันอยู่อย่างถูกต้อง คือ เมื่อม ีElement ซ้อนกันอยู่ภายใน Element จะต้องมีการปิด Element ภายในนั้น ๆ ก่อน - แต่ละ Element จะต้องมีแท็กเริ่มต้นและแท็กปิดท้าย จะต้องมีชื่อเดียวกันเสมอ - ชื่อของ Element มีลักษณะเป็น case-sensitive คือ มีการแยกระหว่างตัวอักษรตัวใหญ่เล็ก ซึ่งความเป็นจริงแล้วตัวอักษรทั้งหมดใน XML Markup จะมีลักษณะเป็น Case-sensitive ตัวอย่างต่อไปนี้คือ ตัวอย่างที่ผิดของการกําหนด Element <Head>it a illegal xml<HEAD>

การเพิ่ม Comment ลงในเอกสาร XML ถึงแม้ว่าตัวประมวลผล XML (XML Processor) จะไม่สนใจที่จะประมวลผล Comment แต่การวาง Comment ไว้ในที่ ๆ เหมาะสม ก็จะช่วยให้สามารถเข้าใจง่าย และชัดเจนมากยิ่งขึ้น เช่นเดียวกับการ Comment ของภาษา C หรือ ภาษาคอมพิวเตอร์ต่าง ๆ ซึ่งช่วยให้เข้าใจมากยิ่งขึ้น รูปแบบของ Comment รูปแบบของ Comment จะเริ่มต้นด้วย <!--และปิดด้วยเครื่องหมาย--> ระหว่างเครื่องหมายทั้ง 2 นี้ จะสามารถใส่ข้อความที่ต้องการได้เว้นแต่เครื่องหมาย Double Hyphen(- -) ซึ่งแสดงถึงตัว Comment เอง จะสามารถพิมพ์เครื่องหมาย <(Left Angle Bracket) และ & (Am-persand) ภายใน Comment ได้ ต่อไปนี้ คือ Comment ที่ถูกต้องตามกฎข้อบังคับ <!--The Correct Comment--> ตําแหน่งใดที่สามารถวาง Comment ได้บ้าง การใส่ Comment จะสามารถใส่ได้ทุกที่ภายในเอกสาร XML หรือภายนอก Markup หรือวางไว้ในส่วนของ Prolog ของเอกสารดังตัวอย่างต่อไปนี้

หรือเพิ่ม Comment หลัง Element ได้ ดังนี ้

Page 17: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

17    

หรือวางไว้ภายในข้อมูลประเภท Character Data ของ Element ได้ดังนี้

ต่อไปนี้คือ ตัวอย่างที่ผิดเนื่องจากวาง Comment ๆว้ภายใน Markup

และการใส่ Comment ยังสามารถใส่ไว้ภายใน DTD (Document Type Declaration) ถึงแม้ว่า DTD จะเป็นรูปแบบของ Markup ก็ตาม แต่ไม่สามารถวางไว้ภายใน Markup ของ DTD ได้เช่นกัน

การใช้ Processing Instruction การใช้ Processing Instruction มีวัตถุประสงค์เพื่อจัดเตรียมข้อมูลให้กับตัวประมวลผล XML เพื่อส่งผ่านไปยังโปรแกรมประยุกต์ รูปแบบของการใช้ Processing Instruction Processing Instruction จะมีรูปแบบการใช้ทั่วไป ดังนี้

<? Target instruction?>

โดย Target คือ ชื่อของ Processing Instruction โดยจะสามารถตั้งชื่อเป็นอะไรก็ได้แต่ต้องเป็นไปตามกฎข้อบังคับ ต่อไปนี้ - ชื่อของ Processing Instruction จะต้องเริ่มต้นด้วยตัวอักษรหรือเครื่องหมายขีดล่าง(_),แล้วตามด้วยตัวอักษร หรือเครื่องหมายขีดกลาง(-) ,เครื่องหมายจุด (.), เครื่องหมายขีดล่าง (_) - คําว่า "xml" จะสามารถใช้ได้ทั้งตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก และ Instruction คือ ข้อมูลที่จะถูกส่งไปยังโปรแกรมประยุกต์ โดยประกอบด้วยเครื่องหมายที่ต่อเนื่องกัน ยกเว้นเครื่องหมาย ?> เพราะเป็นเครื่องหมายที่ใช้สําหรับกําหนดจุดปิดของ Processing Instruction

วิธีการใส่ Processing Instruction

Page 18: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

18    

วิธีการใช้ Processing Instruction ในเอกสาร XML จะขึ้นอยู่กับตัวประมวลผลที่ใช้ในการอ่านเอกสารและถ้าใช้โปรแกรม Internet Explorer เป็นตัวประมวลผล XML จะพบ 2 หัวข้อหลัก ๆ ในการใส่ Processing Instruction - สามารถใช้ Processing Instruction เพื่อบอก Internet Explorer ในการจัดการแสดงผลเอกสาร ซึ่งบอกให ้Internet Explorer แสดงผลเอกสารโดยการใช้ Style Sheet เช่น ตัวอย่างต่อไปนี้ Processing Instruction บอกให ้Internet Explorer ใช้ CSS ไฟล์ชื่อว่า Particular01.css ในการจัดการแสดงผล

<?xml-stylesheet type="text/css" href="particular01.css" ?>

- หากมีการเขียนสคริปต์เพื่อจัดการ และแสดงผลเอกสารเว็บ จะสามารถเพิ่ม Processing Instruction เข้าไปในเอกสารได้ และสคริปต์จะสามารถอ่าน Instruction เหล่านี้และนําไปใช้อย่างเหมาะสมได้ เช่น ตัวอย่างดังต่อไปนี้ อาจมีการเพิ่ม Processing Instruction เข้าไปในเอกสาร เพื่อบอกสคริปต์ให้แสดงระดับของรายละเอียด

<?MyScript detialail="5" ?>

ตําแหน่งใดที่สามารถวาง Processing Instruction ได้บ้าง จะเหมือนกับตําแหน่งของการใส่ Comment คือ ทุกที่ในเอกสาร XML ที่อยู่นอกแท็ก Markup อื่น ๆ และยังสามารถแทรกไว้ใน Comment ก็ได้เช่นเดียวกัน เช่น ในส่วนของ Prolog หรือตามหลัง Document Element หรือภายใน Element ดังเช่น ตัวอย่างการใส่ Processing Instruction ที่ถูกต้องดังต่อไปนี้

ผลลัพธ์ได้ดังนี้

Page 19: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

19    

และต่อไปนี้ คือ ตัวอย่างการใส่ Processing Instruction ที่ผิดเพราะภายใน Markup

และการใส่ Processing Instruction ยังสามารถวางไว้ภายใน DTD(Document Type Declaration) ถึงแม้ว่า DTD จะเป็นรูปแบบของ Markup ก็ตามแต่ไม่สามารถวางไว้ภายใน Markup ของ DTD ได้เช่นกัน

การใช้งาน CDATA Section จากที่ผ่านมาแล้วจะเห็นว่าไม่สามารถใส่ เครื่องหมาย < หรือ & ภายในข้อมูลประเภท Character Data ของ Element ได้ วิธีหนึ่งที่ทําให้หลีกเลี่ยงข้อจํากัดนี้ได้วางตัวอักษรเหล่านี้ภายใน CDATA Section รูปแบบของการใช้ CDATA Section การใช้ CDATA Section จะเริ่มต้นด้วยเครื่องหมาย <![CDATA[ และปิดด้วยเครื่องหมาย ]]> (ซึ่งเครื่องหมายนี้มีความหมาย คือ เป็นจุดปิดของ CDATA Section) ตัวอักษรทุกตัวภายใน CDATA Section จะกลายเป็นข้อมูล และเป็นส่วนหนึ่งของข้อมูล และกลายเป็นส่วนหนึ่งของข้อมูลประเภท Character Data ภายใน Element ไม่ใช่ XML Markup เช่น ตัวอย่างต่อไปนี้ ที่เป็นการใช้ CDATA Section ที่ถูกต้อง

และถ้าต้องการรวมบล็อกของซอร์สโค้ด หรือ Markup ให้เป็นส่วนหนึ่งของข้อมูลประเภท Character Data ใน Element เพื่อแสดงผลในโปรแกรมเบราเซอร์ ก็สามารถใช้ CDATA Section เพื่อป้องกันตัววิเคราะห์ XML(XML parser) ไม่ให้แปลความหมาย < หรือ & ว่าเป็น XML Markup ดังเช่น ตัวอย่างต่อไปนี้

Page 20: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

20    

ตําแหน่งใดที่สามารถวาง CDATA Section ได้บ้าง CDATA Section จะสามารถวางไว้ที่ส่วนไหนก็ได้ ทุกที่ ๆ สามารถแสดงข้อมูลได้ นั่นคือ ภายใน Element แต่ไม่ใช่ภายใน Markup เช่น ตัวอย่างต่อไปนี้

ตัวอย่างต่อไปนี้ คือ ตัวอย่างที่ผิด ซึ่งมีจุดผิดอยู่ 2 ส่วน คือ 1.ไม่ได้วางในส่วนของ Character Data ของ Element 2.คือ วางไว้ภายใน Markup

หลักการแสดงผลของเอกสาร XML ตามปกติจะสามารถเปิดเอกสาร XML ได้โดยตรงกับ Internet 6 เหมือนกับการเปิดใช้งานเอกสาร HTML ถ้าเอกสาร XML ไม่มีการเชื่อมต่อกับ Style Sheet โปรแกรมเบราเซอร์ Internet Explorer 6 จะแสดงผลเป็นข้อความทั้งหมดของเอกสาร ซึ่งจะประกอบด้วย Markup 2 แบบ(คือแท็กและหมายเหตุ)และข้อมูลประเภท Character Data ซึ่งสีของข้อมูลจะมีความแตกต่างกัน ซึ่งจะเป็นส่วนที่ใช้แยกแยะข้อความของเอกสาร และจะแสดงผลในลักษณะพับได้/ยืดได้(คล้ายกับ Tree View)จะเหมือนกับลักษณะโครงสร้างที่เป็นลําดับชั้นอย่างชัดเจน ซึ่งจะสามารถทําให้มองเห็นรายละเอียดของข้อมูลได้หลายแบบ ถ้ามีการเชื่อมต่อเอกสาร XML กับ Style Sheet โปรแกรมเบราเซอร ์Internet Explorer 6 จะแสดงผลเฉพาะข้อมูลเอกสารที่เป็นตัวอักษร (Character Data) จาก Document Element และจะจัดรูปแบบตามที่กําหนดไว้ใน Style Sheet โดยสามารถใช้ Cascading Style Sheet (CSS) ซึ่งจะมีรูปแบบเหมือนที่ใช้กับ HTML หรือ Extensible Style Sheet (XSL) ซึ่งเป็น Style Sheet ที่มีประสิทธิภาพสูง เพราะใช้ไวยากรณ์ของ XML และจะสามารถใช้ได้กับเอกสาร XML เท่านั้น การแสดงผลเอกสาร XML แบบไม่เชื่อมต่อกับ Style Sheet 1.ให้ดับเบิ้ลคลิกที่ไฟล์ชื่อ particular.xml ใน Windows Explorer ที่เป็นตัวอย่างผ่านมาแล้วข้างต้น

Page 21: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

21    

แสดงผลของการแสดงผลเอกสาร XML ชื่อ particular.xml

2.ให้ลองเปลี่ยนระดับของรายละเอียดที่แสดงภายใน Document Element โดยคลิกที่เครื่องหมาย (-) ทางซ้ายของ Element ข้อมูลจะยุบตัวลง และจะเปลี่ยนจากเครื่องหมาย (+) และถ้าคลิกเลือกที่เครื่องหมาย(+) Element ที่ยุบตัวอยู่จะขยายกลับออกมา และเปลี่ยนเครื่องหมายจาก (+) เป็น(-) เช่น ให้ลองคลิกที่เลือกเครื่องหมาย(-)หน้า Element Customer อันบนสุดจะได้ผลลัพธ์ดังนี้

การวิเคราะห์ข้อมูลเอกสารXML ด้วย ตัววิเคราะห์ XML (XML Parser)

ตัววิเคราะห์ XML (XML Parser) จะเป็นส่วนหนึ่งของตัวประมวลผลเอกสาร XML ซึ่งจะวิเคราะห์โครงสร้าง และตรวจสอบข้อผิดพลาดในไวยากรณ์ทั้งหมดของเอกสาร

Page 22: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

22    

เช่น เมื่อมีการเริ่มต้นการแสดงใน Internet Explorer 8 จะทําการสร้างตัววิเคราะห์ XML เรียกว่า XML Parser เพื่อใช้สําหรับวิเคราะห์ไวยากรณ์ซึ่งอยู่ภายในเอกสาร และถ้าตรวจพบข้อผิดพลาดของเอกสาร XML โปรแกรมเบราเซอร์ Internet Explorer8 จะแสดงข้อผิดพลาดนั้น ๆ ขึ้นมาในหน้าเอกสาร และจะไม่แสดงผลเอกสาร ซึ่ง Internet Explorer8 จะแสดงหน้าเอกสารที่ผิดพลาดโดยไม่คํานึงถึงว่ามีการเชื่อมต่ออยู่กับ Style Sheet หรือไม่ เพื่อให้เห็นชัดเจนมากยิ่งขึ้นจะทําการสร้างตัวอย่างที่ผิด พลาดเพื่อดูการทํางานของตัววิเคราะห์ XML (XML Parser) ว่าทํางานอย่างไรโดยใช้ไฟล์ตัวอย่าง particular.xml โดยให้ทําตามขั้นตอน ดังนี้ 1.ให้เปิดไฟล์ particular.xml ด้วยโปรแกรม Text Editor ซึ่งในที่นี้ใช้โปรแกรม Notepad แล้วทําการเปลี่ยน Name Element อันแรกจาก <Name>Mr.Nutthapat</Name> เป็น <Name> Mr.Nutthapat </NAME>

2.ทําการบันทึกเอกสารเพื่อบันทึกการเปลี่ยนแปลงที่ทําลงไปกับเอกสาร 3.เปิดไฟล์ particular.xml โดยดับเบิ้ลคลิกที่ไฟล์ชื่อ particular.xml ใน Windows Explorer 4.จะเห็นการแสดงผลเอกสาร XML ใน Internet Explorer 8 ซึ่งจะแสดงข้อผิดพลาดดังนี้

5.เนื่องจากมีการใช้งานไฟล์ particular.xml อีกครั้งต่อไป จึงทําให้การเปลี่ยนสิ่งที่ได้ทําไปเมื่อซักครู่ให้กลับเหมือนเดิมแล้วบันทึก เอกสาร ตัวอย่างที่ผ่านมาแล้วข้าง ต้นจะยังไม่มีการเชื่อม Style Sheet เข้ากับเอกสาร XML ซึ่งโดยปกติถ้าไม่มีการเชื่อมกับ Style Sheet เพื่อแสดงเอกสาร Internet Explorer 6 จะใช้ XSL Style Sheet เพื่อการแสดงเอกสาร และเมื่อเปิดเอกสาร XML โดยตรงใน Internet Explorer 6 ตัววิเคราะห์จะทําการตรวจสอบว่าเป็นเอกสารที่มีรูปแบบถูกต้อง (Well-Formed XML Document) หรือไม่ และจะแสดงข้อความแจ้งให้ทราบทันทีที่ตรวจพบข้อผิดพลาด โดยจะไม่ตรวจสอบว่า เป็นเอกสารที่ถูกต้องสมบูรณ์ (Valid XML Document) หรือไม่ การแสดงผลเอกสาร XML โดยใช้ Cascading Style Sheet 1.สร้างไฟล์ใหม่โดยใช้โปรแกรม Text Editor และพิมพ์โค้ดที่แสดงใน plancss ซึง่จะเป็นไฟล์ชนิด Cascading style Sheet(CSS) 2.จากนั้นให้เซฟโดยกําหนดชื่อไฟล์เป็น particular01.css ซึ่ง CSS จะกําหนดให้ โปรแกรมเบราเซอร์จัดรูปแบบเอกสาร XML ดังนี้ - ให้ Customer Element มีกรอบที่เป็นช่องว่างล้อมรอบ(display :block) และตัวขนาด 30 พอยนต์

Page 23: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

23    

(font-size:30pt) - ให้ Name Element ทุกตัวแสดงตัวอักษรแบบตัวหนา (font-weight:bold) รายการโค้ด plancss

3.จากนั้นทําการเปิดไฟล์ particular.xml ออกมาแล้วเพิ่ม Processing Instruction ไปที่บรรทัดสุดท้ายของ Prolog ดังนี้ <?xml-stylesheet type="text/css" href="particular01.css?> Processing Instruction จะเป็นตัวกลางในการเชื่อมต่อไฟล์ CSS และไฟล์ XML และ จะได้ผลลัพธ์ตามที่กําหนดใน CSS เมื่อเปิดด้วยโปรแกรมเบราเซอร์ Internet Explorer 6 4.เพื่อให้แน่ใจว่าเอกสาร ทั้ง 2 อย่างที่ทําไว้ ทั้ง XML และ CSS อยู่ในโฟล์เดอร์เดียวกันโดยเปลี่ยนชื่อจากไฟล์จาก particular.xml เป็น particular.xml และเปลี่ยนในส่วนของ Comment เพื่อป้องกันการสับสน <!--File Name:particular.xml--> เป็น <!--File Name:particular01.xml--> และจะแสดงให้ไฟล์ particular01.xml ที่เสร็จสมบูรณ์ดังต่อไปนี้

Page 24: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

24    

แสดงไฟล์ particular01.xml ที่สมบูรณ์

5.เปิด ไฟล์ particular01.xmlโดยดับเบิ้ลคลิกที่ชื่อ ไฟล์ particular01.xml ใน Windows Explorer จะแสดงผลเอกสารตามคําสั่งที่กําหนดใน particular01.css ดังนี้

6.เพื่อให้มีความเข้าใจมาก ยิ่งขึ้น ให้สร้างไฟล์ CSS ขึ้นมาอีก 1 ไฟล์โดยกําหนดให้จัดรูปแบบข้อมูลประเภท Character Data ให้แสดงผลของเอกสารดังนี้ - ให้ทุก Lecturer Element มีขอบด้านบนขนาด 10 พอยต์ (margin-top:10pt) และกรอบที่เป็นช่องว่างล้อมรอบ (display:block) และตัวอักษรขนาด 15 พอยต์ - ให ้แสดง Addrdss,Telephone Element ให้มีกรอบแป็นช่องว่างล้อมรอบทําให้แยกบบร ทัด ดังนี้ (display:block)และมีย่อหน้าขนาด 15 พอยต์ (margin-left:15pt) และกําหนดตัวอักษรเป็นตัวเอียง

Mr.Nutthapat  Kaewrattanapat  11/22  Bangkok  10300  0801234567    Ms.Jarumon  Nookhong  55/44  Bangkok  10300  0891111111    Ms.Ketcharinporn  Chaiya  22/123  Bangkok  10300  0812222222    Ms.Wipada  Chaiwchan  78/185  Bangkok  10300  0813333333    

Page 25: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

25    

แสดงไฟล์ particular02.css

8.จากนั้นทําการเปิดไฟล์ particular01.xml ออกมาแล้วเพิ่ม Processing Instruction ไปที่บรรทัดสุดท้ายของ Prolog ดังนี้ <?xml-stylesheet type="text/css" href="particular02.css"?>

Page 26: บทที่2 ภาษามาร์คอัฟ(Markup Language) และ XML...1" " บทท 2 ภาษามาร คอ ฟ(Markup Language) และ XML ภาษามาร

26    

Processing Instruction จะเป็นตัวกลางในการเชื่อมต่อไฟล์ CSS และไฟล์ XML จะได้ผลลัพธ์ตามที่กําหนดใน CSS เมื่อเปิดด้วยโปรแกรม เบราเซอร์ Internet Explorer 6

9.เพื่อให้แน่ใจว่าทั้ง เอกสารทั้ง 2 อย่างที่ทําไว ้ทั้ง XML และ CSS อยู่ในโฟลเดอร์เดียวกันโดยเปลี่ยนชื่อจาก particular01.xml เป็น particular02.xml และเปลี่ยนในส่วนของ Comment เพื่อป้องกันการสับสน <!--File Name:particular01.xml-->เป็น <!--File Name:particular02.xml--> และจะแสดงไฟล์ particular02.xml ที่เสร็จสมบูรณ์ดังต่อไปนี้

แสดงไฟล์ particular02.xml ที่สมบูรณ์

Reference :

- http://itd.htc.ac.th/st_it50/it5027/image/xml/U2_2.html

- http://th.wikipedia.org/wiki/เอกซ์เอ็มแอล

- http://www.w3.org/standards/xml