Quy tắc cú pháp XML
Các quy tắc cú pháp của XML rất đơn giản và logic. Các quy tắc rất dễ học và dễ sử dụng.
Tài liệu XML phải có phần tử gốc
Tài liệu XML phải chứa một phần tử gốc là phần tử gốc của tất cả các phần tử khác:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Trong ví dụ này <note> là phần tử gốc:
<?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>
Nhật ký XML
Dòng này được gọi là phần mở đầu XML:
<?xml version="1.0" encoding="UTF-8 " ?>
Prolog XML là tùy chọn. Nếu nó tồn tại, nó phải xuất hiện đầu tiên trong tài liệu.
Tài liệu XML có thể chứa các ký tự quốc tế, như øæå tiếng Na Uy hoặc êèé tiếng Pháp.
Để tránh lỗi, bạn nên chỉ định mã hóa được sử dụng hoặc lưu tệp XML của mình dưới dạng UTF-8.
UTF-8 là mã hóa ký tự mặc định cho các tài liệu XML.
Bạn có thể nghiên cứu mã hóa ký tự trong Hướng dẫn về bộ ký tự của chúng tôi.
UTF-8 cũng là mã hóa mặc định cho HTML5, CSS, JavaScript, PHP và SQL.
Tất cả các phần tử XML phải có thẻ đóng
Trong XML, việc bỏ qua thẻ đóng là bất hợp pháp. Tất cả các phần tử phải có thẻ đóng:
<p>This is a paragraph.</p>
<br />
Lưu ý: Prolog XML không có thẻ đóng! Đây không phải là một lỗi. Prolog không phải là một phần của tài liệu XML.
Thẻ XML phân biệt chữ hoa chữ thường
Các thẻ XML có phân biệt chữ hoa chữ thường. Thẻ <Letter> khác với thẻ <letter>.
Thẻ mở và thẻ đóng phải viết cùng kiểu chữ:
<message>This is correct</message>
"Thẻ mở và đóng" thường được gọi là "Thẻ bắt đầu và kết thúc". Sử dụng bất cứ điều gì bạn thích. Đó chính xác là điều tương tự.
Các phần tử XML phải được lồng đúng cách
Trong HTML, bạn có thể thấy các phần tử được lồng không đúng cách:
<b><i>This text is bold and italic</b></i>
Trong XML, tất cả các phần tử phải được lồng vào nhau một cách chính xác:
<b><i>This text is bold and italic</i></b>
Trong ví dụ trên, "Lồng nhau đúng cách" đơn giản có nghĩa là vì phần tử <i> được mở bên trong phần tử <b> nên nó phải được đóng bên trong phần tử <b>.
Các giá trị thuộc tính XML phải luôn được trích dẫn
Các phần tử XML có thể có các thuộc tính theo cặp tên/giá trị giống như trong HTML.
Trong XML, các giá trị thuộc tính phải luôn được trích dẫn:
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
Tham chiếu thực thể
Một số ký tự có ý nghĩa đặc biệt trong XML.
Nếu bạn đặt một ký tự như "<" bên trong một phần tử XML, nó sẽ tạo ra lỗi vì trình phân tích cú pháp hiểu nó là phần tử bắt đầu của một phần tử mới.
Điều này sẽ tạo ra lỗi XML:
<message>salary < 1000</message>
Để tránh lỗi này, hãy thay thế ký tự "<" bằng tham chiếu thực thể :
<message>salary < 1000</message>
Có 5 tham chiếu thực thể được xác định trước trong XML:
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
Chỉ < và & hoàn toàn bất hợp pháp trong XML, nhưng bạn nên thay thế > bằng > cũng.
Nhận xét bằng XML
Cú pháp viết bình luận bằng XML tương tự như HTML:
<!-- This is a comment -->
Không được phép có hai dấu gạch ngang ở giữa nhận xét:
<!-- This is an invalid -- comment -->
Khoảng trắng được bảo tồn trong XML
XML không cắt bớt nhiều khoảng trắng (HTML cắt ngắn nhiều khoảng trắng thành một khoảng trắng duy nhất):
XML: | Hello Tove |
HTML: | Hello Tove |
XML lưu trữ dòng mới dưới dạng LF
Các ứng dụng Windows lưu trữ một dòng mới dưới dạng: xuống dòng và cấp dòng (CR+LF).
Unix và Mac OSX sử dụng LF.
Hệ thống Mac cũ sử dụng CR.
XML lưu trữ một dòng mới dưới dạng LF.
XML được định dạng tốt
Các tài liệu XML tuân thủ các quy tắc cú pháp ở trên được gọi là tài liệu XML "Được định dạng tốt".