<p>นี่คือย่อหน้า<br>
ใน XML การละเว้นแท็กปิดถือเป็นสิ่งผิดกฎหมาย องค์ประกอบทั้งหมด จะต้อง มีแท็กปิด:
<?xml version="1.0" encoding="UTF-8" ?>
<p>นี่คือย่อหน้า</p>
หมายเหตุ: จากตัวอย่างข้างต้น คุณอาจสังเกตเห็นว่าการประกาศในบรรทัดแรกของ XML ไม่มีแท็กปิด นี่ไม่ใช่ข้อผิดพลาด การประกาศไม่ได้เป็นส่วนหนึ่งของเอกสาร XML แต่ก็ไม่มี แท็กปิด
แท็ก XML คำนึงถึงขนาดตัวพิมพ์ แท็ก <ข้อความ> แตกต่างจากแท็ก <ข้อความ>
แท็กเปิดและปิดจะต้องเขียนโดยใช้ตัวพิมพ์เดียวกัน:
<ข้อความ>สิ่งนี้ไม่ถูกต้อง</message><message>สิ่งนี้ถูกต้อง</message>
หมายเหตุ: แท็กเปิดและปิดมักเรียกว่าแท็กเริ่มต้นและแท็กสิ้นสุด ไม่ว่าคุณจะชอบคำไหน แนวคิดก็เหมือนกัน
ใน HTML เป็นเรื่องปกติที่จะเห็นองค์ประกอบที่ซ้อนกันไม่ถูกต้อง:
<b><i>ข้อความนี้เป็นตัวหนาและตัวเอียง</b></i>
ใน XML องค์ประกอบทั้งหมด จะ ต้องซ้อนกันอย่างเหมาะสมภายในกันและกัน:
<b><i>ข้อความนี้เป็นตัวหนาและตัวเอียง</i></b>
ในตัวอย่างข้างต้น การซ้อนที่ถูกต้องหมายถึง: เนื่องจากองค์ประกอบ <i> ถูกเปิดภายในองค์ประกอบ <b> จึงต้องปิดภายในองค์ประกอบ <b>
เอกสาร XML ต้องมีองค์ประกอบหนึ่งที่เป็น พาเรนต์ ขององค์ประกอบอื่นๆ ทั้งหมด องค์ประกอบนี้เรียกว่า องค์ประกอบราก
<root><child><subchild>.....</subchild></child></root>
เช่นเดียวกับ HTML องค์ประกอบ XML สามารถมีแอตทริบิวต์ (คู่ชื่อ/ค่า)
ใน XML จะต้องอ้างอิงค่าแอตทริบิวต์ XML
โปรดศึกษาเอกสาร XML สองฉบับต่อไปนี้ อันแรกผิด อันที่สองถูก:
<note date=12/11/2007><to>โตเว</to><from>เจนี่</from></note>
<note date="12/11/2007"><to>โตเว</to><from>เจนี่</from></note>
ข้อผิดพลาดในเอกสารฉบับแรกคือแอตทริบิวต์วันที่ในองค์ประกอบบันทึกย่อไม่ได้ถูกยกมา
ใน XML อักขระบางตัวมีความหมายพิเศษ
หากคุณใส่อักขระ "<" ไว้ในองค์ประกอบ XML ข้อผิดพลาดจะเกิดขึ้นเนื่องจาก parser ถือว่ามันเป็นจุดเริ่มต้นขององค์ประกอบใหม่
สิ่งนี้จะสร้างข้อผิดพลาด XML:
<message>ถ้าเงินเดือน < 1,000 แล้ว</message>
เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ ให้ใช้ การอ้างอิงเอนทิตี แทนอักขระ "<":
<ข้อความ>ถ้าเงินเดือน < 1,000 แล้ว</ข้อความ>
ใน XML มีการอ้างอิงเอนทิตีที่กำหนดไว้ล่วงหน้า 5 รายการ:
< | - | น้อยกว่า |
> | - | มากกว่า |
& | - | เครื่องหมายแอมเพอร์แซนด์ |
' | - | เครื่องหมายอะพอสทรอฟี |
" | - | เครื่องหมายคำพูด |
หมายเหตุ: ใน XML เฉพาะอักขระ "<" และ "&" เท่านั้นที่ผิดกฎหมาย เครื่องหมายมากกว่านั้นถูกกฎหมาย แต่เป็นวิธีปฏิบัติที่ดีที่จะแทนที่ด้วยการอ้างอิงเอนทิตี
ไวยากรณ์สำหรับการเขียนความคิดเห็นในรูปแบบ XML นั้นคล้ายคลึงกับรูปแบบ HTML มาก
<!-- นี่คือความคิดเห็น -->
เคล็ดลับ: คุณยังสามารถเรียนรู้เกี่ยวกับ "HTML<!--...-->แท็กความคิดเห็น" ได้อีกด้วย
HTML จะตัด (รวม) อักขระเว้นวรรคหลายตัวติดต่อกันเป็นอักขระเดียว:
HTML: | สวัสดีคุณต๊อฟ |
เอาท์พุท: | สวัสดีคุณต๊อฟ |
ใน XML ช่องว่างในเอกสารจะไม่ถูกตัดออก
ในแอปพลิเคชัน Windows บรรทัดใหม่มักจะถูกจัดเก็บเป็นคู่ของอักขระ: การขึ้นบรรทัดใหม่ (CR) และการป้อนบรรทัด (LF)
ใน Unix และ Mac OSX ให้ใช้ LF เพื่อจัดเก็บบรรทัดใหม่
บนระบบ Mac รุ่นเก่า CR ใช้เพื่อจัดเก็บบรรทัดใหม่
XML เก็บตัวแบ่งบรรทัดใน LF
ข้างต้นเป็นกฎไวยากรณ์ที่คุณต้องใส่ใจเมื่อใช้ XML ปฏิบัติตามกฎเหล่านี้เพื่อเขียนเอกสาร XML ที่ถูกต้อง!