GORAGOD.com

freelance, web developer, web designer, hosting, domain name

XML คืออะไร (ตอนที่ 2)

โครงสร้างของเอกสาร XML

1. The Prolog
- โครงสร้างส่วนแรกของเอกสาร XML เรียกว่า prolog เป็น optional (มีหรือไม่มีก็ได้) ใน prolog เองมีองค์ประกอบอีก 2 ส่วนคือ XML declaration และ document type declaration
    * XML Declaration - เป็นกาารระบุ version ของ XML specification ซึ่งควรประกาศไว้เสมอ และยังอาจประกอบด้วย encoding declaration เพื่อระบุแบบแผนการเข้ารหัสตัวอักษร เช่น UTF-8 เป็น default character encoding scheme เป็นตัวแทนของตัวอักษรส่วนใหญ่ในภาษาอังกฤษรวมถึงภาษาไทยด้วย
    * Document Type Declaration - ประกอบด้วย markup code ที่กำหนดกฎการเขียนหรือ Document Type Difinition (DTD) 
2. The Document Element - เป็นส่วนของ content จริงๆ document element เป็น single element ที่สามารถประกอบด้วย subelements และ external entities ไม่จำกัดจำนวน กล่าวอีกนัยหนึ่ง Document element ก็คือ root element ของเอกสารนั่นเอง 

element จะประกอบด้วย tag เปิด ข้อมูล และ tag ปิด

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "note.dtd">

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

2 บรรทัดแรกในตัวอย่างคือส่วนของ prolog เพื่อกำหนดชนิดของเอกสาร เช่น version ของเอกสาร คือเวอร์ชั่น 1.0 และ encoding หรือการกำหนดภาษาของเอกสาร ซี่งกำหนดเป็น UTF-8 และเป็นเอกสารตามข้อกำหนดของ DTD

ส่วนต่อมาตั้งแต่ <note> จนถึง </note> คือ element ซึ่งจะเป็นโหนดราก (root node) ของเอกสาร โดยจะมี โหนดลูก (child node) หรือข้อมูล อีก 4 บรรทัด คือ <to> <from> <heading> และ <detail>

ทุก element ต้องมี tag ปิด เป็นชื่อเดียวกับ tag เปิด เช่น <note>.....</note> แต่หากไม่มีข้อมูลภายใน tag สามารถใช้ / ปิด tag แทนได้ เช่น <note>...</note> และ <note /> มีความหมายเหมือนกัน

element ต่างๆ ต้องถูกบรรจุอยู่ใน element อย่างถูกต้อง ไม่สามารถวางคร่อม element ได้ เช่น

<root>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<detail>Don't forget me this weekend!</root>
</detail>

แบบนี้ถือว่าไม่ถูกต้อง

tag สนใจขนาดของตัวอักษร ด้วย ตัวอักษรพิมพ์ใหญ่-พิมพ์เล็ก คือคนละตัวกัน เช่น <note> คนละตัวกันกับ <Note> ดังนั้น tag เปิด และ ปิด ให้ระมัดระวังเรื่องขนาดตัวอักษรด้วย แนะนำให้ใช้ตัวพิมพ์เล็กกับชื่อ tag

เอกสาร XML ต้องมี โหนดราก (root element) เสมอ

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

<root>...</root> คือ root element

ค่าของ Attributes ของ XML ต้องอยู่ในเครื่องหมาย "(อัญประกาศ) เสมอ

<?xml version="1.0" encoding="ISO-8859-1"?>
<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
</note>

date คือ attribute ของ tag note มี value คือ 12/11/2002

หมายเหตุ ใน XML เหมือนกับ HTML
<!-- This is a comment -->
0SHAREFacebookLINE it!
^