Dữ liệu này bao gồm bảng công tác, sổ địa
chỉ, các tham số cấu hình, giao dịch tài chính và vẽ kỹ thuật.
XML là một hệ thống các luật (có thể coi là những hướng dẫn
hay quy ước) dùng cho việc thiết kế các format cho văn bản giúp
bạn tạo cấu trúc cho dữ liệu. XML không phải là ngôn ngữ lập
trình và bạn cũng không cần phải là một lập trình viên để
có thể học và sử dụng nó thành thạo. XML giúp cho máy tính
của bạn dễ dàng tạo dữ liệu, đọc dữ liệu và làm cho cấu
trúc dữ liệu của bạn trở nên rõ ràng dễ hiểu. XML còn giúp
bạn tránh được những bẫy thông thường trong thiết kế ngôn
ngữ: nó có thể mở rộng, có platform hoàn toàn độc lập và
hỗ trợ tính quốc tế hoá và nội địa hoá. XML hỗ trợ hoàn
toàn Unicode.
Tương tự HTML, XML cũng sử dụng các tags (các từ được
đặt trong ngoặc với '<' và '>') và dùng thuộc tính
(với mẫu
name="value"
). Trong khi HTML đặc biệt chú ý
tới từng tag và attribute có ý nghĩa gì, và phần văn bản giữa
các tag đó sẽ hiển thị như thế nào trong trình duyệt thì XML
sử dụng các tag chỉ để phân định ranh giới giữa các mẩu
dữ liệu, và coi việc đọc và xử lý dữ liệu đó hoàn toàn
là nhiệm vụ của ứng dụng. Nói cách khác, nếu bạn thấy "<p>"
trong một file XML, đừng cho rằng đó là ký hiệu của một đoạn.
Tuỳ thuộc vào văn cảnh, nó có thể là giá (price), một tham số
(a parameter), một người (a person), hay một cái gì đó bắt đầu
bằng chữ cái 'p' trong tiếng Anh.
Các chương trình dùng để tạo bảng công tác, sổ địa chỉ,
và các dữ liệu được cấu trúc hóa thông thường lưu dữ liệu
trên đĩa, sử dụng khuôn dạng text hay nhị phân. Một thuận lợi
của khuôn dạng văn bản là cho phép người ta, nếu cần thiết,
có thể xem dữ liệu mà không cần phải có chương trình đã tạo
ra dữ liệu đó; nói cách khác, bạn có thể đọc nó với bất
kì bộ soạn thảo văn bản nào mà bạn thích. Các khuôn dạng
văn bản cũng cho phép người ta tìm lỗi dễ dàng hơn trong các
ứng dụng. Giống như HTML, các file XML là những file văn bản được
tạo ra không phải với mục đích để đọc, nhưng cũng không
loại trừ trường hợp nếu cần thì vẫn có thể đọc được.
Tuy nhiên XML lại có điểm không bằng HTML, các luật dùng trong
file XML rất hạn chế. Chỉ cần quên một tag, hay một thuộc tính
không đi kèm với nội dung (quots) sẽ làm cho toàn bộ file XML đó
ngừng hoạt động, trong khi ở HTML những lỗi này có thể được
bỏ qua. Bản ghi XML chính thức không cho phép các ứng dụng tìm
hiểu đến lần thứ 2 nguyên nhân gây lỗi file XML; nếu file bị
lỗi ứng dụng đó ngừng hoạt động ngay lập tức và báo lỗi.
Vì XML là định dạng văn bản và nó sử dụng
tag để phân định từng chức năng trong dữ liệu nên file XML
hầu như luôn lớn hơn định dạng nhị phân. Đó là chủ ý của
người tạo ra XML. Những điểm mạnh của định dạng văn bản
đã được nêu rõ (ở điểm 3), và những bất cập có thể được
đền bù ở mức độ khác. Đĩa với dung lượng lớn ngày nay
rẻ hơn trước kia, và các chương trình nén như zip và gzip có thể nén file
rất nhanh chóng và chất lượng. Thêm vào đó, giao thức truyền
thông như HTTP/1.1, giao
thức chính dùng trong web, có thể nén dữ liệu nhanh chóng và ghi
lại dải tần hiệu quả như định dạng nhị phân.
XML 1.0 là một
bản ghi định nghĩa về "tags" và "thuộc tính". Trên XML 1.0, "the
XML family" là một bộ các module cung cấp các dịch vụ hữu dụng
để hoàn thành những nhiệm vụ yêu cầu có tính chất thường
xuyên và quan trọng. Xlink được coi như một phương thức chuẩn
để đưa các liên kết siêu văn bản vào file XML. XPointer and XFragments là những cú
pháp để phát triển các phần trong văn bản XML . XPointer có đôi
chỗ giống URL, nhưng thay vì tập trung vào văn bản trên mạng,
nó lại tập trung vào từng đoạn dữ liệu trong file XML. CSS, the style sheet language, có thể áp dụng
được đối với XML giống như HTML. XSL là một loại ngôn ngữ rất tiến bộ dùng cho style sheets.
Nó dựa trên XSLT, một loại ngôn ngữ
chuyển đổi sử dụng trong việc sắp xếp lại, thêm vào và xoá
đi một số tag và thuộc tính. DOM
là một bộ các chức năng chuẩn dùng cho thao tác file XML (và HTML)
từ một ngôn ngữ lập trình. XML Schemas
1 và 2 giúp các nhà
thiết kế định nghĩa chính xác cấu trúc định dạng trên của
chính họ. Ngoài ra còn có một số module và công cụ khác hay vẫn
còn đang được phát triển. Xin các bạn đọc thêm W3C's
technical reports page.
Việc phát triển XML được bắt đầu năm 1996 và đã được
W3C khuyến cáo sử dụng từ tháng 2 năm 1998. Điều này có thể
khiến bạn nghĩ rằng, XML là công nghệ mới . Trên thực tế,
công nghệ này không còn là mới lạ. Trước XML cũng đã có SGML,
thiết kế vào đầu những năm 80, đạt tiêu chuẩn ISO từ năm
1986 và được người ta sử dụng rộng rãi trong những dự án
lớn. HTML bắt đầu được xây dựng từ năm 1990. Người tạo
ra XML đơn giản chỉ tận dụng những điểm mạnh của SGML, cùng
với kinh nghiệm có được từ HTML đã tạo ra sản phẩm không
thua kém gì SGML, thêm vào đó nó rất thông dụng và dễ dùng.
Tuy nhiên có những phát triển trong công nghệ khiến người ta
khó phân biệt với cuộc cách mạng công nghệ... Và phải nói
rằng trong khi SGML được sử dụng chủ yếu trong các văn bản
kỹ thuật, và cả trong một số ít các loại dữ liệu khác thì
XML lại hoàn toàn ngược lại.
XML có một ứng dụng rất quan trọng đó là khuôn dạng văn bản:
XHTML của W3C, đây là thế hệ tiếp sau của HTML. XHTML có nhiều
điểm chung với HTML. Tuy nhiên, trong cú pháp cũng có một số thay
đổi để phù hợp với các luật trong XML. Một văn bản được
tạo ra với XML sẽ mang cấu trúc của XML và bị hạn chế ở
một số phương diện. (Ví dụ, XHTML cho phép "<p>", nhưng lại
không cho "<r>"); nó cũng bổ sung thêm ý nghĩa cho cú pháp (XHTML
qui định "<p>" là "đoạn văn (paragraph)", chứ không phải
"giá (price)", "người (person)", hay bất cứ một cái gì khác).
XML cho phép bạn tạo ra một khuôn dạng văn
bản mới bằng cách kết hợp hay sử dụng lại các khuôn dạng
có sẵn. Do 2 khuôn dạng được phát triển độc lập nên có thể
xuất hiện những đặc tính và thuộc tính có tên trùng nhau. Vì
vậy phải thận trọng khi kết hợp những khuôn dạng này với
nhau (nghĩa là "<p>" có thể là "paragraph" trong khuôn dạng này
nhưng lại là "person" trong khuôn dạng kia. Để tránh nhầm lẫn
tên khi kết hợp các khuôn dạng với nhau, XML cung cấp cơ chế
namespace. XSL và RDF là những ví dụ điển hình của
định dạng XML có sử dụng namespace. XML
Schema được thiết kế để mirror hỗ trợ ráp modun ở
mức tạo cấu trúc văn bản XML, bằng cách tạo điều kiện dễ
dàng kết hợp 2 giản đồ để tạo ra cái thứ 3 có cấu trúc
văn bản kết hợp.
Khung miêu tả tài nguyên của W3C (RDF) là một khuôn dạng văn bản XML hỗ trợ mô tả
tài nguyên và các ứng dụng metadata, ví dụ như danh sách bản
nhạc, bộ sưu tầm ảnh , sưu tầm thư mục. RDF cho phép bạn nhận
diện người trong album ảnh web sử dụng thông tin từ danh sách
liên lạc cá nhân; sau đó chương trình nhận gửi thư sẽ tự
động gửi message đến những người này thông báo cho họ biết
ảnh của họ đang ở trên mạng. Cũng như các văn bản tích hợp
HTML, hệ thống menu, và ứng dụng forms dùng để bắt đầu các
Web gốc, ứng dụng tích hợp RDF và các tác nhân trong Semantic Web.
Cũng giống như người ta cần có sự thống nhất về ý nghĩa
những từ họ sử dụng trong giao tiếp, các máy vi tính cần có
cơ chế thống nhất về ý nghĩa các thuật ngữ để truyền đạt
thông tin một cách hiệu quả. Định nghĩa chính thức các thuật
ngữ trong một vài lĩnh vực (mua bán hay sản xuất)gọi là bản
thể học rất cần thiết trong Web Semantic. RDF, bản thể học,
và việc thể hiện ý nghĩa vì vậy các máy tính có thể giúp
người ta tiến hành công việc của mình là toàn bộ nội dung
hoạt động của Semantic Web.
Khi lựa chọn XML làm cơ sở để thực hiện một dự án, bạn
có thể tiếp cận với rất nhiều các công cụ phát triển (một
trong số đó đã có sẵn cái bạn cần!) và người kỹ sư công
nghệ đã có kinh nghiệm trong lĩnh vực này. Lựa chọn XML có đôi
chút giống với chọn SQL cho cơ sở dữ liệu: bạn vẫn phải
xây dựng cơ sở dữ liệu cho mình và các chương trình riêng cũng
như phải có những qui tắc để thao tác nó. Có rất nhiều công
cụ có sẵn và bạn cũng có thể dễ dàng nhận được sự giúp
đỡ của nhiều người. Và vì XML không cần phải mua bản quyền
mới sử dụng được nên bạn có thể tạo cho mình một phần
mềm riêng mà không phải trả một khoản chi phí nào hết. Hỗ
trợ mà lớn chứng tỏ rằng bạn không có liên quan gì đến một
vendor nào hết. XML không phải lúc nào cũng là giải pháp tốt
nhất, nhưng nó luôn xứng đáng để người ta phải xem xét.
Copyright © 1999-2000 W3C® ( MIT, INRIA, Keio), All Rights Reserved.