Dear Wiki user, You have subscribed to a wiki page or wiki category on "Xerces Wiki" for change notification.
The "SanjayaLiyanage/My GSOC 2010 proposal" page has been changed by SanjayaLiyanage. http://wiki.apache.org/xerces/SanjayaLiyanage/My%20GSOC%202010%20proposal?action=diff&rev1=11&rev2=12 -------------------------------------------------- #format wiki #language en = Google Summer Of Code 2010 - Project Proposal = - ||<tablewidth="788px" tableheight="159px" tablestyle="">'''Project''' ||'''Implementing a streamable subset for XPointer xpointer() scheme for XInclude''' || + ||<tablewidth="788px" tableheight="159px">'''Project''' ||'''Implementing a streamable subset for XPointer xpointer() scheme for XInclude''' || ||'''Student Name''' ||'''Sanjaya Chathuranga Liyanage''' || ||'''Email''' || [email protected] || ||'''Time Zone''' ||'''UTC+5:30(Sri Lanka)''' || == Abstract == - Xerces2 is a xml parser written in java which allows to parse,manipulate and validate the xml documents.Xerces XPointer xpointer() scheme let someone to select document fragments using the XPath expressions.When this project is done Xerces XPointer xpointer() scheme will be supported for streamable subset as well and xerces will allow the users to select document fragments in more efficient and easy manner and the XInclude processor will be greatly improved. + Xerces2 is a XML parser written in java which allows to parse,manipulate and validate XML documents.Xerces XPointer xpointer() scheme lets users to select document fragments using the XPath expressions.When this project is completed Xerces XPointer xpointer() scheme will be supported for streamable subset as well and Xerces will allow the users to select document fragments in more efficient and easy manner and the XInclude processor will be greatly improved.In other words the objective of this project is to improve the Xerces' streaming XInclude processor so that it provides support for a streamable subset of XPointer xpointer() scheme. == Description == - XPointer framework and XPointer Element() scheme just meet very few requirements for XInclude when considering XPointer xpointer() scheme that supports to select document fragment using the xpath expressions.But when this project which will implement a streamble subset of the XPointer xpointer() scheme as a result of that Xerces' streaming XInclude processor will be improved by leaps and bounds and will be very useful. + XPointer xpointer() scheme which is based on XPath has the ability to address strings,points and ranges according to the definitions provided in Dom 2:range.It is used with XPointer Framework for providing high level of functionality when addressing portions of XML documents.XPointer framework and XPointer Element() scheme just meet very few requirements for XInclude when considering XPointer xpointer() scheme that supports to select document fragment using the XPath expressions.Although the current xpointer() scheme supports for number of XPath expressions in an advance manner, inability of the current xpointer() scheme to address streamable subsets reduces the performance of XInclude. + When this project which will implement a streamble subset of the XPointer xpointer() scheme is completed as a result of that Xerces' streaming XInclude processor will be improved by leaps and bounds and will be very useful to the users who use Xerces as their XML parser to deal with XML documents. + + I will use numbering the elements in XML document together with introducing new symbols in order to access whatever the exact position user indicate using numbers and symbols.Once this project will be completed users will be able address the XML document using numbers and symbols. + - The below mentioned example shows what kind of support XInclude in Xerces will provide when the project is done. + The below mentioned example shows what kind of support XInclude in Xerces will provide when the project is completed. Let the students.xml: @@ -41, +45 @@ When the Input is: . <?xml version="1.0"?> - . <root xmlns:xi="[[http://www.w3.org/2010/XInclude">|http://www.w3.org/2001/XInclude"]] > + . ''<root xmlns:xi=''"[[http://www.w3.org/2010/XInclude">|http://www.w3.org/2001/XInclude"]] ''> '' . <xi:include href="students.xml" xpointer="xpointer(students/stude...@id='C'])"/> . </root> @@ -49, +53 @@ <?xml version="1.0"?> - <root xmlns:xi="[[http://www.w3.org/2010/XInclude">|http://www.w3.org/2001/XInclude"]] > + ''<root xmlns:xi=''"[[http://www.w3.org/2010/XInclude">|http://www.w3.org/2001/XInclude"]] ''> '' . <student id="C"> . .. @@ -57, +61 @@ </root> - But when this project is done the same result can be obtained simply as below : + But when this project is completed the same result can be obtained simply as below : <?xml version="1.0" ?> - <root xmlns:xi="[[http://www.w3.org/2010/XInclude">|http://www.w3.org/2001/XInclude"]] > + ''<root xmlns:xi=''"[[http://www.w3.org/2010/XInclude">|http://www.w3.org/2001/XInclude"]] ''> '' <xi:include href="students.xml" xpointer="element(/1/2)"/> </root> - When I will begin to start the development of the code I will extend the currently existing XPath class and do the necessary developments in my child class because of two major reasons. + When I will begin to start the development of the code I will extend the currently existing XPath class and do the necessary developments in my derived class because of two major reasons. - 1. Current XPath.Scanner inner class is very powerful and supports much more things . + 1. Current XPath.Scanner inner class is very powerful as base scanner in XPath class supports much more than what is used for XML schema identity constraints . - 1. As the time period is limited there is no need of reimplementing the valuable methods like parseExpression. + 1. As the time period is limited there is no need of reimplementing the valuable methods like ''parseExpression()''. - I will replace the XPath.Scanner in my child class and modify other necessary methods in a way that it supports more symbols in the XPath expressions.And also I am going to create a method createScanner() that returns a scanner object when called from parseExpression method in my extension.Then I will do the changes for XPointer required to load the perticular subset. + I will replace the XPath.Scanner in my derived class and modify other necessary methods in a way that it supports more symbols in the XPath expressions.And also I am going to create a method ''createScanner()'' that returns a scanner object when called from ''parseExpression()'' method in my extension.Then I will do the changes for XPointer required to load the perticular subset. == Deliverables == 1. Modified Xerces source code that implements streamable subset of XPointer xpointer() scheme for XInclude @@ -86, +90 @@ 1. Just had a glance on source code. == Development Schedule == - ||<tablestyle="width: 1103px; height: 349px;">26th April - 24th May ||Intereact with the mentor and the community to build good relationships. Get more understanding about the current XPath capabilities and weeknesses. Start the designing part to create the class hierachy and to obtain the data flow. || + ||<tablewidth="1103px" tableheight="349px" tablestyle="">26th April - 24th May ||Intereact with the mentor and the community to build good relationships. Get more understanding about the current XPath capabilities and weeknesses. Start the designing part to create the class hierachy and to obtain the data flow. || ||24th May - 12th July ||Finalize the milestone and begin to code. || ||12th July - 16th July ||Submitting the mid term evaluations || ||16th July - 9th August ||Begin with whatever the milestone yet to be reached. Use test cases to validate the results. Begin the documentation part. || @@ -96, +100 @@ == Community Interaction == - I subscribed to the xerces developers list and let the community get to know that I am interesting in this project and asked their knowledge on this project.I also contacted the mentor and he helped me whenever I came across a troublesome situation.While i was dealing with the xerces developers list I subscribed to the [email protected] mailing list as well.I asked few questions there about XPath expressions.When I am done with my draft proposal I will ask the feedbacks of community.I am looking foraward to interactively engage with the community in the future and try my best to be a practive member in the list. + I subscribed to the Xerces developers list and let the community get to know that I am interesting in this project and asked their knowledge on this project.I also contacted the mentor and he helped me whenever I came across a troublesome situation.While i was dealing with the Xerces developers list I subscribed to the [email protected] mailing list as well.I asked few questions there about XPath expressions.When I am done with my draft proposal I will ask the feedbacks of community.I am looking foraward to interactively engage with the community in the future and try my best to be a practive member in the list. == About Me == I am Sanjaya Chathuranga Liyanage and I am an undergraduate student of Department of Computer Science and Engineering,University of Moratuwa,Sri Lanka.One of the project I did for Open source(An extension for Anjuta IDE) in my leisure time really make me attracted towards the open source.I contacted the Anjuta group in IRC chat when I was in troublesome situations.I was actually dealing much more with Windows in past.But now the situation is different and I always keen to deal with open source.I installed Ubuntu in my computer as well. - I am willing to learn new things and technologies.For learning languages which are unknown to me I used to develop a small game kind of thing in that language.I have an intension to create my own xml parser one day and I hope this project will create a great background to reach my target. On the other hand I need to be exposed to the open source community and ultimately become a committer for open source. + I am willing to learn new things and technologies.For learning languages which are unknown to me I used to develop a small game kind of thing in that language.I have an intension to create my own XML parser one day and I hope this project will create a great background to reach my target. On the other hand I need to be exposed to the open source community and ultimately become a committer for open source. == Resources/References == * Project idea described at https://issues.apache.org/jira/browse/XERCESJ-1428 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
