เอกซ์เอ็มแอล
จากวิกิพีเดีย สารานุกรมเสรี
เอกซ์เอ็มแอล (XML) ย่อมาจาก Extensible Markup Language ซึ่งเป็นภาษามาร์กอัปสำหรับการใช้งานทั่วไป พัฒนาโดยW3C โดยมีจุดประสงค์เพื่อเป็น สิ่งที่เอาไว้ติดต่อกันในระบบที่มีความแตกต่างกัน(เช่นใช้คอมพิวเตอร์มี่มีระบบปฏิบัติการคนละตัว หรืออาจจะเป็นคนละโปรแกรมประยุกต์ที่มีความต้องการสื่อสารข้อมูลถึงกัน)นอกจากนี้ยังเพื่อเป็นพื้นฐานในการสร้างภาษามาร์กอัปเฉพาะทางอีกขั้นหนึ่ง XML พัฒนามาจาก SGML โดยดัดแปลงให้มีความซับซ้อนลดน้อยลง XML ใช้ในแลกเปลี่ยนข้อมูลระหว่างเครื่องคอมพิวเตอร์ที่แตกต่างกัน และเน้นการแลกเปลี่ยนข้อมูลผ่านอินเทอร์เน็ต
XML ยังเป็นภาษาพื้นฐานให้กับภาษาอื่นๆ อีกด้วย (ยกตัวอย่างเช่น Geography Markup Language (GML), RDF/XML, RSS, MathML, Physical Markup Language (PML), XHTML, SVG, MusicXML และ cXML) ซึ่งอนุญาตให้โปรแกรมแก้ไขและทำงานกับเอกสารโดยไม่จำเป็นต้องมีความรู้ในภาษานั้นมาก่อน
สารบัญ |
[แก้] เอกสาร XML
เอกสาร XML จะเป็นอะไรก็ได้อาจเป็น ฟิสิคอลไฟล์ใน Hard Disk ของคุณหรือเป็นแค่สายอักขระในหน่วยความจำหลักในเครื่องของคุณก็ได้ เพราะโดยเนื้อแท้แล้วเอกสาร XML มีความประสงค์ที่จะให้เอาไว้ติดต่อสื่อสารกัน
XML เป็นภาษาที่ไม่มีรูปแบบโครงสร้างที่กำหนดไว้ล่วงหน้าใดๆเลย นี้เป็นข้อดีของมันเพราะมันทำให้ โปรแกรมประยุกต์ใดๆก็ได้สามารถใช้งานมันได้โดยข้อกำหนดที่ได้ตกลงกันไว้ล่วงหน้า ถึงแม้ว่า XML ไม่มีข้อกำหนดล่วงหน้าถึงโครงสร้างข้อมูลต่างๆแต่ก็มีรูปแบบที่เป็นที่ตกลงกัน ดังนี้
[แก้] Element
ประกอบไปด้วย แทกเปิด ข้อมูล และแทกปิด ยกตัวอย่างเช่น
<student> Example_sudent </student>
ในที่นี้ <student> คือแทกเปิด Example_sudentคือข้อมูล และ </student> คือแทกปิด โดยแทกปิดนั้นจะต้องมีชื่อเหมือนแทกเปิดของมันแต่ตามหลังจากเครื่องหมาย '/' จะสังเกตได้ว่า XML นั้นคล้ายกับ HTML เป็นอย่างมากสำหรับข้อแตกต่างที่ชัดเจนคือ HTML ได้กำหนดแทกไว้ล่วงหน้าแล้วแต่ XML ไม่ใครๆก็สามารถกำหนดแทกของเราเองได้ XML นั้นไม่ใช่ภาษาโดยสมบูรณ์มันเป็นมาตรฐานข้อมูลมากกว่า โดยตัวโปรแกรมประยุกต์จะเป็นผู้กำหนดรูปแบบของตัวเองขึ้นและจะสามารถใช้ได้กับโครงสร้างข้อมูลที่ถูกอนุญาติ(เพราะว่ามีรูปแบบของข้อมูลที่เข้ากันได้) XML นั้นเป็นภาษาที่ case sensitive ดังนั้นการที่เราเขียนว่า <student> กับ <Student> จึงถือว่าเป็นคนละแทกกัน นอกจากนี้แล้ว element ใน XML สามารถบรรจุอยู่ใน element อื่นๆได้ยกตัวอย่างเช่น
<student>
<name>example name</name>
<id>123456789</id>
</student>
จะเห็นว่า element <name> บรรจุอยู่ภายใน element <student> element ไม่สามารถคร่อมกันได้แต่สามารถมี element ว่างได้ เช่น
<student>
<name>example name
<id></name>123456789</id>
</student>
แบบนี้ถือว่าไม่ถูกต้อง
แต่สามารถมี element ว่างแบบนี้ได้
<book></book>
นอกจากนี้ยังมีข้อยกเว้นสำหรับแทกว่างจะเป็นแทกที่ไม่ต้องมีแทกปิดได้โดยสามารถเขียน
<book / >
ซึ่งมีความหมายเหมือนกับด้านบนได้
[แก้] Attribute
นอกจากแทกแล้วยังมี สิ่งที่เรียกว่า attribute ด้วยโดยที่มีรูปแบบดังนี้
<student name="example_name"></student>
<student name='example_name'></student>
จะเห็นว่าทั้นสองแบบมีความเหมือนกันแตกต่างกันเล็กน้อยคือใช้เครื่องหมาย " กับ ' ซึ่งสามารถใช้ได้ทั้งคู่
[แก้] การประกาศ XML
ส่วนต่างๆของ XML คือ node
node ที่ปรากฎบน XML ทุกฉบับคือ การประกาศ Declaration ซึ่งมีลักษณะเหมือน แทกแต่มีเครื่องหมาย ? อยู่ด้วย โดยในเอกสาร XML จะต้องมี node นี้ทุกฉบับ
<?xml version = "1.0" ?>
[แก้] โครงสร้างของเอกสาร XML
ถูกกำหนดขึ้นโดยลำดับชั้น โดยเอกสารใดๆนั้นต้องมี root element เสมอเช่น
<?xml version = "1.0" ?>
<student>
<name>example name</name>
<id>123456789</id>
</student>
[แก้] การตรวจสอบความถูกต้องของ XML
ความถูกต้องของ XML แบ่งเป็น 2 ระดับ
- Well-formed เอกสารที่ well-formed คือใช้ syntax ของ XML ถูกต้องตามมาตรฐานทุกอย่าง เอกสารที่ไม่ well-formed ถือว่าไม่เป็น XML
- Valid นอกจาก well-formed แล้ว เอกสารที่ valid ยังต้องใช้แท็ก XML ที่กำหนดเฉพาะใน schema ที่ตกลงกันไว้เท่านั้น ปัจจุบันมี schema ที่นิยม 3 ตัว คือ Document Type Definition (DTD), XML Schema (WXS) และ RELAX NG