1.4.3.1. Document Prolog (phần mở đầu tài liệu)
Document prolog là tùy chọn, nếu khơng cĩ, XML parser sẽ dùng mặc định tùy theo kết quả dị tìm (detect) được. Document prolog phải nằm ngay đầu tài liệu trước cả root element. Cĩ hai phần: XNL declaration (khai báo XML) và document type declaration (khai báo kiểu tài liệu).
1.4.3.2. Phần nội dung của tài liệu XML
Tài liệu XML được tạo nên bởi các phần tử (element): Phần tử thẻ và phần tử
dữ liệu). Mỗi phần tử dữ liệu (chứa dữ liệu thật sự) thường bao quanh bởi một cặp
phần tử thẻ: thẻ mở và thẻ đĩng.
* Thẻ:
Thẻ là các phần tử giữa các ký tự “<” và “>”. Đặc tả XML, quy định rất rõ về cách đặt tên thẻ: cĩ thể bắt đầu bằng ký tự gạch chân (_) hoặc dấu hai chấm (:), các ký tự kế tiếp cĩ thể là ký tự, ký số, gạch nối, dấu chấm, dấu hai chấm nhưng khơng được là khoảng trắng. Tuy nhiên khơng nên dùng dấu hai chấm trong tên thẻ vì dấu hai chấm sau này được dùng để chỉ định khơng gian tên (namespace) của XML. Tên cĩ phân biệt chữ hoa và chữ thường vì bộ phân tích và diễn dịch XML thường phân biệt chữ hoa và chữ thường.
Thẻ mở bắt đầu bằng ký tự “<” và kết thúc bằng ký tự “>”, thẻ đĩng bắt đầu bằng ký tự “</” và kết thúc bằng ký tự “/>”. Các thẻ luơn đi cặp với nhau, sao cho mọi thẻ mở đều cĩ một thẻ đĩng tương ứng.
* Phần tử:
Phần tử là tồn bộ thơng tin từ đầu của một thẻ mở đến cuối của một thẻ đĩng
* Phần tử rỗng:
Phần tử rỗng là phần tử chỉ cĩ duy nhất một thẻ. Đây là trường hợp các phần tử khơng kèm theo dữ liệu và cĩ dạng <tên thẻ/>, ví dụ như <img/>, <li/>, <br/>.
* Phần tử gốc:
Phần tử gốc là phần tử bắt đầu một tài liệu XML, và một tài liệu XML chứa đựng duy nhất một phần tử gốc. Các bộ phân tích tài liệu XML thường khởi đầu từ phần tử gốc, sau đĩ tiếp tục lần ra các phần tử khác.
* Thuộc tính:
Thuộc tính của các thẻ cho phép xác định thêm thơng tin và ý nghĩa của thẻ, được kết hợp theo cặp name = value. Thuộc tính được đặt bên trong thẻ mở và thẻ rỗng. Tên của thuộc tính cũng tuân thủ theo đúng quy tắc đặt tên thẻ, trị gán cho thuộc tính luơn mang kiểu text. Ngay cả khi gán một trị số cho thuộc tính, nĩ cũng chỉ được biểu diễn ở dạng text (bọc trong dấu nháy kép).
Ví dụ 1.12: Sau khi gán giá trị của các thuộc tính cho thẻ PATDOC
<PATDOC CY = ”EP” DNUM = ”1484585” DATE = ”20130608” FILE = ”04021672.3” KIND = ”A2” STATUS = ”N”>