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=14&rev2=15

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

  </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. Implementing 
thsese sematics on XML schema composition framework ,can be be considered the 
main objective of the project.
  
+   . {{{
-  . .
-  {{{
  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. .  .
+ 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 also 
applies to <override> information items present on the overridden schema by 
merging. .  .
  }}}
  
-  . . Although the idea behind  xs:override seems to be rather simple , 
several scenarios need to be considered where some complications would 
inevitably arise.Following are several such considerations.
+  . Although the idea behind  xs:override seems to be rather simple , several 
scenarios need to be considered where some complications would inevitably 
arise.Following are several such considerations.
    . {{{
  Circular includes and overrides would end up creating duplicate components 
that should be flagged as errors . (ie:- if Schema A include B , B override C 
and C intern include B then we could endup with different versions of B 
included in both A and C . Versions of B included in A and C will only be 
considered same if C->B override transformation does not apply  ) .  .
  }}}
@@ -44, +43 @@

  This scenario could occur in circular overrides as well  (ie:- if schema A 
overrides B and B overrides A , then if B->A override transformation affects 
schema A then duplicate errors will occur) .  .
  }}}
    . {{{
- In general if overriding schemas produce same override transformation schema 
result for inclusion, then they would be considered the same other wise 
duplicates will occur .(ie:- If schema A includes B,C and B,C both inturn 
override D  ,then B,C would include same version of D if B->D  and C->D 
override transform doesn’t affect D  OR if B,C both got same override schema 
components )
+ In general if overriding schemas produce same override transformation schema 
result for inclusion, then they would be considered the same , other wise if 
the transformation results differ , duplicates will occur .(ie:- If schema A 
includes B,C and B,C both inturn override D  ,then B,C would include same 
version of D if B->D  and C->D override transform doesn’t affect D  OR if B,C 
both got same override schema components )
  }}}
   . Implementation of xs:override should take into account the aforementioned 
factors so that dependencies are correctly evaluated and necessary schema 
preprocessing is performed.
  
@@ -67, +66 @@

   .
  xs:override implementation intends to extend this functionality to implement 
<override> structure semantics. Also several supporting structures will be 
needed so that <override>  schema components will be identified during schema 
processing. For example extending of following class structures.
  
-  . •  org.apache.xerces.impl.xs.SchemaSymbols – keeps track of collection of 
symbols used in parsing Schema Grammer. Need to introduce new <override> 
grammer symbols to this.
+  . •    org.apache.xerces.impl.xs.SchemaSymbols – keeps track of collection 
of symbols used in parsing Schema Grammer. Need to introduce new <override> 
grammer symbols to this.
  
-  . •  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 
scheama document.
+  . •    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 
scheama document.
  
-  . Additionally Xs:override implementation may require many new 
components/data structures to be added to org.apache.xerces.impl.xs package  
inorder to handle different scenarios regarding <override> semantics 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 as was 
described in the beginning.
- 
- 
  
  == Things I have Done So far ==
-  . 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.
+  . 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 and 
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 the 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.Running through 
several samples (xs.QuerryXS , jaxp.SourceValidator, xni samples,etc) and 
debugging them , really gave me a good inisght into to  Xerces framework...
  
  == Development Schedule ==
  ||<tablewidth="854px" tableheight="291px"width="200px" style="font-weight: 
bold; font-style: italic;">Time Schedule/Duration ||<style="font-weight: bold; 
font-style: italic;">Activity ||

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

Reply via email to