Cỏc ký tự: Cỏc thực thể chứa dữ liệu dạng text, cỏc ký tự liờn tục nhau. Cỏc ký tự này đƣợc mó húa theo chuẩn ISO/IEC 10646. XML hỗ trợ rất nhiều kiểu mó húa dữ liệu nhƣ UTF-8, UTF-16, ISO-8859-1, ISO-8859-5, ISO-10646-UCS-2, ISO-10646-UCS-4. Tất cả cỏc trỡnh xử lý XML đều đƣợc hỗ trợ mó húa dữ liệu theo chuẩn Unicode UTF-8, UTF-16.
Cỏc khai bỏo XML: Một tài liệu XML cú thể bắt đầu khai bỏo cho biết tài liệu đƣợc viết theo định dạng và đặt tả XML. Nếu sử dụng khai bỏo XML, khai bỏo này cần đƣợc đặt ở dũng đầu tiờn của tài liệu, khụng đƣợc đặt ở bất kỳ dũng nào khỏc.
Thớ dụ, về khai bỏo version XML
Trong thành phần khai bỏo XML, cú thể sử dụng 3 kiểu khai bỏo thuộc tớnh nhƣ
Khai bỏo phiờn bản (version): khai bỏo này cho biết phiờn bản đặc tả XML mà tài liệu sử dụng.
Khai bỏo mó húa (encoding): Bộ mó đƣợc sử dụng trong tài liệu XML. Mặc định là UTF-8.
Khai bỏo thực thể độc lập (standalone): đặt thuộc tớnh “yes” nếu tài liệu khụng tham chiếu đến cỏc thực thể khỏc, nếu ngƣợc lại thỡ đặt thuộc tớnh này là “no”.
Dữ liệu ký tự và định dạng: Dữ liệu trong tài liệu XML bao gồm cỏc định dạng và cỏc ký tự dạng text. Cỏc định dạng giỳp phõn biệt cỏc thành phần khỏc nhau trong tài liệu XML hay cỏc loại nỳt trong cõy XML. Cỏc dữ liệu khụng thuộc phần định dạng đƣợc gọi là dữ liệu ký tự trong tài liệu. Cú những ký tự mà chỳng vừa đƣợc sử dụng để tạo cỏc định dạng, vừa là dữ liệu ký tự dễ nhầm lẫn trong việc sử dụng nhƣ dấu &, >, <,... nếu sử dụng cỏc ký tự này trong tài liệu XML thỡ chỳng đều đƣợc xem là cỏc định dạng. Để sử dụng chỳng nhƣ là dữ liệu ký tự thỡ hoặc chỉ đặt chỳng trong phần ghi chỳ, phần chỉ thị xử lý, phõn đoạn CDATA hoặc khai bỏo cỏc thực thể cú nội dung là cỏc ký hiệu này.
Thớ dụ, tài liệu XML Bai1_Pascal.xml gồm cú: phần khai bỏo phiờn bản XML, thành phần gốc BAIGIANG, cỏc thành phần con: HOCPHAN, BAISO, TENBAI.
<?xml version = “1.0” ?> <BAIGIANG>
<HOCPHAN> Tin học Đại cƣơng</HOCPHAN> <BAISO>1</BAISO>
<TENBAI> Ngụn ngữ lập trỡnh Pascal</TENBAI> </BAIGIANG>
Theo thớ dụ trờn, cỏc thành phần gọi là cỏc định dạng nhƣ <?xml version=“1.0”>, <BAIGIANG> hoặc </TENBAI>,... cũn lại chuỗi văn bản “Tin học Đại cương” hoặc “Ngụn ngữ lập trỡnh Pascal”,... đƣợc xem là dữ liệu ký tự.
Phần chỳ thớch: Là thành phần chỳ thớch trong tài liệu XML, phần này cú thể sử dụng bất kỳ lỳc nào trong tài liệu XML. Thành phần chỳ thớch thỡ khụng đƣợc bộ phận xử lý XML duyệt qua. Bắt đầu chỳ thớch bằng chuỗi ký tự mở <!—, sau đú là nội dung chỳ thớch, cuối cựng kết thỳc bằng chuỗi ký tự đúng -->.
Thớ dụ, tạo chỳ thớch nhƣ sau: <?xml version = “1.0” ?> <BAIGIANG>
<!— Bat dau chuoi vung du lieu HOCPHAN --> <HOCPHAN>
Tin hoc Đại Cƣơng
<!— Noi dung chuoi HOCPHAN --> </HOCPHAN>
</BAIGIANG>
Chỉ thị xử lý: Khụng phải là dữ liệu ký tự của tài liệu XML, nú đƣợc sử dụng để chỉ thị xử lý cho cỏc ứng dụng. Chỉ thị xử lý đƣợc khai bỏo trong phần khởi đầu của tài liệu XML.
Thớ dụ, chỉ thị yờu cầu kết hợp dữ liệu của XML với ngụn ngữ định kiểu mở rộng XSL.
<?xml version=“1.0” ?>
<?xml-stylesheet type=“text/xsl” herf=“data.xsl” ?> <BAIGIANG>
<HOCPHAN>Tin hoc Đại Cƣơng</HOCPHAN> </BAIGIANG>
Thẻ và cỏc thành phần: Cấu trỳc tài liệu XML dựa trờn cỏc thành phần định dạng. Thành phần XML là đơn vị cơ bản nhất trong tài liệu. Thành phần XML cú cỳ phỏp nhƣ sau:
Trong đú, TagName là tờn thẻ gồm cú thẻ mở và thẻ đúng (cú dấu “/” đứng trƣớc); attName là tờn thuộc tớnh cú giỏ trị attValue và nội dung Content của thành phần cụ thể.
Mỗi thành phần thƣờng bao gồm một cặp thẻ: thẻ bắt đầu và thẻ kết thỳc (ngoại trừ thành phần rỗng). Đặc tả XML quy định về cỏch đặt tờn thẻ nhƣ sau: cú thể bắt đầu tờn thẻ bằng ký tự, dấu gạch chõn hoặc dấu hai chấm. Cỏc ký tự kế tiếp cú thể là ký tự, ký tự số, gạch chõn, gạch nối, dấu chấm, dấu hai chấm nhƣ khụng đƣợc là khoảng trắng. Thớ dụ, một số thẻ mở và đúng là hợp lệ. Thẻ mở tương ứng với Thẻ đúng <BAIGIANG> </BAIGIANG> <baigiang> </baigiang> <_Record> </_Record> Một số tờn thẻ sau là khụng hợp lệ: <2004BAIGIANG> <bai giang>
Do bộ phõn tớch XML phõn biệt chữ hoa và chữ thƣờng, cho nờn tuõn thủ nguyờn tắc đặt tờn thành phần (thuộc tớnh) trong thẻ là duy nhất. Thớ dụ, <NAME> khụng giống <name> hay <Name>.
Phõn đoạn CDATA: là một thành phần nhƣng bao gồm chỉ một thẻ. Thẻ này bắt đầu bằng <!CDATA và kết thỳc ]]>. Tất cả dữ liệu đặt trong phõn đoạn CDATA sẽ khụng đƣợc trỡnh phõn tớch xem nhƣ cấu trỳc XML, chỳng chỉ là dữ liệu thuần tỳy của ứng dụng. Nhƣ vậy, muốn lƣu toàn bộ dữ liệu của tài liệu XML này vào tài liệu XML khỏc, chỉ cần đặt nội dung dữ liệu XML ngoại trong phõn đoạn CDATA.
Thớ dụ, tạo một phõn đoạn CDATA nhƣ sau: <?xml version=“1.0” ?>
<DOCUMENT> <MARKUP> <![CDATA
<BAIGIANG>
<HOCPHAN>Tin hoc Đại Cƣơng</HOCPHAN> <BAISO>1</BAISO>
<TENBAI>Ngụn ngữ Lập trỡnh Pascal</TENBAI> </BAIGIANG>
]]>
</MARKUP> </DOCUMENT>