(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

Các câu hỏi để kiểm tra mức độ an toàn khi chia sẻ dữ liệu
- Tổng quan về mô hình hóa dữ liệu (Lượt đọc: 20759)
- Công nghệ tiêu chuẩn của kiến trúc Dịch vụ Web service (Lượt đọc: 18226)
- Kinh tế dữ liệu Châu Âu, hiện trạng và định hướng đến 2025 (Lượt đọc: 17245)
- Quản lý dữ liệu và các nguyên tắc quản lý dữ liệu tốt (Lượt đọc: 16619)
- Nghiên cứu và phân tích các mô hình cơ sở dữ liệu phổ biến (Lượt đọc: 12020)
- Tổng quan 7 điểm cơ bản về quản trị dữ liệu (Lượt đọc: 8126)
- Dữ liệu chủ và xác định dữ liệu chủ (Lượt đọc: 7827)
- Xác định cơ sở dữ liệu quốc gia và những điểm mới quy định về cơ sở dữ liệu quốc gia tại Nghị định 47/2020/NĐ-CP (Lượt đọc: 7351)
- Hướng dẫn mô hình công dân trong tổng thể các CSDL trong CQNN (Lượt đọc: 6176)
- Hiện trạng triển khai các Cơ sở dữ liệu quốc gia (Lượt đọc: 5860)
- Ứng dụng công nghệ thông tin trong điều tra thống kê và chia sẻ dữ liệu với các bộ, ngành (Lượt đọc: 5640)
- Phương pháp phân tích dữ liệu của Trung tâm phân tích dữ liệu thông minh tại Ấn Độ- CEDA (Lượt đọc: 5110)
- Tiêu chuẩn Lược đồ XML 1.1 (eXtensible Markup Language Schema 1.1 – XSD 1.1) (Lượt đọc: 5004)
- Bộ Thông tin và Truyền thông xin ý kiến về Chiến lược dữ liệu quốc gia (Lượt đọc: 4821)
- Hiểu đúng về chính phủ Mở (Lượt đọc: 4557)
- Hướng dẫn tuân thủ các yêu cầu cơ bản về tính năng, chức năng, đặc tính cung cấp dữ liệu của CSDLQG (Lượt đọc: 4180)
- Long An ban hành danh mục cơ sở dữ liệu dùng chung của tỉnh (Lượt đọc: 4174)
- Những thành phần cơ bản của XML (Lượt đọc: 3952)
- 61 cơ quan, đơn vị đã kết nối, liên thông dữ liệu qua nền tảng NGSP do Bộ TT&TT xây dựng (Lượt đọc: 3881)