DTD - Thành phần
- Trang trước DTD Xây dựng mô-đun
- Trang tiếp theo DTD Thuộc tính
Trong một DTD, các phần tử được chỉ định bằng cách sử dụng biểu diễn phần tử.
Chỉ định một phần tử
Trong DTD, các phần tử XML được chỉ định bằng cách sử dụng biểu diễn phần tử. Biểu diễn phần tử sử dụng ngữ pháp sau:
!ELEMENT tên phần tử Loại
hoặc
!ELEMENT tên phần tử (nội dung phần tử)
Các phần tử trống
Các phần tử trống được chỉ định bằng từ khóa loại EMPTY:
!ELEMENT tên phần tử EMPTY
Ví dụ:
!ELEMENT br EMPTY
Ví dụ XML:
<br />
Các phần tử chỉ có PCDATA
Các phần tử chỉ có PCDATA được chỉ định bằng #PCDATA trong dấu ngoặc kép:
!ELEMENT tên phần tử (#PCDATA)
Ví dụ:
!ELEMENT from (#PCDATA)
Các phần tử có bất kỳ nội dung nào
Các phần tử được chỉ định bằng từ khóa loại ANY có thể bao gồm bất kỳ tổ hợp nào của dữ liệu có thể phân tích:
!ELEMENT tên phần tử ANY
Ví dụ:
!ELEMENT note ANY
Các phần tử có phần tử con (chuỗi)
Các phần tử có một hoặc nhiều phần tử con được liệt kê bằng tên phần tử con trong dấu ngoặc tròn:
<!ELEMENT 元素名称 (子元素名称 1)>
hoặc
<!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,...)>
Ví dụ:
<!ELEMENT note (to,from,heading,body)>
Khi các phần tử con được liệt kê theo thứ tự bằng dấu phẩy ngăn cách, các phần tử này phải xuất hiện theo cùng thứ tự trong tài liệu. Trong một định nghĩa đầy đủ, các phần tử con cũng phải được liệt kê, và các phần tử con cũng có thể có phần tử con. Định nghĩa đầy đủ của phần tử "note" là:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Định nghĩa phần tử chỉ xuất hiện một lần.
<!ELEMENT 元素名称 (子元素名称)>
Ví dụ:
<!ELEMENT note (message)>
Ví dụ trên đã chỉ ra rằng phần tử con "message" phải xuất hiện một lần, và chỉ xuất hiện một lần trong phần tử "note".
Định nghĩa phần tử xuất hiện ít nhất một lần.
<!ELEMENT 元素名称 (子元素名称+)>
Ví dụ:
<!ELEMENT note (message+)>
Ví dụ trên đã chỉ ra rằng dấu cộng đã chỉ ra rằng phần tử con "message" phải xuất hiện ít nhất một lần trong phần tử "note".
Định nghĩa phần tử xuất hiện từ không lần đến nhiều lần.
<!ELEMENT 元素名称 (子元素名称*)>
Ví dụ:
<!ELEMENT note (message*)>
Ví dụ trên đã chỉ ra rằng dấu sao đã chỉ ra rằng phần tử con "message" có thể xuất hiện trong phần tử "note" từ không lần đến nhiều lần.
Định nghĩa phần tử xuất hiện từ không lần đến một lần.
<!ELEMENT 元素名称 (子元素名称?)>
Ví dụ:
<!ELEMENT note (message?)>
Ví dụ trên đã chỉ ra rằng dấu hỏi đã chỉ ra rằng phần tử con "message" có thể xuất hiện trong phần tử "note" từ không lần đến một lần.
Định nghĩa nội dung loại "hoặc.../hoặc..."
Ví dụ:
<!ELEMENT note (to,from,header,(message|body))>
Ví dụ trên đã chỉ ra rằng: phần tử "note" phải chứa phần tử "to", phần tử "from", phần tử "header", và phần tử không phải là "message" mà là "body".
Tuyên bố nội dung lai
Ví dụ:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
Ví dụ trên đã tuyên bố: "note" phần tử có thể chứa PCDATA xuất hiện 0 lần hoặc nhiều lần, "to", "from", "header" hoặc "message".
- Trang trước DTD Xây dựng mô-đun
- Trang tiếp theo DTD Thuộc tính