
ข้อมูลองค์ความรู้โดย
ภควัต รักศรี
ตำแหน่ง ผู้จัดการงานวิจัยสู่เชิงพาณิชย์ มจพ.
XML เพื่อการแลกเปลี่ยนข่าวสาร
ลงประกาศเมื่อ 15:35:14 08/09/2010
XML เพื่อการแลกเปลี่ยนข่าวสาร
เคยสงสัยกันบ้างว่า ทำไมเวลาส่งเอกสารสำคัญเป็นเรื่องเป็นราวหน่อยไปให้คนอื่นถึงต้องส่งเป็นไฟล์ .doc ของไมโครซอพท์เวิร์ดกัน ปัญหามาตรฐานกลางสำหรับไฟล์เอกสารสำนักงานที่สร้างจากโปรแกรมตระกูลเวิร์ดโปรเซสเซอร์นี้มีมานานแล้ว ไม่ใช่แต่เมืองไทยที่ยังต้องแลกข้อมูลกันด้วย .doc กันอยู่ ฝรั่ง, จีน, ญี่ปุ่น, เกาหลีและอื่นๆ ส่งไฟล์ .doc เพราะกลัวคนรับเปิดไฟล์แบบอื่นไม่ได้เหมือนกัน แต่ที่พวกนี้กลัวกันยิ่งกว่า คือ กลัวว่าไมโครซอพท์จะเปลี่ยนแปลงอะไรในไฟล์เอกสารของออฟฟิศต่างหาก ตัวอย่างง่ายๆ ที่สุด คือ ตอนเปลี่ยนจากออฟฟิศ 95 เป็น 97 มีปัญหากันมากเพราะว่าไฟล์จากเวิร์ด 95 กลับกลายเป็นตัวยึกๆ ยือๆ บนเวิร์ด 97 (ยังดีที่ออฟฟิศ 2000 กับ XP ไม่มีการเปลี่ยนรูปแบบไฟล์อีก)
ปัญหานี้รัฐบาลหลายๆ ประเทศกลัวมาก เพราะไม่มีอะไรรับประกันได้เลยว่า ข้อมูลที่เก็บๆ กันอยู่ทุกวันนี้ด้วยเวิร์ดนั้น อีก 10 ปีจะยังอ่านได้อยู่หรือเปล่า ไมโครซอพท์อาจจะอ้างตอนที่ออกออฟฟิศ 2005 ก็ได้ว่า ไฟล์รูปแบบเก่าล้าสมัยและไม่มีประสิทธิภาพไปแล้ว ทำให้เวิร์ด 2005 อ่านไฟล์เวิร์ดปัจจุบันไม่ได้ แถมรูปแบบไฟล์ของไมโครซอพท์ออฟฟิศนั้นเป็นมาตรฐานปิด เราพิมพ์งาน ใส่เวิร์ด เซฟเป็นไฟล์ .doc แต่เราไม่มีสิทธิ์ที่จะรู้เลยว่าตัวหนา ตัวเอียง ย่อหน้าในเอกสารของเราถูกเก็บยังไงอยู่ใน .doc จึงแทบไม่มีโอกาสจะสร้างโปรแกรมของเราขึ้นมาอ่านไฟล์เวิร์ดได้เลย
XML ย่อมาจาก Extensible Markup Language เป็นภาษาที่ใช้สำหรับการเขียนเอกสาร markup (markup document) โดยที่เอกสาร markup นั้นมีการใช้ metadata (หรือ tags) เพื่อบอกหน้าที่และประเภทของข้อมูลของส่วนต่างๆ ของเอกสารนั้นได้โดยชัดเจน การเพิ่ม metadata (หรือ tags) เข้าไปในเอกสารสามารถทำให้โครงสร้างของเอกสารชัดเจนขึ้น และทำให้การประมวลผลเอกสารเป็นไปโดยง่ายและไม่จำเป็นที่จะต้องอาศัยมนุษย์เพื่อตีความเอกสาร
เราใช้เทคโนโลยี XML ในการพัฒนามาตรฐานเพื่อการกระจายข่าวเนื่องจาก XML เป็นภาษาที่เหมาะกับการแลกเปลี่ยนข้อมูลผ่านเครือข่ายคอมพิวเตอร์ เนื่องจาก XML ไม่ได้ขึ้นอยู่กับโปรแกรมประยุกต์หรือระบบปฏิบัติการใด นอกจากนี้ XML ยังเป็นภาษาที่มีความยืดหยุ่น เนื่องจากผู้ใช้สามารถที่จะกำหนดและตั้งค่า metadata (หรือ tags) ให้เหมาะกับเอกสารเฉพาะที่ตนต้องการได้อย่างอิสระ และยังสามารถเพิ่มเติม metadata (หรือ tags) ได้ในภายหลังโดยไม่มีผลกระทบต่อโปรแกรมที่มีอยู่แล้วด้วย
XML ถือได้ว่าเป็นส่วนหนึ่งของ Standard Generalized Markup Language (SGML) ที่เป็นข้อกำหนดในการสร้างหรือจัดทำเอกสารในรูปแบบอิเล็คทรอนิกส์ที่กำหนดโดย W3C หรือ World Wide Web Consortium ที่มีโครงสร้างและรูปแบบที่เปิดให้แอพพลิเคชันต่างๆ สามารถเรียกไปใช้งานได้ จึงทำให้การจัดการข้อมูลหรือเรียกใช้ข้อมูลจากแอพพลิเคชันต่างๆ นั้นอยู่ในมาตรฐานเดียวกัน โดยสามารถสร้างแอพพลิเคชั่นเพื่ออ่านและประมวลผล XML ได้อย่างง่ายดาย
เป้าหมายที่สำคัญของ XML จึงเน้นที่จะนำไปใช้งานในอินเทอร์เน็ต เป้าหมายหลักเป็นดังนี้
- XML เป็นงานที่จะนำไปประยุกต์บนอินเทอร์เน็ต โดยใช้ดูเอกสาร XML ได้ง่าย สะดวก และได้ผลดีเหมือน HTML
- XML ออกแบบอย่างพิถีพิถันเน้นความจำเป็น กระทัดรัด เข้าใจง่าย และได้ประโยชน์กว้างขวาง
- XML สนับสนุนการประยุกต์เข้ากับงานต่าง ๆ และสนับสนุนโปรแกรมประยุกต์ต่าง ๆ
- XML เน้นเรื่องการประมวลผลเอกสาร จึงเหมาะกับงานทางด้านการวิเคราะห์เอกสาร การผลิตเอกสาร การแลกเปลี่ยน และการแสดงผล
- การเขียนด้วยภาษา XML ทำได้ง่าย
- คุณสมบัติของ XML ต้องอยู่ในระดับต่ำสุด เพื่อให้ผู้ใช้อื่นร่วมใช้ได้
- XML ควรอ่านได้ด้วยมนุษย์ โดยไม่ต้องอาศัยโปรแกรมหรือเครื่องมือช่วยแปล เพราะบางครั้งควรอ่านและเข้าใจได้ด้วย Text ธรรมดา
- การเขียน XML ทำได้ตั้งแต่การใช้ Text editor ทั่ว ๆ ไป และไม่ต้องการเครื่องมือที่ซับซ้อน อย่างไรก็ดี ย่อมต้องมีผู้เขียน XML editor ให้ใช้งานได้ง่ายขึ้น
- XML เป็นมาตรฐานที่กำหนดแล้วใช้งานได้ทันที โดยที่บราวน์เซอร์และอุปกรณ์ต่าง ๆ พร้อมใช้งานร่วมกัน
- รูปแบบการเขียนโครงสร้างข้อกำหนดของ XML ต้องเป็นไปตามหลักการของวิศวกรรมคอมพิวเตอร์ คือ เมื่อเขียนแล้วต้องสามารถใช้โปรแกรมแปลภาษาได้ง่าย โดยทั่วไปเขียนในรูปแบบ BNF ได้ (Baches Normal Form)
- เป้าหมายที่สำคัญของ XML อีกอย่างหนึ่ง คือ ใช้เป็นตัวควบคุมข้อมูล (Meta data) ดังนั้นจึงเป็นแนวทางในการขนส่งข้อมูลและสร้างการเชื่อมโยงระหว่างแอบปลิเคชั่นได้ง่าย
ด้วยเหตุผลของการใช้งานบนเครือข่ายที่มีพัฒนาการการจัดการเอกสารจำนวนมาก การสร้างดิจิตอลไลบารี การแลกเปลี่ยนข้อมูลข่าวสารระหว่างกัน การประยุกต์ XML จึงทำได้กว้างขวาง เช่น
- XML สนับสนุน UNICODE ทำให้ใช้ได้หลากหลายภาษา และผสมกันได้หลากหลายภาษา
- การพัฒนา XML Processor ทำให้สามารถดึงเอกสาร XML มาใช้งานได้ง่าย และใช้ร่วมกับโปรแกรมประยุกต์อื่นได้ง่าย เช่น โปรแกรม DB2, Oracle, SAP เป็นต้น
- XML ช่วยทำให้เกิดการรับส่งข้อมูลแบบ EDI โดยทำให้แนวทางการเชื่อมโยงและสร้างความเป็นเอกสารหรือมาตรฐานระหว่างองค์กร
- XML มีสภาพช่วยในการขนส่งข้อมูลไปยังปลายทางเพื่อให้แปลความหมายและใช้งานได้อย่างเต็มประสิทธิภาพ
- มีการสร้างการประยุกต์ และนำเสนอผลลัพธ์ไปใช้งานจาก XML ได้มาก
- การประยุกต์การดำเนินกิจกรรมบนเครือข่ายมีมาก เช่น eBusiness EDI eCommerce การจัดการ Supply chain, Demand chain management การดำเนินการแบบ intranet และ web base application
โครงสร้างทั่วไปของ XML
นิยามแท็ก
ใน XML คุณสามารถนิยามแท็กเองได้ ถ้าคุณต้องการแท็ก หรือ ก็ไม่มีปัญหา
DTD หรือ Schema
ถ้าต้องการใช้แท็ก ต้องนิยามความหมายของมัน นิยามนี้จะเก็บไว้ใน DTD (Document Type Definition) คุณอาจนิยาม TD เองหรือใช้นิยามที่มีอยู่ก็ได้ การนิยาม DTD หมายถึง การนิยามภาษา XML นั่นเอง DTD อาจเรียกได้อีกอย่างหนึ่งว่า Schema
การแสดงผลลัพธ์
โดยปกติมักไม่จำเป็นต้องแสดงข้อมูลในเอกสาร XML สามารถจะเก็บบันทึกข้อมูลลงในฐานข้อมูลได้ทันที แต่ถ้าต้องการแสดงข้อมูลก็ทำได้ ตัว XML เองไม่สามารถแสดงข้อมูลได้ แต่อาจทำให้มองเห็นเอกสาร XML ได้โดยใช้ภาษาซึ่งนิยามการนำเสนอ
XSL (Extensible Stylesheet Language) ถูกสร้างขึ้นมาเพื่อการนี้ แต่อาจนิยามการนำเสนอด้วย CSS (Cascading Style Sheets) แทนได้
แท็ก XML
แท็ก
แท็ก XML ถูกสร้างเช่นเดียวกับแท็ก HMTL มีแท็กเริ่มต้นและแท็กปิดท้าย เช่น เนื้อหา
แท็กปิดท้ายใช้เครื่องหมาย slash หลังวงเล็บเปิด เช่นเดียวกับ HTML
ข้อความระหว่างเครื่องหมายวงเล็บเรียกว่า ส่วนประกอบ (element)
ไวยากรณ์
แท็ก XML มีกฎดังต่อไปนี้
แท็กแยกความแตกต่างของตัวอักษร แท็ก จะแตกต่างจากแท็ก และ
แท็กเริ่มต้นจะต้องมีแท็กปิดท้ายเสมอ แท็กทุกแท็กต้องซ้อนกันอย่างถูกต้อง
หมายเหตุใช้ได้เช่นเดียวกับใน HTML:
ระหว่างแท็กเริ่มต้นกับแท็กปิดท้าย จะมีเนื้อหาอยู่
135 เป็นแท็กที่ถูกต้องของส่วนประกอบ amount ที่มีเนื้อหาเท่ากับ 135
แท็กว่าง
นอกจากแท็กเริ่มต้นและแท็กปิดท้ายแล้ว ยังอาจใช้แท็กว่างได้ด้วย แท็กว่างจะไม่มีแท็กปิดท้าย
ไวยากรณ์จะแตกต่างจาก HMTL:
ส่วนประกอบและส่วนประกอบย่อย
ส่วนประกอบและสมาชิก
คุณสามารถนิยามประเภทของข้อมูลได้ด้วยแท็ก XML แต่ส่วนใหญ่ข้อมูลมักจะซับซ้อนมาก อาจประกอบด้วยส่วนต่าง ๆ หลาย ๆ ส่วน
ในการอธิบายส่วนประกอบ car คุณอาจนิยามแท็ก mecedes รูปแบบอาจเป็นดังนี้
นอกจากส่วนประกอบ car แล้วยังใช้ส่วนประกอบอื่นอีก 3 ส่วนคือ brand, type และ color ทั้ง 3 ส่วนถือเป็นส่วนประกอบย่อย (sub-element) ของส่วนประกอบ car ในภาษา XML แท็กของส่วนประกอบย่อย จะปิดท้ายด้วยแท็กของส่วนประกอบ car ส่วนประกอบย่อยนี้เรียกได้อีกอย่างหนึ่งว่าสมาชิก
เอกสาร XML
การประกาศ XML
บรรทัดแรกของเอกสาร XML เรียกว่าประกาศของ XML เป็นแท็กชนิดพิเศษ
เวอร์ชั่น 1.0 นี้ คือ เวอร์ชั่นจริงของ XML
ประกาศ XML ทำให้รู้ชัดเจนว่ากำลังคุยกันด้วยภาษา XML และกำลังใช้เวอร์ชั่นใด
ส่วนระบุเวอร์ชั่นนี้จะมีความสำคัญ หลังจากที่มีการใช้ XML เวอร์ชั่นใหม่
ส่วนประกอบราก (Root element)
เอกสาร XML ทั้งหมดจะต้องมีส่วนประกอบราก ส่วนประกอบอื่น ๆ ในเอกสารเดียวกันจะเป็นสมาชิกของส่วนประกอบรากนี้ ส่วนประกอบรากเป็นชั้นสูงสุดของโครงสร้างในเอกสาร XML
สรุป
เราใช้เทคโนโลยี XML ในการพัฒนามาตราฐานเพื่อการกระจายข่าว เนื่องจาก XML เป็นภาษาที่เหมาะกับการแลกเปลี่ยนข้อมูลผ่านเครือข่ายคอมพิวเตอร์ เนื่องจาก XML ไม่ได้ขึ้นอยู่กับโปรแกรมประยุกต์หรือระบบปฏิบัติการใด นอกจากนี้ XML ทั้งยังเป็นภาษาที่มีความยืดหยุ่น เนื่องจากผู้ใช้สามารถที่จะกำหนดและตั้งค่า metadata ให้เหมาะกับเอกสารเฉพาะที่ตนต้องการได้ และยังสามารถเพิ่มเติม metadata ได้ในภายหลังโดยไม่มีผลกระทบต่อโปรแกรมที่มีอยู่แล้วด้วย
XML จึงเป็นแนวทางหนึ่งที่จะสร้างคุณค่าเพิ่มให้กับผู้ใช้อินเทอร์เน็ต และเป็นหนทางที่จะสร้างบทบาทการประยุกต์ใช้งานบนเครือข่ายสำหรับอนาคตต่อไป
ที่มาจาก www.vcharkarn.com