A-AA+then

การแสดงข้อมูล XML

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

<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>

เมื่อจัดการแสดงผลแล้วอาจเป็นรูปนี้

MESSAGE

To: Tove
From: Jani

Don't forget me this weekend!

โดยกระบวนการแสดงผล เกิดจากการ parse เอาข้อมูลของ XML ออกมาแล้วค่อยนำข้อมูลมาจัดการแสดงผล โดยการแทรกข้อความ tag หรือ HTML ที่ต้องการให้สวยงามซึ่งอาจมีรูปแบบแตกต่างจากนี้ได้ตามความต้องการ

จะเห็นได้ว่า เอกสาร XML เพียงเอกสารเดียวอาจทำให้เกิดเอกสารต่างๆกันได้หลายรูปแบบ (เพื่อตอกย้ำว่า XML เป็นเพียงข้อมูล) ขึ้นอยู่กับกระบวนการจัดการแสดงผล

กระบวนการ parse เอกสาร XML เพื่อจัดการแสดง มีได้หลายวิธี โดยหลักๆที่ใช้ ก็จะมีอยู่ 2 อย่าง ซึ่งมีข้อดีข้อเสียต่างๆกันคือ
1. DOM (Document Object Model) เป็นวิธีที่ประมวลโครงสร้างของเอกสาร XML ให้เป็นโครงสร้างแบบต้นไม้ เพื่อให้แอพพลิเคชั่นสามารถเข้าหาจุดต่าง ๆ ของโครงสร้างต้นไม้ได้ โดยที่ DOM จะโหลดไฟล์ XML ทั้งไฟล์ใน Memory ซึ่งก็มีทั้งข้อดีและข้อเสีย คือ
     ข้อดี คือ ครั้งแรกสุดที่มีการเรียกใช้งานจะช้า แต่หลังจากนั้นการเข้าถึงจุดต่าง ๆ ของไฟล์ จะเร็วเพราะถูกเก็บใน memory แล้ว
     ข้อเสีย คือ ไม่เหมาะกับ file XML ที่มีขนาดใหญ่ โดยที่ขอบเขตจะถูกจำกัดด้วยหน่วยความจำที่เรียกใช้ในขณะนั้น
2. SAX (Simple API for XML) เป็นการทำงานแบบ event-based API คือจะรายงานข้อมูลตั้งแต่จุดเริ่มต้นและสิ้นสุดของ elements ต่าง ๆ ไปให้แอพพลิเคชั่นโดยไม่ต้องมีการสร้างโครงสร้างแบบต้นไม้ขึ้นมา ซึ่งจะเข้าถึงเอกสาร XML ทำงานได้ง่ายและไม่ซับซ้อน และที่สำคัญผู้ใช้สามารถทำ parsing เอกสารที่มีขนาดใหญ่กว่าปริมาณหน่วยความจำได้

ตัวอย่าง กระบวนการ parse ในแบบ DOM ก็คือในบทที่ 21 ถึง บทที่ 27 ครับ ส่วนกระบวนการ parse ในแบบ SAX นั้นก็ได้แก่บทที่ 32, 34, 35, 37, 38 และ 39

XML

Relate

^