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 DTD


เอกสาร XML ที่มีไวยากรณ์ที่ถูกต้องเรียกว่า "Well Formed"

เอกสาร XML ที่ตรวจสอบกับ DTD มีทั้ง "รูปแบบที่ดี" และ "ถูกต้อง"


DTD คืออะไร?

DTD ย่อมาจาก Document Type Definition

DTD กำหนดโครงสร้างและองค์ประกอบทางกฎหมายและแอตทริบิวต์ของเอกสาร XML


เอกสาร XML ที่ถูกต้อง

เอกสาร XML ที่ "ถูกต้อง" คือ "มีรูปแบบที่ดี" และเป็นไปตามกฎของ DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

การประกาศ DOCTYPE ด้านบนมีการอ้างอิงถึงไฟล์ DTD เนื้อหาของไฟล์ DTD แสดงและอธิบายไว้ด้านล่าง


XML DTD

วัตถุประสงค์ของ DTD คือการกำหนดโครงสร้างและองค์ประกอบทางกฎหมายและคุณลักษณะของเอกสาร XML:

หมายเหตุ.dtd:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

DTD ด้านบนถูกตีความดังนี้:

  • !DOCTYPE note - กำหนดว่าองค์ประกอบรูทของเอกสารคือ note
  • !ELEMENT note - กำหนดว่าองค์ประกอบโน้ตต้องมีองค์ประกอบ: "to, from, heading, body"
  • !ELEMENT to - กำหนดองค์ประกอบ to ให้เป็นประเภท "#PCDATA"
  • !ELEMENT from - กำหนดองค์ประกอบจากให้เป็นประเภท "#PCDATA"
  • !ELEMENT ส่วนหัว - กำหนดองค์ประกอบส่วนหัวให้เป็นประเภท "#PCDATA"
  • !ELEMENT body - กำหนดองค์ประกอบเนื้อหาให้เป็นประเภท "#PCDATA"

เคล็ดลับ: #PCDATA หมายถึงข้อมูลอักขระที่แยกวิเคราะห์ได้



การใช้ DTD สำหรับการประกาศนิติบุคคล

การประกาศ DOCTYPE ยังสามารถใช้เพื่อกำหนดอักขระพิเศษหรือสตริงที่ใช้ในเอกสาร:

ตัวอย่าง

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note [
<!ENTITY nbsp "&#xA0;">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer;&nbsp;&copyright;</footer>
</note>
ลองด้วยตัวคุณเอง »

เคล็ดลับ:เอนทิตีมีสามส่วน: เริ่มต้นด้วยเครื่องหมายและ (&) จากนั้นมาชื่อเอนทิตี และสิ้นสุดด้วยเครื่องหมายอัฒภาค (;)


เมื่อใดควรใช้ DTD

ด้วย DTD กลุ่มคนที่เป็นอิสระสามารถตกลงที่จะใช้ DTD มาตรฐานสำหรับการแลกเปลี่ยนข้อมูล

ด้วย DTD คุณสามารถตรวจสอบว่าข้อมูลที่คุณได้รับจากโลกภายนอกนั้นถูกต้อง

คุณยังสามารถใช้ DTD เพื่อตรวจสอบข้อมูลของคุณเองได้

หากคุณต้องการเรียน DTD โปรดอ่าน บทช่วย สอน DTDของ เรา


เมื่อไม่ใช้ DTD?

XML ไม่ต้องการ DTD

เมื่อคุณกำลังทดลองกับ XML หรือเมื่อคุณทำงานกับไฟล์ XML ขนาดเล็ก การสร้าง DTD อาจทำให้เสียเวลา

หากคุณพัฒนาแอปพลิเคชัน ให้รอจนกว่าข้อกำหนดจะเสถียรก่อนที่คุณจะเพิ่ม DTD มิฉะนั้น ซอฟต์แวร์ของคุณอาจหยุดทำงานเนื่องจากข้อผิดพลาดในการตรวจสอบความถูกต้อง