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


กฎไวยากรณ์ของ XML นั้นเรียบง่ายและสมเหตุสมผล กฎต่างๆ นั้นง่ายต่อการเรียนรู้และใช้งานง่าย


เอกสาร XML ต้องมีองค์ประกอบราก

เอกสาร XML ต้องมี องค์ประกอบ รูท หนึ่ง องค์ประกอบที่เป็น พาเร นต์ ขององค์ประกอบอื่นๆ ทั้งหมด:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

ในตัวอย่างนี้<note>คือองค์ประกอบรูท:

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

XML Prolog

บรรทัดนี้เรียกว่า XML prolog :

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

บทนำ XML เป็นทางเลือก ถ้ามีต้องมาก่อนในเอกสาร

เอกสาร XML สามารถมีอักขระสากลได้ เช่น Norwegian øæå หรือ French êèé

เพื่อหลีกเลี่ยงข้อผิดพลาด คุณควรระบุการเข้ารหัสที่ใช้ หรือบันทึกไฟล์ XML ของคุณเป็น UTF-8

UTF-8 คือการเข้ารหัสอักขระเริ่มต้นสำหรับเอกสาร XML

การเข้ารหัสอักขระสามารถศึกษาได้ใน บทแนะนำชุดอักขระของ เรา

UTF-8 ยังเป็นการเข้ารหัสเริ่มต้นสำหรับ HTML5, CSS, JavaScript, PHP และ SQL



องค์ประกอบ XML ทั้งหมดต้องมีแท็กปิด

ใน XML การละเว้นแท็กปิดนั้นผิดกฎหมาย องค์ประกอบทั้งหมดต้องมีแท็กปิด:

<p>This is a paragraph.</p>
<br />

หมายเหตุ:โปรล็อก XML ไม่มีแท็กปิด! นี่ไม่ใช่ข้อผิดพลาด อารัมภบทไม่ได้เป็นส่วนหนึ่งของเอกสาร XML


แท็ก XML คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

แท็ก XML คำนึงถึงขนาดตัวพิมพ์ แท็ก <จดหมาย> แตกต่างจากแท็ก <จดหมาย>

แท็กเปิดและปิดจะต้องเขียนด้วยตัวพิมพ์เดียวกัน:

<message>This is correct</message>

"แท็กเปิดและปิด" มักเรียกว่า "แท็กเริ่มต้นและสิ้นสุด" ใช้สิ่งที่คุณต้องการ มันเป็นสิ่งเดียวกัน


องค์ประกอบ XML ต้องซ้อนกันอย่างเหมาะสม

ใน HTML คุณอาจเห็นองค์ประกอบที่ซ้อนกันอย่างไม่เหมาะสม:

<b><i>This text is bold and italic</b></i>

ใน XML องค์ประกอบทั้งหมดจะต้องซ้อนกันอย่างเหมาะสม:

<b><i>This text is bold and italic</i></b>

ในตัวอย่างข้างต้น "การซ้อนกันอย่างเหมาะสม" หมายความว่าเนื่องจากองค์ประกอบ <i> ถูกเปิดขึ้นภายในองค์ประกอบ <b> องค์ประกอบนั้นจะต้องปิดภายในองค์ประกอบ <b>


ต้องระบุค่าแอตทริบิวต์ XML เสมอ

องค์ประกอบ XML สามารถมีแอตทริบิวต์ในคู่ชื่อ/ค่าได้เช่นเดียวกับใน HTML

ใน XML ค่าแอตทริบิวต์ต้องถูกยกมาเสมอ:

<note date="12/11/2007">
  <to>Tove</to>
  <from>Jani</from>
</note>

การอ้างอิงเอนทิตี

อักขระบางตัวมีความหมายพิเศษใน XML

หากคุณวางอักขระเช่น "<" ไว้ในองค์ประกอบ XML จะทำให้เกิดข้อผิดพลาดเนื่องจาก parser จะตีความว่าเป็นจุดเริ่มต้นขององค์ประกอบใหม่

สิ่งนี้จะสร้างข้อผิดพลาด XML:

<message>salary < 1000</message>

เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ ให้แทนที่อักขระ "<" ด้วยการอ้างอิงเอนทิตี :

<message>salary &lt; 1000</message>

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

&lt; < less than
&gt; > greater than
&amp; & ampersand 
&apos; ' apostrophe
&quot; " quotation mark

เฉพาะ < และ & เท่านั้นที่ผิดกฎหมายใน XML แต่ควรแทนที่ > ด้วย > เช่นกัน.


ความคิดเห็นใน XML

ไวยากรณ์สำหรับการเขียนความคิดเห็นใน XML นั้นคล้ายกับของ HTML:

<!-- This is a comment -->

ไม่อนุญาตให้ขีดกลาง 2 ขีดตรงกลางความคิดเห็น:

<!-- This is an invalid -- comment -->

ช่องว่างสีขาวถูกรักษาไว้ใน XML

XML จะไม่ตัด white-space หลายๆ อัน (HTML จะตัด white-space หลายๆ อันให้เป็น white-space เดียว):

XML: Hello           Tove
HTML: Hello Tove

XML เก็บบรรทัดใหม่เป็นLF

แอปพลิเคชัน Windows เก็บบรรทัดใหม่เป็น: การขึ้นบรรทัดใหม่และการป้อนบรรทัด (CR+LF)

Unix และ Mac OSX ใช้ LF

ระบบ Mac รุ่นเก่าใช้ CR

XML เก็บบรรทัดใหม่เป็น LF


รูปแบบ XML

เอกสาร XML ที่สอดคล้องกับกฎไวยากรณ์ด้านบนเรียกว่าเอกสาร XML ที่ "มีรูปแบบที่ดี"