2.1.1. Một số ngôn ngữ đánh dấu
Thuật ngữ đánh dấu nói đến các mã hay các dấu hiệu ngƣời ta đƣa vào một tài liệu để chỉ ra cách thể hiện dữ liệu trong tài liệu đó. Nói cách khác đánh dấu là mô tả dữ liệu trong tài liệu và cách nó sẽ đƣợc thể hiện.
Ngôn ngữ đánh dấu hầu hết mọi ngƣời đều nghe nói đến là ngôn ngữ đánh dấu siêu văn bản HTML dùng để tạo trang Web. Giả sử trang Web. Ví dụ 2.1:
<HTML> <HEAD>
<TITLE>Hello From HTML</TITLE> </HEAD> <BODY> <CENTER> <H1> Tai Liệu HTML </H1> </CENTER>
HTML xin chao cac ban! </BODY>
</HTML>
Dấu HTML là các thẻ <HEAD> </HEAD>, <BODY> </BODY>,…. các thẻ này do trình duyệt biết cách thể hiện dữ liệu trong tài liệu HTML.
Khi nói đến ngôn ngữ đấnh dấu có thể ngƣời ta liên tƣởng ngay đến HTML, nhƣng trong thực tế thì ngôn ngữ HTML rất giới hạn, nó thích hợp để tạo các trang Web chuẩn nhƣng nó không thể đi xa hơn. Ngƣời ta không thể tự tạo các thẻ để quản lý cho mọi tình huống, ví dụ HTML không có các thẻ: <firstname>, <lastname>, <amount>… điều này dẫn đến sự ra đời của XML. Toàn bộ ý tƣởng đằng sau XML là cho phép ngƣời ta tự định nghĩa dấu cho chính ngƣời ta và khả năng này là vô hạn.
2.1.2. Ngôn ngữ đánh dấu mở rộng XML
XML, Ngôn ngữ Đánh dấu Mở rộng, là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra các ngôn ngữ đánh dấu khác. Đây là một tập con đơn giản của 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 hệ thống khác nhau, đặc biệt là các hệ thống đƣợc kết nối với Internet. Các ngôn ngữ dựa trên XML (thí dụ: RDF, RSS, MathML, xHTML, SVG, và cXML) đƣợc định nghĩa theo cách thông thƣờng, cho phép các chƣơng trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trƣớc về hình thức của chúng. Các thẻ XML không đƣợc định nghĩa sẵn, ngƣời ta phải tự định nghĩa. Dùng định nghĩa kiểu tài liệu (DTD) hoặc lƣợc đồ XML để mô tả dữ liệu. XML kết hợp với DTD hoặc lƣợc đồ XML đƣợc thiết kế để tự mô tả.
Hình 2.1: Ngôn ngữ HTML
2.1.3.. Sự khác nhau giữa XML và HTML
XML đƣợc tạo ra không phải để thay thế HTML mà để bổ túc cho HTML. XML đƣợc thiểt kế để mô tả dữ liệu và tập trung lên vấn đề đó là dữ liệu gì. HTML đƣợc thiết kế để hiển thị dữ liệu và tập trung lên vấn đề dữ liệu đƣợc thể hiện nhƣ thế nào trên mặt trình duyệt.
XML không thực hiện mọi thứ : XML không đƣợc thiết kế để thực hiên mọi thứ, nó đƣợc tạo ra để cấu trúc, lƣu trữ và gửi thông tin.. Ví dụ 2.2 sau đây cho thấy nội dung của một tài liệu XML :
<?xml version=”1.0” encoding=”UTF-8”?> <note>
<to> Doc Gia</to>
<from>Nha Sach Minh Khai</from> <headinh>Tu Sach De Hoc</headinh> <body>
XML – Ngon ngu danh dau mo rong </body>
</note>
Ngƣời ta thấy nó là một tập tin văn bản thuần tuý, thông tin ghi chú có thông tin về ngƣời gửi, ngƣời nhận, tiêu đề và phần thông điệp đƣợc bao trong các thẻ XML. Cần phải viết mã chƣơng trình để gửi, nhận hoặc hiển thị nó.
XML đƣợc tự do mở rộng: Các thẻ đƣợc dùng để đánh dấu và cấu trúc tài liệu HTML đƣợc định nghĩa sắn, khi tạo tài liệu HTML bắt buộc phải sử dụng các thẻ HTML đƣợc định nghĩa sẵn trong chuẩn HTML nhƣ <H1>,<CENTER>,… XML cho phép ngƣời ta định nghĩa và cấu trúc tài liệu XML cho riêng bạn. Nhƣ trong ví du , thẻ <note>, <to>… không đƣợc định nghĩa trong bất kỳ XML chuẩn nào. Những thẻ này do ngƣời tạo ra tài liệu định nghĩa.
2.1.4. Lịch sử hình thành và phát triển XML
Trong ngành ấn loát, để chỉ thị cho thợ sắp chữ về cách in một bài viết, tác giả hay chủ bút thƣờng vẽ các vòng tròn trong bản thảo và chú thích bằng một ngôn ngữ đánh dấu tƣơng tự nhƣ tốc ký. Ngôn ngữ ấy đƣợc gọi là Markup Language.
XML là một ngôn ngữ đánh dấu tƣơng đối mới và đến từ một ngôn ngữ đánh dấu già dặn tên là SGML. Ngôn ngữ HTML cũng dựa vào SGML, thật ra nó là một áp dụng của SGML.
SGML đƣợc phát minh bởi Ed Mosher, Ray Lorie và Charles F. Goldfarb của nhóm IBM research vào năm 1969, khi con ngƣời đặt chân lên mặt trăng.
Lúc đầu nó có tên là GML, và đƣợc thiết kế để dùng làm meta-language, một ngôn ngữ đƣợc dùng để diễn tả các ngôn ngữ khác - văn phạm, ngữ vựng của chúng... Năm 1986, SGML đƣợc cơ quan ISO nhận làm tiêu chuẩn để lƣu trữ và trao đổi dữ liệu. Khi Tim Berners-Lee triển khai HTML để dùng cho các trang Web hồi đầu thập niên 1990, ông ta cứ nhắc nhở rằng HTML là một áp dụng của SGML.
Hình 2.3: Sơ đồ SGML
Vì SGML rất rắc rối, và HTML có nhiều giới hạn nên năm 1996 tổ chức W3C thiết kế XML. XML version 1.0 đƣợc định nghĩa trong hồ sơ khuyến cáo W3C, giống nhƣ một RFC, là một "tiêu chuẩn". Từ HTML đến XML.
2.2. Đặc điểm của XML
XML cung cấp một phƣơng tiện dùng văn bản để mô tả thông tin và áp dụng một cấu trúc kiểu cây cho thông tin đó. Tại mức căn bản, mọi thông tin đều thể hiện dƣới dạng text, chen giữa là các thẻ đánh dấu với nhiệm vụ ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó. Về mặt đó, XML tƣơng tự với các biểu thức S của ngôn ngữ lập trình LISP ở chỗ chúng đều mô tả các cấu trúc cây mà trong đó mỗi nút có thể có một danh sách, tính chất của riêng mình.
Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Bộ ký tự toàn cầu. Các ký tự đƣợc kết hợp theo các tổ hợp chuỗi hợp lệ để tạo thành một tài liệu XML. Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể thƣờng là một phần nào đó của các ký tự thuộc tài liệu, đƣợc mã hóa dƣới dạng một chuỗi các bit và lƣu trữ trong một tệp văn bản.