XSD Làm thế nào để?
Các tài liệu XML có thể có tham chiếu đến DTD hoặc Lược đồ XML.
Một tài liệu XML đơn giản
Hãy xem tài liệu XML đơn giản này có tên là "note.xml":
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Tệp DTD
Ví dụ sau đây là tệp DTD có tên "note.dtd" xác định các thành phần của tài liệu XML ở trên ("note.xml"):
<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Dòng đầu tiên xác định phần tử ghi chú có bốn phần tử con: "đến, từ, tiêu đề, nội dung".
Dòng 2-5 xác định các phần tử đến, từ, tiêu đề, nội dung thuộc loại "#PCDATA".
Lược đồ XML
Ví dụ sau đây là tệp Lược đồ XML có tên "note.xsd" xác định các thành phần của tài liệu XML ở trên ("note.xml"):
<?xml version="1.0"?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.example.com.vn"
xmlns="https://www.example.com.vn"
elementFormDefault="qualified">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Phần tử ghi chú là một loại phức tạp vì nó chứa các phần tử khác. Các phần tử khác (đến, từ, tiêu đề, nội dung) là các kiểu đơn giản vì chúng không chứa các phần tử khác. Bạn sẽ tìm hiểu thêm về các kiểu đơn giản và phức tạp trong các chương sau.
Tham chiếu đến DTD
Tài liệu XML này có tham chiếu đến DTD:
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM
"https://www.example.com.vn/xml/note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Tham chiếu tới Lược đồ XML
Tài liệu XML này có tham chiếu đến Lược đồ XML:
<?xml version="1.0"?>
<note
xmlns="https://www.example.com.vn"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.example.com.vn/xml note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>