Tuesday, July 29, 2014

Advanced of SAX (Thành phần nâng cao của SAX)

SAX (Simple API for XML) có API đơn giản cho XML, đây là một trong ba giao diện đơn giản sử dụng trong XML

Minh họa về SAX trong XML


Điều này mình đã nhắc đến ở các bài trước về chính khái niệm về SAX. Ngày hôm nay chúng ta sẽ tiếp tục học tiếp về Validate XML, DTD Handler, Lexical Event, EntityResolver, Filter.

1. Khái niệm:

   a. Handling Errors:

Handling Errors được hiểu là bộ xử lý lỗi có trong Java web.xml, như "Error or exception handling" (Xử lí những lỗi ngoài lề) là một phần quan trọng trong XML.

Sơ đồ minh họa trong Handling Errors

Trong ứng dụng thì code của Handling Errors bao gồm: <error-page> và <error-code>404</error-code>

  * Using non- validating parser:

 Sử dụng cú pháp không-xác nhận. Như trong sơ đồ ở trên của Using non- validating parser, khi gặp lỗi trong quá trình mà không quan trọng, nó sẽ xử lí lỗi mặc định rồi gửi đến Stack Trace.

  * Using validating parser:

Sử dụng cú pháp xác nhận, quá trình của nó được hình thành theo hình bậc thang tam giác, tức là sẽ bù trừ đẩy cho nhau.

Trước hết tạo SAX Parser, sau đó thiết đặt mode cho quá trình xác nhận để báo cáo về lỗi. Sau khi so sánh, nó sẽ tạo ErrorHandler trong SAX Parser để nếu có lỗi nó sẽ trả lại kết quả.

 b. DTDHandler:

DTD Handler là một định dạng interface để nhận thông báo của các sự kiện liên quan đến DTD. Đại loại nó sẽ cung cấp thông tin ứng dụng với SAX parser cho SAX.

 c. Lexical Event:

  Lexical Event hoặc LexicalHandler được dùng để xác định comments, CDATA, cũng như parsed entities (các đơn vị phân tích cú pháp).




Ở trong demo, để sử dụng được LexicalHandler thì yêu cầu sử dụng method strart và end DTD, Entity CDATA

Minh họa với code trong ứng dụng



 d. EntityResolver: 

  Giống như DTDHandler, đây cũng là một định dạng interface. EntityResolver sẽ tung ra tùy biến set để xử lí các entities mà SAX yêu cầu.

Sơ đồ minh họa cách làm việc qua EntityResolver

 e. Filter:

Filter không đơn giản chỉ là một phần trong XML, hãy xem sơ đồ này để thấy được tầm quan trọng của nó. Từ một mã nguồn qua XML filter, bạn mới có thể tạo một ứng dụng XML hoàn chỉnh.

Sơ đồ làm việc của Filter trong XML

Filter có thể là một SAX interface với nhiệm vụ chính là tạo event từ SAX driver và nhận các yêu cầu xử lí từ chính SAX driver đó.
    

3. Nhận xét:

   Như mình đã nói Filter có thể rất quan trọng nhưng không thể không quên 4 thành phần còn lại, nó là những đóng góp để tạo ra một XML hoàn hảo. Đây là công cụ giúp cho bạn tạo một ứng dụng XML.


   Và như đúng tiêu đề, đây là những yêu cầu nâng cao của chính SAX, đến đây chưa hiểu SAX là gì thì bạn có thể kéo lên đầu trang và xem sơ đồ của nó.

No comments:

Post a Comment