<?xml version="1.0" encoding="utf-8"?>
<!-- This file is part of the DITA Open Toolkit project hosted on 
     Sourceforge.net. See the accompanying license.txt file for 
     applicable licenses.-->
<!-- (C) Copyright IBM Corporation 2005. All Rights Reserved.
 *-->
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic id="ditaot_genlistmodule" xml:lang="en-us">
<title>DITA Open Toolkit GenList module</title>
<shortdesc></shortdesc>
<body>
  <p>Here is the class diagram of a sample Java module 'GenListModule' in the 
    preprocessing stage</p>
  <p>
    <image href="images/javamodules.gif"></image>
  </p>
  <p>We use GenListModule which extends AbstractModule to control the whole 
    program logic of this module. MapReader is used to parse the input xml 
    file. It also implements the org.xml.sax.ContentHandler. Is used to 
    handle different information in xml file, collect and write the information 
    we need to class Content. ListWriter reads the information from class 
    GenListModule and outputs those lists into the intermediate files. </p>
  <p>Here is the sequence diagram of the example. </p>
  <p>
    <image href="images/genlistmodule.gif"></image>
  </p>
  <p>GenListModule first creates MapReader and ListWriter. Then GenListModule 
    calls MapReader to read and parse the input file. In order to process the 
    large input file, we choose SAX Parser as the parser and each time we only 
    process one file and keep the list of files we will process later in the 
    waiting list of GenListModule. After the parse process is 
    over, GenListModule gets the result content from MapReader. Then 
    GenListModule processes the content and set the content to ListWriter. Then 
    it calls ListWriter to output the information to intermediate file.</p>
</body>
</topic>
