Dear Wiki user, You have subscribed to a wiki page or wiki category on "Xerces Wiki" for change notification.
The "gsoc_xs_override_proposal" page has been changed by uswick. http://wiki.apache.org/xerces/gsoc_xs_override_proposal?action=diff&rev1=11&rev2=12 -------------------------------------------------- - ||Project ||||<style="text-align: center;">Implementing XMLSchema XS:Override specification || + ||Project ||||<style="text-align: center;">Implementing XML Schema 1.1 overriding component definitions (<xs:override>) || ||Student Name ||||<style="text-align: center;">Udayanga Wickrmasinghe || ||Email ||||<style="text-align: center;"> [email protected] || ||TimeZone ||||<style="text-align: center;">GMT +5.30 || @@ -24, +24 @@ </override> }}} - . . . Here “schemaLocation” indicates the location of the overriding schema document while “Content” corresponds to the types/groups/attributes/elements this schema will be overriding on the schemas available at corresponding “schemaLocation” . xs:override semantics are very much similar to class/prototypical inheritance where after successful application , corresponding overridden schemas replaces their old schemas by the new overriding schemas contained within a <xs:override> element. Following describes the criteria of xs:override on a general overview that should be considered in the implementation of xml schema composition on xs:override . + . .Here “schemaLocation” indicates the location of the overriding schema document while “Content” corresponds to the types/groups/attributes/elements this schema will be overriding on the schemas available at corresponding “schemaLocation” . xs:override semantics are very much similar to class/prototypical inheritance where after successful application , corresponding overridden schemas replaces their old schemas by the new overriding schemas contained within a <xs:override> element. Following describes the criteria of xs:override on a general overview that should be considered in the implementation of xml schema composition on xs:override . + . . {{{ - . . - {{{ - 1. - override only applies if the schema component within <xs:override> exists in the overridden schema (corresponding to the respective schema Location defined). If this condition is not true, there’s no effect on the overriden schema location and overriding grammer won’t exist in the final schema representation. + 1.override only applies if the schema component within <xs:override> exists in the overridden schema (corresponding to the respective schema Location defined). If this condition is not true, there’s no effect on the overriden schema location and overriding grammer won’t exist in the final schema representation. }}} + . {{{ 2. a)Each and every <override> schema information element would be subjected to “override transformation”[5] . However when target namespaces of overriding and overridden schemas don’t match “chameleon inclusion transformation”[6] is also performed prior to the override transform. Override transformation itself is pervasive and therefore would be applied to <include> information items on the overridden schema.(ie:- if schema A overrides B and B includes C then C will also be overridden accordingly ).Further more override transformation applies to <override> information items present on the overridden schema by merging. . . @@ -53, +52 @@ . Since this project is about implementing a XMLSchema 1.1 specification construct , I had to go through this specification docs several times to understand the exact structure and semantics of the component I’m going to implement which I think is of vital importance when it comes to the design n implementation. Previous discussions (that has happened in Xerces-j-dev mail archives) about this xs:override support , online articles and tutorials also helped a lot in this cause. I also interacted with Xerces mailing list (especially with my mentor) to clarify critical points and implementation details. Since knowing Xerces and it’s internal framework(XNI) is obviously essential for the implementation I had to dig into various documentation, API information ,samples regarding Xerces Design,architecture and especially XML schema processing. I did download source code of Xerces2-j from trunk and build the code inorder to try and test out some samples to get a hang on the flow of things related to schema loading and processing. == Development Schedule == - ||<tablestyle="width: 854px; height: 291px;"width="200px" style="font-weight: bold; font-style: italic;">Time Schedule/Duration ||<style="font-weight: bold; font-style: italic;">Activity || + ||<tablewidth="854px" tableheight="291px"width="200px" style="font-weight: bold; font-style: italic;">Time Schedule/Duration ||<style="font-weight: bold; font-style: italic;">Activity || ||March 18 - March 29 ||Initiate ideas ,discuss project details , get feed back on different aspects of the project,etc || - ||March 29 - April 9 ||preparing project proposals and submission|| + ||March 29 - April 9 ||preparing project proposals and submission || - ||April 26 ||GSoc Accepted student proposals announced by Google|| + ||April 26 ||GSoc Accepted student proposals announced by Google || ||April 26 - May 24 (Community Bonding Period) ||preparation on design aspects,architecture and deployment on xs:overide implementaion preraration on various platform details (ie:-xerces architecture,scheam processing,etc) prepare development environment || ||May 24 - July 12 ||Start coding on xs:override implementation || - ||July 12- July 16 ||Mid term Evaluations - students and mentors submit evaluations|| + ||July 12- July 16 ||Mid term Evaluations - students and mentors submit evaluations || - ||July 16 - August 9||start second phase of coding write tests for xs:override validation || + ||July 16 - August 9 ||start second phase of coding write tests for xs:override validation || - ||August 9 - August 16||Final week of the project - final code submission on August 16th refine/review code finalizing documentaion || + ||August 9 - August 16 ||Final week of the project - final code submission on August 16th refine/review code finalizing documentaion || - ||August 23||Final results of GSoc 2010 will be anounced|| + ||August 23 ||Final results of GSoc 2010 will be anounced || == Deliverables == @@ -70, +69 @@ * Solid set of test cases to verify related aspects of xs:override schema composition * Documentation (java docs + design details) on xs:override implementation/API + == Community Interaction == == About me == . I'm a Computer Science Engineering undergraduate (final year),of the department of Computer Science and Engineering, University of Moratuwa, Sri Lanka . I'm very much passionate about Computer science and am especially interested in subject areas related to Compiler Theory ,Distributed Systems and Enterprise Middelware and also Artificial Intelligence.I do have experience in open source development and related aspects and always loved working in such a dynamic and encouraging environment . - . . I have worked on projects related to Apache Axis2 where I developed a tool [5](incubating) to extract WS-Policy(ie:-Security Policy) from WS policy compliant SOAP messages which is especially useful in scenarios such as for clients who wish to build compatible client side policy for repective Services which don’t expose their messaging policy explicitly. This gave me a great understanding on WS:Security specifications and on mechanisms used by security modules such as Apache Rampart as well. Furthermore i developed Axis2 Messaging and Service Level Infrastructure for Rubyscript [6], so that Ruby Scripts can be exposed and accessed via WebServices by clients . I also do have experience involved in projects related to Eclipse plugins, OSGi , XML parsers(this for our internal module DSD2.0[7] parser) and Data Mining (ie:-Collaborative Filtering), which got me working in a wide variety of programming/scripting languages such as Java ,C,C++, Javascript,Ruby,etc and under various platforms of Linux and Windows. I am currently involved in implementing a TupleSpace based Distributed System framework (which runs on top of a DHT[distributed hash table] named FreePastry [opensource implementation of Microsoft Pastry] ) for our final year project ,which facilitates time and space decoupling as well as content based addressing for messages in a distributed environment [8]. I consider my self a motivated computer science enthusiast who is willing to self learn and accept challenges and achieve them to the best of my ability. + . . I have worked on projects related to Apache Axis2 where I developed a tool [5](incubating) to extract WS-Policy(ie:-Security Policy) from WS policy compliant SOAP messages. Tool is especially useful in scenarios such as for clients who wish to build compatible client side policy for repective Services which don’t expose their messaging policy explicitly. This gave me a great understanding on WS:Security specifications and on mechanisms used by security modules such as Apache Rampart as well. Furthermore i developed Axis2 Messaging and Service Level Infrastructure for Rubyscript [6], so that Ruby Scripts can be exposed and accessed via WebServices by clients . + . . I also do have experience involved in projects related to Eclipse plugins, OSGi , XML parsers(this for our internal module DSD2.0[7] parser) and Data Mining (ie:-Collaborative Filtering), which got me working in a wide variety of frameworks ,programming/scripting languages such as Java ,C,C++, Javascript,Ruby,etc and under various platforms of Linux and Windows. I am currently involved in implementing a TupleSpace based Distributed System framework (which runs on top of a DHT[distributed hash table] named FreePastry [opensource implementation of Microsoft Pastry] ) for our final year project ,which facilitates time and space decoupling as well as content based addressing for messages in a distributed environment [8]. I consider my self a motivated computer science enthusiast who is willing to self learn and accept challenges and achieve them to the best of my ability. - . . + . . + == REFERENCES == [1] http://www.w3.org/TR/xmlschema-1/#key-fullyConforming @@ -83, +85 @@ [4] http://www.w3.org/TR/xmlschema11-1/#modify-schema + [5] http://www.w3.org/TR/xmlschema11-1/#override-xslt + + [6] http://www.w3.org/TR/xmlschema11-1/#chameleon-xslt + [5] https://wso2.org/repos/wso2/trunk/carbon/components/policy-builder [6] https://wso2.org/repos/wso2/trunk/carbon/components/jruby/ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
