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=29&rev2=30

--------------------------------------------------

  }}}
  
  == Description ==
-  . XML schema specification version 1.1 specifies syntax and semantics of 
“Overriding component definitions<override>”[3] or xs:override  under “Schemas 
and Namespaces: Access and Composition” . The new component definition is a 
powerful addition to the XML schema composition framework  which tries to 
mitigate some of the constraints present in similar constructs such as 
xs:redefine or <redefine> schema components. The <redefine> construct defined 
in “Including modified component definitions (<redefine>) “[4] on XMLSchema 
specification is useful in schema evolution and versioning. It can be used only 
when there exists some restriction or extension relation between the old 
component and the new redefined component. But there are occasions when the 
schema author simply wants to replace old components with new ones without any 
constraint. Also, existing XSD processors have implemented conflicting and 
non-interoperable interpretations of <redefine>. And to add to the trouble 
<redefine> construct is declared •deprecated• in XML Schema 1.1 [2]. Hence as 
mentioned in the beginning , <override> construct tries to avoid these 
bottlenecks and allow unconstrained replacement as and when needed.
+  . XML schema specification version 1.1 specifies syntax and semantics of 
“Overriding component definitions<override>”[3] or xs:override,  under “Schemas 
and Namespaces: Access and Composition” . The new component definition is a 
powerful addition to the XML schema composition framework  which tries to 
mitigate some of the constraints present in similar constructs such as 
xs:redefine or <redefine> schema components. The <redefine> construct defined 
in “Including modified component definitions (<redefine>) “[4] on XMLSchema 
specification is useful in schema evolution and versioning. It can be used only 
when there exists some restriction or extension relation between the old 
component and the new redefined component. But there are occasions when the 
schema author simply wants to replace old components with new ones without any 
constraint. Also, existing XSD processors have implemented conflicting and 
non-interoperable interpretations of <redefine>. And to add to the the 
inflexibility , <redefine> construct is declared •deprecated• in XML Schema 1.1 
[2]. Hence as mentioned in the beginning , <override> construct tries to avoid 
these bottlenecks and allow unconstrained replacement as and when needed.
   . According to the XMLSchema 1.1 specification xs:override schema component 
is specified in the following form (override information item) ,
   . {{{
  <override
@@ -52, +52 @@

    . a) constructTrees – constructs XSschema objects .Attempts to resolve 
<include>,<redefine> schema components and builds a dependency map . .
    . b) buildGlobalNameRegistries - builds registries for all 
globally-referenceable names. Keeps track of <redefine> component mapping for 
detecting duplicate collisions and redefine preprocessing .
  
-   . c) traverseSchemas – traverse globally declared elements with appropriate 
traverser object (ie:-SimpleType/ComplexType/Attribute traversers) and handle 
them accordingly.
+   . c) traverseSchemas – traverse globally declared elements with appropriate 
traverser object (ie:-SimpleType/ComplexType/Attribute traversers) ,validate 
and  build the grammer accordingly.
  
    . d) traverseLocalElements-Traverse all the deferred local elements
  
    . e) resolving ID/Key references
  
-   . f) storing imported grammars and building the Grammer Pool
+   . f) storing imported grammars and building the Grammer Pool and XML 
SchemaModel.
  
   . .
  
@@ -67, +67 @@

   . .
    * extending XSDHandler#checkForDuplicateNames() - to include necessary 
control paths for <override> semantics ,detecting the scenarios where duplicate 
collisions can occur and flagginf these errors appropriately.
    * implementing 
XSDHandler#transformOverriddenComponents(currentSchema,childComponent,componentType,oldName,newName)
 - renaming/transforming overridden components taking into consideration 
overriding of <includes> and merging <overriding> components on respective 
schema locations
-   * extending XSDHandler#traverseSchemas() and traversers(   
org.apache.xerces.impl.xs.traversers) - to traverse override schema components 
, and also to take into account the behavior of each individual travereser 
objects on the  application of xs:override semantics.
+   * extending XSDHandler#traverseSchemas() and traversers(   
org.apache.xerces.impl.xs.traversers) - to traverse override schema components 
, and also to take into account the behavior of each individual traverser 
objects on the  application of xs:override semantics.
  
   . .
  
@@ -76, +76 @@

  
    . . •    org.apache.xerces.impl.xs.XSDDescription  - keeps track of all 
information specific to XML Schema grammars. This can be used to indicate the 
Schema processor that the current schema document is overridden by another 
schema document
  
-   . . Additionally xs:override implementation may require quite a few new 
components/data structures to be added to org.apache.xerces.impl.xs package  
inorder to handle different scenarios regarding <override> semantics 
(ie:-implicit <override> semantics handling, etc) as was described in the 
beginning.
+   . . Additionally xs:override implementation may require quite a few new 
components/data structures to be added to org.apache.xerces.impl.xs package  
inorder to handle different scenarios regarding <override> semantics 
(ie:-implicit <override> semantics handling,registry extensions, etc) as was 
described in the beginning.
  
    . .
  
@@ -121, +121 @@

   * Documentation (java docs + design details) on xs:override 
implementation/API
  
  == Community Interaction ==
-  . Initially i had trouble selecting a project since the project i was 
keeping in mind was already undertaken. Xerces-2j mailing list was really 
helpfull in this ,giving me lot of feedback on available projects  that was not 
even initally declared as Summer projects for 2010 .  I  was later able to get 
lot of insight on xs:override specification semantics and implementation 
details through the interaction on mails from  xerces-j dev community . Through 
this I managed to digg into and clarify lot of details that would be very 
helpful through out my project and has definitely been a much needed guidance 
in writing this proposal as well. I am eagerly looking forward to working with 
Xerces community with this project and would like to make a positive 
contribution to Xerces-j team in every way i can.
+  . Initially i had trouble selecting a project since the project i was 
keeping in mind was already undertaken. Xerces-2j mailing list was really 
helpfull in this ,giving me lot of feedback on available projects  that was not 
even initally declared as Summer projects for 2010 .  I  was later able to get 
lot of insight on xs:override specification semantics and implementation 
details through the interaction on mails from  xerces-j dev community . Through 
this I managed to digg into and clarify lot of details that would be very 
helpful through out my project and has definitely been a much needed guidance 
in writing this proposal as well. I am eagerly looking forward to work with 
Xerces community on this project and would like to make a positive contribution 
to Xerces-j team in every way i can.
  
  == 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 .

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to