Sự khác biệt giữa SAX và DOM

SAX so với DOM

API đơn giản cho XML (còn được gọi là SAX) là API phân tích cú pháp truy cập nối tiếp cho XML (là API lấy dữ liệu và phân tích văn bản từ tài liệu cụ thể đó trong các trang web được tạo động hoặc các trang web có nội dung tương tác). Nó hoạt động như một trong những lựa chọn thay thế phổ biến hơn cho Mô hình Đối tượng Tài liệu (còn được gọi là DOM).

DOM là một quy ước hoàn toàn độc lập với một ngôn ngữ cụ thể. Đó là một quy ước tương thích với nhiều nền tảng. Nó được sử dụng để thể hiện và tương tác với các đối tượng trong các tài liệu HTML, XML và XHTML. Trong cú pháp của ngôn ngữ mà DOM sử dụng, nhiều khía cạnh của DOM có thể được xử lý và thao tác.

Trình phân tích cú pháp SAX hoạt động như cái được gọi là trình phân tích cú pháp luồng (có nghĩa là nó thu được và phân tích văn bản đang truyền phát từ vị trí của nó). Nó chứa API hướng sự kiện (đó là API phụ thuộc vào các sự kiện xảy ra trong một môi trường nhất định). Người dùng có quyền kiểm soát để xác định số lượng phương thức gọi lại (đó là các phương thức truy ngược lại nguồn dữ liệu được yêu cầu). Các phương thức này sẽ được gọi khi các sự kiện xảy ra trong quá trình phân tích cú pháp. Có bốn sự kiện chính có thể xảy ra trong quá trình phân tích cú pháp: các nút Kiểm tra XML, các nút Phần tử XML, Hướng dẫn xử lý XML và Nhận xét XML. Khi gặp các tính năng XML này, các sự kiện sẽ được đưa vào để chơi. Các sự kiện cũng xảy ra khi các tính năng này đã kết thúc. Như vậy, SAX là một hướng (có nghĩa là di chuyển theo một hướng) và dữ liệu được phân tích cú pháp trước đó không thể được đọc lại mà không bắt đầu hoạt động phân tích cú pháp sao lưu.

DOM tốt nhất nên được sử dụng cho các ứng dụng trong đó tài liệu phải được truy cập nhiều lần hoặc nếu tài liệu xảy ra không theo thứ tự trình tự. Nếu ứng dụng theo một trình tự nghiêm ngặt và một lượt (có nghĩa là không thể truy cập mà không bắt đầu lại trình tự phân tích cú pháp), thì SAX sẽ xuất hiện. Hầu hết các trình duyệt web không sử dụng DOM cho mục đích hiển thị các tài liệu HTML. Tuy nhiên, DOM là một điều cần thiết cho các tập lệnh JavaScript muốn phân tích động hoặc thay đổi bất cứ điều gì liên quan đến một trang web. Về cơ bản, DOM là cách mà JavaScript có thể trực quan hóa trang HTML và trạng thái trình duyệt chứa nó (nghĩa là khám phá môi trường của nó).

Tóm lược:

1. SAX là API trình phân tích cú pháp truy cập nối tiếp cho các trang web động; DOM là một quy ước không có ngôn ngữ hoặc phụ thuộc vào ngôn ngữ.

2. Trình phân tích cú pháp SAX cho phép người dùng kiểm soát số lượng phương thức gọi lại; Các chức năng DOM độc lập để cho phép các tập lệnh JavaScript truy cập, thay đổi hoặc phân tích bất cứ điều gì liên quan đến các trang web động, cho phép JavaScript 'khám phá' vật lý môi trường của nó.