<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
-->
<html id="htmlroot">
<head>
<title>Xerces-2 Schema beta</title>
<style type="text/css">
         BODY {  margin: 2em 1em 2em 70px;  
                 font-family: New Times Roman, serif;    
                 color: black;    
                 background-color: white;}
</style>
</head>

<body>
<h1>Xerces 2.0.2 Release Plan</h1>

<p><b>Features:</b>
<ul>
<li>Additional DOM L3 Core features (Document and Node) 
<li>Infrastructure for access to the PSVI
<li>Grammar caching
<li>Identity constraint cleanup
<li>Performance work (TBD) 
</ul>
<p><b>Target DCUT (code complete) date: </b> May 31 
<p><b>Target release date:</b> June 14              

<h3>Development line items </h3>
<table border="2" >
<tr>
<th style="text-align:left">Line item </th>
<th style="text-align:left">Volunteer </th>
<th style="text-align:left">Sizing </th>
<th style="text-align:left">Timeframe </th>
<th style="text-align:left">Status </th></tr>

<tr>
<td><b>DOM L3 </b>                
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Document:  documentURI 
<br>Document features:  comments, datatype-normalization, discard-default-content 
<td> Elena Litani</td>
<td> .5 pw</td>
<td> April 22 - 26</td>
<td> </td>
</tr> 

<tr>
<td>Node:  baseURI (investigation) </td>
<td> Elena Litani</td>
<td> 1 pw</td>
<td> April 22 - 30</td>
<td> </td>
</tr>

<tr>
<td>Document: normalizeDocument and associated features 
<td> Elena Litani</td>
<td> 1 pm</td>
<td> April 29 - May 24</td>
<td> </td>
</tr>

<tr>
<td>Document: renameNode 
<td> Arnaud Le Hors</td>
<td> TBD</td>
<td> TBD</td>
<td> </td>
</tr>

<tr>
<td>Node: compareTreePosition  
<td> Lisa Martin</td>
<td> 2 pw </td>
<td> April 29 - May 24</td>
<td> </td>
</tr>

<tr>
<td>Node: lookupNamespaceURI  
<td> Elena Litani</td>
<td> 1 pw </td>
<td> May 27 - May 31 </td>
<td> </td>
</tr>

<tr>
<td><b>Grammar Caching </b>                
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Design   
<td> Neil Graham, Andy Clark, et. al</td>
<td> 2 pw </td>
<td> April 22 - May 3</td>
<td> </td>
</tr>

<tr>
<td>Implementation
<td> Neil Graham</td>
<td> 2-3 pw</td>
<td> May 6 - May 24 </td>
<td> </td>
</tr>

<tr>
<td>Cleanup of JAXP 1.2 support
<td> Neeraj Bajaj</td>
<td> 2 pw</td>
<td> May 20 - May 31 </td>
<td> </td>
</tr>

<tr>
<td><b>Identity Constraints </b>                
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Cleanup and bug fixes
<td> Neil Graham</td>
<td> 1 pw</td>
<td> May 27 - May 31 </td>
<td> </td>
</tr>

<tr>
<td><b>PSVI infrastructure work </b>                
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Work on schema component API
<td> Sandy Gao, Elena Litani</td>
<td> 2 pw</td>
<td> April 15 - April 30</td>
<td> </td>
</tr>

<tr>
<td>Model groups and particle changes
<td> Sandy Gao</td>
<td> 3 pw</td>
<td> April 15 - May 3</td>
<td> </td>
</tr>

<tr>
<td>Implement interfaces for schema component model
<td> Sandy Gao</td>
<td> 1 pw</td>
<td> May 6 - May 10</td>
<td> </td>
</tr>

<tr>
<td>Change decl classes to store all required info
<br>e.g. scope
<td> Sandy Gao</td>
<td> 1 pw</td>
<td> May 13 - May 17 </td>
<td> </td>
</tr>

<tr>
<td>Buffer for unknown changes to the component model 
<td> Sandy Gao</td>
<td> 1 pw</td>
<td> May 20 - May 24 </td>
<td> </td>

<tr>
<td>Work on an API for access from DOM  
<td> Sandy Gao</td>
<td> 1 pw</td>
<td> May 27 - May 31 </td>
<td> </td>
</tr>

<tr>
<td><b>Performance enhancements  </b>                
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Misc. performance-related items (TBD)
<td> Gopal Sharma, Neerja Bajaj, Rahul Srivastava, Pavani Mukthipudi, et. al</td>
<td> TBD</td>
<td> TBD</td>
<td> TBD</td>
<td> </td>
</tr>

<tr>
<td><b>DCUT  </b>                
<td></td>
<td></td>
<td>May 31</td>
<td></td>
</tr>

<tr>
<td><b>Bug fix, test, etc.  </b>                
<td>all</td>
<td>2 pw</td>
<td>June 3 - June 14
<td></td>
</tr>

<tr>
<td><b>Build and publish Xerces 2.0.2</b>       
<td></td>
<td></td>
<td>June 14
<td></td>
</tr>

</table>

</body>
</html>
