XML so với SGML
XML là viết tắt của EXtensible Markup Language. 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 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 qua phần cứng trình điều khiển, hệ điều hành và ứng dụng mà không có sự can thiệp của con người. SGML (Ngôn ngữ đánh dấu tổng quát 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 tập hợp các thẻ. SGML không phải là một ngôn ngữ tài liệu mà là một Định nghĩa Loại Tài liệu (DTD).
XML
XML là một 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à các ứng dụng mà không có 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 giúp bạn có thể 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 thích hợp làm dữ liệu XML vì chúng có thể được tổ chức 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. Cơ sở dữ liệu XML lưu trữ dữ liệu ở dạng có cấu trúc, phân cấp 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 hình thức khác nhau tùy thuộc vào phương tiện xuất đượ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 cách hiển thị. Tài liệu dựa trên SGML có thể được tạo mà không cần quan tâm đến hình thức 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ể thông dịch 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 tính di động cao hơn. Ngoài ra, các tài liệu dựa trên SGML có thể dễ dàng điều chỉnh lại với 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 trên màn hình hiển thị).
Sự khác biệt giữa XML và SGML là gì?
Trong khi 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à tiêu chuẩn ISO để chỉ định ngôn ngữ đánh dấu tài liệu hoặc một tập hợp các 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, không cho phép tham chiếu đến thực thể dữ liệu bên ngoài trong nội dung, tham chiếu ký tự phải được đóng bằng dấu phân cách REFC, không cho phép tham chiếu ký tự có tên, v.v. Hơn nữa, một số cấu trúc như thẻ bắt đầu không được đóng, thẻ cuối không được đóng, 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.