Chương 4:
Lược đồ XML (XML Schema)
Giới thiệu
Vì sự phức tạp của khai báo DTD, tổ chức W3C đưa ra một giải pháp tổng
quát hơn DTD đó là khai báo và định nghĩa các phần tử trong tài liệu XML
theo lược đồ XML (XML Schema).
Để kiểm tra tính hợp lệ của tài liệu XML bằng lược đồ XML Schema, ta
dùng các bộ kiểm tra cú pháp lược đồ (Schema Checker).
Định nghĩa những phần tử xuất hiện trong tài liệu XML.
Định nghĩa những thuộc tính xuất hiện trong tài liệu.
Định nghĩa quan hệ phần tử cha con
Định nghĩa thứ tự các phần tử con
Định nghĩa số phần tử con
Định nghĩa phần tử rỗng hay chứa dữ liệu text
Định nghĩa kiểu dữ liệu của phần tử và thuộc tính
Định nghĩa giá trị mặc định của thuộc tính và phần tử
Tại sao phải sử dụng XML Schema
Dễ dàng để mô tả nội dung tài liệu vì dùng chính cú pháp XML để định
nghĩa.
Dễ kiểm tra tính hợp lệ của tài liệu .
Dễ định nghĩa về mặt dữ liệu (data facet).
Dễ dàng định nghĩa dữ liệu mẫu (data patterns).
Dễ chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác.
Ví dụ: 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>
Đặc tả DTD
<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Đặc tả XSD
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com" 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>