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=13&rev2=14 -------------------------------------------------- </root> + I am planing to identify the nodes(including the non element nodes),points and ranges of the XML document using the numbering mechanism. + + The design of this project can simply be modeled as below in three phases. + + + ||<tablestyle="border: medium none ; background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" tableclass="MsoTableGrid"rowstyle=""^ width="487px" style="border: 1pt solid black; padding: 0in 5.4pt; width: 365.4pt;">Scanning the XPath Expression and identifying the tokens and grammar in it || + ||<rowstyle=""^ width="487px" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 365.4pt;"> Validating the tokens and grammar of the XPath expression || + ||<rowstyle=""^ width="487px" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 365.4pt;">Parsing the exact portion of the XML document as stated by XPath expression || + + + + 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 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()'' and I can just override them to do the minor changes. - 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. + I am going to implement this support for the XPath Nodes and XPath Axis which are subsets of XPath.So I have to replace the Axis and NodeTest inner classes in the derived class.The Tokens class have to be changed in order to support new tokens and to expand the hash table. + + Scanning the expression and adding the tokens in it to the token table is done by scanExpr() method of the XPath.Scanner class and therefore 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. + + For the second phase of the design which is the validating part I think the existing Validation package can be directly reused because I do the necessary changes in XPath.Scanner so that I can reuse the existing Validation package without modifications. + + For the third phase of the design I have to basically deal with the packages Parsers and Xpointer.I am going to do the changes for Validation.XML11Configuration class,Xpointer.ElementSchemePointer class and the Xpointer.XpointerHandler class for supporting the parsing the portions of XML document as specified in the XPath expression. == Deliverables == 1. Modified Xerces source code that implements streamable subset of XPointer xpointer() scheme for XInclude --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
