อัปเดตล่าสุด: 25 มี.ค., 2025

Title - XML คืออะไร: คู่มือที่ครอบคลุม

XML คืออะไร?

XML (Extensible Markup Language) เป็นภาษาและรูปแบบไฟล์ที่ใช้สำหรับจัดเก็บ, ส่งผ่าน, และสร้างข้อมูลขึ้นใหม่ มันให้วิธีการที่มีโครงสร้างในการเข้ารหัสข้อมูล ทำให้สามารถอ่านได้ทั้งโดยมนุษย์และเครื่องจักร

คุณสมบัติหลักของ XML

1. ถูกกำหนดมาตรฐานแบบเปิด

  • ก่อตั้งโดย World Wide Web Consortium (W3C) ในปี 1998 ภายใต้ XML 1.0 Specification
  • ปฏิบัติตามกฎเข้มงวดเพื่อให้แน่ใจว่าข้อมูลนั้นมีโครงสร้างและง่ายต่อการตีความ

2. เป้าหมายการออกแบบ

  • XML ถูกออกแบบด้วยความ เรียบง่าย, ความทั่วไป, และความสามารถในการใช้ ข้ามแพลตฟอร์มต่าง ๆ
  • ใช้ รูปแบบข้อความ, ทำให้อ่านและแก้ไขได้ง่าย

3. สนับสนุน Unicode

  • XML สนับสนุน Unicode, ทำให้สามารถจัดเก็บและประมวลผลข้อความในหลายภาษาต่าง ๆ

4. ความหลากหลาย

  • ในตอนแรกสร้างขึ้นสำหรับเอกสาร, XML ปัจจุบันถูกใช้อย่างแพร่หลายสำหรับการแสดงข้อมูลในหลายโดเมน, รวมถึง เว็บเซอร์วิส, API, และ ไฟล์การกำหนดค่า

5. Schema และ API

  • โครงสร้างของ XML สามารถกำหนดได้โดยใช้ Document Type Definition (DTD), XML Schema (XSD), หรือ Relax NG
  • API ต่าง ๆ เช่น DOM (Document Object Model) และ SAX (Simple API for XML) ช่วยในการประมวลผล XML

6. การใช้งานทั่วไปของ XML

  • การแลกเปลี่ยนข้อมูล ระหว่างระบบต่าง ๆ (เช่น, เว็บเซอร์วิส, API)
  • ไฟล์การกำหนดค่า ในแอปพลิเคชันซอฟต์แวร์
  • จัดเก็บข้อมูลที่มีโครงสร้าง (เช่น, RSS ฟีด, กราฟิก SVG, รูปแบบเอกสารเช่น DOCX)
  • การพัฒนาเว็บ (เช่น, XHTML, SOAP, แอปพลิเคชันที่ใช้ AJAX)

ภาพรวมของ XML

1. วัตถุประสงค์หลักของ XML: Serialization

Serialization ใน XML หมายถึง:

  • จัดเก็บข้อมูล ในรูปแบบที่มีโครงสร้าง
  • ส่งผ่านข้อมูล ระหว่างระบบต่าง ๆ
  • สร้างใหม่ข้อมูล ในรูปแบบที่ใช้งานได้

เมื่อสองระบบต้องการแลกเปลี่ยนข้อมูล, XML ให้รูปแบบไฟล์ที่ได้มาตรฐานสำหรับการทำงานร่วมกัน มันทำหน้าที่เป็น “ภาษากลาง” สำหรับการแลกเปลี่ยนข้อมูลที่มีโครงสร้าง

2. XML ในฐานะภาษา Markup

XML เป็น ภาษา Markup, หมายถึง:

  • ติดป้ายข้อมูลด้วยแท็ก เพื่อให้โครงสร้างชัดเจน
  • จัดระเบียบข้อมูล เป็นลำดับชั้น
  • จัดประเภทข้อมูล ด้วย metadata

ตัวอย่าง:

<book>
    <title>XML Basics</title>
    <author>John Doe</author>
</book>

ที่นี่, <book>, <title>, และ <author> เป็น แท็ก ที่กำหนดองค์ประกอบของข้อมูล

3. XML Schema (XSD) และการตรวจสอบความถูกต้อง

XML Schema (XSD) กำหนดกฎโครงสร้างสำหรับเอกสาร XML

เอกสาร XML สามารถเป็น:

  • Well-formed → ปฏิบัติตามกฎหลักของไวยากรณ์ (การซ้อนกันที่ถูกต้อง, แท็กปิดครบถ้วน)
  • Valid → สอดคล้องกับกฎ schema (องค์ประกอบบังคับ, ชนิดข้อมูลที่ถูกต้อง)

ตัวอย่างของกฎ XSD:

<xs:element name="title" type="xs:string"/>

นี่ก็คือ กำหนดให้ <title> ต้องมีค่าประเภท string

4. XML Media Types (RFC 7303)

IETF RFC 7303 กำหนดประเภทสื่อของ XML สำหรับการส่งข้อมูล:

  • application/xml → ข้อมูล XML มาตรฐาน
  • application/xml-external-parsed-entity → เอนทิตี XML ที่ถูกแยกวิเคราะห์
  • application/xml-dtd → เอกสาร XML DTD

สำหรับรูปแบบที่อิง XML, จะใช้คำนำหน้า +xml (เช่น, image/svg+xml สำหรับภาพ SVG)

5. XML ในแอปพลิเคชันแบบเครือข่าย (RFC 3470 / IETF BCP 70)

IETF BCP 70 (RFC 3470) ได้กำหนดแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ XML ใน แอปพลิเคชันที่อิงเครือข่าย, เพื่อให้แน่ใจว่าการทำงานร่วมกันของข้อมูล ได้อย่างราบรื่น ข้ามระบบ


1. การใช้งานของ XML

XML เป็นภาษาที่มีความยืดหยุ่นออกแบบมาเพื่อ การแลกเปลี่ยนข้อมูลผ่านอินเทอร์เน็ต ไวยากรณ์ของมันได้มีอิทธิพลอย่างมากต่อรูปแบบเอกสารและโพรโทคอลการสื่อสารหลาย ๆ แบบ ทำให้กลายเป็นเทคโนโลยีสำคัญในหลายอุตสาหกรรม

รูปแบบที่อิง XML ทั่วไป:

  • Web Feeds: RSS, Atom
  • เอกสารสำนักงาน: Office Open XML, OpenDocument
  • กราฟิกและโมเดล 3D: SVG, COLLADA
  • เทคโนโลยีเว็บ: XHTML
  • โพรโทคอลการแลกเปลี่ยนข้อมูล: SOAP, XMPP
  • AJAX: ใช้ XML สำหรับการแลกเปลี่ยนข้อมูลแบบอะซิงโครนัส

มาตรฐานอุตสาหกรรมที่ใช้ XML:

  • การแพทย์: HL7 (Health Level 7)
  • อุตสาหกรรมการท่องเที่ยว: OpenTravel Alliance
  • การเงิน: FpML (Financial products Markup Language)
  • อสังหาริมทรัพย์และการจำนอง: MISMO
  • การแลกเปลี่ยนข้อมูลรัฐบาล: National Information Exchange Model

XML ในวิทยาศาสตร์:

ในอุตุนิยมวิทยา, XML ถูกใช้สำหรับ การแสดงข้อมูลสภาพอากาศปฏิบัติการ ตามมาตรฐาน IWXXM ในทำนองเดียวกัน Darwin Information Typing Architecture (DITA) เป็นมาตรฐาน XML ที่ใช้อย่างแพร่หลายในด้านการพิมพ์


2. คำศัพท์สำคัญใน XML

การเข้าใจคำศัพท์หลักใน XML เป็นสิ่งสำคัญสำหรับการทำงานกับเอกสาร XML อย่างมีประสิทธิภาพ

อักษร

เอกสาร XML เป็นลำดับของ อักขระ Unicode XML 1.1 อนุญาตให้อักษระ Unicode เกือบทั้งหมด ยกเว้น อักขระ Null (U+0000) ที่ถูกห้ามอย่างเข้มงวด

โปรเซสเซอร์และแอปพลิเคชัน

  • โปรเซสเซอร์ XML (หรือพาร์เซอร์) อ่านและวิเคราะห์ XML markup
  • แอปพลิเคชัน รับข้อมูลที่มีโครงสร้างจากโปรเซสเซอร์และปฏิบัติการกับข้อมูลนั้น

Markup และเนื้อหา

XML แบ่งอักขระออกเป็น markup และเนื้อหา:

  • Markup: รวมถึงองค์ประกอบ, แอตทริบิวต์ และเอนทิตี (เช่น <tag> และ &amp;)
  • เนื้อหา: ข้อมูลที่อยู่ภายในองค์ประกอบ
  • ส่วน CDATA: อนุญาตข้อความที่ไม่ควรถูกวิเคราะห์เป็น markup, บรรจุภายใน <![CDATA[ ... ]]>

แท็กและองค์ประกอบ

  • แท็ก: โครงสร้าง markup ที่ปิดล้อมด้วย < >
    • <section> (Start-tag)
    • </section> (End-tag)
    • <line-break /> (Empty-element tag)
  • องค์ประกอบ: ส่วนประกอบลอจิกที่กำหนดโดยแท็ก
    • ตัวอย่าง: <greeting>Hello, world!</greeting>

แอตทริบิวต์

แอตทริบิวต์ให้ metadata สำหรับองค์ประกอบโดยใช้คู่ชื่อ-ค่า ตัวอย่าง:

<img src="image.jpg" alt="Description" />
  • src="image.jpg" และ alt="Description" เป็นแอตทริบิวต์ขององค์ประกอบ <img>

3. อักขระและการหลบหลีกใน XML

อักขระ Unicode ที่ถูกต้องใน XML

เอกสาร XML อนุญาตให้อักขระ Unicode ที่เฉพาะเจาะจงได้เท่านั้น เพื่อให้แน่ใจว่าการวิเคราะห์เรียบร้อย

อักขระที่อนุญาตใน XML 1.0:

  • อักขระควบคุม:
    • U+0009 (Tab)
    • U+000A (Line Feed)
    • U+000D (Carriage Return)
  • อักขระข้อความ:
    • U+0020–U+D7FF
    • U+E000–U+FFFD
    • U+10000–U+10FFFF

การปรับปรุงใน XML 1.1:

  • อนุญาตให้อักขระควบคุม U+0001–U+001F ทั้งหมด แต่ต้อง หลบหลีก อักขระเหล่านั้น
  • U+0000 (อักขระ Null) ยังคงถูกห้าม

4. การเข้ารหัสใน XML

การเข้ารหัส XML ที่ใช้บ่อย:

XML สนับสนุน การเข้ารหัสที่อิง Unicode, รวมถึง:

  • UTF-8 (แนะนำให้ใช้เป็นค่าเริ่มต้น)
  • UTF-16 (ต้องสนับสนุนโดยพาร์เซอร์ XML ทั้งหมด)
  • ASCII, ISO-8859-X (การเข้ารหัสแบบดั้งเดิม)

การประกาศการเข้ารหัสใน XML:

ส่วนหัวของ XML สามารถระบุการเข้ารหัสได้:

<?xml version="1.0" encoding="UTF-8"?>
  • หากไม่ได้ระบุการเข้ารหัส, จะถือว่าเป็น UTF-8
  • UTF-16 ต้องการ BOM (Byte Order Mark) เพื่อการตรวจจับที่ถูกต้อง

5. การหลบหลีกอักขระพิเศษใน XML

เนื่องจากไวยากรณ์ XML สงวนอักขระบางอย่างไว้, อักขระเหล่านี้ ต้องถูกหลบหลีก เพื่อหลีกเลี่ยงการขัดแย้งกัน

เอนทิตี XML ที่กำหนดไว้ล่วงหน้า:

อักขระรูปแบบหลบหลีกตัวอย่าง
< (น้อยกว่า)&lt;I &lt;3 XMLI <3 XML
> (มากกว่า)&gt;x &gt; yx > y
& (แอมเพอร์แซนด์)&amp;AT&amp;TAT&T
' (อัญประกาศเดี่ยว)&apos;"O&apos;Reilly"O’Reilly
" (อัญประกาศคู่)&quot;She said &quot;hello&quot;She said “hello”

การอ้างอิงอักขระตัวเลข:

สำหรับอักขระพิเศษที่ ไม่สามารถพิมพ์ได้, ใช้อ้างอิงตัวเลข:

  • Decimal:
    &#20013;  <!-- อักขระจีน "中" -->
    
  • Hexadecimal:
    &#x4E2D;  <!-- อักขระจีน "中" -->
    
  • ตัวอย่าง:
    <message>I &lt;3 J&#xF6;rg</message>
    
    แสดงผลเป็น: I <3 Jörg

การจัดการข้อมูลแบบไบนารี:

XML ไม่สนับสนุนข้อมูลไบนารีดิบ ดังนั้น ใช้ Base64 encoding


6. คอมเมนต์ใน XML

ไวยากรณ์คอมเมนต์ใน XML:

<!-- นี่คือคอมเมนต์ XML ที่ถูกต้อง -->

กฎสำหรับคอมเมนต์ใน XML:

  • ไม่สามารถปรากฏก่อนการประกาศ XML.
  • ไม่สามารถมี -- (ขีดคู่) ภายในคอมเมนต์.
  • การอ้างอิงเอนทิตีจะถูกละเว้นในคอมเมนต์.

ตัวอย่าง:

<!-- นี่คือคอมเมนต์ที่มีสัญลักษณ์ < และ & -->

บทสรุป

XML เป็นเทคโนโลยีที่จำเป็นสำหรับการแลกเปลี่ยนข้อมูลที่มีโครงสร้าง, ขับเคลื่อน Web Feeds, เอกสารสำนักงาน, ข้อมูลวิทยาศาสตร์, และมาตรฐานอุตสาหกรรม การทำความเข้าใจ คำศัพท์หลักของ XML, กฎการเข้ารหัส, และกลไกการหลบหลีก ช่วยให้มั่นใจว่าเอกสาร XML ที่ถูกกำหนดโครงสร้างถูกต้องทำงานได้อย่างถูกต้องในระบบต่าง ๆ

ด้วยการปฏิบัติตามแนวปฏิบัติที่ดีที่สุดใน การเข้ารหัสและการหลบหลีก, นักพัฒนาสามารถ หลีกเลี่ยงข้อผิดพลาดในการวิเคราะห์และมั่นใจในความเข้ากันได้ ในแอปพลิเคชันที่ใช้ XML.