กฎไวยากรณ์ของ XML ที่มีความง่ายและตรรกะ กฎที่ง่ายต่อการเรียนรู้และใช้งานง่าย
เอกสาร XML ต้องมีองค์ประกอบราก
เอกสาร XML ต้องมีองค์ประกอบรากหนึ่งที่เป็น parent ขององค์ประกอบอื่น ๆ ทั้งหมด:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
ในตัวอย่างนี้ <หมายเหตุ> เป็นองค์ประกอบราก:
<?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 ที่เปิดฉาก
บรรทัดนี้จะเรียกว่าเปิดฉาก XML นี้:
<?xml version="1.0" encoding="UTF-8 " ?>
เปิดฉาก XML เป็นตัวเลือก ถ้ามีอยู่ก็จะต้องมาเป็นอันดับแรกในเอกสาร
เอกสาร XML สามารถประกอบด้วยอักขระสากลเช่น OA นอร์เวย์หรือฝรั่งเศส EE
เพื่อหลีกเลี่ยงข้อผิดพลาดคุณควรระบุการเข้ารหัสที่ใช้หรือบันทึกไฟล์ XML ของคุณเป็น UTF-8
UTF-8 คือการเข้ารหัสอักขระเริ่มต้นสำหรับเอกสาร XML
การเข้ารหัสอักขระสามารถศึกษาของเรา สอนชุดอักขระ
UTF-8 ยังเป็นเข้ารหัสเริ่มต้นสำหรับ HTML5, CSS, JavaScript, PHP, และ SQL
องค์ประกอบ XML ทั้งหมดจะต้องมีแท็กปิด
ใน HTML, องค์ประกอบบางอย่างอาจทำงานได้ดีแม้จะมีแท็กปิดขาดหายไป:
<p>This is a paragraph.
<br>
ใน XML มันเป็นสิ่งผิดกฎหมายที่จะละเว้นแท็กปิด องค์ประกอบทั้งหมด must มีแท็กปิด:
<p>This is a paragraph.</p>
<br />
เปิดฉาก XML ไม่ได้แท็กปิด
นี้ไม่ได้เป็นข้อผิดพลาด เปิดฉากไม่ได้เป็นส่วนหนึ่งของเอกสาร XML ที่
แท็ก XML เป็นกรณีที่สำคัญ
แท็ก XML เป็นกรณีที่สำคัญ แท็ก <Letter> จะแตกต่างจากแท็ก <letter>
การเปิดและปิดแท็กจะต้องเขียนด้วยกรณีเดียวกัน:
<Message>This is incorrect</message>
<message>This is correct</message>
"การเปิดและปิดแท็ก" มักจะถูกเรียกว่า "Start and end tags" ใช้สิ่งที่คุณต้องการ มันเป็นสิ่งเดียวกัน
องค์ประกอบ XML ต้องซ้อนกันอย่างถูกต้อง
ใน HTML, คุณอาจจะเห็นองค์ประกอบที่ซ้อนกันไม่ถูกต้อง:
<b><i>This text is bold and italic</b></i>
ใน XML องค์ประกอบทั้งหมด must ซ้อนกันอย่างถูกต้องในแต่ละอื่น ๆ :
<b><i>This text is bold and italic</i></b>
ในตัวอย่างข้างต้น "Properly nested" ก็หมายความว่าตั้งแต่ <i> องค์ประกอบที่จะเปิดภายใน <b> องค์ประกอบก็จะต้องปิดภายใน <b> องค์ประกอบ
ค่าแอตทริบิวต์ XML ต้องยกมา
องค์ประกอบ XML สามารถมีแอตทริบิวต์ในชื่อ / คู่ค่าเช่นเดียวกับใน HTML
ใน XML ค่าแอตทริบิวต์จะต้องยกมา
ไม่ถูกต้อง:
<note date=12/11/2007>
<to>Tove</to>
<from>Jani</from>
</note>
แก้ไข:
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
ข้อผิดพลาดในเอกสารแรกคือว่า date แอตทริบิวต์ในองค์ประกอบโน้ตไม่ได้ยกมา
เอนทิตี้อ้างอิง
ตัวละครบางคนมีความหมายพิเศษในรูปแบบ XML
ถ้าคุณวางตัวละครเช่น "<" ภายในองค์ประกอบ XML จะสร้างข้อผิดพลาดเนื่องจากแยกวิเคราะห์ตีความว่ามันเป็นจุดเริ่มต้นขององค์ประกอบใหม่
นี้จะสร้างข้อผิดพลาดของ XML:
<message>salary < 1000</message>
เพื่อหลีกเลี่ยงข้อผิดพลาดนี้แทนที่ "<" ตัวละครที่มี entity reference :
<message>salary < 1000</message>
มี 5 ที่กำหนดไว้ล่วงหน้าอ้างอิงนิติบุคคลในรูปแบบ XML คือ:
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
เพียง <และเป็นอย่างเคร่งครัดและผิดกฎหมายในรูปแบบ XML แต่มันเป็นนิสัยที่ดีที่จะมาแทนที่> กับ & gt; ได้เป็นอย่างดี
ความคิดเห็นในรูปแบบ XML
ไวยากรณ์สำหรับการเขียนความคิดเห็นในรูปแบบ XML จะคล้ายกับที่ของ HTML
<! - นี่เป็นความเห็น ->
สองขีดกลางในช่วงกลางของการแสดงความคิดเห็นไม่ได้รับอนุญาต
ไม่ได้รับอนุญาต:
<!-- This is a -- comment -->
แปลก แต่อนุญาต:
<!-- This is a - - comment -->
พื้นที่สีขาวถูกเก็บรักษาไว้ในรูปแบบ XML
XML ไม่ได้ตัดหลายพื้นที่สีขาว (HTML ตัดทอนหลายพื้นที่สีขาวเพื่อพื้นที่สีขาวหนึ่งเดียว):
XML: | Hello Tove |
HTML: | Hello Tove |
XML ร้านค้าสายใหม่เป็น LF
การใช้งาน Windows เก็บบรรทัดใหม่ในนาม: กลับสายการบินและอาหารเส้น (CR+LF)
Unix และ Mac OSX ใช้ LF
ระบบเก่าใช้ Mac CR
XML เก็บบรรทัดใหม่เป็น LF
XML รูปแบบที่ดี
เอกสาร XML ที่สอดคล้องกับกฎไวยากรณ์ข้างต้นบอกว่าจะ "Well Formed" เอกสาร XML