XML Schema Tutorial
XML Schema คืออะไร?
XML Schema อธิบายโครงสร้างของเอกสาร XML
ภาษา XML Schema ยังเรียกว่า XML Schema Definition (XSD)
XSD ตัวอย่าง
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
วัตถุประสงค์ของ XML Schema คือการกำหนดโครงสร้างทางกฎหมายของเอกสาร XML:
- องค์ประกอบและคุณลักษณะที่สามารถปรากฏในเอกสาร
- จำนวน (และลำดับของ) องค์ประกอบย่อย
- ชนิดข้อมูลสำหรับองค์ประกอบและคุณลักษณะ
- ค่าเริ่มต้นและค่าคงที่สำหรับองค์ประกอบและแอตทริบิวต์
ทำไมต้องเรียนรู้ XML Schema?
ในโลกของ XML มีการใช้รูปแบบ XML มาตรฐานหลายร้อยรูปแบบในแต่ละวัน
มาตรฐาน XML เหล่านี้จำนวนมากถูกกำหนดโดย XML Schema
XML Schema เป็นทางเลือกแทน DTD ที่ใช้ XML (และมีประสิทธิภาพมากกว่า)
XML Schema รองรับประเภทข้อมูล
จุดแข็งที่ยิ่งใหญ่ที่สุดของ XML Schema คือการรองรับประเภทข้อมูล
- อธิบายเนื้อหาเอกสารที่อนุญาตได้ง่ายขึ้น
- ง่ายต่อการตรวจสอบความถูกต้องของข้อมูล
- กำหนดแง่มุมข้อมูลได้ง่ายขึ้น (ข้อจำกัดของข้อมูล)
- กำหนดรูปแบบข้อมูลได้ง่ายขึ้น (รูปแบบข้อมูล)
- การแปลงข้อมูลระหว่างประเภทข้อมูลต่างๆ ทำได้ง่ายกว่า
XML Schema ใช้ XML Syntax
จุดแข็งที่ยอดเยี่ยมอีกประการหนึ่งเกี่ยวกับ XML Schema คือการเขียนในรูปแบบ XML
- ไม่ต้องเรียนภาษาใหม่
- คุณสามารถใช้ตัวแก้ไข XML เพื่อแก้ไขไฟล์ Schema
- คุณสามารถใช้ตัวแยกวิเคราะห์ XML เพื่อแยกวิเคราะห์ไฟล์ Schema
- คุณสามารถจัดการ Schema ของคุณด้วย XML DOM
- คุณสามารถแปลงสคีมาของคุณด้วย XSLT
XML Schema สามารถขยายได้ เนื่องจากเขียนด้วย XML
ด้วยคำจำกัดความ Schema ที่ขยายได้ คุณสามารถ:
- ใช้สคีมาของคุณซ้ำในสคีมาอื่น
- สร้างประเภทข้อมูลของคุณเองที่ได้มาจากประเภทมาตรฐาน
- อ้างอิงสคีมาหลายรายการในเอกสารเดียวกัน
XML Schema การสื่อสารข้อมูลที่ปลอดภัย
เมื่อส่งข้อมูลจากผู้ส่งไปยังผู้รับ จำเป็นที่ทั้งสองส่วนต้องมี "ความคาดหวัง" เหมือนกันเกี่ยวกับเนื้อหา
ด้วย XML Schema ผู้ส่งสามารถอธิบายข้อมูลในลักษณะที่ผู้รับจะเข้าใจ
วันที่เช่น: "03-11-2004" ในบางประเทศจะถูกตีความว่าเป็น 3.พฤศจิกายน และในประเทศอื่น ๆ เป็น 11.March
อย่างไรก็ตาม องค์ประกอบ XML ที่มีประเภทข้อมูลเช่นนี้
<date type="date">2004-03-11</date>
ช่วยให้เกิดความเข้าใจร่วมกันในเนื้อหา เนื่องจากประเภทข้อมูล XML "วันที่" ต้องใช้รูปแบบ "ปปปป-ดด-วว"
รูปร่างดีไม่พอ
เอกสาร XML ที่มีรูปแบบถูกต้องคือเอกสารที่สอดคล้องกับกฎไวยากรณ์ XML เช่น:
- ต้องขึ้นต้นด้วยการประกาศ XML
- จะต้องมีองค์ประกอบรูทที่ไม่ซ้ำกันหนึ่งรายการ
- start-tags ต้องมี end-tags ที่ตรงกัน
- องค์ประกอบจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- ต้องปิดองค์ประกอบทั้งหมด
- องค์ประกอบทั้งหมดจะต้องซ้อนกันอย่างถูกต้อง
- ค่าแอตทริบิวต์ทั้งหมดจะต้องยกมา
- ต้องใช้เอนทิตีสำหรับอักขระพิเศษ
แม้ว่าเอกสารจะมีรูปแบบที่ดี แต่ก็ยังมีข้อผิดพลาด และข้อผิดพลาดเหล่านั้นอาจมีผลร้ายแรง
ลองนึกถึงสถานการณ์ต่อไปนี้: คุณสั่งซื้อเครื่องพิมพ์เลเซอร์ทั้งหมด 5 เครื่อง แทนที่จะเป็นเครื่องพิมพ์เลเซอร์ 5 เครื่อง ด้วย XML Schema ซอฟต์แวร์ตรวจสอบความถูกต้องของคุณสามารถตรวจจับข้อผิดพลาดเหล่านี้ส่วนใหญ่ได้