Extensible Markup Language – XML

Giới thiệu

Trong nội dung bài này, chúng ta cùng tìm hiểu một định dạng biểu diễn dữ liệu quen thuộc là XML.

XML (eXtensible Markup Language), nghĩa là “Ngôn ngữ đánh dấu mở rộng”, là ngôn ngữ đánh dấu với mục đích chung do World Wide Web Consortium (W3C) đề nghị.

Đây là một tập con được kế thừa từ Standard Generalized Markup Language (SGML), có khả năng mô tả nhiều loại dữ liệu khác nhau.

Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các platform và các hệ thống được kết nối với mạng Internet.

Chính vì vậy, XML có tác dụng rất lớn trong việc chia sẻ, trao đổi dữ liệu giữa các hệ thống.

Đặc điểm

Đặc trưng làm XML hữu ích:

  • XML được dùng cho dữ liệu có cấu trúc.
  • XML là có thể mở rộng: chúng ta có thể tạo các thẻ theo qui ước riêng để phù hợp với ứng dụng.
  • XML mang dữ liệu chứ không hiển thị: chúng ta có thể lưu giữ dữ liệu mà không quan tâm đến cái cách nó sẽ được hiển thị.
  • XML là một chuẩn chung: XML được phát triển bởi tổ chức World Wide Web Consortium (W3C) như một chuẩn mở.
  • Về trực quan, XML khá giống với HTML.
  • XML có thể đọc và phân tích nguồn dữ liệu khá dễ dàng nên nó được sử dụng với mục đích chính là trao đổi dữ liệu giữa các chương trình, các hệ thống khác nhau.

Cú pháp

Cú pháp XML cơ bản cho một phần tử là

<tên thuộc_tính=“giá trị”>nội dung</tên>

Ví dụ nội dung của một file XML bao gồm 02 dòng:

<?xml version=“1.0” encoding=“UTF-8”?>

<category_list>Đây là thông tin danh mục</category_list>

Dòng đầu tiên là Khai báo XML (XML declaration): đó là một dòng không bắt buộc, với nhiệm vụ thông báo phiên bản XML đang được sử dụng (thường là phiên bản 1.0), và còn có thể chứa thông tin về mã hóa ký tự và các phụ thuộc bên ngoài.

Phần còn lại của XML chứa các phần tử lồng nhau, một số phần tử trong đó có các thuộc tínhnội dung.

Một phần tử thường bao gồm hai thẻ (tag): một thẻ bắt đầu và một thẻ kết thúc.

Thẻ bắt đầu bao gồm một cái tên đặt trong một cặp ngoặc nhọn như: <category_list>.

Thẻ kết thúc bao gồm chính cái tên đó đặt trong một cặp ngoặc nhọn với một dấu gạch chéo đứng trước như: </category_list>.

Nội dung của phần tử là tất cả những gì nằm giữa thẻ bắt đầuthẻ kết thúc, bao gồm văn bản và các phần tử (con) khác.

Biểu diễn dữ liệu

Chúng ta thực hiện biểu diễn dữ liệu trong XML theo đặc tả trong các Hệ quản trị cơ sở dữ liệu.

Bước 1.

Chúng ta có đặc tả cơ sở dữ liệu trong PostgreSQL như sau:

Bước 2.

Chúng ta đặc tả file category.xml cho bảng category có bao gồm cả dữ liệu như sau:

Bước 3.

Chúng ta đặc tả file product.xml cho bảng product có bao gồm cả dữ liệu như sau:

Bước 4.

Chúng ta cũng có thể đặc tả file complex.xml cho cả 02 bảng categoryproduct lồng nhau.

Chú ý rằng với cách này thì cần chú ý về độ lớn của dữ liệu và sự phức tạp trong quá trình truy xuất.

Kết luận

Trong bài này chúng ta đã cùng tìm hiểu sơ bộ về định dạng XML để đặc tả và lưu trữ dữ liệu.

Trong các bài tiếp theo chúng ta sẽ cùng nhau tìm hiểu cách thức truy xuất định dạng XML từ với những kỹ thuật lập trình phù hợp.

Leave a comment