Differences between revisions 2 and 3
Revision 2 as of 2008-03-30 14:40:05
Size: 3928
Comment:
Revision 3 as of 2009-09-20 22:48:38
Size: 3930
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
Axis 2/C currently supports the XML parsers libxml[[FootNote([http://expat.sourceforge.net/ The Expat XML Parser])]] and Guththila[[FootNote([http://www.cse.mrt.ac.lk/~premalwd/Projects/Guththila.html Guththila-Soap Parser])]]. It is possible to plug-in any XML parser to Axis2/C through its parser abstraction layer. Axis 2/C currently supports the XML parsers libxml<<FootNote([http://expat.sourceforge.net/ The Expat XML Parser])>> and Guththila<<FootNote([http://www.cse.mrt.ac.lk/~premalwd/Projects/Guththila.html Guththila-Soap Parser])>>. It is possible to plug-in any XML parser to Axis2/C through its parser abstraction layer.
Line 19: Line 19:
With the introduction of the functions {{{ XML_StopParser }}} and {{{ XML_ResumeParser }}} it is possible to stop and resume parsing easily enabling pull parsing. These functions had been added specifically for this purpose. However, these functions will become obselete with Expat 3 release[[FootNote([http://expat.sourceforge.net/dev/expat3.html Changes in Expat 3])]]. With the introduction of the functions {{{ XML_StopParser }}} and {{{ XML_ResumeParser }}} it is possible to stop and resume parsing easily enabling pull parsing. These functions had been added specifically for this purpose. However, these functions will become obselete with Expat 3 release<<FootNote([http://expat.sourceforge.net/dev/expat3.html Changes in Expat 3])>>.
Line 57: Line 57:
I’ve been very enthusiastic about computers from my early ages and I participated in International Olympiad in Informatics 4 times and won a gold medal and 2 silver medals. I also participated at ACM regional’s in Kanpur[[FootNote([http://www.cse.iitk.ac.in/users/acm/ ACM Regionals Kanpur])]], India with the team which was placed fourth. I was also in the team that developed Sinhala Search – the first Sinhala search engine[[FootNote([http://www.sinhalasearch.com Sinhala Search] - site is currently unavailable due to maintenance :P)]]. I have worked as a SAP developer at MAS Intimates and as a web developer at Paradox Software. I’ve been very enthusiastic about computers from my early ages and I participated in International Olympiad in Informatics 4 times and won a gold medal and 2 silver medals. I also participated at ACM regional’s in Kanpur<<FootNote([http://www.cse.iitk.ac.in/users/acm/ ACM Regionals Kanpur])>>, India with the team which was placed fourth. I was also in the team that developed Sinhala Search – the first Sinhala search engine<<FootNote([http://www.sinhalasearch.com Sinhala Search] - site is currently unavailable due to maintenance :P)>>. I have worked as a SAP developer at MAS Intimates and as a web developer at Paradox Software.
Line 59: Line 59:
I am studying at the Faculty of Engineering, University of Moratuwa, Sri Lanka. I have been blogging for around 1 year – [http://www.xvpj.net Something Different], and I participate in Topcoder[[FootNote([http://www.topcoder.com/tc?module=MemberProfile&cr=21475659 My Topcoder Profile])]] competitions regularly. I am studying at the Faculty of Engineering, University of Moratuwa, Sri Lanka. I have been blogging for around 1 year – [[http://www.xvpj.net|Something Different]], and I participate in Topcoder<<FootNote([http://www.topcoder.com/tc?module=MemberProfile&cr=21475659 My Topcoder Profile])>> competitions regularly.
Line 65: Line 65:
[[FootNote]] <<FootNote>>

Google Summer of Code 2008 – Project proposal

Project

Integrate Expat parser into Axis2/C soap engine

Student Name

Varuna Jayasiri

Email

vpjayasiri at gmail dot com

Synopsis

Axis 2/C currently supports the XML parsers libxml1 and Guththila2. It is possible to plug-in any XML parser to Axis2/C through its parser abstraction layer.

I will introduce Expat XML parser to AXIS2/C. Expat is probably the world fastest XML parser and it is a very robust parser. Expat will be plugged into Axis2/C through a wrapper using the XML reader/writer interface of Axiom.

Project

This project will consist of developing a pull layer and a Expat XML writer/reader wrapper for Axiom.

Expat is a push parser and Axiom interface is for a pull parser. Therefore a pull layer should be introduced to bridge them. The pull layer should be implemented with internal call-back handlers on top of Expat. The main challenge would be adding a pull interface to Expat without reducing its performance.

With the introduction of the functions  XML_StopParser  and  XML_ResumeParser  it is possible to stop and resume parsing easily enabling pull parsing. These functions had been added specifically for this purpose. However, these functions will become obselete with Expat 3 release3.

There are some third party pull layers on Expat; therefore it is possible to examine how they have done it. Expat is also working on a Pull API project and it would be possible to get their ideas on this as well.

Deliverables

1. Expat read/write wrapper for Axiom.

2. Unit test cases.

Schedule

1. Analysis and Design

Analyze the Expat parser and the interface of the Axiom and design a pull-layer for expat. A great attention will be given for performance of the parser at this stage.

-until end of May

Deliverables: Design documentation

2. Implementation

Implement the pull layer for Expat and the wrapper to bridge it with Axiom. All code will be tested using unit tests.

-until mid August

Deliverables: A working Expat integration

3. Final Touch

Running complete tests with the help of the community and doing final touches to the code and documentations.

-until end of August

Deliverables: Completed Expat integration with documentation and test data

Biography

I’ve been very enthusiastic about computers from my early ages and I participated in International Olympiad in Informatics 4 times and won a gold medal and 2 silver medals. I also participated at ACM regional’s in Kanpur4, India with the team which was placed fourth. I was also in the team that developed Sinhala Search – the first Sinhala search engine5. I have worked as a SAP developer at MAS Intimates and as a web developer at Paradox Software.

I am studying at the Faculty of Engineering, University of Moratuwa, Sri Lanka. I have been blogging for around 1 year – Something Different, and I participate in Topcoder6 competitions regularly.

Although I haven't been involved in open source projects before I have been doing similar projects at my workplaces, and I have about 5 years of experience of programming with C/C++. Therefore, I think I will be able to develop a robust Expat integration for Axiom.

References

  1. [http://expat.sourceforge.net/ The Expat XML Parser] (1)

  2. [http://www.cse.mrt.ac.lk/~premalwd/Projects/Guththila.html Guththila-Soap Parser] (2)

  3. [http://expat.sourceforge.net/dev/expat3.html Changes in Expat 3] (3)

  4. [http://www.cse.iitk.ac.in/users/acm/ ACM Regionals Kanpur] (4)

  5. [http://www.sinhalasearch.com Sinhala Search] - site is currently unavailable due to maintenance :P (5)

  6. [http://www.topcoder.com/tc?module=MemberProfile&cr=21475659 My Topcoder Profile] (6)

VarunaJayasiri-GSoC2008-expat (last edited 2009-09-20 22:48:38 by localhost)