พอดีเมื่อหลายอาิิทิตย์ก่อนผมได้มีโอกาสไปฟังคนของ Microsoft บรรยายเรื่องฟอร์แมตเอกสารใหม่ที่จะเป็นมาตรฐานของ Microsoft Office 2007 ที่กำลังจะออกในเร็วๆ นี้ ซึ่งเรียกว่า Microsoft Office Open XML ซึ่งจะต่างไปจากเดิมตรงที่ ข้อมูลจะถูกเก็บอยู่ในรูปแบบของ XML หลายๆ คนอาจจะทราบแล้ว แต่อาจจะเพียงแค่ผิวเผินว่ามันเก็บเป็น XML อย่างไร วันนี้ผมเลยอยากจะมาเพิ่มเติมให้ทุกคนได้รู้กันครับ

โดยคร่าวๆ คือ ฟอร์แมตของ word, excel, และ powerpoint จากเดิมที่เป็น .doc, .xls, .ppt นั้นก็จะเปลี่ยนเป็น .docx, .xlsx และ .pptx ตามลำดับ สำหรับฟอร์แมตใหม่ที่เป็น Open XML

เมื่อก่อนผมก็งงเหมือนกันว่ามันเก็บเป็น XML ยังไงพอเราลองใช้ notepad เปิดมันก็เป็นตัวยึกยืออ่านไม่รู้เรื่อง  ความจริงแล้วไฟล์พวกนี้มันอยู่ในฟอร์แมต zip ครับ สังเกตว่าถ้าเราลองลากไฟล์มาเปิดด้วย winzip หรือ winrar เป็นต้น ก็จะเห็นว่าข้างในนั้น เป็นไฟล์ XML จำนวนมากนั่นเอง

 

เพื่อให้เห็นภาพมากขึ้น ผมจะลองใช้ Microsoft Word 2007 สร้างเอกสารขึ้นมา ดังรูป มีตัวหนังสือ และผมแทรกรูปภาพ 1 รูปเป็นไฟล์ png แล้ว save เป็น hello.docx

 เมื่อใช้ WinRAR เปิดดูจะเห็นว่ามันเป็น zip ไฟล์จริงๆ ครับ และมีการจัดรูปแบบไว้อย่างแน่นอนกำหนดโดย Ecma ภายใต้ผู้สนันสนุนหลายราย เช่น Apple, British Library, Canon, Intel, Microsoft, NextPage, Novell, Pioneer เป็นต้น

ส่วนของโครงสร้างนั้น ผมไม่่ค่อยจะรู้รายละเอียดเท่าไหร่นัก รู้เพียงว่ามันจะแบ่งส่วนๆ แยกกัน เช่น ส่วนข้อมูล ส่วนการจัดฟอร์แมต ส่วน metadata เป็นต้น ถ้าเราลองเข้ามาดูใน folder word จะเห็นดังรูปข้างล่าง

ที่น่าสนใจอย่างหนึ่งคือ รูปภาพที่เราใส่เข้าไป ก็ยังคงเก็บเป็นไฟล์รูปภาพธรรมดาครับ ดังที่เห็นข้างล่าง

 หลายคนคงสงสัยว่า แล้วพอเปลี่ยนเป็น ฟอร์แมตเปิดแบบ XML แล้วมันดีกว่าเก่าอย่างไร ที่สำคัญก็คือ เราสามารถสร้างโปรแกรมของเราเอง ที่จะสร้างเอกสาร อ่าน หรือแก้ไข ได้โดยง่ายขึ้นมาก เช่น ถ้าเราลองดูที่ไฟล์ document.xml จะเห็นว่าเป็นไฟล์ที่เก็บตัวหนังสือที่อยู่ในเอกสารของเรา จะเห็นว่ามีคำว่า Hello, everyone ที่เราพิมพ์ไว้

ผมจะลองแก้เป็น Hello World! ดูแล้ว เซฟกลับเข้าไปแล้วเปิดด้วย Word 2007 ใหม่ สังเกตครับ

นั่นแสดงว่า เราสามารถแก้ไข หรือแม้แต่สร้าง เอกสาร โดยไม่ต้องมี Microsoft Word!!! เห็นประโยชน์กันยังครับ

สุดท้ายนี้ ต้องให้ข้อมูลหน่อยครับว่าไม่ได้มีเฉพาะทาง ฝั่ง Microsoft ทางเดียวที่เก็บข้อมูลเอกสารเป็นแบบ XML ทางฝั่งของ OpenOffice ก็มีฟอร์แมต OpenDocument เช่นกัน ซึ่งทำมาก่อน OpenXML ของ Microsoft ด้วยซ้ำ (ไม่รู้ทำไมไม่ใ้ช้อันเดียวกันเลย) เหตุผลหนึ่งที่ Microsoft ไม่ใช้ OpenDocument และสร้างฟอร์แมตของตัวเองขึ้นมานั้น คิดว่าเป็นเพราะ ต้องการทำให้แปลงกลับไปเป็นเอกสารเวอร์ชันเก่าๆ ของ office ได้ และรวมถึงการมี macro, VBA ในเอกสารด้วย

มีการวิพากวิจารณ์ ถึงข้อดี ข้อเสียของฟอร์แมตทั้งสองแบบ สามารถอ่านได้จาก Wikipedia

ที่มา - การบรรยายที่ Microsoft, Wikipedia