Project |
Implementing a streamable subset for XPointer xpointer() scheme for XInclude |
Student Name |
Sanjaya Chathuranga Liyanage |
sanjayacl@gmail.com |
|
Time Zone |
UTC+5:30(Sri Lanka) |
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.
The below mentioned example shows what kind of support XInclude in Xerces will provide when the project is done.
Let the students.xml:
<?xml version="1.0"?> <students>
</students>
When the Input is:
<xi:include href="students.xml" xpointer="xpointer(students/student\[@id='C'\])"/> </root> \\ |
Result with current XInclude: <?xml version="1.0"?> <root xmlns:xi="http://www.w3.org/2010/XInclude">
</root> But when this project is done the same result can be obtained simply as below : <?xml version="1.0" ?> <root xmlns:xi="http://www.w3.org/2010/XInclude">
</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.
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.
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.
The below mentioned example shows what kind of support XInclude in Xerces will provide when the project is done.
Let the students.xml:
<?xml version="1.0"?> <students>
</students>
When the Input is:
<xi:include href="students.xml" xpointer="xpointer(students/student\[@id='C'\])"/> </root> \\ |
Result with current XInclude: <?xml version="1.0"?> <root xmlns:xi="http://www.w3.org/2010/XInclude">
</root> But when this project is done the same result can be obtained simply as below : <?xml version="1.0" ?> <root xmlns:xi="http://www.w3.org/2010/XInclude">
</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.
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.