XML Schemas

Một phần của tài liệu đồ án công nghệ thông tin Xây dựng module lọc tin cho trình duyệt ĐTDD dùng công nghệ Bluetooth (Trang 92)

Chương 5: Các công nghệ và kỹ thuật lập trỡnh liên quan

5.1.7.XML Schemas

Như ta đã biết, XML là định dạng tốt cho trao đổi dữ liệu giữa các chương trình. Tuy nhiên, nếu các chương trình không thể đồng ý một khuôn mẫu XML xác định thì sẽ không thể trao đổi thống nhất được. Dữ liệu bên trong XML không cung cấp thông tin định nghĩa cấu trúc của văn bản XML.

Document Type Definition (DTD) là một cách mô tả cấu trúc văn bản XML. Một DTD chỉ định những thực thể và thuộc tính trong văn bản XML. Nó cũng chỉ ra vị trí của thực thể là số lượng thực thể. DTD là cách truyền thống mà văn bản XML dùng để cấu trúc hóa.

Nếu văn bản XML có một DTD liên kết với nó, một bộ phân tích XML (XML parser) có thể đọc DTD và xác định xem văn bản XML có phù hợp với DTD không. Nếu phù hợp thì văn bản XML đó được xem như hợp lệ (validation). Không phải mọi bộ đọc đều có thể xác định tính hợp lệ của văn bản XML. Bộ phân tích có khả năng đó XML được gọi là bộ phân tích hợp lệ.

Một giới hạn của DTD là nú khụng cung cấp bất kỳ sự chỉ định kiểu dữ liệu ứng với một thực thể hay thuộc tính. Ví dụ, một văn bản XML với thẻ <OrderID>, sẽ không thể biết được OrderID là một chuỗi, số, hay kiểu dữ liệu nào.

XML Schemas bù đắp chỗ thiếu của DTD. XML Schemas cung cấp tất cả hỗ trợ như DTD. Thêm nữa, nú cũn cho phép định nghĩa kiểu dữ liệu của thực thể và thuộc tính, giá trị lớn nhất, nhỏ nhất cho số, độ dài lớn nhất của của chuỗi, và tập hợp hằng số. Ví dụ: tập tin myschemas.xsd <?xml version="1.0"?> <Schema name="myschemas" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">

<!-- element programmer là mô hình đóng, có kiểu là chuỗi -->

<ElementType name="programer"

content="textOnly" model="closed"/>

<!-- element Mô tả là mô hình đóng, có kiểu là chuỗi -->

<ElementType name="Mô tả"

content="textOnly" model="closed"/>

<!-- attribute counter có kiểu là số nguyên --> <AttributeType name="counter"

dt:type = "int"/>

<ElementType name="programing_team" content="eltOnly" model="closed">

<!-- element programing_team được phép chứa 1 hay nhiều phần tử programmer -->

<element type="programer" minOccurs="1" maxOccurs="*"/>

chứa đúng 1 phần tử Mô tả -->

<element type="Mô tả" minOccurs="1" maxOccurs="1"/>

<!-- element programing_team có 1 thuộc tính là counter, thuộc tính này có giá trị mặc định là 1 -->

<attribute type="counter" default = "1"> </ElementType>

</Schema>

Tập tin XML chứa nội dung đúng định dạng schemas như tập tin myschemas.xsd mô tả: <?xml version="1.0"?> <programing_team xmlns="x-schema:yourschema.xml"> <programer> FRED SAMSON </programer> <programer> EDWARD FREDERICKS </programer> <Mô tả=""> XML PROGRAMING TEAM </Mô tả> </programing_team>

Chỉ một số ít bộ phân tích XML có thể xác định tính hợp lệ của văn bản XML dựa trên XML Schemas. Tuy nhiên, .NET Framework cung cấp bộ phân tích xác định tình hợp lệ của XML dựa trên XML Schema Definition (XSD) tương tự như DTDs. Đặc tả XML Schemas tại http://www.w3.org/XML/Schema.

Một phần của tài liệu đồ án công nghệ thông tin Xây dựng module lọc tin cho trình duyệt ĐTDD dùng công nghệ Bluetooth (Trang 92)