Thứ Ba, 29 tháng 7, 2014

Advanced Of Topic

I. Các phần chính

- Xử lý các lỗi.
- Sử dụng Interface DTDHandler.
- Lexical Events and Entity Resolver Interface.
- SAX Filters.

II. Chi tiết.

1. Xử lý các lỗi.

Khi mà parser làm việc không được cấu hình để validate dữ liệu thì trong quá trình quét file xml nếu bị chặn lại bởi một lỗi thì ứng dụng sẽ ngay lập tức ném ra một ngoại lệ. Nếu như ứng dụng không ném ra ngoại lệ thì Default Error - Event  Handler sẽ ném ra một ngoại lệ. 

2.  DTDHandler (Trình xử lý DTD)

Dùng để nhận về các thông tin về các notation hay các thực thể mà parser không quét được trong một ứng dụng dựa trên SAX.


3. Lexical Events

- Interface Lexical Events dùng để nhận về các comment, CDATA section, DTD, và các thành phần đã được quét. 

- Các method của Lexical Event

4. Entity Resolver Interface.

- Là một interface cơ bản dùng để giải quyết các thực thể (entity). Phương thức resolveEntity cho phép ứng dụng giải quyết các external entity (các entity mà có tham chiếu đến file bên ngoài).

5. Filter (Bộ lọc)

Có nhiệm vụ đọc qua trước file xml trước khi nó đến với parser, file xml sau khi đi qua filter sẽ có thể bị thay đổi về nội dung mà không làm ảnh hưởng đến tài nguyên ở nguồn cung cấp.





Nhận xét.

- Đối với HandlingErrors là một thứ khá hay được tích hợp, vì không phải parser nào cũng được config để validate dữ liệu, và HandlingErrors sẽ là người ném ra ngoại lệ khi gặp lỗi.

-  DTD Handler dùng để xử lý các DTD một cách nhanh chóng, và dễ dàng qua việc override các phương thức như notationDecl() và unparsedEntityDecl()

-Filter sẽ giúp cho parser xử lý nhanh hơn và tránh được các lỗi không mong muốn vì đã được filter lọc khi nguồn dữ liệu được parser quét.


Không có nhận xét nào:

Đăng nhận xét