รหัสแท่ง
บทนำ
รู้ลึกเรื่องรหัสแท่ง
การคำนวณเลขตรวจสอบ
ลิ้งค์สู่องค์กร GS1 สากล
การแลกเปลี่ยนข้อมูล อิเล็กทรอนิกส์
นิยามของ EDI
องค์ประกอบของระบบ EDI
ค่าใช้จ่ายและประโยชน์
EANCOM
XML คืออะไร?
ebXML คืออะไร?
XML/EDI คืออะไร?



สิ่งที่ควรรู้ก่อนการเริ่มต้นกับ XML (What you should already know)

-WWW, HTML และความรู้พื้นฐานที่ใช้สร้าง Web pages
-ภาษาสคริปต์ที่เพิ่มประสิทธิภาพให้การทำงานของ Web pages เช่น JavaScript, VBScript เป็นต้น

อะไรคือ XML?

XML ย่อมาจาก “Extesible Markup Language” ถูกพัฒนาโดย W3C (The World Wide Web Consortium) เป็นภาษา Markup Language เช่นเดียวกับ HTML Markup ประกอบด้วยโค้ดหรือที่เรียกว่า แท๊ก (tag) เป็นพื้นฐานสำคัญที่ใช้เพิ่มเข้าไปในข้อความ ในการปรับเปลี่ยนรูปแบบมุมมองหรือความหมาย %%% ความที่แท๊กห่อหุ่มอยู่ ข้อความที่แท๊กห่อหุ้มอยู่เรียกว่า ซอร์สโค้ด ตัวอย่างเช่น โปรแกรม Word Processing หรือโปรแกรมพิมพ์งานประเภทแก้ไขข้อความ ต่างก็มีความสามารถในการจัดรูปแบบข้อความ ด้วยภาษา Markup

XML ไม่ได้ถูกพัฒนาขึ้นเพื่อมาแทนที่ HTML แต่ถูกพัฒนาขึ้นด้วยจุดมุ่งหมายที่แตกต่างจาก HTML ซึ่งความแตกต่างระหว่าง XML กับ HTML คือ

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


1. Logical Structure

ภายในเอกสาร XML หนึ่ง จะถูกแบ่งออกเป็นหน่วย (Units) และ ในแต่ละหน่วย จะสามารถแบ่งย่อย ลงไปอีกได้ เรียกว่า หน่วยย่อย (Sub-Units) เราเรียกส่วนประกอบในเอกสารนี้ว่า Element ดังรูป

รูปที่ 1 แสดงโครงสร้างของเอกสาร XML ในมุมมอง Logical Structure

2. Physical Structure

Physical Structure จะอนุญาตให้เก็บส่วนประกอบของเอกสาร ซึ่งเรียกว่า Entities แยกออกจากตัวเอกสารได้ ในกรณีที่ข้อมูลนั้นเป็นข้อมูลที่ถูกเรียกประจำ รวมถึงเอกสารที่ไม่ใช่ XML เช่นข้อมูลที่เป็นรูปภาพ เป็นต้น โดย Entities เหล่านี้จะถูกเรียกใช้ได้โดยการอ้างถึง ดังรูป

รูปที่ 2 แสดงโครงสร้างของเอกสาร XML ในมุมมอง Physical Structure

ยกตัวอย่างการมองในลักษณะ Physical Structure ในหนังสือเล่มหนึ่ง ประกอบด้วย เนื้อหา หลายบท แต่ละบทเป็นตัวแทนของ Element ในแต่ %%% ประกอบด้วย คำอธิบายแต่ละย่อหน้า มีตารางและรูปภาพ แต่ละรูปภาพหรือคำอธิบายบางส่วน อาจจะถูกอ้างอิงถึงหลายครั้ง ในบทอื่น ฉะนั้น จึงแยกเก็บไว้อีก %%% แต่ละส่วนสามารถอ้างอิงถึงได้

โครงสร้างของเอกสาร XML มีลักษณะโครงสร้างเป็นลำดับชั้นเหมือนต้นได้ โดยมี Element ที่ซ้อนกัน อยู่ภายใน Element อื่นๆ และ Element เดียว %%% จะเรียกว่า Document Element หรือ Root Element

รูปที่ 3 แสดงตัวอย่างของเอกสาร XML

Parser

เอกสาร XML จะถูกตรวจสอบโดยใช้ Parser ซึ่งจะสามารถรายงานความผิดพลาดต่างๆ ที่เกิดขึ้น ในตัวเอกสาร

Meta-language

XML เป็น Meta-language นั่นคือ XML เป็นภาษาที่ใช้อธิบายภาษาอื่น การกำหนด Element สามารถกำหนดได้ตามความต้องการของผู้พัฒนา เพื่อให้สอดคล้องกับโปรแกรมการทำงานของผู้พัฒนาเอง



รูปที่ 4 แสดงโครงสร้างของเอกสาร

โครงสร้างของเอกสาร XML ประกอบด้วย

1. ส่วนแรก (Prolog) ในส่วนนี้ จะประกอบด้วย

  • XML declaration เป็นการประกาศให้รู้ว่าเอกสารนี้คือ XML และเป็นการประกาศเวอร์ชันของ XML (ในตัวอย่างเป็นเวอร์ชัน 1.0) การใส่ค่า XML declaration จะประกาศหรือไม่ประกาศก็ได้ แต่ควรมีข้อกำหนดนี้ในเอกสาร
  • บรรทัดว่าง เพื่อช่วยให้เอกสารน่าอ่านขึ้น ตัวประมวลผลของ XML (XML Processor) จะข้ามและ ไม่นำบรรทัดว่างเหล่านั้นมาประมวลผล
  • หมายเหตุ (Comment) เพื่อให้สามารถพิมพ์ข้อความที่ต้องการ อาจเป็นข้อความ ที่ใช้อธิบายจุดประสงค์ของเอกสาร เป็นต้น จะมีหรือไม่มีก็ได้ เช่นเดียวกันกับบรรทัดว่าง ตัวประมวลผลของ XML จะข้ามและไม่นำหมายเหตุมาประมวลผล

2. ส่วนที่สอง (Document element)

ในส่วนที่สองเรียกว่า Document element หรือ Root element ซึ่งสามารถบรรจุ Element เพื่อเติม ในเอกสาร XML ได้ ในเอกสาร XML นั้น Element จะแสดงลักษณะโครงสร้างของเอกสาร และแสดงส่วนประกอบของเนื้อหาเอกสารอยู่ภายใน จากรูปที่ 4 เป็นตัวอย่างของการ %%% ข้อมูลใน Book Element ซึ่งประกอบด้วย TITLE, AUTHOR, PRICE

Element

สัญลักษณ์ Element ประกอบด้วยแท๊กเริ่มต้น (Start-tag), เนื้อหาภายใน Element และแท๊กปิดท้าย (End-tag) เนื้อหาภายใน Element สามารถ %%% ข้อมูลหรือ Element อื่นๆ ที่ซ้อนอยู่ภายในหรือทั้งสองแบบ

รูปที่ 5 แสดงส่วนประกอบของ Element

จากรูปที่ 4 จะเห็นว่า Document Element คือ INVENTORY ซึ่งเริ่มต้นแท๊กด้วย <INVENTORY> และปิดท้ายด้วยแท๊ก </INVENTORY> ส่วน %%% ภายใน คือ BOOK Element
ใน BOOK Element แต่ละส่วน สามารถมีชุด Element ซ้อนไว้ภายในได้อีก

Attributes

ลักษณะของการกำหนด Attributes ในเอกสาร XML จะมีลักษณะเดียวกับ HTML โดยมีการกำหนด Attribute ในส่วน Start-tag

Attributes ไม่ได้เป็นส่วนหนึ่งของข้อมูล แต่ถูกใช้เพื่อเป็นส่วนอธิบายเพิ่มเติมให้กับ Element แต่ละตัว ในเอกสาร HTML
<IMG SRC=”computer.gif”>
จะเห็นว่า SRC คือ Attributes ที่ถูกกำหนดขึ้นเพื่อใช้อธิบายให้กับ Element IMG

ในเอกสาร XML สามารถเขียนได้เป็น
<file type=”gif”>computer.gif</file>

ค่าของ Attributes จะอยู่ในเครื่องหมายคำพูด (“…”) จากตัวอย่าง File คือ Element หนึ่ง ซึ่งมี Attributes ชื่อ type ซึ่งเป็นส่วนอธิบายว่าไฟล์นี้ %%% เป็นชนิดใด ดังในตัวอย่าง มีรูปแบบเป็นรูปภาพ (type=”gif”)

ตัวอย่างการใช้งาน Element ร่วมกับ Attributes

แบบที่ 1 :
<person sex=”female”>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

แบบที่ 2 :
<person>
<sex>female</sex>
<firstname>Anna</firstname>
</person>

จากตัวอย่าง จะเห็นได้ว่า การสร้าง Element ไม่จำเป็นต้องใส่ Attributes ได้


กลับด้านบน