angle-left null Các công nghệ XML liên quan để xây dựng ứng dụng XML
Trang chủ

18/05/2020 03:24

(data.gov.vn) Ngôn ngữ đánh dấu mở rộng XML (eXtensible Markup Language) có thể cung cấp các cải tiến mang tính cách mạng, chẳng hạn như xử lý các kết quả đầu ra của cơ sở dữ liệu và mở rộng quản lý dữ liệu bán cấu trúc

1. Lời mở đầu

Ngôn ngữ đánh dấu mở rộng XML (eXtensible Markup Language) có thể cung cấp các cải tiến mang tính cách mạng, chẳng hạn như xử lý các kết quả đầu ra của cơ sở dữ liệu và mở rộng quản lý dữ liệu bán cấu trúc. XML và các công nghệ liên quan ban đầu được tạo ra để cải thiện việc xử lý dữ liệu, áp dụng công nghệ quản lý dữ liệu và cung cấp cú pháp trung lập cho khả năng tương tác giữa các hệ thống thông tin, chuẩn hóa các khái niệm và lược đồ.

Bài viết này sẽ trình bày các công nghệ XML liên quan đóng vai trò quan trọng trong việc xây dựng các ứng dụng XML.

Giới thiệu về các công nghệ XML liên quan

Các công nghệ liên quan đến XML như XPath, XQuery, XSLT..., được sử dụng trong quá trình tạo các ứng dụng XML. Phần này cung cấp tổng quan về các công nghệ này và vai trò của chúng trong việc xây dựng các ứng dụng XML.

a. XPath - XML Path Language

Mặc dù XML là một ngôn ngữ để mô tả và lưu trữ dữ liệu nhưng với tốc độ phát triển của công nghệ thông tin thì nhu cầu của các ứng dụng không chỉ dừng lại ở mức lưu trữ, các hệ thống cần trao đổi thông tin với nhau. Để trao đổi thông tin trong các tài liệu XML thì ta cần một chuẩn chung để truy xuất dữ liệu. XPath được phát triển bởi W3C, là một ngôn ngữ được thiết kế với mục đích giúp cho các ứng dụng có thể di chuyển bên trong tài liệu XML và truy xuất các giá trị cũng như các thuộc tính của các phần tử (elements).

XPath sử dụng ký hiệu đường dẫn để điều hướng thông qua cây phân cấp của các tài liệu XML. Mặc dù, XPath được thiết kế để sử dụng cho các tài liệu XML, nhưng nó không sử dụng cú pháp XML nhỏ gọn. Hoạt động của XPath phụ thuộc vào cấu trúc logic trừu tượng của các tài liệu chứ không phải là cú pháp bề ngoài.

XPath coi mỗi tài liệu XML là một nút. Các nút có thể là gốc, phần tử, thuộc tính, hướng dẫn xử lý, nhận xét,... XPath cũng xem xét mối quan hệ giữa các nút ví dụ như cha mẹ, con cái, anh chị em ruột, tổ tiên và hậu duệ...

Mối quan hệ giữa các phần tử trong XPath được thể hiện như sau:

- Paren (nút cha mẹ): mỗi nút (phần tử, thuộc tính) đều có một nút paren.

- Children (nút con): mỗi nút có thể có nhiều nút con và cũng có thể không có nút con nào.

- Siblings (nút anh chị em ruột): là các nút có chung nút paren.

- Ancestors (nút tổ tiên): là các nút tổ tiên, bao gồm nút parent và các nút parent của parent.

- Descending: là các nút con cháu, bao gồm nút con (Children) và nút con (Children) của con (Children)

XPath sử dụng biểu thức path để di chuyển hoặc truy xuất thuộc tính trong các nút của tài liệu XML. Biểu thức được đặc tả như sau:

Biểu thức

Mô tả

Nodename

Chọn tất cả các nút có tên “nodename”

/

Chọn từ nút gốc

//

Chọn các nút trong tài liệu từ nút hiện tại khớp với chọn bất kể các nút khác cho dù chúng ở đâu

.

Chọn cha mẹ của nút hiện tại

@

Chọn thuộc tính

b. Xquery XML

Xquery XML đã chiếm lĩnh thế giới công nghệ trong những năm gần đây. Internet dựa trên cơ sở dữ liệu XML và hệ thống tệp để lưu trữ thông tin. Dữ liệu có cấu trúc, chẳng hạn như, bảng tính hoặc dữ liệu phi cấu trúc như hình ảnh và video hiện đang được lưu trữ trong XML.

Những dữ liệu này được sử dụng cho nhiều mục đích khác nhau. Các yếu tố dữ liệu khác nhau sẽ được sử dụng các trường khác nhau. Ví dụ: báo cáo bán hàng có thể được sử dụng cho báo cáo tài chính hoặc cơ quan thuế để tạo báo cáo thuế hoặc báo cáo có thể được sử dụng để lập kế hoạch trong tương lai. Do đó, để đáp ứng các yêu cầu này, W3C đã thiết kế một ngôn ngữ có thể truy vấn và chuyển đổi dữ liệu XML theo nhu cầu.

XQuery (XML Query - Ngôn ngữ truy vấn cơ sở dữ liệu XML) là một ngôn ngữ truy vấn cho phép người dùng chọn các thành phần dữ liệu XML, sắp xếp lại, chuyển đổi chúng và trả về kết quả trong cấu trúc mong muốn. XQuery đôi khi còn được gọi là “SQL của XML”.

XQuery có thể:

- Chọn thông tin mong muốn theo tiêu chí cụ thể.

- Lọc ra dữ liệu không mong muốn

- Thao tác và chuyển đổi dữ liệu

- Trích xuất thông tin từ cơ sở dữ liệu quan hệ để sử dụng trong dịch vụ web

- Tổng hợp dữ liệu từ nhiều nguồn

- Cấu trúc lại dữ liệu XML thành một biểu mẫu khác

- Trích xuất thông tin từ cơ sở dữ liệu XML và biểu diễn dữ liệu đầu ra

Xử lý truy vấn

Một tài liệu đầu vào XML là bất kỳ nguồn dữ liệu XML nào đang được truy vấn. Nó có thể là bất kỳ loại tài liệu XML nào như các tệp văn bản được viết bằng XML, dữ liệu được lưu trữ trong cơ sở dữ liệu XML, trích xuất các tài liệu XML là các truy xuất từ Web bằng URI.

Truy vấn XQuery có thể được đặt trong một tệp văn bản hoặc nó có thể là một đoạn mã được tạo động bởi một chương trình. Truy vấn cũng có thể được nhúng bên trong mã chương trình hoặc thư viện truy vấn.

Truy vấn được đánh giá dưới dạng ngữ cảnh. Ngữ cảnh bao gồm tất cả các yếu tố ảnh hưởng đến việc đánh giá truy vấn. Ngữ cảnh có thể bao gồm các giá trị như ngày, giờ và múi giờ.

Bộ xử lý XQuery là một phần mềm hoặc một thành phần của phần mềm phân tích cú pháp, phân tích và đánh giá truy vấn. Việc phân tích và đánh giá tương tự với việc biên dịch và thực thi mã. Ở giai đoạn phân tích, bộ xử lý XQuery tìm cú pháp và các lỗi khác độc lập với dữ liệu đầu vào gốc. Ở giai đoạn đánh giá, nó đánh giá và truy cập đầu ra của truy vấn dựa trên các tài liệu XML đầu vào.

Các kết quả sau đó được trả về dưới dạng một loạt các giá trị của bộ xử lý truy vấn. Các kết quả có thể được ghi vào một tài liệu XML bên ngoài, được gửi đến một giao diện người dùng hoặc được truyền tải tới một ứng dụng khác. Quá trình viết kết quả vào một tài liệu XML được thực hiện tuần tự.

c. XSLT

XSLT (viết tắt của tiếng Anh XSL Transformations - Chuyển đổi ngôn ngữ biểu định kiểu mở rộng) là là một khuyến nghị của W3C và là một ngôn ngữ dựa trên XML dùng để biến đổi các tài liệu XML. Tài liệu gốc thì không bị thay đổi; mà thay vào đó, một tài liệu XML mới được tạo ra dựa trên nội dung của tài liệu cũ. Tài liệu mới có thể là có định dạng XML hay là một định dạng nào đó khác, như HTML hay văn bản thuần. XSLT thường được sử dụng trong việc chuyển đổi dữ liệu giữa các lược đồ XML hay để chuyển đổi dữ liệu XML thành các trang web hay tài liệu dạng PDF.

XSLT là một ngôn ngữ linh hoạt được sử dụng để biến đổi một tài liệu XML thành một dạng tài liệu khác như:

- HTML (HyperText Markup Language - Ngôn ngữ đánh dấu siêu văn bản),

- XHTML (Extensible HyperText Markup Language - Ngôn ngữ đánh dấu siêu văn bản mở rộng) hoặc

- PDF (Portable Document Format - Định dạng tài liệu di động).

XSLT cũng giúp bổ sung, loại bỏ, sắp xếp lại các phần tử và các thuộc tính đến và từ một tài liệu đầu ra. XSLT sử dụng XPath (XML Path Language) để tìm và điều hướng các phần tử khác nhau trong một tài liệu XML.

Xử lý tài liệu với XSLT

Các tài liệu XSLT chứa các quy tắc cụ thể mà một tài liệu XML sẽ được chuyển đổi sang một tài liệu khác. Tài liệu XSLT chứa mẫu biểu định kiểu. Bộ xử lý XSLT so sánh các phần tử trong tài liệu XML nguồn với mẫu biểu định kiểu. Khi tìm một mẫu phù hợp, nó ghi nội dung trong mẫu vào tài liệu đầu ra. Sau khi hoàn thành bước này, bộ xử lý XSLT có thể tuần tự hóa đầu ra thành một tài liệu XML hoặc có thể tạo ra kết quả đầu ra theo một định dạng khác như HTML.

d. XHTML

XHTML (Extensible HyperText Markup Language) là Ngôn ngữ đánh dấu văn bản siêu mở rộng, một thế hệ HTML mới hơn được cải tiến để tuân thủ các tiêu chuẩn của XML. Nó đã là một khuyến nghị của W3C kể từ tháng 01/2000

HTML chỉ cung cấp các tính năng hạn chế mà chủ yếu là thuyết trình. Các nội dung dữ liệu như ký hiệu âm nhạc hoặc công thức hóa học, rất khó xử lý bằng cách sử dụng HTML. HTML cũng không thể theo kịp các yêu cầu mới về tổ chức, xử lý và phân phối dữ liệu. Một số nhu cầu ngày càng tăng có thể được thỏa mãn bởi các ngôn ngữ tuân thủ XML như XHTML là sự kết hợp giữa HTML và XML

Các tài liệu XHTML được viết bằng cú pháp XML, đòi hỏi nhiều kỷ luật hơn các tài liệu HTML. Một số quy tắc cơ bản để viết các tài liệu XHTML khác với HTML là:

- Các phần tử phải được lồng nhau đúng cách.

- Mỗi thẻ bắt đầu phải có thẻ kết thúc tương ứng.

- Không giống như HTML, XHTML phân biệt chữ hoa và chữ thường.

- Mỗi thuộc tính trong XHTML phải được trích dẫn.

4. Kết luận

XML là một trong các lựa chọn thay thế cho các mô hình dữ liệu thông thường như mô hình cơ sở dữ liệu hiện tại, mô hình cơ sở dữ liệu quan hệ thực thể. XML có thể cung cấp một định dạng mặc định cho nhiều đầu vào và đầu ra của cơ sở dữ liệu. Nó cho phép tạo và truyền thông tin tự mô tả (nếu người nhận hiểu ngữ nghĩa của các thẻ).

Trong quy chuẩn kỹ thuật quốc gia về cấu trúc thông điệp dữ liệu công dân trao đổi với cơ sở dữ liệu quốc gia về dân cư (QCVN số 109:2017/BTTTT) thì lược đồ XML (XSD) sử dụng ngôn ngữ đánh dấu mở rộng XML để các hệ thống thông tin chuyển đổi dữ liệu trong hệ thống từ/sang dữ liệu mã hóa bằng ngôn ngữ XML và sử dụng mô tả mô hình dữ liệu trao đổi giữa các hệ thống thông tin.

theo http://qcvn109.gov.vn/cong-nghe/cac-cong-nghe-xml-lien-quan-de-xay-dung-ung-dung-xml.html


Tin xem nhiều

placeholder image

Các câu hỏi để kiểm tra mức độ an toàn khi chia sẻ dữ liệu