Handling Errors
So sánh non validating parser và validating parserNon validating parser : Khi chúng ta làm việc parsers không phải được config để validate dữ liệu,validate xem file xml có được check đúng hay không.Thì khi ta gặp lỗi trong quá trình quét dữ liệu,nếu lỗi này nghiêm trọng thì nó sẽ tung ra exception,còn nếu không thì nó sẽ dùng defaulthandler để genrate ra một exception trong trace.
Validating parser : Còn khi chúng ta dùng parsers được config để validate dữ liệu thì chúng ta vẫn làm những bước như bình thường,ta phải tạo ra parser,khác biệt ở đây là ta set mode cho validation có report error,và set XML Schema.Để sử lý lỗi ta phải create va register ErrorHandler vào parser tức là ta implement ErrorHandler.Trong quá trình quét dữ liệu thì ErrorHandler sẽ xử lý.
DTD Handler
DTDHandler là một interface để nhận thông báo của các sự kiện liên quan đến DTD.Nếu ứng dụng SAX cần thông tin về notation và unparsed entities thì ứng dụng sẽ implement và đăng ký một thể hiện với SAX parser sử dụng các phương thức setDTDHandler của parser.Parser sử dụng các thể hiện đó để thông báo các notations và unparsed entities cho ứng dụng.Tất cả được thực hiện tương tự DefaultHandler ,ta phải overide 2 phương thức của DTD Handler đó là:
void | notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId) Nhận về thông báo của một sự kiện notation khai báo . |
void | unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName) Receive notification of an unparsed entity declaration event. Nhận về thông báo của một sự kiện không được parser |
Lexical Handler
Lexical Handler dùng để xác định các comments,phần CDATA,và những thứ liên quan đến các parserd entities.Entity Resolver
Nếu một ứng dụng SAX cần thực hiện xử lý tùy biến cho các entities bên ngoài, nó phải implement interface này và đăng ký một thể hiện với SAX driver bằng cách sử dụng phương pháp setEntityResolver.
Filter
Là SAX interface đóng vai trò là 2 stream cơ bản: - 1 là sự kiện từ SAX driver (thường là một XMLReader) cho các ứng dụng;
- 2 là request từ các ứng dụng tới SAX driver.
Nhận xét:
-Các advance of SAX giúp cho việc kiểm soát lỗi tốt hơn.
-Giúp cho việc xây dựng ứng dụng đơn giản hơn
Không có nhận xét nào:
Đăng nhận xét