XML vs SGML
XML là viết tắt của Ngôn ngữ đánh dấu mở rộng. Nó được định nghĩa trong đặc tả XML 1.0, được phát triển bởi W3C (World Wide Web Consortium). XML cung cấp một cách tiêu chuẩn, cũng đơn giản, để mã hóa dữ liệu và văn bản sao cho nội dung có thể được trao đổi trên phần cứng trình điều khiển, hệ điều hành và ứng dụng với sự can thiệp của con người. SGML (Ngôn ngữ đánh dấu tổng quát hóa tiêu chuẩn) là một tiêu chuẩn ISO (Tổ chức tiêu chuẩn hóa quốc tế) để chỉ định ngôn ngữ đánh dấu tài liệu hoặc một bộ thẻ. SGML không phải là ngôn ngữ tài liệu mà là Định nghĩa loại tài liệu (DTD).
XML
XML là ngôn ngữ đánh dấu được sử dụng để truyền dữ liệu và văn bản giữa phần cứng trình điều khiển, hệ điều hành và ứng dụng với rất ít sự can thiệp của con người. XML cung cấp các thẻ, thuộc tính và cấu trúc phần tử có thể được sử dụng để cung cấp thông tin ngữ cảnh. Thông tin ngữ cảnh này có thể được sử dụng để giải mã ý nghĩa của nội dung. Điều này cho phép phát triển các công cụ tìm kiếm hiệu quả và thực hiện khai thác dữ liệu trên dữ liệu. Hơn nữa, cơ sở dữ liệu quan hệ truyền thống phù hợp dưới dạng dữ liệu XML vì chúng có thể được sắp xếp theo hàng và cột nhưng XML cung cấp ít hỗ trợ hơn cho dữ liệu có nội dung phong phú như âm thanh, video, tài liệu phức tạp, v.v. cho phép các truy vấn được xử lý hiệu quả hơn. Các thẻ XML không được xác định trước và người dùng có thể xác định các thẻ và cấu trúc tài liệu mới. Ngoài ra, các ngôn ngữ internet mới như RSS, Atom, SOAP và XHTM đã được tạo bằng XML.
SGML
SGML dựa trên ý tưởng rằng mặc dù một tài liệu có thể được hiển thị với các lần xuất hiện khác nhau tùy thuộc vào phương tiện đầu ra được sử dụng, nó chứa một số yếu tố cấu trúc và ngữ nghĩa không thay đổi theo tham chiếu đến cách hiển thị. Các tài liệu dựa trên SGML có thể được tạo mà không liên quan đến sự xuất hiện của tài liệu có thể thay đổi theo thời gian, nhưng liên quan đến cấu trúc tài liệu. Hơn nữa, trình biên dịch SGML có thể diễn giải bất kỳ tài liệu nào bằng DTD của nó, do đó các tài liệu này cung cấp nhiều tính di động hơn. Ngoài ra, các tài liệu dựa trên SGML có thể dễ dàng được điều chỉnh lại cho các phương tiện khác nhau (ví dụ: tài liệu dành cho phương tiện in có thể được đọc lại cho màn hình hiển thị).
Sự khác biệt giữa XML và SGML là gì?
Mặc dù XML là ngôn ngữ đánh dấu được sử dụng để truyền dữ liệu và văn bản giữa phần cứng trình điều khiển, hệ điều hành và ứng dụng, SGML là một tiêu chuẩn ISO để chỉ định ngôn ngữ đánh dấu tài liệu hoặc một bộ thẻ. XML thực sự là một ngôn ngữ đánh dấu dựa trên SGML. Nhưng XML áp đặt một số hạn chế không có trong SGML. Ví dụ: XML áp đặt các hạn chế sau: tham chiếu thực thể phải được đóng bằng dấu phân cách REFC, tham chiếu đến các thực thể dữ liệu ngoài trong nội dung không được phép, tham chiếu ký tự phải được đóng bằng dấu phân cách REFC, tham chiếu ký tự được đặt tên không được phép, v.v. một số cấu trúc như thẻ bắt đầu không được tiết lộ, thẻ kết thúc không được tiết lộ, thẻ bắt đầu trống, thẻ kết thúc trống được phép trong SGML khi SHORTTAG là CÓ, không được phép trong XML. Ngoài ra, một số khai báo SGML như DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT và EXPLICIT), v.v. không được phép trong XML.