Streaming API cho XML (StAX) là một giao diện lập trình ứng dụng (API) để đọc và viết các tài liệu XML, có nguồn gốc từ các cộng đồng ngôn ngữ lập trình Java.

Theo truyền thống, XML API là một trong hai:

  • dựa theo cây - toàn bộ tài liệu được đọc vào bộ nhớ như là một cấu trúc cây để truy cập ngẫu nhiên của các ứng dụng gọi điện thoại
  • dựa trên sự kiện - các ứng dụng đăng ký để nhận được sự kiện là các thực thể đang gặp phải trong các tài liệu nguồn.

Cả hai đều có lợi thế; trước kia (ví dụ, DOM) cho phép truy cập ngẫu nhiên để tài liệu, sau này (ví dụ, SAX) sau này đòi hỏi một bộ nhớ nhỏ và thường là nhanh hơn nhiều.

Hai ẩn dụ truy cập có thể được coi là đối lập cực. Một cây dựa trên API cho phép truy cập, không giới hạn ngẫu nhiên và thao tác, trong khi một sự kiện dựa trên API là một 'một lần' đi qua các tài liệu nguồn.

Stax được thiết kế như một trung bình giữa hai đối lập. Trong ẩn dụ Stax, điểm vào chương trình là một con trỏ đại diện cho một điểm trong tài liệu. Các ứng dụng di chuyển con trỏ về phía trước - "kéo" các thông tin từ phân tích cú pháp như nó cần. Điều này khác với một sự kiện dựa trên API - như SAX - mà "đẩy" dữ liệu vào các ứng dụng - yêu cầu áp dụng để duy trì trạng thái giữa các sự kiện cần thiết để theo dõi các vị trí trong tài liệu.

Tham khảo sửa