CĂN BẢN VỀ XML



Ngôn Ngữ : Tiếng Việt

Nhà Xuất Bản : Đại Học Công Ngiệp Hà Nội



Giới thiệu



XML là gì?


XML, hoặc Extensible Markup Language (ngôn ngữ đánh dấu mở rộng), là một ngôn ngữ đánh dấu mà bạn có thể sử dụng để tạo ra thẻ riêng của mình. Nó được tạo nên bởi Liên minh mạng toàn cầu nhằm khắc phục những hạn chế của HTML - ngôn ngữ đánh dấu siêu văn bản, là cơ sở của mọi trang Web. Giống như HTML, XML cũng được dựa trên SGML – Standard Generalized Markup Language. Mặc dù SGML được sử dụng trong ngành công nghiệp xuất bản trong nhiều thập kỷ, nhưng sự phức tạp của nó đều khiến những ai từng sử dụng nó mà không có cách nào khác phải thấy mệt mỏi (một cách nói vui, SGML cũng là "Sounds great, maybe later").


Tại sao chúng ta cần XML?

HTML là ngôn ngữ đánh dấu thành công nhất từ trước tới nay. Bạn có thể thấy dấu ấn của HTML đơn giản nhất trên bất cứ công cụ nào, từ thiết bị cầm tay tới máy chủ, thậm chí bạn còn có thể chuyển đổi đánh dấu HTML sang lời nói hoặc các định dạng khác với những công cụ chính xác. HTML thành công như thế, tại sao W3C lại tạo ra XML? Để trả lời cho câu hỏi này, hãy xem tài liệu dưới đây:



<p><b>Mrs. Mary McGoon</b>

<br> Mrs. Mary McGoon

Mã lệnh : 1401 Main Street Kết quả : 1401 Main Street

<br> Anytown, NC 34829

Anytown, NC 34829</p>



Vấn đề của HTML là nó được thiết kế như trong ý nghĩ của con người. Cho dù thông tin trên HTML không được thể hiện trên một trình duyệt thì chúng ta vẫn đoán biết được rằng đó là một địa chỉ bưu điện của ai đó. (Cụ thể hơn là địa chỉ bưu điện ở Mỹ; và thậm chí dù bạn không biết rõ về các khu vực bưu điện ở Mỹ thì bạn vẫn có thể đoán ra nó đang nói về cái gì.)

Con người chúng ta đều có trí thông minh để hiểu được ý nghĩa và mục đích của hầu hết các văn bản. Tuy nhiên một cỗ máy lại không như thế. Khi các thẻ trong tài liệu này chỉ cho một trình duyệt cách thể hiện thông tin, thì bản thân các thẻ lại không chỉ cho trình duyệt thông tin đó là gì. Bạn và tôi đều biết đó là một địa chỉ, nhưng máy móc thì không thế.


Diễn tả HTML

Để diễn tả HTML, trình duyệt phải tuân theo các chỉ dẫn của tài liệu HTML. Đoạn thẻ cho trình duyệt biết phải bắt đầu diễn tả trên một dòng mới, điển hình là bằng một dòng trống phía trước, hai thẻ tách cho trình duyệt biết phải diễn tả dòng tiếp theo mà không có dòng trống ở giữa. Ngay cả khi trình duyệt định dạng tài liệu rất đẹp đẽ thì máy móc vẫn không biết đó là một địa chỉ.



Xử lý HTML

Về vấn đề này của tài liệu HTML mẫu, thử tính đến việc rút mã bưu chính ra khỏi địa chỉ này. Đây là một thuật toán (tách gỡ có chủ ý) nhằm tìm ra mã bưu chính trong đánh dấu HTML:

Nếu bạn tìm thấy một đoạn có hai <br> thẻ, mã bưu chính chính là từ thứ hai sau dấy phẩy đầu tiên trong thẻ thứ hai.

Cho dù thuật toán này có thể giải quyết được ví dụ trên, nhưng sẽ có vô số các địa chỉ hoàn toàn tồn tại trên khắp thế giới mà thuật toán này không thể giải quyết được. Và thậm chí nếu bạn có thể viết được thuật toán tìm mã bưu chính trong mọi địa chỉ diễn tả trong HTML, thì cũng có vô số các đoạn với hai thẻ mà không chứa một địa chỉ nào cả. Vì vậy viết ra một thuật toán có thể tìm được mã bưu chính trong mọi đoạn HTML là vô cùng khó, nếu không nói là không thể.



XML đang thay đổi Web như thế nào ?

Bây giờ bạn đã thấy những nhân viên phát triển sử dụng XML để tạo nên văn bản với các dữ liệu tự-mô tả như thế nào, chúng ta hãy xem người ta đang sử dụng những văn bản này để cải thiện Web như thế nào. Dưới đây là một số lĩnh vực chủ chốt:

XML đơn giản hóa việc trao đổi dữ liệu. Bởi vì những tổ chức khác (hoặc thậm chí là các phần khác nhau trong cùng tổ chức) hiếm khi làm chuẩn hóa trên một bộ công cụ duy nhất, chúng sẽ phải làm một số lượng đáng kể công việc để trao đổi thông tin. Sử dụng XML, mỗi nhóm sẽ tạo nên một lợi ích riêng mà có thể chuyển đổi những định dạng dữ liệu bên trong trở thành XML và ngược lại. Trên hết, đây là cơ hội tốt để nhà cung cấp phần mềm có thể đưa ra các công cụ chuyển đổi những ghi chép cơ sở dữ liệu của họ (danh bạ LDAP hoặc lệnh mua, v.v...) thành XML và ngược lại.


XML cho phép mã hóa thông minh. Bởi vì những văn bản XML được tổ chức để nhận dạng từng thông tin quan trọng (cũng như mối quan hệ giữa các thông tin), có thể viết mã để xử lí văn bản XML mà không cần con người tác động. Những nhà cung cấp phần mềm đã dành rất nhiều thời gian và tiền bạc xây dựng các công cụ phát triển XML, điều đó có nghĩa là viết mã đó, là một quá trình tương đối đơn giản.


XML cho phép tìm kiếm thông minh. Mặc dù công cụ tìm kiếm đã cải thiện dần trong nhiều năm qua, tuy nhiên nhận được những kết quả không chính xác vẫn phổ biến xảy ra. Nếu bạn đang tìm kiếm một ai đó mang tên “Chip” trong những trang HTML, bạn sẽ tìm thấy một loạt các trang web về chip sô-cô-la, chip máy tính, chip gỗ, và nhiều thứ vô dụng khác. Tìm kiếm văn bản XML cho <first-name> các yếu tố chứa từ Chip sẽ mang lại cho bạn những kết quả tốt hơn rất nhiều.


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 tụ 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ễ dàng cho các 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.



Phụ Lục

Chương mở đầu


Chương 1. XML (eXtensible Markup Language)


Chương 2. DTD (Document Type Definition)


Chương 3. Xpath (XML Path Language)


Chương 4. XSL (eXtensible style sheet)


Chương 5. XLink và XPointer