Dear Wiki user, You have subscribed to a wiki page or wiki category on "Xerces Wiki" for change notification.
The "Proposal" page has been changed by Thiwanka Somasiri. http://wiki.apache.org/xerces/Proposal?action=diff&rev1=6&rev2=7 -------------------------------------------------- ## page was copied from Thiwanka Somasiri #format wiki #language en + - Proposal Title: [XERCESJ-1429] [GSoC]: Asynchronous LSParser and parseWithContext + ||Proposal Title ||||<style="text-align: center;">[XERCESJ-1429] [GSoC]: Asynchronous LSParser and parseWithContext || + ||Student Name ||||<style="text-align: center;">Thiwanka Somasiri || + ||Student E-mail ||||<style="text-align: center;"> [email protected] || - - Student Name: Thiwanka Somasiri - - Student E-mail: [email protected] - - Organization/Project: The Apache Software Foundation / Xerces2-J + ||Organization/Project ||||<style="text-align: center;"> The Apache Software Foundation / Xerces2-J || + ||Assigned Mentor ||||<style="text-align: center;"> Michael Glavassevich || + ||TimeZone ||||<style="text-align: center;">GMT + 5.30 || - - Assigned Mentor: Michael Glavassevich - - == Proposal Abstract: == + {{{ Apache Xerces2-J is a high performance and fully compliant XML parser written in Java to parse, validate and manipulate XML documents. The goal of this project is to complete the implementation of the DOM Level 3 LSParser. It has to focus on two areas that are still to be developed according to w3c recommendation. Namely : Asynchronous LSParser and parseWithContext + }}} == Detailed Description: == @@ -73, +71 @@ The following diagrams depict an example for how progress events are dispatched. + {{http://farm6.static.flickr.com/5068/5594300706_da7d1ddd88_z.jpg}} - - Figure 1 - Progress Event when parser starts receiving data + {{http://farm6.static.flickr.com/5228/5593713101_9c1ab28906_z.jpg}} - - Figure 2 - Progress Event when parser processes blocks (2048 bytes) of data @@ -87, +83 @@ This is how EventListeners are triggered by particular event: + {{http://farm6.static.flickr.com/5189/5593712795_cf3d28e53e_z.jpg}} - - Figure 3 @@ -106, +101 @@ Consider the existing document : + {{{ <ns1:a xmlns:ns1=”http://ns1”> <ns2:b xmlns:ns2=”http://ns2”> </ns1:a> + }}} Then we want to add the fragment below, as a child of “ns2:b” : + {{{ <ns2:c/><ns1:d/> + }}} Then we can generate a wrapper document instead as follows : + {{{ <!DOCTYPE DUMMY_ROOT [ <!ENTITY fragment PUBLIC "***" "***"> @@ -125, +125 @@ ]> <DUMMY_ROOT xmlns:ns1="http://ns1" xmlns:ns2="http://ns2">&fragment;</DUMMY_ROOT> + }}} Here the “fragment” entity points to the XML fragment provided by the user and then we can parse this document as a normal XML document. Then we can merge new nodes underneath the entity reference with the existing document resulting: + {{{ <ns1:a xmlns:ns1=”http://ns1”> <ns2:b xmlns:ns2=”http://ns2”><ns2:c/><ns1:d/></ns2:b> </ns1:a> + }}} + {{http://farm6.static.flickr.com/5024/5594301286_4104aba36f_z.jpg}} - - Figure 4 - High level approach for parseWithContext() --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
