| <!-- $Id$ --> |
| <html> |
| <head> |
| <title>Xerces2</title> |
| <link rel='stylesheet' type='text/css' href='css/site.css'> |
| <style type='text/css'> |
| .needs { font-size: smaller } |
| </style> |
| </head> |
| <body> |
| <span class='netscape'> |
| <a name='TOP'></a> |
| <h1>Xerces2</h1> |
| <a name='TOC'></a> |
| <h2>Table of Contents</h2> |
| <p> |
| <ul> |
| <li><a href='#Goals'>Goals</a></li> |
| <li><a href='#Scenarios'>Scenarios</a></li> |
| <li><a href='#Documentation'>Documentation</a></li> |
| <li><a href='#SourceCode'>Source Code</a> |
| <ul> |
| <li><a href='#SourceCode.MainBranches'>Main Branches</a></li> |
| <li><a href='#SourceCode.SupplementalBranches'>Supplemental Branches</a></li> |
| </ul> |
| </li> |
| </ul> |
| </p> |
| <hr> |
| <a name='Goals'></a> |
| <h2>Goals</h2> |
| <p> |
| The ultimate goal of the Xerces2 refactoring effort is to |
| develop an XML parser that is simple, clean, and modular. |
| By clearly defining the internal interfaces of the parser |
| components, the design of the parser will be better understood |
| and enable people to add features and fix bugs. Also, the |
| modularity of the design will enable custom configurations of |
| the parser that can be used in a wide variety of applications. |
| </p> |
| <a name='Scenarios'></a> |
| <h2>Scenarios</h2> |
| <p> |
| Xerces is a general purpose XML parser designed to be suitable |
| for a wide range of applications. A parser with better |
| performance can be written but it is believed that a general |
| design will suit a larger audience of XML application developers. |
| Therefore, any design should take into consideration what the |
| <em>users</em> of the parser need. |
| </p> |
| <p> |
| A few scenarios highlight the disparate needs of the developer |
| audience: |
| <ul> |
| <li> |
| <strong>XML Editor</strong><br> |
| <span class='needs'>grammar access; document |
| editing and events; re-validation</span> |
| </li> |
| <li> |
| <strong>Transaction Server that "Speaks" XML</strong><br> |
| <span class='needs'>high performance; grammar caching</span> |
| </li> |
| <li> |
| <strong>Client-side XML Applets</strong><br> |
| <span class='needs'>small footprint; serialization</span> |
| </li> |
| </ul> |
| </p> |
| <a name='Documentation'></a> |
| <h2>Documentation</h2> |
| <p> |
| <dl> |
| <!-- |
| <dt><a href='schedule.html'>Implementation Schedule</a></dt> |
| --> |
| |
| <dt><a href='coding.html'>Coding Conventions</a></dt> |
| |
| <dt>Design Documents</dt> |
| <dd> |
| Evaluation of <a href='crimson.html'>Crimson</a> and |
| <a href='xerces.html'>Xerces</a> Code |
| </dd> |
| <dd><a href='architecture.html'>Xerces2 Architecture</a></dd> |
| <dd><a href='entities.html'>Entity Management</a></dd> |
| <dd><a href='issues.html'>Implementation Issues</a></dd> |
| |
| <dt>Presentations</dt> |
| <dd> |
| <a href='http://www.apache.org/~andyc/speeches/20010407/Xerces2.ppt'>Xerces2</a> (PowerPoint 2000) <br> |
| 07 Apr 2001: XML Developer's Day - Tokyo, Japan |
| </dd> |
| <dd> |
| <a href='http://www.apache.org/~andyc/speeches/20010611/xerces2ws.ppt'>Xerces2 |
| Workshop</a> (PowerPoint 2000) <br> |
| 11 Jun 2001: Xerces2 Workshop - Cupertino, CA |
| </dd> |
| |
| <dt>Interfaces and Classes</dt> |
| <dd> |
| Design |
| [<a href='design.html'>.html</a>] |
| [<a href='css/design.css'>.css</a>] |
| [<a href='xml/design.dtd'>.dtd</a>] |
| [<a href='xml/design-all.xml'>.xml</a>] |
| [<a href='xsl/design.xsl'>.xsl</a>] |
| <!-- The DesignDoc program is currently broken. -Ac |
| [<a href='design.zip'>.zip</a>] |
| --> |
| </dd> |
| |
| <dt>Useful Programs</dt> |
| <dd> |
| Stylesheet |
| [<a href='src/Stylesheet.java'>.java</a>] |
| [<a href='src/Stylesheet.class'>.class</a>] |
| </dd> |
| <!-- The DesignDoc program is currently broken. -Ac |
| <dd> |
| DesignDoc |
| [<a href='src/DesignDoc.java'>.java</a>] |
| [<a href='src/DesignDoc.class'>.class</a>] |
| [<a href='src/DesignDoc$IndentingWriter.class'>.class</a>] |
| </dd> |
| --> |
| </dl> |
| </p> |
| <a name='SourceCode'></a> |
| <h2>Source Code</h2> |
| <p> |
| The source code is available in the Apache CVS repository |
| in the "xerces_j_2" branch of the "xml-xerces" module. For |
| anonymous access to the source code, use the following |
| commands to checkout the code into a local directory named |
| "x2": |
| <pre> |
| set CVSROOT=:pserver:anoncvs@cvs.apache.org:/home/cvspublic |
| cvs login <em>(password: anoncvs)</em> |
| cvs checkout -d x2 -r xerces_j_2 xml-xerces/java |
| </pre> |
| </p> |
| <a name='SourceCode.MainBranches'></a> |
| <h3>Main Branches</h3> |
| <p> |
| <table border='0' cellspacing='2' cellpadding='3'> |
| <tr><th>Branch</th><th>Description</th></tr> |
| <tr> |
| <td>xerces_j_2</td> |
| <td> |
| Main development branch for the Xerces2 implementation. |
| </td> |
| </tr> |
| <tr> |
| <td>x2m1</td> |
| <td> |
| Milestone 1<br> |
| The code from this milestone implements basic document parsing. |
| Only element, attributes, and text content is supported; all other |
| XML constructs are <strong>not</strong> supported. The SAXParser |
| and SAX examples can be used to test the code. |
| </td> |
| </tr> |
| <!-- |
| <tr> |
| <td></td> |
| <td> |
| </td> |
| </tr> |
| --> |
| </table> |
| </p> |
| <a name='SourceCode.SupplementalBranches'></a> |
| <h3>Supplemental Branches</h3> |
| <p> |
| All of the supplemental branches are created from the main |
| development branch named "xerces_j_2". Supplemental branches are |
| used for discovery work with the intention that code and/or |
| ideas from the branch will be merged back into the "xerces_j_2" |
| branch. |
| </p> |
| <p> |
| <table border='0' cellspacing='2' cellpadding='3'> |
| <tr><th>Branch</th><th>Description</th></tr> |
| <tr> |
| <td>x2entities</td> |
| <td> |
| Code to implement a bare bones entity management system. |
| <strong>Warning:</strong> The entity scanner is very inefficient |
| and is not for production use. This entity scanner is only used |
| to implement the essential entity scanning methods needed by the |
| document scanner. <em>Note:</em> This branch is no longer needed |
| and the files have been removed. |
| <dl style='margin: 0'> |
| <dt>Contents:</dt> |
| <dd>src/org/apache/xerces/readers/XMLEntityManager.java</dd> |
| <dd>src/org/apache/xerces/readers/XMLEntityScanner.java</dd> |
| </dl> |
| </td> |
| </tr> |
| <tr> |
| <td>x2design</td> |
| <td> |
| A re-organization of class and interface packages to seperate core |
| functionality from implementation. <em>Note:</em> This |
| work has now been merged back into the "xerces_j_2" branch. |
| <dl style='margin: 0'> |
| <dt>Contents:</dt> |
| <dd>design/xml/design.xml</dd> |
| </dl> |
| </td> |
| </tr> |
| <tr> |
| <td>parserConfig</td> |
| <td> |
| Experimentation with parser configuration. <em>Note:</em> This |
| work has now been merged back into the "xerces_j_2" branch. |
| <dl style='margin: 0'> |
| <dt>Contents:</dt> |
| <dd>src/org/apache/xerces/parsers (directory)</dd> |
| </dl> |
| </td> |
| </tr> |
| <!-- |
| <tr> |
| <td></td> |
| <td> |
| </td> |
| </tr> |
| --> |
| </table> |
| </p> |
| </span> |
| <a name='BOTTOM'></a> |
| <hr> |
| <span class='netscape'> |
| Author: Andy Clark <br> |
| Last modified: $Date$ |
| </span> |
| </body> |
| </html> |