Thứ Ba, 18 tháng 12, 2007

XML, KỸ THUẬT TIN HỌC NỒNG CỐT TRONG TƯƠNG LAI.

Nếu phải tiên đoán kỹ thuật tin học nào chắc chắn sẽ thịnh hành trong tương lai, ta không cần phải học chiêm tinh cũng nhắc đến XML. Vì hiện nay cả Microsoft lẫn phái đối lập (Sun, Oracles, IBM v.v..) đều ôm chầm lấy XML và dùng nó trong mọi ứng dụng. Vậy XML là gì? XML, viết tắt của chữ eXtensible Markup Language, là một bộ qui luật về cách chia một tài liệu ra làm nhiều phần, rồi đánh dấu và ráp các phần khác nhau lại để dễ nhận diện chúng.
Có lẽ bạn đã dùng qua HTML để viết các trang Web. Trong một trang Web ta dùng những Tag Pairs (cặp nhãn hiệu mở đóng) để đánh dấu như và . Hãy quan sát một trang Web dưới đây:


Zensoft Website


Chuyên Thiết kế

Website, Gia công phần mềm,

Theo yêu cầu.



Trong HTML Web page các Tag Pair đều được định nghĩa trước và không chứa đựng ý nghĩa gì về dữ kiện mà chúng kẹp bên trong, trừ trường hợp cho TITLE. Thí dụ H1 có nghĩa display hàng chữ bên trong (Tiển Em Đi) theo cở lớn nhất, nhưng hàng chữ ấy có thể là bất cứ thứ gì, không nhất thiết phải là tựa đề của bài thơ ở đây. Còn XML thì cho phép ta tự do đặt tên các Tag Pair để dùng khi cần. Nếu tính ra, Dynamic HTML có đến khoảng 400 Tags mà nếu muốn dùng ta phải nhớ hết. Trong khi đó, XML không có giới hạn về con số Tags và ta không cần phải nhớ Tag nào cả. Ý nghĩa của các Tag rất linh động và ta có thể sắp xếp các tags của XML theo loại cho hợp lý. Thí dụ muốn làm một trang XML về gia phả ta cần những Tag diễn tả nhân vật, ngày sinh, ngày tử, chỗ chôn, gia đình, cưới, ly dị .v.v..
Phân biệt DỮ LIỆU với CÁCH TRÌNH BÀY
XML diễn tả cấu trúc và ý nghĩa của các phần của tài liệu chớ không quan tâm đến cách trình bày tài liệu. Ngược lại HTML bao gồm vừa cách trình bày, thí dụ như được dùng cho BOLD (chữ đậm), vừa cấu trúc, thí dụ như các Tag dùng bên trong một TABLE . Khi muốn trình bày các dữ kiện của một trang XML theo kiểu nào ta dùng một Style Sheet cho nó. Thí dụ ta muốn trình bày cùng một trang XML với những dữ kiện về giá cả khẩu phần trên một PC và một Mobile Phone (điện thoại di động), ta sẽ dùng hai Style Sheet khác nhau, một cho PC, cái kia cho Mobile Phone. Trong trường hợp nầy, XML tiện ở chỗ khi giá cả khẩu phần thay đổi trên thị trường ta không cần phải làm một trang HTML mới cho chúng, chỉ tiếp tục dùng cùng một Style Sheet với dữ kiện mới. Đi xa hơn nữa, sự trình bày không nhất thiết phải trên một màn ảnh cho người ta xem, nó có thể dưới hình thức âm thanh hay multimedia (vừa hình ảnh, vừa âm thanh). Tưởng tượng trong tuổi già bạn nằm trên Bãi Sau (Vũng Tàu) nghe đọc truyện Kiếm Hiệp của Kim Dung qua kỹ thuật dùng XML chứa truyện bằng Unicode cho chữ Việt và một Style Sheet biến chữ Việt nhận từ Internet qua Mobile Phone thành âm thanh, có nhiều giọng nam, nữ và khi nào trong Style Sheet có dùng BOLD thì người đọc nói lớn hơn.
Trao đổi dữ kiện, tài liệu
Vì cả tài liệu XML đều nằm dưới dạng Text String nên nếu gởi đi xa có hư mất chút đỉnh, đầu kia cũng đoán ra được. Giả dụ vào thế kỹ 23 sau nầy có ai bắt được một tài liệu XML của năm 2000, nhưng trong đó có vài chữ bị mờ, họ cũng đoán Trương Thúy Sơn có nghĩa là Trương Thúy Sơn . Mặc dầu ta nói ai muốn đặt ra TAG nào trong XML cũng được, nhưng thí dụ mỗi nghề nghiệp như hóa học, y học, toán học, âm nhạc ấn định một số TAGs, mỗi TAG có ý nghĩa theo sự đồng ý trước trong nghề của mình, người ta có thể dùng XML và Style Sheet để quy định cách chứa dữ kiện và ngay cả cách trình bày cho riêng nghề của mình. Một công ty xây cất có thể dùng một chương trình chạy tự động (Robot) để dọ giá những vật liệu tư từ các công ty cung cấp qua cách dùng XML. Đây là khởi đầu cho việc giao dịch kinh doanh tự động (Business-To-Business hay B2B). Có một quy ước về cách dùng XML để trao đổi dữ kiện đã được triển khai gọi là "Open Financial Exchange Format (OFX)". Người ta thiết kế OFX để cho các chương trình tài chánh như Microsoft Money và Quicken trao đổi dữ kiện hay gởi các dữ kiện tài chánh đến nhà băng .v.v.. Vì XML là một chuẩn công cộng, không thuộc về một công ty nào, nên người dùng không sợ phải đụng chạm ai về copyright, ba-tăng, hay bị giới hạn cách sử dụng .v.v..Thí dụ như với XML ta có thể tránh phải lệ thuộc hoàn toàn vào MSWord khi gởi một tài liệu vì sợ đầu kia người ta không có MSWord. Miễn là tất cả các Word Processors đều đọc, viết XML được, ta có thể dùng XML làm phương tiện trao đổi các tài liệu. Người dùng ở mỗi nơi có thể tự do chọn một Word Processor theo sở thích. XML không những cho bạn định nghĩa các phần của tài liệu mà còn đặt qui ước về sự liên hệ của các phần ấy. Thí dụ bạn đang làm một trang Web để ghi tên những người bạn cần liên lạc, bạn có thể đòi hỏi cho mỗi người đều bắt buộc phải có số điện thoại và Email. Để khi đánh dữ kiện vào bạn sẽ không thiếu chi tiết nào. Cuối cùng XML sẽ trở thành như một cơ sở dữ kiện với dạng phổ thông để ta dùng cách linh động.
Một chút lịch sử của XML
XML được triển khai nhờ sự đóng góp của rất nhiều người trong mười năm qua. Cách đây hơn 10 năm ta có SGML (Standard Generalised Markup Language), một ngôn ngữ quốc tế rất phức tạp, dùng để diễn tả tài liệu đa dạng và có cấu trúc tinh vi. Tuy rằng nó làm gì cũng được nhưng quá rắc rối, khó học, khó dùng và nhất là các dụng cụ của nó cũng rất đắt tiền. Nên Tim Berners-Lee ở CERN, hồi năm 1990, sáng chế ra HTML, một phần nhỏ của SGML, nhưng dễ dùng, thích hợp với người phàm, mắt thịt như chúng ta, có thể được viết bằng tay, không cần một chương trình nào giúp đở (authoring tool). Sự thành công của HTML vượt quá sức tưởng tượng của chính soạn giả của nó. Đến khoảng năm 1995 người ta bắt đầu thấy sự giới hạn của HTML, dầu nó được Netscape, Microsoft thêm thắt đủ thứ, bởi sự thịnh hành của Web. Do đó nhiều chuyên gia có ý định viếng thăm trở lại SGML, nhưng ớn nó quá. Mùa hè 1996, Jon Bosak ở Sun Microsystem khởi đầu nhóm cộng tác (working group) W3C SGML, bấy giờ được gọi là nhóm XML. Mục đích của nhóm là đơn giản quá SGML để nó dễ dùng như HTML mà đồng thời mạnh mẽ, linh động (tức là vừa tốt, vừa đẹp, vừa bền lại vừa rẻ). Tim Bray và C.M. Sperberg-McQueen viết hầu hết Specification (bản điều kiện kỹ thuật) nguyên thủy của XML. Trước đó, Bray đã có kinh nghiệm nhiều năm quản lý dự án "New Oxford English Dictionary". Ông muốn XML hội các điều kiện sau: đơn giản đủ cho lập trình viên áp dụng không giới hạn trong tiếng Anh của nước Mỹ dễ cho Search Engine (như Yahoo, AltaVista, Infoseek .v.v..) sắp loại Bản Specification nháp đầu tiên của XML được phát hành vào tháng 11 năm 1996, năm sau là nhiều nhuận bản. Tháng 7 năm 1997 Microsoft đem trình làng áp dụng thật sự đầu tiên của XML, Channel Definition Format (CDF). Họ dùng CDF để xuất bản các trang Web đến những khách đã đóng tiền tháng (subscribers). CDF là một phần của Internet Explorer 4.0. Tháng năm 1997 Microsoft và Inso Corporation xuất bản XSL (eXtensible Style Language) để làm Style Sheet diễn tả cách trình bày một trang XML. Tháng giêng năm 1998 Microsoft cho ra một chương trình miễn phí tên MSXSL để generate một trang HTML từ một cặp trang XML và XSL. Sau nầy thì Internet Explorer 5 có thể display trực tiếp một trang XML (bên trong có ghi phải tìm trang XSL ở đâu), không cần cho thấy kết quả trang HTML. Đến tháng 2 năm 1998 W3C phê chuẩn cho chính thức thi hành Version 1.0 của XML Specification.
Viết một trang XML đơn giản
Ta hãy thử viết một trang XML đơn giản nhất:

Zensoft chuyên Thiết kế website...

Bạn có thể dùng Notepad để viết trang trên và chứa trong một file tên là "chaohoi.xml" . XML dùng Unicode, nên bạn có thể dùng Notepad của hệ điều hành Windows để Edit và chứa file dưới dạng Unicode thay vì text (xem Unicode cho chữ Việt). File XML có thể là Unicode hay một dạng nén của Unicode gọi là UTF-8 (nó dùng 1 byte để biểu diễn một mẫu tự nếu có thể được, nếu không được thì dùng 2 bytes như bình thường). Nếu bạn không có ý định dùng chữ Việt thì chỉ cần dùng ASCII text bình thường cho XML là được rồi. Mỗi trang XML đều bắt đầu bằng một "XML processing instruction" (lệnh xử lý XML). Processing instruction bắt đầu với . Chữ đầu tiên ngay sau
là một Tag Pair. Nó kẹp một dữ kiện bên trong. Thật ra ta có thể đặt tên cho Tag nầy thứ gì cũng được. Tức là cùng một trang XML nói trên, ta đã có thể viết theo một trong ba cách sau đây:
Welcome to Zensoft Website hay Zensoft chúc các bạn một ngày làm việc vui vẻ! hay Zensoft tư vấn miễn phí về IT cho khách hàng.
Mặc dù các Tag có tên khác nhau, nhưng cả ba trang XML đều có cùng cấu trúc và dữ liệu. Tuy nhiên, nếu đã có dự kiến chúng ta nên chọn tên các Tag cho có ý nghĩa rõ ràng để dễ trình bày trang XML cách trong sáng sau này.
Trên đây, tôi mới giới thiệu cho các bạn khái niệm và cách viết 1 trang XML đơn giản. Phần sau, tôi sẽ giới thiệu tiếp về Well-Formed XML, Kiểm soát ý nghĩa (Validating) của XML, XSL.

Không có nhận xét nào: