XML: Bài 1.2. Khám phá XML

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Trong bài học thứ hai này, Khám phá XML, bạn sẽ học cách:

  • Mô tả cấu trúc của một tài liệu XML.
  • Giải thích vòng đời của một tài liệu XML.
  • Nêu chức năng của các trình soạn thảo cho XML và liệt kê các trình soạn thảo được sử dụng phổ biến.
  • Nêu các chức năng của bộ phân tích cú pháp cho XML và liệt kê tên của bộ phân tích cú pháp thường được sử dụng.
  • Nêu các chức năng của các trình duyệt dành cho XML và liệt kê các trình duyệt thường được sử dụng.

1.2.1. Cấu trúc tài liệu XML

Các tài liệu XML thường được lưu trữ trong các tệp văn bản có phần mở rộng là .xml. Hai phần của một tài liệu XML là:

  • Document Prolog: Trình phân tích cú pháp XML lấy thông tin về nội dung trong tài liệu với sự trợ giúp của tài liệu prolog. Phần mở đầu tài liệu chứa siêu dữ liệu và bao gồm hai phần - Phần khai báo XML và phần Khai báo kiểu tài liệu. Khai báo XML chỉ định phiên bản XML đang được sử dụng. Khai báo Loại tài liệu xác định các giá trị 'hoặc thuộc tính' của thực thể và kiểm tra ngữ pháp và từ vựng của đánh dấu.
  • Phần tử gốc: Phần tử thứ hai là phần tử được gọi là phần tử gốc. Phần tử gốc còn được gọi là phần tử tài liệu. Nó phải chứa tất cả các phần tử và nội dung khác trong tài liệu. Phần tử XML có thẻ bắt đầu và thẻ kết thúc.

Sau đây là một số mối quan hệ:

  • Cha mẹ: Nó là một phần tử chứa các phần tử khác.
  • Con: Nó là một phần tử có trong phần tử khác.
  • Anh chị em: Chúng là các phần tử có cùng phần tử cha mẹ.
  • Lồng: Là một quá trình trong đó một phần tử chứa các phần tử khác.

Một tài liệu XML bao gồm một tập hợp các "thực thể" được đặt tên rõ ràng. Mọi tài liệu XML đều bắt đầu bằng một thực thể "gốc" hoặc tài liệu. Tất cả các thực thể khác là tùy chọn. Thực thể là bí danh cho các chức năng phức tạp hơn. Một tên thực thể duy nhất có thể đại diện cho một lượng lớn văn bản. Tên bí danh được sử dụng mỗi khi một số văn bản được tham chiếu và bộ xử lý mở rộng nội dung của bí danh.

Hình 1.3 cho thấy cấu trúc tài liệu XML.

Cấu trúc tài liệu XML

Hình 1.3: Cấu trúc tài liệu XML

Đoạn mã sau minh họa cấu trúc tài liệu XML.

Đoạn mã:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE Music_Library [
  <!ELEMENT Music_Library (Title,Artist,Country,Price,Year)>
  <!ELEMENT Title (#PCDATA)>
  <!ELEMENT Artist (#PCDATA)>
  <!ELEMENT Country (#PCDATA)>
  <!ELEMENT Price (#PCDATA)>
  <!ELEMENT Year (#PCDATA)>
  <!ENTITY MS "Thatz life">
]>
<Music_Library>
  <Title>YLO</Title>
  <Artist>&MS; - Jenny Dan</Artist>
  <Country>Germanyo</Country>
  <Price>$12</Price>
  <Year>2002</Year>
</Music_Library>

trong đó,

Khối đầu tiên chỉ ra khai báo xml và khai báo kiểu tài liệu. Music_Library là phần tử gốc.

1.2.2. Cấu trúc logic

Cấu trúc logic của một tài liệu XML cung cấp thông tin về các phần tử và thứ tự chúng được đưa vào tài liệu. Nó chỉ ra cách một tài liệu được xây dựng hơn là những gì nó chứa.

Document Prolog tạo thành cơ sở của cấu trúc logic của tài liệu XML. Khai báo XML và Định nghĩa loại tài liệu là hai thành phần cơ bản và tùy chọn của nó như được thể hiện trong hình 1.4.

Cấu trúc logic tài liệu XML

Hình 1.4: Cấu trúc logic của tài liệu XML

Đoạn mã sau minh họa khai báo XML.

Đoạn mã:

<?xml version="1.0" encoding="iso-8859-1" ?>

Khai báo XML cung cấp phiên bản của đặc tả XML và cũng xác định lược đồ mã hóa ký tự.

Đoạn mã sau minh họa việc sử dụng DTD.

Đoạn mã:

<!DOCTYPE Music_Library SYSTEM "Mlibrary.dtd">

Định nghĩa kiểu tài liệu xác định một tập hợp các quy tắc mà tài liệu XML tuân theo. Một DTD có thể là bên ngoài hoặc bên trong. Trong trường hợp này, DTD là một tệp bên ngoài.

1.2.3. Vòng đời của tài liệu XML

Một trình soạn thảo XML đề cập đến DTD và tạo một tài liệu XML. Sau khi tài liệu được tạo, tài liệu được quét các phần tử và thuộc tính trong đó. Giai đoạn này được gọi là quét. Trình phân tích cú pháp XML xây dựng một cấu trúc dữ liệu hoàn chỉnh sau khi phân tích cú pháp. Dữ liệu sau đó được trích xuất từ ​​các phần tử và thuộc tính của tài liệu. Giai đoạn này được gọi là truy cập. Sau đó nó được chuyển đổi thành chương trình ứng dụng. Cấu trúc tài liệu cũng có thể được sửa đổi trong quá trình này bằng cách chèn hoặc xóa các phần tử hoặc bằng cách thay đổi nội dung văn bản của phần tử hoặc thuộc tính. Giai đoạn này được gọi là sửa đổi. Dữ liệu sau đó được tuần tự hóa thành dạng văn bản và được chuyển đến trình duyệt hoặc bất kỳ ứng dụng nào khác có thể hiển thị dữ liệu đó. Giai đoạn này được gọi là tuần tự hóa.

Hình 1.5 hiển thị vòng đời của tài liệu XML.

Vòng đời của tài liệu XML

Hình 1.5: Vòng đời của tài liệu XML

Lưu ý: Trình phân tích cú pháp XML tạo, thao tác và cập nhật tài liệu XML. Nó sẽ đọc danh sách các bản ghi trong tài liệu XML và trình xử lý lưu trữ nó dưới dạng cấu trúc dữ liệu. Sau đó trình xử lý sẽ xử lý nó và hiển thị nó dưới dạng HTML.

1.2.4. Trình soạn thảo

Trình soạn thảo XML được sử dụng để tạo và chỉnh sửa các tài liệu XML. Bất kỳ ứng dụng nào cũng có thể được sử dụng như một trình soạn thảo trong XML. Vì tất cả các tài liệu XML đều là ngôn ngữ đánh dấu dựa trên văn bản, nên cũng có thể sử dụng Windows Notepad hoặc Wordpad tiêu chuẩn. Tuy nhiên, vì nhiều lý do khác nhau, Notepad không nên được sử dụng để viết XML chuyên nghiệp. Notepad không biết rằng văn bản được viết trong đó là mã XML, và do đó, có thể tạo ra vấn đề. Để tài liệu XML không có lỗi và có các tính năng dành riêng cho XML, chẳng hạn như khả năng chỉnh sửa các phần tử và thuộc tính, nên sử dụng trình soạn thảo XML chuyên nghiệp.

Các chức năng chính mà trình soạn thảo cung cấp như sau:

  • Thêm thẻ mở và thẻ đóng vào mã
  • Kiểm tra tính hợp lệ của XML
  • Xác minh XML dựa trên DTD/Lược đồ
  • Thực hiện một loạt các chuyển đổi trên một tài liệu
  • Tô màu cú pháp XML
  • Hiển thị số dòng
  • Trình bày nội dung và ẩn mã
  • Hoàn thành từ

Các trình soạn thảo được sử dụng phổ biến là:

  • XMLwriter
  • XML Spy
  • XML Pro
  • XMLmind
  • XMetal
  • Sub Lime Text

1.2.5. Trình phân tích cú pháp

Bộ phân tích cú pháp XML/bộ xử lý XML đọc tài liệu và xác minh tài liệu về tính ổn định của nó.

Trình phân tích cú pháp XML giữ toàn bộ biểu diễn dữ liệu XML trong bộ nhớ với sự trợ giúp của Mô hình đối tượng tài liệu (DOM). Trình phân tích cú pháp tích hợp được sử dụng trong IE 5.0 còn được gọi là Trình phân tích cú pháp XML của Microsoft (MSXML). Nó là một thành phần, có sẵn sau khi IE 5.0 được cài đặt.

Trình phân tích cú pháp XML của Microsoft đi qua toàn bộ cấu trúc dữ liệu và truy cập các giá trị của các thuộc tính trong các phần tử. Trình phân tích cú pháp cũng tạo hoặc xóa các phần tử và chuyển đổi cấu trúc cây thành XML.

MSXML hỗ trợ một số đối tượng COM để có khả năng tương tác ngược.

Một số trong số đó là các đối tượng XSLProcessor, các đối tượng XSLTemplate, các đối tượng XMLDOMSelection, các đối tượng XMLSchemaCache và các đối tượng XMLDOMDocument2.

MSXML 3.0 hỗ trợ các phép biến đổi XSL, chứa các phép toán thao tác dữ liệu. Bộ phân tích cú pháp XML bỏ qua khoảng trắng theo mặc định, nhưng nếu giá trị mặc định của thuộc tính Boolean keepWhiteSpace của đối tượng DOMDocument là true, thì bộ phân tích cú pháp XML sẽ bảo toàn khoảng trắng. Sử dụng Lược đồ kiểu dữ liệu của Microsoft, MSXML 3.0 chỉ định kiểu dữ liệu cho phần tử hoặc thuộc tính. MSXML cũng cải thiện hiệu suất của các ứng dụng với sự trợ giúp của các tính năng bộ nhớ đệm khác nhau.

Phân tích cú pháp XML trong Mozilla thực hiện các chức năng như duyệt qua các phần tử, truy cập các giá trị của chúng, v.v. Sử dụng JavaScript, một phiên bản của trình phân tích cú pháp XML có thể được tạo trong trình duyệt Mozilla. Phân tích cú pháp XML trong Firefox tự động phân tích cú pháp dữ liệu thành Mô hình Đối tượng Tài liệu (DOM). Opera chỉ sử dụng những trình phân tích cú pháp XML không xác thực DTD theo mặc định.

Tốc độ và hiệu suất là các tiêu chí mà trình phân tích cú pháp XML được chọn. Các trình phân tích cú pháp thường được sử dụng là:

  • Crimson
  • Xerces
  • Trình phân tích cú pháp XML của Oracle
  • JAXP (API Java cho XML)
  • MSXML

Hai loại trình phân tích cú pháp là:

Ø Trình phân tích cú pháp không xác thực

  • Nó kiểm tra tính hình thành tốt của tài liệu.
  • Đọc tài liệu và kiểm tra sự phù hợp của nó với các tiêu chuẩn XML.

Ø Xác thực trình phân tích cú pháp

  • Nó kiểm tra tính hợp lệ của tài liệu bằng DTD.

1.2.6. Trình duyệt

Sau khi tài liệu XML được đọc, trình phân tích cú pháp chuyển cấu trúc dữ liệu đến ứng dụng khách. Ứng dụng có thể là một trình duyệt Web. Sau đó, trình duyệt sẽ định dạng dữ liệu và hiển thị cho người dùng. Các chương trình khác như cơ sở dữ liệu, chương trình MIDI hoặc chương trình bảng tính cũng có thể nhận dữ liệu và trình bày nó cho phù hợp.

Đầu ra cuối cùng của dữ liệu XML được xem trong trình duyệt. XML không được hỗ trợ bởi tất cả các trình duyệt, ví dụ, Netscape Navigator 4.0 không hỗ trợ XML nhưng các phiên bản sau của trình duyệt như Netscape 6.0 lại hỗ trợ nó. Chỉ các trình duyệt như IE 5.0 trở lên mới hỗ trợ đầy đủ cho các đặc tả XML. Trong IE, XML có thể được xem trực tiếp bằng cách sử dụng các biểu định kiểu. Nó hỗ trợ không gian tên và xử lý một cơ chế được gọi là đảo dữ liệu nơi XML được nhúng vào HTML.

Mozilla 5.0 sử dụng giao diện với XML DOM (Mô hình đối tượng tài liệu) thông qua JavaScript và các trình cắm (plugin). Nó cũng hỗ trợ các phần tử từ không gian tên HTML.

Các trình duyệt Web thường được sử dụng như sau:

  • Netscape
  • Mozilla
  • Trình duyệt web IE
  • Firefox
  • Opera
  • Chrome

Kiểm tra kiến ​​thức bài 1.2

1. Câu nào về cấu trúc của tài liệu XML là đúng và câu nào sai?

(A)

Các tài liệu XML được lưu trữ với phần mở rộng .xml.

(B)

Phần mở đầu tài liệu có thể bao gồm khai báo phiên bản, nhận xét DTD và hướng dẫn xử lý.

(C)

Khai báo XML thông báo cho tác nhân xử lý về phiên bản XML đang được sử dụng.

(D)

Phần tử gốc không được là một thẻ trống.

(E)

Cấu trúc lôgic cung cấp thông tin về các phần tử và thứ tự đưa chúng vào tài liệu.

2. Đặc điểm nào là đúng hoặc sai khi tài liệu XML được tạo bởi trình soạn thảo XML?

(A)

Cú pháp XML được tô màu.

(B)

XML không được xác thực.

(C)

Trình phân tích cú pháp XML đọc tài liệu sau khi nó được tạo.

(D)

XML chỉ được chuyển đổi qua XSLT.

(E)

Tài liệu XML được chỉnh sửa bằng cách ghi nhớ DTD.

3. Câu nào về trình duyệt và trình phân tích cú pháp XML là đúng và câu nào sai?

(A)

Trình phân tích cú pháp XML được tính toán dựa trên tốc độ và hiệu suất của nó.

(B)

Trình phân tích cú pháp XML kiểm tra tính hợp lệ và đúng định dạng.

(C)

Trình phân tích cú pháp XML thực hiện công việc của nó sau khi bộ xử lý chuyển đổi tài liệu thành cấu trúc dữ liệu.

(D)

Trình duyệt hiển thị nội dung trực tiếp sau khi trình phân tích cú pháp chuyển dữ liệu.

(E)

Crimson và Xerces là một số trình duyệt.

 
» Tiếp: Bài 1.3. Làm việc với XML
« Trước: Bài 1.1. Giới thiệu về XML
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!