XML Tutorial

XML หน้าแรก บทนำ XML XML วิธีใช้งาน XML Tree ไวยากรณ์ XML องค์ประกอบ XML คุณสมบัติ XML XML เนมสเปซ จอแสดงผล XML XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink เครื่องมือตรวจสอบ XML XML DTD XML Schema XML Server ตัวอย่าง XML แบบทดสอบ XML ใบรับรอง XML

XML AJAX

บทนำ AJAX AJAX XMLHttp คำขอ AJAX การตอบสนอง AJAX ไฟล์ AJAX XML AJAX PHP AJAX ASP ฐานข้อมูล AJAX แอปพลิเคชัน AJAX ตัวอย่าง AJAX

XML DOM

บทนำ DOM โหนด DOM การเข้าถึง DOM ข้อมูลโหนด DOM รายการโหนด DOM DOM Traversing การนำทาง DOM DOM รับค่า DOM เปลี่ยนโหนด DOM ลบโหนด DOM แทนที่โหนด DOM สร้างโหนด DOM เพิ่มโหนด DOM โคลนโหนด ตัวอย่าง DOM

บทช่วย สอนXPath

บทนำ XPath โหนด XPath ไวยากรณ์ XPath แกน XPath ตัวดำเนินการ XPath ตัวอย่าง XPath

กวดวิชาXSLT

บทนำ XSLT ภาษา XSL การแปลง XSLT XSLT <แม่แบบ> XSLT <ค่าของ> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <เลือก> ใช้ XSLT XSLT บนไคลเอนต์ XSLT บนเซิร์ฟเวอร์ XSLT แก้ไข XML ตัวอย่าง XSLT

กวดวิชาXQuery

บทนำ XQuery ตัวอย่าง XQuery XQuery FLWOR XQuery HTML ข้อกำหนด XQuery ไวยากรณ์ XQuery XQuery เพิ่ม XQuery Select ฟังก์ชัน XQuery

XML DTD

บทนำ DTD บล็อกตัวต่อ DTD องค์ประกอบ DTD คุณสมบัติ DTD องค์ประกอบ DTD เทียบกับ Attr หน่วยงาน DTD ตัวอย่าง DTD

ส คีมา XSD

บทนำ XSD XSD วิธีการ XSD <schema> องค์ประกอบ XSD แอตทริบิวต์ XSD ข้อจำกัด XSD

XSD Complex

องค์ประกอบ XSD XSD ว่างเปล่า องค์ประกอบ XSD เท่านั้น XSD Text เท่านั้น XSD ผสม ตัวชี้วัด XSD XSD <ใด ๆ> XSD <anyAttribute> การทดแทน XSD XSD ตัวอย่าง

ข้อมูลXSD

XSD สตริง วันที่ XSD XSD ตัวเลข XSD เบ็ดเตล็ด ข้อมูลอ้างอิง XSD

บริการเว็บ

XML Services XML WSDL XML SOAP XML RDF XML RSS

อ้างอิง

ประเภทโหนด DOM โหนด DOM DOM NodeList DOM NamedNodeMap เอกสาร DOM องค์ประกอบ DOM แอตทริบิวต์ DOM ข้อความ DOM DOM CDATA ความคิดเห็นของ DOM DOM XMLHttpRequest DOM Parser องค์ประกอบ XSLT ฟังก์ชัน XSLT/XPath

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 ซอฟต์แวร์ตรวจสอบความถูกต้องของคุณสามารถตรวจจับข้อผิดพลาดเหล่านี้ส่วนใหญ่ได้