Sự khác nhau giữa XML và SGML

Anonim

XML và SGML

XML là viết tắt của Ngôn ngữ đánh dấu mở rộng. Nó được định nghĩa trong chuẩn 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 giữa phần cứng, hệ điều hành và ứng dụng của trình điều khiển với sự can thiệp của con người. SGML (Standard Generalized Markup Language) là tiêu chuẩn ISO (Tổ chức Tiêu chuẩn Quốc tế) để chỉ định một ngôn ngữ đánh dấu tài liệu hoặc một bộ 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 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 driver, hệ điều hành và các ứng dụng mà không cần 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 làm cho 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ác cơ sở dữ liệu quan hệ truyền thống phù hợp như 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ợ cho dữ liệu với các nội dung phong phú như âm thanh, video, các tài liệu phức tạp … Các cơ sở dữ liệu XML lưu trữ dữ liệu theo một hình thức có cấu trúc, cho phép các truy vấn được xử lý hiệu quả hơn. Thẻ XML không được xác định trước và người dùng có thể định nghĩa các thẻ mới và các cấu trúc tài liệu. Ngoài ra, các ngôn ngữ internet mới như RSS, Atom, SOAP và XHTM được tạo ra bằng cách sử dụng XML.

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 sự xuất hiện khác nhau tùy thuộc vào phương tiện đầu ra được sử dụng, nó có chứa một số yếu tố cấu trúc và ngữ nghĩa không thay đổi với tham chiếu để nó được hiển thị như thế nào. SGML dựa trên tài liệu có thể được tạo ra mà không có liên quan về sự xuất hiện của tài liệu mà có thể thay đổi theo giờ, 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ể giải thích bất kỳ tài liệu nào bằng cách sử dụng DTD, do đó các tài liệu này mang lại tính linh hoạt hơn. Ngoài ra, các tài liệu dựa trên SGML có thể dễ dàng thích nghi với các phương tiện truyền thông khác nhau (ví dụ, tài liệu dành cho phương tiện in có thể được readapted cho màn hình hiển thị).

Sự khác nhau giữa XML và SGML là gì?

Mặc dù 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, hệ điều hành và ứng dụng, SGML là một tiêu chuẩn ISO để chỉ định một ngôn ngữ đánh dấu tài liệu hoặc một bộ 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: các tham chiếu thực thể phải được đóng lại bằng dấu tách REFC, các tham chiếu tới các đối tượng dữ liệu bên ngoài không được phép, các tham chiếu ký tự phải được đóng lại bằng dấu tách REFC, các tham chiếu nhân vật được đặt tên không được phép, vvHơn nữa, một số cấu trúc chẳng hạn như các thẻ bắt đầu không mở, các thẻ kết cuối không mở, thẻ bắt đầu trống, các nhãn kết thúc rỗng, được cho 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), vv không được cho phép trong XML.