ทำไมต้องใช้ XML Schema?

XML Schema มีพลังมากกว่า DTD

XML Schema สนับสนุนชนิดข้อมูล

หนึ่งในความสามารถสำคัญที่สุดของ XML Schema คือการสนับสนุนชนิดข้อมูล

ผ่านการสนับสนุนชนิดข้อมูล:

  • สามารถเอาเอาเนื้อหาที่ยอมรับของเอกสารง่ายขึ้น
  • สามารถตรวจสอบความถูกต้องของข้อมูลง่ายขึ้น
  • สามารถทำงานร่วมกับข้อมูลจากฐานข้อมูลง่ายขึ้น
  • สามารถกำหนดข้อจำกัดข้อมูล (data facets) ง่ายขึ้น
  • สามารถกำหนดโมเดลข้อมูล (หรือรูปแบบข้อมูล) ง่ายขึ้น
  • สามารถเปลี่ยนแปลงข้อมูลระหว่างชนิดข้อมูลต่าง ๆ ง่ายขึ้น

หมายเหตุบรรณาธิการ:ข้อจำกัดข้อมูล หรือ facets คือศัพท์ใน XML Schema ประกอบ ซึ่งในภาษาไทยสามารถแปลว่า "หน้า" มีบทบาทในการจำกัดค่าที่ยอมรับของชนิดข้อมูล

XML Schema ใช้ภาษา XML

หนึ่งในคุณสมบัติสำคัญของ XML Schema คือ มันเขียนด้วย XML

มีประโยชน์มากมายจากการเขียน XML Schema ด้วย XML:

  • ไม่จำเป็นต้องเรียนภาษาใหม่
  • สามารถใช้ XML เอดิเตอร์เพื่อแก้งแบบแฟ้ม Schema
  • สามารถใช้ XML พาร์เซอร์เพื่อแก้งแบบแฟ้ม Schema
  • สามารถจัดการ Schema ผ่าน XML DOM
  • สามารถเปลี่ยนแปลง Schema ผ่าน XSLT

XML Schema สามารถปกป้องการสื่อสารข้อมูล

เมื่อข้อมูลถูกส่งจากผู้ส่งไปยังผู้รับ ความสำคัญคือทั้งสองฝ่ายควรมี "ความหวัง" ที่เหมือนกันเกี่ยวกับเนื้อหา

ผ่าน XML Schema ผู้ส่งสามารถเอาเอาข้อมูลในรูปแบบที่ผู้รับสามารถเข้าใจได้

ข้อมูลที่เป็นชนิดหนึ่ง เช่น "03-11-2004" อาจถูกอ่านในประเทศบางแห่งว่าเป็นวันที่ 11 มีนาคม และในประเทศอื่นอาจถูกอ่านว่าเป็นวันที่ 3 มีนาคม

แต่องค์ประกอบ XML ที่มีชนิดข้อมูล อย่างเช่น:<date type="date">2004-03-11</date> สามารถให้ความเข้าใจสำหรับเนื้อหาที่สม่ำสมอได้ นี้เพราะรูปแบบข้อมูล "date" ของ XML ต้องการรูปแบบ "YYYY-MM-DD"

XML Schema สามารถขยายได้

XML Schema สามารถขยายได้ เพราะมันเขียนด้วย XML

ผ่านการกำหนดเซ็กเกียมที่สามารถขยายได้ คุณสามารถทำได้:

  • ในเซ็กเกียมอื่น คุณสามารถใช้เซ็กเกียมของคุณอีกครั้ง
  • สร้างประเภทข้อมูลของตัวเองที่ยืมมาจากประเภทมาตรฐาน
  • การอ้างอิง Schema หลายตัวในเอกสารเดียวกัน

ความถูกต้องทางรูปแบบนั้นไม่เพียงพอ

เราเรียกเอกสารที่ตรงกับภาษา XML ว่าเอกสาร XML ที่มีความถูกต้องทางรูปแบบ ตัวอย่าง:

  • มันต้องเริ่มต้นด้วยการประกาศ XML
  • มันต้องมีองค์ประกอบเดียวที่เด่นที่สุด
  • แท็กเริ่มต้นต้องตรงกับแท็กสิ้นสุด
  • ตัวองค์ประกอบนั้นมีความสำคัญต่อการเขียนใหญ่หรือเล็ก
  • ตัวองค์ประกอบทุกตัวต้องปิด
  • ตัวองค์ประกอบทุกตัวต้องถูกทำตามโครงสร้างถูกต้อง
  • ต้องใช้ entity สำหรับตัวอักษรพิเศษ

แม้ว่าเอกสารจะมีรูปแบบที่ดี แต่ก็ไม่สามารถประกันว่ามันไม่มีข้อผิดพลาด และข้อผิดพลาดเหล่านี้อาจก่อให้เกิดผลกระทบรุนแรง

โปรดพิจารณาสถานการณ์ด้านล่าง: คุณสั่งซื้อล็อกเกอร์ปริ้นเตอร์ 5 หลัง แต่ไม่ใช่ 5 เครื่อง ผ่าน XML Schema ความผิดพลาดเช่นนี้จะถูกยังครับโดยโปรแกรมการชี้แจงของคุณ