beehive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From heath...@apache.org
Subject svn commit: rev 43613 - in incubator/beehive/trunk/site: build build/site build/site/images build/site/skin build/site/skin/css build/site/skin/images build/site/skin/scripts build/tmp build/tmp/context build/tmp/context/WEB-INF build/tmp/context/WEB-INF/classes build/tmp/context/WEB-INF/lib build/tmp/context/WEB-INF/logs build/tmp/context/content build/tmp/context/content/xdocs build/tmp/context/resources build/tmp/context/resources/grammars build/tmp/context/resources/images build/tmp/context/resources/schema build/tmp/context/resources/schema/docbook build/tmp/context/resources/schema/docbook/4.2 build/tmp/context/resources/schema/docbook/4.2/ent build/tmp/context/resources/schema/dtd build/tmp/context/resources/schema/dtd/v10 build/tmp/context/resources/schema/dtd/v20a build/tmp/context/resources/schema/entity build/tmp/context/resources/schema/relaxng build/tmp/context/resources/schema/relaxng/unstable build/tmp/context/resources/schema/sdocbook build/tmp/context/resources/schema/sdocbook/1.0 build/tmp/context/resources/schema/w3c-dtd build/tmp/context/resources/stylesheets build/tmp/context/resources/stylesheets/aggregates build/tmp/context/skins build/tmp/context/skins/common build/tmp/context/skins/common/images build/tmp/context/skins/common/xslt build/tmp/context/skins/common/xslt/fo build/tmp/context/skins/common/xslt/html build/tmp/context/skins/forrest-site build/tmp/context/skins/forrest-site/css build/tmp/context/skins/forrest-site/images build/tmp/context/skins/forrest-site/scripts build/tmp/context/skins/forrest-site/xslt build/tmp/context/skins/forrest-site/xslt/fo build/tmp/context/skins/forrest-site/xslt/html build/tmp/context/this-should-never-be-used build/tmp/work build/tmp/work/cache-dir build/webapp build/webapp/WEB-INF build/webapp/WEB-INF/classes build/webapp/WEB-INF/classes/org build/webapp/WEB-INF/classes/org/apache build/webapp/WEB-INF/classes/org/apache/cocoon build/webapp/WEB-INF/classes/org/apache/cocoon/util build/webapp/WEB-INF/lib build/webapp/WEB-INF/logs build/webapp/content build/webapp/content/xdocs build/webapp/resources build/webapp/resources/grammars build/webapp/resources/images build/webapp/resources/schema build/webapp/resources/schema/docbook build/webapp/resources/schema/docbook/4.2 build/webapp/resources/schema/docbook/4.2/ent build/webapp/resources/schema/dtd build/webapp/resources/schema/dtd/v10 build/webapp/resources/schema/dtd/v20a build/webapp/resources/schema/entity build/webapp/resources/schema/relaxng build/webapp/resources/schema/relaxng/unstable build/webapp/resources/schema/sdocbook build/webapp/resources/schema/sdocbook/1.0 build/webapp/resources/schema/w3c-dtd build/webapp/resources/stylesheets build/webapp/resources/stylesheets/aggregates build/webapp/skins build/webapp/skins/common build/webapp/skins/common/images build/webapp/skins/common/xslt build/webapp/skins/common/xslt/fo build/webapp/skins/common/xslt/html build/webapp/skins/forrest-site build/webapp/skins/forrest-site/css build/webapp/skins/forrest-site/images build/webapp/skins/forrest-site/scripts build/webapp/skins/forrest-site/xslt build/webapp/skins/forrest-site/xslt/fo build/webapp/skins/forrest-site/xslt/html build/webapp/this-should-never-be-used src/documentation src/documentation/content/xdocs
Date Thu, 09 Sep 2004 17:04:45 GMT
Author: heathers
Date: Thu Sep  9 10:04:36 2004
New Revision: 43613

Added:
   incubator/beehive/trunk/site/build/
   incubator/beehive/trunk/site/build/site/
   incubator/beehive/trunk/site/build/site/ControlProgramming.pdf   (contents, props changed)
   incubator/beehive/trunk/site/build/site/Controls.html
   incubator/beehive/trunk/site/build/site/ControlsOverview.html
   incubator/beehive/trunk/site/build/site/ControlsProgramming.html
   incubator/beehive/trunk/site/build/site/contributors.html
   incubator/beehive/trunk/site/build/site/downloads.html
   incubator/beehive/trunk/site/build/site/faq.html
   incubator/beehive/trunk/site/build/site/favicon.ico   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/
   incubator/beehive/trunk/site/build/site/images/ControlsOverview_1.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/ControlsOverview_2.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/ControlsOverview_3.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/ControlsOverview_4.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/ControlsProgramming_1.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/ControlsProgramming_2.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/ControlsProgramming_3.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/Logo_25wht.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/apache-incubator-logo.png   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/beehive_logo_wide.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/incubator-logo.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/images/maven-button-1.png   (contents, props changed)
   incubator/beehive/trunk/site/build/site/index.html
   incubator/beehive/trunk/site/build/site/license.html
   incubator/beehive/trunk/site/build/site/mailinglists.html
   incubator/beehive/trunk/site/build/site/skin/
   incubator/beehive/trunk/site/build/site/skin/breadcrumbs-optimized.js
   incubator/beehive/trunk/site/build/site/skin/breadcrumbs.js
   incubator/beehive/trunk/site/build/site/skin/css/
   incubator/beehive/trunk/site/build/site/skin/images/
   incubator/beehive/trunk/site/build/site/skin/images/chapter.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/chapter_open.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/current.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/doc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/favicon.ico   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/label.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/menu-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/menu-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/page.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/pdfdoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/printer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/search-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/search-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/singlepage.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/spacer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/tab-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/tab-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/tabSel-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/tabSel-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/valid-html401.png   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/vcss.png   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/images/xmldoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/site/skin/page.css
   incubator/beehive/trunk/site/build/site/skin/scripts/
   incubator/beehive/trunk/site/build/site/webservices.html
   incubator/beehive/trunk/site/build/tmp/
   incubator/beehive/trunk/site/build/tmp/brokenlinks.xml
   incubator/beehive/trunk/site/build/tmp/context/
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/classes/
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/cli.xconf
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/cocoon.xconf
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/lib/
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logkit.xconf
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/access.log
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/core.log
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/debug.log
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/error.log
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/flow.log
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/idgen.log
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/linkrewriter.log
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/sitemap.log
   incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/xmlform.log
   incubator/beehive/trunk/site/build/tmp/context/aggregate.xmap
   incubator/beehive/trunk/site/build/tmp/context/content/
   incubator/beehive/trunk/site/build/tmp/context/content/ControlProgramming.pdf   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/content/ControlsOverview.html
   incubator/beehive/trunk/site/build/tmp/context/content/ControlsProgramming.html
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/contributors.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/controls.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/downloads.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/faq.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/index.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/license.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/mailinglists.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/site.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/tabs.xml
   incubator/beehive/trunk/site/build/tmp/context/content/xdocs/webservices.xml
   incubator/beehive/trunk/site/build/tmp/context/dtd.xmap
   incubator/beehive/trunk/site/build/tmp/context/faq.xmap
   incubator/beehive/trunk/site/build/tmp/context/forrest.xmap
   incubator/beehive/trunk/site/build/tmp/context/issues.xmap
   incubator/beehive/trunk/site/build/tmp/context/jettyconf.xml
   incubator/beehive/trunk/site/build/tmp/context/jtidy.properties
   incubator/beehive/trunk/site/build/tmp/context/linkmap.xmap
   incubator/beehive/trunk/site/build/tmp/context/menu.xmap
   incubator/beehive/trunk/site/build/tmp/context/profiler.xmap
   incubator/beehive/trunk/site/build/tmp/context/raw.xmap
   incubator/beehive/trunk/site/build/tmp/context/resources/
   incubator/beehive/trunk/site/build/tmp/context/resources.xmap
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grammar-v20.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm.xgrm
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm.xlex
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm2xgrm.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm2xlex.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/lexicon-v20.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/link.xlex
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/regex.xgrm
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/regex.xlex
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/text4regex.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.grm
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.xgrm
   incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.xlex
   incubator/beehive/trunk/site/build/tmp/context/resources/images/
   incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsOverview_1.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsOverview_2.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsOverview_3.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsOverview_4.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsProgramming_1.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsProgramming_2.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsProgramming_3.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/Logo_25wht.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/add.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/apache-incubator-logo.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/beehive_logo_wide.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/built-with-forrest-button.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/fix.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/forrest-credit-logo.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/hack.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/incubator-logo.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/maven-button-1.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/remove.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/rss.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/images/update.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/CatalogManager.properties
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/README
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/catalog
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/catalog.xcat
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ChangeLog
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/README
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/calstblx.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/catalog.xml
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbcentx.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbgenent.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbhierx.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbnotnx.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbpoolx.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/docbook.cat
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/docbookx.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsa.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsb.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsc.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsn.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amso.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsr.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-box.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-cyr1.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-cyr2.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-dia.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk1.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk2.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk3.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk4.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-lat1.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-lat2.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-num.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-pub.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-tech.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/soextblx.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/book-cocoon-v10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v11.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v11.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v12.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/common-charents-v10.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/common-elems-v10.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/contributors-v10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v11.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v11.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v12.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v12.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v11.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v11.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v12.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v12.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/howto-v10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/howto-v12.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/javadoc-v04draft.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/specification-v11.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/tab-cocoon-v10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v11.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v11.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v12.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/README
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/changes-v10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/characters.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/document-v10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/faq-v10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/todo-v10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/document-v20.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/document-v20.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/faq-v20.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/faq-v20.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/xgump-draft.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOdia.pen
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOgrk1.pen
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOlat1.pen
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOnum.pen
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOpub.pen
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOtech.pen
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/README.txt
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/book-v01.rng
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/sitemap-v06.rng
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/skinconf.rnc
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/any.rng
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/any.rnx
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/forrestbot.rng
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/forrestbot.rnx
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/xslt.rng
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbcent.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbhier.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbpool.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook-custom.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook.css
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbookref-custom.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbookref.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sinclist.mod
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/catalog
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/catalog.xcat
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-exchange.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-shared.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-stylable.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg10.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-lat1.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-special.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-symbol.ent
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-frameset.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-strict.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-transitional.dtd
   incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1.dcl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/absolutize-linkmap.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/book2cinclude.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/doc2doc-uniqueids.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/docs2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/relativize-split-linkmap.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/bookv10.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changes2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changes2rss.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changesv10tochangesv11.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/copyover.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/directory2book.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/directory2revisions.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docbook2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docv10todocv11.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docv20todocv12.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/dotdots.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/dtdx2flat.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faq2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faqv10tofaqv11.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faqv20tofaqv12.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/flat2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/howto2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/html2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/html2htmlbody.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/page2html.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/profile2page.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/project2text.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/relativize-linkmap.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/rssissues2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2book.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2site-normalizetabs.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2site-selectnode.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/text2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/todo2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/wiki2document.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/wiki2html.xsl
   incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/wiki2htmlpage.xsl
   incubator/beehive/trunk/site/build/tmp/context/revisions.xmap
   incubator/beehive/trunk/site/build/tmp/context/sitemap.xmap
   incubator/beehive/trunk/site/build/tmp/context/skinconf.xml
   incubator/beehive/trunk/site/build/tmp/context/skins/
   incubator/beehive/trunk/site/build/tmp/context/skins/common/
   incubator/beehive/trunk/site/build/tmp/context/skins/common/images/
   incubator/beehive/trunk/site/build/tmp/context/skins/common/images/README.txt
   incubator/beehive/trunk/site/build/tmp/context/skins/common/images/built-with-forrest-button.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/common/images/pdfdoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/common/images/printer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/common/images/spacer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/common/images/valid-html401.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/common/images/xmldoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/document2fo.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/footerinfo.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/pdfoutline.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/book2menu.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/document2html.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/dotdots.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/pathutils.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/renderlogo.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/site2xhtml.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/split.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/tab2menu.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/tabutils.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/css/
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/css/page.css
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/chapter.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/chapter_open.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/current.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/doc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/favicon.ico   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/label.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/menu-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/menu-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/page.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/pdfdoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/printer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/search-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/search-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/singlepage.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/spacer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/tab-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/tab-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/tabSel-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/tabSel-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/valid-html401.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/vcss.png   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/xmldoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/scripts/
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/scripts/breadcrumbs-optimized.js
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/scripts/breadcrumbs.js
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/fo/
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/fo/document2fo.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/book2menu.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/document2html.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/site2xhtml.xsl
   incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/tab2menu.xsl
   incubator/beehive/trunk/site/build/tmp/context/status.xmap
   incubator/beehive/trunk/site/build/tmp/context/status.xml
   incubator/beehive/trunk/site/build/tmp/context/this-should-never-be-used/
   incubator/beehive/trunk/site/build/tmp/context/this-should-never-be-used/favicon.ico   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/skinfilters.properties
   incubator/beehive/trunk/site/build/tmp/work/
   incubator/beehive/trunk/site/build/tmp/work/cache-dir/
   incubator/beehive/trunk/site/build/tmp/work/cache-dir/cocoon.dat   (contents, props changed)
   incubator/beehive/trunk/site/build/tmp/work/cache-dir/cocoon.idx   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/CatalogManager.properties
   incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/org/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/org/apache/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/org/apache/cocoon/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/org/apache/cocoon/util/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/org/apache/cocoon/util/mime.types
   incubator/beehive/trunk/site/build/webapp/WEB-INF/cli.xconf
   incubator/beehive/trunk/site/build/webapp/WEB-INF/cocoon.xconf
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/avalon-framework-4.1.4.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/batik-1.5b4-fop.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/chaperon-2.1.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-asciiart-block-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-batik-block-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-chaperon-block-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-deprecated-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-fop-block-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-html-block-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-linkrewriter-block-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-profiler-block-2.1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/commons-cli-1.0.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/commons-collections-2.1.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/commons-jxpath-20030909.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/commons-lang-1.0.1.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-cli-1.0.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-component-1.1.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-concurrent-20020820.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-datasource-vm12-20021121.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-event-20030904.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-i18n-1.0.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-instrument-1.0.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-instrument-manager-1.0.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-instrument-manager-interfaces-1.0.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-io-1.1.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-logger-1.0.1.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-monitor-1.0.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-naming-1.0.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-pool-1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-sourceresolve-20030715.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-store-20030825.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-xmlutil-20030520.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/fop-0.20.5.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jakarta-oro-2.0.6.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jakarta-regexp-1.3.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jing-20020724.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jisp-2.5.1.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jtidy-04aug2000r7-dev.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/logkit-1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/lucene-1.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/nekodtd-0.1.6.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/nekodtd-dtd2xml.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/nekopull-0.2.3.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/placeholder
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/resolver-20030708.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/util.concurrent-1.3.2.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/xerces-xniWriter.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/xml-forrest-components.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/xml-forrest-scratchpad.jar   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logkit.xconf
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/access.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/core.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/debug.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/error.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/flow.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/idgen.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/linkrewriter.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/sitemap.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/logs/xmlform.log
   incubator/beehive/trunk/site/build/webapp/WEB-INF/web.xml
   incubator/beehive/trunk/site/build/webapp/aggregate.xmap
   incubator/beehive/trunk/site/build/webapp/content/
   incubator/beehive/trunk/site/build/webapp/content/ControlProgramming.pdf   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/content/ControlsOverview.html
   incubator/beehive/trunk/site/build/webapp/content/ControlsProgramming.html
   incubator/beehive/trunk/site/build/webapp/content/xdocs/
   incubator/beehive/trunk/site/build/webapp/content/xdocs/contributors.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/controls.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/downloads.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/faq.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/index.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/license.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/mailinglists.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/site.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/tabs.xml
   incubator/beehive/trunk/site/build/webapp/content/xdocs/webservices.xml
   incubator/beehive/trunk/site/build/webapp/dtd.xmap
   incubator/beehive/trunk/site/build/webapp/faq.xmap
   incubator/beehive/trunk/site/build/webapp/forrest.xmap
   incubator/beehive/trunk/site/build/webapp/issues.xmap
   incubator/beehive/trunk/site/build/webapp/jettyconf.xml
   incubator/beehive/trunk/site/build/webapp/jtidy.properties
   incubator/beehive/trunk/site/build/webapp/linkmap.xmap
   incubator/beehive/trunk/site/build/webapp/menu.xmap
   incubator/beehive/trunk/site/build/webapp/profiler.xmap
   incubator/beehive/trunk/site/build/webapp/raw.xmap
   incubator/beehive/trunk/site/build/webapp/resources/
   incubator/beehive/trunk/site/build/webapp/resources.xmap
   incubator/beehive/trunk/site/build/webapp/resources/grammars/
   incubator/beehive/trunk/site/build/webapp/resources/grammars/grammar-v20.dtd
   incubator/beehive/trunk/site/build/webapp/resources/grammars/grm.xgrm
   incubator/beehive/trunk/site/build/webapp/resources/grammars/grm.xlex
   incubator/beehive/trunk/site/build/webapp/resources/grammars/grm2xgrm.xsl
   incubator/beehive/trunk/site/build/webapp/resources/grammars/grm2xlex.xsl
   incubator/beehive/trunk/site/build/webapp/resources/grammars/lexicon-v20.dtd
   incubator/beehive/trunk/site/build/webapp/resources/grammars/link.xlex
   incubator/beehive/trunk/site/build/webapp/resources/grammars/regex.xgrm
   incubator/beehive/trunk/site/build/webapp/resources/grammars/regex.xlex
   incubator/beehive/trunk/site/build/webapp/resources/grammars/text4regex.xsl
   incubator/beehive/trunk/site/build/webapp/resources/grammars/wiki.grm
   incubator/beehive/trunk/site/build/webapp/resources/grammars/wiki.xgrm
   incubator/beehive/trunk/site/build/webapp/resources/grammars/wiki.xlex
   incubator/beehive/trunk/site/build/webapp/resources/images/
   incubator/beehive/trunk/site/build/webapp/resources/images/ControlsOverview_1.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/ControlsOverview_2.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/ControlsOverview_3.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/ControlsOverview_4.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/ControlsProgramming_1.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/ControlsProgramming_2.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/ControlsProgramming_3.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/Logo_25wht.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/add.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/apache-incubator-logo.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/beehive_logo_wide.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/built-with-forrest-button.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/fix.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/forrest-credit-logo.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/hack.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/incubator-logo.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/maven-button-1.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/remove.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/rss.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/images/update.jpg   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/resources/schema/
   incubator/beehive/trunk/site/build/webapp/resources/schema/CatalogManager.properties
   incubator/beehive/trunk/site/build/webapp/resources/schema/README
   incubator/beehive/trunk/site/build/webapp/resources/schema/catalog
   incubator/beehive/trunk/site/build/webapp/resources/schema/catalog.xcat
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ChangeLog
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/README
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/calstblx.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/catalog.xml
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/dbcentx.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/dbgenent.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/dbhierx.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/dbnotnx.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/dbpoolx.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/docbook.cat
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/docbookx.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsa.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsb.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsc.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsn.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amso.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsr.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-box.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-cyr1.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-cyr2.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-dia.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk1.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk2.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk3.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk4.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-lat1.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-lat2.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-num.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-pub.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-tech.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/soextblx.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/book-cocoon-v10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v11.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v11.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v12.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/common-charents-v10.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/common-elems-v10.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/contributors-v10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v11.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v11.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v12.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v12.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v11.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v11.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v12.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v12.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/howto-v10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/howto-v12.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/javadoc-v04draft.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/specification-v11.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/tab-cocoon-v10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v11.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v11.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v12.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/README
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/changes-v10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/characters.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/document-v10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/faq-v10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/todo-v10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/document-v20.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/document-v20.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/faq-v20.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/faq-v20.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/xgump-draft.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/entity/
   incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOdia.pen
   incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOgrk1.pen
   incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOlat1.pen
   incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOnum.pen
   incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOpub.pen
   incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOtech.pen
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/README.txt
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/book-v01.rng
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/sitemap-v06.rng
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/skinconf.rnc
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/any.rng
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/any.rnx
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/forrestbot.rng
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/forrestbot.rnx
   incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/xslt.rng
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbcent.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbhier.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbpool.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook-custom.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook.css
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbookref-custom.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbookref.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sinclist.mod
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/catalog
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/catalog.xcat
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-exchange.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-shared.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-stylable.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg10.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-lat1.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-special.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-symbol.ent
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-frameset.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-strict.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-transitional.dtd
   incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1.dcl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/absolutize-linkmap.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/book2cinclude.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/doc2doc-uniqueids.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/docs2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/relativize-split-linkmap.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/bookv10.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changes2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changes2rss.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changesv10tochangesv11.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/copyover.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/directory2book.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/directory2revisions.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docbook2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docv10todocv11.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docv20todocv12.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/dotdots.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/dtdx2flat.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faq2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faqv10tofaqv11.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faqv20tofaqv12.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/flat2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/howto2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/html2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/html2htmlbody.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/page2html.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/profile2page.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/project2text.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/relativize-linkmap.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/rssissues2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2book.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2site-normalizetabs.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2site-selectnode.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/text2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/todo2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/wiki2document.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/wiki2html.xsl
   incubator/beehive/trunk/site/build/webapp/resources/stylesheets/wiki2htmlpage.xsl
   incubator/beehive/trunk/site/build/webapp/revisions.xmap
   incubator/beehive/trunk/site/build/webapp/sitemap.xmap
   incubator/beehive/trunk/site/build/webapp/skinconf.xml
   incubator/beehive/trunk/site/build/webapp/skins/
   incubator/beehive/trunk/site/build/webapp/skins/common/
   incubator/beehive/trunk/site/build/webapp/skins/common/images/
   incubator/beehive/trunk/site/build/webapp/skins/common/images/README.txt
   incubator/beehive/trunk/site/build/webapp/skins/common/images/built-with-forrest-button.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/common/images/pdfdoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/common/images/printer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/common/images/spacer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/common/images/valid-html401.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/common/images/xmldoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/document2fo.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/footerinfo.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/pdfoutline.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/book2menu.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/document2html.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/dotdots.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/pathutils.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/renderlogo.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/site2xhtml.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/split.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/tab2menu.xsl
   incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/tabutils.xsl
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/css/
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/css/page.css
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/chapter.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/chapter_open.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/current.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/doc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/favicon.ico   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/label.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/menu-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/menu-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/page.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/pdfdoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/printer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/search-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/search-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/singlepage.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/spacer.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/tab-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/tab-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/tabSel-left.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/tabSel-right.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/valid-html401.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/vcss.png   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/xmldoc.gif   (contents, props changed)
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/scripts/
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/scripts/breadcrumbs-optimized.js
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/scripts/breadcrumbs.js
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/fo/
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/fo/document2fo.xsl
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/book2menu.xsl
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/document2html.xsl
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/site2xhtml.xsl
   incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/tab2menu.xsl
   incubator/beehive/trunk/site/build/webapp/status.xmap
   incubator/beehive/trunk/site/build/webapp/status.xml
   incubator/beehive/trunk/site/build/webapp/this-should-never-be-used/
   incubator/beehive/trunk/site/build/webapp/this-should-never-be-used/favicon.ico   (contents, props changed)
Removed:
   incubator/beehive/trunk/site/src/documentation/content/xdocs/oscon.xml
Modified:
   incubator/beehive/trunk/site/src/documentation/content/xdocs/controls.xml
   incubator/beehive/trunk/site/src/documentation/content/xdocs/index.xml
   incubator/beehive/trunk/site/src/documentation/content/xdocs/site.xml
   incubator/beehive/trunk/site/src/documentation/skinconf.xml
Log:
updated project site source and forrest-generated site

Added: incubator/beehive/trunk/site/build/site/ControlProgramming.pdf
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/Controls.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/Controls.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Apache Beehive Controls</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!--================= start Navigation Path ==================-->
+<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Navigation Path ==================-->
+<!--================= start Banner ==================-->
+<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<!--================= start Group Logo ==================-->
+<td bgcolor="#294563"><a href="http://incubator.apache.org/"><img border="0" class="logoImage" alt="Apache Incubator" src="images/incubator-logo.gif"></a></td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/beehive"><img border="0" class="logoImage" alt="Apache Beehive" src="images/beehive_logo_wide.gif"></a></td>
+<!--================= end Project Logo ==================-->
+<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
+<tr>
+<td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<br>
+<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
+                      the Apache Beehive site
+                      
+                      
+                    </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" bgcolor="#294563" colspan="2">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="6"><img alt="" height="8" width="6" src="skin/images/spacer.gif"></td><td valign="bottom">
+<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="index.html">Home</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</div>
+<!--================= end Tabs ==================-->
+</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Banner ==================-->
+<!--================= start Menu, NavBar, Content ==================-->
+<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top">
+<table summary="menu" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<!--================= start left top NavBar ==================-->
+<td rowspan="3" valign="top">
+<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
+</tr>
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td>
+<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
+<!--================= start Menu items ==================-->
+<div class="menu">
+<ul>
+<li>
+<font color="#CFDCED">Beehive</font>
+<ul>
+    
+<li>
+<a href="index.html">Welcome</a>
+</li>
+    
+<li>
+<a href="license.html">License</a>
+</li>
+    
+<li>
+<a href="downloads.html">Downloads</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Documentation</font>
+<ul>
+    
+<li>
+<a href="faq.html">FAQ</a>
+</li>
+    
+<li>
+<span class="sel"><font color="#ffcc00">Controls</font></span>
+</li>
+    
+<li>
+<a href="webservices.html">Web Services (JSR 181)</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Community</font>
+<ul>
+    
+<li>
+<a href="mailinglists.html">Mailing Lists</a>
+</li>
+    
+<li>
+<a href="contributors.html">Contributors</a>
+</li>
+  
+</ul>
+</li>
+</ul>
+</div>
+<!--================= end Menu items ==================-->
+</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
+</tr>
+<tr>
+<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td><td valign="top" width="100%">
+<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
+<!--================= start middle NavBar ==================-->
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end middle NavBar ==================-->
+<!--================= start Content==================-->
+<tr>
+<td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
+<div class="content">
+<table class="title" summary="">
+<tr>
+<td valign="middle">
+<h1>Apache Beehive Controls</h1>
+</td>
+</tr>
+</table>
+
+
+<p>
+<a target="_blank" href="./ControlsOverview.html">Controls Overview</a>  This is an overview
+of controls.  It goes into the basic philosohy behind Controls, as well as their architecture.
+<br>
+<br>
+
+<a target="_blank" href="./ControlsProgramming.html">Controls Programming</a> This is a more
+in depth look at the controls programming model.  It will give you a better understanding of how to write controls that take
+advantage of the framework.
+
+</p>
+
+<div class="attribution"></div>
+</div>
+</td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end Content==================-->
+</table>
+</td>
+</tr>
+</table>
+<!--================= end Menu, NavBar, Content ==================-->
+<!--================= start Footer ==================-->
+<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+</tr>
+<tr>
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
+          2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  --></script></font></td>
+</tr>
+<tr>
+<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
+</tr>
+</table>
+<!--================= end Footer ==================-->
+</body>
+</html>

Added: incubator/beehive/trunk/site/build/site/ControlsOverview.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/ControlsOverview.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,449 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Controls Overview</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+
+<h3>Controls</h3>
+<b>Providing simplified and unified client access to J2EE resources</b><br><Br>
+
+<h3>Table of Contents</h3>
+
+
+<a href="#Overview">Overview	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Complexity">Problem: Complexity -- Learning Curve	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Controls ">Solution: Controls -- Unified Client Programming Model	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="Resource">Problem: Resource Diversity -- Tooling Challenges	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Controls Unified">Solution: Controls -- Unified Tooling Model	</a><br>
+<a href="#Controls Architecture">The Controls Architecture	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Operations">Operations and Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Public">Public Interface / Private Implementation / ControlBean Wrapper	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Flexible">A Flexible Property Model	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Extensibility">Extensibility by Interface	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Contextual">Contextual Services	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Resource Management">Resource Management	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Composition">Composition Model</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Packaging">Packaging Model	</a><br>
+<a href="#Controls Client">The Controls Client Models	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Programmatic">Programmatic Client Model Example	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative">Declarative Programming Model Example	</a><br><br>
+
+<h3><a name="#Overview">Overview</a></h3>
+J2EE provides a rich set of basic building blocks for constructing and interconnecting a distributed Web UI, application or service:  EJBs, JMS, JAX-RPC, JDBC, and JCA, to name a few.  
+<br><br>
+<b>The challenge for corporate developers and for J2EE development tool vendors is that each individual J2EE technology presents a unique set of client APIs, configuration models, and resource management strategies.  </b><br><br>
+
+Because each is unique, the learning curve is high and the potential for tooling and automation is relatively low.
+<br><br>
+Significant progress is being made towards simplifying the authoring model for enterprise application components; but the client access model for developed components remains fragmented.  Where simplification is being pursued, it is being done in a manner that is often resource-specific.   While this approach offers the potential for easier use of any particular resource type, a lack of unification or commonality in the access mechanisms makes it difficult for tools to support the development process and still presents a learning curve for users.
+
+<br><br>
+<b>The Controls architecture provides a common framework and configuration model for how enterprise resources can be exposed to clients.   It does not replace existing resource access models; it provides a unifying layer on top of them to provide consistency and simplification.</b>
+<br><br>
+It is based upon the JavaBeans component model, which was originally developed to be lightweight, executable in variety of environments, and toolable.  It extends the base concepts of JavaBeans to add the new metadata capabilities of JSR-175, an extensibility model that allows the definition of customized and pre-configured views (operations), and a resource management strategy that enables client-side resources (such as stubs, handles, connections, sessions, etc.) to be managed transparently on behalf of the client. 
+<br><br>
+<b>The Controls architecture is designed to be IDE-friendly, so defining and configuring client access to J2EE resources can be a property or wizard-driven process, and can be represented using visual design metaphors.</b><br><br>
+
+It includes a set of metadata attribute/property definition conventions that enables introspection and presentation of available configuration options and value validation.   It provides a JAR-based packaging model, allowing Controls to be easily discovered by tools and assembled into application modules.
+<br><br>
+<b><a name="Complexity">Problem:  Complexity -- Learning Curve</a></b>
+<br><br>
+J2EE provides a rich set of component types, protocols, and system services that can be used to assemble an application or service.   
+<br><br>
+<b>As the scope of the J2EE architectural design space has grown, the complexity of assembling solutions has also grown.  </b>
+<br><br>
+Many of the basic building blocks provide their own set of mechanisms for how J2EE abstractions are accessed, how usage is parameterized, and how resources associated with them (connections, sessions, etc) are managed. 
+<br><br>
+
+An objective of the J2EE community is to expand beyond the Java system software developer that has traditionally built J2EE solutions to enfranchise a new type of developer: the corporate developer.   The corporate developer is often a very strong programmer, but may have significantly less experience with object-oriented design, building distributed systems, and Java/J2EE.   
+<br><br>
+<b>The goal is to enable a collaboration where the base J2EE distributed system architecture and back-end components can be designed and built by the J2EE system software developer, then assembled into exposed web user interfaces, web services, or applications by the corporate or application developer.</b><br><br>
+
+But the complexity and diversity of J2EE client access models stands in direct opposition to achieving this goal.   Depending upon the system architecture and components constructed by the system developer, the application developer might have to learn a variety of new technologies and APIs to work within the architecture.
+<br><br>
+
+Consider a simple example:  A systems developer has built a distributed system where synchronous services are exposed as Enterprise JavaBeans and asynchronous services are exposed via JMS queues.   A corporate developer new to J2EE is tasked with building a web user interface that integrates with these services.
+<br><br>
+To accomplish his task, the corporate developer now has to learn how to:
+<ul>
+<li>Create a JNDI context and lookup resources.  If resources are app-scoped, then how to provide the appropriate deployment descriptor configuration.
+<li>How to use home/business interfaces of exposed EJBs to access business methods, including understanding differences in usage depending upon whether the exposed EJBs are Stateless Session Beans, Stateful Session Beans, or Entity Beans.
+<li>How to obtain JMS connections/sessions, and references to queues.
+<li>How to construct and enqueue a JMS message.
+<li>How to properly manage the resources associated with the above, such that vital system resources (such as connections) are used efficiently and correctly.   The cost of a subtle mistake can be poor system performance or even system failure.
+</ul>
+<br><br>
+What initially appears to be a simple task in the abstract  (call these EJBs or enqueue a message that looks like this) can devolve into hours or days or reading J2EE HowTo books and Javadoc API references, getting the right deployment descriptor values configured, and calling all the right APIs, at all of the right times, in the right order.   In the resulting application or service, often the directly application-related code (i.e. calling the bean business method or building message contents) is a small fraction of the total code required to accomplish the task.  
+<br><br>
+Here is an example of the code required to invoke a single method on an exposed EJB using standard J2EE APIs:
+<br><br>
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Trader trader = null;
+try
+{
+    InitialContext ic = new InitialContext();
+    TraderHome home = (TraderHome)ic.lookup("MyTraderBean");
+    Trader trader = home.create();
+    TradeResult tradeResult = trader.buy(stock, shares);
+     return  tradeResult;
+}
+catch (NamingException ne) 
+{
+	     
+}
+finally
+{
+    if (trader != null)
+        trader.remove();
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+A common solution to this problem is often to task the J2EE professional developer with constructing facades or custom frameworks that hide some of the underlying complexity and resource access mechanisms and provides appropriate guarantees that system resources (connections, sessions, handles, etc) are utilized properly.   But constructing these intermediate abstractions is an inefficient use of (an often scarce and expensive) systems development resources. Depending upon the "thickness" of the intermediate abstractions, this approach can also have performance or application deployment footprint implications.
+<br><Br>
+<b><a name="Solution">Solution: Controls -- Unified Client Programming Model</a><br><br></b>
+Controls reduce the complexity and learning curve associated with acting as a client of J2EE resources by providing a unified client model that can provide access to diverse types of resources.   
+<br><br>
+<b>To the client, Controls appear as JavaBeans that can be instantiated and used for resource access.</b><br><br>
+
+Properties that parameterize resource access can be set using JSR-175 metadata attributes, as arguments to factory-based instantiation, or even bound using externalized configuration data.   These configuration mechanisms are consistent across all resource types, and Controls provide the appropriate mapping to resource-type-specific APIs or deployment descriptor entries.
+<br><br>
+Controls present operations on the resource as methods on the JavaBean interface.  They also support a two-way communication style where resource events can be delivered to a registered listener. 
+<br><br>
+<b>Controls provide a consistent model for discovering the configuration options, operations, and events exposed by a resource. </b><br><br>
+Controls can also provide transparent (to the client) resource management of connections, sessions, or other resources to be obtained on behalf of the client, held for an appropriate resource scope to achieve best performance, and then released.  This resource management mechanism frees the client from having to learn or understand the acquisition mechanisms, and from having to directly participate in guaranteeing their release.   The Controls architecture provides this functionality by defining a simple resource management contract that can cooperate with an outer container to manage resources at the appropriate scope (for example, bounded to a transaction context or outer container operation or request scope).
+<br><br>
+Using a Control that exposes the Trader EJB in the earlier example, the code to invoke the buy() method on this bean can become:
+<br><br>
+The TraderBean Control fully encapsulates the JNDI lookup as well as the home/bean interface operations needed to get an instance of the Trader EJB and invoke the buy() method on it, and exposes the JNDI name of the EJB as a property that can be set either programmatic, via metadata, or using an external deployment descriptor.
+<br><br>
+
+Controls also provide an extensibility model that allows customized view of a resource to be constructed, with discrete operations defined as methods on the control.  For example, it is possible to define a custom operation on a Control type representing a JMS queue resource, that uses metadata attributes to define the format of the message, with message contents set from message parameters.   This enables the professional developer (or even the corporate developer) to construct new customized facades for resource access with a minimum of effort.
+<br><br>
+
+Weblogic Workshop Controls can be considered a "proof of concept" for the Controls architecture.  Workshop Controls have used similar techniques to provide a base mechanism for unified access to:
+<ul>
+<li>Enterprise JavaBeans
+<li>	JMS Queues and Topics
+<li>	Web Services
+<li>	Database Access via JDBC
+<li>Enterprise Resources via JCA
+</ul>
+<b>The goal of the Controls architecture is not to define the standards for how specific resource types will be exposed; rather, it is to guarantee that when exposed they will have a commonality in mechanism that makes them easier to understand and use by developers.</b><br><br>
+<b><a name="Resource">Problem: Resource Diversity -- Tooling Challenges</a><br><br></b>
+Beyond adding to overall complexity, the diversity of J2EE resource types and access mechanisms also makes it difficult for tools to offer assistance to developers who need to use them.  
+<br><Br>
+<b>
+For existing client models, the configuration of resource access is often some combination of resource-specific API usage and deployment descriptor entries.   This generally requires custom IDE code that is knows how to generate the right (resource-specific) code or configuration entries.</b><br><br>
+
+Specific resource types often need custom code in order to define wizards or property-driven user interface that aids in the process of defining a client of the resource.    There is no common mechanism for discovering the potential set of configurable attributes for a resource type.  This means that any graphical presentation of client attributes or wizards must be custom-authored based upon resource type.
+<br><br>
+Once configured, there is the secondary problem of how the IDE represents a configured client resource in source form.  There are at least two potential options:  save the attributes as generated source code and/or deployment descriptor entries that are resource-specific or define a canonical representation that is native to the IDE.   Both are problematic.  Two-way editing can be difficult, if the canonical format is generated source code or descriptors are visible to the end user and directly editable.   Using some IDE-specific canonical representation (either based upon a closed framework or configuration data) means the configured client abstraction isn't portable to other development environments or editable outside of the IDE.
+<br><br>
+Using the IDE to develop directly to native resource APIs or descriptor formats is also lacking in that it doesn't necessary have an associated constraint or extensibility model.  If a resource should be consistently accessed with a particular configuration or expected semantics, there is no good way to describe resource constraints for clients or to enforce that they are followed.   A concrete example is a JMS queue where it is expected that messages will always conform to a specific format or contain an expected set of properties.   There is no good way of representing this constraint to the client, or of enforcing that it consistently following, short of runtime errors when it is not.
+<br><br>
+The lack of a single canonical representation also makes it difficult for the systems developer to collaborate with the corporate developer, short of constructing and exposing custom facades for client access.   But even then, there is the IDE problem of knowing what facades are available, and how they should be configured and used once selected.   
+<br><br>
+<b>Without any well-defined source format for representing client resource configuration, packaging models, or discovery mechanisms, there is no non-proprietary way for the IDE to present the notion of configured resources, nor to pre-configure client access to resources.</b><br><br>
+<b><a name="Controls Unified">Solution: Controls == Unified Tooling Model</a><br><br></b>
+Controls, like the JavaBeans upon which they are built, are designed for tooling.  Beyond the common programming model presented to developers, Controls also offer resource discovery and property introspection mechanisms that allow an IDE to locate available Controls and present and interactively configure their properties.   
+<br><Br>
+<b>Because Controls expose operations, events, and properties using common mechanisms, an IDE can support client use cases based upon these mechanisms as well as a common authoring model for defining new types of Controls, without the need for a large amount of resource-specific code.</b><br><Br>
+Using a common client model allows a single base of IDE code to allow the use of a variety of resource types, based upon introspection.    Using a shared model (and code) for presenting and configuring client access also results in a consistent user experience when working with resources, both on the client and authoring side.   While the developer might be using a diverse set of resources in the course of building a user interface, service, or application, the learning curve from a user interaction perspective can be reduced in the same way that it is reduced from an API perspective by having a common model.
+<br><br>
+<b>Controls extend the base properties support of JavaBeans to add support for metadata-based (JSR-175) attributes, constraints, and an extensibility model, allowing an IDE to define new Control types that are pre-configured for specific resource access use cases.</b><br><br>
+The earlier programming example showed a simple customized Control defined to access an Enterprise JavaBean advertised at a particular JNDI location.    This example could easily have been constructed by an IDE using JMX to explore advertised EJBs on a J2EE server, and then generating the necessary Control definition that exposes the EJB with the specific home/business interfaces represented as operations on the bean and the correct JNDI location pre-configured as an attribute.
+<br><br>
+The Controls architecture supports the definition of configuration options list for a particular Control type.  This lists the base set of properties that are associated with the type and can be used to:
+<ul>
+<li>Specify the attributes in the set that can be configured using JSR-175 metadata, and the syntax for doing so.  This enables an IDE to present property-style selection of metadata-based attributes and values, as well as providing the ability to validate the annotations on any usage of the type and relationships between annotations.
+<li>Specify the attributes in the set that should be settable dynamically using property getters/setters on instances of the type.  This can be used to support auto-generation of Control types with property accessors based upon the attribute set.
+<li>Derive a schema for representing the configuration of the attribute set using XML.  These can be used in common tools for state management (to persist the representation of a Control instance and its attributes as XML) as well as in an externalized configuration mechanism that allows attributes to be bound externally using deployment descriptor-style configuration files.   This makes the construction of instance introspectors and administrative tools much more straightforward, as compared to using ad-hoc deployment descriptor formats.
+</ul>
+<br><br>
+Controls also provide a JAR-based packaging mechanism, for how Control types can be discovered within a jar.
+<br><br>
+<b>The Controls architecture provides a well-defined packaging model that enables system vendors, 3rd party providers, or J2EE system developers (in the collaborative scenario) to distribute controls that offer client access to provided services or components.  An IDE can then discover packaged controls to present them in a palette or list of available resource types for client use.</b><br><br>
+<h3><a name="Controls Architecture">The Controls Architecture</a></h3>
+The following picture shows the basic runtime architecture and the relationships between a resource client, the associated Control, and the accessed J2EE resource:
+<br><br>
+<img src="images/ControlsOverview_1.gif">
+<br><Br>
+The Resource Client represents user code in a web application, service, or application that needs access to the J2EE resource.     The Resource Client and supporting Control will always live in the same virtual machine and communicate directly using local Java method invocation.   The accessed resource may or may not reside within the same virtual machine, depending upon the nature of the resource and the application server environment.
+<br><br>
+Dynamic property accessors and resource operations are exposed on the Control and used by the client to initiate resource access.    Data from the resource may be returned as return values from operations or fired as events on the bean event interface to registered listeners.
+<br><Br>
+Resource access may be parameterized by JSR-175 metadata declared directly on the Control instance, class, or method declarations, or by properties provided to the factory-based constructor.   In addition to this, there is an external configuration model for how properties can be bound from external configuration (ex. deployment descriptors), enabling deploy-time binding of attributes.   Examples of resource attributes that might be parameterized by metadata or external configuration or JNDI names associated with resources, resource or protocol configuration, message formats, etc.
+<br><br>
+The Control itself will often hold a reference to a resource proxy associated with the accessed resource, and will use the proxy to enact operations requested by the client.  Examples of resource proxies are EJB home or remote stubs, JMS connections or sessions, web service client proxies, etc.   The Control manages the state and lifetime of this proxy reference, coordinated by a set of resource management notification events that are provided to it indicating how long the proxy resources can be held by an outer container that determines the resource scope.
+<br><br>
+The actual communication between the resource proxy and the resource itself is generally a function of the underlying resource.   For EJBs, it might reflect communication via RMI or local Java invocation, for web services it might be service invocation based upon JAX-RPC/SOAP, etc.
+<br><br>
+The following sections describes some of the key features and attributes of the Controls Architecture:
+<br><br>
+<b><a name="Operations">Operations and Events</a></b><br><br>
+Controls support a two-way interaction style with resource clients. The set of operations callable by the client are defined on the base public interface for the control, and the set of possible callbacks (events) that might be delivered back to the client from the resource are defined, by convention, on an optional inner Callback interface of the base public interface. 
+<br><br>
+Here is a simple example that represents the client interface to a timer service resource: 
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+public interface TimerControl extends Control
+{ 
+    public void start() throws IllegalStateException; 
+    public void stop(); 
+    public interface Callback 
+    { 
+        public void onTimeout(long time); 
+    } 
+} 
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, TimerControl is the base public interface for timer Control. The TimerControl supports operations related to setting and using a timer (start, stop), as well as a single event (onTimeout) that will be delivered when the timer fires. 
+<br><br>
+<b><a name="Public">Public Interface / Private Implementation / Bean Wrapper </b></a><br><br>
+The definition of a new resource type in the Control architecture is composed of three distinct classes:
+<ul>
+<li>The public Control Public Interface defines the set of operations and events that are exposed for the resource type.   In the earlier TimerControl example, TimerControl is the public resource interface for the timer service resource.
+<li>The private Control Private Implementation class provides the implementation of resource operations as well as proxy resource management.  In the TimerControl example, there would be a class (TimerControlImpl) that provides the implementation of the timer operations using the supporting resources of a J2EE timer service.
+<li>The Control Bean Wrapper class is the JavaBean wrapper around the implementation class that provides the property accessor implementation, per-instance storage of dynamic properties, and property resolution services.  It performs event listener routing and initialization of contextual services and nested Controls.
+</ul>
+The relationship and functions of these classes is summarized in the following diagram:
+<br><Br>
+<img src="images/ControlsOverview_2.gif">
+<br><br>
+The following picture shows how these 3 classes work together to fulfill the runtime responsibilities shown in the earlier architecture diagram:
+<br><br>
+<img src="images/ControlsOverview_3.gif">
+<br><Br>
+<b><a name="Flexible">A Flexible Configuration Model</b><br><Br></a>
+A key aspect of the Controls architecture is a flexible configuration model for how resource access attributes will be resolved.    Properties can be used to parameterize resource access, providing attributes such as JNDI names for local resources, web service URLs, connection attributes, etc.
+<br><Br>
+It must be possible to introspect a bean and set the available set of properties.   Additionally, Controls need to move beyond the traditional property setter/getter to provide some additional capabilities:
+<ul>
+<li>Enables the assignment of Control properties using JSR-175 metadata attribute declarations on Control classes, instances, or methods.
+<li>Provides a consistent externalized property binding model, so resource attributes can be managed without requiring changes to source code.
+</ul>
+The three property configuration mechanisms (programmatic property accessors on the Control, JSR-175 metadata on Control declarations, and external deployment descriptor-style configuration) have a well-defined property resolution precedence that is implemented and enforced by the Control base implementation.  
+ The precedence (from highest to lowest) is:
+<ul>
+<li>Programmatically set property value
+<li>Externally configured property value
+<li>Metadata-defined property value</ul>
+<br><br>
+In other words, the resource client can override a value defined by either externalized configuration or metadata, and a value defined in externalized configuration can override a metadata-defined value.
+<br><br>
+To ensure that this flexibility is not misused where it is not desirable, it is also possible to declaratively specify the mechanisms that can be used to set attribute values.   So an attribute could be marked as 'read-only' from a programmatic perspective, and would only have a getter and not a setter, or a metadata-based attribute could be marked as bound in a 'final' way that prevents override by either external configuration or programmatic mechanisms.    This is useful in the previously described collaborative scenario, where the J2EE Systems Developer who is responsible for resource access definitions via Controls might want to constrain the flexibility that the consumer (the Corporate Developer) has in modifying those definitions upon use.
+<br><br>
+
+In the earlier TimerControl example, an attribute might exist to set the timeout value of the timer.   For this attribute, it should be possible to set the value programmatically, externally, or using declarative annotations.
+<br><br>
+The declaration of the TimerControl JSR-175 attribute and member might look something like:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Package com.myco;
+public @interface Timer {
+
+    /** @return timeout Duration as string */
+    @AccessModes (property-style=true, external=true) String timeOut();
+
+  }
+</pre>
+</td></tr>
+</table>
+<br><br>
+This defines a metadata attribute (com.myco.Timer) that has a String member value named 'timeOut'.   The AccessModes meta-attribute specifies that the member can be set via JavaBean property-style accessors and external configuration, as well as using declarative metadata.
+<br><br>
+An example of setting the timeOut member of the Timer metadata attribute inside of client code might look like:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre> @Timer(timeout="3 seconds")
+public TimerControlBean myTimerBean; 
+</pre>
+</td></tr>
+</table>
+<br><br>
+Because the AccessModes attribute indicates that a property-style accessors are enabled, the TimerControlBean will also advertise the following JavaBean property accessor methods:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>  Public String getTimeOut();
+public void setTimeOut(String timeout);
+</pre>
+</td></tr>
+</table>
+<br><br>
+This accessor could be used from client code, as in the following example:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+myTimerBean.setTimeout("3 seconds");
+</pre>
+</td></tr>
+</table>
+<br><br>Finally, there will also be a derived XML schema for external configuration of the Control based upon the set of properties that are defined as externally configurable.  This schema is derived from the metadata attribute definition, not authored directly.
+<br><br>
+The configuration of the timeout member based upon external configuration would look something like:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>&#8230;
+	     &lt;timer:timer xmlns:timer="http://openuri.org/com/myco/TimerControl"&gt;
+             &lt;timer:timeOut>3 seconds&lt;/timer:timeOut&gt;
+    &lt;/timer:timer&gt;
+&#8230; 
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="Extensibility">Resource Views: Extensibility by Interface</a></b><br><br>
+Controls also support an extensibility model that allows operations on a resource to be defined using a customized interface that extends the base public resource interface, and defines metadata-annotated operations on the resource.   This enables the construction of "views" or specific resource use cases, defining a more-specific set of resource operations or events.
+<br><Br>
+As an example, imagine there is a basic DatabaseControl that provides simplified database access using JDBC, and hides and manages the details of how JDBC connections are acquired and released from the client programmer.
+<br><Br>
+This Control could also define an extensibility model that allows the execution of JDBC PreparedStatements as operations on an extended interface, and marshals the returned ResultSet back to native Java types.   When extended in this manner, the resulting extended control presents a view of the JDBC resource as a set of methods that result in the execution of predefined PreparedStatements.
+<br><br>
+An example of the customized interface for this Control might look like: 
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+public interface CustomerDatabase extends ControlExtension, DatabaseControl 
+{ 
+         @sql  statement="INSERT INTO CUSTOMERDB (ID, NAME) VALUES ({id}, {name})" 
+        int newCustomer(int id, String name) throws SQLException; 
+ 
+       @sql statement="SELECT * FROM CUSTOMERDB WHERE ID = {id}" 
+        Customer findCustomer(int id); 
+} 
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this simple example, each operation on the interface corresponds to a SQL prepared statement to be executed. Metadata attributes on the methods are used to define the additional semantics required, in this case the actual SQL statement to invoke.
+<br><br>
+Support for Extensibility by Interface is optional.   The Control author has full control of whether extensibility is or is not supported, as well as the ability to define and implement resource-specific semantics associated with extended operations on the control type.
+<br><Br>
+<b><a name="Contextual">Contextual Services</b><br><Br></a>
+Given their use case (resource access), it should be possible to use Controls from a variety of different runtime contexts: within web tier containers (servlets, JSP, JSF), within web services, standalone Java applications, even from within EJBs.  Given this diverse set of contexts, Controls need to have a flexible model for how they integrate with any outer container or component model and for how services will be obtained from them. 
+<br><BR>
+Controls may need access to contextual services to support resources.  One example of client-side contextual services might be security services to access a credential repository or to provide data encryption/decryption services.
+Services may be contextual, because the actual implementation might vary based upon the type of container in which the Control is running.   As an example, a security contextual service might provide different implementations for Controls running in the EJB tier (by delegating to an enclosing EJBContext) vs. Controls running in the Servlet container vs. Controls running in a standalone Java application.
+<br><Br>
+Contextual services can also define an event model, so contextual services can also declare and fire events on Controls that have registered in interest.   As an example, a basic ControlContext contextual service is provided as part of the base Controls architecture.  This contextual service provides common services for Controls, such as access to properties, as well as a set of lifecycle events for Controls.
+<br><Br>
+The discovery and implementation model for Controls Contextual Services will be based upon the JavaBeans Runtime Containment and Services Protocol  (Glasgow) (<a href="http://java.sun.com/products/javabeans/glasgow/#containment">http://java.sun.com/products/javabeans/glasgow/#containment</a>) that is already shipping as part of J2SE.
+<br><br>
+<b><a name="Resource Management">Resource Management</a></b><br><Br>
+The Controls architecture defines a unique set of lifecycle events and a resource management contract between Controls and the execution container they are running within.   There are three primary motivations for this:
+<ul>
+<li>To enable the Control implementation to implicitly obtain supporting client-side resources (connections, sessions, etc) on behalf of the client.
+<li>	To enable the Control to hold these client-side resources for an appropriate resource scope (across multiple client invocations) to achieve optimal performance and utilization of resources
+<li>To ensure that client-side resources obtains on behalf of the client are consistently released at the end of the appropriate resource scope.
+</ul>
+The key is that resource management should be transparent to the client.   The Control resource management design makes the Control implementation class the responsible party, instead of the placing this burden upon the client of the resource, which is the common approach associated with most J2EE resource types.
+<br><Br>
+This is achieved by defining two basic lifecycle events that will be delivered to the Control Implementation Class:
+<ul>
+<li>onAcquire:  the onAcquire event is delivered to a resource implementation on the first client invocation within a resource scope.   This provides an opportunity to obtain any basic client-side resources necessary to support operations on the Control.   For example, a Control that was providing access to a JMS queue might use the onAcquire event to obtain a JMS connection, session, and a reference to the target queue.
+<li>onRelease: the onRelease event is guaranteed to be delivered to every control implementation instance that has received an onAcquire event during the current resource scope, at the end of that scope.   This provides the opportunity to release any of the resources obtained during onAcquire event processing.   In the previous example, the JMS connection and session could be appropriately closed and the queue reference reset to null.
+</ul>
+<br><Br>
+The definition of resource scope is delegated to the outer container within which the Control is executing.   For example, if the Control is executing within the web tier, the resource scope might be bounded by the duration of processing of the current http request.  For a Control running in the EJB tier, the resource scope might be the current EJB method invocation or possibly even by the current transaction context.
+<br><Br>The following diagram shows the basic mechanics of this contract:
+<br><Br>
+<img src="images/ControlsOverview_3.gif">
+<br><BR>
+The Client Container has two basic responsibilities:  to maintain an accumulated list of Controls that have acquired resources, and to invoke releaseResources API on each of them at the end of the appropriate resource scope.  The Control Bean is responsible for delivering the onAcquire event to the Control Implementation instance, for notifying the Client Container that resources have been obtained, and for delivering the onRelease event to the implementation when notified by the Client Container.
+<br><Br>
+This diagram also demonstrates the transparency of resource management to client code itself; the client is only invoking operations, and all of the necessary underlying resource management is done by interactions between the Client Container, Control Bean, and Control Implementation.
+<br><Br>
+<b><a name="Composition">Composition Model</a></b><br><BR>
+The Controls architecture also supports a composition model, so it is possible to define a Control type that nests another Control type.   This makes it possible to extend a physical resource abstraction with a logical abstraction that lives entirely on the client side.   Composition is useful for the construction of facades or to add additional client side operations, events, or state to the nested Control abstraction.
+<br><br>
+Composition of Controls is supported using the mechanisms defined by the JavaBeans Runtime Containment and Services Protocol  (Glasgow).
+<br><Br>
+<b><a name="Packaging">Packaging Model</b></a><br><BR>
+The Controls architecture provides a simple JAR-based packaging model that enables Controls to be packaged for distribution.   The model defines a simple manifest file that describes the set of Controls within a jar.   Tools can quickly introspect and build palettes of available controls based upon this packaging model.  
+<br><br>
+It should be possible to place Control jar files at a variety of classloader scopes (system, application, or module) for client use cases.
+<br><br>
+<h3><a name="Controls Client">The Controls Client Models</h3></a>
+The Controls architecture actually offers two related client models with slight different characteristics:
+<ul>
+<li>	A programmatic client model, where the client explicitly specifies Control instance attributes to factory-based constructors, and does direct registration of event listeners and event handling.
+<li>	A declarative client model, where Control instance attributes are specified using JSR-175 metadata, and event routing is implicit based upon a set of basic naming conventions.
+</ul>
+The two offer the same basic functionality; but in the programmatic model the client takes explicit responsibility for construction of Control instances and event routing;  in the declarative model, the Control container provides initialization and routing services on behalf of the client.   The programmatic model directly exposes the details of how initialization and event handling takes place; it is likely a more comfortable environment for the professional developer or one who is already comfortable with constructing and handling events from JavaBeans.   The declarative model hides many of these details, making it much easier for corporate developers (and development tools) to quickly declare and configure Control instances and create event handling code to service events.
+<br><br>
+<b><a name="Programmatic">Programmatic Client Model</a><br></b><br>
+The programmatic client model follows the basic pattern of JavaBeans construction and event handling:
+
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+TimerControlBean myTimerBean = (TimerControlBean)ControlBean.instantiate(
+                                                                     classloader,  "com.myco.TimerControlBean");
+myTimerBean.setTimeout("3 seconds");
+myTimerBeans.addTimerControlEventListener(
+     new TimerControlEventListener()    // anonymous event handler class
+     {
+         public void onTimeout(long time)
+         {
+         // timer event handling code
+       }
+     } );	
+</pre>
+</td></tr>
+</table>
+<br><br>
+In the example above, a factory-based instantiation API (Controls.instantiate()) is used to construct a new instance of the TimerControlBean.   It is programmatically initialized to the desired configuration, and then an event handler (based upon the declaration of an anonymous inner class) is used to service events from the bean.
+<br><br>
+<b><a name="Declarative">Declarative Programming Model</a><br></b><br>
+The following example is equivalent to the preceding example, but uses declarative style construction and event routing:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>@Timer(timeout="3 seconds") TimerControlBean myTimerBean;
+
+
+
+public void myTimerBean_onTimeout(long time)
+{
+    // timer event handling code
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, the TimerControlBean instance is declared with attributes specified using JSR-175 metadata.   There is no implicit construction of the bean instance; the client container for the ControlBean will recognize the presence of the Control declaration and will implicitly initialize the instance.    Additionally, it (also implicitly) declares the necessary event listener class and routing code to deliver onTimeout events on the TimerControlBean instance to the declared event handler.
+
+
+
+</body>
+

Added: incubator/beehive/trunk/site/build/site/ControlsProgramming.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/ControlsProgramming.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1774 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Controls Authoring and Client Model</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+
+<h3>Controls</h3>
+<b>Authoring and Client Model Overview</b><br><Br>
+<h3>Table of Contents</h3>
+<a href="#Overview">Overview</a><br>
+<a href="#Example">	An Example</a><br>
+<a href="#Control Authoring">	The Control Authoring Model	</a><br>
+<a href="#Control Client">	The Control Client Models	</a><br>
+<a href="#Defining">Defining a New Control Type	</a><br>
+<a href="#Instantiating">Instantiating a Control</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative">Declarative Instantiation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Programmatic">Programmatic Instantiation	</a><br>
+<a href="#Operations">Operations	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DeclaringImplementing">Declaring and Implementing Operations for a Control</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#InvokingOperations">Invoking Operations on a Control	</a><br>
+<a href="#Events">	Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declaring Events">Declaring Events</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Firing Events">Firing Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Listening">Listening for Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative">Declarative Implementation of Event Handling	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Programmatic Implemantation">Programmatic Implementation of Event Handling	</a><br>
+<a href="#Contextual">	Contextual Services	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative Access">Declarative Access to Contextual Services</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ProgrammaticAccess">Programmatic Access to Contextual Services	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Tradeoffs">Tradeoffs between Declarative and Programmatic Access	</a><br>
+<a href="#Properties">Properties	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declaring Properties">Declaring Properties for a Control Type	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Accessing Properties">Accessing Properties from Client Code	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Accessing Properties Control">Accessing Properties from Control Implementation code	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#External Config">External Configuration of Control Properties	</a><br>
+<a href="Extensibility">	Extensibility	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Defining Extended">Defining an Extended Interface for a Control Type	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Defining Extension">Defining Extension Semantics for a Control Type	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Authoring">	Authoring an Extensible Control Type	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Client Model">Client Model for Using an Extended Control Type	</a><br>
+<a href="#Composition">Composition	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Composition Declarative">Composition Using Declarative Instantiation	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Composition Programmatic">Composition using Programmatic Mechanisms	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Internal Architecture">Internal Architecture for Composition and Services	</a><br>
+<a href="#Context Events">Context Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Life Cycle">Life Cycle Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#onCreate">The onCreate Event	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#onAcquire">The onAcquire Event	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#onRelease">The onRelease Event	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Receiving Life">Receiving Life Cycle Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative Life">	Declarative Access to Life Cycle Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Programmatic Life">Programmatic Access to Life Cycle Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#JavaBean">	JavaBean Context Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#PropertyChange">PropertyChange Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Membership">	Membership Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Context Services">Context Services Events	</a><br>
+<a href="#AppendixA">Appendix A:  The JmsMessageControl Public Interface	</a><br>
+<a href="#AppendixB">	Appendix B:  The JmsMessageControl Implementation Class	</a><br><br>
+
+<h3><a name="#Overview">Overview</a></h3>
+The Control architecture is a lightweight component framework based upon JavaBeans, which exposes a simple and consistent client model for accessing a variety of resource types.   Controls take the base functionality of JavaBeans and add in the following unique new capabilities:
+<ul>
+<li>	Enhanced authoring model: uses a public interface contract and an associated implementation class to enable generation of a supporting JavaBean class for handling the details of property management and initialization. 
+<li>	Extensibility model:  enables the construction of views and custom operations (with implied semantics) on the Control using metadata-annotated interfaces.  
+<li>JSR-175 metadata attributes and external configuration data: provides an enhanced configuration model for resource access.
+</ul>
+This document focuses on the Controls programming and configuration model from two distinct perspectives:
+<ul>
+<li>The authoring and extensibility model for defining a new type of Control
+<li>	The client access model for declaring and using Controls
+</ul>
+An overview of the Control architecture and toolable access models can be found in the companion document entitled "Controls:  Providing Simplified and Unified Access to J2EE Resources".
+<br><br>
+<h3><a name="#Example">An Example</a></h3>
+In the course of describing the programming model for Controls, this document builds upon an example Control that simplifies the enqueueing of JMS messages with a specific format and set of properties.    Once completed, client code to accomplish this should be as straightforward as:
+<br><Br>
+Enqueueing using OrderQueueBean (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+OrderQueueBean orderBean = (OrderQueueBean)
+                                                           java.beans.Beans.instantiate("org.apache.beehive.controls.examples.OrderQueueBean");
+Order order = new Order(myID, new String [ ] {"item1", "item2"};
+OrderBean.submitOrder(order, "01-28-2004");
+</pre>
+</td></tr>
+</table>
+<br><br>
+This document starts with a brief overview of the Control Authoring and Client Programming Models to establish some basic context, eventually building to enable the example above.
+<br><Br>
+<h3><a name="#Control Authoring">	The Control Authoring Model</a></h3>
+This section describes the basic authoring model for Controls.  This includes a description of the following elements:
+<ul>
+<li><strong>Control Public Interface:</strong> source file that defines the set of operations, events, extensibility model, and properties associated with the Control type.
+<li><strong>Control Implementation Class:</strong> source file that provides the implementation of the operations and extensibility model described by the Control Public Interface.
+<li>	<strong>ControlBean Generated Class:</strong> code-generated JavaBean class that is derived from the Control Public Interface and the Control Implementation Class by a Control compiler.
+</ul>
+This authoring model is a departure from the traditional JavaBeans programming model, which is largely based upon a set of conventions that a bean author is expected to follow when constructing a new JavaBean type.    In the Controls model, the author defines operations, events, and properties in an interface (Control Public Interface) and builds an underlying implementation (Control Implementation Class).   A Control compiler takes these two elements and generates a specialized type of JavaBean (ControlBean Generated Class), which represents the full client programmer's view of the Control.
+<br><br>
+ There are two primary advantages of this model:
+ <ul>
+<li><strong>Simplicity.</strong>   A key goal of any ease-of-use programming model is to free the developer from worrying about plumbing.  Managing property values, event listener lists, and other basic JavaBean functions are fairly rote from implementation to implementation. The Controls architecture employs a unique variant of the Inversion of Control (IoC) design pattern based on JSR-175 metadata.  This enables a Control Implementation Class to declaratively specify the events or services it requires to provide its semantics.  The ControlBean Generated Class acts as a lightweight container to provide contextual hookup and implementation details.
+<li><strong>Consistency.</strong>   Instead of trying to provide consistency through convention, the Control compiler provides both verification and code generation services to ensure that the resulting implementation provides consistent APIs and behaviors for clients, tools, and application deployers or administrators.
+</ul>
+The relationship between these three elements is shown in the following diagram:
+<br><br>
+<img src="images/ControlsProgramming_1.gif">
+<br><Br>
+The client will interact with the Control by invoking operations defined on the Control Public Interface or dynamic property accessor methods on a ControlBean instance.   The client can also express interest in any events the Control might generate by registering a listener to receive them.
+<br><Br>
+The following diagram represents the relationship between the Control Public Interface, the Control Implementation Class, and the ControlBean Generated Class:
+<br><Br>
+<img src="images/ControlsProgramming_2.gif">
+<br><Br>
+The Control Public Interface defines the operations on the Control and will be implemented by both the Control Implementation Class and the ControlBean Generated Class.  The ControlBean Generated Class will also define property accessor methods and internally will maintain the state of property values.    It will also maintain a reference to one (and only one) Control Implementation instance.   The Control Implementation instance, wrapped by a bean instance, provides the actual implementation of resource semantics for the Control.
+<br><br>
+The subsequent sections will outline the various characteristics of Controls:
+<ul>
+<li>Declaration/Instantiation
+<li>Operations
+<li>	Events
+<li>	Contextual Services
+<li>	Properties
+<li>	Extensibility
+<li>	Composition
+<li>Context Events
+</ul>
+Where applicable, the aspects of each of these characteristics will be explored in two dimensions:  from the perspective of  a Control author who is defining a new type of Control, and from the perspective of a Control client that is using the services of an available Control  type.
+<br><br>
+To make the descriptions more concrete, the characteristics will be presented within the context of a sample Control:  the JmsMessageControl.   This Control will provide a simplified client access model for enqueuing messages to a JMS queue or topic, freeing the client from having to learn the nuances of JMS client programming.
+<br><br>
+<a name="#Control Client"><h3>The Control Client Models</h3></a>
+There are actually two distinct programming models that may be available to clients of Controls:
+<ul>
+<li>	<strong>Declarative Model. </strong>  Uses a metadata-based variant of the Inversion of Control (IoC) design pattern to allow a component author to declare Control instances, contextual services, and event handlers using annotated fields and methods.   The declarative model simplifies client programming, because many of the details of initialization and event routing are left to an external container supporting the model.   A declarative programming style is also more toolable, since it is much easier for tools to manage and manipulate metadata rather than code.
+<li><strong>Programmatic Model.</strong>    Uses the traditional JavaBean-style APIs for acting as a client of a bean, including factory-based constructor and event listeners.  The programmatic model may be more comfortable to the traditional Java programmer, who wants to see and be in control of all the details.   It also enables client use cases where there is no supporting container for the declarative model.
+
+</ul>
+The programmatic client model is generally available in all contexts where Controls might be used.   It offers full generality, but leaves many of the details up to the client programmer, such as initialization, composition, and event handling wire-up.
+<br><Br>
+The declarative model hides many of these details. Based upon its use of metadata it is also more tool friendly, allowing tools to present a view of the client code without code analysis. 
+<br><Br> 
+The declarative model requires support of an outer container or construction-time code that fulfills the contract implied by annotations on a client class.   
+<br><BR>
+The ControlBean itself provides this support, so the Control Authoring Model is oriented towards using the declarative model, although programmatic equivalents are generally available.
+<br><BR>
+<a name="#Defining"><h3>Defining a New Control Type</h3></a>
+Controls are designed to make it very easy for users (and tools) to define new types of Controls.   Control authors might be:
+<ul>
+<li>	System vendors exposing specific types of resources
+<li>	Application developers defining new types of logical resources (possibly based upon physical ones)
+<li>	Third-party software vendors, using Controls as a mechanism to interface to components or subsystems they provide.
+</ul>
+In all instances, the goal of the Controls authoring model is to provide a basic set of conventions and supporting tools to make it easy to author a new Control type.
+<br><br>
+To get started, a Control author would define the two basic artifacts: 
+<ul> 
+<li>the Control Public Interface
+<li>	the Control Implementation Class</ul>
+For the JmsMessageControl, the declaration of the public interface might look like:
+<br><BR>
+Interface Declaration (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+@ControlInterface
+public interface JmsMessageControl
+{
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The only basic rule for a Control Public Interface is that it must be annotated by the  org.apache.beehive.controls.api.bean.ControlInterface marker interface.
+<br><Br>
+The second source artifact a Control author would create to define a new type of Control is the Control Implementation Class.   This declaration of the implementation class for our JmsMessageControl would look like:
+<br><BR>
+
+Class Declaration (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{ 
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+package org.apache.beehive.controls.examples;
+
+public class JmsMessageControIBean implements JmsMessageControl
+{
+   private JmsMessageControlImpl _impl;
+
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+As shown above, the ControlBean Generated Class will also implement the Control Public Interface.   The sample also shows that the bean will hold a private reference to an implementation instance used to support the bean.
+<br><br>
+<h3><a name="#Instantiating">Instantiating a Control</a></h3>
+This section covers the client mechanisms for creating a new instance of a Control.   This can be done either programmatically or declarative, if running inside a container that support declarative initialization.
+<br><br>
+<b><a name="#Declarative">Declarative Instantiation</b></a><br>
+The client model for Controls supports a declarative model for instantiating a Control instance, when running in containers that support this model.    In this model, the client class can annotate fields on the class using a special marker annotation (org.apache.beehive.controls.api.bean.Control) that indicates that the fields should be initialized to a ControlBean instance of the requested type.
+<br><Br>
+Here is an example of declarative instantiation:
+<Br><BR>
+Declarative Instantiation (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Import org.apache.beehive.controls.api.bean.Control;
+
+public class PublisherControlImpl extends PublisherControl
+{
+     @Control 
+     public JmsMessageControlBean myJmsBean;
+
+     &#8230;
+
+    public void someOperation()
+    {
+        myJmsBean.sendTextMessage("A Text Message");
+    }
+}
+
+</pre>
+</td></tr>
+</table>
+<br><br>
+This example shows a second Control Implementation Class (PublisherControlImpl) that internally uses the services of JmsMessageControl to enqueue a JMS message.   The child Control field is not explicitly initialized within the PublisherControl implementation class; by the time someOperation() is called, it is guaranteed that the myJmsBean reference has been initialized by the wrapping PublisherControlBean that contains the implementation.
+<br><Br>
+It is also possible to parameterize the attributes of a Control at construction time, again using metadata attributes.   These attributes can be placed on the field declaration (in addition to the @Control annotation) and will be used to do construction-time initialization.<br><br>
+
+The second example below shows initialization of the myJmsBean field again.  In this case, an initial value of the @Destination "name" attribute is also provided using JSR-175 metadata:
+<br><br>
+Declarative Instantiation with Properties (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+public class PublisherControlImpl extends PublisherControl
+{
+    @Control @Destination(name="InvoiceQueue") 
+    public JmsMessageControlBean myJmsBean;
+</pre>
+</td></tr>
+</table>
+<br><br>
+This example performs exactly the same initialization as the earlier declarative example, but does so using JSR-175 attribute syntax instead of passing parameters to a factory-based constructor.
+<br><br>
+The Controls architecture includes a mechanism for defining the expected set of annotations that might appear on a Control field.  This mechanism is described in greater detail in the section on Properties.
+<br><br>
+<a name="#Programmatic"><b>Programmatic Instantiation</a></b><br>
+The client model for Controls supports instantiation of a new Control instance using the same factory-based model supported by JavaBeans.  For example, the following code could be used to create a new instance of the JmsMessageControlBean generated class:
+<br><BR>
+
+Programmatic Instantiation (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+JmsMessageControlBean myJmsBean = (JmsMessageControlBean)
+         java.beans.Beans.instantiate(cl, "org.apache.beehive.controls.examples.JmsMessageControlBean");
+</pre>
+</td></tr>
+</table>
+<br><br>
+The Control runtime also provides an extended factory model that allows metadata attributes to be passed into the factory constructor:
+<br><Br>
+Programmatic Instantiation with Properties (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+import org.apache.beehive.controls.api.bean.Controls;
+import org.apache.beehive.controls.api.properties.PropertyMap;
+
+PropertyMap jmsAttr = new (PropertyMap(JmsMessageControl.Destination.class);
+jmsAttr.setProperty("name", "InvoiceQueue");
+JmsMessageControlBean myJmsBean = (JmsMessageControlBean)
+      Controls.instantiate(cl, "org.apache.beehive.controls.examples.JmsMessageControlBean", jmsAttr);
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, the JmsMessageControlBean is being constructed with the Destination "name" property set to "InvoiceQueue".   The AttributeMap class is a simple helper class that can hold a set of name-value pairs of a Control's properties, which are initialized by the factory-based constructor.   More details on Controls properties are provided in a later section.
+<br><Br>
+<h3><a name="#Operations">Operations</a></h3>
+Operations are actions that can be performed by a Control at the client's request.   This section describes the authoring model for declaring and implementing a Control operation, as well as the client model for invoking operations on a ControlBean instance.
+<br><Br>
+<b><a name="#DeclaringImplementing">Declaring and Implementing Operations for a Control</b></a><br>
+All methods declared or inherited (via extension) by the Control Public Interface are considered  to be Control operations.    The following example shows the definition of two operations on the JmsMessageControl that will enqueue messages when invoked:
+<br><br>
+Declaring Operations (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlInterface
+
+@ControlInterface
+public interface JmsMessageControl
+{
+    public void sendTextMessage(String text);
+    public void sendObjectMessage(Serializable object);
+
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The Control Implementation Class implements the public interface for the Control, defining the operation methods, and the body of these methods.
+<br><Br>
+
+Implementing Operations (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+   public void sendTextMessage(String text)
+    {
+        // Code to send a TextMessage to the destination
+        &#8230;
+    }
+
+   public void sendObjectMessage(Serializable object)
+    {
+        // Code to send an ObjectMessage  to the destination
+        &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+Finally, the ControlBean Generated Class will also implement all operations (since it also implements the Control Public Interface).   It will always delegate to the implementation class for the actual implementation of the operation;  it might also perform additional container-specific pre/post invocation processing.
+<br><br>
+Here is a skeleton of what the generated ControlBean code might look like for an operation:
+<br><Br>
+Implemented Operations (ControlBean Generated Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class JmsMessageControlBean implements JmsMessageControl
+{
+   private JmsMessageControlImpl _impl;
+
+     public void sendTextMessage(String text)
+    {
+         &#8230;
+        _impl.sendTextMessage(text);
+         &#8230;
+    }
+
+    public void sendObjectMessage(Serializable object)
+    {
+         &#8230;
+        _impl.sendObjectMessage(object);
+        &#8230;
+    }
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#InvokingOperations">Invoking Operations on a Control</b></a><br>
+The client model for invoking an operation on a Control is very straightforward:  simply call the  method on a held ControlBean instance as demonstrated by the following example:
+<br><Br>
+Invoking an Operation (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+  myJmsBean.sendTextMessage("A Text Message");
+  </pre>
+</td></tr>
+</table>
+<br><br>
+The invocation model for operations is the same, whether the Control instance was created using declarative or programmatic mechanisms.
+<br><Br>
+<h3><a name="#Events">	Events</a></h3>
+Events are notifications sent by the Control back to its client whenever some condition has been met or internal event has taken place.   A client can express interest in a Control's events by registering (either explicitly or implicitly) to receive them, and can write event handler code to be called when the event has taken place.
+<br><br>
+This section describes the declaration model for events, how an authored Control delivers them to a registered client, and the client code necessary to register and receive events.
+<br><br>
+<b><a name="#Declaring Events">Declaring Events</b></a><br>
+Events are declared on an inner interface of the Control Public Interface, which is annotated with the org.apache.beehive.controls.api.events.EventSet annotation.    The  following example shows the declaration of an event interface for the JmsMessageControl, with a single event (onMessage):
+<br><Br>
+Declaring Events (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.io.Serializable;
+import javax.jms.Message;
+import org.apache.beehive.controls.api.events.EventSet;
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+@ControlInterface
+public interface JmsMessageControl
+{
+    public void sendTextMessage(String text);
+    public void sendObjectMessage(Serializable object);
+
+   @EventSet
+    public interface Callback
+    {
+        void onMessage(Message m);
+    }
+
+    &#8230;
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+If a Control Public Interface has defined an EventSet interface, then the associated ControlBean Generated Class will have two public methods supporting client listener management:
+<br><BR>
+Event Listener Registration Methods (ControlBean Generated Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.util.TooManyListenersException;
+
+public class JmsMessageControIBean implements JmsMessageControl
+{
+   &#8230;
+
+    /** Registers a new client listener for this bean instance */
+   public void addCallbackListener(Callback listener) throws TooManyListenersException
+   {
+     &#8230;
+   }
+
+   /** Deregisters a client listener for this bean instance */
+    public void removeCallbackListener(Callback listener)
+    {
+          &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The name of the listener registration methods are based upon the name of the associated EventSet interface.   In the previous example, the EventSet interface was named Callback, so the associated listener registration method was addCallbackListener(), and the deregistration method was removeCallbackListener().
+<br><Br>
+
+A Control Public Interface can have more than one inner interface that is annotated as an EventSet interface.   Each declared EventSet will have its own independently managed list of registered listeners.
+
+<br><Br>
+<b><a name="#Firing Events">	Firing Events</a></b><br>
+This section describes the mechanism available to a Control author to deliver events to any registered client listener.   An initialized event proxy is created when the Control Implementation Class declares a field of an EventSet interface type, and annotates it with the org.apache.beehive.controls.events.Client annotation type.   The containing ControlBean will initialize this reference to a valid proxy implementing the EventSet interface, and the Control Implementation Class can use this proxy to fire events back to any registered client.
+<br><Br>
+This is demonstrated in the following sample code from the JmsControlBean implementation class, which will fire an onMessage event back to any registered client any time a message is enqueued:
+<br><Br>
+Firing Events (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.events.Client;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Client Callback client;
+
+   public void sendTextMessage(String text)
+    {
+        // Code to construct and send a TextMessage to the destination
+       TextMessage m = &#8230;;
+        &#8230;
+        client.onMessage(m);
+     }
+     &#8230;
+}
+
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#Listening">	Listening for Events</a></b><br>
+The client of a Control can express an interest in receiving events from a Control and write client event handlers to service them once delivered.   Two basic event handling mechanisms are supported: Java event listeners or declarative event handlers (where  supported by the client container).
+<br><Br>
+<b><a name="#Declarative">8.3.1	Declarative Implementation of Event Handling</b></a><br>If the client code is implemented in a container that supports the declarative programming model for Controls (such as the Control Implementation Class itself), it can use a simplified convention for authoring event handlers for a declared Control instance.
+<br><Br>
+If a Control is declared using the @Control marker interface, then the user can declare event handlers for the Control by using the EventHandler annotation type.   These annotated methods will be considered an event handler for the Control event, and the container will automatically register for events and deliver them to this handler.
+The previous example could be rewritten using the declarative event handling style as:
+<br><Br>
+Declarative Handling of Events (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>import org.apache.beehive.controls.api.events.EventHandler
+
+public class PublisherControlImpl extends PublisherControl
+{
+    @Control 
+    public JmsMessageControlBean myJmsBean;
+
+    @EventHandler (field="myJmsBean", evenSet= JmsMessageControl.Callback.class,
+                                   eventName="onMessage")
+     public void myJmsBeanMessageHandler(Message m)
+     {
+        // Code implementing onMessage event handler
+     }
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#Programmatic Implemantation">Programmatic Implementation of Event Handling</a></b><br>
+The programmatic style follows the tradition Java event listener pattern.  The client expresses its interest in receiving the event and also authors a  (often anonymous inner) class that implements the event interface to receive events when delivered.
+<br><Br>
+This is shown by the following sample code:<br><br>
+Programmatic Handling of Events (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+ myJmsBean.addCallbackListener(
+     new JmsMessageControl.Callback()
+     {
+         public void onMessage(Message m)
+         {
+             // Code implementing on Message event handler
+         }
+    });
+</pre>
+</td></tr>
+</table>
+<br><br>
+There is no requirement that an anonymous inner class be used.  One alternative would be to delegate to an instance of another class (as long as that class implements the Callback interface).   In the preceding example, if event listening was implemented for the purposes of logging sent messages, and MessageLogger class could be declared (implementing the Callback interface), multiple beans could delegate to a single instance of this logging listener.
+<br><br>
+<h3><a name="#Contextual">	Contextual Services</a></h3>
+The Control authoring model makes use of contextual services to provide access to services from the current runtime environment of the ControlBean.   The model for contextual services is based upon the existing standards for services in JavaBeans: The JavaBeans Runtime Containment and Services Protocol.   This protocol provides a base mechanism for a JavaBean to locate and use services from the runtime environment, as well as an extensible service provider model to enable new (or environment-specific) types of services to be authored and made available to JavaBeans/Controls.
+<br><br>
+A key aspect of this service model is that it can be contextual; for example, it might be possible to write a basic security service interface that provides logical role-checking functionality.   The actual implementation of this interface might vary for different runtime contexts:  for example, the role check might be done differently for a Control running within the context of an EJB container (by delegating to the containing EJBContext) vs. a Control running within the Web tier (by delegating to ServletHttpRequest services).
+<br><br>
+Having an extensibility and service provider location model is important to enable the following scenarios:
+<ul>
+<li>The Control's implementation is designed to run in a wide variety of environments.  It uses the contextual service mechanism to declare its prerequisites and receive a provider implementation that is appropriate to the current runtime context.
+<li>	The Control's implementation is designed to run in a very specific context (for example, only in the http servlet tier) and wants access to services that are very specific to that context (for example, session state or request query parameters).  It should not be possible to instantiate this Control in other contexts (for example, from within an EJB).
+</ul>
+One key contextual service for Controls that is guaranteed to be available in all contexts is the org.apache.beehive.controls.api.context.ControlBeanContext service interface.   This service provides a common set of generic services that are available to Control authors, such as the ability to query property values on the current instance, or to receive a set of basic lifecycle or resource management events.   The ControlBeanContext interface extends the java.beans.beancontext.BeanContextServices interface, so it also provides access to services provided by the JavaBeans bean context APIs.   Later sections describe an overview of the internal architecture for contextual services, APIs to support property resolution, and lifecycle events.
+<br><br>
+<b><a name="#Declarative Access">Declarative Access to Contextual Services</a></b><br>
+To signal the desire to access a contextual service, a Control author only needs to declare a field of the desired context interface and annotate it with the org.apache.beehive.controls.api.context.Context marker annotation.   The following example shows how the JmsMessageControlImpl class would use the declarative model to access its ControlBeanContext:
+<br><Br>
+
+Declarative Access to Context Services (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.context.Context;
+import  org.apache.beehive.controls.api.context.ControlBeanContext;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Context ControlBeanContext context;
+
+   public void sendTextMessage(String text)
+    {
+	     JmsMessageControl.Destination =
+           context.getControlPropertySet(JmsMessageControl.Destination.class);
+
+        &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, the JmsMessageControl implementation class expresses its desire to access ControlBeanContext services via the annotated declaration of the context field; when code in  sendTextMessage operation is invoked, this contextual service has already been initialized by the containing ControlBean instance.
+<br><BR>
+The ControlBeanContext for an authored Control is always accessed using the declarative mechanism.    Other contextual services may be accessed declaratively, or using the programmatic mechanisms described in the following section.
+<br><BR>
+<b><a name="#ProgrammaticAccess">	Programmatic Access to Contextual Services</a></b><br>
+The ControlBeanContext service also provides the base mechanism to discover and use other services programmatically.   The following code fragment shows an example of how to use this API to obtain access to a service provider that provides the javax.servlet.ServletContext interface.
+<br><BR>
+Programmatic Access to Context Services (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import javax.servlet.ServletContext;
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Context ControlBeanContext context;
+
+   public void sendTextMessage(String text)
+    {
+         ServletContext servletContext = context.getService(ServletContext.class, null);
+         if (servletContext == null)
+          {
+              //  no ServletContext provider is available
+           }
+
+        &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The code in the sample uses the ControlBeanContext.getService API to request that it provide a ServletContext service.  The parameters to this method are the Class of the requested service, and an (optional) service-specific selector that can be used to parameterize the service.   
+<br><BR>
+
+The ServletContext service is contextual because it is available only to controls running in the web tier.   If the above sample control was running anywhere else, the call to ControlBeanContext.getService() would return null.
+<br><Br>
+<B><a name="#Tradeoffs">	Tradeoffs between Declarative and Programmatic Access</a></b><br>
+Declarative access to context services is always available to a Control Implementation Class, and generally results in less code associated with accessing services.   Why then, would using programmatic access ever be useful?    There is a key difference between the two:
+<ul>
+<li>	When using the declarative model for accessing a contextual service, the Control is effectively saying that the service is required for it to function; if not available in a particular runtime environment, then construction of an instance of the Control will fail.   Essentially, the annotated context acts as a notification to the runtime factory that this prerequisite must be satisfied.
+<li>Use of the programmatic model allows a Control Implementation Class to implement conditional behavior based upon whether a contextual service is or is not available.   The Control Implementation Class can use the programmatic accessor, and then make a decision how to proceed based upon whether the requested service is available.
+</ul>
+<br><BR>
+<h3><a name="#Properties">	Properties</a></h3>
+This section describes Control properties.   Properties provide the basic mechanism for parameterizing the behavior of a Control instance.<br><br>
+The Controls architecture takes the basic JavaBeans notion of properties and extends it to support two new capabilities:
+<ul>
+<li>	A declarative annotation model where properties can be preconfigured on a ControlBean using JSR-175 annotations
+<li>An administrative model where the value of ControlBean properties can be externally defined or overridden.
+</ul>
+The external configuration and administrative model for Controls will be described in a separate document.
+<br><br>
+<b><a name="#Declaring Properties">	Declaring Properties for a Control Type</a></b><br>
+For Controls, the set of properties is explicitly declared on the Control Public Interface.  This makes the available parameterization of a Control  type readily visible to both code and tools.
+<br><Br>
+Properties are grouped together into related groups called PropertySets.   All Properties within a PropertySet will have a common set of attributes (such as where they can be declared, the access model for JavaBean accessors, etc) and will have property names based upon a common naming convention.
+<br><BR>
+A PropertySet is declared as a JSR-175 attribute interface within the Control Public Interface, which is also decorated with the org.apache.beehive.controls.api.properties.PropertySet meta-attribute.  Each of the members within a PropertySet will refer to a distinct property within the set, and the return value of the member defines the property type.
+Here is a sample declaration of the Destination PropertySet for the JmsMessageControl, which can be used to configure the target JMS destination for the Control:
+<br><BR>
+Declaring Properties (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlInterface
+import org.javacontrols.api.properties.PropertySet;
+import java.lang.annotations.Retention;
+import java.lang.annotations.RetentionPolicy;
+import java.lang.annotations.Target;
+
+@ControlInterface
+public interface JmsMessageControl 
+{
+    &#8230;
+
+    public enum DestinationType { QUEUE, TOPIC }
+
+   @PropertySet
+   @Target({FIELD, TYPE})
+   @Retention(RetentionPolicy.RUNTIME)
+    public @interface Destination
+    {
+        public DestinationType type() default QUEUE;
+        public String name();
+    }
+     &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+This declaration defines the PropertySet named 'Destination' that includes two properties:    'type' and 'name'.   The 'type' property is based upon the DestinationType enumerated type, which is also defined in the public interface.   The 'name' attribute is a simple String property.
+<br><BR>
+Meta-attributes on a PropertySet or property declaration can be used to provide additional details about the properties and how they may be used.   In the above example, the standard java.lang.annotations.Target annotation is used to define the places where the @Destination property set can appear (in this case in either an extension class or field declaration). 
+<br><BR>   
+The full set of meta-attributes that can decorate PropertySet or Property declarations are TBD.   They can be used to define constraint models for property values, or relationships between properties (such as exclusive or, where one is set or the other, but never both).  These meta-attributes can be read and used by development or administrative tools to aid in the selection of property values.   They can also be used by the runtime for runtime validation of property values when set dynamically. 
+<Br><BR>
+<b><a name="#Accessing Properties"> Accessing Properties from Client Code</b></a><br>
+The properties defined in the Control Public Interface will be exposed to the client programmer using traditional JavaBean setter/getter methods on the ControlBean Generated Class.   These methods will follow a simple naming pattern based upon the PropertySet interface name and property member name. 
+<br><BR>
+The basic pattern for these accessors is:
+<br><BR>
+Property Accessor Generation (Conventions)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>public void set&lt;PropertySetName>&lt;Member Name>(&lt;MemberType>);
+ public &lt;MemberType> get&lt;PropertySetName>&lt;MembertName>();
+ </pre>
+</td></tr>
+</table>
+<br><br>
+So for the Destination PropertySet interface shown in the example above, the resulting ControlBean Generated Class would expose the following accessors:
+<br><Br>
+Property Accessors (ControlBean Generated Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.util.TooManyListenersException;
+
+public class JmsMessageControIBean implements JmsMessageControl
+{
+   &#8230;
+    public void setDestinationType(DestinationType type)  { &#8230; }
+    public DestinationType getDestinationType() { &#8230;}
+    public void setDestinationName(String name) { &#8230;}
+    public String getDestinationName();
+}
+
+ </pre>
+</td></tr>
+</table>
+<br><br>
+If the name of the PropertySet is "Properties", then this PropertySet name will be excluded from the generated accessor names, providing a shorthand format for the simple case of Controls with a single set of Properties.
+Client code to set the Destination properties on a JmsMessageControlBean instance would look like:
+<br><BR>
+Using Property Accessors (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+@Control JmsMessageControlBean jmsBean;
+
+ &#8230;
+
+    jmsBean.setDestinationType(Destination.QUEUE);
+    jmsBean.setDestinationName("myTargetQueue");
+ </pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#Accessing Properties Control">Accessing Properties from Control Implementation code</a></b><br>
+The Control Implementation class contains code that executes from within the context of the  Control JavaBean that is generated to host the control.   The generated bean will automatically manage the resolution of properties values from annotations, external configuration, or dynamic values set by the client.
+<br><BR>
+Access to these properties is provided by the ControlBeanContext instance associated with the Control Implementation Class.   This interface provides a set of property accessors that allow the implementation to query for property values:
+<BR><BR>
+ControlBeanContext APIs for Property Access
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.api.context;
+
+public interface ControlBeanContext extends java.beans.beancontext.BeanContextServices
+{
+     &#8230;
+    public &lt;T extends Annotation> T getControlPropertySet(Class&lt;T> propertySet);
+    public &lt;T extends Annotation> T getMethodPropertySet(Method m, Class&lt;T> propertySet);
+    public &lt;T extends Annotation> T getParameterPropertySet(Method m, index I, Class&lt;T> propertySet);
+      &#8230;
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+The propertySet argument passed to these methods must be a valid PropertySet interface associated with the ControlInterface.   The ControlBeanContext will return the current value for properties in the PropertySet, or will return null if no PropertySet value has been associated with this control instance.
+<br><br>
+Here is a simple example of using ControlBeanContext.getControlPropertySet() to query a property set:
+<br><br>
+Acccessing Control Properties (Client Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.context.Context;
+import  org.apache.beehive.controls.api.context.ControlBeanContext;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Context ControlBeanContext context;
+
+     &#8230;
+
+    @EventHandler(field="context", eventSet=ControlBeanContext.Lifecycle.class, eventName="onAcquire")
+    public void  onBeanAcquire()
+    {
+        //
+        // Acquire the property values needed for initialization
+        //
+       Destination destProp = 
+                (Destination)context.getControlPropertySet(JmsMessageControl.Destination.class);
+        if (destProp == null)
+        {
+            // No destination property set for the control
+            &#8230;
+			        }
+ </pre>
+</td></tr>
+</table>
+<br><br>
+This code above queries for the value of the JmsMessageControl.Destination PropertySet on the current JmsMessageControl instance.
+<br><BR>
+These query methods will return the value of resolved properties for the Control instance, method, or method argument, respectively.   Control implementations should never use JSR-175 metadata accessors directly on Control classes or methods;  these accessors won't reflect any property values that have been set dynamically by ControlBean client accessor methods or externally using administrative configuration mechanisms.    The ControlBeanContext provides a consistent resolution of source annotation, dynamic, and external values.
+<BR><BR>
+A simple example of using the ControlBeanContext property accessor methods for accessing Method and Parameter properties is provided in the section on Extensibility.
+<BR><BR>
+<b><a name="#External Config">External Configuration of Control Properties</a></b><br>
+Controls also support an administrative model that allows Control property values to be bound using external configuration syntax.  The enables Control behavior to be parameterized externally to the code, and using a consistent mechanism that is well-defined and structured to enable tooling.<br><BR>
+The specifics of this administrative model are not covered within this document.
+<h3><a name="#Extensibility">	Extensibility</h3></a>
+The Controls architecture supports an extensibility model that enables the declarations of user-defined operations or events, based upon a predefined set of semantics defined by the author of the Control type.   The extensibility mechanism enables the definition of an interface to the resource where operations (or events) have very specific context. 
+<br><BR>
+For example, in the JmsMessageControl sample, the extensibility mechanism will be used to raise the level of abstraction:  instead of a low-level mechanism to enqueue messages to a topic or queue, the Control enables extensibility where operations can be defined that correspond to enqueuing messages with a very specific format and set of properties, and where message or property content is derived from method parameters.     This creates a logical view of the resource (in this case a queue or topic) where the operations available on it have very specific (and constrained) semantics.
+<Br><br>
+For this section, we'll start with the how an extension is defined, look at the authoring model for defining an extensible Control type, and finally show the client view of using an extended type.
+<br><BR>
+<b><a name="#Defining Extended">Defining an Extended Interface for a Control Type</a></b><br>
+An extension to a base Control type that defines a specific resource use case is created by defining a new Control type that derives from the original type and is annotated with the ControlExtension annotation type:
+<br><BR>
+Declaring a Control Extension (Control Extension Interface)
+
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlExtension;
+
+@ControlExtension
+@Destination(type=JmsMessageControl.QUEUE, name="queue.orders")
+public interface OrderQueue extends JmsMessageControl
+{
+    &#8230;
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+
+This example shows that this interface shows that property values can be configured on the extended interface to further parameterize the use case.   In this case, the  InvoiceQueue interface is being designed for a very specific use case:  to enable orders to be enqueued to a JMS queue named "queue.orders".
+<br><BR>
+Once defined, the Control extension author can now begin to define additional operations on it, in this case the ability to enqueue messages to the OrderQueue by calling methods on it.
+<BR><BR>
+Declaring Extended Operations with Properties (Control Extension Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlExtension;
+
+@ControlExtension
+@Destination(type=JmsMessageControl.QUEUE, name="queue.orders")
+public interface OrderQueue extends JmsMessageControl
+{
+    public class Order implements java.io.Serializable
+    {
+         public Order(int buyer, String list)  { buyerID = buyer; itemList  list; }
+         int buyerID;
+        String [ ] itemList;       
+    }
+
+    @Message (OBJECT)
+    public void submitOrder(
+                           @Body Order order, 
+                           @Property ( name="DeliverBy") String deliverBy);
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+This interface defines a single operation, submitOrder, that enqueues an ObjectMessage containing a new order.   The body of the message will be a single instance of the Order class, and it will have a single StringProperty with the expected delivery date (enabling message selector-based queries for orders that are past due).
+<BR><BR>
+The message format (in this case an ObjectMessage) and the mapping of operation parameters to message content and/or properties are all defined using JSR-175 metadata on the method or its parameters.   This format makes it very easy for tools to assist in the creation and presentation of extension interfaces.
+<BR><BR>
+How does the extension author (or tool) know about the set of annotations that can be used on the extension interface?   This is the topic of the next section.
+<BR><BR>
+<b><a name="#Defining Extension">Defining Extension Semantics for a Control Type</a></b><br>
+A Control author is responsible for defining the extensibility semantics for a particular type, since ultimately they are responsible for providing the implementation that fulfills the semantics.  
+<BR><BR>
+The extension semantics for a Control are part of the public contract for the Control, and thus are defined on the Control Public Interface as well.   As with Control properties, these are defined in the form of JSR-175 annotation interfaces, as show in the following sample code from the JmsMessageControl Public Interface:
+<BR><BR>
+Declaring Extension Semantics (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.io.Serializable;
+import javax.jms.Message;
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+@ControlInterface
+public interface JmsMessageControl
+{
+    &#8230;
+  
+   public enum MessageType {  BYTES, MAP, OBJECT, STREAM, TEXT }
+
+   @Target({METHOD})
+   @Retention(RUNTIME)
+   public @interface Message
+   {
+       public MessageType value() default TEXT;
+   }
+
+   @Target({PARAMETER}
+   @Retention(RUNTIME)
+    public interface Body {}
+ 
+   @Target({PARAMETER})
+   @Retention(RUNTIME)
+    public @interface Property
+    {
+	      public String name();
+    }
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+The JmsMessageMessageControl defines three annotation types: Message, Body, and Property.   The Message annotation can be placed on the method declaration to indicate the type of JMS message that will be enqueued by the operation.   The Body annotation is used to indicate the method parameter that contains the contents of the message (and must have a type that is compatible with the specified MessageType).   The Property annotation on a method parameter indicates that the parameter's value should be stored as a property on the enqueue message, with the property name coming from the value of the annotation and the property type derived from the type of the method parameter.
+<BR><BR>
+The key is that the Control Public Interface contains sufficient details about the expected annotations that a tool can support the construction.   It also makes it possible for the Control compiler (that converts the extended interface to an associated bean implementation) to perform validation of interface and method annotations.
+<BR><BR>
+More details on how these extension semantics are implemented are described in the next section.
+<BR><BR>
+<b><a name="#Authoring">Authoring an Extensible Control Type</a></b><br>
+The author of a Control type is responsible for providing the code that implements the extension semantics for the Control.   Support for extensibility is optional;  so a Control author indicates extensibility of a type by declaring that that the Control Implementation Class implements the org.apache.beehive.controls.api.bean.Extensible interface.  This interface has a single method named invoke(). 
+<BR><BR>
+The skeleton of this code for the JmsMessageControlImpl class is shown below:
+<BR><BR>
+Implementing Extended Operations (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import  org.apache.beehive.controls.api.context/.Context;
+import  org.apache.beehive.controls.api.context.ControlBeanContext;
+import  org.apache.beehive.controls.api.bean.Extensible;
+
+public class JmsMessageControlImpl implements JmsMessageControl, Extensible
+{
+     @Context ControlBeanContext context;
+
+    public Object invoke(Method m, Object [] args) throws Throwable
+    {
+          //   Extensibility implementation
+         &#8230;
+     }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The invoke() method on the Control Implementation Class will be called any time an operation defined on an extension interface is called on the Control by its client.  The implementation of this method has responsibility for examining the current set of properties for the Control instance, methods, and parameters and using them to parameterize the behavior of the Control.
+<BR><BR>
+This is demonstrated by the code below, which shows a portion of the implementation of invoke() for the JmsMessageControlImpl class:
+<BR><BR>
+Accessing Method Properties Using the Context (Control Implementation)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Object invoke(Method m, Object [] args) throws Throwable
+{
+   &#8230;
+
+    int bodyIndex = 1;
+    for (int i= 0; i&lt; args.length; i++)
+         if (context.getArgumentPropertySet(m, i, JMMessageControl.Body.class) != null)
+           bodyIndex = i;
+
+    //
+    // Create a message of the appropriate type
+    //
+    Message m = null;
+    JMSMessageControl.Message msgProp = context.getMethodPropertySet(m,  
+                                                                                             JMSMessageControl.Message.class);        
+    switch(msgProp.value())
+    {
+         case MessageType.OBJECT:
+               m = session.createObjectMessage(args[bodyIndex]);
+               break;
+         &#8230;
+    }
+   
+    //
+    // Decorate the message with properties defined by any arguments
+    //
+    for (int i= 0; i&lt; args.length; i++)
+     {
+         JMSMessageControl.Property jmsProp =
+             context.getParameterPropertySet(m,i, JmsMessageControl.Property.class);
+          if (jmsgProp != null)
+         {
+            String name = jmsProp.value();
+             if (args[I] instanceof String)
+                 m.setStringProperty(name, ((String)args[i]);
+             else if (args[I] instanceof Integer)
+                 &#8230;
+             else
+                  m.setObjectProperty(name, args[I);
+     }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+In the sample code above, the Control Implementation Class uses the ControlBeanContext API to query properties on the invoked method and its argument.   These query methods will return null if the property is not found and no default was defined for the attribute member.
+<BR><BR>
+<b><a name="#Client Model">Client Model for Using an Extended Control Type</a></b><br>
+The client model for using an extended Control type is exactly the same as the model for using a base Control type.   The same set of declarative and programmatic instantiation mechanisms (described in the previous section) will be used, and operations or events are handled the same way.<br><BR>
+Below is sample code that uses the OrderQueue extended type (using declarative client model):
+<BR><BR>
+Using a Control Extension (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+@Control org.apache.beehive.controls.examples.OrderQueueBean orderBean;
+
+&#8230;
+    Order order = new OrderQueue.Order();
+     order.buyerID = myID;
+     order.itemList = new String [] {"item1", "item2"};
+     orderBean.submitOrder(order, "12-31-2004");
+</pre>
+</td></tr>
+</table>
+<br><br>
+Looking closely at the example, you'll notice that a derived ControlBean type (OrderQueueBean) is generated by the Control compiler, just as it is for a base Control type.  
+<BR><BR> 
+The skeleton of this ControlBean Generated Class is shown below:
+<BR><BR>
+Implementation of Extended Operations (ControlBean Generated Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Package org.apache.beehive.controls.examples;
+
+public class OrderQueueBean extends JmsMessageControlBean
+                                                    implements OrderQueue
+{
+     JmsMessageControlImpl _impl;
+     &#8230;
+    Public void submitOrder(Object order, String deliveryBy)
+    {
+           &#8230;
+          _impl.invoke(submitOrderMethod, new Object [] {order, deliveryBy};
+           &#8230;
+    }
+
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+There are several attributes worth noting about the extended ControlBean Generated Class:
+<UL>
+<LI>	Its implementation will be a subclass of the base type ControlBean, so implementation of base type operations is inherited.
+<li>The extended bean will implement the extended Control interface, meaning all extended operations will be implemented by the bean.
+<li>The implementation of these extended operations will always delegate down to the base Control Implementation Class by calling the Extensible.invoke() method.
+</ul>
+<h3><a name="#Composition"></a></h3>
+The Controls architecture supports a composition model, based upon the JavaBeans Runtime Containment and Services Protocol.   This means that it is possible for new types of ControlBeans to be defined that are built through composition of one or more other types.
+<BR><BR>
+<b><a name="#Composition Declarative">Composition Using Declarative Instantiation</b></a><br>
+Additionally, the ControlBeans authoring model makes composition very simple based upon the declarative instantiation model.     Within any ControlBean implementation, any @Control fields will automatically be initialized as children of the local bean's context.
+<BR><BR>
+Here's a simple example based upon our previous OrderQueue example.  Let's say that we want to create a logical Control that can be used to submit orders.  This Control will submit to one of two different queues, depending upon whether the order needs to ship in less than 30 days, or greater than 30 days.
+<BR><BR>
+The implementation of this Control could look like:
+<BR><BR>
+Composition Using Declarative Instantiation (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class OrderRouterImpl
+{
+     @Control @Destination(Name="RushOrders")
+    OrderQueueBean rushOrders;
+
+    @Control @Destination(Name="Orders")
+      OrderQueueBean orders;
+
+    &#8230;
+
+    public void submitOrder(Order order, String deliverBy)
+     {
+          if (needsRushDelivery(deliveryBy))
+            rushOrders.submitOrder(order, deliverBy);
+         else
+             orders.submitOrder(order, deliverBy);
+     }
+
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, the OrderRouterImpl Control itself uses the services of two different OrderQueue Controls referencing two different queues, and uses a helper method (needsRushDelivery) to decide where to enqueue a particular order.   The new Control has the same operations exposed as the original Controls; but now uses the services of one or the other of its children to satisfy the request.
+<BR><BR>
+The next section describes doing an equivalent composition using mechanisms to instantiate and build the Control hierarchy.
+<BR><BR>
+<B><a name="#Composition Programmatic">	Composition using Programmatic Mechanisms</a></b><BR>
+Because the ControlBeans architecture is built using the JavaBeans Runtime Containment protocol, which defines a base composition model for JavaBeans, it is also possible to manually instantiate and Controls using the APIs it defines.  The ControlBeanContext API extends the java.beans.beancontext.BeanContext API, which provides support for adding children to the current bean's context.
+<BR><BR>
+Here's the previous sample, rewritten to use programmatic composition:
+<BR><BR>
+Composition Using Programmatic Instantiation (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class OrderRouterImpl
+{
+    OrderQueueBean rushOrders;    // no @Control annotation, so no auto-init
+     OrderQueueBean orders;          // no @Control annotation, so no auto-init
+     @Context ControlBeanContext context;
+    
+
+   public void context_onCreate()
+   {
+        ClassLoader cl = Thread.currentThread().getContextClassLoader();
+         rushOrders = (OrderQueueBean)Beans.instantiate(cl, "org.apache.beehive.controls.examples.OrderQueueBean");
+         rushOrders.setDestinationName("RushOrders"); 
+         context.add(rushOrders);
+         orders = (OrderQueueBean)Beans.instantiate(cl, "org.apache.beehive.controls.examples.OrderQueueBean");
+         orders.setDestinationName("RushOrders");
+         context.add(orders);
+    }
+
+    public void submitOrder(Order order, String deliverBy)
+     {
+          &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#Internal Architechture">Internal Architecture for Composition and Services</a></b><br>
+The JavaBeans Runtime Containment and Services Protocol provides the base composition model for Control composition and containment.   In this model,  JavaBeans are associated with a BeanContext that manages the composition hierarchy and also manages any contextual services requested by the contained beans.
+<BR><BR>
+In the Control architecture, a ControlBean will potentially be related to two different BeanContexts:  a parent context that represents the outer container for the bean, and a peer context that provides containment and services to other beans nested within that Control.
+<BR><BR>
+
+These context relationships from the previous sample are shown in the following diagram:
+<BR><BR>
+<img src="images/ControlsProgramming_3.gif">
+<BR><BR>
+In the diagram, the two OrderQueueBean instances created by OrderRouterBean are nested within the ControlBeanContext; while not shown, these two beans would also have a peer ControlBeanContext providing them with contextual services.
+<BR><BR>
+The peer ControlBeanContext provides localized generic services to the associated Control Implementation instance, such as ability to resolve property values from the local bean instance or externalized configuration, and the delivery of lifecycle events.   The ControlBean architecture uses a delegation model for service discovery.   If an implementation instance requests a service that is not implemented by the peer BeanContext, it will delegate up to the parent context to find a provider for the service.
+<BR><BR>
+At the root of the bean composition hierarchy is an instance of a ContainerBeanContext.  This context represents the external runtime environment, within which the ControlBean is running.  This might represent an EJB, servlet, web service, Java application, or any ControlBean-capable container.   The ContainerBeanContext is responsible for the initialization and provisioning of service providers that are specific to runtime environment with which it is associated.
+<BR><BR>
+Whether ContainerBeanContext or ControlBeanContext, the BeanContext instances also provide the basic hierarchy of composition, as shown by the parent-child relationships above.
+<BR><BR>
+<h3><a name="#Context Events"></h3></a>
+The Control programming model also exposes a basic set of lifecycle events to enable the Control to perform efficient initialization and resource management.    These events are delivered by the peer ControlBeanContext associated with a ControlBean instance.   A listener can register to receive these events using the addCallbackListener API on ControlBeanContext; the actual Callback event interface itself is defined there as well:
+<BR><BR>
+Context Life Cycle Events
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+import org.apache.beehive.controls.api.context;
+
+public interface ControlBeanContext extends java.beans.beancontext.BeanContextServices
+{
+      &#8230;
+      public interface Callback extends java.util.EventListener
+      {
+          public void onCreate();
+          public void onAcquire();
+          public void onRelease();
+      }
+
+      public void addCallbackListener(Callback lifecycleListener);
+      public void removeCallbackListener(Callback lifecycleListener); 
+}
+
+</pre>
+</td></tr>
+</table>
+<br><br>
+The specific life cycle events are described in the following section:
+<b><a name="#Life Cycle">Life Cycle Events</a></b><br>
+The ControlBeanContext life cycle events provide notification to the associated ControlBean  derived class and Control Implementation Class (and potentially other interested listeners) of significant events related to the peer bean instance.
+<BR><BR>
+<a name="#onCreate"><b>	The onCreate Event</b></a><br>
+The onCreate event is delivered when the Control Implementation instance associated with the ControlBean has been constructed and all declarative initialization has been completed. This provides an opportunity for the implementation instance to perform any additional initialization required; implementation instances should generally use the onCreate event instead of writing constructor code.
+<BR><BR>
+<a name="#onAcquire"><b>The onAcquire Event</b></a><br>
+The onAcquire event is delivered to a registered listener the first time a ControlBean operation is invoked within a particular resource context.   It provides an opportunity for the Control Implementation instance (or other related entities, such as a contextual service provider) to acquire any short-term resources (connections, sessions, etc) needed by the ControlBean.
+<BR><BR>
+The onAcquire event is guaranteed to be delivered once (and only once) prior to invocation of any operation within a resource context; it is also guaranteed that a paired onRelease event will be delivered when the resource context ends.
+<BR><BR>
+For more details on resource management, refer to the Control Architectural Overview document.
+<BR><BR>
+<b><a name="#onRelease">The onRelease Event</a></b><br>
+The onRelease event is the companion event to onAcquire.   It is guaranteed to be called once (and only once) on any bean instance that has received an onAcquire event, when its associated resource context has ended.   It acts as the signal that any short-term resources (connections, sessions, etc) acquired by the Control should be released.
+<BR><BR>
+<b><a name="#Receiving Life">	Receiving Life Cycle Events</b></a><br>
+For a Control Implementation Class, the model for receiving context life cycle events is consistent with the general client model for event registration and delivery.   Both declarative and programmatic mechanisms are supported.
+<br><br>
+<b><a name="#Declarative Life">Declarative Access to Life Cycle Events</a></b><br>
+A Control Implementation Class can receive Life Cycle Events simply by declaring the annotated @Context ControlBeanContext and then defining event handlers that follow the &lt;contextFieldName>_&lt;eventName> convention.
+<br><Br>
+The following sample code  shows the JmsMessageControl registering to receive onAcquire and onRelease events:
+<br><BR>
+Declarative Handling of Life Cycle Events (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+
+
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+import org.apache.beehive.controls.api.events.EventHandler;
+
+Public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Context ControlBeanContext context;
+
+   @EventHandler(field="context", eventName="onAcquire")
+    public void onAcquire()
+    {
+         // Code to acquire JMS connection/session/destination/writers
+       &#8230;
+    }
+
+   @EventHandler(field="context", eventName="onRelease")
+    public void onRelease()
+    {
+         // Code to release JMS connection/session/destination/writer
+        &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+When using the declarative mechanism, a Control Implementation Class is free to implement only a subset of the life cycle listeners;  it is not necessary that it provide a handler for all events.
+<br><BR>
+<b><a name="#Programmatic Life">	Programmatic Access to Life Cycle Events</a></b><br>
+An external entity (such as contextual service provider or even a client) is also able to register for life cycle events on a ControlBean instance as well.  This is done by obtaining a reference to the peer ControlBeanContext for the instance using the getPeerContext API, and then using the addCallbackListener API to register a lifecycle event listener.
+<br><br>
+This is shown by the following code:
+<br><BR>
+Programmatic Handling of Life Cycle Events (Control Implementation Class) 
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+   JmsMessageControlBean myJmsBean = &#8230;;
+
+     ControlBeanContext peerContext = myBean.getPeerContext();
+     PeerContext.addCallbackListener(
+         new ControlBeanContext.Callback()
+          {
+              public void onCreate() {  . };
+              public void onAcquire() {  };
+              public void onRelease() {  };
+          });
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#JavaBean">JavaBean Context Events</b></a><br>
+The org.apache.beehive.controls.api.context.ControlBeanContext API extends the following standard JavaBean context APIs:
+<ul>
+<li>	java.beans.BeanContextChild
+<li>java.beans.BeanContext
+<li>java.beans.BeanContextServices
+</ul>
+These APIs provide access to a standard set of JavaBean events that the Control Implementation Class can register an interest in.   
+[Issue: there is not a declarative mechanism for receiving these events, but probably should be.]
+<br><br>
+<b><a name="#PropertyChange">PropertyChange Events</a></b><br>
+The java.beans.BeanContextChild interface provides the addPropertyChangeListener() and addVetoableChangeListener() APIs to register  for notification when a property is modified.
+<br><br>
+<b><a name="#Membership">Membership Events</a></b><br>
+The java.beans.BeanContext interface provides the addMembershipChangeListener() API to register for notification whenever a child is added or removed from the BeanContext.
+<br><BR>
+<B><a name="#Context Services">Context Services Events</a></b><br>
+The java.beans.BeanContextServices interface provides the addBeanContextServicesListener API  to register for notification when new contextual services become available or are revoked.
+<BR><BR>
+<h3><a name="#AppendixA">Appendix A:  The JmsMessageControl Public Interface</a></h3>
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.io.*;
+import java.lang.annotation.*;
+import javax.jms.*;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+import org.apache.beehive.controls.api.events.EventSet;
+import  org.apache.beehive.controls.api.properties.PropertySet;
+
+/**
+  * The JmsMessageControl defines a basic Control to enable messages to be enqueued to a JMS
+  * queue or topic.   Using Control properties, you can configure the connection, session, and
+  * destination attributes that should be used to connect to the JMS provider.   The Control 
+  * will transparently connect  to the JMS provider and obtain any necessary resources to
+  * enqueue the messages.   The Control will also sure that the resources are properly released
+  * at the end of the current resource scope associated with the Control's runtime environment.
+  * 
+  * The Control provides a basic set of operations that allow a simple text or object message to
+  * be written to the configured destination.   It also provides an extensibility mechanism
+  * that allows new operations to be defined by extending this interface.  Extended operations
+  * define the enqueueing of message with a specific type (TextMessage, ObjectMessage, ...)
+  * where operation parameters can be mapped to message properties or content.
+  */ 
+@ControlInterface
+public interface JmsMessageControl 
+{ 
+    // OPERATIONS
+ 
+    /** 
+     * Sends a simple TextMessage to the Control's destination
+     * @param text the contents of the TextMessage
+     */
+     public void sendTextMessage(String text);
+
+    /**
+      * Sends a simple ObjectMessage to the Control's destination
+      * @param object the object to use as the contents of the message
+      */
+    public void sendObjectMessage(java.io.Serializable object);
+ // EVENTS
+
+    /** 
+      * The Callback interface defines the events for the JmsMessageControl. 
+      */
+   @EventSet
+    public interface Callback 
+    { 
+        /**
+         * The onSend event is delivered to a registered client listener whenever a
+         * a message has been sent by the Control. 
+         * @param msg the message that was sent
+         */
+        public void onMessage(javax.jms.Message msg); 
+    } 
+
+     // PROPERTIES
+
+     /**
+       * The Connection property defines the attributes of the connection and session used
+       * to enqueue the message.   This annotation can appear on both class and Control
+       * field declarations.
+       */
+    @PropertySet
+    @Target({FIELD, TYPE})
+    public @interface Connection
+    {
+        public String factoryName();
+        public boolean transacted() default true;
+        public int acknowledgeMode()  default  Session.CLIENT_ACKNOWLEDGE;
+    }
+    
+    /** An enumeration that defines the value set of destination types */
+    public enum DestinationType { QUEUE, TOPIC }
+
+    /**
+     * The Destination property defines the attributes of the JMS destination that should
+     * be the target of any enqueued messages.
+     */
+    @PropertySet
+    @Target({FIELD, TYPE})
+    public @interface Destination
+    {
+        public DestinationType type() default QUEUE;
+        public String name();
+    }
+  // EXTENSIBILITY ATTRIBUTES
+
+    /**
+     * The set of supported message types for extended operations 
+     */
+    public enum MessageType {  TEXT, OBJECT, BYTES }
+
+    /**
+     *  The Message attribute can be placed on an extended operation to describe the format of the
+     *  message that  should be enqueued when the operation is invoked.   The method is expected to 
+     * have a least parameter annotated with the Body attribute, and zero or more parameters with
+     * the Property attribute defining message properties.
+     */ 
+    @Target({METHOD})
+    public @interface Message
+    {
+        public MessageType value() default TEXT;
+    }
+
+    /** The Body attribute indicates that the associated method parameter on an extended operation
+      *  contains the message body.
+      */
+    @Target({PARAMETER}
+    public interface Body {}
+ 
+    /**
+     * The Property attribute can be used to define operation parameters that should be used to
+     * set properties on the message.  The type of property to set will be inferred based upon
+     * the type of the parameter.
+     */
+    @Target({PARAMETER})
+    public @interface Property
+    {
+	     public String name();
+    }
+}
+
+</pre>
+</td></tr>
+</table>
+<br><br>
+<h3><a name="#AppendixB">Appendix B:  The JmsMessageControl Implementation Class</a></h3>
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.bean.Extensible;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+import org.apache.beehive.controls.api.events.Client;
+import org.apache.beehive.controls.api.events.EventHandler;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.QueueConnectionFactory
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.TopicConnectionFactory
+import javax.jms.TopicConnection;
+import javax.jms.TopicSession;
+import javax.jms.TopicPublisher;
+import javax.jms.Message;
+
+/**
+ * The JmsMessageControlImpl class is the Control Implementation Class for the JmsMessageControl.
+ * It implements two basic operations (sendTextMessage and sendObjectMessage) as well as an
+ * extensibility model that enables custom message formats to be defined and associated with
+ * extended method signatures.
+ */ 
+@ControlImplementation
+public class JmsMessageControlImpl implements JmsMessageControl, Extensible
+{
+    /**
+     * The peer BeanContext instance associated with the Control
+     */ 
+    @Context ControlBeanContext context;
+
+    /**
+     * The client callback event router for this Control
+     */
+    @Client Callback client;
+
+    /**
+     * The fields are used to hold transient JMS resources that are acquired and held for
+     * the resource scope associated with the Control
+     */
+    transient javax.jms.Connection _connection;
+    transient javax.jms.Session _session;
+    transient javax.jms.MessageProduction _producer;
+ /*
+     * The onAcquire event handler
+     * This method will be called prior to any operation with a given resource scope.  It is
+     * responsible for obtaining the connection, session, destination, and appropriate
+     * writer instance, for use within the operation.
+     */
+    @EventHandler(field="context", eventSet=ControlBeanContext.Lifecycle.class, eventName="onAcquire")
+    public void  onBeanAcquire()
+    {
+        //
+        // Acquire the property values needed for initialization
+        //
+        Destination destProp = (Destination)context.getControlPropertySet(Destination.class);
+        Connection connProp = (Connection)context.getControlPropertySet(Connection.class);
+
+        try
+        {
+            //
+            // Obtain the JMS Destination instance based upon the Destination property
+            //
+            InitialContext jndiContext = new InitialContext(); 
+            _dest = (javax.jms.Destination)initContext.lookup(destProp.name());
+
+            //
+            // Obtain Connection, Session, and MessageProducer resources based upon the 
+            // destination type and the values in the Connection PropertySet
+            //
+            if (destProp.type() = JmsControl.QUEUE)
+            {
+                javax.jms.QueueConnectionFactory connFactory = 
+                            (QueueConnectionFactory)jndiContext.lookup(connProp.factoryName()); 
+                _connection = connFactory.createQueueConnection();
+                _session = (QueueConnection)_connection).createQueueConnection(
+                                                                    connProp.transacted(),
+                                                                    connProp.acknowledgeMode());
+                _producer = (QueueSession)_session).createSender((Queue)_dest);
+            }
+            else
+            {
+                javax.jms.TopicConnectionFactory connFactory = 
+                            (TopicConnectionFactory)jndiContext.lookup(connProp.factoryName()); 
+                _connection = connFactory.createTopicConnection();
+                _session = ((TopicConnection)_connection).createTopicConnection(
+                                                                    connProp.transacted(),
+                                                                    connProp.acknowledgeMode());
+                _producer = ((TopicSession)_session).createPublisher((Topic)_dest);
+
+            }
+        }
+        catch (javax.naming.NamingException ne)
+        {
+            throw new ControlException("Unable to locate JNDI object", ne);
+        }
+        catch (ClassCastException ce)
+        {
+            throw new ControlException("JNDI object did not match expected type", ce);
+        }
+        catch (JMSException jmse)
+        {
+            throw new ControlException("Unable to acquire JMS resources", jmse);
+        }
+    }
+
+    /*
+     * The onRelease event handler for the associated context
+     * This method will release all resource acquired by onAcquire. 
+     */ 
+    @EventHandler (field="context", eventSet=ControlBeanContext.Lifecycle.class , eventName="onRelease")
+    public void onRelease()
+    {
+        try
+        {
+            if (_producer != null)
+            {
+                _producer.close();
+                _producer = null;
+            }
+            if (_session != null)
+            {
+                _session.close();
+                _session = null;
+            }
+            if (_connection != null)
+            {
+                _connection.close();
+                _connection = null;
+            }
+        }
+        catch (JMSException jmse)
+        {
+            throw new ControlException("Unable to release JMS resource", jmse);
+        }
+    }
+
+    /**
+     * Helper method used to send a message once constructed
+     */
+    private void sendMessage(Message msg) throws JMSException
+    {
+        client.onMessage(msg);
+        if (_producer instanceof java.jms.QueueSender)
+            ((QueueSender)_producer).send(msg);
+        else
+            ((TopicPublisher)_producer).publish(msg);
+    }
+
+    /** 
+     * Sends a simple TextMessage to the Control's destination
+     * @param text the contents of the TextMessage
+     */
+    public void sendTextMessage(String text) throws JMSException
+    {
+        javax.jms.TextMessage msg = _session.createTextMessage(text);
+        sendMessage(msg);
+    }
+
+    /**
+     * Sends a simple ObjectMessage to the Control's destination
+     * @param object the object to use as the contents of the message
+     */
+    public void sendObjectMessage(java.io.Serializable object)
+    {
+        javax.jms.ObjectMessage msg = _session.createObjectMessage(object);
+        sendMessage(msg);
+    }
+
+    /**
+     * Implements the Extensible.invoke() interface for this Control
+     * This method uses the Message property to determine the type of message to construct,
+     * and then uses the Body and Property attributes of method parameters to supply message
+     * content and properties.
+     */ 
+    public Object invoke(Method m, Object [] args) throws Throwable
+    {
+        int bodyIndex = -1;
+        for (int i= 0; i< args.length; i++)
+        {
+            if (context.getParametertPropertySet(m, I, JmsMessageControl.Body.class) != null)
+            {
+                bodyIndex = i;
+                break;
+            }
+        }
+        if (bodyIndex == -1)
+            throw new ControlException("No @Body argument defined for operation: " + m.getName());
+
+        //
+        // Create a message based upon the value of the Message property of the method
+        //
+        javax.jms.Message msg = null;
+        Message  msgProp = context.getMethodPropertySet(m.JmsMessageControl.Message.class);
+        try
+        {
+            switch(msgProp.value())
+            {
+                case MessageType.TEXT:
+                    msg = session.createTextMessage((String)args[bodyIndex]);
+                    break;
+
+                case MessageType.OBJECT:
+                    msg = session.createObjectMessage(args[bodyIndex]);
+                    break;
+                case MessageType.BYTES:
+                    msg = session.createBytesMessage()
+                    msg.writeBytes((byte []) args[bodyIndex]);
+                    break;
+            }
+        }           
+        catch (ClassCastException)
+        {
+            throw new ControlException("Invalid type for Body parameter", cce);
+        }
+
+        //
+        // Now decorate the message with any Property-annotated parameters
+        //
+        for (int i= 0; i< args.length; i++)
+        {
+            JMSMessageControl.Property prop = 
+                context.getParameterPropertySet(m, i,.JmsMessageControl.Property.class);
+            if (prop != null)
+            {
+                String propName = prop.name();
+                if (args[i] instanceof String)
+                    msg.setStringProperty((String)args[i]);
+                else if (args[i] instanceof Integer)
+                    msg.setStringProperty(((Integer)args[i])intValue());
+                else if (args[i] instanceof Short)
+                    msg.setStringProperty(((Short)args[i]).shortValue());
+                else if (args[i] instanceof Boolean)
+                    msg.setBooleanProperty(((Boolean)args[i]).booleanValue());
+                else if (args[i] instanceof Float)
+                    msg.setFloatProperty(((Float)args[i]).floatValue());
+                else if (args[i] instanceof Double)
+                    msg.setDoubleProperty(((Double)args[i]).doubleValue());
+                else
+                    msg.setObjectProperty(args[i]);
+            }
+        }
+        
+        //
+        // Send it
+        //
+        sendMessage(msg);
+    }
+}
+
+	
+	
+	</pre>
+</td></tr>
+</table>
+<br><br>
+</body>

Added: incubator/beehive/trunk/site/build/site/contributors.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/contributors.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Apache Beehive - </title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!--================= start Navigation Path ==================-->
+<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Navigation Path ==================-->
+<!--================= start Banner ==================-->
+<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<!--================= start Group Logo ==================-->
+<td bgcolor="#294563"><a href="http://incubator.apache.org/"><img border="0" class="logoImage" alt="Apache Incubator" src="images/incubator-logo.gif"></a></td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/beehive"><img border="0" class="logoImage" alt="Apache Beehive" src="images/beehive_logo_wide.gif"></a></td>
+<!--================= end Project Logo ==================-->
+<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
+<tr>
+<td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<br>
+<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
+                      the Apache Beehive site
+                      
+                      
+                    </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" bgcolor="#294563" colspan="2">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="6"><img alt="" height="8" width="6" src="skin/images/spacer.gif"></td><td valign="bottom">
+<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="index.html">Home</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</div>
+<!--================= end Tabs ==================-->
+</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Banner ==================-->
+<!--================= start Menu, NavBar, Content ==================-->
+<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top">
+<table summary="menu" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<!--================= start left top NavBar ==================-->
+<td rowspan="3" valign="top">
+<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
+</tr>
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td>
+<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
+<!--================= start Menu items ==================-->
+<div class="menu">
+<ul>
+<li>
+<font color="#CFDCED">Beehive</font>
+<ul>
+    
+<li>
+<a href="index.html">Welcome</a>
+</li>
+    
+<li>
+<a href="license.html">License</a>
+</li>
+    
+<li>
+<a href="downloads.html">Downloads</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Documentation</font>
+<ul>
+    
+<li>
+<a href="faq.html">FAQ</a>
+</li>
+    
+<li>
+<a href="Controls.html">Controls</a>
+</li>
+    
+<li>
+<a href="webservices.html">Web Services (JSR 181)</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Community</font>
+<ul>
+    
+<li>
+<a href="mailinglists.html">Mailing Lists</a>
+</li>
+    
+<li>
+<span class="sel"><font color="#ffcc00">Contributors</font></span>
+</li>
+  
+</ul>
+</li>
+</ul>
+</div>
+<!--================= end Menu items ==================-->
+</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
+</tr>
+<tr>
+<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td><td valign="top" width="100%">
+<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
+<!--================= start middle NavBar ==================-->
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end middle NavBar ==================-->
+<!--================= start Content==================-->
+<tr>
+<td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
+<div class="content">
+<table class="title" summary="">
+<tr>
+<td valign="middle">
+<h1>Apache Beehive - </h1>
+</td>
+</tr>
+</table>
+<ul class="minitoc">
+<li>
+<a href="#Contributors">Contributors</a>
+</li>
+<li>
+<a href="#Sponsor">Sponsor</a>
+</li>
+</ul>
+    
+<a name="N1000C"></a><a name="Contributors"></a>
+<h3>Contributors</h3>
+<div style="margin-left: 0 ; border: 2px">
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+	
+<tr>
+<td colspan="1" rowspan="1"><strong>Username</strong></td><td colspan="1" rowspan="1"><strong>Committers</strong></td><td colspan="1" rowspan="1"><strong>Affiliation</strong></td>
+</tr>
+	
+<tr>
+<td colspan="1" rowspan="1">ias</td><td colspan="1" rowspan="1">Changshin Lee</td><td colspan="1" rowspan="1">Tmax Soft (Axis committer)</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">cjudson</td><td colspan="1" rowspan="1">Chris Judson</td><td colspan="1" rowspan="1">E2E Consulting</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">cliffs</td><td colspan="1" rowspan="1">Cliff Schmidt</td><td colspan="1" rowspan="1">BEA (XMLBeans committer)</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">craigc</td><td colspan="1" rowspan="1">Craig Crutcher</td><td colspan="1" rowspan="1"></td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">dolander</td><td colspan="1" rowspan="1">Daryl Olander</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">dims</td><td colspan="1" rowspan="1">Davanum Srinivas</td><td colspan="1" rowspan="1">(Axis committer)</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">davidbau</td><td colspan="1" rowspan="1">David Bau</td><td colspan="1" rowspan="1">(XMLBeans committer)</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">dmkarr</td><td colspan="1" rowspan="1">David Karr</td><td colspan="1" rowspan="1">(Struts committer)</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">daveread</td><td colspan="1" rowspan="1">David Read</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">ekoneil</td><td colspan="1" rowspan="1">Eddie O'Neil</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">heathers</td><td colspan="1" rowspan="1">Heather Stephens</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+	
+<tr>
+<td colspan="1" rowspan="1">jsong</td><td colspan="1" rowspan="1">James Song</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">jongjinchoi</td><td colspan="1" rowspan="1">Jongjin Choi</td><td colspan="1" rowspan="1">Tmax Soft</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">kentam</td><td colspan="1" rowspan="1">Ken Tam</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">?</td><td colspan="1" rowspan="1">Kevin O'Connor</td><td colspan="1" rowspan="1">Documentum</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">kylem</td><td colspan="1" rowspan="1">Kyle Marvin</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">mclark</td><td colspan="1" rowspan="1">Michael Clark</td><td colspan="1" rowspan="1">SandCherry (need CLA)</td>
+</tr>
+	
+<tr>
+<td colspan="1" rowspan="1">?</td><td colspan="1" rowspan="1">Mike Merz</td><td colspan="1" rowspan="1">BEA (need CLA)</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">rich</td><td colspan="1" rowspan="1">Rich Feit</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">rotan</td><td colspan="1" rowspan="1">Rotan Hanrahan</td><td colspan="1" rowspan="1">MobileAware</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">scottryan</td><td colspan="1" rowspan="1">Scott Ryan</td><td colspan="1" rowspan="1"></td>
+</tr>
+	
+<tr>
+<td colspan="1" rowspan="1">steveh</td><td colspan="1" rowspan="1">Steve Hanson</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">stocco</td><td colspan="1" rowspan="1">Steve Tocco</td><td colspan="1" rowspan="1">BEA</td>
+</tr>
+      	
+<tr>
+<td colspan="1" rowspan="1">vsalvato</td><td colspan="1" rowspan="1">Vince Salvato</td><td colspan="1" rowspan="1">E2E Consulting</td>
+</tr>
+       
+</table>
+</div>
+
+    
+<a name="N10175"></a><a name="Sponsor"></a>
+<h3>Sponsor</h3>
+<div style="margin-left: 0 ; border: 2px">
+<p>Craig McClanahan, Champion and Mentor for the project, (as defined in 
+          <a target="_blank" href="http://incubator.apache.org/incubation/Roles_and_Responsibilities.html">http://incubator.apache.org/incubation/Roles_and_Responsibilities.html</a>)
+    </p>
+</div>
+    
+    
+<div class="attribution"></div>
+</div>
+</td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end Content==================-->
+</table>
+</td>
+</tr>
+</table>
+<!--================= end Menu, NavBar, Content ==================-->
+<!--================= start Footer ==================-->
+<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+</tr>
+<tr>
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
+          2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  --></script></font></td>
+</tr>
+<tr>
+<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
+</tr>
+</table>
+<!--================= end Footer ==================-->
+</body>
+</html>

Added: incubator/beehive/trunk/site/build/site/downloads.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/downloads.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Apache Beehive - Downloads</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!--================= start Navigation Path ==================-->
+<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Navigation Path ==================-->
+<!--================= start Banner ==================-->
+<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<!--================= start Group Logo ==================-->
+<td bgcolor="#294563"><a href="http://incubator.apache.org/"><img border="0" class="logoImage" alt="Apache Incubator" src="images/incubator-logo.gif"></a></td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/beehive"><img border="0" class="logoImage" alt="Apache Beehive" src="images/beehive_logo_wide.gif"></a></td>
+<!--================= end Project Logo ==================-->
+<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
+<tr>
+<td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<br>
+<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
+                      the Apache Beehive site
+                      
+                      
+                    </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" bgcolor="#294563" colspan="2">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="6"><img alt="" height="8" width="6" src="skin/images/spacer.gif"></td><td valign="bottom">
+<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="index.html">Home</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</div>
+<!--================= end Tabs ==================-->
+</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Banner ==================-->
+<!--================= start Menu, NavBar, Content ==================-->
+<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top">
+<table summary="menu" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<!--================= start left top NavBar ==================-->
+<td rowspan="3" valign="top">
+<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
+</tr>
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td>
+<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
+<!--================= start Menu items ==================-->
+<div class="menu">
+<ul>
+<li>
+<font color="#CFDCED">Beehive</font>
+<ul>
+    
+<li>
+<a href="index.html">Welcome</a>
+</li>
+    
+<li>
+<a href="license.html">License</a>
+</li>
+    
+<li>
+<span class="sel"><font color="#ffcc00">Downloads</font></span>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Documentation</font>
+<ul>
+    
+<li>
+<a href="faq.html">FAQ</a>
+</li>
+    
+<li>
+<a href="Controls.html">Controls</a>
+</li>
+    
+<li>
+<a href="webservices.html">Web Services (JSR 181)</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Community</font>
+<ul>
+    
+<li>
+<a href="mailinglists.html">Mailing Lists</a>
+</li>
+    
+<li>
+<a href="contributors.html">Contributors</a>
+</li>
+  
+</ul>
+</li>
+</ul>
+</div>
+<!--================= end Menu items ==================-->
+</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
+</tr>
+<tr>
+<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td><td valign="top" width="100%">
+<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
+<!--================= start middle NavBar ==================-->
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end middle NavBar ==================-->
+<!--================= start Content==================-->
+<tr>
+<td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
+<div class="content">
+<table class="title" summary="">
+<tr>
+<td valign="middle">
+<h1>Apache Beehive - Downloads</h1>
+</td>
+</tr>
+</table>
+<ul class="minitoc">
+<li>
+<a href="#Source+Archives">Source Archives</a>
+</li>
+<li>
+<a href="#Getting+Source+from+SVN">Getting Source from SVN</a>
+</li>
+</ul>
+
+
+<a name="N1000C"></a><a name="Source+Archives"></a>
+<h3>Source Archives</h3>
+<div style="margin-left: 0 ; border: 2px">
+<p>Beehive is still rather new, so we don't have daily source drops yet.  We are currently working
+      on getting some form of daily builds.  When that happens, there should be a place to download the source for
+      the most recent daily build.<br>  For right now, if you want source, you can either download a recent snapshot
+      of source (Revision 30718) or get it from the Subversion repository (directions below).  Once you've obtained a copy
+      of the source from an archive or from SVN, simply follow the instructions in BUILDING.txt.
+      <br>
+<br>
+</p>
+<ul>
+        
+<li>
+<a href="http://cvs.apache.org/dist/incubator/beehive/src/incubating-beehive-20040726-30718.tar.gz">incubating-beehive-20040726-30718.tar.gz</a>
+</li>
+        
+<li>
+<a href="http://cvs.apache.org/dist/incubator/beehive/src/incubating-beehive-20040726-30718.zip">incubating-beehive-20040726-30718.zip</a>
+</li>
+      
+</ul>
+</div>
+
+
+<a name="N10027"></a><a name="Getting+Source+from+SVN"></a>
+<h3>Getting Source from SVN</h3>
+<div style="margin-left: 0 ; border: 2px">
+<ol>
+	    
+<li>Download Subversion from <a href="http://subversion.tigris.org/">http://subversion.tigris.org/ </a>
+</li>
+	    
+<li>In the specified directory say "beehive" run the svn client <br>
+	        
+<span class="codefrag">svn checkout http://svn.apache.org/repos/asf/incubator/beehive/trunk/</span>
+</li>
+	
+</ol>
+</div>
+
+
+<div class="attribution"></div>
+</div>
+</td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end Content==================-->
+</table>
+</td>
+</tr>
+</table>
+<!--================= end Menu, NavBar, Content ==================-->
+<!--================= start Footer ==================-->
+<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+</tr>
+<tr>
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
+          2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  --></script></font></td>
+</tr>
+<tr>
+<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
+</tr>
+</table>
+<!--================= end Footer ==================-->
+</body>
+</html>

Added: incubator/beehive/trunk/site/build/site/faq.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/faq.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Apache Beehive FAQ</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!--================= start Navigation Path ==================-->
+<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Navigation Path ==================-->
+<!--================= start Banner ==================-->
+<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<!--================= start Group Logo ==================-->
+<td bgcolor="#294563"><a href="http://incubator.apache.org/"><img border="0" class="logoImage" alt="Apache Incubator" src="images/incubator-logo.gif"></a></td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/beehive"><img border="0" class="logoImage" alt="Apache Beehive" src="images/beehive_logo_wide.gif"></a></td>
+<!--================= end Project Logo ==================-->
+<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
+<tr>
+<td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<br>
+<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
+                      the Apache Beehive site
+                      
+                      
+                    </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" bgcolor="#294563" colspan="2">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="6"><img alt="" height="8" width="6" src="skin/images/spacer.gif"></td><td valign="bottom">
+<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="index.html">Home</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</div>
+<!--================= end Tabs ==================-->
+</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Banner ==================-->
+<!--================= start Menu, NavBar, Content ==================-->
+<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top">
+<table summary="menu" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<!--================= start left top NavBar ==================-->
+<td rowspan="3" valign="top">
+<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
+</tr>
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td>
+<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
+<!--================= start Menu items ==================-->
+<div class="menu">
+<ul>
+<li>
+<font color="#CFDCED">Beehive</font>
+<ul>
+    
+<li>
+<a href="index.html">Welcome</a>
+</li>
+    
+<li>
+<a href="license.html">License</a>
+</li>
+    
+<li>
+<a href="downloads.html">Downloads</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Documentation</font>
+<ul>
+    
+<li>
+<span class="sel"><font color="#ffcc00">FAQ</font></span>
+</li>
+    
+<li>
+<a href="Controls.html">Controls</a>
+</li>
+    
+<li>
+<a href="webservices.html">Web Services (JSR 181)</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Community</font>
+<ul>
+    
+<li>
+<a href="mailinglists.html">Mailing Lists</a>
+</li>
+    
+<li>
+<a href="contributors.html">Contributors</a>
+</li>
+  
+</ul>
+</li>
+</ul>
+</div>
+<!--================= end Menu items ==================-->
+</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
+</tr>
+<tr>
+<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td><td valign="top" width="100%">
+<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
+<!--================= start middle NavBar ==================-->
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end middle NavBar ==================-->
+<!--================= start Content==================-->
+<tr>
+<td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
+<div class="content">
+<table class="title" summary="">
+<tr>
+<td valign="middle">
+<h1>Apache Beehive FAQ</h1>
+</td>
+</tr>
+</table>
+
+
+<a name="N1000C"></a><a name="Frequently_Asked_Questions"></a>
+<h3>Frequently_Asked_Questions</h3>
+<div style="margin-left: 0 ; border: 2px">
+<p>
+<strong>General</strong>
+</p>
+<ol>
+        
+<li>
+<a href="#what-is">What is Beehive?</a>
+</li>
+        
+<li>
+<a href="#annotations">What are annotations?</a>
+</li>
+        
+<li>
+<a href="#controls">What are controls? </a>
+</li>
+      
+</ol>
+</div>
+
+
+<a name="N10029"></a><a name="General"></a>
+<h3>General</h3>
+<div style="margin-left: 0 ; border: 2px">
+<dl>
+        
+<dt>What is Beehive?</dt>
+        
+<dd>
+<a name="what-is"></a> Beehive is a programming model built on J2EE that is meant to simplify 
+          building Web Applications. See the <a href="index.html">overview</a> for more info.</dd>
+      
+</dl>
+<dl>
+        
+<dt>What are annotations?</dt>
+        
+<dd>
+<a name="annotations"></a> Annotations are a new part of the Java language that are being introduced 
+          in JDK 1.5. They allow you to add metadata to objects that live outside 
+          of ordinary programmatic flow control. These are used for setting properties 
+          on components that the container is then able to make sense of. For 
+          more information on annotation in java see <a target="_blank" href="http://jcp.org/en/jsr/detail?id=175">JSR 175</a>
+</dd>
+      
+</dl>
+<dl>
+        
+<dt>What are controls?</dt>
+        
+<dd>
+<a name="controls"></a> Controls are the new component model in Beehive. They are based on 
+          regular JavaBeans, with an enhanced authoring model, an extensibility 
+          model, and a configuration model using JSR 175 annotations. To find 
+          out more about controls look at
+	  <a href="./Controls.html">Controls</a>.</dd>
+      
+</dl>
+</div>
+ 
+     
+<div class="attribution"></div>
+</div>
+</td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end Content==================-->
+</table>
+</td>
+</tr>
+</table>
+<!--================= end Menu, NavBar, Content ==================-->
+<!--================= start Footer ==================-->
+<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+</tr>
+<tr>
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
+          2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  --></script></font></td>
+</tr>
+<tr>
+<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
+</tr>
+</table>
+<!--================= end Footer ==================-->
+</body>
+</html>

Added: incubator/beehive/trunk/site/build/site/favicon.ico
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/ControlsOverview_1.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/ControlsOverview_2.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/ControlsOverview_3.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/ControlsOverview_4.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/ControlsProgramming_1.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/ControlsProgramming_2.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/ControlsProgramming_3.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/Logo_25wht.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/apache-incubator-logo.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/beehive_logo_wide.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/incubator-logo.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/images/maven-button-1.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/index.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/index.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,319 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Apache Beehive Project</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!--================= start Navigation Path ==================-->
+<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Navigation Path ==================-->
+<!--================= start Banner ==================-->
+<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<!--================= start Group Logo ==================-->
+<td bgcolor="#294563"><a href="http://incubator.apache.org/"><img border="0" class="logoImage" alt="Apache Incubator" src="images/incubator-logo.gif"></a></td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/beehive"><img border="0" class="logoImage" alt="Apache Beehive" src="images/beehive_logo_wide.gif"></a></td>
+<!--================= end Project Logo ==================-->
+<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
+<tr>
+<td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<br>
+<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
+                      the Apache Beehive site
+                      
+                      
+                    </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" bgcolor="#294563" colspan="2">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="6"><img alt="" height="8" width="6" src="skin/images/spacer.gif"></td><td valign="bottom">
+<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="index.html">Home</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</div>
+<!--================= end Tabs ==================-->
+</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Banner ==================-->
+<!--================= start Menu, NavBar, Content ==================-->
+<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top">
+<table summary="menu" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<!--================= start left top NavBar ==================-->
+<td rowspan="3" valign="top">
+<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
+</tr>
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td>
+<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
+<!--================= start Menu items ==================-->
+<div class="menu">
+<ul>
+<li>
+<font color="#CFDCED">Beehive</font>
+<ul>
+    
+<li>
+<span class="sel"><font color="#ffcc00">Welcome</font></span>
+</li>
+    
+<li>
+<a href="license.html">License</a>
+</li>
+    
+<li>
+<a href="downloads.html">Downloads</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Documentation</font>
+<ul>
+    
+<li>
+<a href="faq.html">FAQ</a>
+</li>
+    
+<li>
+<a href="Controls.html">Controls</a>
+</li>
+    
+<li>
+<a href="webservices.html">Web Services (JSR 181)</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Community</font>
+<ul>
+    
+<li>
+<a href="mailinglists.html">Mailing Lists</a>
+</li>
+    
+<li>
+<a href="contributors.html">Contributors</a>
+</li>
+  
+</ul>
+</li>
+</ul>
+</div>
+<!--================= end Menu items ==================-->
+</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
+</tr>
+<tr>
+<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td><td valign="top" width="100%">
+<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
+<!--================= start middle NavBar ==================-->
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end middle NavBar ==================-->
+<!--================= start Content==================-->
+<tr>
+<td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
+<div class="content">
+<table class="title" summary="">
+<tr>
+<td valign="middle">
+<h1>The Apache Beehive Project</h1>
+</td>
+</tr>
+</table>
+<ul class="minitoc">
+<li>
+<a href="#News-N1000E">News</a>
+</li>
+<li>
+<a href="#Introduction-N10036">Introduction</a>
+</li>
+<li>
+<a href="#Downloads-N1004F">Downloads</a>
+</li>
+<li>
+<a href="#Get+Involved">Get Involved</a>
+</li>
+</ul>
+    <!--
+    Beehive
+        Welcome<should link to the HTML page created from Welcome.doc>
+        License<should link to http://www.apache.org/licenses/LICENSE-2.0>
+
+    Documentation
+        FAQ<should link to the HTML page created from FAQ.doc>
+        Controls Overview<should link to Kyle's control Overview>
+        Controls Programming<should link to Kyle's Controls programming pdf>
+        Web Services (JSR 181)<should link to http://jcp.org/en/jsr/detail?id=181>
+
+    Contributing
+        Mailing Lists<should link to HTML Page created from MailingLists.doc>
+        Contributers<should link to HTML Page created from Contributers.doc>
+    -->
+    
+    
+<a name="N1000E"></a><a name="News-N1000E"></a>
+<h3>News</h3>
+<div style="margin-left: 0 ; border: 2px">
+<a name="News"></a>
+<ul>
+       
+<li>Beehive now has a <a target="_blank" href="http://wiki.apache.org/beehive">wiki</a>.</li>
+       
+<li>File bugs or feature requests in <a target="_blank" href="http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10570">jira</a> for Beehive.</li>
+       
+<li>
+<a target="_blank" href="http://www.eclipse.org/pollinate/">Pollinate</a> is a project to build an Eclipse-based IDE on the Beehive Framework.  The project proposal is currently under review.  Feedback is welcome.</li>
+       
+<li>Would you like to contribute?  Subscribe now to the -dev, -user or -commits mailing lists for Beehive.  See the <a href="mailinglists.html">Mailing Lists</a> for subscription and archive infomation.</li>
+     
+</ul>
+</div>
+    
+    
+<a name="N10036"></a><a name="Introduction-N10036"></a>
+<h3>Introduction</h3>
+<div style="margin-left: 0 ; border: 2px">
+<a name="Introduction"></a>
+<p> Welcome to Beehive! This is the project working on making J2EE easier 
+        by building a simple object model on J2EE and Struts. The goal is to take 
+        the new JSR-175 metadata annotations and use them to reduce the coding 
+        necessary for J2EE. The initial Beehive project has three pieces.</p>
+<ul>
+        
+<li>NetUI PageFlows &ndash; These are built on top of struts, and allow easier 
+          tooling as well as automatic updating of struts config files with the 
+          use of metadata.</li>
+        
+<li> Controls &ndash; These are a lightweight component framework that 
+          helps programmers build components that incorporate metadata into their 
+          programming model. This project will come with a few pre-made controls 
+          as well.</li>
+        
+<li>Web Services &ndash; This will be the Reference Implementation of JSR-181, which is 
+          an annotation driven programming model for Web Services.</li>
+      
+</ul>
+</div>
+
+    
+<a name="N1004F"></a><a name="Downloads-N1004F"></a>
+<h3>Downloads</h3>
+<div style="margin-left: 0 ; border: 2px">
+<a name="Downloads"></a>
+<p> See <a href="downloads.html">downloads</a>
+</p>
+</div>
+    
+    
+<a name="N1005F"></a><a name="Get+Involved"></a>
+<h3>Get Involved</h3>
+<div style="margin-left: 0 ; border: 2px">
+<p>
+      
+<a href="mailinglists.html">Mailing Lists</a>
+<br>
+      
+<a href="contributors.html">Contributors</a>
+      
+</p>
+</div>
+
+    
+<div class="attribution"></div>
+</div>
+</td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end Content==================-->
+</table>
+</td>
+</tr>
+</table>
+<!--================= end Menu, NavBar, Content ==================-->
+<!--================= start Footer ==================-->
+<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+</tr>
+<tr>
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
+          2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  --></script></font></td>
+</tr>
+<tr>
+<td colspan="2" align="left" bgcolor="#CFDCED" class="logos">
+<div>
+<img alt="" height="1" width="10" src="skin/images/spacer.gif"></div>
+</td>
+</tr>
+</table>
+<!--================= end Footer ==================-->
+</body>
+</html>

Added: incubator/beehive/trunk/site/build/site/license.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/license.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Apache License</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!--================= start Navigation Path ==================-->
+<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Navigation Path ==================-->
+<!--================= start Banner ==================-->
+<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<!--================= start Group Logo ==================-->
+<td bgcolor="#294563"><a href="http://incubator.apache.org/"><img border="0" class="logoImage" alt="Apache Incubator" src="images/incubator-logo.gif"></a></td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/beehive"><img border="0" class="logoImage" alt="Apache Beehive" src="images/beehive_logo_wide.gif"></a></td>
+<!--================= end Project Logo ==================-->
+<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
+<tr>
+<td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<br>
+<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
+                      the Apache Beehive site
+                      
+                      
+                    </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" bgcolor="#294563" colspan="2">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="6"><img alt="" height="8" width="6" src="skin/images/spacer.gif"></td><td valign="bottom">
+<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="index.html">Home</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</div>
+<!--================= end Tabs ==================-->
+</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Banner ==================-->
+<!--================= start Menu, NavBar, Content ==================-->
+<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top">
+<table summary="menu" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<!--================= start left top NavBar ==================-->
+<td rowspan="3" valign="top">
+<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
+</tr>
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td>
+<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
+<!--================= start Menu items ==================-->
+<div class="menu">
+<ul>
+<li>
+<font color="#CFDCED">Beehive</font>
+<ul>
+    
+<li>
+<a href="index.html">Welcome</a>
+</li>
+    
+<li>
+<span class="sel"><font color="#ffcc00">License</font></span>
+</li>
+    
+<li>
+<a href="downloads.html">Downloads</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Documentation</font>
+<ul>
+    
+<li>
+<a href="faq.html">FAQ</a>
+</li>
+    
+<li>
+<a href="Controls.html">Controls</a>
+</li>
+    
+<li>
+<a href="webservices.html">Web Services (JSR 181)</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Community</font>
+<ul>
+    
+<li>
+<a href="mailinglists.html">Mailing Lists</a>
+</li>
+    
+<li>
+<a href="contributors.html">Contributors</a>
+</li>
+  
+</ul>
+</li>
+</ul>
+</div>
+<!--================= end Menu items ==================-->
+</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
+</tr>
+<tr>
+<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td><td valign="top" width="100%">
+<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
+<!--================= start middle NavBar ==================-->
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end middle NavBar ==================-->
+<!--================= start Content==================-->
+<tr>
+<td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
+<div class="content">
+<table class="title" summary="">
+<tr>
+<td valign="middle">
+<h1>The Apache License</h1>
+</td>
+</tr>
+</table>
+    
+<p> See the <a target="_blank" href="http://www.apache.org/licenses/LICENSE-2.0">License</a> for license infomation.</p>
+
+<div class="attribution"></div>
+</div>
+</td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end Content==================-->
+</table>
+</td>
+</tr>
+</table>
+<!--================= end Menu, NavBar, Content ==================-->
+<!--================= start Footer ==================-->
+<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+</tr>
+<tr>
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
+          2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  --></script></font></td>
+</tr>
+<tr>
+<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
+</tr>
+</table>
+<!--================= end Footer ==================-->
+</body>
+</html>

Added: incubator/beehive/trunk/site/build/site/mailinglists.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/mailinglists.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Apache Beehive Project</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!--================= start Navigation Path ==================-->
+<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Navigation Path ==================-->
+<!--================= start Banner ==================-->
+<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<!--================= start Group Logo ==================-->
+<td bgcolor="#294563"><a href="http://incubator.apache.org/"><img border="0" class="logoImage" alt="Apache Incubator" src="images/incubator-logo.gif"></a></td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/beehive"><img border="0" class="logoImage" alt="Apache Beehive" src="images/beehive_logo_wide.gif"></a></td>
+<!--================= end Project Logo ==================-->
+<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
+<tr>
+<td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<br>
+<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
+                      the Apache Beehive site
+                      
+                      
+                    </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" bgcolor="#294563" colspan="2">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="6"><img alt="" height="8" width="6" src="skin/images/spacer.gif"></td><td valign="bottom">
+<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="index.html">Home</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</div>
+<!--================= end Tabs ==================-->
+</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Banner ==================-->
+<!--================= start Menu, NavBar, Content ==================-->
+<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top">
+<table summary="menu" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<!--================= start left top NavBar ==================-->
+<td rowspan="3" valign="top">
+<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
+</tr>
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td>
+<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
+<!--================= start Menu items ==================-->
+<div class="menu">
+<ul>
+<li>
+<font color="#CFDCED">Beehive</font>
+<ul>
+    
+<li>
+<a href="index.html">Welcome</a>
+</li>
+    
+<li>
+<a href="license.html">License</a>
+</li>
+    
+<li>
+<a href="downloads.html">Downloads</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Documentation</font>
+<ul>
+    
+<li>
+<a href="faq.html">FAQ</a>
+</li>
+    
+<li>
+<a href="Controls.html">Controls</a>
+</li>
+    
+<li>
+<a href="webservices.html">Web Services (JSR 181)</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Community</font>
+<ul>
+    
+<li>
+<span class="sel"><font color="#ffcc00">Mailing Lists</font></span>
+</li>
+    
+<li>
+<a href="contributors.html">Contributors</a>
+</li>
+  
+</ul>
+</li>
+</ul>
+</div>
+<!--================= end Menu items ==================-->
+</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
+</tr>
+<tr>
+<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td><td valign="top" width="100%">
+<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
+<!--================= start middle NavBar ==================-->
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end middle NavBar ==================-->
+<!--================= start Content==================-->
+<tr>
+<td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
+<div class="content">
+<table class="title" summary="">
+<tr>
+<td valign="middle">
+<h1>Apache Beehive Project</h1>
+</td>
+</tr>
+</table>
+<ul class="minitoc">
+<li>
+<a href="#Mailing+Lists">Mailing Lists</a>
+</li>
+</ul>
+
+    
+<a name="N1000C"></a><a name="Mailing+Lists"></a>
+<h3>Mailing Lists</h3>
+<div style="margin-left: 0 ; border: 2px">
+<p>Use the links below to send mail to, subscribe, unsubscribe or check the archives of the Beehive mailing lists.
+      Subcribing and unsubscribing is performed by simply sending a blank email to applicable address (as linked below).
+      <br>
+<br>
+</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+        
+<tr>
+          
+<td colspan="1" rowspan="1"><a href="mailto:beehive-user@incubator.apache.org"> Beehive Users List</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:beehive-user-subscribe@incubator.apache.org"> Subscribe</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:beehive-user-unsubscribe@incubator.apache.org"> Unsubscribe</a></td>
+          <td colspan="1" rowspan="1"><a target="_blank" href="http://nagoya.apache.org/eyebrowse/SummarizeList?listName=beehive-user@incubator.apache.org"> Archives</a></td>
+        
+</tr>
+        
+<tr>
+          
+<td colspan="1" rowspan="1"><a href="mailto:beehive-dev@incubator.apache.org"> Beehive Developer List</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:beehive-dev-subscribe@incubator.apache.org"> Subscribe</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:beehive-dev-unsubscribe@incubator.apache.org"> Unsubscribe</a></td>
+          <td colspan="1" rowspan="1"><a target="_blank" href="http://nagoya.apache.org/eyebrowse/SummarizeList?listName=beehive-dev@incubator.apache.org"> Archives</a></td>
+        
+</tr>
+        
+<tr>
+          
+<td colspan="1" rowspan="1"><a href="mailto:beehive-commits@incubator.apache.org"> Beehive SVN/Wiki Change List</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:beehive-commits-subscribe@incubator.apache.org"> Subscribe</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:beehive-commits-unsubscribe@incubator.apache.org"> Unsubscribe</a></td>
+          <td colspan="1" rowspan="1"><a target="_blank" href="http://nagoya.apache.org/eyebrowse/SummarizeList?listName=beehive-commits@incubator.apache.org"> Archives</a></td>
+        
+</tr>
+	
+<tr>
+          
+<td colspan="1" rowspan="1"><a href="mailto:beehive-ppmc@incubator.apache.org"> Beehive PPMC List</a></td>
+        
+</tr>
+      
+</table>
+</div>
+    
+
+<div class="attribution"></div>
+</div>
+</td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end Content==================-->
+</table>
+</td>
+</tr>
+</table>
+<!--================= end Menu, NavBar, Content ==================-->
+<!--================= start Footer ==================-->
+<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+</tr>
+<tr>
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
+          2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  --></script></font></td>
+</tr>
+<tr>
+<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
+</tr>
+</table>
+<!--================= end Footer ==================-->
+</body>
+</html>

Added: incubator/beehive/trunk/site/build/site/skin/breadcrumbs-optimized.js
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/skin/breadcrumbs-optimized.js	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,67 @@
+var PREPREND_CRUMBS=new Array();
+PREPREND_CRUMBS.push(new Array("Apache","http://www.apache.org/"));
+PREPREND_CRUMBS.push(new Array("Jakarta","http://jakarta.apache.org/"));
+var DISPLAY_SEPARATOR=" &gt; ";
+var DISPLAY_PREPREND="";
+var DISPLAY_POSTPREND=":";
+var CSS_CLASS_CRUMB="breadcrumb";
+var CSS_CLASS_TRAIL="breadcrumbTrail";
+var CSS_CLASS_SEPARATOR="crumbSeparator";
+var FILE_EXTENSIONS=new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
+var PATH_SEPARATOR="/";
+
+function sc(s) {
+	var l=s.toLowerCase();
+	return l.substr(0,1).toUpperCase()+l.substr(1);
+}
+function getdirs() {
+	var t=document.location.pathname.split(PATH_SEPARATOR);
+	var lc=t[t.length-1];
+	for(var i=0;i < FILE_EXTENSIONS.length;i++)
+	{
+		if(lc.indexOf(FILE_EXTENSIONS[i]))
+			return t.slice(1,t.length-1); }
+	return t.slice(1,t.length);
+}
+function getcrumbs( d )
+{
+	var pre = "/";
+	var post = "/";
+	var c = new Array();
+	if( d != null )
+	{
+		for(var i=0;i < d.length;i++) {
+			pre+=d[i]+postfix;
+			c.push(new Array(d[i],pre)); }
+	}
+	if(PREPREND_CRUMBS.length > 0 )
+		return PREPREND_CRUMBS.concat( c );
+	return c;
+}
+function gettrail( c )
+{
+	var h=DISPLAY_PREPREND;
+	for(var i=0;i < c.length;i++)
+	{
+		h+='<a href="'+c[i][1]+'" >'+sc(c[i][0])+'</a>';
+		if(i!=(c.length-1))
+			h+=DISPLAY_SEPARATOR; }
+	return h+DISPLAY_POSTPREND;
+}
+
+function gettrailXHTML( c )
+{
+	var h='<span class="'+CSS_CLASS_TRAIL+'">'+DISPLAY_PREPREND;
+	for(var i=0;i < c.length;i++)
+	{
+		h+='<a href="'+c[i][1]+'" class="'+CSS_CLASS_CRUMB+'">'+sc(c[i][0])+'</a>';
+		if(i!=(c.length-1))
+			h+='<span class="'+CSS_CLASS_SEPARATOR+'">'+DISPLAY_SEPARATOR+'</span>'; }
+	return h+DISPLAY_POSTPREND+'</span>';
+}
+
+if(document.location.href.toLowerCase().indexOf("http://")==-1)
+	document.write(gettrail(getcrumbs()));
+else
+	document.write(gettrail(getcrumbs(getdirs())));
+

Added: incubator/beehive/trunk/site/build/site/skin/breadcrumbs.js
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/skin/breadcrumbs.js	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,267 @@
+/*
+
+ ============================================================================
+                   The Apache Software License, Version 1.1
+ ============================================================================
+
+ Copyright (C) 2004 The Apache Software Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of  source code must  retain the above copyright  notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+ 3. The end-user documentation included with the redistribution, if any, must
+    include  the following  acknowledgment:  "This product includes  software
+    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+    Alternately, this  acknowledgment may  appear in the software itself,  if
+    and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "Apache Forrest" and "Apache Software Foundation"
+    must not be used to endorse or promote products derived from this  software
+    without  prior written permission. For written permission, please contact
+    apache@apache.org.
+
+ 5. Products  derived from this software may not  be called "Apache", nor may
+    "Apache" appear  in their name,  without prior written permission  of the
+    Apache Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+ APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+ ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+ (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ This software  consists of voluntary contributions made  by many individuals
+ on  behalf of the Apache Software  Foundation. For more  information on the
+ Apache Software Foundation, please see <http://www.apache.org/>.
+
+*/
+
+/**
+ * This script, when included in a html file, builds a neat breadcrumb trail
+ * based on its url. That is, if it doesn't contains bugs (I'm relatively
+ * sure it does).
+ *
+ * Typical usage:
+ * <script type="text/javascript" language="JavaScript" src="breadcrumbs.js"></script>
+ *
+ *@author     <a href="mailto:leosimons@apache.org">Leo Simons</a> (main author)
+ *@author     <a href="mailto:nicolaken@apache.org">Nicola Ken Barozzi</a> (integration in skin)
+ *@created    July 12, 2002
+ *@version    1.0
+ */
+
+/**
+ * IE 5 on Mac doesn't know Array.push.
+ *
+ * Implement it - courtesy to fritz.
+ */
+var abc	= new Array();
+if (!abc.push) {
+  Array.prototype.push	= function(what){this[this.length]=what}
+}
+
+/* ========================================================================
+	CONSTANTS
+   ======================================================================== */
+
+/**
+ * Two-dimensional array containing extra crumbs to place at the front of
+ * the trail. Specify first the name of the crumb, then the URI that belongs
+ * to it. You'll need to modify this for every domain or subdomain where
+ * you use this script (you can leave it as an empty array if you wish)
+ */
+var PREPREND_CRUMBS = new Array();
+   if(!("apache"=="")){
+     PREPREND_CRUMBS.push( new Array( "apache", "http://www.apache.org/" ) );
+   }
+   if(!(""=="")){
+     PREPREND_CRUMBS.push( new Array( "", "" ) );
+   }
+   if(!(""=="")){
+     PREPREND_CRUMBS.push( new Array( "", "" ) );
+   }
+
+/**
+ * String to include between crumbs:
+ */
+var DISPLAY_SEPARATOR = " &gt; ";
+/**
+ * String to include at the beginning of the trail
+ */
+var DISPLAY_PREPREND = "";
+/**
+ * String to include at the end of the trail
+ */
+var DISPLAY_POSTPREND = "";
+
+/**
+ * CSS Class to use for a single crumb:
+ */
+var CSS_CLASS_CRUMB = "breadcrumb";
+
+/**
+ * CSS Class to use for the complete trail:
+ */
+var CSS_CLASS_TRAIL = "breadcrumbTrail";
+
+/**
+ * CSS Class to use for crumb separator:
+ */
+var CSS_CLASS_SEPARATOR = "crumbSeparator";
+
+/**
+ * Array of strings containing common file extensions. We use this to
+ * determine what part of the url to ignore (if it contains one of the
+ * string specified here, we ignore it).
+ */
+var FILE_EXTENSIONS = new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" );
+
+/**
+ * String that separates parts of the breadcrumb trail from each other.
+ * When this is no longer a slash, I'm sure I'll be old and grey.
+ */
+var PATH_SEPARATOR = "/";
+
+/* ========================================================================
+	UTILITY FUNCTIONS
+   ======================================================================== */
+/**
+ * Capitalize first letter of the provided string and return the modified
+ * string.
+ */
+function sentenceCase( string )
+{        return string;
+	//var lower = string.toLowerCase();
+	//return lower.substr(0,1).toUpperCase() + lower.substr(1);
+}
+
+/**
+ * Returns an array containing the names of all the directories in the
+ * current document URL
+ */
+function getDirectoriesInURL()
+{
+	var trail = document.location.pathname.split( PATH_SEPARATOR );
+
+	// check whether last section is a file or a directory
+	var lastcrumb = trail[trail.length-1];
+	for( var i = 0; i < FILE_EXTENSIONS.length; i++ )
+	{
+		if( lastcrumb.indexOf( FILE_EXTENSIONS[i] ) )
+		{
+			// it is, remove it and send results
+			return trail.slice( 1, trail.length-1 );
+		}
+	}
+
+	// it's not; send the trail unmodified
+	return trail.slice( 1, trail.length );
+}
+
+/* ========================================================================
+	BREADCRUMB FUNCTIONALITY
+   ======================================================================== */
+/**
+ * Return a two-dimensional array describing the breadcrumbs based on the
+ * array of directories passed in.
+ */
+function getBreadcrumbs( dirs )
+{
+	var prefix = "/";
+	var postfix = "/";
+
+	// the array we will return
+	var crumbs = new Array();
+
+	if( dirs != null )
+	{
+		for( var i = 0; i < dirs.length; i++ )
+		{
+			prefix += dirs[i] + postfix;
+			crumbs.push( new Array( dirs[i], prefix ) );
+		}
+	}
+
+	// preprend the PREPREND_CRUMBS
+	if(PREPREND_CRUMBS.length > 0 )
+	{
+		return PREPREND_CRUMBS.concat( crumbs );
+	}
+
+	return crumbs;
+}
+
+/**
+ * Return a string containing a simple text breadcrumb trail based on the
+ * two-dimensional array passed in.
+ */
+function getCrumbTrail( crumbs )
+{
+	var xhtml = DISPLAY_PREPREND;
+
+	for( var i = 0; i < crumbs.length; i++ )
+	{
+		xhtml += '<a href="' + crumbs[i][1] + '" >';
+		xhtml += unescape( crumbs[i][0] ) + '</a>';
+		if( i != (crumbs.length-1) )
+		{
+			xhtml += DISPLAY_SEPARATOR;
+		}
+	}
+
+	xhtml += DISPLAY_POSTPREND;
+
+	return xhtml;
+}
+
+/**
+ * Return a string containing an XHTML breadcrumb trail based on the
+ * two-dimensional array passed in.
+ */
+function getCrumbTrailXHTML( crumbs )
+{
+	var xhtml = '<span class="' + CSS_CLASS_TRAIL  + '">';
+	xhtml += DISPLAY_PREPREND;
+
+	for( var i = 0; i < crumbs.length; i++ )
+	{
+		xhtml += '<a href="' + crumbs[i][1] + '" class="' + CSS_CLASS_CRUMB + '">';
+		xhtml += unescape( crumbs[i][0] ) + '</a>';
+		if( i != (crumbs.length-1) )
+		{
+			xhtml += '<span class="' + CSS_CLASS_SEPARATOR + '">' + DISPLAY_SEPARATOR + '</span>';
+		}
+	}
+
+	xhtml += DISPLAY_POSTPREND;
+	xhtml += '</span>';
+
+	return xhtml;
+}
+
+/* ========================================================================
+	PRINT BREADCRUMB TRAIL
+   ======================================================================== */
+
+// check if we're local; if so, only print the PREPREND_CRUMBS
+if( document.location.href.toLowerCase().indexOf( "http://" ) == -1 )
+{
+	document.write( getCrumbTrail( getBreadcrumbs() ) );
+}
+else
+{
+	document.write( getCrumbTrail( getBreadcrumbs( getDirectoriesInURL() ) ) );
+}
+

Added: incubator/beehive/trunk/site/build/site/skin/images/chapter.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/chapter_open.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/current.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/doc.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/favicon.ico
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/label.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/menu-left.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/menu-right.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/page.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/pdfdoc.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/printer.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/search-left.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/search-right.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/singlepage.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/spacer.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/tab-left.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/tab-right.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/tabSel-left.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/tabSel-right.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/valid-html401.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/vcss.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/images/xmldoc.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/site/skin/page.css
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/skin/page.css	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,71 @@
+body {  background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif;  font-size : 100%;  }
+
+a:link { color: #0F3660; }
+a:visited { color: #009999; }
+a:active { color: #000066; }
+a:hover { color: #000066; }
+
+img { border: 0; }
+
+.menu { background-color: #4C6C8F; margin: 0px; padding: 3px 8px 5px 3px;  font-size : 90%;  }
+.menu a:link { color: #FFFFFF;  text-decoration : none;  }
+.menu a:visited { color: #FFFFFF; text-decoration : none; }
+.menu a:hover { color: #FFCC00; text-decoration : none; }
+.menu ul { margin: 0px 0px 0px 20px; padding: 0px; }
+.menu li  { list-style-image: url('images/label.gif'); font-weight : bold; }
+.menu ul ul li .sel { list-style-image: url('images/current.gif'); font-weight : normal; }
+.menu ul ul li  { list-style-image: url('images/page.gif'); font-weight : normal; }
+
+.menu .base-seleted {color: #000000; }
+.menu .base-not-selected { font-family: Verdana, Helvetica, sans-serif; }
+
+.tab { font-size : 85%; border: 0 }
+.tab a:link {   text-decoration : none;  }
+.tab a:visited { text-decoration : none; color: #2A4A6D }
+.tab a:hover { color: #000066; }
+
+table .title { background-color: #FFFFFF; width:100%; border: 0px; }
+.dida { font-size: 80%; }
+
+.pre { white-space: pre;}
+
+.content { padding: 5px 5px 5px 10px; font : small Verdana, Helvetica, sans-serif;  font-size : 90%; }
+.content .ForrestTable { width: 100%; background-color: #7099C5; color: #ffffff; font-size : 90%;}
+.content .ForrestTable th a:link { color: white; }
+.content .ForrestTable th a:visited { color: #cfdced; }
+.content .ForrestTable th a:active { color: #000066; }
+.content .ForrestTable th a:hover { color: #000066; }
+.content .ForrestTable caption { text-align: left; color: black; font-weight: bold; }
+.content .ForrestTable th { text-align: center; }
+.content .ForrestTable td { background-color: #f0f0ff; color: black; }
+.content .attribution { text-align: right; font-style: italic; font-size: 90% }
+
+.frame { margin: 5px 20px 5px 20px; font-size: 90%; }
+.frame .content { margin: 0px; }
+
+.note { border: solid 1px #7099C5; background-color: #f0f0ff; }
+.note .label { background-color: #7099C5; color: #ffffff; }
+
+.warning { border: solid 1px #D00000; background-color: #fff0f0; }
+.warning .label { background-color: #D00000; color: #ffffff; }
+
+.fixme { border: solid 1px #C6C600; background-color: #FAF9C3; }
+.fixme .label { background-color: #C6C600; color: #ffffff; }
+
+.code { border-color: #CFDCED; border-style: solid; border-width: 1px; }
+.codefrag { font-family: "Courier New", Courier, monospace; }
+
+.highlight { background-color: yellow; }
+
+.minitoc {margin: 5px 5px 5px 40px;}
+
+.dtdElement { width: 100%;  font-size: 90%; background-color : #ffffff; }
+
+.dtdTag {    color: #990000; text-transform : uppercase;  font-style : normal;  font-size : 120%;  font-weight : bold; }
+
+
+@media print {
+   .menu {
+     display: none;
+   }
+}

Added: incubator/beehive/trunk/site/build/site/webservices.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/site/webservices.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Apache Beehive Web Services</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<!--================= start Navigation Path ==================-->
+<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Navigation Path ==================-->
+<!--================= start Banner ==================-->
+<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<!--================= start Group Logo ==================-->
+<td bgcolor="#294563"><a href="http://incubator.apache.org/"><img border="0" class="logoImage" alt="Apache Incubator" src="images/incubator-logo.gif"></a></td>
+<!--================= end Group Logo ==================-->
+<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://incubator.apache.org/beehive"><img border="0" class="logoImage" alt="Apache Beehive" src="images/beehive_logo_wide.gif"></a></td>
+<!--================= end Project Logo ==================-->
+<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
+<form target="_blank" action="http://www.google.com/search" method="get">
+<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
+<tr>
+<td colspan="3"><img height="10" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="incubator.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="skin/images/spacer.gif" class="spacer"><input name="Search" value="Search" type="submit">
+<br>
+<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
+                      the Apache Beehive site
+                      
+                      
+                    </font></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td><img alt="" border="0" height="10" width="9" src="skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td><img alt="" border="0" height="10" width="9" src="skin/images/search-right.gif"></td>
+</tr>
+</table>
+</form>
+</td>
+<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" bgcolor="#294563" colspan="2">
+<!--================= start Tabs ==================-->
+<div class="tab">
+<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="6"><img alt="" height="8" width="6" src="skin/images/spacer.gif"></td><td valign="bottom">
+<table summary="selected tab" style="height: 1.8em" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a class="base-selected" href="index.html">Home</a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="skin/images/tabSel-right.gif"></td>
+</tr>
+</table>
+</td>
+</tr>
+</table>
+</div>
+<!--================= end Tabs ==================-->
+</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+<!--================= end Banner ==================-->
+<!--================= start Menu, NavBar, Content ==================-->
+<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td valign="top">
+<table summary="menu" border="0" cellspacing="0" cellpadding="0">
+<tr>
+<!--================= start left top NavBar ==================-->
+<td rowspan="3" valign="top">
+<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
+</tr>
+<tr>
+<td bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td>
+<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
+<!--================= start Menu items ==================-->
+<div class="menu">
+<ul>
+<li>
+<font color="#CFDCED">Beehive</font>
+<ul>
+    
+<li>
+<a href="index.html">Welcome</a>
+</li>
+    
+<li>
+<a href="license.html">License</a>
+</li>
+    
+<li>
+<a href="downloads.html">Downloads</a>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Documentation</font>
+<ul>
+    
+<li>
+<a href="faq.html">FAQ</a>
+</li>
+    
+<li>
+<a href="Controls.html">Controls</a>
+</li>
+    
+<li>
+<span class="sel"><font color="#ffcc00">Web Services (JSR 181)</font></span>
+</li>
+  
+</ul>
+</li>
+<li>
+<font color="#CFDCED">Community</font>
+<ul>
+    
+<li>
+<a href="mailinglists.html">Mailing Lists</a>
+</li>
+    
+<li>
+<a href="contributors.html">Contributors</a>
+</li>
+  
+</ul>
+</li>
+</ul>
+</div>
+<!--================= end Menu items ==================-->
+</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="skin/images/menu-right.gif"></td>
+</tr>
+<tr>
+<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+</table>
+</td><td valign="top" width="100%">
+<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
+<!--================= start middle NavBar ==================-->
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
+                &nbsp;
+                
+                </font><img width="10" height="8" alt="" src="skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<tr>
+<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end middle NavBar ==================-->
+<!--================= start Content==================-->
+<tr>
+<td align="left" width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
+<div class="content">
+<table class="title" summary="">
+<tr>
+<td valign="middle">
+<h1>Apache Beehive Web Services</h1>
+</td>
+</tr>
+</table>
+
+
+<p>See <a target="_blank" href="http://jcp.org/en/jsr/detail?id=181">JSR 181</a> for more information</p>
+
+
+<div class="attribution"></div>
+</div>
+</td><td width="10"><img width="10" height="1" alt="" src="skin/images/spacer.gif" class="spacer"></td>
+</tr>
+<!--================= end Content==================-->
+</table>
+</td>
+</tr>
+</table>
+<!--================= end Menu, NavBar, Content ==================-->
+<!--================= start Footer ==================-->
+<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
+<tr>
+<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="skin/images/spacer.gif" class="spacer"><a href="skin/images/label.gif"></a><a href="skin/images/page.gif"></a><a href="skin/images/chapter.gif"></a><a href="skin/images/chapter_open.gif"></a><a href="skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
+</tr>
+<tr>
+<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
+          2004&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  --></script></font></td>
+</tr>
+<tr>
+<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
+</tr>
+</table>
+<!--================= end Footer ==================-->
+</body>
+</html>

Added: incubator/beehive/trunk/site/build/tmp/brokenlinks.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/brokenlinks.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,2 @@
+<broken-links>
+</broken-links>

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/cli.xconf
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/WEB-INF/cli.xconf	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,166 @@
+<?xml version="1.0"?>
+
+<!--+
+    |  This is the Apache Cocoon command line configuration file. 
+    |  Here you give the command line interface details of where
+    |  to find various aspects of your Cocoon installation.
+    |
+    |  If you wish, you can also use this file to specify the URIs
+    |  that you wish to generate.
+    |
+    |  The current configuration information in this file is for
+    |  building the Cocoon documentation. Therefore, all links here 
+    |  are relative to the build context dir, which, in the build.xml 
+    |  file, is set to ${build.context} 
+    |
+    |  Options:
+    |    verbose:            increase amount of information presented
+    |                        to standard output (default: false)
+    |    follow-links:       whether linked pages should also be 
+    |                        generated (default: true)
+    |    precompile-only:    precompile sitemaps and XSP pages, but 
+    |                        do not generate any pages (default: false)
+    |    confirm-extensions: check the mime type for the generated page
+    |                        and adjust filename and links extensions
+    |                        to match the mime type 
+    |                        (e.g. text/html->.html)
+    |
+    | CVS: $Id: cli.xconf,v 1.7.2.1 2003/09/27 11:47:03 jefft Exp $
+    +-->
+    
+<cocoon verbose="true"  
+        follow-links="true" 
+        precompile-only="false" 
+        confirm-extensions="false">
+
+   <!--+
+       | Broken link reporting options:
+       |   Report into a text file, one link per line:
+       |     <broken-links type="text" report="filename"/>
+       |   Report into an XML file:
+       |     <broken-links type="xml" report="filename"/>
+       |   Ignore broken links (default):
+       |     <broken-links type="none"/>
+       |   When a page includes an error, should a page be generated?
+       |     
+       |   Two attributes to this node specify whether a page should
+       |   be generated when an error occured. 'generate' specifies 
+       |   whether a page should be generated (default: true) and
+       |   extension specifies an extension that should be appended
+       |   to the generated page's filename (default: none)
+       |     <broken-links generate="true" extension=".error.txt"/>
+       |
+       +-->
+   <broken-links type="xml" 
+                 file="../brokenlinks.xml"
+                 generate="false"
+                 extension=".error"/>
+   
+   <!--+
+       |  Load classes at startup. This is necessary for generating
+       |  from sites that use SQL databases and JDBC.
+       |  The <load-class> element can be repeated if multiple classes
+       |  are needed.
+       +-->
+   <!--
+   <load-class>org.firebirdsql.jdbc.Driver</load-class>
+   -->
+
+   <!--+
+       |
+       +-->
+   <!-- <logging log-kit="WEB-INF/logkit.xconf" logger="cli" level="ERROR" /> -->
+
+   <!--+
+       |  The context directory is usually the webapp directory
+       |  containing the sitemap.xmap file.
+       |
+       |  The config file is the cocoon.xconf file.
+       |
+       |  The work directory is used by Cocoon to store temporary
+       |  files and cache files.
+       |  
+       |  The destination directory is where generated pages will
+       |  be written (assuming the 'simple' mapper is used)
+       +-->
+   <context-dir>.</context-dir>
+   <config-file>WEB-INF/cocoon.xconf</config-file>
+   <work-dir>../work</work-dir>
+   <!-- Unused static dest-dir, overridden in forrest.build.properties -->
+   <dest-dir>this-should-never-be-used</dest-dir>
+   <!-- Overridden in forrest.build.xml 
+   <dest-dir>../docs</dest-dir>
+   -->
+
+   <!--+
+       | Specifies the filename to be appended to URIs that
+       | refer to a directory (i.e. end with a forward slash).
+       +-->
+   <default-filename>index.html</default-filename>
+
+   <!--+
+       |  Specifies a user agent string to the sitemap when
+       |  generating the site.
+       +-->
+   <!--
+   <user-agent>xxx</user-agent>
+   -->
+
+   <!--+
+       |  Specifies an accept string to the sitemap when generating
+       |  the site.
+       +-->
+   <accept>*/*</accept>
+   
+   <!--+
+       |  Specifies the URIs that should be generated (using <uri>
+       |  elements, and (if necessary) what should be done with the
+       |  generated pages.
+       |
+       |  The old behaviour - appends uri to the specified destination
+       |  directory (as specified in <dest-dir>):
+       |
+       |   <uri>documents/index.html</uri>
+       |
+       |  Append: append the generated page's URI to the end of the 
+       |  source URI:
+       |
+       |   <uri type="append" src-prefix="documents/" src="index.html"
+       |   dest="build/dest/"/>
+       |
+       |  Replace: Completely ignore the generated page's URI - just 
+       |  use the destination URI:
+       |
+       |   <uri type="replace" src-prefix="documents/" src="index.html" 
+       |   dest="build/dest/docs.html"/>
+       |
+       |  Insert: Insert generated page's URI into the destination 
+       |  URI at the point marked with a * (example uses fictional 
+       |  zip protocol)
+       |
+       |   <uri type="insert" src-prefix="documents/" src="index.html" 
+       |   dest="zip://*.zip/page.html"/>
+       |
+       +-->
+
+   <!-- Includes and excludes can be used to limit which URLs are rendered -->
+   <exclude pattern="**/"/>
+   <exclude pattern="**apidocs**"/>
+   <exclude pattern="api/**"/>
+
+   <!-- Exclude tokens used in URLs to ASF mirrors (interpreted by a CGI) -->
+   <exclude pattern="[preferred]/**"/>
+   <exclude pattern="[location]"/>
+
+   <uri src="favicon.ico"/>
+
+   <!--+
+       |  File containing URIs (plain text, one per
+       |  line).
+       +-->
+   <!--
+   <uri-file></uri-file>
+   -->
+   
+</cocoon>
+

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/cocoon.xconf
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/WEB-INF/cocoon.xconf	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,780 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cocoon version="2.1">
+
+<!--+
+    |  This is the Apache Cocoon configuration file. This is the place
+    |  where you configure the components that Cocoon uses internally (stuff
+    |  like the cache) or handles to the pipeline components
+    |  (stuff like XML parsers or XSLT processors).
+    +-->
+
+<!-- =========================== Sitemap =============================== -->
+
+  <!--+
+      | New implementation of the sitemap. It is interpreted, so load times
+      | are super-fast, and request processing is slightly faster than with
+      | the compiled engine thanks to the HotSpot VM.
+      |
+      | Reloading of the sitemap:
+      |   The check-reload attribute determines if the sitemap is to be
+      |   reloaded on change.
+      |   Set to "no", the sitemap is generated once at startup.
+      |   Set to "yes", the sitemap is regenerated if it changes.
+      |
+      | For development environment, set the check-reload to yes.
+      | For production environment, it is advisable to set check-reload to no.
+      +-->
+  <sitemap check-reload="yes" config="resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml" file="context://sitemap.xmap" logger="sitemap"/>
+
+<!-- ========================= Sitemap Flowscript ========================== -->
+
+  <!--+
+      |  The <flow-interpreters> element is used to describe the flowscript
+      |  engines usedd by the current instance.
+      |
+      |  The attributes recognized by the <flow-interpreters> element are:
+      |
+      |    default (string value):
+      |
+      |       the default interpreted language assumed for <map:script>
+      |       elements which do not specify a "language" attribute. If not
+      |       present, the first language that's described within the
+      |       <flow-interpreters> element is assumed to be the default
+      |       language.
+      |
+      |  Within <flow-interpreters> only <component-instance> elements are
+      |  recognized. The attributes recognized by this element are "name"
+      |  and "class". "name" specifies the name of a scripting language,
+      |  and "class" defines the Java class that implements it. See
+      |  org.apache.cocoon.components.flow.Interpreter for the Cocoon
+      |  interface with an scripting language interpreter.
+      |
+      |  A <component-instance> element contains as subelements the
+      |  following elements:
+      |
+      |    reload-scripts (boolean value, default false):
+      |
+      |       whether to check if the scripts source files are
+      |       modified. Checking for modification is an expensive
+      |       operation, so leave it disabled in a production
+      |       environment. If not present it is assumed to be "false". When
+      |       "true" *all* script files are checked for modification on
+      |       each function invocation done using <map:call
+      |       function="...">, but not more frequent than the value of
+      |       "check-time" (see below).
+      |
+      |    check-time (long value, default 1000):
+      |
+      |       time in miliseconds between the checks for the last
+      |       modification date of script files.
+      |
+      |    debugger (boolean value, default false):
+      |
+      |       whether support for the JavaScript debugger should be enabled
+      |       in the control flow.
+      +-->
+  <flow-interpreters default="JavaScript" logger="flow">
+    <component-instance class="org.apache.cocoon.components.flow.javascript.JavaScriptInterpreter" name="JavaScript">
+      <load-on-startup>resource://org/apache/cocoon/components/flow/javascript/system.js</load-on-startup>
+      <reload-scripts>true</reload-scripts>
+      <check-time>4000</check-time>
+      <!--  <debugger>enabled</debugger> -->  <!-- JavaScript Debugger support -->
+    </component-instance>
+  </flow-interpreters>
+
+  <!--+
+      | Configuration for the continuations manager.
+      |
+      | This section specifies the default time-to-live of continuations
+      | in miliseconds using the "time-to-live" attribute of
+      | the <continuations-manager> element.
+      |
+      | The <expirations-check> element specifies different policies for
+      | expiring continuations. Currently only the "periodic" type is
+      | supported.
+      +-->
+  <continuations-manager logger="flow" time-to-live="3600000">
+    <expirations-check type="periodic">
+      <offset>180000</offset>
+      <period>180000</period>
+    </expirations-check>
+  </continuations-manager>
+
+<!-- =================== Sitemap Input/Output Modules ====================== -->
+
+  <!--+
+      | InputModules are a replacement to reading values directly
+      | e.g. from request parameters. By using this abstraction and
+      | indirection, other components can be more generic and changes
+      | to the application logic are easier.
+      |
+      | A number of components already use InputModules: the sitemap processor, 
+      | flow, some matchers, the linkrewriting transformer, database actions
+      | and more.
+      |
+      | For example the sitemap processor allows to obtain a value
+      | named "foo" from an the InputModule for request parameters by
+      | writing {request-param:foo} wherever a sitemap variable is
+      | allowed. 
+      |
+      | Some InputModules need the help of other InputModules to
+      | obtain values and only apply a function to the obtained value
+      | or change the name of the attribute. These modules usually
+      | carry "Meta" in their name. An example is the ChainMetaModule
+      | which tries several other modules in turn until a non-null
+      | value is obtained or all modules are tied.
+	  |
+      | For details and optional configuration parameters refer to the
+      | accompanying javadocs.
+      +-->
+  <input-modules>
+    <component-instance class="org.apache.cocoon.components.modules.input.GlobalInputModule" logger="core.modules.input" name="global"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.RequestModule" logger="core.modules.input" name="request"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.BaseLinkModule" logger="core.modules.input" name="baselink"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.SessionModule" logger="core.modules.input" name="session"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.RequestParameterModule" logger="core.modules.input" name="request-param"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.RawRequestParameterModule" logger="core.modules.input" name="raw-request-param"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.RequestAttributeModule" logger="core.modules.input" name="request-attr"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.HeaderAttributeModule" logger="core.modules.input" name="request-header"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.SessionAttributeModule" logger="core.modules.input" name="session-attr"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.SystemPropertyModule" logger="core.modules.input" name="system-property"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.StringConstantModule" logger="core.modules.input" name="constant"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.RandomNumberModule" logger="core.modules.input" name="random"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.DigestMetaModule" logger="core.modules.input" name="digest"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.DateInputModule" logger="core.modules.input" name="date">
+      <!-- <format>EEE, d MMM yyyy HH:mm:ss Z</format> -->
+      <!--Eg: Mon, 28 Oct 2002 03:08:49 +1100 -->
+    </component-instance>
+    <component-instance class="org.apache.cocoon.components.modules.input.NullInputModule" logger="core.modules.input" name="nullinput"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.RealPathModule" logger="core.modules.input" name="realpath"/> 
+    <component-instance class="org.apache.cocoon.components.modules.input.XMLMetaModule" logger="core.modules.input" name="xmlmeta"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.MapMetaModule" logger="core.modules.input" name="mapmeta"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.DateMetaInputModule" logger="core.modules.input" name="datemeta"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.JXPathMetaModule" logger="core.modules.input" name="jxpath"/>
+    <component-instance class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule" logger="core.modules.input" name="simplemap"/>
+    <component-instance logger="core.modules.input" name="forrest"    class="org.apache.cocoon.components.modules.input.ChainMetaModule">
+      <input-module name="request-param"/>
+      <input-module name="request-attr"/>
+      <input-module name="session-attr"/>
+      <input-module name="defaults"/>
+    </component-instance>
+    <component-instance name="defaults"       class="org.apache.cocoon.components.modules.input.DefaultsMetaModule">
+      <values>
+        <skin>forrest-site</skin>
+        <menu-scheme>tab_attributes</menu-scheme>
+        <bugtracking-url>http://nagoya.apache.org/bugzilla/show_bug.cgi?id=</bugtracking-url>
+      </values>
+    </component-instance>
+
+
+    <component-instance
+      class="org.apache.cocoon.components.modules.input.XMLFileModule"
+      logger="core.modules.xml" name="skinconf"/>
+
+    <component-instance
+      class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
+      logger="core.modules.mapper" name="conf">
+      <input-module name="skinconf">
+        <file src="skinconf.xml" reloadable="true" />
+      </input-module>
+      <prefix>/skinconfig/</prefix>
+    </component-instance>
+
+    <!-- For the site: scheme -->
+    <component-instance
+      class="org.apache.cocoon.components.modules.input.XMLFileModule"
+      logger="core.modules.xml" name="linkmap"/>
+
+    <!-- Links to URIs within the site -->
+    <component-instance
+      class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
+      logger="core.modules.mapper" name="site"/>
+
+    <!-- Links to external URIs, as distinct from 'site' URIs -->
+    <component-instance
+      class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
+      logger="core.modules.mapper" name="ext"/>
+
+</input-modules>
+
+
+<!-- ================================= XML ================================ -->
+
+  <!--+
+      | Source Factories
+      |
+      | Each source factory adds a special uri schemes to the system.
+      +-->
+  <source-factories>
+    <component-instance class="org.apache.excalibur.source.impl.ResourceSourceFactory" name="resource"/>
+    <component-instance class="org.apache.cocoon.components.source.impl.ContextSourceFactory" name="context"/>
+    <component-instance class="org.apache.cocoon.components.source.impl.SitemapSourceFactory" name="cocoon"/>
+    <!-- the "*" protocol handles all uri schemes that are not explicitely specified. This includes all
+         JDK standard protocols, with special handling of the "file:" protocol which is modifiable
+         (can be written to) and traversable (directory structures can be crawled). -->
+    <component-instance class="org.apache.excalibur.source.impl.URLSourceFactory" name="*"/>
+  </source-factories>
+  <!--+
+      | Entity resolution catalogs
+      |
+      | The default catalog is distributed at WEB-INF/entities/catalog
+      | This is the contextual pathname for Cocoon resources.
+      | You can override this path, if necessary, using the "catalog" parameter:
+      |
+      |    <parameter name="catalog" value="WEB-INF/entities/catalog"/>
+      |
+      | However, it is probably desirable to leave this default catalog config
+      | and declare your own local catalogs, which are loaded in addition to
+      | the system catalog.
+      |
+      | There are various ways to do local configuration (see "Entity Catalogs"
+      | documentation). One way is via the CatalogManager.properties file.
+      | As an additional method, you can specify the "local-catalog"
+      | parameter here.
+      |
+      | local-catalog:
+      |   The full filesystem pathname to a single local catalog file.
+      |
+      |  <parameter name="local-catalog" value="/usr/local/sgml/mycatalog"/>
+      |
+      | verbosity:
+      | The level of messages for status/debug (messages go to standard output)
+      | The following messages are provided ...
+      |  0 = none
+      |  1 = ? (... not sure yet)
+      |  2 = 1+, Loading catalog, Resolved public, Resolved system
+      |  3 = 2+, Catalog does not exist, resolvePublic, resolveSystem
+      |  10 = 3+, List all catalog entries when loading a catalog
+      |    (Cocoon also logs the "Resolved public" messages.)
+      |
+      |     <parameter name="verbosity" value="2"/>
+      +-->
+  <entity-resolver logger="core.resolver">
+    <parameter name="catalog" value="resources/schema/catalog.xcat"/>
+    <parameter name="local-catalog" value="D:\SVNDepot\trunk\site\src\documentation\resources\schema\catalog.xcat"/>
+    <parameter name="verbosity" value="1"/>
+  </entity-resolver>
+
+  <!--+
+      | XML Parser
+      |
+      | The default parser used in Apache Cocoon is
+      | org.apache.excalibur.xml.impl.JaxpParser. Apache Cocoon requires a
+      | JAXP 1.1 parser.
+      | If you have problems because your servlet environment uses its own
+      | parser not conforming to JAXP 1.1 try using the alternative
+      | XercesParser instead of the JaxpParser. To activate the XercesParser,
+      | change the class attribute to
+      |   class="org.apache.excalibur.xml.impl.XercesParser"
+      | You will also need to add a system property to your JVM,
+      | probably on the startup of your servlet engine like this:
+      | -Dorg.apache.excalibur.xml.sax.SAXParser=org.apache.excalibur.xml.impl.XercesParser
+      |
+      | Configuration for the JaxpParser (not the XercesParser!):
+      | - validate (boolean, default = false): This parameter causes the parser
+      |     to be a validating parser.
+      |     XML validation is only being used for the documentation build.
+      |     (If you are going to use it elsewhere, then do so with caution.)
+      |     You really should have validated all of your XML documents already,
+      |     according to their proper DTD or schema. Do not expect Cocoon
+      |     to do it.
+      | - namespace-prefixes (boolean, default = false) : do we want
+      |     namespaces declarations also as 'xmlns:' attributes ?
+      |     Note : setting this to true confuses some XSL processors
+      |     (e.g. Saxon).
+      | - stop-on-warning (boolean, default = true) : should the parser
+      |     stop parsing if a warning occurs ?
+      | - stop-on-recoverable-error (boolean, default = true) : should the
+      |     parser stop parsing if a recoverable error occurs ?
+      | - reuse-parsers (boolean, default = true) : do we want to reuse
+      |     parsers or create a new parser for each parse ?
+      |     Note : even if this parameter is true, parsers are not recycled
+      |     in case of parsing errors : some parsers (e.g. Xerces) do not like
+      |     to be reused after failure.
+      | - sax-parser-factory (string) : the name of the SAXParserFactory
+      |     implementation class to be used instead of using the standard
+      |     JAXP mechanism (SAXParserFactory.newInstance()). This allows to
+      |     choose unambiguously the JAXP implementation to be used when
+      |     several of them are available in the classpath.
+      | - document-builder-factory (string) : the name of the
+      |     DocumentBuilderFactory implementation to be used (similar to
+      |     sax-parser-factory for DOM).
+      +-->
+  <xml-parser class="org.apache.excalibur.xml.impl.JaxpParser" logger="core.xml-parser" pool-grow="4" pool-max="32" pool-min="8">
+    <parameter name="validate" value="false"/>
+    <parameter name="namespace-prefixes" value="false"/>
+    <parameter name="stop-on-warning" value="true"/>
+    <parameter name="stop-on-recoverable-error" value="true"/>
+    <parameter name="reuse-parsers" value="false"/>
+    <!--parameter name="sax-parser-factory" value="???"/-->
+    <!--parameter name="document-builder-factory" value="???"/-->
+    <!-- drop-dtd-comments: causes all comment events originating from DTD
+         comments to be dropped right after parsing -->
+    <parameter name="drop-dtd-comments" value="true"/>
+  </xml-parser>
+
+
+  <!--+
+      | XSLT Processor
+      |
+      | 'incremental-processing' (only works with Xalan) allows the XSLT
+      | processor to start the output of the transformation as soon as possible.
+      | if set to false, the transforer waits until the end of the
+      | transformation to deliver the output.
+      | WARNING: * if you enable incremental-processing, you should be aware of
+      |            the following bug:
+      |            http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13186
+      |          * incremental-processing creates an additional, non-pooled thread.
+      |          * using incremental-processing does not save memory, the input
+      |            tree will still be build completely.
+      |          * incremental processing is a 'static' thing in Xalan: if you
+      |            enable it on one xslt-processor, enable it on all.
+      +-->
+  <xslt-processor logger="core.xslt-processor">
+     <parameter name="use-store" value="true"/>
+     <parameter name="incremental-processing" value="false"/>
+  </xslt-processor>
+
+  <!--+
+      | XSLT Processor using xsltc from Xalan
+      | For Interpreted Xalan use:
+      | <transformer-factory>org.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
+      +-->
+  <component class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl" logger="core.xslt-processor" role="org.apache.excalibur.xml.xslt.XSLTProcessor/xsltc">
+     <parameter name="use-store" value="false"/>
+     <parameter name="transformer-factory" value="org.apache.xalan.xsltc.trax.TransformerFactoryImpl"/>
+  </component>
+  
+  <!--+
+      | Xalan XSLT Processor
+      +-->
+  <component class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl" logger="core.xslt-processor" role="org.apache.excalibur.xml.xslt.XSLTProcessor/xalan">
+     <parameter name="use-store" value="false"/>
+     <parameter name="incremental-processing" value="false"/>
+     <parameter name="transformer-factory" value="org.apache.xalan.processor.TransformerFactoryImpl"/>
+  </component>
+
+  <!--+
+      | Saxon XSLT Processor
+      | For old (6.5.2) Saxon use:
+      |  <parameter name="transformer-factory" value="com.icl.saxon.TransformerFactoryImpl"/>
+      | For new (7.x?) Saxon use:
+      |  <parameter name="transformer-factory" value="net.sf.saxon.TransformerFactoryImpl"/>
+  <component logger="core.xslt-processor"
+             role="org.apache.excalibur.xml.xslt.XSLTProcessor/saxon"
+             class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl">
+     <parameter name="use-store" value="false"/>
+     <parameter name="transformer-factory" value="com.icl.saxon.TransformerFactoryImpl"/>
+  </component>
+  +-->
+
+  <!-- Xpath Processor: -->
+  <xpath-processor class="org.apache.excalibur.xml.xpath.XPathProcessorImpl" logger="core.xpath-processor"/>
+
+  <!-- The XMLizers converts different mime-types to XML -->
+  <xmlizer>
+      <parser mime-type="text/xml" role="org.apache.excalibur.xml.sax.SAXParser"/>
+  <!--..... Start configuration from 'tidy' -->
+
+
+      <parser mime-type="text/html" role="org.apache.excalibur.xml.sax.SAXParser/HTML"/>
+
+<!--..... End configuration from 'tidy' -->
+</xmlizer>
+
+<!-- ============================ Object Stores =========================== -->
+
+  <!--+
+      | Transient Store: holds objects that don't have to survive shutdown
+      +-->
+  <transient-store logger="core.store.transient">
+
+     <!--+
+         | Indicates how many objects will be hold in the cache.
+         | When the number of maxobjects has been reached. The last object
+         | in the cache will be thrown out.
+         +-->
+     <parameter name="maxobjects" value="100"/>
+
+     <!-- Turns swapping of the objects into persistent cache on and off. -->
+     <parameter name="use-persistent-cache" value="false"/>
+  </transient-store>
+
+  <!--+
+      | Persistent Store: holds objects that have to survive shutdown.
+      | WARNING: FilesystemStore is broken. Cocoon uses DefaultStore based
+      | on the Avalon Excalibur JispStore instead.
+      |
+      | Common configuration parameters:
+      |  use-cache-directory: Indicates that cache directory specified in
+      |                       web.xml should be used.
+      |  use-work-directory: Indicates that work directory specified in
+      |                      web.xml should be used.
+      |  directory: Specifies directory to use. Absolute or relative to the
+      |             work directory.
+      |
+      | DefaultStore configuration parameters:
+      |  datafile: Name of the store file to use. Defaults to cocoon.dat
+      |  indexfile: Name of the index file to use. Defaults to cocoon.idx
+      |  order: FIXME: put description here.
+      +-->
+  <persistent-store class="org.apache.cocoon.components.store.impl.DefaultStore" logger="core.store.persistent">
+    <parameter name="use-cache-directory" value="true"/>
+    <parameter name="order" value="2701"/>
+  </persistent-store>
+
+  <!--+
+      | Store Janitor: the store garbage collector and memory usage controller.
+      |
+      | Be careful with the heapsize and freememory parameters. Wrong values
+      | can cause high cpu usage. Example configuration:
+      | Jvm settings:
+      |    -Xmx200000000
+      | store-janitor settings:
+      |    <parameter name="freememory" value="5000000"/>
+      |    <parameter name="heapsize" value="150000000"/>
+      |
+      | It is recommended to have heapsize equal to -Xmx, especially on Sun's
+      | JVM which are unable to shrink its heap once it grows above minimum.
+      | Freememory should be greater than amount of memory necessary for normal
+      | application operation.
+      +-->
+  <store-janitor logger="core.store.janitor">
+     <!-- How much free memory shall be available in the jvm -->
+     <parameter name="freememory" value="1000000"/>
+     <!-- Indicates the limit of the jvm memory consumption. The default max
+          heapsize for Sun's JVM is 64Mb -->
+     <parameter name="heapsize" value="67108864"/>
+     <!-- How often shall the cleanup thread check memory -->
+     <parameter name="cleanupthreadinterval" value="10"/>
+     <!-- Indicates the thread priority of the cleanup thread -->
+     <parameter name="threadpriority" value="5"/>
+     <!-- How much percent of the elements of each registered Store
+          shall be removed when low on memory. Default 10% -->
+     <parameter name="percent_to_free" value="10"/>
+  </store-janitor>
+
+<!-- ========================= Protocol Handlers =========================== -->
+
+
+<!-- ================ Internationalization Catalogs =================== -->
+
+  <!--+
+      | I18n Bundle Factory
+      |
+      | BundleFactory loads Bundles with i18n resources for the given locale.
+      | Bundles are loaded from the 'catalogue_location'. Bundle base name is
+      | 'catalogue_name' value.
+      | If 'cache-at-startup' is true then BundleFactory preloads bundles.
+      +-->
+  <i18n-bundles logger="core.i18n-bundles">
+    <catalogue-name>messages</catalogue-name>
+    <catalogue-location>i18n/translations</catalogue-location>
+    <cache-at-startup>true</cache-at-startup>
+  </i18n-bundles>
+
+<!-- ================ XSP (eXtensible Server Pages) ===================== -->
+
+  <!--+
+      | Program Generator
+      |
+      | The ProgamGenerator builds programs from a XML document written in a
+      | MarkupLanguage.
+      |
+      |    auto-reload: whether the system should check if the source was
+      |                 modified and reload of consequence.
+      |    root-package: the java package to use for the generated classes
+      |    preload: whether the system should preload the necessary components
+      +-->
+  <program-generator logger="core.program-generator">
+    <parameter name="auto-reload" value="true"/>
+    <parameter name="root-package" value="org.apache.cocoon.www"/>
+    <parameter name="preload" value="true"/>
+  </program-generator>
+
+  <!--+
+      | Programming Languages for the XSP pages
+      +-->
+  <programming-languages>
+    <java-language logger="core.language.java" name="java">
+
+      <!-- Specifies which formatter to use to format source code.
+           This parameter is optional.
+           It is commented out because of bug #5689: Java "code-formatter"
+           incorrectly formats double values -->
+      <!--parameter name="code-formatter" value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/-->
+
+      <!-- A singleton-like implementation of a ClassLoader -->
+      <parameter name="class-loader" value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
+
+      <!--+
+          | Specifies which Java compiler to use. Possible variants are:
+          |
+          |  - Javac: the java compiler that comes with JDK
+          |  - Pizza: the Pizza java compiler
+          |  - Jikes: the Jikes java compiler
+          |  - EclipseJavaCompiler: the Eclipse JTD java compiler
+          |
+          | NOTE: the Eclipse JTD is the only java compiler that is capable
+          |       of imports classes thru the context classloader. All other
+          |       compilers import classes from the JVM classpath and might
+          |       normally result in ClassNotFound problems at compilation
+          |       time. It is *HIGHLY* suggested that you use this compiler
+          |       or you might experience problems in some servlet containers.
+          +-->
+      <!--parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Javac"/-->
+      <!--parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Pizza"/-->
+      <!--parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Jikes"/-->
+      <parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.EclipseJavaCompiler"/>
+
+    </java-language>
+
+    <!-- Interpreted JavaScript language -->
+    <js-language logger="core.language.js" name="js"/>
+  </programming-languages>
+
+  <!--+
+      | Logisheets
+      |
+      | This section defines the XSP logicsheets. A logicsheet is a special
+      | XSLT stylesheet used to translate user-defined dynamic markup into
+      | equivalent XSP markup that embeds directives for a given markup
+      | language.
+      |
+      | Logicsheets are the XSP equivalent of taglibs. For info about
+      | the tags included in the default taglibs, please, refer to the
+      | documentation.
+      +-->
+  <markup-languages>
+    <xsp-language logger="core.markup.xsp" name="xsp">
+      <parameter name="prefix" value="xsp"/>
+      <parameter name="uri" value="http://apache.org/xsp"/>
+
+      <!--+
+          | Properties for the java language
+          +-->
+      <target-language name="java">
+        <!-- Defines the XSP Core logicsheet for the Java language -->
+        <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/>
+
+        <!-- The Request logicsheet: access request parameters -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xsp-request"/>
+          <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The Response logicsheet: access response parameters -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xsp-response"/>
+          <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The Session logicsheet: manages and access the session -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xsp-session"/>
+          <parameter name="uri" value="http://apache.org/xsp/session/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/session.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The Cookie logicsheet: manages and access cookies  -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xsp-cookie"/>
+          <parameter name="uri" value="http://apache.org/xsp/cookie/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/cookie.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The Log logicsheet: access the cocoon logs from an xsp page  -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="log"/>
+          <parameter name="uri" value="http://apache.org/xsp/log/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/log.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The Utility logicsheet -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="util"/>
+          <parameter name="uri" value="http://apache.org/xsp/util/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/util.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The xsp-formval taglib serves as interface to retrieve
+             validation results from a request attribute -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xsp-formval"/>
+          <parameter name="uri" value="http://apache.org/xsp/form-validator/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/form-validator.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The sel taglib allows to put multiple pages / view into
+             one xsp. While in general it is good style to put
+             different views into different xsp because they're more
+             easily maintained, this is a useful feature with
+             e.g. with long forms that are broken into parts -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="sel"/>
+          <parameter name="uri" value="http://apache.org/xsp/sel/1.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/sel.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The Action logicsheet -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="action"/>
+          <parameter name="uri" value="http://apache.org/cocoon/action/1.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/action.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The capture taglib is for capturing parts of the XSP-generated
+             XML as XML fragments or DOM nodes -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="capture"/>
+          <parameter name="uri" value="http://apache.org/cocoon/capture/1.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/capture.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The XScript logicsheet -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xscript"/>
+          <parameter name="uri" value="http://apache.org/xsp/xscript/1.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xscript.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The SOAP logicsheet -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="soap"/>
+          <parameter name="uri" value="http://apache.org/xsp/soap/3.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/soap.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The JPath logicsheet -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="jpath"/>
+          <parameter name="uri" value="http://apache.org/xsp/jpath/1.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/jpath.xsl"/>
+        </builtin-logicsheet>
+
+        <!-- The input logicsheet allows easy access to InputModules -->
+        <builtin-logicsheet>
+          <parameter name="prefix" value="input"/>
+          <parameter name="uri" value="http://apache.org/cocoon/xsp/input/1.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/input.xsl"/>
+        </builtin-logicsheet>
+      </target-language>
+
+      <!--+
+          | Properties for the javascript language
+          +-->
+      <target-language name="js">
+        <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/xsp.xsl"/>
+
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xsp-request"/>
+          <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/request.xsl"/>
+        </builtin-logicsheet>
+
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xsp-response"/>
+          <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/response.xsl"/>
+        </builtin-logicsheet>
+
+        <builtin-logicsheet>
+          <parameter name="prefix" value="xsp-session"/>
+          <parameter name="uri" value="http://apache.org/xsp/session/2.0"/>
+          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/session.xsl"/>
+        </builtin-logicsheet>
+      </target-language>
+    </xsp-language>
+  </markup-languages>
+
+  <!-- Xscript -->
+  <xscript logger="core.xscript">
+    <parameter name="xscript:copy-of" value="resource://org/apache/cocoon/components/xscript/xslt/copy-of.xsl"/>
+    <parameter name="xscript:value-of" value="resource://org/apache/cocoon/components/xscript/xslt/value-of.xsl"/>
+  </xscript>
+
+<!-- ====================== System Components =========================== -->
+
+  <!--+
+      | The core classloader implementation
+      +-->
+  <classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl" logger="core.classloader"/>
+
+  <!--+
+      | XML compiler/decompiler
+      |
+      | these components are used to process SAX events and produce a binary
+      | representation that is much more compact and efficient for
+      | subsequent parsing. These are used by the cache system to save
+      | the intermediate results of the pipeline stages reducing the overhead
+      | of xml parsing/serialization.
+      +-->
+  <xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler" logger="core.xml-serializer" pool-grow="4" pool-max="32" pool-min="8"/>
+  <xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter" logger="core.xml-deserializer" pool-grow="4" pool-max="32" pool-min="8"/>
+
+  <!--+
+      | The Monitor keeps track on changes to a Resource.
+      +-->
+  <monitor logger="core.monitor">
+    <thread frequency="10000" priority="5"/>
+  </monitor>
+
+  <!--+
+      | The Cache Manager is a component that can be used to cache content.
+      | It is currently used by the cinclude transformer
+      +-->
+  <component class="org.apache.cocoon.transformation.helpers.DefaultIncludeCacheManager" role="org.apache.cocoon.transformation.helpers.IncludeCacheManager">
+    <!-- Set the preemptive-loader-url to a pipeline inside Cocoon that
+         contains the preemptive loader action. The URL must be absolute! 
+    <parameter name="preemptive-loader-url" 
+               value="http://localhost:8080/cocoon/samples/cinclude/loader"/>
+    -->
+ </component>
+
+
+  <!-- Profiler:
+    The profiler facilitates the gathering of statistics about timings of
+    different steps of pipelines. Profiler consists of several components:
+     profiling pipeline and profiler generator
+    which are used to generate the profile report. You need to enable all of
+    these components to use profiler.
+    -->
+  <profiler results="10"/>
+<!--..... End configuration from 'profiler' -->
+<!--..... Start configuration from 'deprecated' -->
+
+
+  <!--+
+      | URL Factory
+      |
+      | The url factory adds special url protocols to the system, they are then
+      | available inside Cocoon, e.g. as a source argument for one of the sitemap
+      | components.
+      |
+      | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE
+      +-->
+  <url-factory logger="core.url-factory">
+    <!-- Allows access to resources available from the ClassLoader, using getResource() method. -->
+    <protocol class="org.apache.cocoon.components.url.ResourceURLFactory" name="resource"/>
+  </url-factory>
+
+  <!--+
+      | Source Handler
+      |
+      | The source handler adds special url protocols to the system, they are
+      | then available inside Cocoon, e.g. as a source argument for one of the
+      | sitemap components.
+      |
+      | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE
+      +-->
+  <source-handler logger="core.source-handler">
+    <!-- file protocol : this is a WriteableSource -->
+    <protocol class="org.apache.cocoon.components.source.FileSourceFactory" name="file"/>
+    <!-- Allows access to resources available from the servlet context, using getResource() method. -->
+    <protocol class="org.apache.cocoon.components.source.ContextSourceFactory" name="context"/>
+  </source-handler>
+  
+<!--..... End configuration from 'deprecated' -->
+</cocoon>

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logkit.xconf
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logkit.xconf	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,191 @@
+<?xml version="1.0"?>
+
+<logkit>
+  <factories>
+    <factory type="priority-filter" class="org.apache.avalon.excalibur.logger.factory.PriorityFilterTargetFactory"/>
+    <factory type="servlet" class="org.apache.avalon.excalibur.logger.factory.ServletTargetFactory"/>
+    <factory type="cocoon" class="org.apache.cocoon.util.log.CocoonTargetFactory"/>
+  </factories>
+
+  <targets>
+    <cocoon id="core">
+      <filename>${context-root}/WEB-INF/logs/core.log</filename>
+      <format type="cocoon">
+        %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
+      </format>
+      <!--
+        append=false: Will override existing log files on Cocoon startup
+        append=true: Will append to the existing log files
+      -->
+      <append>false</append>
+      <!--
+        rotation: allows you to rotate log files one they meet certain
+                  criteria. In example below, files are rotated once they
+                  are one hour old or bigger than 100 Mb.
+
+      <rotation type="revolving" init="1" max="4">
+        <or>
+          <size>100m</size>
+          <time>01:00:00</time>
+        </or>
+      </rotation>
+      -->
+    </cocoon>
+
+    <cocoon id="sitemap">
+      <filename>${context-root}/WEB-INF/logs/sitemap.log</filename>
+
+      <format type="cocoon">
+        %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
+      </format>
+      <append>false</append>
+    </cocoon>
+
+    <cocoon id="linkrewriter">
+      <filename>${context-root}/WEB-INF/logs/linkrewriter.log</filename>
+      <format type="cocoon">
+        %7.7{priority} (%{uri}): %{message}\n%{throwable}
+      </format>
+      <append>false</append>
+    </cocoon>
+
+    <cocoon id="idgen">
+      <filename>${context-root}/WEB-INF/logs/idgen.log</filename>
+      <format type="cocoon">
+        %7.7{priority} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
+      </format>
+      <append>false</append>
+    </cocoon>
+
+    <cocoon id="access">
+      <filename>${context-root}/WEB-INF/logs/access.log</filename>
+      <format type="cocoon">
+        %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
+      </format>
+      <append>false</append>
+    </cocoon>
+
+    <!-- The logger for the flow layer -->
+    <cocoon id="flow">
+      <filename>${context-root}/WEB-INF/logs/flow.log</filename>
+      <format type="cocoon">
+        %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
+      </format>
+      <append>false</append>
+    </cocoon>
+
+    <!-- The logger for the xmlform components -->
+    <cocoon id="xmlform">
+      <filename>${context-root}/WEB-INF/logs/xmlform.log</filename>
+      <format type="cocoon">
+        %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
+      </format>
+      <append>false</append>
+    </cocoon>
+
+    <!--
+      This log file gets only messages with log level ERROR and below.
+    -->
+    <priority-filter id="error" log-level="ERROR">
+      <cocoon>
+        <filename>${context-root}/WEB-INF/logs/error.log</filename>
+        <format type="cocoon">
+          %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
+        </format>
+        <append>false</append>
+      </cocoon>
+    </priority-filter>
+
+      <cocoon id="debug" >
+        <filename>${context-root}/WEB-INF/logs/debug.log</filename>
+        <format type="cocoon">
+          %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
+        </format>
+        <append>false</append>
+      </cocoon>
+  </targets>
+
+  <categories>
+    <!--
+      log-level: One of DEBUG, INFO, WARN, ERROR, FATAL_ERROR.
+      Log level could be different for every category and subcategory.
+
+      Not all subcategories are defined in this file. Not defined
+      subcategories will be created automatically inheriting settings
+      of the parent subcategory.
+      When defining subcategory manually, it is required to specify log
+      targets, because they are not inherited in this case.
+    -->
+    <category name="core" log-level="WARN">
+      <!-- Startup component manager logger -->
+      <category name="startup" log-level="WARN">
+        <log-target id-ref="core"/>
+        <log-target id-ref="error"/>
+      </category>
+
+      <category name="roles" log-level="WARN">
+        <log-target id-ref="core"/>
+        <log-target id-ref="error"/>
+      </category>
+
+      <category name="instrument" log-level="WARN">
+        <category name="values" log-level="WARN">
+          <log-target id-ref="core"/>
+          <log-target id-ref="error"/>
+        </category>
+        <log-target id-ref="core"/>
+        <log-target id-ref="error"/>
+      </category>
+
+      <!-- Cocoon component manager logger -->
+      <category name="manager" log-level="WARN">
+        <log-target id-ref="core"/>
+        <log-target id-ref="error"/>
+      </category>
+
+      <!-- Cocoon cache and stores logger -->
+      <category name="store" log-level="WARN">
+        <log-target id-ref="core"/>
+        <log-target id-ref="error"/>
+      </category>
+
+      <!-- Cocoon source repository logger -->
+      <category name="repositories" log-level="WARN">
+        <log-target id-ref="core"/>
+        <log-target id-ref="error"/>
+      </category>
+
+      <!-- Cocoon store logger -->
+      <category name="store" log-level="WARN">
+        <category name="janitor" log-level="ERROR">
+          <log-target id-ref="core"/>
+          <log-target id-ref="error"/>
+        </category>
+        <log-target id-ref="core"/>
+        <log-target id-ref="error"/>
+      </category>
+
+      <log-target id-ref="core"/>
+      <log-target id-ref="error"/>
+    </category>
+
+    <category name="sitemap" log-level="WARN">
+      <category name="transformer.idgen" log-level="INFO">
+        <log-target id-ref="idgen"/>
+        <log-target id-ref="error"/>
+      </category>
+      <category name="transformer.linkrewriter" log-level="INFO">
+        <log-target id-ref="linkrewriter"/>
+        <log-target id-ref="error"/>
+      </category>
+
+      <log-target id-ref="sitemap"/>
+      <log-target id-ref="error"/>
+    </category>
+    
+    <category name="debug" log-level="DEBUG">
+        <log-target id-ref="debug"/>
+    </category>
+      
+  </categories>
+</logkit>

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/access.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/core.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/debug.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/error.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/flow.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/idgen.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/linkrewriter.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/sitemap.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/WEB-INF/logs/xmlform.log
==============================================================================

Added: incubator/beehive/trunk/site/build/tmp/context/aggregate.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/aggregate.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Pipeline to generate an aggregated view of all the site's docs.
+
+This subsitemap defines both a source (*.xml) matcher, and a
+linkmap (linkmap-*) matcher to redefine the internal links.
+
+It works by taking site.xml, transforming each page node into a
+CInclude command, and using the CInclude transformer to create
+the aggregated XML.  Some cleverness required to prevent
+duplicate 'id' attributes.
+
+Generates  :  Source XML, Linkmap
+Example URL:  Typically http://localhost:8888/site.pdf
+Used by    :  sitemap.xmap, which binds the URL to this pipeline
+Uses       :  cocoon://abs-linkmap, in linkmap.xmap
+
+$Revision: 1.9 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file"/>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt">
+      <map:transformer name="cinclude" src="org.apache.cocoon.transformation.CIncludeTransformer"/>
+    </map:transformers>
+    <map:matchers default="wildcard"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+      <!-- Aggregation of all XML in the site -->
+      <map:match pattern="*.xml">
+        <map:generate src="cocoon://abs-linkmap"/>
+        <map:transform src="resources/stylesheets/site2book.xsl" />
+        <map:transform src="resources/stylesheets/aggregates/book2cinclude.xsl">
+          <map:parameter name="ignore" value="{1}"/>
+          <map:parameter name="title" value="{conf:project-name} Documentation"/>
+        </map:transform>
+        <map:transform type="cinclude"/>
+        <map:transform src="resources/stylesheets/aggregates/doc2doc-uniqueids.xsl"/>
+        <map:transform src="resources/stylesheets/aggregates/docs2document.xsl"/>
+        <map:serialize type="xml"/>
+      </map:match>
+
+
+      <!-- Special linkmap for pages containing aggregated content.  Links to aggregated content should be internal
+      (fragment identifiers), and other links should be regular hrefs.  The 'split' between these two types is decided
+      by the stylesheet. -->
+
+      <map:match pattern="linkmap-*.*">
+        <map:generate src="cocoon://abs-linkmap" />
+
+        <map:transform src="resources/stylesheets/aggregates/relativize-split-linkmap.xsl">
+          <map:parameter name="path" value="{1}.{2}" />
+        </map:transform>
+        <map:serialize type="xml"/>
+      </map:match>
+
+
+    </map:pipeline>
+
+
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/content/ControlProgramming.pdf
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/content/ControlsOverview.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/ControlsOverview.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,449 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Controls Overview</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+
+<h3>Controls</h3>
+<b>Providing simplified and unified client access to J2EE resources</b><br><Br>
+
+<h3>Table of Contents</h3>
+
+
+<a href="#Overview">Overview	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Complexity">Problem: Complexity -- Learning Curve	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Controls ">Solution: Controls -- Unified Client Programming Model	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="Resource">Problem: Resource Diversity -- Tooling Challenges	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Controls Unified">Solution: Controls -- Unified Tooling Model	</a><br>
+<a href="#Controls Architecture">The Controls Architecture	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Operations">Operations and Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Public">Public Interface / Private Implementation / ControlBean Wrapper	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Flexible">A Flexible Property Model	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Extensibility">Extensibility by Interface	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Contextual">Contextual Services	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Resource Management">Resource Management	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Composition">Composition Model</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Packaging">Packaging Model	</a><br>
+<a href="#Controls Client">The Controls Client Models	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Programmatic">Programmatic Client Model Example	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative">Declarative Programming Model Example	</a><br><br>
+
+<h3><a name="#Overview">Overview</a></h3>
+J2EE provides a rich set of basic building blocks for constructing and interconnecting a distributed Web UI, application or service:  EJBs, JMS, JAX-RPC, JDBC, and JCA, to name a few.  
+<br><br>
+<b>The challenge for corporate developers and for J2EE development tool vendors is that each individual J2EE technology presents a unique set of client APIs, configuration models, and resource management strategies.  </b><br><br>
+
+Because each is unique, the learning curve is high and the potential for tooling and automation is relatively low.
+<br><br>
+Significant progress is being made towards simplifying the authoring model for enterprise application components; but the client access model for developed components remains fragmented.  Where simplification is being pursued, it is being done in a manner that is often resource-specific.   While this approach offers the potential for easier use of any particular resource type, a lack of unification or commonality in the access mechanisms makes it difficult for tools to support the development process and still presents a learning curve for users.
+
+<br><br>
+<b>The Controls architecture provides a common framework and configuration model for how enterprise resources can be exposed to clients.   It does not replace existing resource access models; it provides a unifying layer on top of them to provide consistency and simplification.</b>
+<br><br>
+It is based upon the JavaBeans component model, which was originally developed to be lightweight, executable in variety of environments, and toolable.  It extends the base concepts of JavaBeans to add the new metadata capabilities of JSR-175, an extensibility model that allows the definition of customized and pre-configured views (operations), and a resource management strategy that enables client-side resources (such as stubs, handles, connections, sessions, etc.) to be managed transparently on behalf of the client. 
+<br><br>
+<b>The Controls architecture is designed to be IDE-friendly, so defining and configuring client access to J2EE resources can be a property or wizard-driven process, and can be represented using visual design metaphors.</b><br><br>
+
+It includes a set of metadata attribute/property definition conventions that enables introspection and presentation of available configuration options and value validation.   It provides a JAR-based packaging model, allowing Controls to be easily discovered by tools and assembled into application modules.
+<br><br>
+<b><a name="Complexity">Problem:  Complexity -- Learning Curve</a></b>
+<br><br>
+J2EE provides a rich set of component types, protocols, and system services that can be used to assemble an application or service.   
+<br><br>
+<b>As the scope of the J2EE architectural design space has grown, the complexity of assembling solutions has also grown.  </b>
+<br><br>
+Many of the basic building blocks provide their own set of mechanisms for how J2EE abstractions are accessed, how usage is parameterized, and how resources associated with them (connections, sessions, etc) are managed. 
+<br><br>
+
+An objective of the J2EE community is to expand beyond the Java system software developer that has traditionally built J2EE solutions to enfranchise a new type of developer: the corporate developer.   The corporate developer is often a very strong programmer, but may have significantly less experience with object-oriented design, building distributed systems, and Java/J2EE.   
+<br><br>
+<b>The goal is to enable a collaboration where the base J2EE distributed system architecture and back-end components can be designed and built by the J2EE system software developer, then assembled into exposed web user interfaces, web services, or applications by the corporate or application developer.</b><br><br>
+
+But the complexity and diversity of J2EE client access models stands in direct opposition to achieving this goal.   Depending upon the system architecture and components constructed by the system developer, the application developer might have to learn a variety of new technologies and APIs to work within the architecture.
+<br><br>
+
+Consider a simple example:  A systems developer has built a distributed system where synchronous services are exposed as Enterprise JavaBeans and asynchronous services are exposed via JMS queues.   A corporate developer new to J2EE is tasked with building a web user interface that integrates with these services.
+<br><br>
+To accomplish his task, the corporate developer now has to learn how to:
+<ul>
+<li>Create a JNDI context and lookup resources.  If resources are app-scoped, then how to provide the appropriate deployment descriptor configuration.
+<li>How to use home/business interfaces of exposed EJBs to access business methods, including understanding differences in usage depending upon whether the exposed EJBs are Stateless Session Beans, Stateful Session Beans, or Entity Beans.
+<li>How to obtain JMS connections/sessions, and references to queues.
+<li>How to construct and enqueue a JMS message.
+<li>How to properly manage the resources associated with the above, such that vital system resources (such as connections) are used efficiently and correctly.   The cost of a subtle mistake can be poor system performance or even system failure.
+</ul>
+<br><br>
+What initially appears to be a simple task in the abstract  (call these EJBs or enqueue a message that looks like this) can devolve into hours or days or reading J2EE HowTo books and Javadoc API references, getting the right deployment descriptor values configured, and calling all the right APIs, at all of the right times, in the right order.   In the resulting application or service, often the directly application-related code (i.e. calling the bean business method or building message contents) is a small fraction of the total code required to accomplish the task.  
+<br><br>
+Here is an example of the code required to invoke a single method on an exposed EJB using standard J2EE APIs:
+<br><br>
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Trader trader = null;
+try
+{
+    InitialContext ic = new InitialContext();
+    TraderHome home = (TraderHome)ic.lookup("MyTraderBean");
+    Trader trader = home.create();
+    TradeResult tradeResult = trader.buy(stock, shares);
+     return  tradeResult;
+}
+catch (NamingException ne) 
+{
+	     
+}
+finally
+{
+    if (trader != null)
+        trader.remove();
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+A common solution to this problem is often to task the J2EE professional developer with constructing facades or custom frameworks that hide some of the underlying complexity and resource access mechanisms and provides appropriate guarantees that system resources (connections, sessions, handles, etc) are utilized properly.   But constructing these intermediate abstractions is an inefficient use of (an often scarce and expensive) systems development resources. Depending upon the "thickness" of the intermediate abstractions, this approach can also have performance or application deployment footprint implications.
+<br><Br>
+<b><a name="Solution">Solution: Controls -- Unified Client Programming Model</a><br><br></b>
+Controls reduce the complexity and learning curve associated with acting as a client of J2EE resources by providing a unified client model that can provide access to diverse types of resources.   
+<br><br>
+<b>To the client, Controls appear as JavaBeans that can be instantiated and used for resource access.</b><br><br>
+
+Properties that parameterize resource access can be set using JSR-175 metadata attributes, as arguments to factory-based instantiation, or even bound using externalized configuration data.   These configuration mechanisms are consistent across all resource types, and Controls provide the appropriate mapping to resource-type-specific APIs or deployment descriptor entries.
+<br><br>
+Controls present operations on the resource as methods on the JavaBean interface.  They also support a two-way communication style where resource events can be delivered to a registered listener. 
+<br><br>
+<b>Controls provide a consistent model for discovering the configuration options, operations, and events exposed by a resource. </b><br><br>
+Controls can also provide transparent (to the client) resource management of connections, sessions, or other resources to be obtained on behalf of the client, held for an appropriate resource scope to achieve best performance, and then released.  This resource management mechanism frees the client from having to learn or understand the acquisition mechanisms, and from having to directly participate in guaranteeing their release.   The Controls architecture provides this functionality by defining a simple resource management contract that can cooperate with an outer container to manage resources at the appropriate scope (for example, bounded to a transaction context or outer container operation or request scope).
+<br><br>
+Using a Control that exposes the Trader EJB in the earlier example, the code to invoke the buy() method on this bean can become:
+<br><br>
+The TraderBean Control fully encapsulates the JNDI lookup as well as the home/bean interface operations needed to get an instance of the Trader EJB and invoke the buy() method on it, and exposes the JNDI name of the EJB as a property that can be set either programmatic, via metadata, or using an external deployment descriptor.
+<br><br>
+
+Controls also provide an extensibility model that allows customized view of a resource to be constructed, with discrete operations defined as methods on the control.  For example, it is possible to define a custom operation on a Control type representing a JMS queue resource, that uses metadata attributes to define the format of the message, with message contents set from message parameters.   This enables the professional developer (or even the corporate developer) to construct new customized facades for resource access with a minimum of effort.
+<br><br>
+
+Weblogic Workshop Controls can be considered a "proof of concept" for the Controls architecture.  Workshop Controls have used similar techniques to provide a base mechanism for unified access to:
+<ul>
+<li>Enterprise JavaBeans
+<li>	JMS Queues and Topics
+<li>	Web Services
+<li>	Database Access via JDBC
+<li>Enterprise Resources via JCA
+</ul>
+<b>The goal of the Controls architecture is not to define the standards for how specific resource types will be exposed; rather, it is to guarantee that when exposed they will have a commonality in mechanism that makes them easier to understand and use by developers.</b><br><br>
+<b><a name="Resource">Problem: Resource Diversity -- Tooling Challenges</a><br><br></b>
+Beyond adding to overall complexity, the diversity of J2EE resource types and access mechanisms also makes it difficult for tools to offer assistance to developers who need to use them.  
+<br><Br>
+<b>
+For existing client models, the configuration of resource access is often some combination of resource-specific API usage and deployment descriptor entries.   This generally requires custom IDE code that is knows how to generate the right (resource-specific) code or configuration entries.</b><br><br>
+
+Specific resource types often need custom code in order to define wizards or property-driven user interface that aids in the process of defining a client of the resource.    There is no common mechanism for discovering the potential set of configurable attributes for a resource type.  This means that any graphical presentation of client attributes or wizards must be custom-authored based upon resource type.
+<br><br>
+Once configured, there is the secondary problem of how the IDE represents a configured client resource in source form.  There are at least two potential options:  save the attributes as generated source code and/or deployment descriptor entries that are resource-specific or define a canonical representation that is native to the IDE.   Both are problematic.  Two-way editing can be difficult, if the canonical format is generated source code or descriptors are visible to the end user and directly editable.   Using some IDE-specific canonical representation (either based upon a closed framework or configuration data) means the configured client abstraction isn't portable to other development environments or editable outside of the IDE.
+<br><br>
+Using the IDE to develop directly to native resource APIs or descriptor formats is also lacking in that it doesn't necessary have an associated constraint or extensibility model.  If a resource should be consistently accessed with a particular configuration or expected semantics, there is no good way to describe resource constraints for clients or to enforce that they are followed.   A concrete example is a JMS queue where it is expected that messages will always conform to a specific format or contain an expected set of properties.   There is no good way of representing this constraint to the client, or of enforcing that it consistently following, short of runtime errors when it is not.
+<br><br>
+The lack of a single canonical representation also makes it difficult for the systems developer to collaborate with the corporate developer, short of constructing and exposing custom facades for client access.   But even then, there is the IDE problem of knowing what facades are available, and how they should be configured and used once selected.   
+<br><br>
+<b>Without any well-defined source format for representing client resource configuration, packaging models, or discovery mechanisms, there is no non-proprietary way for the IDE to present the notion of configured resources, nor to pre-configure client access to resources.</b><br><br>
+<b><a name="Controls Unified">Solution: Controls == Unified Tooling Model</a><br><br></b>
+Controls, like the JavaBeans upon which they are built, are designed for tooling.  Beyond the common programming model presented to developers, Controls also offer resource discovery and property introspection mechanisms that allow an IDE to locate available Controls and present and interactively configure their properties.   
+<br><Br>
+<b>Because Controls expose operations, events, and properties using common mechanisms, an IDE can support client use cases based upon these mechanisms as well as a common authoring model for defining new types of Controls, without the need for a large amount of resource-specific code.</b><br><Br>
+Using a common client model allows a single base of IDE code to allow the use of a variety of resource types, based upon introspection.    Using a shared model (and code) for presenting and configuring client access also results in a consistent user experience when working with resources, both on the client and authoring side.   While the developer might be using a diverse set of resources in the course of building a user interface, service, or application, the learning curve from a user interaction perspective can be reduced in the same way that it is reduced from an API perspective by having a common model.
+<br><br>
+<b>Controls extend the base properties support of JavaBeans to add support for metadata-based (JSR-175) attributes, constraints, and an extensibility model, allowing an IDE to define new Control types that are pre-configured for specific resource access use cases.</b><br><br>
+The earlier programming example showed a simple customized Control defined to access an Enterprise JavaBean advertised at a particular JNDI location.    This example could easily have been constructed by an IDE using JMX to explore advertised EJBs on a J2EE server, and then generating the necessary Control definition that exposes the EJB with the specific home/business interfaces represented as operations on the bean and the correct JNDI location pre-configured as an attribute.
+<br><br>
+The Controls architecture supports the definition of configuration options list for a particular Control type.  This lists the base set of properties that are associated with the type and can be used to:
+<ul>
+<li>Specify the attributes in the set that can be configured using JSR-175 metadata, and the syntax for doing so.  This enables an IDE to present property-style selection of metadata-based attributes and values, as well as providing the ability to validate the annotations on any usage of the type and relationships between annotations.
+<li>Specify the attributes in the set that should be settable dynamically using property getters/setters on instances of the type.  This can be used to support auto-generation of Control types with property accessors based upon the attribute set.
+<li>Derive a schema for representing the configuration of the attribute set using XML.  These can be used in common tools for state management (to persist the representation of a Control instance and its attributes as XML) as well as in an externalized configuration mechanism that allows attributes to be bound externally using deployment descriptor-style configuration files.   This makes the construction of instance introspectors and administrative tools much more straightforward, as compared to using ad-hoc deployment descriptor formats.
+</ul>
+<br><br>
+Controls also provide a JAR-based packaging mechanism, for how Control types can be discovered within a jar.
+<br><br>
+<b>The Controls architecture provides a well-defined packaging model that enables system vendors, 3rd party providers, or J2EE system developers (in the collaborative scenario) to distribute controls that offer client access to provided services or components.  An IDE can then discover packaged controls to present them in a palette or list of available resource types for client use.</b><br><br>
+<h3><a name="Controls Architecture">The Controls Architecture</a></h3>
+The following picture shows the basic runtime architecture and the relationships between a resource client, the associated Control, and the accessed J2EE resource:
+<br><br>
+<img src="images/ControlsOverview_1.gif">
+<br><Br>
+The Resource Client represents user code in a web application, service, or application that needs access to the J2EE resource.     The Resource Client and supporting Control will always live in the same virtual machine and communicate directly using local Java method invocation.   The accessed resource may or may not reside within the same virtual machine, depending upon the nature of the resource and the application server environment.
+<br><br>
+Dynamic property accessors and resource operations are exposed on the Control and used by the client to initiate resource access.    Data from the resource may be returned as return values from operations or fired as events on the bean event interface to registered listeners.
+<br><Br>
+Resource access may be parameterized by JSR-175 metadata declared directly on the Control instance, class, or method declarations, or by properties provided to the factory-based constructor.   In addition to this, there is an external configuration model for how properties can be bound from external configuration (ex. deployment descriptors), enabling deploy-time binding of attributes.   Examples of resource attributes that might be parameterized by metadata or external configuration or JNDI names associated with resources, resource or protocol configuration, message formats, etc.
+<br><br>
+The Control itself will often hold a reference to a resource proxy associated with the accessed resource, and will use the proxy to enact operations requested by the client.  Examples of resource proxies are EJB home or remote stubs, JMS connections or sessions, web service client proxies, etc.   The Control manages the state and lifetime of this proxy reference, coordinated by a set of resource management notification events that are provided to it indicating how long the proxy resources can be held by an outer container that determines the resource scope.
+<br><br>
+The actual communication between the resource proxy and the resource itself is generally a function of the underlying resource.   For EJBs, it might reflect communication via RMI or local Java invocation, for web services it might be service invocation based upon JAX-RPC/SOAP, etc.
+<br><br>
+The following sections describes some of the key features and attributes of the Controls Architecture:
+<br><br>
+<b><a name="Operations">Operations and Events</a></b><br><br>
+Controls support a two-way interaction style with resource clients. The set of operations callable by the client are defined on the base public interface for the control, and the set of possible callbacks (events) that might be delivered back to the client from the resource are defined, by convention, on an optional inner Callback interface of the base public interface. 
+<br><br>
+Here is a simple example that represents the client interface to a timer service resource: 
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+public interface TimerControl extends Control
+{ 
+    public void start() throws IllegalStateException; 
+    public void stop(); 
+    public interface Callback 
+    { 
+        public void onTimeout(long time); 
+    } 
+} 
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, TimerControl is the base public interface for timer Control. The TimerControl supports operations related to setting and using a timer (start, stop), as well as a single event (onTimeout) that will be delivered when the timer fires. 
+<br><br>
+<b><a name="Public">Public Interface / Private Implementation / Bean Wrapper </b></a><br><br>
+The definition of a new resource type in the Control architecture is composed of three distinct classes:
+<ul>
+<li>The public Control Public Interface defines the set of operations and events that are exposed for the resource type.   In the earlier TimerControl example, TimerControl is the public resource interface for the timer service resource.
+<li>The private Control Private Implementation class provides the implementation of resource operations as well as proxy resource management.  In the TimerControl example, there would be a class (TimerControlImpl) that provides the implementation of the timer operations using the supporting resources of a J2EE timer service.
+<li>The Control Bean Wrapper class is the JavaBean wrapper around the implementation class that provides the property accessor implementation, per-instance storage of dynamic properties, and property resolution services.  It performs event listener routing and initialization of contextual services and nested Controls.
+</ul>
+The relationship and functions of these classes is summarized in the following diagram:
+<br><Br>
+<img src="images/ControlsOverview_2.gif">
+<br><br>
+The following picture shows how these 3 classes work together to fulfill the runtime responsibilities shown in the earlier architecture diagram:
+<br><br>
+<img src="images/ControlsOverview_3.gif">
+<br><Br>
+<b><a name="Flexible">A Flexible Configuration Model</b><br><Br></a>
+A key aspect of the Controls architecture is a flexible configuration model for how resource access attributes will be resolved.    Properties can be used to parameterize resource access, providing attributes such as JNDI names for local resources, web service URLs, connection attributes, etc.
+<br><Br>
+It must be possible to introspect a bean and set the available set of properties.   Additionally, Controls need to move beyond the traditional property setter/getter to provide some additional capabilities:
+<ul>
+<li>Enables the assignment of Control properties using JSR-175 metadata attribute declarations on Control classes, instances, or methods.
+<li>Provides a consistent externalized property binding model, so resource attributes can be managed without requiring changes to source code.
+</ul>
+The three property configuration mechanisms (programmatic property accessors on the Control, JSR-175 metadata on Control declarations, and external deployment descriptor-style configuration) have a well-defined property resolution precedence that is implemented and enforced by the Control base implementation.  
+ The precedence (from highest to lowest) is:
+<ul>
+<li>Programmatically set property value
+<li>Externally configured property value
+<li>Metadata-defined property value</ul>
+<br><br>
+In other words, the resource client can override a value defined by either externalized configuration or metadata, and a value defined in externalized configuration can override a metadata-defined value.
+<br><br>
+To ensure that this flexibility is not misused where it is not desirable, it is also possible to declaratively specify the mechanisms that can be used to set attribute values.   So an attribute could be marked as 'read-only' from a programmatic perspective, and would only have a getter and not a setter, or a metadata-based attribute could be marked as bound in a 'final' way that prevents override by either external configuration or programmatic mechanisms.    This is useful in the previously described collaborative scenario, where the J2EE Systems Developer who is responsible for resource access definitions via Controls might want to constrain the flexibility that the consumer (the Corporate Developer) has in modifying those definitions upon use.
+<br><br>
+
+In the earlier TimerControl example, an attribute might exist to set the timeout value of the timer.   For this attribute, it should be possible to set the value programmatically, externally, or using declarative annotations.
+<br><br>
+The declaration of the TimerControl JSR-175 attribute and member might look something like:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Package com.myco;
+public @interface Timer {
+
+    /** @return timeout Duration as string */
+    @AccessModes (property-style=true, external=true) String timeOut();
+
+  }
+</pre>
+</td></tr>
+</table>
+<br><br>
+This defines a metadata attribute (com.myco.Timer) that has a String member value named 'timeOut'.   The AccessModes meta-attribute specifies that the member can be set via JavaBean property-style accessors and external configuration, as well as using declarative metadata.
+<br><br>
+An example of setting the timeOut member of the Timer metadata attribute inside of client code might look like:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre> @Timer(timeout="3 seconds")
+public TimerControlBean myTimerBean; 
+</pre>
+</td></tr>
+</table>
+<br><br>
+Because the AccessModes attribute indicates that a property-style accessors are enabled, the TimerControlBean will also advertise the following JavaBean property accessor methods:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>  Public String getTimeOut();
+public void setTimeOut(String timeout);
+</pre>
+</td></tr>
+</table>
+<br><br>
+This accessor could be used from client code, as in the following example:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+myTimerBean.setTimeout("3 seconds");
+</pre>
+</td></tr>
+</table>
+<br><br>Finally, there will also be a derived XML schema for external configuration of the Control based upon the set of properties that are defined as externally configurable.  This schema is derived from the metadata attribute definition, not authored directly.
+<br><br>
+The configuration of the timeout member based upon external configuration would look something like:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>&#8230;
+	     &lt;timer:timer xmlns:timer="http://openuri.org/com/myco/TimerControl"&gt;
+             &lt;timer:timeOut>3 seconds&lt;/timer:timeOut&gt;
+    &lt;/timer:timer&gt;
+&#8230; 
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="Extensibility">Resource Views: Extensibility by Interface</a></b><br><br>
+Controls also support an extensibility model that allows operations on a resource to be defined using a customized interface that extends the base public resource interface, and defines metadata-annotated operations on the resource.   This enables the construction of "views" or specific resource use cases, defining a more-specific set of resource operations or events.
+<br><Br>
+As an example, imagine there is a basic DatabaseControl that provides simplified database access using JDBC, and hides and manages the details of how JDBC connections are acquired and released from the client programmer.
+<br><Br>
+This Control could also define an extensibility model that allows the execution of JDBC PreparedStatements as operations on an extended interface, and marshals the returned ResultSet back to native Java types.   When extended in this manner, the resulting extended control presents a view of the JDBC resource as a set of methods that result in the execution of predefined PreparedStatements.
+<br><br>
+An example of the customized interface for this Control might look like: 
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+public interface CustomerDatabase extends ControlExtension, DatabaseControl 
+{ 
+         @sql  statement="INSERT INTO CUSTOMERDB (ID, NAME) VALUES ({id}, {name})" 
+        int newCustomer(int id, String name) throws SQLException; 
+ 
+       @sql statement="SELECT * FROM CUSTOMERDB WHERE ID = {id}" 
+        Customer findCustomer(int id); 
+} 
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this simple example, each operation on the interface corresponds to a SQL prepared statement to be executed. Metadata attributes on the methods are used to define the additional semantics required, in this case the actual SQL statement to invoke.
+<br><br>
+Support for Extensibility by Interface is optional.   The Control author has full control of whether extensibility is or is not supported, as well as the ability to define and implement resource-specific semantics associated with extended operations on the control type.
+<br><Br>
+<b><a name="Contextual">Contextual Services</b><br><Br></a>
+Given their use case (resource access), it should be possible to use Controls from a variety of different runtime contexts: within web tier containers (servlets, JSP, JSF), within web services, standalone Java applications, even from within EJBs.  Given this diverse set of contexts, Controls need to have a flexible model for how they integrate with any outer container or component model and for how services will be obtained from them. 
+<br><BR>
+Controls may need access to contextual services to support resources.  One example of client-side contextual services might be security services to access a credential repository or to provide data encryption/decryption services.
+Services may be contextual, because the actual implementation might vary based upon the type of container in which the Control is running.   As an example, a security contextual service might provide different implementations for Controls running in the EJB tier (by delegating to an enclosing EJBContext) vs. Controls running in the Servlet container vs. Controls running in a standalone Java application.
+<br><Br>
+Contextual services can also define an event model, so contextual services can also declare and fire events on Controls that have registered in interest.   As an example, a basic ControlContext contextual service is provided as part of the base Controls architecture.  This contextual service provides common services for Controls, such as access to properties, as well as a set of lifecycle events for Controls.
+<br><Br>
+The discovery and implementation model for Controls Contextual Services will be based upon the JavaBeans Runtime Containment and Services Protocol  (Glasgow) (<a href="http://java.sun.com/products/javabeans/glasgow/#containment">http://java.sun.com/products/javabeans/glasgow/#containment</a>) that is already shipping as part of J2SE.
+<br><br>
+<b><a name="Resource Management">Resource Management</a></b><br><Br>
+The Controls architecture defines a unique set of lifecycle events and a resource management contract between Controls and the execution container they are running within.   There are three primary motivations for this:
+<ul>
+<li>To enable the Control implementation to implicitly obtain supporting client-side resources (connections, sessions, etc) on behalf of the client.
+<li>	To enable the Control to hold these client-side resources for an appropriate resource scope (across multiple client invocations) to achieve optimal performance and utilization of resources
+<li>To ensure that client-side resources obtains on behalf of the client are consistently released at the end of the appropriate resource scope.
+</ul>
+The key is that resource management should be transparent to the client.   The Control resource management design makes the Control implementation class the responsible party, instead of the placing this burden upon the client of the resource, which is the common approach associated with most J2EE resource types.
+<br><Br>
+This is achieved by defining two basic lifecycle events that will be delivered to the Control Implementation Class:
+<ul>
+<li>onAcquire:  the onAcquire event is delivered to a resource implementation on the first client invocation within a resource scope.   This provides an opportunity to obtain any basic client-side resources necessary to support operations on the Control.   For example, a Control that was providing access to a JMS queue might use the onAcquire event to obtain a JMS connection, session, and a reference to the target queue.
+<li>onRelease: the onRelease event is guaranteed to be delivered to every control implementation instance that has received an onAcquire event during the current resource scope, at the end of that scope.   This provides the opportunity to release any of the resources obtained during onAcquire event processing.   In the previous example, the JMS connection and session could be appropriately closed and the queue reference reset to null.
+</ul>
+<br><Br>
+The definition of resource scope is delegated to the outer container within which the Control is executing.   For example, if the Control is executing within the web tier, the resource scope might be bounded by the duration of processing of the current http request.  For a Control running in the EJB tier, the resource scope might be the current EJB method invocation or possibly even by the current transaction context.
+<br><Br>The following diagram shows the basic mechanics of this contract:
+<br><Br>
+<img src="images/ControlsOverview_3.gif">
+<br><BR>
+The Client Container has two basic responsibilities:  to maintain an accumulated list of Controls that have acquired resources, and to invoke releaseResources API on each of them at the end of the appropriate resource scope.  The Control Bean is responsible for delivering the onAcquire event to the Control Implementation instance, for notifying the Client Container that resources have been obtained, and for delivering the onRelease event to the implementation when notified by the Client Container.
+<br><Br>
+This diagram also demonstrates the transparency of resource management to client code itself; the client is only invoking operations, and all of the necessary underlying resource management is done by interactions between the Client Container, Control Bean, and Control Implementation.
+<br><Br>
+<b><a name="Composition">Composition Model</a></b><br><BR>
+The Controls architecture also supports a composition model, so it is possible to define a Control type that nests another Control type.   This makes it possible to extend a physical resource abstraction with a logical abstraction that lives entirely on the client side.   Composition is useful for the construction of facades or to add additional client side operations, events, or state to the nested Control abstraction.
+<br><br>
+Composition of Controls is supported using the mechanisms defined by the JavaBeans Runtime Containment and Services Protocol  (Glasgow).
+<br><Br>
+<b><a name="Packaging">Packaging Model</b></a><br><BR>
+The Controls architecture provides a simple JAR-based packaging model that enables Controls to be packaged for distribution.   The model defines a simple manifest file that describes the set of Controls within a jar.   Tools can quickly introspect and build palettes of available controls based upon this packaging model.  
+<br><br>
+It should be possible to place Control jar files at a variety of classloader scopes (system, application, or module) for client use cases.
+<br><br>
+<h3><a name="Controls Client">The Controls Client Models</h3></a>
+The Controls architecture actually offers two related client models with slight different characteristics:
+<ul>
+<li>	A programmatic client model, where the client explicitly specifies Control instance attributes to factory-based constructors, and does direct registration of event listeners and event handling.
+<li>	A declarative client model, where Control instance attributes are specified using JSR-175 metadata, and event routing is implicit based upon a set of basic naming conventions.
+</ul>
+The two offer the same basic functionality; but in the programmatic model the client takes explicit responsibility for construction of Control instances and event routing;  in the declarative model, the Control container provides initialization and routing services on behalf of the client.   The programmatic model directly exposes the details of how initialization and event handling takes place; it is likely a more comfortable environment for the professional developer or one who is already comfortable with constructing and handling events from JavaBeans.   The declarative model hides many of these details, making it much easier for corporate developers (and development tools) to quickly declare and configure Control instances and create event handling code to service events.
+<br><br>
+<b><a name="Programmatic">Programmatic Client Model</a><br></b><br>
+The programmatic client model follows the basic pattern of JavaBeans construction and event handling:
+
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+TimerControlBean myTimerBean = (TimerControlBean)ControlBean.instantiate(
+                                                                     classloader,  "com.myco.TimerControlBean");
+myTimerBean.setTimeout("3 seconds");
+myTimerBeans.addTimerControlEventListener(
+     new TimerControlEventListener()    // anonymous event handler class
+     {
+         public void onTimeout(long time)
+         {
+         // timer event handling code
+       }
+     } );	
+</pre>
+</td></tr>
+</table>
+<br><br>
+In the example above, a factory-based instantiation API (Controls.instantiate()) is used to construct a new instance of the TimerControlBean.   It is programmatically initialized to the desired configuration, and then an event handler (based upon the declaration of an anonymous inner class) is used to service events from the bean.
+<br><br>
+<b><a name="Declarative">Declarative Programming Model</a><br></b><br>
+The following example is equivalent to the preceding example, but uses declarative style construction and event routing:
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>@Timer(timeout="3 seconds") TimerControlBean myTimerBean;
+
+
+
+public void myTimerBean_onTimeout(long time)
+{
+    // timer event handling code
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, the TimerControlBean instance is declared with attributes specified using JSR-175 metadata.   There is no implicit construction of the bean instance; the client container for the ControlBean will recognize the presence of the Control declaration and will implicitly initialize the instance.    Additionally, it (also implicitly) declares the necessary event listener class and routing code to deliver onTimeout events on the TimerControlBean instance to the declared event handler.
+
+
+
+</body>
+

Added: incubator/beehive/trunk/site/build/tmp/context/content/ControlsProgramming.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/ControlsProgramming.html	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1774 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Controls Authoring and Client Model</title>
+<link type="text/css" href="skin/page.css" rel="stylesheet">
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+
+<h3>Controls</h3>
+<b>Authoring and Client Model Overview</b><br><Br>
+<h3>Table of Contents</h3>
+<a href="#Overview">Overview</a><br>
+<a href="#Example">	An Example</a><br>
+<a href="#Control Authoring">	The Control Authoring Model	</a><br>
+<a href="#Control Client">	The Control Client Models	</a><br>
+<a href="#Defining">Defining a New Control Type	</a><br>
+<a href="#Instantiating">Instantiating a Control</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative">Declarative Instantiation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Programmatic">Programmatic Instantiation	</a><br>
+<a href="#Operations">Operations	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DeclaringImplementing">Declaring and Implementing Operations for a Control</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#InvokingOperations">Invoking Operations on a Control	</a><br>
+<a href="#Events">	Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declaring Events">Declaring Events</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Firing Events">Firing Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Listening">Listening for Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative">Declarative Implementation of Event Handling	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Programmatic Implemantation">Programmatic Implementation of Event Handling	</a><br>
+<a href="#Contextual">	Contextual Services	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative Access">Declarative Access to Contextual Services</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ProgrammaticAccess">Programmatic Access to Contextual Services	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Tradeoffs">Tradeoffs between Declarative and Programmatic Access	</a><br>
+<a href="#Properties">Properties	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declaring Properties">Declaring Properties for a Control Type	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Accessing Properties">Accessing Properties from Client Code	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Accessing Properties Control">Accessing Properties from Control Implementation code	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#External Config">External Configuration of Control Properties	</a><br>
+<a href="Extensibility">	Extensibility	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Defining Extended">Defining an Extended Interface for a Control Type	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Defining Extension">Defining Extension Semantics for a Control Type	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Authoring">	Authoring an Extensible Control Type	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Client Model">Client Model for Using an Extended Control Type	</a><br>
+<a href="#Composition">Composition	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Composition Declarative">Composition Using Declarative Instantiation	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Composition Programmatic">Composition using Programmatic Mechanisms	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Internal Architecture">Internal Architecture for Composition and Services	</a><br>
+<a href="#Context Events">Context Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Life Cycle">Life Cycle Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#onCreate">The onCreate Event	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#onAcquire">The onAcquire Event	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#onRelease">The onRelease Event	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Receiving Life">Receiving Life Cycle Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Declarative Life">	Declarative Access to Life Cycle Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Programmatic Life">Programmatic Access to Life Cycle Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#JavaBean">	JavaBean Context Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#PropertyChange">PropertyChange Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Membership">	Membership Events	</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	<a href="#Context Services">Context Services Events	</a><br>
+<a href="#AppendixA">Appendix A:  The JmsMessageControl Public Interface	</a><br>
+<a href="#AppendixB">	Appendix B:  The JmsMessageControl Implementation Class	</a><br><br>
+
+<h3><a name="#Overview">Overview</a></h3>
+The Control architecture is a lightweight component framework based upon JavaBeans, which exposes a simple and consistent client model for accessing a variety of resource types.   Controls take the base functionality of JavaBeans and add in the following unique new capabilities:
+<ul>
+<li>	Enhanced authoring model: uses a public interface contract and an associated implementation class to enable generation of a supporting JavaBean class for handling the details of property management and initialization. 
+<li>	Extensibility model:  enables the construction of views and custom operations (with implied semantics) on the Control using metadata-annotated interfaces.  
+<li>JSR-175 metadata attributes and external configuration data: provides an enhanced configuration model for resource access.
+</ul>
+This document focuses on the Controls programming and configuration model from two distinct perspectives:
+<ul>
+<li>The authoring and extensibility model for defining a new type of Control
+<li>	The client access model for declaring and using Controls
+</ul>
+An overview of the Control architecture and toolable access models can be found in the companion document entitled "Controls:  Providing Simplified and Unified Access to J2EE Resources".
+<br><br>
+<h3><a name="#Example">An Example</a></h3>
+In the course of describing the programming model for Controls, this document builds upon an example Control that simplifies the enqueueing of JMS messages with a specific format and set of properties.    Once completed, client code to accomplish this should be as straightforward as:
+<br><Br>
+Enqueueing using OrderQueueBean (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+OrderQueueBean orderBean = (OrderQueueBean)
+                                                           java.beans.Beans.instantiate("org.apache.beehive.controls.examples.OrderQueueBean");
+Order order = new Order(myID, new String [ ] {"item1", "item2"};
+OrderBean.submitOrder(order, "01-28-2004");
+</pre>
+</td></tr>
+</table>
+<br><br>
+This document starts with a brief overview of the Control Authoring and Client Programming Models to establish some basic context, eventually building to enable the example above.
+<br><Br>
+<h3><a name="#Control Authoring">	The Control Authoring Model</a></h3>
+This section describes the basic authoring model for Controls.  This includes a description of the following elements:
+<ul>
+<li><strong>Control Public Interface:</strong> source file that defines the set of operations, events, extensibility model, and properties associated with the Control type.
+<li><strong>Control Implementation Class:</strong> source file that provides the implementation of the operations and extensibility model described by the Control Public Interface.
+<li>	<strong>ControlBean Generated Class:</strong> code-generated JavaBean class that is derived from the Control Public Interface and the Control Implementation Class by a Control compiler.
+</ul>
+This authoring model is a departure from the traditional JavaBeans programming model, which is largely based upon a set of conventions that a bean author is expected to follow when constructing a new JavaBean type.    In the Controls model, the author defines operations, events, and properties in an interface (Control Public Interface) and builds an underlying implementation (Control Implementation Class).   A Control compiler takes these two elements and generates a specialized type of JavaBean (ControlBean Generated Class), which represents the full client programmer's view of the Control.
+<br><br>
+ There are two primary advantages of this model:
+ <ul>
+<li><strong>Simplicity.</strong>   A key goal of any ease-of-use programming model is to free the developer from worrying about plumbing.  Managing property values, event listener lists, and other basic JavaBean functions are fairly rote from implementation to implementation. The Controls architecture employs a unique variant of the Inversion of Control (IoC) design pattern based on JSR-175 metadata.  This enables a Control Implementation Class to declaratively specify the events or services it requires to provide its semantics.  The ControlBean Generated Class acts as a lightweight container to provide contextual hookup and implementation details.
+<li><strong>Consistency.</strong>   Instead of trying to provide consistency through convention, the Control compiler provides both verification and code generation services to ensure that the resulting implementation provides consistent APIs and behaviors for clients, tools, and application deployers or administrators.
+</ul>
+The relationship between these three elements is shown in the following diagram:
+<br><br>
+<img src="images/ControlsProgramming_1.gif">
+<br><Br>
+The client will interact with the Control by invoking operations defined on the Control Public Interface or dynamic property accessor methods on a ControlBean instance.   The client can also express interest in any events the Control might generate by registering a listener to receive them.
+<br><Br>
+The following diagram represents the relationship between the Control Public Interface, the Control Implementation Class, and the ControlBean Generated Class:
+<br><Br>
+<img src="images/ControlsProgramming_2.gif">
+<br><Br>
+The Control Public Interface defines the operations on the Control and will be implemented by both the Control Implementation Class and the ControlBean Generated Class.  The ControlBean Generated Class will also define property accessor methods and internally will maintain the state of property values.    It will also maintain a reference to one (and only one) Control Implementation instance.   The Control Implementation instance, wrapped by a bean instance, provides the actual implementation of resource semantics for the Control.
+<br><br>
+The subsequent sections will outline the various characteristics of Controls:
+<ul>
+<li>Declaration/Instantiation
+<li>Operations
+<li>	Events
+<li>	Contextual Services
+<li>	Properties
+<li>	Extensibility
+<li>	Composition
+<li>Context Events
+</ul>
+Where applicable, the aspects of each of these characteristics will be explored in two dimensions:  from the perspective of  a Control author who is defining a new type of Control, and from the perspective of a Control client that is using the services of an available Control  type.
+<br><br>
+To make the descriptions more concrete, the characteristics will be presented within the context of a sample Control:  the JmsMessageControl.   This Control will provide a simplified client access model for enqueuing messages to a JMS queue or topic, freeing the client from having to learn the nuances of JMS client programming.
+<br><br>
+<a name="#Control Client"><h3>The Control Client Models</h3></a>
+There are actually two distinct programming models that may be available to clients of Controls:
+<ul>
+<li>	<strong>Declarative Model. </strong>  Uses a metadata-based variant of the Inversion of Control (IoC) design pattern to allow a component author to declare Control instances, contextual services, and event handlers using annotated fields and methods.   The declarative model simplifies client programming, because many of the details of initialization and event routing are left to an external container supporting the model.   A declarative programming style is also more toolable, since it is much easier for tools to manage and manipulate metadata rather than code.
+<li><strong>Programmatic Model.</strong>    Uses the traditional JavaBean-style APIs for acting as a client of a bean, including factory-based constructor and event listeners.  The programmatic model may be more comfortable to the traditional Java programmer, who wants to see and be in control of all the details.   It also enables client use cases where there is no supporting container for the declarative model.
+
+</ul>
+The programmatic client model is generally available in all contexts where Controls might be used.   It offers full generality, but leaves many of the details up to the client programmer, such as initialization, composition, and event handling wire-up.
+<br><Br>
+The declarative model hides many of these details. Based upon its use of metadata it is also more tool friendly, allowing tools to present a view of the client code without code analysis. 
+<br><Br> 
+The declarative model requires support of an outer container or construction-time code that fulfills the contract implied by annotations on a client class.   
+<br><BR>
+The ControlBean itself provides this support, so the Control Authoring Model is oriented towards using the declarative model, although programmatic equivalents are generally available.
+<br><BR>
+<a name="#Defining"><h3>Defining a New Control Type</h3></a>
+Controls are designed to make it very easy for users (and tools) to define new types of Controls.   Control authors might be:
+<ul>
+<li>	System vendors exposing specific types of resources
+<li>	Application developers defining new types of logical resources (possibly based upon physical ones)
+<li>	Third-party software vendors, using Controls as a mechanism to interface to components or subsystems they provide.
+</ul>
+In all instances, the goal of the Controls authoring model is to provide a basic set of conventions and supporting tools to make it easy to author a new Control type.
+<br><br>
+To get started, a Control author would define the two basic artifacts: 
+<ul> 
+<li>the Control Public Interface
+<li>	the Control Implementation Class</ul>
+For the JmsMessageControl, the declaration of the public interface might look like:
+<br><BR>
+Interface Declaration (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+@ControlInterface
+public interface JmsMessageControl
+{
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The only basic rule for a Control Public Interface is that it must be annotated by the  org.apache.beehive.controls.api.bean.ControlInterface marker interface.
+<br><Br>
+The second source artifact a Control author would create to define a new type of Control is the Control Implementation Class.   This declaration of the implementation class for our JmsMessageControl would look like:
+<br><BR>
+
+Class Declaration (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{ 
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+package org.apache.beehive.controls.examples;
+
+public class JmsMessageControIBean implements JmsMessageControl
+{
+   private JmsMessageControlImpl _impl;
+
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+As shown above, the ControlBean Generated Class will also implement the Control Public Interface.   The sample also shows that the bean will hold a private reference to an implementation instance used to support the bean.
+<br><br>
+<h3><a name="#Instantiating">Instantiating a Control</a></h3>
+This section covers the client mechanisms for creating a new instance of a Control.   This can be done either programmatically or declarative, if running inside a container that support declarative initialization.
+<br><br>
+<b><a name="#Declarative">Declarative Instantiation</b></a><br>
+The client model for Controls supports a declarative model for instantiating a Control instance, when running in containers that support this model.    In this model, the client class can annotate fields on the class using a special marker annotation (org.apache.beehive.controls.api.bean.Control) that indicates that the fields should be initialized to a ControlBean instance of the requested type.
+<br><Br>
+Here is an example of declarative instantiation:
+<Br><BR>
+Declarative Instantiation (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Import org.apache.beehive.controls.api.bean.Control;
+
+public class PublisherControlImpl extends PublisherControl
+{
+     @Control 
+     public JmsMessageControlBean myJmsBean;
+
+     &#8230;
+
+    public void someOperation()
+    {
+        myJmsBean.sendTextMessage("A Text Message");
+    }
+}
+
+</pre>
+</td></tr>
+</table>
+<br><br>
+This example shows a second Control Implementation Class (PublisherControlImpl) that internally uses the services of JmsMessageControl to enqueue a JMS message.   The child Control field is not explicitly initialized within the PublisherControl implementation class; by the time someOperation() is called, it is guaranteed that the myJmsBean reference has been initialized by the wrapping PublisherControlBean that contains the implementation.
+<br><Br>
+It is also possible to parameterize the attributes of a Control at construction time, again using metadata attributes.   These attributes can be placed on the field declaration (in addition to the @Control annotation) and will be used to do construction-time initialization.<br><br>
+
+The second example below shows initialization of the myJmsBean field again.  In this case, an initial value of the @Destination "name" attribute is also provided using JSR-175 metadata:
+<br><br>
+Declarative Instantiation with Properties (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+public class PublisherControlImpl extends PublisherControl
+{
+    @Control @Destination(name="InvoiceQueue") 
+    public JmsMessageControlBean myJmsBean;
+</pre>
+</td></tr>
+</table>
+<br><br>
+This example performs exactly the same initialization as the earlier declarative example, but does so using JSR-175 attribute syntax instead of passing parameters to a factory-based constructor.
+<br><br>
+The Controls architecture includes a mechanism for defining the expected set of annotations that might appear on a Control field.  This mechanism is described in greater detail in the section on Properties.
+<br><br>
+<a name="#Programmatic"><b>Programmatic Instantiation</a></b><br>
+The client model for Controls supports instantiation of a new Control instance using the same factory-based model supported by JavaBeans.  For example, the following code could be used to create a new instance of the JmsMessageControlBean generated class:
+<br><BR>
+
+Programmatic Instantiation (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+JmsMessageControlBean myJmsBean = (JmsMessageControlBean)
+         java.beans.Beans.instantiate(cl, "org.apache.beehive.controls.examples.JmsMessageControlBean");
+</pre>
+</td></tr>
+</table>
+<br><br>
+The Control runtime also provides an extended factory model that allows metadata attributes to be passed into the factory constructor:
+<br><Br>
+Programmatic Instantiation with Properties (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+import org.apache.beehive.controls.api.bean.Controls;
+import org.apache.beehive.controls.api.properties.PropertyMap;
+
+PropertyMap jmsAttr = new (PropertyMap(JmsMessageControl.Destination.class);
+jmsAttr.setProperty("name", "InvoiceQueue");
+JmsMessageControlBean myJmsBean = (JmsMessageControlBean)
+      Controls.instantiate(cl, "org.apache.beehive.controls.examples.JmsMessageControlBean", jmsAttr);
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, the JmsMessageControlBean is being constructed with the Destination "name" property set to "InvoiceQueue".   The AttributeMap class is a simple helper class that can hold a set of name-value pairs of a Control's properties, which are initialized by the factory-based constructor.   More details on Controls properties are provided in a later section.
+<br><Br>
+<h3><a name="#Operations">Operations</a></h3>
+Operations are actions that can be performed by a Control at the client's request.   This section describes the authoring model for declaring and implementing a Control operation, as well as the client model for invoking operations on a ControlBean instance.
+<br><Br>
+<b><a name="#DeclaringImplementing">Declaring and Implementing Operations for a Control</b></a><br>
+All methods declared or inherited (via extension) by the Control Public Interface are considered  to be Control operations.    The following example shows the definition of two operations on the JmsMessageControl that will enqueue messages when invoked:
+<br><br>
+Declaring Operations (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlInterface
+
+@ControlInterface
+public interface JmsMessageControl
+{
+    public void sendTextMessage(String text);
+    public void sendObjectMessage(Serializable object);
+
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The Control Implementation Class implements the public interface for the Control, defining the operation methods, and the body of these methods.
+<br><Br>
+
+Implementing Operations (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+   public void sendTextMessage(String text)
+    {
+        // Code to send a TextMessage to the destination
+        &#8230;
+    }
+
+   public void sendObjectMessage(Serializable object)
+    {
+        // Code to send an ObjectMessage  to the destination
+        &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+Finally, the ControlBean Generated Class will also implement all operations (since it also implements the Control Public Interface).   It will always delegate to the implementation class for the actual implementation of the operation;  it might also perform additional container-specific pre/post invocation processing.
+<br><br>
+Here is a skeleton of what the generated ControlBean code might look like for an operation:
+<br><Br>
+Implemented Operations (ControlBean Generated Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class JmsMessageControlBean implements JmsMessageControl
+{
+   private JmsMessageControlImpl _impl;
+
+     public void sendTextMessage(String text)
+    {
+         &#8230;
+        _impl.sendTextMessage(text);
+         &#8230;
+    }
+
+    public void sendObjectMessage(Serializable object)
+    {
+         &#8230;
+        _impl.sendObjectMessage(object);
+        &#8230;
+    }
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#InvokingOperations">Invoking Operations on a Control</b></a><br>
+The client model for invoking an operation on a Control is very straightforward:  simply call the  method on a held ControlBean instance as demonstrated by the following example:
+<br><Br>
+Invoking an Operation (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+  myJmsBean.sendTextMessage("A Text Message");
+  </pre>
+</td></tr>
+</table>
+<br><br>
+The invocation model for operations is the same, whether the Control instance was created using declarative or programmatic mechanisms.
+<br><Br>
+<h3><a name="#Events">	Events</a></h3>
+Events are notifications sent by the Control back to its client whenever some condition has been met or internal event has taken place.   A client can express interest in a Control's events by registering (either explicitly or implicitly) to receive them, and can write event handler code to be called when the event has taken place.
+<br><br>
+This section describes the declaration model for events, how an authored Control delivers them to a registered client, and the client code necessary to register and receive events.
+<br><br>
+<b><a name="#Declaring Events">Declaring Events</b></a><br>
+Events are declared on an inner interface of the Control Public Interface, which is annotated with the org.apache.beehive.controls.api.events.EventSet annotation.    The  following example shows the declaration of an event interface for the JmsMessageControl, with a single event (onMessage):
+<br><Br>
+Declaring Events (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.io.Serializable;
+import javax.jms.Message;
+import org.apache.beehive.controls.api.events.EventSet;
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+@ControlInterface
+public interface JmsMessageControl
+{
+    public void sendTextMessage(String text);
+    public void sendObjectMessage(Serializable object);
+
+   @EventSet
+    public interface Callback
+    {
+        void onMessage(Message m);
+    }
+
+    &#8230;
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+If a Control Public Interface has defined an EventSet interface, then the associated ControlBean Generated Class will have two public methods supporting client listener management:
+<br><BR>
+Event Listener Registration Methods (ControlBean Generated Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.util.TooManyListenersException;
+
+public class JmsMessageControIBean implements JmsMessageControl
+{
+   &#8230;
+
+    /** Registers a new client listener for this bean instance */
+   public void addCallbackListener(Callback listener) throws TooManyListenersException
+   {
+     &#8230;
+   }
+
+   /** Deregisters a client listener for this bean instance */
+    public void removeCallbackListener(Callback listener)
+    {
+          &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The name of the listener registration methods are based upon the name of the associated EventSet interface.   In the previous example, the EventSet interface was named Callback, so the associated listener registration method was addCallbackListener(), and the deregistration method was removeCallbackListener().
+<br><Br>
+
+A Control Public Interface can have more than one inner interface that is annotated as an EventSet interface.   Each declared EventSet will have its own independently managed list of registered listeners.
+
+<br><Br>
+<b><a name="#Firing Events">	Firing Events</a></b><br>
+This section describes the mechanism available to a Control author to deliver events to any registered client listener.   An initialized event proxy is created when the Control Implementation Class declares a field of an EventSet interface type, and annotates it with the org.apache.beehive.controls.events.Client annotation type.   The containing ControlBean will initialize this reference to a valid proxy implementing the EventSet interface, and the Control Implementation Class can use this proxy to fire events back to any registered client.
+<br><Br>
+This is demonstrated in the following sample code from the JmsControlBean implementation class, which will fire an onMessage event back to any registered client any time a message is enqueued:
+<br><Br>
+Firing Events (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.events.Client;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Client Callback client;
+
+   public void sendTextMessage(String text)
+    {
+        // Code to construct and send a TextMessage to the destination
+       TextMessage m = &#8230;;
+        &#8230;
+        client.onMessage(m);
+     }
+     &#8230;
+}
+
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#Listening">	Listening for Events</a></b><br>
+The client of a Control can express an interest in receiving events from a Control and write client event handlers to service them once delivered.   Two basic event handling mechanisms are supported: Java event listeners or declarative event handlers (where  supported by the client container).
+<br><Br>
+<b><a name="#Declarative">8.3.1	Declarative Implementation of Event Handling</b></a><br>If the client code is implemented in a container that supports the declarative programming model for Controls (such as the Control Implementation Class itself), it can use a simplified convention for authoring event handlers for a declared Control instance.
+<br><Br>
+If a Control is declared using the @Control marker interface, then the user can declare event handlers for the Control by using the EventHandler annotation type.   These annotated methods will be considered an event handler for the Control event, and the container will automatically register for events and deliver them to this handler.
+The previous example could be rewritten using the declarative event handling style as:
+<br><Br>
+Declarative Handling of Events (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>import org.apache.beehive.controls.api.events.EventHandler
+
+public class PublisherControlImpl extends PublisherControl
+{
+    @Control 
+    public JmsMessageControlBean myJmsBean;
+
+    @EventHandler (field="myJmsBean", evenSet= JmsMessageControl.Callback.class,
+                                   eventName="onMessage")
+     public void myJmsBeanMessageHandler(Message m)
+     {
+        // Code implementing onMessage event handler
+     }
+    &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#Programmatic Implemantation">Programmatic Implementation of Event Handling</a></b><br>
+The programmatic style follows the tradition Java event listener pattern.  The client expresses its interest in receiving the event and also authors a  (often anonymous inner) class that implements the event interface to receive events when delivered.
+<br><Br>
+This is shown by the following sample code:<br><br>
+Programmatic Handling of Events (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+ myJmsBean.addCallbackListener(
+     new JmsMessageControl.Callback()
+     {
+         public void onMessage(Message m)
+         {
+             // Code implementing on Message event handler
+         }
+    });
+</pre>
+</td></tr>
+</table>
+<br><br>
+There is no requirement that an anonymous inner class be used.  One alternative would be to delegate to an instance of another class (as long as that class implements the Callback interface).   In the preceding example, if event listening was implemented for the purposes of logging sent messages, and MessageLogger class could be declared (implementing the Callback interface), multiple beans could delegate to a single instance of this logging listener.
+<br><br>
+<h3><a name="#Contextual">	Contextual Services</a></h3>
+The Control authoring model makes use of contextual services to provide access to services from the current runtime environment of the ControlBean.   The model for contextual services is based upon the existing standards for services in JavaBeans: The JavaBeans Runtime Containment and Services Protocol.   This protocol provides a base mechanism for a JavaBean to locate and use services from the runtime environment, as well as an extensible service provider model to enable new (or environment-specific) types of services to be authored and made available to JavaBeans/Controls.
+<br><br>
+A key aspect of this service model is that it can be contextual; for example, it might be possible to write a basic security service interface that provides logical role-checking functionality.   The actual implementation of this interface might vary for different runtime contexts:  for example, the role check might be done differently for a Control running within the context of an EJB container (by delegating to the containing EJBContext) vs. a Control running within the Web tier (by delegating to ServletHttpRequest services).
+<br><br>
+Having an extensibility and service provider location model is important to enable the following scenarios:
+<ul>
+<li>The Control's implementation is designed to run in a wide variety of environments.  It uses the contextual service mechanism to declare its prerequisites and receive a provider implementation that is appropriate to the current runtime context.
+<li>	The Control's implementation is designed to run in a very specific context (for example, only in the http servlet tier) and wants access to services that are very specific to that context (for example, session state or request query parameters).  It should not be possible to instantiate this Control in other contexts (for example, from within an EJB).
+</ul>
+One key contextual service for Controls that is guaranteed to be available in all contexts is the org.apache.beehive.controls.api.context.ControlBeanContext service interface.   This service provides a common set of generic services that are available to Control authors, such as the ability to query property values on the current instance, or to receive a set of basic lifecycle or resource management events.   The ControlBeanContext interface extends the java.beans.beancontext.BeanContextServices interface, so it also provides access to services provided by the JavaBeans bean context APIs.   Later sections describe an overview of the internal architecture for contextual services, APIs to support property resolution, and lifecycle events.
+<br><br>
+<b><a name="#Declarative Access">Declarative Access to Contextual Services</a></b><br>
+To signal the desire to access a contextual service, a Control author only needs to declare a field of the desired context interface and annotate it with the org.apache.beehive.controls.api.context.Context marker annotation.   The following example shows how the JmsMessageControlImpl class would use the declarative model to access its ControlBeanContext:
+<br><Br>
+
+Declarative Access to Context Services (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.context.Context;
+import  org.apache.beehive.controls.api.context.ControlBeanContext;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Context ControlBeanContext context;
+
+   public void sendTextMessage(String text)
+    {
+	     JmsMessageControl.Destination =
+           context.getControlPropertySet(JmsMessageControl.Destination.class);
+
+        &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, the JmsMessageControl implementation class expresses its desire to access ControlBeanContext services via the annotated declaration of the context field; when code in  sendTextMessage operation is invoked, this contextual service has already been initialized by the containing ControlBean instance.
+<br><BR>
+The ControlBeanContext for an authored Control is always accessed using the declarative mechanism.    Other contextual services may be accessed declaratively, or using the programmatic mechanisms described in the following section.
+<br><BR>
+<b><a name="#ProgrammaticAccess">	Programmatic Access to Contextual Services</a></b><br>
+The ControlBeanContext service also provides the base mechanism to discover and use other services programmatically.   The following code fragment shows an example of how to use this API to obtain access to a service provider that provides the javax.servlet.ServletContext interface.
+<br><BR>
+Programmatic Access to Context Services (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import javax.servlet.ServletContext;
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Context ControlBeanContext context;
+
+   public void sendTextMessage(String text)
+    {
+         ServletContext servletContext = context.getService(ServletContext.class, null);
+         if (servletContext == null)
+          {
+              //  no ServletContext provider is available
+           }
+
+        &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The code in the sample uses the ControlBeanContext.getService API to request that it provide a ServletContext service.  The parameters to this method are the Class of the requested service, and an (optional) service-specific selector that can be used to parameterize the service.   
+<br><BR>
+
+The ServletContext service is contextual because it is available only to controls running in the web tier.   If the above sample control was running anywhere else, the call to ControlBeanContext.getService() would return null.
+<br><Br>
+<B><a name="#Tradeoffs">	Tradeoffs between Declarative and Programmatic Access</a></b><br>
+Declarative access to context services is always available to a Control Implementation Class, and generally results in less code associated with accessing services.   Why then, would using programmatic access ever be useful?    There is a key difference between the two:
+<ul>
+<li>	When using the declarative model for accessing a contextual service, the Control is effectively saying that the service is required for it to function; if not available in a particular runtime environment, then construction of an instance of the Control will fail.   Essentially, the annotated context acts as a notification to the runtime factory that this prerequisite must be satisfied.
+<li>Use of the programmatic model allows a Control Implementation Class to implement conditional behavior based upon whether a contextual service is or is not available.   The Control Implementation Class can use the programmatic accessor, and then make a decision how to proceed based upon whether the requested service is available.
+</ul>
+<br><BR>
+<h3><a name="#Properties">	Properties</a></h3>
+This section describes Control properties.   Properties provide the basic mechanism for parameterizing the behavior of a Control instance.<br><br>
+The Controls architecture takes the basic JavaBeans notion of properties and extends it to support two new capabilities:
+<ul>
+<li>	A declarative annotation model where properties can be preconfigured on a ControlBean using JSR-175 annotations
+<li>An administrative model where the value of ControlBean properties can be externally defined or overridden.
+</ul>
+The external configuration and administrative model for Controls will be described in a separate document.
+<br><br>
+<b><a name="#Declaring Properties">	Declaring Properties for a Control Type</a></b><br>
+For Controls, the set of properties is explicitly declared on the Control Public Interface.  This makes the available parameterization of a Control  type readily visible to both code and tools.
+<br><Br>
+Properties are grouped together into related groups called PropertySets.   All Properties within a PropertySet will have a common set of attributes (such as where they can be declared, the access model for JavaBean accessors, etc) and will have property names based upon a common naming convention.
+<br><BR>
+A PropertySet is declared as a JSR-175 attribute interface within the Control Public Interface, which is also decorated with the org.apache.beehive.controls.api.properties.PropertySet meta-attribute.  Each of the members within a PropertySet will refer to a distinct property within the set, and the return value of the member defines the property type.
+Here is a sample declaration of the Destination PropertySet for the JmsMessageControl, which can be used to configure the target JMS destination for the Control:
+<br><BR>
+Declaring Properties (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlInterface
+import org.javacontrols.api.properties.PropertySet;
+import java.lang.annotations.Retention;
+import java.lang.annotations.RetentionPolicy;
+import java.lang.annotations.Target;
+
+@ControlInterface
+public interface JmsMessageControl 
+{
+    &#8230;
+
+    public enum DestinationType { QUEUE, TOPIC }
+
+   @PropertySet
+   @Target({FIELD, TYPE})
+   @Retention(RetentionPolicy.RUNTIME)
+    public @interface Destination
+    {
+        public DestinationType type() default QUEUE;
+        public String name();
+    }
+     &#8230;
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+This declaration defines the PropertySet named 'Destination' that includes two properties:    'type' and 'name'.   The 'type' property is based upon the DestinationType enumerated type, which is also defined in the public interface.   The 'name' attribute is a simple String property.
+<br><BR>
+Meta-attributes on a PropertySet or property declaration can be used to provide additional details about the properties and how they may be used.   In the above example, the standard java.lang.annotations.Target annotation is used to define the places where the @Destination property set can appear (in this case in either an extension class or field declaration). 
+<br><BR>   
+The full set of meta-attributes that can decorate PropertySet or Property declarations are TBD.   They can be used to define constraint models for property values, or relationships between properties (such as exclusive or, where one is set or the other, but never both).  These meta-attributes can be read and used by development or administrative tools to aid in the selection of property values.   They can also be used by the runtime for runtime validation of property values when set dynamically. 
+<Br><BR>
+<b><a name="#Accessing Properties"> Accessing Properties from Client Code</b></a><br>
+The properties defined in the Control Public Interface will be exposed to the client programmer using traditional JavaBean setter/getter methods on the ControlBean Generated Class.   These methods will follow a simple naming pattern based upon the PropertySet interface name and property member name. 
+<br><BR>
+The basic pattern for these accessors is:
+<br><BR>
+Property Accessor Generation (Conventions)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>public void set&lt;PropertySetName>&lt;Member Name>(&lt;MemberType>);
+ public &lt;MemberType> get&lt;PropertySetName>&lt;MembertName>();
+ </pre>
+</td></tr>
+</table>
+<br><br>
+So for the Destination PropertySet interface shown in the example above, the resulting ControlBean Generated Class would expose the following accessors:
+<br><Br>
+Property Accessors (ControlBean Generated Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.util.TooManyListenersException;
+
+public class JmsMessageControIBean implements JmsMessageControl
+{
+   &#8230;
+    public void setDestinationType(DestinationType type)  { &#8230; }
+    public DestinationType getDestinationType() { &#8230;}
+    public void setDestinationName(String name) { &#8230;}
+    public String getDestinationName();
+}
+
+ </pre>
+</td></tr>
+</table>
+<br><br>
+If the name of the PropertySet is "Properties", then this PropertySet name will be excluded from the generated accessor names, providing a shorthand format for the simple case of Controls with a single set of Properties.
+Client code to set the Destination properties on a JmsMessageControlBean instance would look like:
+<br><BR>
+Using Property Accessors (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+@Control JmsMessageControlBean jmsBean;
+
+ &#8230;
+
+    jmsBean.setDestinationType(Destination.QUEUE);
+    jmsBean.setDestinationName("myTargetQueue");
+ </pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#Accessing Properties Control">Accessing Properties from Control Implementation code</a></b><br>
+The Control Implementation class contains code that executes from within the context of the  Control JavaBean that is generated to host the control.   The generated bean will automatically manage the resolution of properties values from annotations, external configuration, or dynamic values set by the client.
+<br><BR>
+Access to these properties is provided by the ControlBeanContext instance associated with the Control Implementation Class.   This interface provides a set of property accessors that allow the implementation to query for property values:
+<BR><BR>
+ControlBeanContext APIs for Property Access
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.api.context;
+
+public interface ControlBeanContext extends java.beans.beancontext.BeanContextServices
+{
+     &#8230;
+    public &lt;T extends Annotation> T getControlPropertySet(Class&lt;T> propertySet);
+    public &lt;T extends Annotation> T getMethodPropertySet(Method m, Class&lt;T> propertySet);
+    public &lt;T extends Annotation> T getParameterPropertySet(Method m, index I, Class&lt;T> propertySet);
+      &#8230;
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+The propertySet argument passed to these methods must be a valid PropertySet interface associated with the ControlInterface.   The ControlBeanContext will return the current value for properties in the PropertySet, or will return null if no PropertySet value has been associated with this control instance.
+<br><br>
+Here is a simple example of using ControlBeanContext.getControlPropertySet() to query a property set:
+<br><br>
+Acccessing Control Properties (Client Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.context.Context;
+import  org.apache.beehive.controls.api.context.ControlBeanContext;
+
+public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Context ControlBeanContext context;
+
+     &#8230;
+
+    @EventHandler(field="context", eventSet=ControlBeanContext.Lifecycle.class, eventName="onAcquire")
+    public void  onBeanAcquire()
+    {
+        //
+        // Acquire the property values needed for initialization
+        //
+       Destination destProp = 
+                (Destination)context.getControlPropertySet(JmsMessageControl.Destination.class);
+        if (destProp == null)
+        {
+            // No destination property set for the control
+            &#8230;
+			        }
+ </pre>
+</td></tr>
+</table>
+<br><br>
+This code above queries for the value of the JmsMessageControl.Destination PropertySet on the current JmsMessageControl instance.
+<br><BR>
+These query methods will return the value of resolved properties for the Control instance, method, or method argument, respectively.   Control implementations should never use JSR-175 metadata accessors directly on Control classes or methods;  these accessors won't reflect any property values that have been set dynamically by ControlBean client accessor methods or externally using administrative configuration mechanisms.    The ControlBeanContext provides a consistent resolution of source annotation, dynamic, and external values.
+<BR><BR>
+A simple example of using the ControlBeanContext property accessor methods for accessing Method and Parameter properties is provided in the section on Extensibility.
+<BR><BR>
+<b><a name="#External Config">External Configuration of Control Properties</a></b><br>
+Controls also support an administrative model that allows Control property values to be bound using external configuration syntax.  The enables Control behavior to be parameterized externally to the code, and using a consistent mechanism that is well-defined and structured to enable tooling.<br><BR>
+The specifics of this administrative model are not covered within this document.
+<h3><a name="#Extensibility">	Extensibility</h3></a>
+The Controls architecture supports an extensibility model that enables the declarations of user-defined operations or events, based upon a predefined set of semantics defined by the author of the Control type.   The extensibility mechanism enables the definition of an interface to the resource where operations (or events) have very specific context. 
+<br><BR>
+For example, in the JmsMessageControl sample, the extensibility mechanism will be used to raise the level of abstraction:  instead of a low-level mechanism to enqueue messages to a topic or queue, the Control enables extensibility where operations can be defined that correspond to enqueuing messages with a very specific format and set of properties, and where message or property content is derived from method parameters.     This creates a logical view of the resource (in this case a queue or topic) where the operations available on it have very specific (and constrained) semantics.
+<Br><br>
+For this section, we'll start with the how an extension is defined, look at the authoring model for defining an extensible Control type, and finally show the client view of using an extended type.
+<br><BR>
+<b><a name="#Defining Extended">Defining an Extended Interface for a Control Type</a></b><br>
+An extension to a base Control type that defines a specific resource use case is created by defining a new Control type that derives from the original type and is annotated with the ControlExtension annotation type:
+<br><BR>
+Declaring a Control Extension (Control Extension Interface)
+
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlExtension;
+
+@ControlExtension
+@Destination(type=JmsMessageControl.QUEUE, name="queue.orders")
+public interface OrderQueue extends JmsMessageControl
+{
+    &#8230;
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+
+This example shows that this interface shows that property values can be configured on the extended interface to further parameterize the use case.   In this case, the  InvoiceQueue interface is being designed for a very specific use case:  to enable orders to be enqueued to a JMS queue named "queue.orders".
+<br><BR>
+Once defined, the Control extension author can now begin to define additional operations on it, in this case the ability to enqueue messages to the OrderQueue by calling methods on it.
+<BR><BR>
+Declaring Extended Operations with Properties (Control Extension Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlExtension;
+
+@ControlExtension
+@Destination(type=JmsMessageControl.QUEUE, name="queue.orders")
+public interface OrderQueue extends JmsMessageControl
+{
+    public class Order implements java.io.Serializable
+    {
+         public Order(int buyer, String list)  { buyerID = buyer; itemList  list; }
+         int buyerID;
+        String [ ] itemList;       
+    }
+
+    @Message (OBJECT)
+    public void submitOrder(
+                           @Body Order order, 
+                           @Property ( name="DeliverBy") String deliverBy);
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+This interface defines a single operation, submitOrder, that enqueues an ObjectMessage containing a new order.   The body of the message will be a single instance of the Order class, and it will have a single StringProperty with the expected delivery date (enabling message selector-based queries for orders that are past due).
+<BR><BR>
+The message format (in this case an ObjectMessage) and the mapping of operation parameters to message content and/or properties are all defined using JSR-175 metadata on the method or its parameters.   This format makes it very easy for tools to assist in the creation and presentation of extension interfaces.
+<BR><BR>
+How does the extension author (or tool) know about the set of annotations that can be used on the extension interface?   This is the topic of the next section.
+<BR><BR>
+<b><a name="#Defining Extension">Defining Extension Semantics for a Control Type</a></b><br>
+A Control author is responsible for defining the extensibility semantics for a particular type, since ultimately they are responsible for providing the implementation that fulfills the semantics.  
+<BR><BR>
+The extension semantics for a Control are part of the public contract for the Control, and thus are defined on the Control Public Interface as well.   As with Control properties, these are defined in the form of JSR-175 annotation interfaces, as show in the following sample code from the JmsMessageControl Public Interface:
+<BR><BR>
+Declaring Extension Semantics (Control Public Interface)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.io.Serializable;
+import javax.jms.Message;
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+@ControlInterface
+public interface JmsMessageControl
+{
+    &#8230;
+  
+   public enum MessageType {  BYTES, MAP, OBJECT, STREAM, TEXT }
+
+   @Target({METHOD})
+   @Retention(RUNTIME)
+   public @interface Message
+   {
+       public MessageType value() default TEXT;
+   }
+
+   @Target({PARAMETER}
+   @Retention(RUNTIME)
+    public interface Body {}
+ 
+   @Target({PARAMETER})
+   @Retention(RUNTIME)
+    public @interface Property
+    {
+	      public String name();
+    }
+}
+ </pre>
+</td></tr>
+</table>
+<br><br>
+The JmsMessageMessageControl defines three annotation types: Message, Body, and Property.   The Message annotation can be placed on the method declaration to indicate the type of JMS message that will be enqueued by the operation.   The Body annotation is used to indicate the method parameter that contains the contents of the message (and must have a type that is compatible with the specified MessageType).   The Property annotation on a method parameter indicates that the parameter's value should be stored as a property on the enqueue message, with the property name coming from the value of the annotation and the property type derived from the type of the method parameter.
+<BR><BR>
+The key is that the Control Public Interface contains sufficient details about the expected annotations that a tool can support the construction.   It also makes it possible for the Control compiler (that converts the extended interface to an associated bean implementation) to perform validation of interface and method annotations.
+<BR><BR>
+More details on how these extension semantics are implemented are described in the next section.
+<BR><BR>
+<b><a name="#Authoring">Authoring an Extensible Control Type</a></b><br>
+The author of a Control type is responsible for providing the code that implements the extension semantics for the Control.   Support for extensibility is optional;  so a Control author indicates extensibility of a type by declaring that that the Control Implementation Class implements the org.apache.beehive.controls.api.bean.Extensible interface.  This interface has a single method named invoke(). 
+<BR><BR>
+The skeleton of this code for the JmsMessageControlImpl class is shown below:
+<BR><BR>
+Implementing Extended Operations (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import  org.apache.beehive.controls.api.context/.Context;
+import  org.apache.beehive.controls.api.context.ControlBeanContext;
+import  org.apache.beehive.controls.api.bean.Extensible;
+
+public class JmsMessageControlImpl implements JmsMessageControl, Extensible
+{
+     @Context ControlBeanContext context;
+
+    public Object invoke(Method m, Object [] args) throws Throwable
+    {
+          //   Extensibility implementation
+         &#8230;
+     }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+The invoke() method on the Control Implementation Class will be called any time an operation defined on an extension interface is called on the Control by its client.  The implementation of this method has responsibility for examining the current set of properties for the Control instance, methods, and parameters and using them to parameterize the behavior of the Control.
+<BR><BR>
+This is demonstrated by the code below, which shows a portion of the implementation of invoke() for the JmsMessageControlImpl class:
+<BR><BR>
+Accessing Method Properties Using the Context (Control Implementation)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Object invoke(Method m, Object [] args) throws Throwable
+{
+   &#8230;
+
+    int bodyIndex = 1;
+    for (int i= 0; i&lt; args.length; i++)
+         if (context.getArgumentPropertySet(m, i, JMMessageControl.Body.class) != null)
+           bodyIndex = i;
+
+    //
+    // Create a message of the appropriate type
+    //
+    Message m = null;
+    JMSMessageControl.Message msgProp = context.getMethodPropertySet(m,  
+                                                                                             JMSMessageControl.Message.class);        
+    switch(msgProp.value())
+    {
+         case MessageType.OBJECT:
+               m = session.createObjectMessage(args[bodyIndex]);
+               break;
+         &#8230;
+    }
+   
+    //
+    // Decorate the message with properties defined by any arguments
+    //
+    for (int i= 0; i&lt; args.length; i++)
+     {
+         JMSMessageControl.Property jmsProp =
+             context.getParameterPropertySet(m,i, JmsMessageControl.Property.class);
+          if (jmsgProp != null)
+         {
+            String name = jmsProp.value();
+             if (args[I] instanceof String)
+                 m.setStringProperty(name, ((String)args[i]);
+             else if (args[I] instanceof Integer)
+                 &#8230;
+             else
+                  m.setObjectProperty(name, args[I);
+     }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+In the sample code above, the Control Implementation Class uses the ControlBeanContext API to query properties on the invoked method and its argument.   These query methods will return null if the property is not found and no default was defined for the attribute member.
+<BR><BR>
+<b><a name="#Client Model">Client Model for Using an Extended Control Type</a></b><br>
+The client model for using an extended Control type is exactly the same as the model for using a base Control type.   The same set of declarative and programmatic instantiation mechanisms (described in the previous section) will be used, and operations or events are handled the same way.<br><BR>
+Below is sample code that uses the OrderQueue extended type (using declarative client model):
+<BR><BR>
+Using a Control Extension (Client Code)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+@Control org.apache.beehive.controls.examples.OrderQueueBean orderBean;
+
+&#8230;
+    Order order = new OrderQueue.Order();
+     order.buyerID = myID;
+     order.itemList = new String [] {"item1", "item2"};
+     orderBean.submitOrder(order, "12-31-2004");
+</pre>
+</td></tr>
+</table>
+<br><br>
+Looking closely at the example, you'll notice that a derived ControlBean type (OrderQueueBean) is generated by the Control compiler, just as it is for a base Control type.  
+<BR><BR> 
+The skeleton of this ControlBean Generated Class is shown below:
+<BR><BR>
+Implementation of Extended Operations (ControlBean Generated Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+Package org.apache.beehive.controls.examples;
+
+public class OrderQueueBean extends JmsMessageControlBean
+                                                    implements OrderQueue
+{
+     JmsMessageControlImpl _impl;
+     &#8230;
+    Public void submitOrder(Object order, String deliveryBy)
+    {
+           &#8230;
+          _impl.invoke(submitOrderMethod, new Object [] {order, deliveryBy};
+           &#8230;
+    }
+
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+There are several attributes worth noting about the extended ControlBean Generated Class:
+<UL>
+<LI>	Its implementation will be a subclass of the base type ControlBean, so implementation of base type operations is inherited.
+<li>The extended bean will implement the extended Control interface, meaning all extended operations will be implemented by the bean.
+<li>The implementation of these extended operations will always delegate down to the base Control Implementation Class by calling the Extensible.invoke() method.
+</ul>
+<h3><a name="#Composition"></a></h3>
+The Controls architecture supports a composition model, based upon the JavaBeans Runtime Containment and Services Protocol.   This means that it is possible for new types of ControlBeans to be defined that are built through composition of one or more other types.
+<BR><BR>
+<b><a name="#Composition Declarative">Composition Using Declarative Instantiation</b></a><br>
+Additionally, the ControlBeans authoring model makes composition very simple based upon the declarative instantiation model.     Within any ControlBean implementation, any @Control fields will automatically be initialized as children of the local bean's context.
+<BR><BR>
+Here's a simple example based upon our previous OrderQueue example.  Let's say that we want to create a logical Control that can be used to submit orders.  This Control will submit to one of two different queues, depending upon whether the order needs to ship in less than 30 days, or greater than 30 days.
+<BR><BR>
+The implementation of this Control could look like:
+<BR><BR>
+Composition Using Declarative Instantiation (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class OrderRouterImpl
+{
+     @Control @Destination(Name="RushOrders")
+    OrderQueueBean rushOrders;
+
+    @Control @Destination(Name="Orders")
+      OrderQueueBean orders;
+
+    &#8230;
+
+    public void submitOrder(Order order, String deliverBy)
+     {
+          if (needsRushDelivery(deliveryBy))
+            rushOrders.submitOrder(order, deliverBy);
+         else
+             orders.submitOrder(order, deliverBy);
+     }
+
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+In this example, the OrderRouterImpl Control itself uses the services of two different OrderQueue Controls referencing two different queues, and uses a helper method (needsRushDelivery) to decide where to enqueue a particular order.   The new Control has the same operations exposed as the original Controls; but now uses the services of one or the other of its children to satisfy the request.
+<BR><BR>
+The next section describes doing an equivalent composition using mechanisms to instantiate and build the Control hierarchy.
+<BR><BR>
+<B><a name="#Composition Programmatic">	Composition using Programmatic Mechanisms</a></b><BR>
+Because the ControlBeans architecture is built using the JavaBeans Runtime Containment protocol, which defines a base composition model for JavaBeans, it is also possible to manually instantiate and Controls using the APIs it defines.  The ControlBeanContext API extends the java.beans.beancontext.BeanContext API, which provides support for adding children to the current bean's context.
+<BR><BR>
+Here's the previous sample, rewritten to use programmatic composition:
+<BR><BR>
+Composition Using Programmatic Instantiation (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+public class OrderRouterImpl
+{
+    OrderQueueBean rushOrders;    // no @Control annotation, so no auto-init
+     OrderQueueBean orders;          // no @Control annotation, so no auto-init
+     @Context ControlBeanContext context;
+    
+
+   public void context_onCreate()
+   {
+        ClassLoader cl = Thread.currentThread().getContextClassLoader();
+         rushOrders = (OrderQueueBean)Beans.instantiate(cl, "org.apache.beehive.controls.examples.OrderQueueBean");
+         rushOrders.setDestinationName("RushOrders"); 
+         context.add(rushOrders);
+         orders = (OrderQueueBean)Beans.instantiate(cl, "org.apache.beehive.controls.examples.OrderQueueBean");
+         orders.setDestinationName("RushOrders");
+         context.add(orders);
+    }
+
+    public void submitOrder(Order order, String deliverBy)
+     {
+          &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#Internal Architechture">Internal Architecture for Composition and Services</a></b><br>
+The JavaBeans Runtime Containment and Services Protocol provides the base composition model for Control composition and containment.   In this model,  JavaBeans are associated with a BeanContext that manages the composition hierarchy and also manages any contextual services requested by the contained beans.
+<BR><BR>
+In the Control architecture, a ControlBean will potentially be related to two different BeanContexts:  a parent context that represents the outer container for the bean, and a peer context that provides containment and services to other beans nested within that Control.
+<BR><BR>
+
+These context relationships from the previous sample are shown in the following diagram:
+<BR><BR>
+<img src="images/ControlsProgramming_3.gif">
+<BR><BR>
+In the diagram, the two OrderQueueBean instances created by OrderRouterBean are nested within the ControlBeanContext; while not shown, these two beans would also have a peer ControlBeanContext providing them with contextual services.
+<BR><BR>
+The peer ControlBeanContext provides localized generic services to the associated Control Implementation instance, such as ability to resolve property values from the local bean instance or externalized configuration, and the delivery of lifecycle events.   The ControlBean architecture uses a delegation model for service discovery.   If an implementation instance requests a service that is not implemented by the peer BeanContext, it will delegate up to the parent context to find a provider for the service.
+<BR><BR>
+At the root of the bean composition hierarchy is an instance of a ContainerBeanContext.  This context represents the external runtime environment, within which the ControlBean is running.  This might represent an EJB, servlet, web service, Java application, or any ControlBean-capable container.   The ContainerBeanContext is responsible for the initialization and provisioning of service providers that are specific to runtime environment with which it is associated.
+<BR><BR>
+Whether ContainerBeanContext or ControlBeanContext, the BeanContext instances also provide the basic hierarchy of composition, as shown by the parent-child relationships above.
+<BR><BR>
+<h3><a name="#Context Events"></h3></a>
+The Control programming model also exposes a basic set of lifecycle events to enable the Control to perform efficient initialization and resource management.    These events are delivered by the peer ControlBeanContext associated with a ControlBean instance.   A listener can register to receive these events using the addCallbackListener API on ControlBeanContext; the actual Callback event interface itself is defined there as well:
+<BR><BR>
+Context Life Cycle Events
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+import org.apache.beehive.controls.api.context;
+
+public interface ControlBeanContext extends java.beans.beancontext.BeanContextServices
+{
+      &#8230;
+      public interface Callback extends java.util.EventListener
+      {
+          public void onCreate();
+          public void onAcquire();
+          public void onRelease();
+      }
+
+      public void addCallbackListener(Callback lifecycleListener);
+      public void removeCallbackListener(Callback lifecycleListener); 
+}
+
+</pre>
+</td></tr>
+</table>
+<br><br>
+The specific life cycle events are described in the following section:
+<b><a name="#Life Cycle">Life Cycle Events</a></b><br>
+The ControlBeanContext life cycle events provide notification to the associated ControlBean  derived class and Control Implementation Class (and potentially other interested listeners) of significant events related to the peer bean instance.
+<BR><BR>
+<a name="#onCreate"><b>	The onCreate Event</b></a><br>
+The onCreate event is delivered when the Control Implementation instance associated with the ControlBean has been constructed and all declarative initialization has been completed. This provides an opportunity for the implementation instance to perform any additional initialization required; implementation instances should generally use the onCreate event instead of writing constructor code.
+<BR><BR>
+<a name="#onAcquire"><b>The onAcquire Event</b></a><br>
+The onAcquire event is delivered to a registered listener the first time a ControlBean operation is invoked within a particular resource context.   It provides an opportunity for the Control Implementation instance (or other related entities, such as a contextual service provider) to acquire any short-term resources (connections, sessions, etc) needed by the ControlBean.
+<BR><BR>
+The onAcquire event is guaranteed to be delivered once (and only once) prior to invocation of any operation within a resource context; it is also guaranteed that a paired onRelease event will be delivered when the resource context ends.
+<BR><BR>
+For more details on resource management, refer to the Control Architectural Overview document.
+<BR><BR>
+<b><a name="#onRelease">The onRelease Event</a></b><br>
+The onRelease event is the companion event to onAcquire.   It is guaranteed to be called once (and only once) on any bean instance that has received an onAcquire event, when its associated resource context has ended.   It acts as the signal that any short-term resources (connections, sessions, etc) acquired by the Control should be released.
+<BR><BR>
+<b><a name="#Receiving Life">	Receiving Life Cycle Events</b></a><br>
+For a Control Implementation Class, the model for receiving context life cycle events is consistent with the general client model for event registration and delivery.   Both declarative and programmatic mechanisms are supported.
+<br><br>
+<b><a name="#Declarative Life">Declarative Access to Life Cycle Events</a></b><br>
+A Control Implementation Class can receive Life Cycle Events simply by declaring the annotated @Context ControlBeanContext and then defining event handlers that follow the &lt;contextFieldName>_&lt;eventName> convention.
+<br><Br>
+The following sample code  shows the JmsMessageControl registering to receive onAcquire and onRelease events:
+<br><BR>
+Declarative Handling of Life Cycle Events (Control Implementation Class)
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+
+
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+import org.apache.beehive.controls.api.events.EventHandler;
+
+Public class JmsMessageControlImpl implements JmsMessageControl
+{
+    @Context ControlBeanContext context;
+
+   @EventHandler(field="context", eventName="onAcquire")
+    public void onAcquire()
+    {
+         // Code to acquire JMS connection/session/destination/writers
+       &#8230;
+    }
+
+   @EventHandler(field="context", eventName="onRelease")
+    public void onRelease()
+    {
+         // Code to release JMS connection/session/destination/writer
+        &#8230;
+    }
+}
+</pre>
+</td></tr>
+</table>
+<br><br>
+When using the declarative mechanism, a Control Implementation Class is free to implement only a subset of the life cycle listeners;  it is not necessary that it provide a handler for all events.
+<br><BR>
+<b><a name="#Programmatic Life">	Programmatic Access to Life Cycle Events</a></b><br>
+An external entity (such as contextual service provider or even a client) is also able to register for life cycle events on a ControlBean instance as well.  This is done by obtaining a reference to the peer ControlBeanContext for the instance using the getPeerContext API, and then using the addCallbackListener API to register a lifecycle event listener.
+<br><br>
+This is shown by the following code:
+<br><BR>
+Programmatic Handling of Life Cycle Events (Control Implementation Class) 
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+   JmsMessageControlBean myJmsBean = &#8230;;
+
+     ControlBeanContext peerContext = myBean.getPeerContext();
+     PeerContext.addCallbackListener(
+         new ControlBeanContext.Callback()
+          {
+              public void onCreate() {  . };
+              public void onAcquire() {  };
+              public void onRelease() {  };
+          });
+</pre>
+</td></tr>
+</table>
+<br><br>
+<b><a name="#JavaBean">JavaBean Context Events</b></a><br>
+The org.apache.beehive.controls.api.context.ControlBeanContext API extends the following standard JavaBean context APIs:
+<ul>
+<li>	java.beans.BeanContextChild
+<li>java.beans.BeanContext
+<li>java.beans.BeanContextServices
+</ul>
+These APIs provide access to a standard set of JavaBean events that the Control Implementation Class can register an interest in.   
+[Issue: there is not a declarative mechanism for receiving these events, but probably should be.]
+<br><br>
+<b><a name="#PropertyChange">PropertyChange Events</a></b><br>
+The java.beans.BeanContextChild interface provides the addPropertyChangeListener() and addVetoableChangeListener() APIs to register  for notification when a property is modified.
+<br><br>
+<b><a name="#Membership">Membership Events</a></b><br>
+The java.beans.BeanContext interface provides the addMembershipChangeListener() API to register for notification whenever a child is added or removed from the BeanContext.
+<br><BR>
+<B><a name="#Context Services">Context Services Events</a></b><br>
+The java.beans.BeanContextServices interface provides the addBeanContextServicesListener API  to register for notification when new contextual services become available or are revoked.
+<BR><BR>
+<h3><a name="#AppendixA">Appendix A:  The JmsMessageControl Public Interface</a></h3>
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import java.io.*;
+import java.lang.annotation.*;
+import javax.jms.*;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+import org.apache.beehive.controls.api.events.EventSet;
+import  org.apache.beehive.controls.api.properties.PropertySet;
+
+/**
+  * The JmsMessageControl defines a basic Control to enable messages to be enqueued to a JMS
+  * queue or topic.   Using Control properties, you can configure the connection, session, and
+  * destination attributes that should be used to connect to the JMS provider.   The Control 
+  * will transparently connect  to the JMS provider and obtain any necessary resources to
+  * enqueue the messages.   The Control will also sure that the resources are properly released
+  * at the end of the current resource scope associated with the Control's runtime environment.
+  * 
+  * The Control provides a basic set of operations that allow a simple text or object message to
+  * be written to the configured destination.   It also provides an extensibility mechanism
+  * that allows new operations to be defined by extending this interface.  Extended operations
+  * define the enqueueing of message with a specific type (TextMessage, ObjectMessage, ...)
+  * where operation parameters can be mapped to message properties or content.
+  */ 
+@ControlInterface
+public interface JmsMessageControl 
+{ 
+    // OPERATIONS
+ 
+    /** 
+     * Sends a simple TextMessage to the Control's destination
+     * @param text the contents of the TextMessage
+     */
+     public void sendTextMessage(String text);
+
+    /**
+      * Sends a simple ObjectMessage to the Control's destination
+      * @param object the object to use as the contents of the message
+      */
+    public void sendObjectMessage(java.io.Serializable object);
+ // EVENTS
+
+    /** 
+      * The Callback interface defines the events for the JmsMessageControl. 
+      */
+   @EventSet
+    public interface Callback 
+    { 
+        /**
+         * The onSend event is delivered to a registered client listener whenever a
+         * a message has been sent by the Control. 
+         * @param msg the message that was sent
+         */
+        public void onMessage(javax.jms.Message msg); 
+    } 
+
+     // PROPERTIES
+
+     /**
+       * The Connection property defines the attributes of the connection and session used
+       * to enqueue the message.   This annotation can appear on both class and Control
+       * field declarations.
+       */
+    @PropertySet
+    @Target({FIELD, TYPE})
+    public @interface Connection
+    {
+        public String factoryName();
+        public boolean transacted() default true;
+        public int acknowledgeMode()  default  Session.CLIENT_ACKNOWLEDGE;
+    }
+    
+    /** An enumeration that defines the value set of destination types */
+    public enum DestinationType { QUEUE, TOPIC }
+
+    /**
+     * The Destination property defines the attributes of the JMS destination that should
+     * be the target of any enqueued messages.
+     */
+    @PropertySet
+    @Target({FIELD, TYPE})
+    public @interface Destination
+    {
+        public DestinationType type() default QUEUE;
+        public String name();
+    }
+  // EXTENSIBILITY ATTRIBUTES
+
+    /**
+     * The set of supported message types for extended operations 
+     */
+    public enum MessageType {  TEXT, OBJECT, BYTES }
+
+    /**
+     *  The Message attribute can be placed on an extended operation to describe the format of the
+     *  message that  should be enqueued when the operation is invoked.   The method is expected to 
+     * have a least parameter annotated with the Body attribute, and zero or more parameters with
+     * the Property attribute defining message properties.
+     */ 
+    @Target({METHOD})
+    public @interface Message
+    {
+        public MessageType value() default TEXT;
+    }
+
+    /** The Body attribute indicates that the associated method parameter on an extended operation
+      *  contains the message body.
+      */
+    @Target({PARAMETER}
+    public interface Body {}
+ 
+    /**
+     * The Property attribute can be used to define operation parameters that should be used to
+     * set properties on the message.  The type of property to set will be inferred based upon
+     * the type of the parameter.
+     */
+    @Target({PARAMETER})
+    public @interface Property
+    {
+	     public String name();
+    }
+}
+
+</pre>
+</td></tr>
+</table>
+<br><br>
+<h3><a name="#AppendixB">Appendix B:  The JmsMessageControl Implementation Class</a></h3>
+<br><br>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr><td bgcolor="#cccccc">
+<br>
+<pre>
+package org.apache.beehive.controls.examples;
+
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.bean.Extensible;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+import org.apache.beehive.controls.api.events.Client;
+import org.apache.beehive.controls.api.events.EventHandler;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.QueueConnectionFactory
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.TopicConnectionFactory
+import javax.jms.TopicConnection;
+import javax.jms.TopicSession;
+import javax.jms.TopicPublisher;
+import javax.jms.Message;
+
+/**
+ * The JmsMessageControlImpl class is the Control Implementation Class for the JmsMessageControl.
+ * It implements two basic operations (sendTextMessage and sendObjectMessage) as well as an
+ * extensibility model that enables custom message formats to be defined and associated with
+ * extended method signatures.
+ */ 
+@ControlImplementation
+public class JmsMessageControlImpl implements JmsMessageControl, Extensible
+{
+    /**
+     * The peer BeanContext instance associated with the Control
+     */ 
+    @Context ControlBeanContext context;
+
+    /**
+     * The client callback event router for this Control
+     */
+    @Client Callback client;
+
+    /**
+     * The fields are used to hold transient JMS resources that are acquired and held for
+     * the resource scope associated with the Control
+     */
+    transient javax.jms.Connection _connection;
+    transient javax.jms.Session _session;
+    transient javax.jms.MessageProduction _producer;
+ /*
+     * The onAcquire event handler
+     * This method will be called prior to any operation with a given resource scope.  It is
+     * responsible for obtaining the connection, session, destination, and appropriate
+     * writer instance, for use within the operation.
+     */
+    @EventHandler(field="context", eventSet=ControlBeanContext.Lifecycle.class, eventName="onAcquire")
+    public void  onBeanAcquire()
+    {
+        //
+        // Acquire the property values needed for initialization
+        //
+        Destination destProp = (Destination)context.getControlPropertySet(Destination.class);
+        Connection connProp = (Connection)context.getControlPropertySet(Connection.class);
+
+        try
+        {
+            //
+            // Obtain the JMS Destination instance based upon the Destination property
+            //
+            InitialContext jndiContext = new InitialContext(); 
+            _dest = (javax.jms.Destination)initContext.lookup(destProp.name());
+
+            //
+            // Obtain Connection, Session, and MessageProducer resources based upon the 
+            // destination type and the values in the Connection PropertySet
+            //
+            if (destProp.type() = JmsControl.QUEUE)
+            {
+                javax.jms.QueueConnectionFactory connFactory = 
+                            (QueueConnectionFactory)jndiContext.lookup(connProp.factoryName()); 
+                _connection = connFactory.createQueueConnection();
+                _session = (QueueConnection)_connection).createQueueConnection(
+                                                                    connProp.transacted(),
+                                                                    connProp.acknowledgeMode());
+                _producer = (QueueSession)_session).createSender((Queue)_dest);
+            }
+            else
+            {
+                javax.jms.TopicConnectionFactory connFactory = 
+                            (TopicConnectionFactory)jndiContext.lookup(connProp.factoryName()); 
+                _connection = connFactory.createTopicConnection();
+                _session = ((TopicConnection)_connection).createTopicConnection(
+                                                                    connProp.transacted(),
+                                                                    connProp.acknowledgeMode());
+                _producer = ((TopicSession)_session).createPublisher((Topic)_dest);
+
+            }
+        }
+        catch (javax.naming.NamingException ne)
+        {
+            throw new ControlException("Unable to locate JNDI object", ne);
+        }
+        catch (ClassCastException ce)
+        {
+            throw new ControlException("JNDI object did not match expected type", ce);
+        }
+        catch (JMSException jmse)
+        {
+            throw new ControlException("Unable to acquire JMS resources", jmse);
+        }
+    }
+
+    /*
+     * The onRelease event handler for the associated context
+     * This method will release all resource acquired by onAcquire. 
+     */ 
+    @EventHandler (field="context", eventSet=ControlBeanContext.Lifecycle.class , eventName="onRelease")
+    public void onRelease()
+    {
+        try
+        {
+            if (_producer != null)
+            {
+                _producer.close();
+                _producer = null;
+            }
+            if (_session != null)
+            {
+                _session.close();
+                _session = null;
+            }
+            if (_connection != null)
+            {
+                _connection.close();
+                _connection = null;
+            }
+        }
+        catch (JMSException jmse)
+        {
+            throw new ControlException("Unable to release JMS resource", jmse);
+        }
+    }
+
+    /**
+     * Helper method used to send a message once constructed
+     */
+    private void sendMessage(Message msg) throws JMSException
+    {
+        client.onMessage(msg);
+        if (_producer instanceof java.jms.QueueSender)
+            ((QueueSender)_producer).send(msg);
+        else
+            ((TopicPublisher)_producer).publish(msg);
+    }
+
+    /** 
+     * Sends a simple TextMessage to the Control's destination
+     * @param text the contents of the TextMessage
+     */
+    public void sendTextMessage(String text) throws JMSException
+    {
+        javax.jms.TextMessage msg = _session.createTextMessage(text);
+        sendMessage(msg);
+    }
+
+    /**
+     * Sends a simple ObjectMessage to the Control's destination
+     * @param object the object to use as the contents of the message
+     */
+    public void sendObjectMessage(java.io.Serializable object)
+    {
+        javax.jms.ObjectMessage msg = _session.createObjectMessage(object);
+        sendMessage(msg);
+    }
+
+    /**
+     * Implements the Extensible.invoke() interface for this Control
+     * This method uses the Message property to determine the type of message to construct,
+     * and then uses the Body and Property attributes of method parameters to supply message
+     * content and properties.
+     */ 
+    public Object invoke(Method m, Object [] args) throws Throwable
+    {
+        int bodyIndex = -1;
+        for (int i= 0; i< args.length; i++)
+        {
+            if (context.getParametertPropertySet(m, I, JmsMessageControl.Body.class) != null)
+            {
+                bodyIndex = i;
+                break;
+            }
+        }
+        if (bodyIndex == -1)
+            throw new ControlException("No @Body argument defined for operation: " + m.getName());
+
+        //
+        // Create a message based upon the value of the Message property of the method
+        //
+        javax.jms.Message msg = null;
+        Message  msgProp = context.getMethodPropertySet(m.JmsMessageControl.Message.class);
+        try
+        {
+            switch(msgProp.value())
+            {
+                case MessageType.TEXT:
+                    msg = session.createTextMessage((String)args[bodyIndex]);
+                    break;
+
+                case MessageType.OBJECT:
+                    msg = session.createObjectMessage(args[bodyIndex]);
+                    break;
+                case MessageType.BYTES:
+                    msg = session.createBytesMessage()
+                    msg.writeBytes((byte []) args[bodyIndex]);
+                    break;
+            }
+        }           
+        catch (ClassCastException)
+        {
+            throw new ControlException("Invalid type for Body parameter", cce);
+        }
+
+        //
+        // Now decorate the message with any Property-annotated parameters
+        //
+        for (int i= 0; i< args.length; i++)
+        {
+            JMSMessageControl.Property prop = 
+                context.getParameterPropertySet(m, i,.JmsMessageControl.Property.class);
+            if (prop != null)
+            {
+                String propName = prop.name();
+                if (args[i] instanceof String)
+                    msg.setStringProperty((String)args[i]);
+                else if (args[i] instanceof Integer)
+                    msg.setStringProperty(((Integer)args[i])intValue());
+                else if (args[i] instanceof Short)
+                    msg.setStringProperty(((Short)args[i]).shortValue());
+                else if (args[i] instanceof Boolean)
+                    msg.setBooleanProperty(((Boolean)args[i]).booleanValue());
+                else if (args[i] instanceof Float)
+                    msg.setFloatProperty(((Float)args[i]).floatValue());
+                else if (args[i] instanceof Double)
+                    msg.setDoubleProperty(((Double)args[i]).doubleValue());
+                else
+                    msg.setObjectProperty(args[i]);
+            }
+        }
+        
+        //
+        // Send it
+        //
+        sendMessage(msg);
+    }
+}
+
+	
+	
+	</pre>
+</td></tr>
+</table>
+<br><br>
+</body>

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/contributors.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/contributors.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+
+<header>
+    <title>Apache Beehive - </title>
+</header>
+
+<body>
+    <section>
+      <title>Contributors</title>
+      <table>
+	<tr><td><strong>Username</strong></td><td><strong>Committers</strong></td><td><strong>Affiliation</strong></td></tr>
+	<tr><td>ias</td><td>Changshin Lee</td><td>Tmax Soft (Axis committer)</td></tr>
+      	<tr><td>cjudson</td><td>Chris Judson</td><td>E2E Consulting</td></tr>
+      	<tr><td>cliffs</td><td>Cliff Schmidt</td><td>BEA (XMLBeans committer)</td></tr>
+      	<tr><td>craigc</td><td>Craig Crutcher</td><td /></tr>
+      	<tr><td>dolander</td><td>Daryl Olander</td><td>BEA</td></tr>
+      	<tr><td>dims</td><td>Davanum Srinivas</td><td>(Axis committer)</td></tr>
+      	<tr><td>davidbau</td><td>David Bau</td><td>(XMLBeans committer)</td></tr>
+      	<tr><td>dmkarr</td><td>David Karr</td><td>(Struts committer)</td></tr>
+      	<tr><td>daveread</td><td>David Read</td><td>BEA</td></tr>
+      	<tr><td>ekoneil</td><td>Eddie O'Neil</td><td>BEA</td></tr>
+      	<tr><td>heathers</td><td>Heather Stephens</td><td>BEA</td></tr>
+	<tr><td>jsong</td><td>James Song</td><td>BEA</td></tr>
+      	<tr><td>jongjinchoi</td><td>Jongjin Choi</td><td>Tmax Soft</td></tr>
+      	<tr><td>kentam</td><td>Ken Tam</td><td>BEA</td></tr>
+      	<tr><td>?</td><td>Kevin O'Connor</td><td>Documentum</td></tr>
+      	<tr><td>kylem</td><td>Kyle Marvin</td><td>BEA</td></tr>
+      	<tr><td>mclark</td><td>Michael Clark</td><td>SandCherry (need CLA)</td></tr>
+	<tr><td>?</td><td>Mike Merz</td><td>BEA (need CLA)</td></tr>
+      	<tr><td>rich</td><td>Rich Feit</td><td>BEA</td></tr>
+      	<tr><td>rotan</td><td>Rotan Hanrahan</td><td>MobileAware</td></tr>
+      	<tr><td>scottryan</td><td>Scott Ryan</td><td /></tr>
+	<tr><td>steveh</td><td>Steve Hanson</td><td>BEA</td></tr>
+      	<tr><td>stocco</td><td>Steve Tocco</td><td>BEA</td></tr>
+      	<tr><td>vsalvato</td><td>Vince Salvato</td><td>E2E Consulting</td></tr>
+       </table>
+    </section>
+
+    <section>
+    <title>Sponsor</title>
+    <p>Craig McClanahan, Champion and Mentor for the project, (as defined in 
+          <fork href="http://incubator.apache.org/incubation/Roles_and_Responsibilities.html">http://incubator.apache.org/incubation/Roles_and_Responsibilities.html</fork>)
+    </p>
+    </section>
+    
+    </body>
+    
+    <footer>
+    	<legal>Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />
+	&copy; 2004, Apache Software Foundation
+	</legal>
+    </footer>
+
+</document>

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/controls.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/controls.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+
+<header>
+    <title>Apache Beehive Controls</title>
+</header>
+
+<body>
+
+<p><fork href="./ControlsOverview.html">Controls Overview</fork>  This is an overview
+of controls.  It goes into the basic philosohy behind Controls, as well as their architecture.
+<br/><br/>
+<fork href="./ControlsProgramming.html">Controls Programming</fork> This is a more
+in depth look at the controls programming model.  It will give you a better understanding of how to write controls that take
+advantage of the framework.
+
+</p>
+</body>
+    
+<footer>
+    	<legal>Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />
+	&copy; 2004, Apache Software Foundation
+	</legal>
+</footer>
+
+</document>
\ No newline at end of file

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/downloads.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/downloads.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+
+<header>
+    <title>Apache Beehive - Downloads</title>
+</header>
+
+<body>
+
+<section>
+<title>Source Archives</title>
+      <p>Beehive is still rather new, so we don't have daily source drops yet.  We are currently working
+      on getting some form of daily builds.  When that happens, there should be a place to download the source for
+      the most recent daily build.<br />  For right now, if you want source, you can either download a recent snapshot
+      of source (Revision 30718) or get it from the Subversion repository (directions below).  Once you've obtained a copy
+      of the source from an archive or from SVN, simply follow the instructions in BUILDING.txt.
+      <br /><br /></p>
+      
+      <ul>
+        <li><link href="http://cvs.apache.org/dist/incubator/beehive/src/incubating-beehive-20040726-30718.tar.gz">incubating-beehive-20040726-30718.tar.gz</link></li>
+        <li><link href="http://cvs.apache.org/dist/incubator/beehive/src/incubating-beehive-20040726-30718.zip">incubating-beehive-20040726-30718.zip</link></li>
+      </ul>
+</section>
+
+<section>
+      <title>Getting Source from SVN</title>
+	<ol>
+	    <li>Download Subversion from <link href="http://subversion.tigris.org/">http://subversion.tigris.org/ </link></li>
+	    <li>In the specified directory say "beehive" run the svn client <br/>
+	        <code>svn checkout http://svn.apache.org/repos/asf/incubator/beehive/trunk/</code></li>
+	</ol>
+</section>
+
+</body>
+    
+<footer>
+    	<legal>Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />
+	&copy; 2004, Apache Software Foundation
+	</legal>
+</footer>
+
+</document>
\ No newline at end of file

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/faq.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/faq.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+
+<header>
+    <title>Apache Beehive FAQ</title>
+</header>
+
+<body>
+
+<section>
+    <title>Frequently_Asked_Questions</title>
+    <p><strong>General</strong></p>
+      <ol>
+        <li><link href="#what-is">What is Beehive?</link></li>
+        <li><link href="#annotations">What are annotations?</link></li>
+        <li><link href="#controls">What are controls? </link></li>
+      </ol>
+</section>
+
+<section>
+    <title>General</title>
+      <dl>
+        <dt>What is Beehive?</dt>
+        <dd><anchor id="what-is" /> Beehive is a programming model built on J2EE that is meant to simplify 
+          building Web Applications. See the <link href="index.html">overview</link> for more info.</dd>
+      </dl>
+      <dl>
+        <dt>What are annotations?</dt>
+        <dd><anchor id="annotations" /> Annotations are a new part of the Java language that are being introduced 
+          in JDK 1.5. They allow you to add metadata to objects that live outside 
+          of ordinary programmatic flow control. These are used for setting properties 
+          on components that the container is then able to make sense of. For 
+          more information on annotation in java see <fork href="http://jcp.org/en/jsr/detail?id=175">JSR 175</fork></dd>
+      </dl>
+      <dl>
+        <dt>What are controls?</dt>
+        <dd><anchor id="controls" /> Controls are the new component model in Beehive. They are based on 
+          regular JavaBeans, with an enhanced authoring model, an extensibility 
+          model, and a configuration model using JSR 175 annotations. To find 
+          out more about controls look at
+	  <link href="./Controls.html">Controls</link>.</dd>
+      </dl>
+ </section>
+ 
+     </body>
+    
+    <footer>
+    	<legal>Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />
+	&copy; 2004, Apache Software Foundation
+	</legal>
+    </footer>
+
+</document>
\ No newline at end of file

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/index.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/index.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+
+<header>
+    <title>The Apache Beehive Project</title>
+</header>
+
+<body>
+    <!--
+    Beehive
+        Welcome<should link to the HTML page created from Welcome.doc>
+        License<should link to http://www.apache.org/licenses/LICENSE-2.0>
+
+    Documentation
+        FAQ<should link to the HTML page created from FAQ.doc>
+        Controls Overview<should link to Kyle's control Overview>
+        Controls Programming<should link to Kyle's Controls programming pdf>
+        Web Services (JSR 181)<should link to http://jcp.org/en/jsr/detail?id=181>
+
+    Contributing
+        Mailing Lists<should link to HTML Page created from MailingLists.doc>
+        Contributers<should link to HTML Page created from Contributers.doc>
+    -->
+    
+    <section>
+     <title>News</title>
+     <anchor id="News"></anchor>
+     <ul>
+       <li>Beehive now has a <fork href="http://wiki.apache.org/beehive">wiki</fork>.</li>
+       <li>File bugs or feature requests in <fork href="http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10570">jira</fork> for Beehive.</li>
+       <li><fork href="http://www.eclipse.org/pollinate/">Pollinate</fork> is a project to build an Eclipse-based IDE on the Beehive Framework.  The project proposal is currently under review.  Feedback is welcome.</li>
+       <li>Would you like to contribute?  Subscribe now to the -dev, -user or -commits mailing lists for Beehive.  See the <link href="mailinglists.html">Mailing Lists</link> for subscription and archive infomation.</li>
+     </ul>
+    </section>
+    
+    <section>
+      <title>Introduction</title>
+      <anchor id="Introduction" />
+      <p> Welcome to Beehive! This is the project working on making J2EE easier 
+        by building a simple object model on J2EE and Struts. The goal is to take 
+        the new JSR-175 metadata annotations and use them to reduce the coding 
+        necessary for J2EE. The initial Beehive project has three pieces.</p>
+      <ul>
+        <li>NetUI PageFlows &#8211; These are built on top of struts, and allow easier 
+          tooling as well as automatic updating of struts config files with the 
+          use of metadata.</li>
+        <li> Controls &#8211; These are a lightweight component framework that 
+          helps programmers build components that incorporate metadata into their 
+          programming model. This project will come with a few pre-made controls 
+          as well.</li>
+        <li>Web Services &#8211; This will be the Reference Implementation of JSR-181, which is 
+          an annotation driven programming model for Web Services.</li>
+      </ul>
+    </section>
+
+    <section>
+      <title>Downloads</title>
+      <anchor id="Downloads" />
+      <p> See <link href="downloads.html">downloads</link></p>
+    </section>
+    
+    <section>
+      <title>Get Involved</title>
+      <p>
+      <link href="mailinglists.html">Mailing Lists</link><br />
+      <link href="contributors.html">Contributors</link>
+      </p>
+    </section>
+
+    </body>
+    
+    <footer>
+    	<legal>Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />
+	&copy; 2004, Apache Software Foundation
+	</legal>
+    </footer>
+
+</document>

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/license.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/license.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+
+<header>
+    <title>The Apache License</title>
+</header>
+
+<body>
+    <p> See the <fork href="http://www.apache.org/licenses/LICENSE-2.0">License</fork> for license infomation.</p>
+</body>
+
+<footer>
+    <legal>Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />
+	&copy; 2004, Apache Software Foundation
+    </legal>
+</footer>
+
+</document>

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/mailinglists.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/mailinglists.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+
+<header>
+    <title>Apache Beehive Project</title>
+</header>
+
+<body>
+
+    <section>
+      <title>Mailing Lists</title>
+      <p>Use the links below to send mail to, subscribe, unsubscribe or check the archives of the Beehive mailing lists.
+      Subcribing and unsubscribing is performed by simply sending a blank email to applicable address (as linked below).
+      <br/><br/></p>
+      <table>
+        <tr>
+          <td><link href="mailto:beehive-user@incubator.apache.org"> Beehive Users List</link></td>
+          <td><link href="mailto:beehive-user-subscribe@incubator.apache.org"> Subscribe</link></td>
+          <td><link href="mailto:beehive-user-unsubscribe@incubator.apache.org"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/SummarizeList?listName=beehive-user@incubator.apache.org"> Archives</fork></td>
+        </tr>
+        <tr>
+          <td><link href="mailto:beehive-dev@incubator.apache.org"> Beehive Developer List</link></td>
+          <td><link href="mailto:beehive-dev-subscribe@incubator.apache.org"> Subscribe</link></td>
+          <td><link href="mailto:beehive-dev-unsubscribe@incubator.apache.org"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/SummarizeList?listName=beehive-dev@incubator.apache.org"> Archives</fork></td>
+        </tr>
+        <tr>
+          <td><link href="mailto:beehive-commits@incubator.apache.org"> Beehive SVN/Wiki Change List</link></td>
+          <td><link href="mailto:beehive-commits-subscribe@incubator.apache.org"> Subscribe</link></td>
+          <td><link href="mailto:beehive-commits-unsubscribe@incubator.apache.org"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/SummarizeList?listName=beehive-commits@incubator.apache.org"> Archives</fork></td>
+        </tr>
+	<tr>
+          <td><link href="mailto:beehive-ppmc@incubator.apache.org"> Beehive PPMC List</link></td>
+        </tr>
+      </table>
+    </section>
+    
+</body>
+    
+<footer>
+    <legal>Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />
+	&copy; 2004, Apache Software Foundation
+    </legal>
+</footer>
+
+</document>
\ No newline at end of file

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/site.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/site.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<site label="Beehive" href="" xmlns="http://apache.org/forrest/linkmap/1.0">
+
+  <about label="Beehive">
+    <index label="Welcome" href="index.html" />
+    <license label="License" href="license.html" />
+    <downloads label="Downloads" href="downloads.html" />
+  </about>
+
+  <documentation label="Documentation">
+    <faq label="FAQ" href="faq.html" />
+    <controlprogramming label="Controls" href="Controls.html" />
+    <jsr181 label="Web Services (JSR 181)" href="webservices.html" />
+  </documentation>
+
+  <community label="Community">
+    <mailinglists label="Mailing Lists" href="mailinglists.html" />
+    <contributors label="Contributors" href="contributors.html" />
+  </community>
+
+  <external-refs>
+    <xml.apache.org href="http://xml.apache.org/" />
+  </external-refs>
+</site>

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/tabs.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/tabs.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.0//EN" "tab-cocoon-v10.dtd">
+
+<tabs software="Apache Beehive"
+  title="Apache Beehive"
+  copyright="Apache Software Foundation"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <tab label="Home" dir=""/>
+</tabs>

Added: incubator/beehive/trunk/site/build/tmp/context/content/xdocs/webservices.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/content/xdocs/webservices.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+
+<header>
+    <title>Apache Beehive Web Services</title>
+</header>
+
+<body>
+
+<p>See <fork href="http://jcp.org/en/jsr/detail?id=181">JSR 181</fork> for more information</p>
+
+</body>
+    
+<footer>
+    	<legal>Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />
+	&copy; 2004, Apache Software Foundation
+	</legal>
+</footer>
+
+</document>
\ No newline at end of file

Added: incubator/beehive/trunk/site/build/tmp/context/dtd.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/dtd.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+*.dtd pipeline.  Generates XML from DTDs using the Neko parser.
+Useful for documenting DTD-based XML schemas, of which Forrest has plenty.
+
+Generates  :  Source XML
+Example URL:  http://localhost:8888/forrest-issues.xml       # Source XML for FAQ
+Used by    :  sitemap.xmap
+Uses       :  resources/schema/dtd/*.dtd
+
+$Revision: 1.10 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file">
+      <map:generator name="nekodtd" src="org.apache.cocoon.generation.XNIConfigurableFileGenerator" />
+    </map:generators>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <map:match pattern="**.dtdx.xml">
+        <map:generate type="nekodtd" src="resources/schema/dtd/{1}.dtd">
+          <map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
+        </map:generate>
+        <map:transform src="resources/stylesheets/dtdx2flat.xsl" />
+        <map:transform src="resources/stylesheets/flat2document.xsl" />
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/faq.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/faq.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+'faq' pipelines.  Implements source XML, body HTML and output PDF pipelines.
+
+Handles different FAQ DTD versions by sniffing the DOCTYPE, and
+applying an appropriate transformation.
+
+Generates  :  Source XML, body HTML, output PDF
+Example URL:  http://localhost:8888/faq.xml       # Source XML for FAQ
+Example URL:  http://localhost:8888/body-faq.html # Body HTML for FAQ
+Example URL:  http://localhost:8888/faq.pdf       # PDF of FAQ
+Used by    :  sitemap.xmap, which binds these generic pipelines to URLs.
+Uses       :  content/xdocs/**.xml, depending on URL binding.
+
+$Revision: 1.19 $
+==================================================== -->
+
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file"/>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+    <map:actions>
+      <map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.cocoon.acting.sourcetype.SourceTypeAction">
+        <sourcetype name="faq-v10">
+          <document-declaration public-id="-//APACHE//DTD FAQ V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="faq-v11">
+          <document-declaration public-id="-//APACHE//DTD FAQ V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="faq-v12">
+          <document-declaration public-id="-//APACHE//DTD FAQ V1.2//EN" />
+        </sourcetype>
+        <sourcetype name="faq-v20a">
+          <document-declaration public-id="-//APACHE//DTD FAQ V2.0a//EN" />
+        </sourcetype>
+      </map:action>
+    </map:actions>
+
+    <map:selectors default="browser">
+      <map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" />
+    </map:selectors>
+  </map:components>
+
+  <map:resources>
+    <map:resource name="transform-to-document">
+      <map:act type="sourcetype" src="{src}">
+        <map:select type="parameter">
+          <map:parameter name="parameter-selector-test" value="{sourcetype}" />
+          <map:when test="faq-v10">
+            <map:transform src="resources/stylesheets/faqv10tofaqv11.xsl" />
+            <map:transform src="resources/stylesheets/faq2document.xsl" />
+          </map:when>
+          <map:when test="faq-v11">
+            <map:transform src="resources/stylesheets/faq2document.xsl" />
+          </map:when>
+          <map:when test="faq-v12">
+            <map:transform src="resources/stylesheets/faq2document.xsl" />
+          </map:when>
+          <map:when test="faq-v20a">
+            <map:transform src="resources/stylesheets/faqv20tofaqv12.xsl" />
+            <map:transform src="resources/stylesheets/faq2document.xsl" />
+          </map:when>
+          <map:otherwise />
+        </map:select>
+      </map:act>
+      <map:transform type="idgen" />
+    </map:resource>
+
+    <map:resource name="skinit">
+      <map:transform src="skins/{forrest:skin}/xslt/html/{type}.xsl">
+        <map:parameter name="notoc" value="{notoc}"/>
+        <!-- For backwards-compat with 0.2 - 0.4 skins -->
+        <map:parameter name="isfaq" value="{notoc}"/>
+        <map:parameter name="path" value="{path}"/>
+        <!-- Can set an alternative project skinconfig here 
+        <map:parameter name="config-file" value="../../../../skinconf.xml"/>
+        -->
+      </map:transform>
+
+      <map:serialize/>
+    </map:resource>
+
+  </map:resources>
+
+  <map:pipelines>
+
+    <map:pipeline>
+
+      <!-- ============================================================ -->
+      <!-- OUTPUT FORMATS                                               -->
+      <!-- ============================================================ -->
+
+      <!-- Special matcher for FAQ PDFs, so we can pass an extra
+      'numbersections' param into document2fo.xsl -->
+      <map:match pattern="**.pdf">
+        <map:generate src="cocoon:/{1}.xml"/>
+        <map:transform src="skins/{forrest:skin}/xslt/fo/document2fo.xsl">
+          <map:parameter name="numbersections" value="false"/>
+          <map:parameter name="ctxbasedir" value="{realpath:.}/"/>
+          <map:parameter name="xmlbasedir" value="content/xdocs/{1}"/>
+        </map:transform>
+        <map:serialize type="fo2pdf"/>
+      </map:match>
+
+
+      <!-- ============================================================ -->
+      <!-- INTERMEDIATE FORMATS                                         -->
+      <!-- ============================================================ -->
+
+      <!--Unfortunately we need to override all the document2html stuff too,
+      since notoc must be set to true. -->
+      <map:match pattern="**body-*.html">
+        <map:generate src="cocoon:/{1}{2}.xml"/>
+        <map:transform type="xinclude"/>
+        <map:transform type="linkrewriter" src="cocoon://{1}linkmap-{2}.html"/>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="document2html"/>
+          <map:parameter name="path" value="/{1}{2}.html"/>
+          <map:parameter name="notoc" value="true"/>
+        </map:call>
+      </map:match>
+
+
+      <!-- ============================================================ -->
+      <!-- SOURCE FORMATS                                               -->
+      <!-- ============================================================ -->
+
+      <map:match pattern="**.xml">
+        <map:generate type="file" src="content/xdocs/{0}" />
+        <map:call resource="transform-to-document">
+          <map:parameter name="src" value="content/xdocs/{0}" />
+        </map:call>
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/forrest.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/forrest.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,260 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Pipelines defining all Source XML types Forrest can handle.
+Converts from arbitrary formats to standard Forrest doc-v12 XML.
+
+First, checks if *.cwiki or *.ihtml exists, and uses them if present.
+Otherwise, the default *.xml handling is used.  The XML's DTD type is
+discovered using the SourceTypeAction, and an appropriate transformation
+applied.  Thus to add new XML types, just define a new <sourcetype>
+and an appropriate <map:when> handler.
+
+Generates  :  Source XML, Body HTML for *.ehtml
+Example URL:  http://localhost:8888/index.xml
+Used by    :  *.html and *.pdf pipelines in sitemap.xmap
+Uses       :  content/xdocs/**.xml
+
+$Revision: 1.30.2.2 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+  <!-- FIXME (JJP): This should not be here. Should be define on sitemap -->
+  <map:generators default="file">
+
+
+      <map:generator name="html"      src="org.apache.cocoon.generation.HTMLGenerator">
+        <jtidy-config>jtidy.properties</jtidy-config>
+      </map:generator>
+      <map:generator name="text2xml" src="org.apache.cocoon.generation.TextGenerator" />
+    </map:generators>
+    <map:serializers default="html"/>
+    <map:matchers default="wildcard"/>
+
+    <map:transformers default="xslt">
+      <map:transformer name="lexer" src="org.apache.cocoon.transformation.LexicalTransformer" logger="sitemap.transformer.lexer"/>
+      <map:transformer name="parser" src="org.apache.cocoon.transformation.ParserTransformer" logger="sitemap.transformer.parser">
+        <parameter name="flatten" value="true"/>
+        <parameter name="ignoring" value="true"/>
+      </map:transformer>
+    </map:transformers>
+
+
+
+    <map:actions>
+      <map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.cocoon.acting.sourcetype.SourceTypeAction">
+        <sourcetype name="document-v10">
+          <document-declaration public-id="-//APACHE//DTD Documentation V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="howto-v10">
+          <document-declaration public-id="-//APACHE//DTD How-to V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="todo-v10">
+          <document-declaration public-id="-//APACHE//DTD Todo V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="changes-v10">
+          <document-declaration public-id="-//APACHE//DTD Changes V1.0//EN" />
+        </sourcetype>
+        <sourcetype name="document-v11">
+          <document-declaration public-id="-//APACHE//DTD Documentation V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="howto-v11">
+          <document-declaration public-id="-//APACHE//DTD How-to V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="todo-v11">
+          <document-declaration public-id="-//APACHE//DTD Todo V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="changes-v11">
+          <document-declaration public-id="-//APACHE//DTD Changes V1.1//EN" />
+        </sourcetype>
+        <sourcetype name="todo-v12">
+          <document-declaration public-id="-//APACHE//DTD Todo V1.2//EN" />
+        </sourcetype>
+        <sourcetype name="changes-v12">
+          <document-declaration public-id="-//APACHE//DTD Changes V1.2//EN" />
+        </sourcetype>
+        <sourcetype name="howto-v12">
+          <document-declaration public-id="-//APACHE//DTD How-to V1.2//EN" />
+        </sourcetype>
+        <sourcetype name="document-v20a">
+          <document-declaration public-id="-//APACHE//DTD Documentation V2.0a//EN" />
+        </sourcetype>
+        <sourcetype name="docbook-v4.2">
+          <document-declaration public-id="-//OASIS//DTD DocBook XML V4.2//EN" />
+        </sourcetype>
+        <sourcetype name="sdocbook-v1.0">
+          <document-declaration public-id="-//OASIS//DTD Simplified DocBook XML V1.0//EN" />
+        </sourcetype>
+      </map:action>
+    </map:actions>
+    <map:selectors default="parameter">
+      <map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" />
+    </map:selectors>
+  </map:components>
+
+  <map:resources>
+    <map:resource name="transform-to-document">
+      <map:act type="sourcetype" src="{src}">
+        <map:select type="parameter">
+          <map:parameter name="parameter-selector-test" value="{sourcetype}" />
+
+          <map:when test="document-v10">
+          <!-- FIXME (JJP):  This should use the v12 now-->
+            <map:transform src="resources/stylesheets/docv10todocv11.xsl" />
+          </map:when>
+
+          <map:when test="document-v20a">
+            <map:transform src="resources/stylesheets/docv20todocv12.xsl" />
+          </map:when>
+
+          <map:when test="howto-v10">
+            <map:transform src="resources/stylesheets/howto2document.xsl" />
+          </map:when>
+
+          <map:when test="howto-v11">
+            <map:transform src="resources/stylesheets/howto2document.xsl" />
+          </map:when>
+          <map:when test="howto-v12">
+            <map:transform src="resources/stylesheets/howto2document.xsl" />
+          </map:when>
+
+          <map:when test="todo-v10">
+            <map:transform src="resources/stylesheets/todo2document.xsl" />
+          </map:when>
+
+          <map:when test="todo-v11">
+            <map:transform src="resources/stylesheets/todo2document.xsl" />
+          </map:when>
+
+          <map:when test="todo-v12">
+            <map:transform src="resources/stylesheets/todo2document.xsl" />
+          </map:when>
+
+          <map:when test="changes-v10">
+            <map:transform src="resources/stylesheets/changesv10tochangesv11.xsl" />
+            <map:transform src="resources/stylesheets/changes2document.xsl" />
+          </map:when>
+
+          <map:when test="changes-v11">
+            <map:transform src="resources/stylesheets/changes2document.xsl" />
+          </map:when>
+
+          <map:when test="changes-v12">
+            <map:transform src="resources/stylesheets/changes2document.xsl" />
+          </map:when>
+
+          <map:when test="docbook-v4.2">
+            <map:transform src="resources/stylesheets/docbook2document.xsl" />
+          </map:when>
+
+          <map:when test="sdocbook-v1.0">
+            <map:transform src="resources/stylesheets/docbook2document.xsl" />
+          </map:when>
+
+          <map:otherwise />
+        </map:select>
+      </map:act>
+    </map:resource>
+  </map:resources>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <!-- ============================================================ -->
+      <!-- INTERMEDIATE FORMATS                                         -->
+      <!-- ============================================================ -->
+
+      <map:match pattern="**body-*.html">
+        <map:select type="exists">
+          <map:when test="content/xdocs/{1}{2}.ehtml">
+            <map:generate src="content/xdocs/{1}{2}.ehtml" />
+            <map:transform src="resources/stylesheets/html2htmlbody.xsl" />
+            <map:serialize type="xml" />
+          </map:when>
+        </map:select>
+      </map:match>
+
+      <!-- ============================================================ -->
+      <!-- SOURCE FORMATS                                               -->
+      <!-- ============================================================ -->
+
+      <map:match pattern="**.xml">
+
+        <map:select type="exists">
+          
+          <map:when test="content/xdocs/{1}.ihtml">
+            <map:generate src="content/xdocs/{1}.ihtml" type="html" />
+            <map:transform src="resources/stylesheets/html2document.xsl" />
+            <map:transform type="idgen" />
+            <map:serialize type="xml-document"/>
+          </map:when>
+
+          <map:when test="content/xdocs/{1}.cwiki">
+            <map:match type="regexp" pattern="^(.*?)([^/]*).xml$">
+              <map:generate type="text2xml" src="content/xdocs/{1}{2}.cwiki" />
+              <map:transform type="lexer"   src="resources/grammars/wiki.xlex"/>
+              <map:transform type="parser"  src="resources/grammars/wiki.xgrm"/>
+              <!--  Dynamically generated equivalents.  Matchers need to be added to
+              the root sitemap for this to work.
+              <map:transform type="lexer"   src="cocoon:/wiki.xlex"/>
+              <map:transform type="parser"  src="cocoon:/wiki.xgrm"/>
+              -->
+              <map:transform src="resources/stylesheets/wiki2document.xsl">
+                <map:parameter name="name" value="{2}" />
+              </map:transform>
+              <map:serialize type="xml-document"/>
+            </map:match>
+          </map:when>
+
+          <map:when test="content/xdocs/{1}.txt">
+            <map:match type="regexp" pattern="^(.*?)([^/]*).xml$">
+              <map:generate type="text2xml" src="content/xdocs/{1}{2}.txt" />
+              <map:transform src="resources/stylesheets/text2document.xsl">
+                <map:parameter name="filename" value="{2}" />
+              </map:transform>
+              <map:serialize type="xml-document"/>
+            </map:match>
+          </map:when>
+
+          <map:otherwise>
+            <map:generate src="content/xdocs/{1}.xml" />
+            <map:call resource="transform-to-document">
+              <map:parameter name="src" value="content/xdocs/{1}.xml" />
+            </map:call>
+            <map:serialize type="xml-document"/>
+          </map:otherwise>
+
+        </map:select>
+
+      </map:match>
+
+
+      <!--
+      These pipelines dynamically generate the wiki.{xlex,xgrm} files used in
+      the *.cwiki pipeline.  They are not used by default to avoid the overhead.
+      <map:match pattern="*.xlex">
+        <map:generate                src="resources/grammars/{1}.grm"/>
+        <map:transform type="lexer"  src="resources/grammars/grm.xlex"/>
+        <map:transform type="parser" src="resources/grammars/grm.xgrm"/>
+        <map:transform               src="resources/grammars/text4regex.xsl"/>
+        <map:transform type="lexer"  src="resources/grammars/regex.xlex"/>
+        <map:transform type="parser" src="resources/grammars/regex.xgrm"/>
+        <map:transform               src="resources/grammars/grm2xlex.xsl"/>
+        <map:serialize type="xml"/>
+      </map:match>
+
+      <map:match pattern="*.xgrm">
+        <map:generate                src="resources/grammars/{1}.grm"/>
+        <map:transform type="lexer"  src="resources/grammars/grm.xlex"/>
+        <map:transform type="parser" src="resources/grammars/grm.xgrm"/>
+        <map:transform               src="resources/grammars/text4regex.xsl"/>
+        <map:transform type="lexer"  src="resources/grammars/regex.xlex"/>
+        <map:transform type="parser" src="resources/grammars/regex.xgrm"/>
+        <map:transform               src="resources/grammars/grm2xgrm.xsl"/>
+        <map:serialize type="xml"/>
+      </map:match>
+      -->
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/issues.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/issues.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+'issues' pipeline.  Converts RSS to doc-v12 XML. 
+Here using Forrest's JIRA feed
+
+Generates  :  Source XML
+Example URL:  http://localhost:8888/forrest-issues.xml    # Source XML for FAQ
+Used by    :  sitemap.xmap, which binds this generic pipeline to a URL.
+Uses       :  An RSS feed.
+
+$Revision: 1.9 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file"/>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <map:match pattern="**.xml">
+        <map:generate type="file" src="http://issues.cocoondev.org/jira/secure/IssueNavigator.jspa?pid=10000&amp;resolutionIds=-1&amp;view=rss&amp;reset=true" />
+        <map:transform src="resources/stylesheets/rssissues2document.xsl" />
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/jettyconf.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/jettyconf.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,101 @@
+<?xml version="1.0"  encoding="ISO-8859-1"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure 1.2//EN" "http://jetty.mortbay.org/configure_1_2.dtd">
+
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty Server                                      -->
+<!-- =============================================================== -->
+
+<Configure class="org.mortbay.jetty.Server">
+
+  <!-- =============================================================== -->
+  <!-- Configure the Request Listeners                                 -->
+  <!-- =============================================================== -->
+
+
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <!-- Add and configure a HTTP listener to port 8080                       -->
+  <!-- The default port can be changed using: java -Djetty.port=80     -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <Call name="addListener">
+    <Arg>
+      <New class="org.mortbay.http.SocketListener">
+        <Set name="Port"><SystemProperty name="jetty.port" default="8888"/></Set>
+        <Set name="MinThreads">5</Set>
+        <Set name="MaxThreads">100</Set>
+        <Set name="MaxIdleTimeMs">30000</Set>
+        <Set name="LowResourcePersistTimeMs">5000</Set>
+      </New>
+    </Arg>
+  </Call>
+
+
+  <!-- =============================================================== -->
+  <!-- Configure the Contexts                                          -->
+  <!-- =============================================================== -->
+
+
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <!-- Add root context web applications.                              -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <!-- Add a all web application within the webapps directory.         -->
+  <!-- + No virtual host specified                                     -->
+  <!-- + Look in the webapps directory relative to jetty.home or .     -->
+  <!-- + Use the webdefault.xml resource for the defaults descriptor   -->
+  <!-- + Upack the war file                                            -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+  <Call name="addWebApplication">
+    <Arg>/</Arg>
+    <Arg><!--<SystemProperty name="jetty.home" default="."/>-->.</Arg>
+  </Call>
+
+  
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <!-- Build a context manually.                                  -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<!-- 
+  <Call name="addContext">
+    <Arg>/forrest/*</Arg>
+
+    <Call name="addHandler">
+      <Arg><New class="org.mortbay.http.handler.ProxyHandler"></New></Arg>
+    </Call>
+
+    <Call name="addHandler">
+      <Arg><New class="org.mortbay.http.handler.ContentEncodingHandler">
+           <Call name="addPathSpec"><Arg>/images/*</Arg></Call>
+           <Set name="minimumLength">512</Set>
+      </New></Arg> 
+    </Call>
+
+    <Call name="addHandler">
+      <Arg><New class="org.mortbay.http.handler.HTAccessHandler">
+	    <Set name="AccessFile">.htaccess</Set>
+      </New></Arg>
+    </Call>
+
+    <Call name="addServlet">
+      <Arg>Invoker</Arg>
+      <Arg>/*</Arg>
+      <Arg>org.mortbay.jetty.servlet.Invoker</Arg>
+      <Put name="InitParam">Value</Put>      
+    </Call>
+
+    <Set name="ResourceBase"><SystemProperty name="jetty.home" default="."/>/demo/docroot/</Set>
+    
+    <Call name="addHandler">
+      <Arg><New class="org.mortbay.http.handler.ResourceHandler"/></Arg>
+    </Call>
+
+    <Call name="addHandler">
+      <Arg><New class="org.mortbay.http.handler.DumpHandler"/></Arg>
+    </Call>
+
+    <Set name="ClassPath"><SystemProperty name="jetty.home" default="."/>/demo/servlets/</Set>
+  </Call>
+  -->
+</Configure>
+

Added: incubator/beehive/trunk/site/build/tmp/context/jtidy.properties
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/jtidy.properties	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,15 @@
+indent=yes
+indent-spaces=8
+wrap=72
+markup=no
+output-xml=no
+input-xml=no
+show-warnings=yes
+numeric-entities=yes
+quote-marks=yes
+quote-nbsp=yes
+quote-ampersand=no
+break-before-br=yes
+uppercase-tags=no
+uppercase-attributes=no
+char-encoding=latin1

Added: incubator/beehive/trunk/site/build/tmp/context/linkmap.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/linkmap.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!-- =================================================
+'linkmap' pipeline.  A linkmap is a map from abstract ('site:index') to
+physical ('../index.html') links for the current page.
+
+Generates  :  Variant of site.xml with each @href being the link to that page from the current page.
+Example URL:  http://localhost:8888/community/linkmap-index.html (links for community/index.html)
+Used by    :  The linkrewriter transformer
+Uses       :  content/xdocs/site.xml
+
+See http://xml.apache.org/forrest/sitemap-ref.html#menu_xml_generation
+
+$Revision: 1.17 $
+==================================================== -->
+
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file"/>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <!-- site.xml with @href's appended to be context-relative. -->
+      <map:match pattern="abs-linkmap">
+        <map:generate src="content/xdocs/site.xml" />
+        <map:transform src="resources/stylesheets/absolutize-linkmap.xsl" />
+        <map:serialize type="xml" />
+      </map:match>
+
+
+      <!-- Linkmap for regular pages -->
+      <map:match pattern="**linkmap-*">
+        <map:generate src="cocoon://abs-linkmap" />
+        <map:transform src="resources/stylesheets/relativize-linkmap.xsl">
+          <map:parameter name="path" value="{1}{2}" />
+          <map:parameter name="site-root" value="{conf:project-url}" />
+        </map:transform>
+        <map:serialize type="xml" />
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+
+</map:sitemap>
+

Added: incubator/beehive/trunk/site/build/tmp/context/menu.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/menu.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+'book.xml' pipeline, which generates XML that becomes the menu.
+
+Generates  :  Menulinks XML: Variant of site.xml that will become the menu for the current page.
+Generates  :  Book HTML: A HTML menu for the current page.
+Example URL:  http://localhost:8888/community/menulinks-index.html (menu links for community/index.html)
+Example URL:  http://localhost:8888/community/book-index.html (menu for community/index.html)
+Used by    :  **/menu-*.html in sitemap.xmap, 
+Uses       :  content/xdocs/site.xml, or book.xml file if present.
+
+See http://xml.apache.org/forrest/sitemap-ref.html#menu_xml_generation
+
+$Revision: 1.9 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file"/>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+    <map:selectors default="browser">
+      <map:selector logger="sitemap.selector.config" name="config" src="org.apache.cocoon.selection.SimpleSelector" />
+    </map:selectors>
+
+  </map:components>
+
+  <map:pipelines>
+
+    <!-- ============================================================ -->
+    <!-- SOURCE FORMATS                                               -->
+    <!-- ============================================================ -->
+
+    <map:pipeline internal-only="false">
+
+      <map:match pattern="abs-menulinks">
+        <map:generate src="content/xdocs/site.xml" />
+        <map:transform src="resources/stylesheets/absolutize-linkmap.xsl" />
+        <map:transform src="resources/stylesheets/site2site-normalizetabs.xsl" />
+        <map:serialize type="xml"/>
+      </map:match>
+
+      <map:match pattern="**menulinks-*">
+        <map:generate src="content/xdocs/site.xml" />
+        <map:transform src="resources/stylesheets/absolutize-linkmap.xsl" />
+
+        <map:select type="config">
+          <map:parameter name="value" value="{defaults:menu-scheme}"/>
+
+          <map:when test="tab_attributes">
+            <map:transform src="resources/stylesheets/site2site-normalizetabs.xsl" />
+            <map:transform src="resources/stylesheets/site2site-selectnode.xsl">
+              <map:parameter name="path" value="{1}{2}"/>
+            </map:transform>
+          </map:when>
+
+          <map:when test="directories">
+            <map:transform type="xpath">
+              <map:parameter name="include" value="//*[@href='{1}']" />
+            </map:transform>
+          </map:when>
+
+          </map:select>
+
+        <map:transform src="resources/stylesheets/relativize-linkmap.xsl">
+          <map:parameter name="path" value="{1}{2}" />
+        </map:transform>
+        <map:serialize type="xml" />
+      </map:match>
+    </map:pipeline>
+
+    <!-- ============================================================ -->
+    <!-- INTERMEDIATE FORMATS                                         -->
+    <!-- ============================================================ -->
+
+    <map:pipeline>
+      <map:match pattern="**book-*">
+
+        <map:select type="exists">
+
+          <map:when test="content/xdocs/{1}book.xml">
+            <!-- If a hand-created book.xml exists, use it -->
+            <map:parameter name="url" value="content/xdocs/{1}book.xml" />
+            <map:generate src="content/xdocs/{1}book.xml" />
+            <map:serialize type="xml"/>
+          </map:when>
+
+          <map:otherwise>
+            <!-- If no book.xml, generate it from the linkmap. -->
+            <map:generate src="cocoon:/{1}menulinks-{2}" />
+            <!-- The above generates the subset of the linkmap relevant to our directory. -->
+            <map:transform src="resources/stylesheets/site2book.xsl" />
+            <map:serialize type="xml"/>
+          </map:otherwise>
+
+        </map:select>
+
+      </map:match>
+
+    </map:pipeline>
+
+
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/profiler.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/profiler.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+'profiler' pipeline.  Shows how long each pipeline in the Forrest sitemap takes.
+
+To enable this, uncomment the 'profile-caching' pipeline in sitemap.xmap, and set:
+<map:pipes default="profile-caching">
+
+Example URL:  http://localhost:8888/profiler
+Used by    :  Forrest hackers desperate for speed
+Uses       :  Stats collected by the profile-caching pipeline.
+
+$Revision: 1.8 $
+==================================================== -->
+
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file">
+      <map:generator name="profiler" src="org.apache.cocoon.generation.ProfilerGenerator"/>
+    </map:generators>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <map:match pattern="profiler">
+        <map:generate type="profiler"/>
+        <map:transform src="resources/stylesheets/profile2page.xsl">
+          <map:parameter name="use-request-parameters" value="true"/>
+        </map:transform>
+        <map:transform src="resources/stylesheets/page2html.xsl">
+          <map:parameter name="contextPath" value="{request:contextPath}"/>
+        </map:transform>
+
+        <map:serialize/>
+      </map:match>
+
+    </map:pipeline>
+
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/raw.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/raw.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Serves 'raw' content from files in src/documentation/content/
+This allows the inclusion of binary content (*.doc, *.pdf etc) in Forrest sites.
+
+This pipeline *relies* on the caller checking if the content actually exists!
+If the caller doesn't do this, this sitemap's '**' pipeline will match everything.
+
+Generates  :  Exact bytes read from content/**
+Example URL:  http://localhost:8888/blah.doc
+Used by    :  sitemap.xmap
+Uses       :  content/**
+
+$Revision: 1.10 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file">
+      <map:generator name="html" src="org.apache.cocoon.generation.HTMLGenerator" />
+    </map:generators>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:readers default="resource"/>
+    <map:matchers default="wildcard"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <!-- ============================================================ -->
+      <!-- OUTPUT FORMATS                                               -->
+      <!-- ============================================================ -->
+      <map:match pattern="**">
+
+        <map:match pattern="**.html">
+          <!--
+          Use this instead if you want JTidy to clean up your HTML
+          <map:generate type="html" src="content/{0}" />
+          <map:serialize type="html"/>
+          -->
+          <map:read src="content/{0}" mime-type="text/html"/>
+        </map:match>
+
+        <map:match pattern="**.xml">
+          <map:generate type="file" src="content/{0}" />
+          <map:serialize type="xml" />
+        </map:match>
+
+        <map:match pattern="skin/**.css">
+          <map:read src="content/{1}.css" mime-type="text/css" />
+        </map:match>
+
+        <map:match pattern="**.js">
+          <map:read src="content/{0}" mime-type="application/javascript" />
+        </map:match>
+
+        <map:match pattern="**.gif">
+          <map:read src="content/{0}" mime-type="image/gif" />
+        </map:match>
+
+        <map:match pattern="**.png">
+          <map:read src="content/{0}" mime-type="image/png" />
+        </map:match>
+
+        <map:match pattern="**.jpg">
+          <map:read src="content/{0}" mime-type="image/jpeg" />
+        </map:match>
+
+        <map:match pattern="**.jpeg">
+          <map:read src="content/{0}" mime-type="image/jpeg" />
+        </map:match>
+
+        <map:match pattern="**.pdf">
+          <map:read src="content/{0}" mime-type="application/pdf" />
+        </map:match>
+
+        <map:match pattern="**.swf">
+          <map:read src="content/{0}" mime-type="application/x-shockwave-flash" />
+        </map:match>
+
+        <map:match pattern="**.txt">
+          <map:read src="content/{0}" mime-type="text/plain" />
+        </map:match>
+
+        <map:match pattern="**">
+          <map:read src="content/{1}"/>
+        </map:match>
+
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/resources.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources.xmap	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,117 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Pipelines for resources (css, images, javascript etc).
+
+
+Generates  :  CSS, images (possibly from SVG), javascript.
+Example URL:  http://localhost:8888/images/project-logo.gif
+Used by    :  sitemap.xmap
+Uses       :  resources/*, skins/*/{css,images}
+
+$Revision: 1.4 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:components>
+    <map:generators default="file"/>
+    <map:serializers default="html">
+      <map:serializer name="svg2jpeg" mime-type="image/jpeg" src="org.apache.cocoon.serialization.SVGSerializer">
+        <parameter name="quality" type="float" value="1.0"/>
+      </map:serializer>
+      <map:serializer mime-type="image/png" name="svg2png" src="org.apache.cocoon.serialization.SVGSerializer"/>
+    </map:serializers>
+ 
+    <map:transformers default="xslt"/>
+    <map:readers default="resource"/>
+    <map:matchers default="wildcard"/>
+    <map:selectors default="browser"/>
+  </map:components>
+
+  <map:resources>
+    <map:resource name="skin-read">
+      <map:read src="skins/{forrest:skin}/{path}" mime-type="{mime-type}" />
+    </map:resource>
+  </map:resources>
+
+  <map:pipelines>
+
+    <map:pipeline>
+      <map:match pattern="skin/**.js">
+        <map:call resource="skin-read">
+          <map:parameter name="path" value="scripts/{1}.js" />
+          <map:parameter name="mime-type" value="application/x-javascript" />
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**/skin/**.js">
+        <map:call resource="skin-read">
+          <map:parameter name="path" value="scripts/{2}.js" />
+          <map:parameter name="mime-type" value="application/x-javascript" />
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**.js">
+        <map:read src="resources/scripts/{1}.js" mime-type="application/x-javascript" />
+      </map:match>
+
+      <map:match pattern="skin/**.css">
+        <map:call resource="skin-read">
+          <map:parameter name="path" value="css/{1}.css" />
+          <map:parameter name="mime-type" value="text/css" />
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**/skin/**.css">
+        <map:call resource="skin-read">
+          <map:parameter name="path" value="css/{2}.css" />
+          <map:parameter name="mime-type" value="text/css" />
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**.css">
+        <map:read src="resources/css/{1}.css" mime-type="text/css" />
+      </map:match>
+
+      <map:match pattern="skin/images/**.*">
+        <map:call resource="skin-read">
+          <map:parameter name="path" value="images/{1}.{2}" />
+          <map:parameter name="mime-type" value="image/{2}" />
+        </map:call>
+      </map:match>
+
+      <!-- DS: handles images local to a contributor directory -->
+      <map:match pattern="**my-images/**.*">
+        <map:read src="content/xdocs/{1}my-images/{2}.{3}" mime-type="image/{3}" />
+      </map:match>
+
+      <map:match pattern="images/**.png">
+        <map:select type="exists">
+          <map:when test="resources/images/{1}.svg">
+            <map:generate src="resources/images/{1}.svg" />
+	    <map:transform src="resources/stylesheets/project2text.xsl" />
+            <map:serialize type="svg2png" />
+          </map:when>
+          <map:otherwise>
+            <map:read src="resources/images/{1}.png" mime-type="image/png" />
+          </map:otherwise>
+        </map:select>
+      </map:match>
+
+      <map:match pattern="images/**.*">
+        <map:read src="resources/images/{1}.{2}" mime-type="image/{2}" />
+      </map:match>
+
+      <map:match pattern="**/images/**.*">
+        <map:read src="resources/images/{2}.{3}" mime-type="image/{3}" />
+      </map:match>
+
+      <map:match pattern="**favicon.ico">
+        <map:call resource="skin-read">
+          <map:parameter name="path" value="images/favicon.ico" />
+          <map:parameter name="mime-type" value="image/x-icon" />
+        </map:call>
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grammar-v20.dtd
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grammar-v20.dtd	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,29 @@
+<!-- GRAMMAR DTD -->
+<!ELEMENT grammar ((priority)?,(associativity)*,(production)*, start)>
+
+<!-- PRIORITY -->
+<!ELEMENT priority (terminal)+>
+
+<!-- PRODUCTION -->
+<!ELEMENT associativity EMPTY>
+<!ATTLIST associativity symbol CDATA    #REQUIRED
+                        type   (left|right|nonassoc) "nonassoc">
+               
+<!-- PRODUCTION -->
+<!ELEMENT production (terminal|nonterminal)+>
+<!ATTLIST production symbol     CDATA    #REQUIRED
+                     precedence CDATA    #IMPLIED>
+
+<!-- TOKEN REFERENZ -->
+<!ELEMENT terminal EMPTY>
+<!ATTLIST terminal symbol CDATA    #REQUIRED>
+
+<!-- TOKEN REFERENZ -->
+<!ELEMENT nonterminal EMPTY>
+<!ATTLIST nonterminal symbol CDATA    #REQUIRED>
+
+<!-- START SYMBOL -->
+<!ELEMENT start EMPTY>
+<!ATTLIST start symbol CDATA    #REQUIRED>
+
+

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm.xgrm
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm.xgrm	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,103 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE grammar PUBLIC "-//Chaperon//DTD grammar 2.0//EN" "grammar-v20.dtd">
+
+<grammar>
+
+ <production symbol="grammar">
+  <nonterminal symbol="token_decls"/><terminal symbol="delimiter"/>
+  <nonterminal symbol="production_decls"/>
+ </production>
+
+ <production symbol="token_decls">
+  <nonterminal symbol="token_decls"/> <nonterminal symbol="token_decl"/>
+ </production>
+
+ <production symbol="token_decls">
+  <nonterminal symbol="token_decl"/>
+ </production>
+
+ <production symbol="token_decls">
+  <nonterminal symbol="token_decls"/><nonterminal symbol="start_decl"/>
+ </production>
+
+ <production symbol="token_decls">
+  <nonterminal symbol="start_decl"/>
+ </production>
+
+ <production symbol="token_decls">
+  <nonterminal symbol="token_decls"/><nonterminal symbol="ignorabletoken_decl"/>
+ </production>
+
+ <production symbol="token_decls">
+  <nonterminal symbol="ignorabletoken_decl"/>
+ </production>
+
+ <production symbol="token_decls">
+  <nonterminal symbol="token_decls"/><nonterminal symbol="ab_decl"/>
+ </production>
+  
+ <production symbol="token_decls">
+  <nonterminal symbol="ab_decl"/>
+ </production>
+
+ <production symbol="token_decl">
+  <terminal symbol="token_decl"/><terminal symbol="id"/>
+  <terminal symbol="string"/><terminal symbol="semicolon"/>
+ </production>
+
+ <production symbol="start_decl">
+  <terminal symbol="start_decl"/><terminal symbol="id"/><terminal symbol="semicolon"/>
+ </production>
+
+ <production symbol="ignorabletoken_decl">
+  <terminal symbol="ignorabletoken_decl"/><terminal symbol="string"/><terminal symbol="semicolon"/>
+ </production>
+
+ <production symbol="ab_decl">
+  <terminal symbol="ab_decl"/><terminal symbol="id"/>
+  <terminal symbol="string"/><terminal symbol="semicolon"/>
+ </production>
+
+ <production symbol="production_decls">
+  <nonterminal symbol="production_decls"/><nonterminal symbol="production_decl"/>
+ </production>
+
+ <production symbol="production_decls">
+  <nonterminal symbol="production_decl"/>
+ </production>
+
+ <production symbol="production_decl">
+  <terminal symbol="id"/><terminal symbol="colon"/><nonterminal symbol="production_defs"/>
+  <terminal symbol="semicolon"/>
+ </production>
+
+ <production symbol="production_defs">
+  <nonterminal symbol="production_defs"/><terminal symbol="alt"/><nonterminal symbol="production_def"/>
+ </production>
+ 
+ <production symbol="production_defs">
+  <nonterminal symbol="production_def"/>
+ </production>
+
+ <production symbol="prec_decl">
+  <terminal symbol="prec_decl"/><terminal symbol="id"/>
+ </production>
+
+ <production symbol="production_def">
+  <nonterminal symbol="ids"/>
+ </production>
+
+ <production symbol="production_def">
+  <nonterminal symbol="ids"/><nonterminal symbol="prec_decl"/>
+ </production>
+
+ <production symbol="ids">
+  <nonterminal symbol="ids"/><terminal symbol="id"/>
+ </production>
+
+ <production symbol="ids">
+  <terminal symbol="id"/>
+ </production>
+
+ <start symbol="grammar"/>
+</grammar>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm.xlex
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm.xlex	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,95 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE lexicon PUBLIC "-//Chaperon//DTD lexicon 2.0//EN" "lexicon-v20.dtd">
+
+<lexicon>
+
+ <lexeme symbol="token_decl">
+  <alt>
+   <cstring content="%token"/>
+   <cstring content="%left"/>
+   <cstring content="%right"/>
+  </alt>
+ </lexeme>
+
+ <lexeme symbol="ab_decl">
+  <cstring content="%ab"/>
+ </lexeme>
+
+ <lexeme symbol="start_decl">
+  <cstring content="%start"/>
+ </lexeme>
+
+ <lexeme symbol="ignorabletoken_decl">
+  <cstring content="%ignore"/>
+ </lexeme>
+
+ <lexeme symbol="prec_decl">
+  <cstring content="%prec"/>
+ </lexeme>
+
+ <lexeme symbol="delimiter">
+  <cstring content="%%"/>
+ </lexeme>
+
+ <lexeme symbol="colon">
+  <cstring content=":"/>
+ </lexeme>
+
+ <lexeme symbol="alt">
+  <cstring content="|"/>
+ </lexeme>
+
+ <lexeme symbol="semicolon">
+  <cstring content=";"/>
+ </lexeme>
+
+ <lexeme symbol="string">
+  <concat>
+   <cstring content="&#34;"/>
+   <alt minOccurs="1" maxOccurs="*">
+    <cclass exclusive="true"><cset content="&#92;&#34;"/></cclass>
+    <concat><cstring content="&#92;"/><cclass exclusive="true"><cset content="u"/></cclass></concat>
+    <concat>
+     <cstring content="&#92;u"/>
+     <cclass><cinterval min="0" max="9"/><cinterval min="a" max="f"/><cinterval min="A" max="F"/></cclass>
+     <cclass><cinterval min="0" max="9"/><cinterval min="a" max="f"/><cinterval min="A" max="F"/></cclass>
+     <cclass><cinterval min="0" max="9"/><cinterval min="a" max="f"/><cinterval min="A" max="F"/></cclass>
+     <cclass><cinterval min="0" max="9"/><cinterval min="a" max="f"/><cinterval min="A" max="F"/></cclass>
+    </concat>
+   </alt>
+   <cstring content="&#34;"/>
+  </concat>
+ </lexeme>
+
+ <lexeme symbol="id">
+  <concat>
+   <cclass><cinterval min="A" max="Z"/><cinterval min="a" max="z"/></cclass>
+   <cclass minOccurs="0" maxOccurs="*">
+    <cinterval min="A" max="Z"/><cinterval min="a" max="z"/><cinterval min="0" max="9"/><cset content="_"/>
+   </cclass>
+  </concat>
+ </lexeme>
+
+ <lexeme>
+  <alt>
+   <concat>
+    <cstring content="//"/>
+    <cclass exclusive="true" minOccurs="0" maxOccurs="*">
+     <cset content="&#10;&#13;"/>
+    </cclass>
+   </concat>
+   <concat>
+    <cstring content="/*"/>
+    <alt minOccurs="0" maxOccurs="*">
+     <cclass exclusive="true"><cset content="*"/></cclass>
+     <concat><cstring content="*"/><cclass exclusive="true"><cset content="/"/></cclass></concat>
+    </alt>
+    <cstring content="*/"/>
+   </concat>
+  </alt>
+ </lexeme>
+ 
+ <lexeme> 
+  <cclass maxOccurs="*"><cset content="&#10;&#13;&#9;&#32;"/></cclass>
+ </lexeme>
+</lexicon>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm2xgrm.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm2xgrm.xsl	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+                xmlns:st="http://chaperon.sourceforge.net/schema/syntaxtree/1.0"
+                xmlns="http://chaperon.sourceforge.net/schema/grammar/1.0"
+                exclude-result-prefixes="st text">
+
+ <xsl:output indent="yes" method="xml" encoding="ASCII"/>
+
+ <xsl:template match="st:grammar" >
+  <grammar><xsl:comment>This file was generated! Don't edit!</xsl:comment>
+   <priority>
+    <xsl:apply-templates select="st:token_decls/st:token_decl" mode="priority"/>
+   </priority>
+   <xsl:apply-templates select="st:token_decls/st:token_decl" mode="associativity"/>
+   <xsl:apply-templates select="st:production_decls"/>
+   <xsl:apply-templates select="st:token_decls/st:start_decl"/>
+  </grammar>
+ </xsl:template>
+
+ <xsl:template match="st:token_decl" mode="priority">
+  <terminal symbol="{st:id}"/>
+ </xsl:template>
+
+ <xsl:template match="st:token_decl" mode="associativity">
+  <xsl:if test="st:token_decl = '%left'">
+   <associativity symbol="{st:id}" type="left"/>
+  </xsl:if>
+  <xsl:if test="st:token_decl = '%right'">
+   <associativity symbol="{st:id}" type="right"/>
+  </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="st:production_decls" >
+  <xsl:for-each select="st:production_decl/st:production_defs/st:production_def">
+   <production>
+    <xsl:attribute name="symbol"><xsl:value-of select="../../st:id"/></xsl:attribute>
+     
+    <xsl:if test="st:prec_decl">
+     <xsl:attribute name="precedence"><xsl:value-of select="st:prec_decl/st:id"/></xsl:attribute>
+    </xsl:if>
+
+    <xsl:apply-templates select="st:ids/st:id"/>
+   </production>
+  </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template match="st:id" >
+  <xsl:variable name="symbol" select="text()"/>
+  <xsl:choose>
+   <xsl:when test="/st:grammar/st:token_decls/st:token_decl/st:id[.=$symbol]">
+    <terminal symbol="{.}"/>
+   </xsl:when>
+   <xsl:otherwise>
+    <nonterminal symbol="{.}"/>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:start_decl" >
+  <start symbol="{st:id}"/>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm2xlex.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/grm2xlex.xsl	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,224 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+                xmlns:st="http://chaperon.sourceforge.net/schema/syntaxtree/1.0"
+                xmlns="http://chaperon.sourceforge.net/schema/lexicon/1.0"
+                exclude-result-prefixes="st text">
+
+ <xsl:output indent="yes" method="xml" encoding="ASCII"/>
+
+ <xsl:template match="st:grammar" >
+  <lexicon><xsl:comment>This file was generated! Don't edit!</xsl:comment>
+   <xsl:apply-templates select="st:token_decls/st:token_decl | st:token_decls/st:ignorabletoken_decl"/>
+  </lexicon>
+ </xsl:template>
+
+ <xsl:template match="st:token_decl" >
+  <lexeme symbol="{st:id}">
+   <xsl:if test="st:token_decl = '%left'">
+    <xsl:attribute name="assoc">left</xsl:attribute>
+   </xsl:if>
+   <xsl:if test="st:token_decl = '%right'">
+    <xsl:attribute name="assoc">right</xsl:attribute>
+   </xsl:if>
+   <xsl:apply-templates select="st:regexexpression"/>
+  </lexeme>
+ </xsl:template>
+
+ <xsl:template match="st:ignorabletoken_decl" >
+  <lexeme>
+   <xsl:apply-templates select="st:regexexpression"/>
+  </lexeme>
+ </xsl:template>
+
+ <xsl:template match="st:regexexpression" >
+  <xsl:apply-templates select="st:regexalternation"/>
+ </xsl:template>
+
+ <xsl:template match="st:regexalternation" >
+  <xsl:choose>
+   <xsl:when test="count(st:regexconcatenation)>1">
+    <alt>
+     <xsl:apply-templates select="st:regexconcatenation"/>
+    </alt>
+   </xsl:when>
+   <xsl:otherwise>
+    <xsl:apply-templates select="st:regexconcatenation"/>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:regexconcatenation" >
+  <xsl:choose>
+   <xsl:when test="count(st:regexquantifier)>1">
+    <concat>
+     <xsl:apply-templates select="st:regexquantifier"/>
+    </concat>
+   </xsl:when>
+   <xsl:otherwise>
+    <xsl:apply-templates select="st:regexquantifier"/>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:regexquantifier" >
+  <xsl:apply-templates select="st:regexoptional|st:regexstar|st:regexplus|st:regexterm|st:regexvar"/>
+ </xsl:template>
+
+ <xsl:template match="st:regexoptional" >
+  <concat minOccurs="0" maxOccurs="1">
+   <xsl:apply-templates select="st:regexterm"/>
+  </concat>
+ </xsl:template>
+
+ <xsl:template match="st:regexstar" >
+  <concat minOccurs="0" maxOccurs="*">
+   <xsl:apply-templates select="st:regexterm"/>
+  </concat>
+ </xsl:template>
+
+ <xsl:template match="st:regexplus" >
+  <concat minOccurs="1" maxOccurs="*">
+   <xsl:apply-templates select="st:regexterm"/>
+  </concat>
+ </xsl:template>
+
+ <xsl:template match="st:regexvar">
+  <xsl:choose>
+   <xsl:when test="count(st:regexmultiplicator/st:string)=2">
+    <concat>
+     <xsl:attribute name="minOccurs"><xsl:value-of select="normalize-space(st:regexmultiplicator/st:string[1])"/></xsl:attribute>
+     <xsl:attribute name="maxOccurs"><xsl:value-of select="normalize-space(st:regexmultiplicator/st:string[2])"/></xsl:attribute>
+     <xsl:apply-templates select="st:regexterm"/>
+    </concat>
+   </xsl:when>
+   <xsl:otherwise>
+    <concat>
+     <xsl:attribute name="minOccurs"><xsl:value-of select="normalize-space(st:regexmultiplicator/st:string)"/></xsl:attribute>
+     <xsl:attribute name="maxOccurs"><xsl:value-of select="normalize-space(st:regexmultiplicator/st:string)"/></xsl:attribute>
+     <xsl:apply-templates select="st:regexterm"/>
+    </concat>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:regexterm">
+  <xsl:apply-templates select="st:characterclass|st:exclusivecharacterclass|st:regexklammer|st:string|st:maskedcharacter|st:regexdot|st:regexbol|st:regexabref"/>
+ </xsl:template>
+
+ <xsl:template match="st:regexklammer">
+  <xsl:apply-templates select="st:regexalternation"/>
+ </xsl:template>
+
+ <xsl:template match="st:regexdot">
+  <cclass exclusive="true">
+   <cset code="10"/>
+   <cset code="13"/>
+  </cclass>
+ </xsl:template>
+
+ <xsl:template match="st:regexbol">
+  <bol/>
+ </xsl:template>
+
+ <xsl:template match="st:regexeol">
+  <eol/>
+ </xsl:template>
+
+ <xsl:template match="st:regexabref">
+  <xsl:variable name="ref" select="translate(normalize-space(st:string), ' ', '')"/>
+  <xsl:apply-templates select="/st:grammar/st:token_decls/st:ab_decl[st:id=$ref]/st:regexexpression"/>
+ </xsl:template>
+
+ <xsl:template match="st:string" mode="name">
+  <xsl:for-each select="st:character"><xsl:value-of select="normalize-space(.)"/></xsl:for-each>
+ </xsl:template>
+
+ <xsl:template match="st:string">
+  <cstring>
+   <xsl:attribute name="content"><xsl:apply-templates select="st:character" mode="string"/></xsl:attribute>
+  </cstring>
+ </xsl:template>
+
+ <xsl:template match="st:characterclass">
+  <cclass>
+   <xsl:apply-templates select="st:sequence"/>
+  </cclass>
+ </xsl:template>
+
+ <xsl:template match="st:exclusivecharacterclass" >
+  <cclass exclusive="true">
+   <xsl:apply-templates select="st:sequence"/>
+  </cclass>
+ </xsl:template>
+
+ <xsl:template match="st:sequence">
+  <xsl:apply-templates select="st:character|st:maskedcharacter|st:intervall" mode="cclass"/>
+ </xsl:template>
+
+ <xsl:template match="st:character" mode="cclass">
+  <cset>
+   <xsl:attribute name="content"><xsl:value-of select="translate(normalize-space(.), ' ', '')"/></xsl:attribute>
+  </cset>
+ </xsl:template>
+
+ <xsl:template match="st:maskedcharacter" mode="cclass">
+  <cset>
+   <xsl:choose>
+    <xsl:when test="substring(translate(normalize-space(.), ' ', ''), 2,1) = 'n'">
+     <xsl:attribute name="code">10</xsl:attribute>
+    </xsl:when>
+    <xsl:when test="substring(translate(normalize-space(.), ' ', ''), 2,1) = 'r'">
+     <xsl:attribute name="code">13</xsl:attribute>
+    </xsl:when>
+    <xsl:when test="substring(translate(normalize-space(.), ' ', ''), 2,1) = 't'">
+     <xsl:attribute name="code">9</xsl:attribute>
+    </xsl:when>
+    <xsl:when test="substring(translate(normalize-space(.), ' ', ''), 2,1) = 'u'">
+     <xsl:attribute name="code">#<xsl:value-of select="substring(translate(normalize-space(.), ' ', ''),2,6)"/></xsl:attribute>
+    </xsl:when>
+    <xsl:when test="contains(.,'\ ')">
+     <xsl:attribute name="content"><xsl:text disable-output-escaping="yes">&#32;</xsl:text></xsl:attribute>
+    </xsl:when>
+    <xsl:otherwise>
+     <xsl:attribute name="content"><xsl:value-of select="substring(translate(normalize-space(.), ' ', ''), 2,1)"/></xsl:attribute>
+    </xsl:otherwise>
+   </xsl:choose>
+  </cset>
+ </xsl:template>
+
+ <xsl:template match="st:character" mode="string">
+  <xsl:value-of select="translate(normalize-space(.), ' ', '')"/>
+ </xsl:template>
+ 
+ <xsl:template match="st:maskedcharacter">
+  <xsl:choose>
+    <xsl:when test="substring(translate(normalize-space(.), ' ', ''), 2,1) = 'n'">
+     <cstring code="10"/>
+    </xsl:when>
+    <xsl:when test="substring(translate(normalize-space(.), ' ', ''), 2,1) = 'r'">
+     <cstring code="13"/>
+    </xsl:when>
+    <xsl:when test="substring(translate(normalize-space(.), ' ', ''), 2,1) = 't'">
+     <cstring code="9"/>
+    </xsl:when>
+    <xsl:when test="substring(translate(normalize-space(.), ' ', ''), 2,1) = 'u'">
+     <cstring code="#{substring(translate(normalize-space(.), ' ', ''), 2,6)}"/>
+    </xsl:when>
+    <xsl:when test="contains(.,'\ ')">
+     <cstring content=" "/>
+    </xsl:when>
+    <xsl:otherwise>
+     <cstring content="{substring(translate(normalize-space(.), ' ', ''),2,1)}"/>
+    </xsl:otherwise>
+   </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:intervall" mode="cclass">
+  <cinterval>
+   <xsl:attribute name="min"><xsl:value-of select="st:character[1]"/></xsl:attribute>
+   <xsl:attribute name="max"><xsl:value-of select="st:character[2]"/></xsl:attribute>
+  </cinterval>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/lexicon-v20.dtd
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/lexicon-v20.dtd	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,45 @@
+<!-- LEXICON DTD -->
+<!ELEMENT lexicon (lexeme)+>
+               
+<!-- LEXEME -->
+<!ELEMENT lexeme (concat|alt|cstring|cclass|cuniversal|bol|eol)>
+<!ATTLIST lexeme symbol      CDATA    #IMPLIED>
+
+<!-- CONCATENATION -->
+<!ELEMENT concat (concat|alt|cstring|cclass|cuniversal|bol|eol)+>
+<!ATTLIST concat minOccurs CDATA "1"
+                 maxOccurs CDATA "1">
+
+<!-- ALTERNATION -->
+<!ELEMENT alt (concat|alt|cstring|cclass|cuniversal|bol|eol)+>
+<!ATTLIST alt minOccurs CDATA "1"
+              maxOccurs CDATA "1">
+
+<!-- CHARACTER STRING -->
+<!ELEMENT cstring EMPTY>
+<!ATTLIST cstring content CDATA    #REQUIRED
+                  minOccurs CDATA "1"
+                  maxOccurs CDATA "1">
+
+<!-- UNIVERSAL CHARACTER -->
+<!ELEMENT cuniversal EMPTY>
+<!ATTLIST cuniversal minOccurs CDATA "1"
+                     maxOccurs CDATA "1">
+
+<!-- CHARACTER CLASS -->
+<!ELEMENT cclass (cset|cinterval)+>
+<!ATTLIST cclass exclusive (true|false) "false"
+                 minOccurs CDATA "1"
+                 maxOccurs CDATA "1">
+
+<!-- CHARACTER SET  -->
+<!ELEMENT cset EMPTY>   
+<!ATTLIST cset content  CDATA #REQUIRED>
+
+<!-- CHARACTER INTERVALL -->
+<!ELEMENT cinterval EMPTY>   
+<!ATTLIST cinterval min  CDATA #REQUIRED
+                    max  CDATA #REQUIRED>
+
+
+

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/link.xlex
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/link.xlex	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<!DOCTYPE lexicon PUBLIC "-//Chaperon//DTD lexicon 2.0//EN" "lexicon-v20.dtd">
+
+<lexicon>
+ <!-- (([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? -->
+ <lexeme symbol="link">
+  <concat>
+   <concat>
+    <cclass maxOccurs="*">
+     <cinterval min="A" max="Z"/>
+     <cinterval min="a" max="z"/>
+    </cclass>
+    <cstring content=":"/>
+    <cstring content="/"/>
+   </concat>
+ 
+   <concat minOccurs="0">
+    <cstring content="/"/>
+    <cclass minOccurs="0" maxOccurs="*">
+     <cinterval min="A" max="Z"/>
+     <cinterval min="a" max="z"/>
+     <cinterval min="0" max="9"/>
+     <cset content="._-:"/>
+    </cclass>
+   </concat>
+ 
+   <cclass minOccurs="0" maxOccurs="*">
+    <cinterval min="A" max="Z"/>
+    <cinterval min="a" max="z"/>
+    <cinterval min="0" max="9"/>
+    <cset content="._-:/"/>
+   </cclass>
+
+   <concat minOccurs="0">
+    <cstring content="?"/>
+    <cclass minOccurs="0" maxOccurs="*">
+     <cinterval min="A" max="Z"/>
+     <cinterval min="a" max="z"/>
+     <cinterval min="0" max="9"/>
+     <cset content="._-:/?"/>
+    </cclass>
+   </concat>
+
+   <concat minOccurs="0">
+    <cstring content="#"/>
+    <cclass minOccurs="0" maxOccurs="*">
+     <cinterval min="A" max="Z"/>
+     <cinterval min="a" max="z"/>
+     <cinterval min="0" max="9"/>
+     <cset content="._-:/?#"/>
+    </cclass>
+   </concat>
+  </concat>
+ </lexeme>
+
+ <lexeme symbol="email">
+  <concat>
+   <concat>
+    <group>
+     <cclass maxOccurs="*">
+      <cinterval min="A" max="Z"/>
+      <cinterval min="a" max="z"/>
+      <cinterval min="0" max="9"/>
+      <cset content="._-:"/>
+     </cclass>
+    </group>
+    <cstring content="@"/>
+    <group>
+     <cclass maxOccurs="*">
+      <cinterval min="A" max="Z"/>
+      <cinterval min="a" max="z"/>
+      <cinterval min="0" max="9"/>
+      <cset content="._-:"/>
+     </cclass>
+    </group>
+   </concat>
+  </concat>
+ </lexeme>
+</lexicon>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/regex.xgrm
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/regex.xgrm	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,192 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE grammar PUBLIC "-//Chaperon//DTD grammar 2.0//EN" "grammar-v20.dtd">
+<grammar>
+ <priority>
+  <terminal symbol="plus"/>
+ </priority>
+
+ <associativity symbol="plus" type="right"/>
+
+ <production symbol="intervall">
+  <terminal symbol="character"/><terminal symbol="minus"/><terminal symbol="character"/>
+ </production>
+
+ <production symbol="intervall">
+  <terminal symbol="maskedcharacter"/><terminal symbol="minus"/><terminal symbol="character"/>
+ </production>
+
+ <production symbol="intervall">
+  <terminal symbol="character"/><terminal symbol="minus"/><terminal symbol="maskedcharacter"/>
+ </production>
+
+ <production symbol="intervall">
+  <terminal symbol="maskedcharacter"/><terminal symbol="minus"/><terminal symbol="maskedcharacter"/>
+ </production>
+
+ <production symbol="sequence">
+  <nonterminal symbol="sequence"/><nonterminal symbol="intervall"/>
+ </production>
+
+ <production symbol="sequence">
+  <nonterminal symbol="sequence"/><terminal symbol="character"/>
+ </production>
+
+ <production symbol="sequence">
+  <nonterminal symbol="sequence"/><terminal symbol="maskedcharacter"/>
+ </production>
+
+ <production symbol="sequence">
+  <nonterminal symbol="intervall"/>
+ </production>
+
+ <production symbol="sequence">
+  <terminal symbol="character"/>
+ </production>
+
+ <production symbol="sequence">
+  <terminal symbol="maskedcharacter"/>
+ </production>
+
+ <production symbol="string">
+  <nonterminal symbol="string"/><terminal symbol="character"/>
+ </production>
+
+<!-- <production symbol="string">
+  <nonterminal symbol="string"/><terminal symbol="maskedcharacter"/>
+ </production>-->
+
+ <production symbol="string">
+  <terminal symbol="character"/>
+ </production>
+
+<!-- <production symbol="string">
+  <terminal symbol="maskedcharacter"/>
+ </production>-->
+
+ <production symbol="characterclass">
+  <terminal symbol="ccbegin"/><nonterminal symbol="sequence"/><terminal symbol="ccend"/>
+ </production>
+
+ <production symbol="exclusivecharacterclass">
+  <terminal symbol="ccbegin"/><terminal symbol="hat"/><nonterminal symbol="sequence"/><terminal symbol="ccend"/>
+ </production>
+
+ <production symbol="regexdot">
+  <terminal symbol="regexdot"/>
+ </production>
+
+ <production symbol="regexbol">
+  <terminal symbol="hat"/>
+ </production>
+
+ <production symbol="regexeol">
+  <terminal symbol="dollar"/>
+ </production>
+
+ <production symbol="regexklammer">
+  <terminal symbol="dopen"/><nonterminal symbol="regexalternation"/><terminal symbol="dclose"/>
+ </production>
+
+ <production symbol="regexabref">
+  <terminal symbol="abopen"/><nonterminal symbol="string"/><terminal symbol="abclose"/>
+ </production>
+
+ <production symbol="regexterm">
+  <nonterminal symbol="characterclass"/>
+ </production>
+
+ <production symbol="regexterm">
+  <nonterminal symbol="exclusivecharacterclass"/>
+ </production>
+
+ <production symbol="regexterm">
+  <nonterminal symbol="regexklammer"/>
+ </production>
+
+ <production symbol="regexterm">
+  <nonterminal symbol="string"/>
+ </production>
+
+ <production symbol="regexterm">
+  <terminal symbol="maskedcharacter"/>
+ </production>
+
+ <production symbol="regexterm">
+  <nonterminal symbol="regexdot"/>
+ </production>
+
+ <production symbol="regexterm">
+  <nonterminal symbol="regexbol"/>
+ </production>
+
+ <production symbol="regexterm">
+  <nonterminal symbol="regexabref"/>
+ </production>
+
+ <production symbol="regexoptional">
+  <nonterminal symbol="regexterm"/><terminal symbol="questionmark"/>
+ </production>
+
+ <production symbol="regexstar">
+  <nonterminal symbol="regexterm"/><terminal symbol="mult"/>
+ </production>
+
+ <production symbol="regexplus">
+  <nonterminal symbol="regexterm"/><terminal symbol="plus"/>
+ </production>
+
+ <production symbol="regexmultiplicator">
+  <terminal symbol="copen"/><nonterminal symbol="string"/><terminal symbol="cclose"/>
+ </production>
+
+ <production symbol="regexmultiplicator">
+  <terminal symbol="copen"/><nonterminal symbol="string"/>
+  <terminal symbol="comma"/><nonterminal symbol="string"/><terminal symbol="cclose"/>
+ </production>
+
+ <production symbol="regexvar">
+  <nonterminal symbol="regexterm"/><nonterminal symbol="regexmultiplicator"/>
+ </production>
+
+ <production symbol="regexquantifier">
+  <nonterminal symbol="regexoptional"/>
+ </production>
+
+ <production symbol="regexquantifier">
+  <nonterminal symbol="regexstar"/>
+ </production>
+
+ <production symbol="regexquantifier">
+  <nonterminal symbol="regexplus"/>
+ </production>
+
+ <production symbol="regexquantifier" precedence="plus">
+  <nonterminal symbol="regexterm"/>
+ </production>
+
+ <production symbol="regexquantifier">
+  <nonterminal symbol="regexvar"/>
+ </production>
+
+ <production symbol="regexconcatenation">
+  <nonterminal symbol="regexconcatenation"/><nonterminal symbol="regexquantifier"/>
+ </production>
+
+ <production symbol="regexconcatenation">
+  <nonterminal symbol="regexquantifier"/>
+ </production>
+
+ <production symbol="regexalternation">
+  <nonterminal symbol="regexalternation"/><terminal symbol="alt"/><nonterminal symbol="regexconcatenation"/>
+ </production>
+
+ <production symbol="regexalternation">
+  <nonterminal symbol="regexconcatenation"/>
+ </production>
+
+ <production symbol="regexexpression">
+  <nonterminal symbol="regexalternation"/>
+ </production>
+
+ <start symbol="regexexpression"/>
+</grammar>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/regex.xlex
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/regex.xlex	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,102 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE lexicon PUBLIC "-//Chaperon//DTD lexicon 2.0//EN" "lexicon-v20.dtd">
+
+<lexicon>
+
+ <lexeme symbol="alt">
+  <cstring content="|"/>
+ </lexeme>
+
+ <lexeme symbol="comma">
+  <cstring content=","/>
+ </lexeme>
+
+ <lexeme symbol="copen">
+  <cstring content="{"/>
+ </lexeme>
+
+ <lexeme symbol="cclose">
+  <cstring content="}"/>
+ </lexeme>
+
+ <lexeme symbol="abopen">
+  <cstring content="&lt;"/>
+ </lexeme>
+
+ <lexeme symbol="abclose">
+  <cstring content=">"/>
+ </lexeme>
+
+ <lexeme symbol="character">
+  <cclass exclusive="true">
+   <cset content="&#92;[]-&#10;&#13;&#32;()[]|+?*^$.&lt;>&#34;"/>
+  </cclass>
+ </lexeme>
+
+ <lexeme symbol="maskedcharacter">
+  <alt>
+   <concat>
+    <cstring content="&#92;"/>
+    <cclass exclusive="true">
+     <cset content="u"/>
+    </cclass>
+   </concat>
+   <concat>
+    <cstring content="&#92;u"/>
+    <cclass><cinterval min="0" max="9"/><cinterval min="a" max="f"/><cinterval min="A" max="F"/></cclass>
+    <cclass><cinterval min="0" max="9"/><cinterval min="a" max="f"/><cinterval min="A" max="F"/></cclass>
+    <cclass><cinterval min="0" max="9"/><cinterval min="a" max="f"/><cinterval min="A" max="F"/></cclass>
+    <cclass><cinterval min="0" max="9"/><cinterval min="a" max="f"/><cinterval min="A" max="F"/></cclass>
+   </concat>
+  </alt>
+ </lexeme>
+
+ <lexeme symbol="minus">
+  <cstring content="-"/>
+ </lexeme>
+
+ <lexeme symbol="hat">
+  <cstring content="^"/>
+ </lexeme>
+
+ <lexeme symbol="dollar">
+  <cstring content="$"/>
+ </lexeme>
+
+ <lexeme symbol="ccbegin">
+  <cstring content="["/>
+ </lexeme>
+
+ <lexeme symbol="ccend">
+  <cstring content="]"/>
+ </lexeme>
+
+ <lexeme symbol="regexdot">
+  <cstring content="."/>
+ </lexeme>
+
+ <lexeme symbol="dopen">
+  <cstring content="("/>
+ </lexeme>
+
+ <lexeme symbol="dclose">
+  <cstring content=")"/>
+ </lexeme>
+
+ <lexeme symbol="questionmark">
+  <cstring content="?"/>
+ </lexeme>
+
+ <lexeme symbol="mult">
+  <cstring content="*"/>
+ </lexeme>
+
+ <lexeme symbol="plus">
+  <cstring content="+"/>
+ </lexeme>
+
+ <lexeme> 
+  <cclass maxOccurs="*"><cset content="&#10;&#13;&#9;&#32;"/></cclass>
+ </lexeme>
+
+</lexicon>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/text4regex.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/text4regex.xsl	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:st="http://chaperon.sourceforge.net/schema/syntaxtree/1.0"
+    xmlns:text="http://chaperon.sourceforge.net/schema/text/1.0"
+    exclude-result-prefixes="st">
+
+ <xsl:output encoding="ASCII"/>
+
+ <xsl:template match="st:string">
+  <text:text><xsl:value-of select="substring(.,2,string-length(.)-2)"/></text:text>
+ </xsl:template>
+
+  <xsl:template match="@*|*|text()|processing-instruction()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.grm
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.grm	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,168 @@
+
+%token line "\-\-\-\- (\-+)";
+
+%token bulleteditem "\*+";
+
+%token numbered1item "#";
+%token numbered2item "##";
+%token numbered3item "###";
+
+%token tabletitleitem  "\|\|";
+%token tablecolumnitem "\|";
+
+%token titleitem "!+";
+
+%token emitem "''";
+
+%token codeopenitem "\{\{";
+%token codecloseitem "\}\}";
+
+%token strongitem "__";
+
+%token source "\{\{\{ (\}{0,2}[^\}])* \}\}\}";
+
+%token anchor "\[( [^\[\|\]]* \| )? # [^\[\|\]]* \]";
+
+%token link   "\[( [^\[\|\]]* \| )?   [^\[\|\]]* \]";
+
+%token text  "([^\ \t\n\r\[\{\}\|\*_!#'] | _[^_] | \{[^\{] | \}[^\}] | '[^'] | \[\[)
+              ([^    \n\r\[\{\}\|_']     | _[^_] | \{[^\{] | \}[^\}] | '[^'] | \[\[ | \|[^\|\ \t])*";
+
+%right softbreak "\r(\n?) | \n";
+
+%right hardbreak "(\r(\n?) | \n) (\r(\n?) | \n)+";
+
+%ignore "[\ \t]+";
+
+%start document;
+
+%%
+
+document 
+  : document section 
+  | section
+  | paragraphs
+  ;
+
+section 
+  : title paragraphs
+  | title hardbreak paragraphs
+  ;
+
+paragraphs  
+  : paragraphs paragraph hardbreak
+  | paragraphs paragraph 
+  | paragraph hardbreak
+  | paragraph
+  ;
+
+paragraph 
+  : bulletedlist
+  | numberedlist1
+  | textsequence
+  | line 
+  | source %prec softbreak
+  | source softbreak
+  | table
+  ;
+
+bulletedlist 
+  : bulletedlist bulletedlistitem 
+  | bulletedlistitem              
+  ;
+
+bulletedlistitem 
+  : bulleteditem textsequence
+  ;
+
+numberedlist1 
+  : numberedlist1 numberedlistitem1 
+  | numberedlistitem1               
+  | numberedlist1 numberedlist2     
+  | numberedlist2                   
+  ;
+
+numberedlistitem1 
+  : numbered1item textsequence
+  ;
+
+numberedlist2 
+  : numberedlist2 numberedlistitem2 
+  | numberedlistitem2               
+  | numberedlist2 numberedlist3     
+  | numberedlist3                   
+  ; 
+
+numberedlistitem2 
+  : numbered2item textsequence
+  ;
+
+numberedlist3 
+  : numberedlist3 numberedlistitem3 
+  | numberedlistitem3               
+  ; 
+
+numberedlistitem3 
+  : numbered3item textsequence
+  ;
+
+table
+  : tablehead softbreak tablerows
+  | tablehead softbreak tablerows softbreak
+  ;
+
+tablehead
+  : tablehead tabletitle
+  | tabletitle
+  ; 
+
+tabletitle
+  : tabletitleitem textblock
+  ;
+
+tablerows
+  : tablerows softbreak tablecolumns
+  | tablecolumns
+  ;
+
+tablecolumns
+  : tablecolumns tablecolumn
+  | tablecolumn
+  ;
+
+tablecolumn
+  : tablecolumnitem textblock
+  ;
+  
+title 
+  : titleitem textsequence
+  ;
+
+textsequence 
+  : textsequence textblock softbreak
+  | textsequence textblock 
+  | textblock softbreak  
+  | textblock           
+  ; 
+
+textblock 
+  : link
+  | anchor
+  | strongblock                      
+  | emblock            
+  | text                         
+  | codeblock
+  ;
+
+emblock 
+  : emitem text emitem
+  ;
+
+strongblock 
+  : strongitem text strongitem
+  ;
+
+codeblock 
+  : codeopenitem text codecloseitem
+  ;
+

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.xgrm
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.xgrm	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://chaperon.sourceforge.net/schema/grammar/1.0">
+  <!--This file was generated! Don't edit!-->
+  <priority>
+    <terminal symbol="line"/>
+    <terminal symbol="bulleteditem"/>
+    <terminal symbol="numbered1item"/>
+    <terminal symbol="numbered2item"/>
+    <terminal symbol="numbered3item"/>
+    <terminal symbol="tabletitleitem"/>
+    <terminal symbol="tablecolumnitem"/>
+    <terminal symbol="titleitem"/>
+    <terminal symbol="emitem"/>
+    <terminal symbol="codeopenitem"/>
+    <terminal symbol="codecloseitem"/>
+    <terminal symbol="strongitem"/>
+    <terminal symbol="source"/>
+    <terminal symbol="anchor"/>
+    <terminal symbol="link"/>
+    <terminal symbol="text"/>
+    <terminal symbol="softbreak"/>
+    <terminal symbol="hardbreak"/>
+  </priority>
+  <associativity symbol="softbreak" type="right"/>
+  <associativity symbol="hardbreak" type="right"/>
+  <production symbol="document">
+    <nonterminal symbol="document"/>
+    <nonterminal symbol="section"/>
+  </production>
+  <production symbol="document">
+    <nonterminal symbol="section"/>
+  </production>
+  <production symbol="document">
+    <nonterminal symbol="paragraphs"/>
+  </production>
+  <production symbol="section">
+    <nonterminal symbol="title"/>
+    <nonterminal symbol="paragraphs"/>
+  </production>
+  <production symbol="section">
+    <nonterminal symbol="title"/>
+    <terminal symbol="hardbreak"/>
+    <nonterminal symbol="paragraphs"/>
+  </production>
+  <production symbol="paragraphs">
+    <nonterminal symbol="paragraphs"/>
+    <nonterminal symbol="paragraph"/>
+    <terminal symbol="hardbreak"/>
+  </production>
+  <production symbol="paragraphs">
+    <nonterminal symbol="paragraphs"/>
+    <nonterminal symbol="paragraph"/>
+  </production>
+  <production symbol="paragraphs">
+    <nonterminal symbol="paragraph"/>
+    <terminal symbol="hardbreak"/>
+  </production>
+  <production symbol="paragraphs">
+    <nonterminal symbol="paragraph"/>
+  </production>
+  <production symbol="paragraph">
+    <nonterminal symbol="bulletedlist"/>
+  </production>
+  <production symbol="paragraph">
+    <nonterminal symbol="numberedlist1"/>
+  </production>
+  <production symbol="paragraph">
+    <nonterminal symbol="textsequence"/>
+  </production>
+  <production symbol="paragraph">
+    <terminal symbol="line"/>
+  </production>
+  <production symbol="paragraph" precedence="softbreak">
+    <terminal symbol="source"/>
+  </production>
+  <production symbol="paragraph">
+    <terminal symbol="source"/>
+    <terminal symbol="softbreak"/>
+  </production>
+  <production symbol="paragraph">
+    <nonterminal symbol="table"/>
+  </production>
+  <production symbol="bulletedlist">
+    <nonterminal symbol="bulletedlist"/>
+    <nonterminal symbol="bulletedlistitem"/>
+  </production>
+  <production symbol="bulletedlist">
+    <nonterminal symbol="bulletedlistitem"/>
+  </production>
+  <production symbol="bulletedlistitem">
+    <terminal symbol="bulleteditem"/>
+    <nonterminal symbol="textsequence"/>
+  </production>
+  <production symbol="numberedlist1">
+    <nonterminal symbol="numberedlist1"/>
+    <nonterminal symbol="numberedlistitem1"/>
+  </production>
+  <production symbol="numberedlist1">
+    <nonterminal symbol="numberedlistitem1"/>
+  </production>
+  <production symbol="numberedlist1">
+    <nonterminal symbol="numberedlist1"/>
+    <nonterminal symbol="numberedlist2"/>
+  </production>
+  <production symbol="numberedlist1">
+    <nonterminal symbol="numberedlist2"/>
+  </production>
+  <production symbol="numberedlistitem1">
+    <terminal symbol="numbered1item"/>
+    <nonterminal symbol="textsequence"/>
+  </production>
+  <production symbol="numberedlist2">
+    <nonterminal symbol="numberedlist2"/>
+    <nonterminal symbol="numberedlistitem2"/>
+  </production>
+  <production symbol="numberedlist2">
+    <nonterminal symbol="numberedlistitem2"/>
+  </production>
+  <production symbol="numberedlist2">
+    <nonterminal symbol="numberedlist2"/>
+    <nonterminal symbol="numberedlist3"/>
+  </production>
+  <production symbol="numberedlist2">
+    <nonterminal symbol="numberedlist3"/>
+  </production>
+  <production symbol="numberedlistitem2">
+    <terminal symbol="numbered2item"/>
+    <nonterminal symbol="textsequence"/>
+  </production>
+  <production symbol="numberedlist3">
+    <nonterminal symbol="numberedlist3"/>
+    <nonterminal symbol="numberedlistitem3"/>
+  </production>
+  <production symbol="numberedlist3">
+    <nonterminal symbol="numberedlistitem3"/>
+  </production>
+  <production symbol="numberedlistitem3">
+    <terminal symbol="numbered3item"/>
+    <nonterminal symbol="textsequence"/>
+  </production>
+  <production symbol="table">
+    <nonterminal symbol="tablehead"/>
+    <terminal symbol="softbreak"/>
+    <nonterminal symbol="tablerows"/>
+  </production>
+  <production symbol="table">
+    <nonterminal symbol="tablehead"/>
+    <terminal symbol="softbreak"/>
+    <nonterminal symbol="tablerows"/>
+    <terminal symbol="softbreak"/>
+  </production>
+  <production symbol="tablehead">
+    <nonterminal symbol="tablehead"/>
+    <nonterminal symbol="tabletitle"/>
+  </production>
+  <production symbol="tablehead">
+    <nonterminal symbol="tabletitle"/>
+  </production>
+  <production symbol="tabletitle">
+    <terminal symbol="tabletitleitem"/>
+    <nonterminal symbol="textblock"/>
+  </production>
+  <production symbol="tablerows">
+    <nonterminal symbol="tablerows"/>
+    <terminal symbol="softbreak"/>
+    <nonterminal symbol="tablecolumns"/>
+  </production>
+  <production symbol="tablerows">
+    <nonterminal symbol="tablecolumns"/>
+  </production>
+  <production symbol="tablecolumns">
+    <nonterminal symbol="tablecolumns"/>
+    <nonterminal symbol="tablecolumn"/>
+  </production>
+  <production symbol="tablecolumns">
+    <nonterminal symbol="tablecolumn"/>
+  </production>
+  <production symbol="tablecolumn">
+    <terminal symbol="tablecolumnitem"/>
+    <nonterminal symbol="textblock"/>
+  </production>
+  <production symbol="title">
+    <terminal symbol="titleitem"/>
+    <nonterminal symbol="textsequence"/>
+  </production>
+  <production symbol="textsequence">
+    <nonterminal symbol="textsequence"/>
+    <nonterminal symbol="textblock"/>
+    <terminal symbol="softbreak"/>
+  </production>
+  <production symbol="textsequence">
+    <nonterminal symbol="textsequence"/>
+    <nonterminal symbol="textblock"/>
+  </production>
+  <production symbol="textsequence">
+    <nonterminal symbol="textblock"/>
+    <terminal symbol="softbreak"/>
+  </production>
+  <production symbol="textsequence">
+    <nonterminal symbol="textblock"/>
+  </production>
+  <production symbol="textblock">
+    <terminal symbol="link"/>
+  </production>
+  <production symbol="textblock">
+    <terminal symbol="anchor"/>
+  </production>
+  <production symbol="textblock">
+    <nonterminal symbol="strongblock"/>
+  </production>
+  <production symbol="textblock">
+    <nonterminal symbol="emblock"/>
+  </production>
+  <production symbol="textblock">
+    <terminal symbol="text"/>
+  </production>
+  <production symbol="textblock">
+    <nonterminal symbol="codeblock"/>
+  </production>
+  <production symbol="emblock">
+    <terminal symbol="emitem"/>
+    <terminal symbol="text"/>
+    <terminal symbol="emitem"/>
+  </production>
+  <production symbol="strongblock">
+    <terminal symbol="strongitem"/>
+    <terminal symbol="text"/>
+    <terminal symbol="strongitem"/>
+  </production>
+  <production symbol="codeblock">
+    <terminal symbol="codeopenitem"/>
+    <terminal symbol="text"/>
+    <terminal symbol="codecloseitem"/>
+  </production>
+  <start symbol="document"/>
+</grammar>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.xlex
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/grammars/wiki.xlex	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lexicon xmlns="http://chaperon.sourceforge.net/schema/lexicon/1.0">
+  <!--This file was generated! Don't edit!-->
+  <lexeme symbol="line">
+    <concat>
+      <cstring content="-"/>
+      <cstring content="-"/>
+      <cstring content="-"/>
+      <cstring content="-"/>
+      <concat minOccurs="1" maxOccurs="*">
+        <cstring content="-"/>
+      </concat>
+    </concat>
+  </lexeme>
+  <lexeme symbol="bulleteditem">
+    <concat minOccurs="1" maxOccurs="*">
+      <cstring content="*"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="numbered1item">
+    <cstring content="#"/>
+  </lexeme>
+  <lexeme symbol="numbered2item">
+    <concat>
+      <cstring content="#"/>
+      <cstring content="#"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="numbered3item">
+    <concat>
+      <cstring content="#"/>
+      <cstring content="#"/>
+      <cstring content="#"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="tabletitleitem">
+    <concat>
+      <cstring content="|"/>
+      <cstring content="|"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="tablecolumnitem">
+    <cstring content="|"/>
+  </lexeme>
+  <lexeme symbol="titleitem">
+    <concat minOccurs="1" maxOccurs="*">
+      <cstring content="!"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="emitem">
+    <concat>
+      <cstring content="'"/>
+      <cstring content="'"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="codeopenitem">
+    <concat>
+      <cstring content="{"/>
+      <cstring content="{"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="codecloseitem">
+    <concat>
+      <cstring content="}"/>
+      <cstring content="}"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="strongitem">
+    <concat>
+      <cstring content="_"/>
+      <cstring content="_"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="source">
+    <concat>
+      <cstring content="{"/>
+      <cstring content="{"/>
+      <cstring content="{"/>
+      <concat minOccurs="0" maxOccurs="*">
+        <concat>
+          <concat minOccurs="0" maxOccurs="2">
+            <cstring content="}"/>
+          </concat>
+          <cclass exclusive="true">
+            <cset content="}"/>
+          </cclass>
+        </concat>
+      </concat>
+      <cstring content="}"/>
+      <cstring content="}"/>
+      <cstring content="}"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="anchor">
+    <concat>
+      <cstring content="["/>
+      <concat minOccurs="0" maxOccurs="1">
+        <concat>
+          <concat minOccurs="0" maxOccurs="*">
+            <cclass exclusive="true">
+              <cset content="["/>
+              <cset content="|"/>
+              <cset content="]"/>
+            </cclass>
+          </concat>
+          <cstring content="|"/>
+        </concat>
+      </concat>
+      <cstring content="#"/>
+      <concat minOccurs="0" maxOccurs="*">
+        <cclass exclusive="true">
+          <cset content="["/>
+          <cset content="|"/>
+          <cset content="]"/>
+        </cclass>
+      </concat>
+      <cstring content="]"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="link">
+    <concat>
+      <cstring content="["/>
+      <concat minOccurs="0" maxOccurs="1">
+        <concat>
+          <concat minOccurs="0" maxOccurs="*">
+            <cclass exclusive="true">
+              <cset content="["/>
+              <cset content="|"/>
+              <cset content="]"/>
+            </cclass>
+          </concat>
+          <cstring content="|"/>
+        </concat>
+      </concat>
+      <concat minOccurs="0" maxOccurs="*">
+        <cclass exclusive="true">
+          <cset content="["/>
+          <cset content="|"/>
+          <cset content="]"/>
+        </cclass>
+      </concat>
+      <cstring content="]"/>
+    </concat>
+  </lexeme>
+  <lexeme symbol="text">
+    <concat>
+      <alt>
+        <cclass exclusive="true">
+          <cset content=" "/>
+          <cset code="9"/>
+          <cset code="10"/>
+          <cset code="13"/>
+          <cset content="["/>
+          <cset content="{"/>
+          <cset content="}"/>
+          <cset content="|"/>
+          <cset content="*"/>
+          <cset content="_"/>
+          <cset content="!"/>
+          <cset content="#"/>
+          <cset content="'"/>
+        </cclass>
+        <concat>
+          <cstring content="_"/>
+          <cclass exclusive="true">
+            <cset content="_"/>
+          </cclass>
+        </concat>
+        <concat>
+          <cstring content="{"/>
+          <cclass exclusive="true">
+            <cset content="{"/>
+          </cclass>
+        </concat>
+        <concat>
+          <cstring content="}"/>
+          <cclass exclusive="true">
+            <cset content="}"/>
+          </cclass>
+        </concat>
+        <concat>
+          <cstring content="'"/>
+          <cclass exclusive="true">
+            <cset content="'"/>
+          </cclass>
+        </concat>
+        <concat>
+          <cstring content="["/>
+          <cstring content="["/>
+        </concat>
+      </alt>
+      <concat minOccurs="0" maxOccurs="*">
+        <alt>
+          <cclass exclusive="true">
+            <cset code="10"/>
+            <cset code="13"/>
+            <cset content="["/>
+            <cset content="{"/>
+            <cset content="}"/>
+            <cset content="|"/>
+            <cset content="_"/>
+            <cset content="'"/>
+          </cclass>
+          <concat>
+            <cstring content="_"/>
+            <cclass exclusive="true">
+              <cset content="_"/>
+            </cclass>
+          </concat>
+          <concat>
+            <cstring content="{"/>
+            <cclass exclusive="true">
+              <cset content="{"/>
+            </cclass>
+          </concat>
+          <concat>
+            <cstring content="}"/>
+            <cclass exclusive="true">
+              <cset content="}"/>
+            </cclass>
+          </concat>
+          <concat>
+            <cstring content="'"/>
+            <cclass exclusive="true">
+              <cset content="'"/>
+            </cclass>
+          </concat>
+          <concat>
+            <cstring content="["/>
+            <cstring content="["/>
+          </concat>
+          <concat>
+            <cstring content="|"/>
+            <cclass exclusive="true">
+              <cset content="|"/>
+              <cset content=" "/>
+              <cset code="9"/>
+            </cclass>
+          </concat>
+        </alt>
+      </concat>
+    </concat>
+  </lexeme>
+  <lexeme symbol="softbreak" assoc="right">
+    <alt>
+      <concat>
+        <cstring code="13"/>
+        <concat minOccurs="0" maxOccurs="1">
+          <cstring code="10"/>
+        </concat>
+      </concat>
+      <cstring code="10"/>
+    </alt>
+  </lexeme>
+  <lexeme symbol="hardbreak" assoc="right">
+    <concat>
+      <alt>
+        <concat>
+          <cstring code="13"/>
+          <concat minOccurs="0" maxOccurs="1">
+            <cstring code="10"/>
+          </concat>
+        </concat>
+        <cstring code="10"/>
+      </alt>
+      <concat minOccurs="1" maxOccurs="*">
+        <alt>
+          <concat>
+            <cstring code="13"/>
+            <concat minOccurs="0" maxOccurs="1">
+              <cstring code="10"/>
+            </concat>
+          </concat>
+          <cstring code="10"/>
+        </alt>
+      </concat>
+    </concat>
+  </lexeme>
+  <lexeme>
+    <concat minOccurs="1" maxOccurs="*">
+      <cclass>
+        <cset content=" "/>
+        <cset code="9"/>
+      </cclass>
+    </concat>
+  </lexeme>
+</lexicon>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsOverview_1.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsOverview_2.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsOverview_3.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsOverview_4.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsProgramming_1.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsProgramming_2.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/ControlsProgramming_3.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/Logo_25wht.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/add.jpg
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/apache-incubator-logo.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/beehive_logo_wide.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/built-with-forrest-button.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/fix.jpg
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/forrest-credit-logo.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/hack.jpg
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/incubator-logo.gif
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/maven-button-1.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/remove.jpg
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/rss.png
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/images/update.jpg
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/CatalogManager.properties
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/CatalogManager.properties	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,50 @@
+# CatalogManager.properties
+#
+# This is the default properties file for Apache Forrest. This facilitates local
+# configuration of application-specific catalogs. You can also use cocoon.xconf
+# to over-ride or supplement these settings.
+#
+# See the Apache Cocoon documentation
+# http://cocoon.apache.org/2.1/userdocs/concepts/catalog.html
+
+# verbosity ... level of messages for status/debug (messages go to STDOUT)
+# The following messages are provided ...
+#  0 = none
+#  1 = ?
+#  2 = 1+, Loading catalog, Resolved public, Resolved system
+#  3 = 2+, Catalog does not exist, resolvePublic, resolveSystem
+#  10 = 3+, List all catalog entries when loading a catalog
+# (Cocoon also logs the "Resolved public" messages.) 
+# TODO: determine all messages at each level
+#
+verbosity=1
+
+# catalogs ... list of additional catalogs to load
+#  Note that Apache Forrest will automatically load its own default catalog
+#  from src/resources/schema/catalog
+# use full pathnames
+# pathname separator is always semi-colon (;) regardless of operating system
+# directory separator is always slash (/) regardless of operating system
+#
+#catalogs=/path/to/local/catalog
+catalogs=
+
+# prefer ... we prefer to use Public Identifiers for entity resolution
+#
+prefer=public
+
+# static-catalog ... see the Sun doco
+#  TODO: ? what impact does this setting have for Apache Cocoon
+#
+static-catalog=yes
+
+# allow-oasis-xml-catalog-pi ... see the Sun doco
+#  TODO: ? what impact does this setting have for Apache Cocoon
+#
+allow-oasis-xml-catalog-pi=yes
+
+# catalog-class-name ... specify an alternate class name to use
+#  Apache Cocoon does not need this setting - we already have a named class
+#
+# catalog-class-name=com.sun.resolver.Resolver
+

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/README
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/README	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,25 @@
+
+  Document Type Definitions
+  -------------------------
+  
+  
+In this folder you find the catalog of the XML entities and DTD that will 
+be used by Forrest.
+
+They include schemas for:
+
+ 1) documentation
+ 2) specifications
+ 3) FAQs
+ 4) changes
+ 5) TODO lists
+ 
+and the markup has been kept as similar as possible to XHTML (along with the 
+same entities).
+
+This has been used instead of DocBook to simplify the learning effort but still
+remove all the unstructured elements of XHTML.
+
+Your project can use whatever other DTDs that you may need. Just declare your
+"project.catalog" file location using forrest.properties
+

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/catalog
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/catalog	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,193 @@
+-- OASIS TR 9401 Catalog for Forrest --
+
+-- This file is not used directly by Forrest (see catalog.xcat instead), but is
+provided for compatibility with older XML validation tools --
+
+OVERRIDE YES
+
+-- Document Type Definitions --
+PUBLIC "-//APACHE//DTD Documentation V1.2//EN"
+       "dtd/document-v12.dtd"
+PUBLIC "-//APACHE//DTD FAQ V1.2//EN"
+       "dtd/faq-v12.dtd"
+PUBLIC "-//APACHE//DTD Changes V1.2//EN"
+       "dtd/changes-v12.dtd"
+PUBLIC "-//APACHE//DTD Todo V1.2//EN"
+       "dtd/todo-v12.dtd"
+PUBLIC "-//APACHE//DTD How-to V1.2//EN"
+       "dtd/howto-v12.dtd"
+PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN"
+       "dtd/book-cocoon-v10.dtd"
+PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.0//EN"
+       "dtd/tab-cocoon-v10.dtd"
+
+-- New unfinished DTDs --
+PUBLIC "-//APACHE//DTD Documentation V2.0a//EN"
+       "dtd/v20a/document-v20.dtd"
+PUBLIC "-//APACHE//ENTITIES Documentation V2.0a//EN"
+       "dtd/v20a/document-v20.mod"
+PUBLIC "-//APACHE//DTD FAQ V2.0a//EN"
+       "dtd/v20a/faq-v20.dtd"
+PUBLIC "-//APACHE//ENTITIES FAQ V2.0a//EN"
+       "dtd/v20a/faq-v20.mod"
+
+-- Old DTDs --
+PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
+       "dtd/document-v11.dtd"
+PUBLIC "-//APACHE//DTD Specification V1.1//EN"
+       "dtd/specification-v11.dtd"
+PUBLIC "-//APACHE//DTD FAQ V1.1//EN"
+       "dtd/faq-v11.dtd"
+PUBLIC "-//APACHE//DTD Changes V1.1//EN"
+       "dtd/changes-v11.dtd"
+PUBLIC "-//APACHE//DTD Todo V1.1//EN"
+       "dtd/todo-v11.dtd"
+PUBLIC "-//APACHE//DTD How-to V1.0//EN"
+       "dtd/howto-v10.dtd"
+PUBLIC "-//APACHE//DTD Gump Descriptor V1.0//EN"
+       "dtd/xgump-draft.dtd"
+PUBLIC "-//APACHE//DTD JavaDoc V1.0//EN"
+       "dtd/javadoc-v04draft.dtd"
+PUBLIC "-//APACHE//DTD Contributors V1.0//EN"
+       "dtd/contributors-v10.dtd"
+PUBLIC "-//APACHE//DTD Documentation V1.0//EN"
+       "dtd/v10/document-v10.dtd"
+PUBLIC "-//APACHE//DTD FAQ V1.0//EN"
+       "dtd/v10/faq-v10.dtd"
+PUBLIC "-//APACHE//DTD Changes V1.0//EN"
+       "dtd/v10/changes-v10.dtd"
+PUBLIC "-//APACHE//DTD Todo V1.0//EN"
+       "dtd/v10/todo-v10.dtd"
+
+-- Reusable modules --
+PUBLIC "-//APACHE//ENTITIES Documentation V1.2//EN"
+       "dtd/document-v12.mod"
+PUBLIC "-//APACHE//ENTITIES Documentation V1.1//EN"
+       "dtd/document-v11.mod"
+PUBLIC "-//APACHE//ENTITIES FAQ V1.1//EN"
+       "dtd/faq-v11.mod"
+PUBLIC "-//APACHE//ENTITIES FAQ V1.2//EN"
+       "dtd/faq-v12.mod"
+PUBLIC "-//APACHE//ENTITIES Todo V1.1//EN"
+       "dtd/todo-v11.mod"
+PUBLIC "-//APACHE//ENTITIES Common Elements V1.0//EN"
+       "dtd/common-elems-v10.mod"
+PUBLIC "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+       "dtd/common-charents-v10.mod"
+
+-- ISO public identifiers for sets of character entities --
+PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//XML"
+       "entity/ISOlat1.pen"
+PUBLIC "ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML"
+       "entity/ISOgrk1.pen"
+PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+       "entity/ISOpub.pen"
+PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+       "entity/ISOtech.pen"
+PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+       "entity/ISOnum.pen"
+PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+       "entity/ISOdia.pen"
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+       "entity/ISOlat1.pen"
+
+-- W3C Document Type Definitions --
+CATALOG "w3c-dtd/catalog"
+
+  -- ...................................................................... --
+  -- Catalog data for DocBook XML V4.2 .................................... --
+  -- File docbook.cat ..................................................... --
+
+  -- Please direct all questions, bug reports, or suggestions for
+     changes to the docbook@lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/.
+  --
+
+  -- This is the catalog data file for DocBook XML V4.2. It is provided as
+     a convenience in building your own catalog files. You need not use
+     the filenames listed here, and need not use the filename method of
+     identifying storage objects at all.  See the documentation for
+     detailed information on the files associated with the DocBook DTD.
+     See SGML Open Technical Resolution 9401 for detailed information
+     on supplying and using catalog data.
+  --
+
+  -- ...................................................................... --
+  -- DocBook driver file .................................................. --
+
+PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+       "docbook/4.2/docbookx.dtd"
+
+  -- ...................................................................... --
+  -- DocBook modules ...................................................... --
+
+PUBLIC "-//OASIS//DTD DocBook CALS Table Model V4.2//EN"
+       "docbook/4.2/calstblx.dtd"
+PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+       "docbook/4.2/soextblx.dtd"
+PUBLIC "-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN"
+       "docbook/4.2/dbpoolx.mod"
+PUBLIC "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+       "docbook/4.2/dbhierx.mod"
+PUBLIC "-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
+       "docbook/4.2/dbgenent.mod"
+PUBLIC "-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+       "docbook/4.2/dbnotnx.mod"
+PUBLIC "-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
+       "docbook/4.2/dbcentx.mod"
+
+  -- ...................................................................... --
+  -- ISO entity sets ...................................................... --
+
+PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+       "docbook/4.2/ent/iso-dia.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+       "docbook/4.2/ent/iso-num.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+       "docbook/4.2/ent/iso-pub.ent"
+PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+       "docbook/4.2/ent/iso-tech.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+       "docbook/4.2/ent/iso-lat1.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+       "docbook/4.2/ent/iso-lat2.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+       "docbook/4.2/ent/iso-grk1.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+       "docbook/4.2/ent/iso-grk2.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+       "docbook/4.2/ent/iso-grk3.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+       "docbook/4.2/ent/iso-grk4.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+       "docbook/4.2/ent/iso-amsa.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+       "docbook/4.2/ent/iso-amsb.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+       "docbook/4.2/ent/iso-amsc.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+       "docbook/4.2/ent/iso-amsn.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+       "docbook/4.2/ent/iso-amso.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+       "docbook/4.2/ent/iso-amsr.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+       "docbook/4.2/ent/iso-box.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+       "docbook/4.2/ent/iso-cyr1.ent"
+PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+       "docbook/4.2/ent/iso-cyr2.ent"
+
+  -- End of catalog data for DocBook XML V4.2 ............................. --
+  -- ...................................................................... --
+
+
+  -- ...................................................................... --
+  -- Simplified Docbook 1.0 DocBook file .................................. --
+
+PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+       "sdocbook/1.0/sdocbook.dtd"
+PUBLIC "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+       "sdocbook/1.0/sdocbookref.dtd"
+
+  -- ...................................................................... --

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/catalog.xcat
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/catalog.xcat	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,192 @@
+<?xml version="1.0"?>
+<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
+"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<!-- OASIS XML Catalog for Forrest -->
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
+         prefer="public">
+
+<!-- Document Type Definitions (current) -->
+<public publicId="-//APACHE//DTD Documentation V1.2//EN"
+        uri="dtd/document-v12.dtd"/>
+<public publicId="-//APACHE//DTD FAQ V1.2//EN"
+        uri="dtd/faq-v12.dtd"/>
+<public publicId="-//APACHE//DTD Changes V1.2//EN"
+        uri="dtd/changes-v12.dtd"/>
+<public publicId="-//APACHE//DTD Todo V1.2//EN"
+        uri="dtd/todo-v12.dtd"/>
+<public publicId="-//APACHE//DTD How-to V1.2//EN"
+        uri="dtd/howto-v12.dtd"/>
+<public publicId="-//APACHE//DTD Cocoon Documentation Book V1.0//EN"
+        uri="dtd/book-cocoon-v10.dtd"/>
+<public publicId="-//APACHE//DTD Cocoon Documentation Tab V1.0//EN"
+        uri="dtd/tab-cocoon-v10.dtd"/>
+
+<!-- New unfinished DTDs -->
+<public publicId="-//APACHE//DTD Documentation V2.0a//EN"
+        uri="dtd/v20a/document-v20.dtd"/>
+<public publicId="-//APACHE//ENTITIES Documentation V2.0a//EN"
+        uri="dtd/v20a/document-v20.mod"/>
+<public publicId="-//APACHE//DTD FAQ V2.0a//EN"
+        uri="dtd/v20a/faq-v20.dtd"/>
+<public publicId="-//APACHE//ENTITIES FAQ V2.0a//EN"
+        uri="dtd/v20a/faq-v20.mod"/>
+
+<!-- Old DTDs -->
+<public publicId="-//APACHE//DTD Documentation V1.1//EN"
+        uri="dtd/document-v11.dtd"/>
+<public publicId="-//APACHE//DTD Specification V1.1//EN"
+        uri="dtd/specification-v11.dtd"/>
+<public publicId="-//APACHE//DTD FAQ V1.1//EN"
+        uri="dtd/faq-v11.dtd"/>
+<public publicId="-//APACHE//DTD Changes V1.1//EN"
+        uri="dtd/changes-v11.dtd"/>
+<public publicId="-//APACHE//DTD Todo V1.1//EN"
+        uri="dtd/todo-v11.dtd"/>
+<public publicId="-//APACHE//DTD How-to V1.0//EN"
+        uri="dtd/howto-v10.dtd"/>
+<public publicId="-//APACHE//DTD Gump Descriptor V1.0//EN"
+        uri="dtd/xgump-draft.dtd"/>
+<public publicId="-//APACHE//DTD JavaDoc V1.0//EN"
+        uri="dtd/javadoc-v04draft.dtd"/>
+<public publicId="-//APACHE//DTD Contributors V1.0//EN"
+        uri="dtd/contributors-v10.dtd"/>
+<public publicId="-//APACHE//DTD Documentation V1.0//EN"
+        uri="dtd/v10/document-v10.dtd"/>
+<public publicId="-//APACHE//DTD FAQ V1.0//EN"
+        uri="dtd/v10/faq-v10.dtd"/>
+<public publicId="-//APACHE//DTD Changes V1.0//EN"
+        uri="dtd/v10/changes-v10.dtd"/>
+<public publicId="-//APACHE//DTD Todo V1.0//EN"
+        uri="dtd/v10/todo-v10.dtd"/>
+
+<!-- Reusable modules -->
+<public publicId="-//APACHE//ENTITIES Documentation V1.2//EN"
+        uri="dtd/document-v12.mod"/>
+<public publicId="-//APACHE//ENTITIES Documentation V1.1//EN"
+        uri="dtd/document-v11.mod"/>
+<public publicId="-//APACHE//ENTITIES FAQ V1.1//EN"
+        uri="dtd/faq-v11.mod"/>
+<public publicId="-//APACHE//ENTITIES FAQ V1.2//EN"
+        uri="dtd/faq-v12.mod"/>
+<public publicId="-//APACHE//ENTITIES Todo V1.1//EN"
+        uri="dtd/todo-v11.mod"/>
+<public publicId="-//APACHE//ENTITIES Common Elements V1.0//EN"
+        uri="dtd/common-elems-v10.mod"/>
+<public publicId="-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+        uri="dtd/common-charents-v10.mod"/>
+
+<!-- ISO public identifiers for sets of character entities -->
+<public publicId="ISO 8879-1986//ENTITIES Added Latin 1//EN//XML"
+        uri="entity/ISOlat1.pen"/>
+<public publicId="ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML"
+        uri="entity/ISOgrk1.pen"/>
+<public publicId="ISO 8879:1986//ENTITIES Publishing//EN//XML"
+        uri="entity/ISOpub.pen"/>
+<public publicId="ISO 8879:1986//ENTITIES General Technical//EN//XML"
+        uri="entity/ISOtech.pen"/>
+<public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+        uri="entity/ISOnum.pen"/>
+<public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+        uri="entity/ISOdia.pen"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+        uri="entity/ISOlat1.pen"/>
+
+<nextCatalog catalog="w3c-dtd/catalog.xcat"/>
+
+<!-- ...................................................................... -->
+<!-- XML Catalog data for DocBook XML V4.2 ................................ -->
+<!-- File docbook/4.2/catalog.xml ..................................................... -->
+
+<!-- Please direct all questions, bug reports, or suggestions for
+     changes to the docbook@lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/.
+  -->
+
+<!-- This is the catalog data file for DocBook V4.2. It is provided as
+     a convenience in building your own catalog files. You need not use
+     the filenames listed here, and need not use the filename method of
+     identifying storage objects at all.  See the documentation for
+     detailed information on the files associated with the DocBook DTD.
+     See XML Catalogs at http://www.oasis-open.org/committees/entity/ for
+     detailed information on supplying and using catalog data.
+  -->
+
+<!-- ...................................................................... -->
+<!-- DocBook driver file .................................................. -->
+
+<public publicId="-//OASIS//DTD DocBook XML V4.2//EN"
+        uri="docbook/4.2/docbookx.dtd"/>
+
+<!-- ...................................................................... -->
+<!-- DocBook modules ...................................................... -->
+
+<public publicId="-//OASIS//DTD DocBook CALS Table Model V4.2//EN"
+        uri="docbook/4.2/calstblx.dtd"/>
+<public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+        uri="docbook/4.2/soextblx.dtd"/>
+<public publicId="-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN"
+        uri="docbook/4.2/dbpoolx.mod"/>
+<public publicId="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+        uri="docbook/4.2/dbhierx.mod"/>
+<public publicId="-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
+        uri="docbook/4.2/dbgenent.mod"/>
+<public publicId="-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+        uri="docbook/4.2/dbnotnx.mod"/>
+<public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
+        uri="docbook/4.2/dbcentx.mod"/>
+
+<!-- ...................................................................... -->
+<!-- ISO entity sets ...................................................... -->
+
+<public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+        uri="docbook/4.2/ent/iso-dia.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+        uri="docbook/4.2/ent/iso-num.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Publishing//EN//XML"
+        uri="docbook/4.2/ent/iso-pub.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES General Technical//EN//XML"
+        uri="docbook/4.2/ent/iso-tech.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+        uri="docbook/4.2/ent/iso-lat1.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+        uri="docbook/4.2/ent/iso-lat2.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+        uri="docbook/4.2/ent/iso-grk1.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+        uri="docbook/4.2/ent/iso-grk2.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+        uri="docbook/4.2/ent/iso-grk3.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+        uri="docbook/4.2/ent/iso-grk4.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+        uri="docbook/4.2/ent/iso-amsa.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+        uri="docbook/4.2/ent/iso-amsb.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+        uri="docbook/4.2/ent/iso-amsc.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+        uri="docbook/4.2/ent/iso-amsn.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+        uri="docbook/4.2/ent/iso-amso.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+        uri="docbook/4.2/ent/iso-amsr.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+        uri="docbook/4.2/ent/iso-box.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+        uri="docbook/4.2/ent/iso-cyr1.ent"/>
+<public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+        uri="docbook/4.2/ent/iso-cyr2.ent"/>
+
+<!-- End of catalog data for DocBook XML V4.2 ............................. -->
+<!-- ...................................................................... -->
+
+
+<!-- ...................................................................... -->
+<!-- Simplified Docbook 1.0 DocBook file .................................. -->
+
+<public publicId="-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+        uri="sdocbook/1.0/sdocbook.dtd"/>
+<public publicId="-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+        uri="sdocbook/1.0/sdocbookref.dtd"/>
+
+</catalog>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ChangeLog
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ChangeLog	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,232 @@
+2002-07-17  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd: 
+	DocBook XML V4.2 released
+
+2002-05-28  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd: 
+	Updated comments to reflect CR3
+
+2002-05-21  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbnotnx.mod: SVG notation accidentally left out of notation.class
+
+	* docbookx.dtd: Fix syntactic error intentionally introduced behind mutually exclusive PEs. Now make the DTD useless, but not syntactically invalid
+
+2002-05-12  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbpoolx.mod: Add accidentally missing local.info.class to info.class
+
+2002-03-19  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* calstblx.dtd, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod: 
+	Prepare for CR1
+
+	* catalog.xml, docbook.cat: Prepare for CR1 and fix search-and-replace typos
+
+	* dbpoolx.mod: Revise graphic attributes: add contentwidth, contentdepth, and valign
+
+	* dbpoolx.mod: Implemented RFE #480954: add textdata element
+
+	* dbpoolx.mod: Make type other tokens in bibliorelation unique for SGML compatibility
+
+	* dbpoolx.mod: Make spatial/temporal other tokens unique for SGML compatibility
+
+	* dbpoolx.mod: Added blockinfo element
+
+	* dbpoolx.mod: Move bibliorelation type attribute into a PE so that it can be expanded the way we want
+
+	* dbpoolx.mod: Implemented RFE #480957
+
+	* dbpoolx.mod: RFE #513426: Text alternative for tables
+
+	* dbpoolx.mod: Added bibliosource, bibliorelation, and bibliocoverage
+
+	* dbpoolx.mod: Add consortium to the list of classes on orgname
+
+	* dbpoolx.mod: Add class attribute to orgname
+
+	* docbookx.dtd: DocBook V4.2 Candidate Release 1 released
+
+2002-02-05  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbhierx.mod: Implemented RFE #501363
+
+	* dbpoolx.mod: Implemented RFE #498848
+
+	* dbpoolx.mod: Implemented RFE #492099
+
+	* dbpoolx.mod: Implemented RFE #480955
+
+2002-01-06  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbcentx.mod: Added marked sections around character set entity references
+
+2001-11-20  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd: 
+	DocBook V4.2b1 released
+
+	* dbpoolx.mod: Implemented RFE #482821
+
+2001-11-19  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbhierx.mod, dbpoolx.mod: Implemented RFE #456460
+
+2001-11-18  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbpoolx.mod: RFE #482817: Add errortext element
+
+2001-11-17  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbpoolx.mod: RFE 482821: Add extension to the list of class values on filename
+
+	* dbpoolx.mod: RFE 482053: Add support for DOI in meta
+
+	* dbpoolx.mod: Removed bogus occurrence indicator in info.class; fixed typo in qandaset PEs
+
+2001-11-13  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* 40chg.txt, 41chg.txt, LostLog: Removed old files
+
+	* Makefile: Makefile
+
+	* Makefile: Fixed typo
+
+	* README: Removed version information
+
+	* README, readme.txt: Renamed
+
+	* calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd: 
+	Removed 'XML' from public identifiers for files that will now be common to both XML and SGML
+
+	* catalog.xml: Fixed missing end tag
+
+2001-11-12  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* calstblx.dtd, dbcentx.mod, dbgenent.mod, dbnotnx.mod, readme.txt: 
+	Updated version numbers
+
+	* catalog.xml, docbook.cat: Added XML Catalog; updated public identifiers in catalog
+
+	* dbpoolx.mod: Former RFE 133: Added newsgroup class to systemitem
+
+	* dbpoolx.mod: Implemented RFE #480956
+
+2001-11-09  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbhierx.mod: Implemented RFE #426382
+
+	* dbhierx.mod: Implemented RFE #417671
+
+	* dbhierx.mod, dbpoolx.mod: Implemented RFE #436072
+
+	* dbhierx.mod, dbpoolx.mod, docbookx.dtd: Changed version number
+
+	* dbnotnx.mod: Implemented RFE #440597
+
+	* dbpoolx.mod: Implemented RFE #431413
+
+	* dbpoolx.mod: Implemented RFE #434439
+
+	* dbpoolx.mod: Expand the content model of the following elements from smallcptr.char.mix back to cptr.char.mix: interfacename, action, database, filename, hardware, keycap, option, parameter, property, and systemitem (command, interface, and literal were never reduced).
+
+	* dbpoolx.mod: Implemented RFE #431415
+
+	* dbpoolx.mod: Implemented RFE #431418
+
+	* dbpoolx.mod: Implemented RFE #431419
+
+	* dbpoolx.mod: Implemented RFE #439136
+
+	* dbpoolx.mod: Implemented RFE #435485
+
+	* dbpoolx.mod: Implemented RFE #435466
+
+2001-11-07  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* calstblx.dtd, dbcentx.mod, dbhierx.mod, dbpoolx.mod, docbookx.dtd: 
+	Towards a 4.2 release: reparameterize so that the SGML DTD is just a customization of the XML DTD
+
+	* calstblx.dtd, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd: 
+	Whitespace fixes
+
+2001-08-07  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* dbhierx.mod: RFE 426382: Norm to allow SimpleSect inside Section
+
+	* dbpoolx.mod: RFE 431419: Norm to add markup for FS type and partition
+
+	* dbpoolx.mod: Fix comments; implement proposal of the TC to expand the content model of selected inlines
+
+	* dbpoolx.mod: RFE 434439: Add language attribute to fieldsynopsis et al.
+
+	* dbpoolx.mod: RFE 431418: Norm to add typing to funcdef and paramdef
+
+	* dbpoolx.mod: RFE 431415: Norm to add markup for host identifiers
+
+2001-06-18  Norman Walsh <nwalsh@users.sourceforge.net>
+
+	* 40chg.txt, 41chg.txt, LostLog, Makefile, calstblx.dtd, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.cat, docbookx.dtd, readme.txt: 
+	Additional work on DocBook XML V5.0; I had the wrong CVS repository for a while so there's a bunch of changes lumped together here
+
+	* Makefile: branches:  1.1.2;
+	file Makefile was initially added on branch V50-devel.
+
+2001-03-12  <ndw@users.sourceforge.net>
+
+	* calstblx.dtd, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt: 
+	Updated version numbers
+
+	* dbcentx.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, soextblx.dtd: 
+	New file.
+
+	* docbook.cat: New file.
+
+	* docbookx.cat: branches:  1.1.2;
+	file docbookx.cat was initially added on branch V50-devel.
+
+	* docbookx.cat: New file.
+
+2001-01-14  <ndw@users.sourceforge.net>
+
+	* dbpoolx.mod: branches:  1.5.2;
+	RFE #140: Allow multiple MsgExplan inside SimpleMsgEntry
+
+2000-11-12  <ndw@users.sourceforge.net>
+
+	* dbhierx.mod: branches:  1.6.2;
+	Add refentry; accidentally left out
+
+	* dbhierx.mod: Allow beginpage to be the first child of toc, lot, appendix, chapter,
+	part, preface, reference, and refentry. (It can't be at the start of
+	bibliography, glossary, index, or setindex because of ambiguity
+	problems.)
+
+2000-09-19  <ndw@users.sourceforge.net>
+
+	* 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt, soextblx.dtd: 
+	DocBook XML V4.0
+
+	* 40chg.txt, soextblx.dtd: branches:  1.2.2;
+	DocBook XML V4.1
+
+	* 41chg.txt, LostLog, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, readme.txt: 
+	DocBook XML V4.1.1
+
+	* 41chg.txt, LostLog, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, readme.txt: 
+	DocBook XML V4.1
+
+	* 41chg.txt, LostLog, docbook.cat: branches:  1.3.2;
+	DocBook XML V4.1.2
+
+	* calstblx.dtd, dbcentx.mod, dbnotnx.mod, docbookx.dtd, readme.txt: 
+	branches:  1.4.2;
+	DocBook XML V4.1.2
+
+	* dbgenent.mod: branches:  1.2.2;
+	DocBook XML V4.1.2
+
+	* dbhierx.mod, dbpoolx.mod: DocBook XML V4.1.2
+

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/README
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/README	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,8 @@
+README for the DocBook XML DTD
+
+For more information about DocBook, please see
+
+  http://www.oasis-open.org/docbook/
+
+Please send all questions, comments, concerns, and bug reports to the
+DocBook mailing list: docbook@lists.oasis-open.org

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/calstblx.dtd
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/calstblx.dtd	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,200 @@
+<!-- ...................................................................... -->
+<!-- DocBook CALS Table Model V4.2 ........................................ -->
+<!-- File calstblx.mod .................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     This DTD is based on the CALS Table Model
+     PUBLIC "-//USA-DOD//DTD Table Model 951010//EN"
+
+     $Id: calstblx.dtd,v 1.1 2003/02/14 11:14:25 nicolaken Exp $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook@lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the CALS Table Model
+     converted to XML.
+-->
+
+<!-- These definitions are not directly related to the table model, but are
+     used in the default CALS table model and are usually defined elsewhere
+     (and prior to the inclusion of this table module) in a CALS DTD. -->
+
+<!ENTITY % bodyatt "">
+<!ENTITY % secur "">
+
+<!-- no if zero(s),
+                                yes if any other digits value -->
+
+<!ENTITY % yesorno 'CDATA'>
+<!ENTITY % titles  'title?'>
+
+<!-- default for use in entry content -->
+
+<!ENTITY % paracon '#PCDATA'>
+
+<!--
+The parameter entities as defined below provide the CALS table model
+as published (as part of the Example DTD) in MIL-HDBK-28001.
+
+These following declarations provide the CALS-compliant default definitions
+for these entities.  However, these entities can and should be redefined
+(by giving the appropriate parameter entity declaration(s) prior to the
+reference to this Table Model declaration set entity) to fit the needs
+of the current application.
+-->
+
+<!ENTITY % tbl.table.name       "(table|chart)">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl   "(tgroup+|graphic+)">
+<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att        '
+    tabstyle    CDATA           #IMPLIED
+    tocentry    %yesorno;       #IMPLIED
+    shortentry  %yesorno;       #IMPLIED
+    orient      (port|land)     #IMPLIED
+    pgwide      %yesorno;       #IMPLIED '>
+<!ENTITY % tbl.tgroup.mdl       "colspec*,spanspec*,thead?,tfoot?,tbody">
+<!ENTITY % tbl.tgroup.att       '
+    tgroupstyle CDATA           #IMPLIED '>
+<!ENTITY % tbl.hdft.mdl         "colspec*,row+">
+<!ENTITY % tbl.row.mdl          "(entry|entrytbl)+">
+<!ENTITY % tbl.entrytbl.mdl     "colspec*,spanspec*,thead?,tbody">
+<!ENTITY % tbl.entry.mdl        "(para|warning|caution|note|legend|%paracon;)*">
+<!-- =====  Element and attribute declarations follow. =====  -->
+
+<!ELEMENT table %ho; (%tbl.table.mdl;)>
+
+<!ATTLIST table
+        frame           (top|bottom|topbot|all|sides|none)      #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        %tbl.table.att;
+        %bodyatt;
+        %secur;
+>
+
+<!ELEMENT tgroup %ho; (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+        cols            CDATA                                   #REQUIRED
+        %tbl.tgroup.att;
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        %secur;
+>
+
+<!ELEMENT colspec %ho; EMPTY >
+
+<!ATTLIST colspec
+        colnum          CDATA                                   #IMPLIED
+        colname         CDATA                                   #IMPLIED
+        colwidth        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+>
+
+<!ELEMENT spanspec %ho; EMPTY >
+
+<!ATTLIST spanspec
+        namest          CDATA                                   #REQUIRED
+        nameend         CDATA                                   #REQUIRED
+        spanname        CDATA                                   #REQUIRED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+>
+
+<!ELEMENT thead %ho; (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!ELEMENT tfoot %ho; (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!ELEMENT tbody %ho; (row+)>
+
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!ELEMENT row %ho; (%tbl.row.mdl;)>
+
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!ELEMENT entrytbl %ho; (%tbl.entrytbl.mdl;)>
+
+<!ATTLIST entrytbl
+        cols            CDATA                                   #REQUIRED
+        %tbl.tgroup.att;
+        colname         CDATA                                   #IMPLIED
+        spanname        CDATA                                   #IMPLIED
+        namest          CDATA                                   #IMPLIED
+        nameend         CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        %secur;
+>
+
+<!ELEMENT entry %ho; (%tbl.entry.mdl;)*>
+
+<!ATTLIST entry
+        colname         CDATA                                   #IMPLIED
+        namest          CDATA                                   #IMPLIED
+        nameend         CDATA                                   #IMPLIED
+        spanname        CDATA                                   #IMPLIED
+        morerows        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         CDATA                                   #IMPLIED
+        rotate          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+
+<!-- End of DocBook CALS Table Model V4.2 ................................. -->
+<!-- ...................................................................... -->

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/catalog.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/catalog.xml	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,115 @@
+<?xml version='1.0'?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+
+<!-- ...................................................................... -->
+<!-- XML Catalog data for DocBook XML V4.2 ................................ -->
+<!-- File catalog.xml ..................................................... -->
+
+<!-- Please direct all questions, bug reports, or suggestions for
+     changes to the docbook@lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/.
+  -->
+
+<!-- This is the catalog data file for DocBook V4.2. It is provided as
+     a convenience in building your own catalog files. You need not use
+     the filenames listed here, and need not use the filename method of
+     identifying storage objects at all.  See the documentation for
+     detailed information on the files associated with the DocBook DTD.
+     See XML Catalogs at http://www.oasis-open.org/committees/entity/ for
+     detailed information on supplying and using catalog data.
+  -->
+
+<!-- ...................................................................... -->
+<!-- DocBook driver file .................................................. -->
+
+<public publicId="-//OASIS//DTD DocBook XML V4.2//EN"
+        uri="docbookx.dtd"/>
+
+<!-- ...................................................................... -->
+<!-- DocBook modules ...................................................... -->
+
+<public publicId="-//OASIS//DTD DocBook CALS Table Model V4.2//EN"
+        uri="calstblx.dtd"/>
+
+<public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+        uri="soextblx.dtd"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN"
+        uri="dbpoolx.mod"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+        uri="dbhierx.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
+        uri="dbgenent.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+        uri="dbnotnx.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
+        uri="dbcentx.mod"/>
+
+<!-- ...................................................................... -->
+<!-- ISO entity sets ...................................................... -->
+
+<public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+        uri="ent/iso-dia.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+        uri="ent/iso-num.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Publishing//EN//XML"
+        uri="ent/iso-pub.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES General Technical//EN//XML"
+        uri="ent/iso-tech.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+        uri="ent/iso-lat1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+        uri="ent/iso-lat2.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+        uri="ent/iso-grk1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+        uri="ent/iso-grk2.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+        uri="ent/iso-grk3.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+        uri="ent/iso-grk4.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+        uri="ent/iso-amsa.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+        uri="ent/iso-amsb.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+        uri="ent/iso-amsc.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+        uri="ent/iso-amsn.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+        uri="ent/iso-amso.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+        uri="ent/iso-amsr.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+        uri="ent/iso-box.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+        uri="ent/iso-cyr1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+        uri="ent/iso-cyr2.ent"/>
+
+<!-- End of catalog data for DocBook XML V4.2 ............................. -->
+<!-- ...................................................................... -->
+
+</catalog>

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbcentx.mod
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbcentx.mod	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,384 @@
+<!-- ...................................................................... -->
+<!-- DocBook character entities module V4.2 ............................... -->
+<!-- File dbcentx.mod ..................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: dbcentx.mod,v 1.1 2003/02/14 11:14:25 nicolaken Exp $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook@lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the entity declarations for the standard ISO
+     entity sets used by DocBook.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbcent PUBLIC
+     "-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
+     "dbcentx.mod">
+     %dbcent;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!-- ...................................................................... -->
+
+<![%sgml.features;[
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![ %ISOamsa.module; [
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN">
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![ %ISOamsb.module; [
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN">
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![ %ISOamsc.module; [
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN">
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![ %ISOamsn.module; [
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN">
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![ %ISOamso.module; [
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN">
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![ %ISOamsr.module; [
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN">
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![ %ISObox.module; [
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN">
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![ %ISOcyr1.module; [
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN">
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![ %ISOcyr2.module; [
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN">
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![ %ISOdia.module; [
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN">
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![ %ISOgrk1.module; [
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN">
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![ %ISOgrk2.module; [
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN">
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![ %ISOgrk3.module; [
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN">
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![ %ISOgrk4.module; [
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN">
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![ %ISOlat1.module; [
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN">
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![ %ISOlat2.module; [
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN">
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![ %ISOnum.module; [
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![ %ISOpub.module; [
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN">
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![ %ISOtech.module; [
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN">
+<!--end of ISOtech.module-->]]>
+
+<!--end of sgml.features-->]]>
+
+<![%xml.features;[
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![%ISOamsa.module;[
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+"ent/iso-amsa.ent">
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![%ISOamsb.module;[
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+"ent/iso-amsb.ent">
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![%ISOamsc.module;[
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+"ent/iso-amsc.ent">
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![%ISOamsn.module;[
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+"ent/iso-amsn.ent">
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![%ISOamso.module;[
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+"ent/iso-amso.ent">
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![%ISOamsr.module;[
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+"ent/iso-amsr.ent">
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![%ISObox.module;[
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+"ent/iso-box.ent">
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![%ISOcyr1.module;[
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+"ent/iso-cyr1.ent">
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![%ISOcyr2.module;[
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+"ent/iso-cyr2.ent">
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![%ISOdia.module;[
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+"ent/iso-dia.ent">
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![%ISOgrk1.module;[
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+"ent/iso-grk1.ent">
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![%ISOgrk2.module;[
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+"ent/iso-grk2.ent">
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![%ISOgrk3.module;[
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+"ent/iso-grk3.ent">
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![%ISOgrk4.module;[
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+"ent/iso-grk4.ent">
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![%ISOlat1.module;[
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+"ent/iso-lat1.ent">
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![%ISOlat2.module;[
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+"ent/iso-lat2.ent">
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![%ISOnum.module;[
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+"ent/iso-num.ent">
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![%ISOpub.module;[
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN//XML"
+"ent/iso-pub.ent">
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![%ISOtech.module;[
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN//XML"
+"ent/iso-tech.ent">
+<!--end of ISOtech.module-->]]>
+
+<!--end of xml.features-->]]>
+
+<![ %ISOamsa.module; [
+%ISOamsa;
+]]>
+
+<![ %ISOamsb.module; [
+%ISOamsb;
+]]>
+
+<![ %ISOamsc.module; [
+%ISOamsc;
+]]>
+
+<![ %ISOamsn.module; [
+%ISOamsn;
+]]>
+
+<![ %ISOamso.module; [
+%ISOamso;
+]]>
+
+<![ %ISOamsr.module; [
+%ISOamsr;
+]]>
+
+<![ %ISObox.module; [
+%ISObox;
+]]>
+
+<![ %ISOcyr1.module; [
+%ISOcyr1;
+]]>
+
+<![ %ISOcyr2.module; [
+%ISOcyr2;
+]]>
+
+<![ %ISOdia.module; [
+%ISOdia;
+]]>
+
+<![ %ISOgrk1.module; [
+%ISOgrk1;
+]]>
+
+<![ %ISOgrk2.module; [
+%ISOgrk2;
+]]>
+
+<![ %ISOgrk3.module; [
+%ISOgrk3;
+]]>
+
+<![ %ISOgrk4.module; [
+%ISOgrk4;
+]]>
+
+<![ %ISOlat1.module; [
+%ISOlat1;
+]]>
+
+<![ %ISOlat2.module; [
+%ISOlat2;
+]]>
+
+<![ %ISOnum.module; [
+%ISOnum;
+]]>
+
+<![ %ISOpub.module; [
+%ISOpub;
+]]>
+
+<![ %ISOtech.module; [
+%ISOtech;
+]]>
+
+<!-- End of DocBook character entity sets module V4.2 ..................... -->
+<!-- ...................................................................... -->

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbgenent.mod
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbgenent.mod	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,41 @@
+<!-- ...................................................................... -->
+<!-- DocBook additional general entities V4.2 ............................. -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbgenent PUBLIC
+     "-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
+     "dbgenent.mod">
+     %dbgenent;
+-->
+
+<!-- File dbgenent.mod .................................................... -->
+
+<!-- You can edit this file to add the following:
+
+     o General entity declarations of any kind.  For example:
+
+       <!ENTITY productname "WinWidget">          (small boilerplate)
+       <!ENTITY legal-notice SYSTEM "notice.sgm"> (large boilerplate)
+
+     o Notation declarations.  For example:
+
+       <!NOTATION chicken-scratch SYSTEM>
+
+     o Declarations for and references to external parameter entities
+       containing collections of any of the above.  For example:
+
+       <!ENTITY % all-titles PUBLIC "-//DocTools//ELEMENTS Book Titles//EN"
+           "booktitles.ent">
+       %all-titles;
+-->
+
+<!-- End of DocBook additional general entities V4.2 ...................... -->
+<!-- ...................................................................... -->

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbhierx.mod
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbhierx.mod	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,2115 @@
+<!-- ...................................................................... -->
+<!-- DocBook document hierarchy module V4.2 ............................... -->
+<!-- File dbhierx.mod ..................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: dbhierx.mod,v 1.1 2003/02/14 11:14:25 nicolaken Exp $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook@lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the overall document
+     hierarchies of DocBook documents.  It covers computer documentation
+     manuals and manual fragments, as well as reference entries (such as
+     man pages) and technical journals or anthologies containing
+     articles.
+
+     This module depends on the DocBook information pool module.  All
+     elements and entities referenced but not defined here are assumed
+     to be defined in the information pool module.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbhier PUBLIC
+     "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+     "dbhierx.mod">
+     %dbhier;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!-- ...................................................................... -->
+<!-- Entities for module inclusions ....................................... -->
+
+<!ENTITY % dbhier.redecl.module		"IGNORE">
+<!ENTITY % dbhier.redecl2.module	"IGNORE">
+
+<!-- ...................................................................... -->
+<!-- Entities for element classes ......................................... -->
+
+<!ENTITY % local.appendix.class "">
+<!ENTITY % appendix.class	"appendix %local.appendix.class;">
+
+<!ENTITY % local.article.class "">
+<!ENTITY % article.class	"article %local.article.class;">
+
+<!ENTITY % local.book.class "">
+<!ENTITY % book.class		"book %local.book.class;">
+
+<!ENTITY % local.chapter.class "">
+<!ENTITY % chapter.class	"chapter %local.chapter.class;">
+
+<!ENTITY % local.index.class "">
+<!ENTITY % index.class		"index|setindex %local.index.class;">
+
+<!ENTITY % local.refentry.class "">
+<!ENTITY % refentry.class	"refentry %local.refentry.class;">
+
+<!ENTITY % local.section.class "">
+<!ENTITY % section.class	"section %local.section.class;">
+
+<!ENTITY % local.nav.class "">
+<!ENTITY % nav.class		"toc|lot|index|glossary|bibliography
+				%local.nav.class;">
+
+<!-- Redeclaration placeholder ............................................ -->
+
+<!-- For redeclaring entities that are declared after this point while
+     retaining their references to the entities that are declared before
+     this point -->
+
+<![%dbhier.redecl.module;[
+<!-- Defining rdbhier here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbhier "">
+%rdbhier;
+<!--end of dbhier.redecl.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Entities for element mixtures ........................................ -->
+
+<!-- The DocBook TC may produce an official forms module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % forms.hook "">
+
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|%compound.class;
+		|%genobj.class;		|%descobj.class;
+		|%ndxterm.class;        |beginpage
+                %forms.hook;
+		%local.divcomponent.mix;">
+
+<!ENTITY % local.refcomponent.mix "">
+<!ENTITY % refcomponent.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|%compound.class;
+		|%genobj.class;		|%descobj.class;
+		|%ndxterm.class;        |beginpage
+		%local.refcomponent.mix;">
+
+<!ENTITY % local.indexdivcomponent.mix "">
+<!ENTITY % indexdivcomponent.mix
+		"itemizedlist|orderedlist|variablelist|simplelist
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|anchor|remark
+		|%link.char.class;
+ 		                        |beginpage
+		%local.indexdivcomponent.mix;">
+
+<!ENTITY % local.refname.char.mix "">
+<!ENTITY % refname.char.mix
+		"#PCDATA
+		|%tech.char.class;
+		%local.refname.char.mix;">
+
+<!ENTITY % local.partcontent.mix "">
+<!ENTITY % partcontent.mix
+		"%appendix.class;|%chapter.class;|%nav.class;|%article.class;
+		|preface|%refentry.class;|reference %local.partcontent.mix;">
+
+<!ENTITY % local.refinline.char.mix "">
+<!ENTITY % refinline.char.mix
+		"#PCDATA
+		|%xref.char.class;	|%gen.char.class;
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;	|%docinfo.char.class;
+		|%other.char.class;
+		|%ndxterm.class;        |beginpage
+		%local.refinline.char.mix;">
+
+<!ENTITY % local.refclass.char.mix "">
+<!ENTITY % refclass.char.mix
+		"#PCDATA
+		|application
+		%local.refclass.char.mix;">
+
+<!-- Redeclaration placeholder 2 .......................................... -->
+
+<!-- For redeclaring entities that are declared after this point while
+     retaining their references to the entities that are declared before
+     this point -->
+
+<![%dbhier.redecl2.module;[
+<!-- Defining rdbhier2 here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbhier2 "">
+%rdbhier2;
+<!--end of dbhier.redecl2.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Entities for content models .......................................... -->
+
+<!ENTITY % div.title.content
+	"title, subtitle?, titleabbrev?">
+
+<!ENTITY % bookcomponent.title.content
+	"title, subtitle?, titleabbrev?">
+
+<!ENTITY % sect.title.content
+	"title, subtitle?, titleabbrev?">
+
+<!ENTITY % refsect.title.content
+	"title, subtitle?, titleabbrev?">
+
+<!ENTITY % bookcomponent.content
+	"((%divcomponent.mix;)+,
+	(sect1*|(%refentry.class;)*|simplesect*|(%section.class;)*))
+	| (sect1+|(%refentry.class;)+|simplesect+|(%section.class;)+)">
+
+<!-- ...................................................................... -->
+<!-- Set and SetInfo ...................................................... -->
+
+<!ENTITY % set.content.module "INCLUDE">
+<![%set.content.module;[
+<!ENTITY % set.module "INCLUDE">
+<![%set.module;[
+<!ENTITY % local.set.attrib "">
+<!ENTITY % set.role.attrib "%role.attrib;">
+
+<!ENTITY % set.element "INCLUDE">
+<![%set.element;[
+<!ELEMENT set %ho; ((%div.title.content;)?, setinfo?, toc?, (%book.class;)+,
+		setindex?)
+		%ubiq.inclusion;>
+<!--end of set.element-->]]>
+
+<!-- FPI: SGML formal public identifier -->
+
+
+<!ENTITY % set.attlist "INCLUDE">
+<![%set.attlist;[
+<!ATTLIST set
+		fpi		CDATA		#IMPLIED
+		%status.attrib;
+		%common.attrib;
+		%set.role.attrib;
+		%local.set.attrib;
+>
+<!--end of set.attlist-->]]>
+<!--end of set.module-->]]>
+
+<!ENTITY % setinfo.module "INCLUDE">
+<![%setinfo.module;[
+<!ENTITY % local.setinfo.attrib "">
+<!ENTITY % setinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % setinfo.element "INCLUDE">
+<![%setinfo.element;[
+<!ELEMENT setinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of setinfo.element-->]]>
+
+<!-- Contents: IDs of the ToC, Books, and SetIndex that comprise
+		the set, in the order of their appearance -->
+
+
+<!ENTITY % setinfo.attlist "INCLUDE">
+<![%setinfo.attlist;[
+<!ATTLIST setinfo
+		contents	IDREFS		#IMPLIED
+		%common.attrib;
+		%setinfo.role.attrib;
+		%local.setinfo.attrib;
+>
+<!--end of setinfo.attlist-->]]>
+<!--end of setinfo.module-->]]>
+<!--end of set.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Book and BookInfo .................................................... -->
+
+<!ENTITY % book.content.module "INCLUDE">
+<![%book.content.module;[
+<!ENTITY % book.module "INCLUDE">
+<![%book.module;[
+
+<!ENTITY % local.book.attrib "">
+<!ENTITY % book.role.attrib "%role.attrib;">
+
+<!ENTITY % book.element "INCLUDE">
+<![%book.element;[
+<!ELEMENT book %ho; ((%div.title.content;)?, bookinfo?,
+ 		(dedication | toc | lot
+ 		| glossary | bibliography | preface
+		| %chapter.class; | reference | part
+		| %article.class;
+ 		| %appendix.class;
+		| %index.class;
+		| colophon)*)
+		%ubiq.inclusion;>
+<!--end of book.element-->]]>
+
+<!-- FPI: SGML formal public identifier -->
+
+
+<!ENTITY % book.attlist "INCLUDE">
+<![%book.attlist;[
+<!ATTLIST book		fpi		CDATA		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%book.role.attrib;
+		%local.book.attrib;
+>
+<!--end of book.attlist-->]]>
+<!--end of book.module-->]]>
+
+<!ENTITY % bookinfo.module "INCLUDE">
+<![%bookinfo.module;[
+<!ENTITY % local.bookinfo.attrib "">
+<!ENTITY % bookinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % bookinfo.element "INCLUDE">
+<![%bookinfo.element;[
+<!ELEMENT bookinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of bookinfo.element-->]]>
+
+<!-- Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
+		Appendixes, References, GLossary, Bibliography, and indexes
+		comprising the Book, in the order of their appearance -->
+
+
+<!ENTITY % bookinfo.attlist "INCLUDE">
+<![%bookinfo.attlist;[
+<!ATTLIST bookinfo
+		contents	IDREFS		#IMPLIED
+		%common.attrib;
+		%bookinfo.role.attrib;
+		%local.bookinfo.attrib;
+>
+<!--end of bookinfo.attlist-->]]>
+<!--end of bookinfo.module-->]]>
+<!--end of book.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Dedication, ToC, and LoT ............................................. -->
+
+<!ENTITY % dedication.module "INCLUDE">
+<![%dedication.module;[
+<!ENTITY % local.dedication.attrib "">
+<!ENTITY % dedication.role.attrib "%role.attrib;">
+
+<!ENTITY % dedication.element "INCLUDE">
+<![%dedication.element;[
+<!ELEMENT dedication %ho; ((%sect.title.content;)?, (%legalnotice.mix;)+)>
+<!--end of dedication.element-->]]>
+
+<!ENTITY % dedication.attlist "INCLUDE">
+<![%dedication.attlist;[
+<!ATTLIST dedication
+		%status.attrib;
+		%common.attrib;
+		%dedication.role.attrib;
+		%local.dedication.attrib;
+>
+<!--end of dedication.attlist-->]]>
+<!--end of dedication.module-->]]>
+
+<!ENTITY % colophon.module "INCLUDE">
+<![ %colophon.module; [
+<!ENTITY % local.colophon.attrib "">
+<!ENTITY % colophon.role.attrib "%role.attrib;">
+
+<!ENTITY % colophon.element "INCLUDE">
+<![ %colophon.element; [
+<!ELEMENT colophon %ho; ((%sect.title.content;)?, (%textobject.mix;)+)>
+<!--end of colophon.element-->]]>
+
+<!ENTITY % colophon.attlist "INCLUDE">
+<![ %colophon.attlist; [
+<!ATTLIST colophon
+		%status.attrib;
+		%common.attrib;
+		%colophon.role.attrib;
+		%local.colophon.attrib;>
+<!--end of colophon.attlist-->]]>
+<!--end of colophon.module-->]]>
+
+<!ENTITY % toc.content.module "INCLUDE">
+<![%toc.content.module;[
+<!ENTITY % toc.module "INCLUDE">
+<![%toc.module;[
+<!ENTITY % local.toc.attrib "">
+<!ENTITY % toc.role.attrib "%role.attrib;">
+
+<!ENTITY % toc.element "INCLUDE">
+<![%toc.element;[
+<!ELEMENT toc %ho; (beginpage?,
+		(%bookcomponent.title.content;)?,
+		tocfront*,
+		(tocpart | tocchap)*, tocback*)>
+<!--end of toc.element-->]]>
+
+<!ENTITY % toc.attlist "INCLUDE">
+<![%toc.attlist;[
+<!ATTLIST toc
+		%pagenum.attrib;
+		%common.attrib;
+		%toc.role.attrib;
+		%local.toc.attrib;
+>
+<!--end of toc.attlist-->]]>
+<!--end of toc.module-->]]>
+
+<!ENTITY % tocfront.module "INCLUDE">
+<![%tocfront.module;[
+<!ENTITY % local.tocfront.attrib "">
+<!ENTITY % tocfront.role.attrib "%role.attrib;">
+
+<!ENTITY % tocfront.element "INCLUDE">
+<![%tocfront.element;[
+<!ELEMENT tocfront %ho; (%para.char.mix;)*>
+<!--end of tocfront.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocfront.attlist "INCLUDE">
+<![%tocfront.attlist;[
+<!ATTLIST tocfront
+		%label.attrib;
+		%linkend.attrib;		%pagenum.attrib;
+		%common.attrib;
+		%tocfront.role.attrib;
+		%local.tocfront.attrib;
+>
+<!--end of tocfront.attlist-->]]>
+<!--end of tocfront.module-->]]>
+
+<!ENTITY % tocentry.module "INCLUDE">
+<![%tocentry.module;[
+<!ENTITY % local.tocentry.attrib "">
+<!ENTITY % tocentry.role.attrib "%role.attrib;">
+
+<!ENTITY % tocentry.element "INCLUDE">
+<![%tocentry.element;[
+<!ELEMENT tocentry %ho; (%para.char.mix;)*>
+<!--end of tocentry.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocentry.attlist "INCLUDE">
+<![%tocentry.attlist;[
+<!ATTLIST tocentry
+		%linkend.attrib;		%pagenum.attrib;
+		%common.attrib;
+		%tocentry.role.attrib;
+		%local.tocentry.attrib;
+>
+<!--end of tocentry.attlist-->]]>
+<!--end of tocentry.module-->]]>
+
+<!ENTITY % tocpart.module "INCLUDE">
+<![%tocpart.module;[
+<!ENTITY % local.tocpart.attrib "">
+<!ENTITY % tocpart.role.attrib "%role.attrib;">
+
+<!ENTITY % tocpart.element "INCLUDE">
+<![%tocpart.element;[
+<!ELEMENT tocpart %ho; (tocentry+, tocchap*)>
+<!--end of tocpart.element-->]]>
+
+<!ENTITY % tocpart.attlist "INCLUDE">
+<![%tocpart.attlist;[
+<!ATTLIST tocpart
+		%common.attrib;
+		%tocpart.role.attrib;
+		%local.tocpart.attrib;
+>
+<!--end of tocpart.attlist-->]]>
+<!--end of tocpart.module-->]]>
+
+<!ENTITY % tocchap.module "INCLUDE">
+<![%tocchap.module;[
+<!ENTITY % local.tocchap.attrib "">
+<!ENTITY % tocchap.role.attrib "%role.attrib;">
+
+<!ENTITY % tocchap.element "INCLUDE">
+<![%tocchap.element;[
+<!ELEMENT tocchap %ho; (tocentry+, toclevel1*)>
+<!--end of tocchap.element-->]]>
+
+<!ENTITY % tocchap.attlist "INCLUDE">
+<![%tocchap.attlist;[
+<!ATTLIST tocchap
+		%label.attrib;
+		%common.attrib;
+		%tocchap.role.attrib;
+		%local.tocchap.attrib;
+>
+<!--end of tocchap.attlist-->]]>
+<!--end of tocchap.module-->]]>
+
+<!ENTITY % toclevel1.module "INCLUDE">
+<![%toclevel1.module;[
+<!ENTITY % local.toclevel1.attrib "">
+<!ENTITY % toclevel1.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel1.element "INCLUDE">
+<![%toclevel1.element;[
+<!ELEMENT toclevel1 %ho; (tocentry+, toclevel2*)>
+<!--end of toclevel1.element-->]]>
+
+<!ENTITY % toclevel1.attlist "INCLUDE">
+<![%toclevel1.attlist;[
+<!ATTLIST toclevel1
+		%common.attrib;
+		%toclevel1.role.attrib;
+		%local.toclevel1.attrib;
+>
+<!--end of toclevel1.attlist-->]]>
+<!--end of toclevel1.module-->]]>
+
+<!ENTITY % toclevel2.module "INCLUDE">
+<![%toclevel2.module;[
+<!ENTITY % local.toclevel2.attrib "">
+<!ENTITY % toclevel2.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel2.element "INCLUDE">
+<![%toclevel2.element;[
+<!ELEMENT toclevel2 %ho; (tocentry+, toclevel3*)>
+<!--end of toclevel2.element-->]]>
+
+<!ENTITY % toclevel2.attlist "INCLUDE">
+<![%toclevel2.attlist;[
+<!ATTLIST toclevel2
+		%common.attrib;
+		%toclevel2.role.attrib;
+		%local.toclevel2.attrib;
+>
+<!--end of toclevel2.attlist-->]]>
+<!--end of toclevel2.module-->]]>
+
+<!ENTITY % toclevel3.module "INCLUDE">
+<![%toclevel3.module;[
+<!ENTITY % local.toclevel3.attrib "">
+<!ENTITY % toclevel3.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel3.element "INCLUDE">
+<![%toclevel3.element;[
+<!ELEMENT toclevel3 %ho; (tocentry+, toclevel4*)>
+<!--end of toclevel3.element-->]]>
+
+<!ENTITY % toclevel3.attlist "INCLUDE">
+<![%toclevel3.attlist;[
+<!ATTLIST toclevel3
+		%common.attrib;
+		%toclevel3.role.attrib;
+		%local.toclevel3.attrib;
+>
+<!--end of toclevel3.attlist-->]]>
+<!--end of toclevel3.module-->]]>
+
+<!ENTITY % toclevel4.module "INCLUDE">
+<![%toclevel4.module;[
+<!ENTITY % local.toclevel4.attrib "">
+<!ENTITY % toclevel4.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel4.element "INCLUDE">
+<![%toclevel4.element;[
+<!ELEMENT toclevel4 %ho; (tocentry+, toclevel5*)>
+<!--end of toclevel4.element-->]]>
+
+<!ENTITY % toclevel4.attlist "INCLUDE">
+<![%toclevel4.attlist;[
+<!ATTLIST toclevel4
+		%common.attrib;
+		%toclevel4.role.attrib;
+		%local.toclevel4.attrib;
+>
+<!--end of toclevel4.attlist-->]]>
+<!--end of toclevel4.module-->]]>
+
+<!ENTITY % toclevel5.module "INCLUDE">
+<![%toclevel5.module;[
+<!ENTITY % local.toclevel5.attrib "">
+<!ENTITY % toclevel5.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel5.element "INCLUDE">
+<![%toclevel5.element;[
+<!ELEMENT toclevel5 %ho; (tocentry+)>
+<!--end of toclevel5.element-->]]>
+
+<!ENTITY % toclevel5.attlist "INCLUDE">
+<![%toclevel5.attlist;[
+<!ATTLIST toclevel5
+		%common.attrib;
+		%toclevel5.role.attrib;
+		%local.toclevel5.attrib;
+>
+<!--end of toclevel5.attlist-->]]>
+<!--end of toclevel5.module-->]]>
+
+<!ENTITY % tocback.module "INCLUDE">
+<![%tocback.module;[
+<!ENTITY % local.tocback.attrib "">
+<!ENTITY % tocback.role.attrib "%role.attrib;">
+
+<!ENTITY % tocback.element "INCLUDE">
+<![%tocback.element;[
+<!ELEMENT tocback %ho; (%para.char.mix;)*>
+<!--end of tocback.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocback.attlist "INCLUDE">
+<![%tocback.attlist;[
+<!ATTLIST tocback
+		%label.attrib;
+		%linkend.attrib;		%pagenum.attrib;
+		%common.attrib;
+		%tocback.role.attrib;
+		%local.tocback.attrib;
+>
+<!--end of tocback.attlist-->]]>
+<!--end of tocback.module-->]]>
+<!--end of toc.content.module-->]]>
+
+<!ENTITY % lot.content.module "INCLUDE">
+<![%lot.content.module;[
+<!ENTITY % lot.module "INCLUDE">
+<![%lot.module;[
+<!ENTITY % local.lot.attrib "">
+<!ENTITY % lot.role.attrib "%role.attrib;">
+
+<!ENTITY % lot.element "INCLUDE">
+<![%lot.element;[
+<!ELEMENT lot %ho; (beginpage?, (%bookcomponent.title.content;)?, lotentry*)>
+<!--end of lot.element-->]]>
+
+<!ENTITY % lot.attlist "INCLUDE">
+<![%lot.attlist;[
+<!ATTLIST lot
+		%label.attrib;
+		%common.attrib;
+		%lot.role.attrib;
+		%local.lot.attrib;
+>
+<!--end of lot.attlist-->]]>
+<!--end of lot.module-->]]>
+
+<!ENTITY % lotentry.module "INCLUDE">
+<![%lotentry.module;[
+<!ENTITY % local.lotentry.attrib "">
+<!ENTITY % lotentry.role.attrib "%role.attrib;">
+
+<!ENTITY % lotentry.element "INCLUDE">
+<![%lotentry.element;[
+<!ELEMENT lotentry %ho; (%para.char.mix;)*>
+<!--end of lotentry.element-->]]>
+
+<!-- SrcCredit: Information about the source of the entry,
+		as for a list of illustrations -->
+<!-- linkend: to element that this entry represents-->
+<!ENTITY % lotentry.attlist "INCLUDE">
+<![%lotentry.attlist;[
+<!ATTLIST lotentry
+		%linkend.attrib;
+		%pagenum.attrib;
+		srccredit	CDATA		#IMPLIED
+		%common.attrib;
+		%lotentry.role.attrib;
+		%local.lotentry.attrib;
+>
+<!--end of lotentry.attlist-->]]>
+<!--end of lotentry.module-->]]>
+<!--end of lot.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -->
+
+<!ENTITY % appendix.module "INCLUDE">
+<![%appendix.module;[
+<!ENTITY % local.appendix.attrib "">
+<!ENTITY % appendix.role.attrib "%role.attrib;">
+
+<!ENTITY % appendix.element "INCLUDE">
+<![%appendix.element;[
+<!ELEMENT appendix %ho; (beginpage?,
+                     appendixinfo?,
+                     (%bookcomponent.title.content;),
+                     (%nav.class;)*,
+                     tocchap?,
+                     (%bookcomponent.content;),
+                     (%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of appendix.element-->]]>
+
+<!ENTITY % appendix.attlist "INCLUDE">
+<![%appendix.attlist;[
+<!ATTLIST appendix
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%appendix.role.attrib;
+		%local.appendix.attrib;
+>
+<!--end of appendix.attlist-->]]>
+<!--end of appendix.module-->]]>
+
+<!ENTITY % chapter.module "INCLUDE">
+<![%chapter.module;[
+<!ENTITY % local.chapter.attrib "">
+<!ENTITY % chapter.role.attrib "%role.attrib;">
+
+<!ENTITY % chapter.element "INCLUDE">
+<![%chapter.element;[
+<!ELEMENT chapter %ho; (beginpage?,
+                    chapterinfo?,
+                    (%bookcomponent.title.content;),
+                    (%nav.class;)*,
+                    tocchap?,
+                    (%bookcomponent.content;),
+                    (%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of chapter.element-->]]>
+
+<!ENTITY % chapter.attlist "INCLUDE">
+<![%chapter.attlist;[
+<!ATTLIST chapter
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%chapter.role.attrib;
+		%local.chapter.attrib;
+>
+<!--end of chapter.attlist-->]]>
+<!--end of chapter.module-->]]>
+
+<!ENTITY % part.module "INCLUDE">
+<![%part.module;[
+
+<!-- Note that Part was to have its content model reduced in V4.2.  This
+change will not be made after all. -->
+
+<!ENTITY % local.part.attrib "">
+<!ENTITY % part.role.attrib "%role.attrib;">
+
+<!ENTITY % part.element "INCLUDE">
+<![%part.element;[
+<!ELEMENT part %ho; (beginpage?,
+                partinfo?, (%bookcomponent.title.content;), partintro?,
+		(%partcontent.mix;)+)
+		%ubiq.inclusion;>
+<!--end of part.element-->]]>
+
+<!ENTITY % part.attlist "INCLUDE">
+<![%part.attlist;[
+<!ATTLIST part
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%part.role.attrib;
+		%local.part.attrib;
+>
+<!--end of part.attlist-->]]>
+<!--ELEMENT PartIntro (defined below)-->
+<!--end of part.module-->]]>
+
+<!ENTITY % preface.module "INCLUDE">
+<![%preface.module;[
+<!ENTITY % local.preface.attrib "">
+<!ENTITY % preface.role.attrib "%role.attrib;">
+
+<!ENTITY % preface.element "INCLUDE">
+<![%preface.element;[
+<!ELEMENT preface %ho; (beginpage?,
+                    prefaceinfo?,
+                    (%bookcomponent.title.content;),
+                    (%nav.class;)*,
+                    tocchap?,
+                    (%bookcomponent.content;),
+                    (%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of preface.element-->]]>
+
+<!ENTITY % preface.attlist "INCLUDE">
+<![%preface.attlist;[
+<!ATTLIST preface
+		%status.attrib;
+		%common.attrib;
+		%preface.role.attrib;
+		%local.preface.attrib;
+>
+<!--end of preface.attlist-->]]>
+<!--end of preface.module-->]]>
+
+<!ENTITY % reference.module "INCLUDE">
+<![%reference.module;[
+<!ENTITY % local.reference.attrib "">
+<!ENTITY % reference.role.attrib "%role.attrib;">
+
+<!ENTITY % reference.element "INCLUDE">
+<![%reference.element;[
+<!ELEMENT reference %ho; (beginpage?,
+                     referenceinfo?,
+                     (%bookcomponent.title.content;), partintro?,
+                     (%refentry.class;)+)
+		%ubiq.inclusion;>
+<!--end of reference.element-->]]>
+
+<!ENTITY % reference.attlist "INCLUDE">
+<![%reference.attlist;[
+<!ATTLIST reference
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%reference.role.attrib;
+		%local.reference.attrib;
+>
+<!--end of reference.attlist-->]]>
+<!--ELEMENT PartIntro (defined below)-->
+<!--end of reference.module-->]]>
+
+<!ENTITY % partintro.module "INCLUDE">
+<![%partintro.module;[
+<!ENTITY % local.partintro.attrib "">
+<!ENTITY % partintro.role.attrib "%role.attrib;">
+
+<!ENTITY % partintro.element "INCLUDE">
+<![%partintro.element;[
+<!ELEMENT partintro %ho; ((%div.title.content;)?, (%bookcomponent.content;))
+		%ubiq.inclusion;>
+<!--end of partintro.element-->]]>
+
+<!ENTITY % partintro.attlist "INCLUDE">
+<![%partintro.attlist;[
+<!ATTLIST partintro
+		%label.attrib;
+		%common.attrib;
+		%partintro.role.attrib;
+		%local.partintro.attrib;
+>
+<!--end of partintro.attlist-->]]>
+<!--end of partintro.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Other Info elements .................................................. -->
+
+<!ENTITY % appendixinfo.module "INCLUDE">
+<![ %appendixinfo.module; [
+<!ENTITY % local.appendixinfo.attrib "">
+<!ENTITY % appendixinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % appendixinfo.element "INCLUDE">
+<![ %appendixinfo.element; [
+<!ELEMENT appendixinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of appendixinfo.element-->]]>
+
+<!ENTITY % appendixinfo.attlist "INCLUDE">
+<![ %appendixinfo.attlist; [
+<!ATTLIST appendixinfo
+		%common.attrib;
+		%appendixinfo.role.attrib;
+		%local.appendixinfo.attrib;
+>
+<!--end of appendixinfo.attlist-->]]>
+<!--end of appendixinfo.module-->]]>
+
+<!ENTITY % bibliographyinfo.module "INCLUDE">
+<![ %bibliographyinfo.module; [
+<!ENTITY % local.bibliographyinfo.attrib "">
+<!ENTITY % bibliographyinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliographyinfo.element "INCLUDE">
+<![ %bibliographyinfo.element; [
+<!ELEMENT bibliographyinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of bibliographyinfo.element-->]]>
+
+<!ENTITY % bibliographyinfo.attlist "INCLUDE">
+<![ %bibliographyinfo.attlist; [
+<!ATTLIST bibliographyinfo
+		%common.attrib;
+		%bibliographyinfo.role.attrib;
+		%local.bibliographyinfo.attrib;
+>
+<!--end of bibliographyinfo.attlist-->]]>
+<!--end of bibliographyinfo.module-->]]>
+
+<!ENTITY % chapterinfo.module "INCLUDE">
+<![ %chapterinfo.module; [
+<!ENTITY % local.chapterinfo.attrib "">
+<!ENTITY % chapterinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % chapterinfo.element "INCLUDE">
+<![ %chapterinfo.element; [
+<!ELEMENT chapterinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of chapterinfo.element-->]]>
+
+<!ENTITY % chapterinfo.attlist "INCLUDE">
+<![ %chapterinfo.attlist; [
+<!ATTLIST chapterinfo
+		%common.attrib;
+		%chapterinfo.role.attrib;
+		%local.chapterinfo.attrib;
+>
+<!--end of chapterinfo.attlist-->]]>
+<!--end of chapterinfo.module-->]]>
+
+<!ENTITY % glossaryinfo.module "INCLUDE">
+<![ %glossaryinfo.module; [
+<!ENTITY % local.glossaryinfo.attrib "">
+<!ENTITY % glossaryinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % glossaryinfo.element "INCLUDE">
+<![ %glossaryinfo.element; [
+<!ELEMENT glossaryinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of glossaryinfo.element-->]]>
+
+<!ENTITY % glossaryinfo.attlist "INCLUDE">
+<![ %glossaryinfo.attlist; [
+<!ATTLIST glossaryinfo
+		%common.attrib;
+		%glossaryinfo.role.attrib;
+		%local.glossaryinfo.attrib;
+>
+<!--end of glossaryinfo.attlist-->]]>
+<!--end of glossaryinfo.module-->]]>
+
+<!ENTITY % indexinfo.module "INCLUDE">
+<![ %indexinfo.module; [
+<!ENTITY % local.indexinfo.attrib "">
+<!ENTITY % indexinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % indexinfo.element "INCLUDE">
+<![ %indexinfo.element; [
+<!ELEMENT indexinfo %ho; ((%info.class;)+)>
+<!--end of indexinfo.element-->]]>
+
+<!ENTITY % indexinfo.attlist "INCLUDE">
+<![ %indexinfo.attlist; [
+<!ATTLIST indexinfo
+		%common.attrib;
+		%indexinfo.role.attrib;
+		%local.indexinfo.attrib;
+>
+<!--end of indexinfo.attlist-->]]>
+<!--end of indexinfo.module-->]]>
+
+<!ENTITY % setindexinfo.module "INCLUDE">
+<![ %setindexinfo.module; [
+<!ENTITY % local.setindexinfo.attrib "">
+<!ENTITY % setindexinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % setindexinfo.element "INCLUDE">
+<![ %setindexinfo.element; [
+<!ELEMENT setindexinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of setindexinfo.element-->]]>
+
+<!ENTITY % setindexinfo.attlist "INCLUDE">
+<![ %setindexinfo.attlist; [
+<!ATTLIST setindexinfo
+		%common.attrib;
+		%setindexinfo.role.attrib;
+		%local.setindexinfo.attrib;
+>
+<!--end of setindexinfo.attlist-->]]>
+<!--end of setindexinfo.module-->]]>
+
+<!ENTITY % partinfo.module "INCLUDE">
+<![ %partinfo.module; [
+<!ENTITY % local.partinfo.attrib "">
+<!ENTITY % partinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % partinfo.element "INCLUDE">
+<![ %partinfo.element; [
+<!ELEMENT partinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of partinfo.element-->]]>
+
+<!ENTITY % partinfo.attlist "INCLUDE">
+<![ %partinfo.attlist; [
+<!ATTLIST partinfo
+		%common.attrib;
+		%partinfo.role.attrib;
+		%local.partinfo.attrib;
+>
+<!--end of partinfo.attlist-->]]>
+<!--end of partinfo.module-->]]>
+
+<!ENTITY % prefaceinfo.module "INCLUDE">
+<![ %prefaceinfo.module; [
+<!ENTITY % local.prefaceinfo.attrib "">
+<!ENTITY % prefaceinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % prefaceinfo.element "INCLUDE">
+<![ %prefaceinfo.element; [
+<!ELEMENT prefaceinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of prefaceinfo.element-->]]>
+
+<!ENTITY % prefaceinfo.attlist "INCLUDE">
+<![ %prefaceinfo.attlist; [
+<!ATTLIST prefaceinfo
+		%common.attrib;
+		%prefaceinfo.role.attrib;
+		%local.prefaceinfo.attrib;
+>
+<!--end of prefaceinfo.attlist-->]]>
+<!--end of prefaceinfo.module-->]]>
+
+<!ENTITY % refentryinfo.module "INCLUDE">
+<![ %refentryinfo.module; [
+<!ENTITY % local.refentryinfo.attrib "">
+<!ENTITY % refentryinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refentryinfo.element "INCLUDE">
+<![ %refentryinfo.element; [
+<!ELEMENT refentryinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refentryinfo.element-->]]>
+
+<!ENTITY % refentryinfo.attlist "INCLUDE">
+<![ %refentryinfo.attlist; [
+<!ATTLIST refentryinfo
+		%common.attrib;
+		%refentryinfo.role.attrib;
+		%local.refentryinfo.attrib;
+>
+<!--end of refentryinfo.attlist-->]]>
+<!--end of refentryinfo.module-->]]>
+
+<!ENTITY % refsectioninfo.module "INCLUDE">
+<![ %refsectioninfo.module; [
+<!ENTITY % local.refsectioninfo.attrib "">
+<!ENTITY % refsectioninfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refsectioninfo.element "INCLUDE">
+<![ %refsectioninfo.element; [
+<!ELEMENT refsectioninfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsectioninfo.element-->]]>
+
+<!ENTITY % refsectioninfo.attlist "INCLUDE">
+<![ %refsectioninfo.attlist; [
+<!ATTLIST refsectioninfo
+		%common.attrib;
+		%refsectioninfo.role.attrib;
+		%local.refsectioninfo.attrib;
+>
+<!--end of refsectioninfo.attlist-->]]>
+<!--end of refsectioninfo.module-->]]>
+
+<!ENTITY % refsect1info.module "INCLUDE">
+<![ %refsect1info.module; [
+<!ENTITY % local.refsect1info.attrib "">
+<!ENTITY % refsect1info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect1info.element "INCLUDE">
+<![ %refsect1info.element; [
+<!ELEMENT refsect1info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsect1info.element-->]]>
+
+<!ENTITY % refsect1info.attlist "INCLUDE">
+<![ %refsect1info.attlist; [
+<!ATTLIST refsect1info
+		%common.attrib;
+		%refsect1info.role.attrib;
+		%local.refsect1info.attrib;
+>
+<!--end of refsect1info.attlist-->]]>
+<!--end of refsect1info.module-->]]>
+
+<!ENTITY % refsect2info.module "INCLUDE">
+<![ %refsect2info.module; [
+<!ENTITY % local.refsect2info.attrib "">
+<!ENTITY % refsect2info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect2info.element "INCLUDE">
+<![ %refsect2info.element; [
+<!ELEMENT refsect2info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsect2info.element-->]]>
+
+<!ENTITY % refsect2info.attlist "INCLUDE">
+<![ %refsect2info.attlist; [
+<!ATTLIST refsect2info
+		%common.attrib;
+		%refsect2info.role.attrib;
+		%local.refsect2info.attrib;
+>
+<!--end of refsect2info.attlist-->]]>
+<!--end of refsect2info.module-->]]>
+
+<!ENTITY % refsect3info.module "INCLUDE">
+<![ %refsect3info.module; [
+<!ENTITY % local.refsect3info.attrib "">
+<!ENTITY % refsect3info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect3info.element "INCLUDE">
+<![ %refsect3info.element; [
+<!ELEMENT refsect3info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsect3info.element-->]]>
+
+<!ENTITY % refsect3info.attlist "INCLUDE">
+<![ %refsect3info.attlist; [
+<!ATTLIST refsect3info
+		%common.attrib;
+		%refsect3info.role.attrib;
+		%local.refsect3info.attrib;
+>
+<!--end of refsect3info.attlist-->]]>
+<!--end of refsect3info.module-->]]>
+
+<!ENTITY % refsynopsisdivinfo.module "INCLUDE">
+<![ %refsynopsisdivinfo.module; [
+<!ENTITY % local.refsynopsisdivinfo.attrib "">
+<!ENTITY % refsynopsisdivinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refsynopsisdivinfo.element "INCLUDE">
+<![ %refsynopsisdivinfo.element; [
+<!ELEMENT refsynopsisdivinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of refsynopsisdivinfo.element-->]]>
+
+<!ENTITY % refsynopsisdivinfo.attlist "INCLUDE">
+<![ %refsynopsisdivinfo.attlist; [
+<!ATTLIST refsynopsisdivinfo
+		%common.attrib;
+		%refsynopsisdivinfo.role.attrib;
+		%local.refsynopsisdivinfo.attrib;
+>
+<!--end of refsynopsisdivinfo.attlist-->]]>
+<!--end of refsynopsisdivinfo.module-->]]>
+
+<!ENTITY % referenceinfo.module "INCLUDE">
+<![ %referenceinfo.module; [
+<!ENTITY % local.referenceinfo.attrib "">
+<!ENTITY % referenceinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % referenceinfo.element "INCLUDE">
+<![ %referenceinfo.element; [
+<!ELEMENT referenceinfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of referenceinfo.element-->]]>
+
+<!ENTITY % referenceinfo.attlist "INCLUDE">
+<![ %referenceinfo.attlist; [
+<!ATTLIST referenceinfo
+		%common.attrib;
+		%referenceinfo.role.attrib;
+		%local.referenceinfo.attrib;
+>
+<!--end of referenceinfo.attlist-->]]>
+<!--end of referenceinfo.module-->]]>
+
+<!ENTITY % local.sect1info.attrib "">
+<!ENTITY % sect1info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect1info.element "INCLUDE">
+<![%sect1info.element;[
+<!ELEMENT sect1info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect1info.element-->]]>
+
+<!ENTITY % sect1info.attlist "INCLUDE">
+<![%sect1info.attlist;[
+<!ATTLIST sect1info
+		%common.attrib;
+		%sect1info.role.attrib;
+		%local.sect1info.attrib;
+>
+<!--end of sect1info.attlist-->]]>
+
+<!ENTITY % local.sect2info.attrib "">
+<!ENTITY % sect2info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect2info.element "INCLUDE">
+<![%sect2info.element;[
+<!ELEMENT sect2info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect2info.element-->]]>
+
+<!ENTITY % sect2info.attlist "INCLUDE">
+<![%sect2info.attlist;[
+<!ATTLIST sect2info
+		%common.attrib;
+		%sect2info.role.attrib;
+		%local.sect2info.attrib;
+>
+<!--end of sect2info.attlist-->]]>
+
+<!ENTITY % local.sect3info.attrib "">
+<!ENTITY % sect3info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect3info.element "INCLUDE">
+<![%sect3info.element;[
+<!ELEMENT sect3info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect3info.element-->]]>
+
+<!ENTITY % sect3info.attlist "INCLUDE">
+<![%sect3info.attlist;[
+<!ATTLIST sect3info
+		%common.attrib;
+		%sect3info.role.attrib;
+		%local.sect3info.attrib;
+>
+<!--end of sect3info.attlist-->]]>
+
+<!ENTITY % local.sect4info.attrib "">
+<!ENTITY % sect4info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect4info.element "INCLUDE">
+<![%sect4info.element;[
+<!ELEMENT sect4info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect4info.element-->]]>
+
+<!ENTITY % sect4info.attlist "INCLUDE">
+<![%sect4info.attlist;[
+<!ATTLIST sect4info
+		%common.attrib;
+		%sect4info.role.attrib;
+		%local.sect4info.attrib;
+>
+<!--end of sect4info.attlist-->]]>
+
+<!ENTITY % local.sect5info.attrib "">
+<!ENTITY % sect5info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect5info.element "INCLUDE">
+<![%sect5info.element;[
+<!ELEMENT sect5info %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sect5info.element-->]]>
+
+<!ENTITY % sect5info.attlist "INCLUDE">
+<![%sect5info.attlist;[
+<!ATTLIST sect5info
+		%common.attrib;
+		%sect5info.role.attrib;
+		%local.sect5info.attrib;
+>
+<!--end of sect5info.attlist-->]]>
+
+<!-- ...................................................................... -->
+<!-- Section (parallel to Sect*) ......................................... -->
+
+<!ENTITY % section.content.module "INCLUDE">
+<![ %section.content.module; [
+<!ENTITY % section.module "INCLUDE">
+<![ %section.module; [
+<!ENTITY % local.section.attrib "">
+<!ENTITY % section.role.attrib "%role.attrib;">
+
+<!ENTITY % section.element "INCLUDE">
+<![ %section.element; [
+<!ELEMENT section %ho; (sectioninfo?,
+			(%sect.title.content;),
+			(%nav.class;)*,
+			(((%divcomponent.mix;)+,
+ 			  ((%refentry.class;)*|(%section.class;)*|simplesect*))
+			 | (%refentry.class;)+|(%section.class;)+|simplesect+),
+			(%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of section.element-->]]>
+
+<!ENTITY % section.attlist "INCLUDE">
+<![ %section.attlist; [
+<!ATTLIST section
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%section.role.attrib;
+		%local.section.attrib;
+>
+<!--end of section.attlist-->]]>
+<!--end of section.module-->]]>
+
+<!ENTITY % sectioninfo.module "INCLUDE">
+<![ %sectioninfo.module; [
+<!ENTITY % sectioninfo.role.attrib "%role.attrib;">
+<!ENTITY % local.sectioninfo.attrib "">
+
+<!ENTITY % sectioninfo.element "INCLUDE">
+<![ %sectioninfo.element; [
+<!ELEMENT sectioninfo %ho; ((%info.class;)+)
+		%beginpage.exclusion;>
+<!--end of sectioninfo.element-->]]>
+
+<!ENTITY % sectioninfo.attlist "INCLUDE">
+<![ %sectioninfo.attlist; [
+<!ATTLIST sectioninfo
+		%common.attrib;
+		%sectioninfo.role.attrib;
+		%local.sectioninfo.attrib;
+>
+<!--end of sectioninfo.attlist-->]]>
+<!--end of sectioninfo.module-->]]>
+<!--end of section.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -->
+
+<!ENTITY % sect1.module "INCLUDE">
+<![%sect1.module;[
+<!ENTITY % local.sect1.attrib "">
+<!ENTITY % sect1.role.attrib "%role.attrib;">
+
+<!ENTITY % sect1.element "INCLUDE">
+<![%sect1.element;[
+<!ELEMENT sect1 %ho; (sect1info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+,
+		((%refentry.class;)* | sect2* | simplesect*))
+		| (%refentry.class;)+ | sect2+ | simplesect+), (%nav.class;)*)
+		%ubiq.inclusion;>
+<!--end of sect1.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect1.attlist "INCLUDE">
+<![%sect1.attlist;[
+<!ATTLIST sect1
+		renderas	(sect2
+				|sect3
+				|sect4
+				|sect5)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect1.role.attrib;
+		%local.sect1.attrib;
+>
+<!--end of sect1.attlist-->]]>
+<!--end of sect1.module-->]]>
+
+<!ENTITY % sect2.module "INCLUDE">
+<![%sect2.module;[
+<!ENTITY % local.sect2.attrib "">
+<!ENTITY % sect2.role.attrib "%role.attrib;">
+
+<!ENTITY % sect2.element "INCLUDE">
+<![%sect2.element;[
+<!ELEMENT sect2 %ho; (sect2info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+,
+		((%refentry.class;)* | sect3* | simplesect*))
+		| (%refentry.class;)+ | sect3+ | simplesect+), (%nav.class;)*)>
+<!--end of sect2.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect2.attlist "INCLUDE">
+<![%sect2.attlist;[
+<!ATTLIST sect2
+		renderas	(sect1
+				|sect3
+				|sect4
+				|sect5)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect2.role.attrib;
+		%local.sect2.attrib;
+>
+<!--end of sect2.attlist-->]]>
+<!--end of sect2.module-->]]>
+
+<!ENTITY % sect3.module "INCLUDE">
+<![%sect3.module;[
+<!ENTITY % local.sect3.attrib "">
+<!ENTITY % sect3.role.attrib "%role.attrib;">
+
+<!ENTITY % sect3.element "INCLUDE">
+<![%sect3.element;[
+<!ELEMENT sect3 %ho; (sect3info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+,
+		((%refentry.class;)* | sect4* | simplesect*))
+		| (%refentry.class;)+ | sect4+ | simplesect+), (%nav.class;)*)>
+<!--end of sect3.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect3.attlist "INCLUDE">
+<![%sect3.attlist;[
+<!ATTLIST sect3
+		renderas	(sect1
+				|sect2
+				|sect4
+				|sect5)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect3.role.attrib;
+		%local.sect3.attrib;
+>
+<!--end of sect3.attlist-->]]>
+<!--end of sect3.module-->]]>
+
+<!ENTITY % sect4.module "INCLUDE">
+<![%sect4.module;[
+<!ENTITY % local.sect4.attrib "">
+<!ENTITY % sect4.role.attrib "%role.attrib;">
+
+<!ENTITY % sect4.element "INCLUDE">
+<![%sect4.element;[
+<!ELEMENT sect4 %ho; (sect4info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+,
+		((%refentry.class;)* | sect5* | simplesect*))
+		| (%refentry.class;)+ | sect5+ | simplesect+), (%nav.class;)*)>
+<!--end of sect4.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect4.attlist "INCLUDE">
+<![%sect4.attlist;[
+<!ATTLIST sect4
+		renderas	(sect1
+				|sect2
+				|sect3
+				|sect5)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect4.role.attrib;
+		%local.sect4.attrib;
+>
+<!--end of sect4.attlist-->]]>
+<!--end of sect4.module-->]]>
+
+<!ENTITY % sect5.module "INCLUDE">
+<![%sect5.module;[
+<!ENTITY % local.sect5.attrib "">
+<!ENTITY % sect5.role.attrib "%role.attrib;">
+
+<!ENTITY % sect5.element "INCLUDE">
+<![%sect5.element;[
+<!ELEMENT sect5 %ho; (sect5info?, (%sect.title.content;), (%nav.class;)*,
+		(((%divcomponent.mix;)+, ((%refentry.class;)* | simplesect*))
+		| (%refentry.class;)+ | simplesect+), (%nav.class;)*)>
+<!--end of sect5.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+		appear -->
+
+
+<!ENTITY % sect5.attlist "INCLUDE">
+<![%sect5.attlist;[
+<!ATTLIST sect5
+		renderas	(sect1
+				|sect2
+				|sect3
+				|sect4)		#IMPLIED
+		%label.attrib;
+		%status.attrib;
+		%common.attrib;
+		%sect5.role.attrib;
+		%local.sect5.attrib;
+>
+<!--end of sect5.attlist-->]]>
+<!--end of sect5.module-->]]>
+
+<!ENTITY % simplesect.module "INCLUDE">
+<![%simplesect.module;[
+<!ENTITY % local.simplesect.attrib "">
+<!ENTITY % simplesect.role.attrib "%role.attrib;">
+
+<!ENTITY % simplesect.element "INCLUDE">
+<![%simplesect.element;[
+<!ELEMENT simplesect %ho; ((%sect.title.content;), (%divcomponent.mix;)+)
+		%ubiq.inclusion;>
+<!--end of simplesect.element-->]]>
+
+<!ENTITY % simplesect.attlist "INCLUDE">
+<![%simplesect.attlist;[
+<!ATTLIST simplesect
+		%common.attrib;
+		%simplesect.role.attrib;
+		%local.simplesect.attrib;
+>
+<!--end of simplesect.attlist-->]]>
+<!--end of simplesect.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Bibliography ......................................................... -->
+
+<!ENTITY % bibliography.content.module "INCLUDE">
+<![%bibliography.content.module;[
+<!ENTITY % bibliography.module "INCLUDE">
+<![%bibliography.module;[
+<!ENTITY % local.bibliography.attrib "">
+<!ENTITY % bibliography.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliography.element "INCLUDE">
+<![%bibliography.element;[
+<!ELEMENT bibliography %ho; (bibliographyinfo?,
+                        (%bookcomponent.title.content;)?,
+                        (%component.mix;)*,
+                        (bibliodiv+ | (biblioentry|bibliomixed)+))>
+<!--end of bibliography.element-->]]>
+
+<!ENTITY % bibliography.attlist "INCLUDE">
+<![%bibliography.attlist;[
+<!ATTLIST bibliography
+		%status.attrib;
+		%common.attrib;
+		%bibliography.role.attrib;
+		%local.bibliography.attrib;
+>
+<!--end of bibliography.attlist-->]]>
+<!--end of bibliography.module-->]]>
+
+<!ENTITY % bibliodiv.module "INCLUDE">
+<![%bibliodiv.module;[
+<!ENTITY % local.bibliodiv.attrib "">
+<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliodiv.element "INCLUDE">
+<![%bibliodiv.element;[
+<!ELEMENT bibliodiv %ho; ((%sect.title.content;)?, (%component.mix;)*,
+		(biblioentry|bibliomixed)+)>
+<!--end of bibliodiv.element-->]]>
+
+<!ENTITY % bibliodiv.attlist "INCLUDE">
+<![%bibliodiv.attlist;[
+<!ATTLIST bibliodiv
+		%status.attrib;
+		%common.attrib;
+		%bibliodiv.role.attrib;
+		%local.bibliodiv.attrib;
+>
+<!--end of bibliodiv.attlist-->]]>
+<!--end of bibliodiv.module-->]]>
+<!--end of bibliography.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Glossary ............................................................. -->
+
+<!ENTITY % glossary.content.module "INCLUDE">
+<![%glossary.content.module;[
+<!ENTITY % glossary.module "INCLUDE">
+<![%glossary.module;[
+<!ENTITY % local.glossary.attrib "">
+<!ENTITY % glossary.role.attrib "%role.attrib;">
+
+<!ENTITY % glossary.element "INCLUDE">
+<![%glossary.element;[
+<!ELEMENT glossary %ho; (glossaryinfo?,
+                    (%bookcomponent.title.content;)?,
+                    (%component.mix;)*,
+                    (glossdiv+ | glossentry+), bibliography?)>
+<!--end of glossary.element-->]]>
+
+<!ENTITY % glossary.attlist "INCLUDE">
+<![%glossary.attlist;[
+<!ATTLIST glossary
+		%status.attrib;
+		%common.attrib;
+		%glossary.role.attrib;
+		%local.glossary.attrib;
+>
+<!--end of glossary.attlist-->]]>
+<!--end of glossary.module-->]]>
+
+<!ENTITY % glossdiv.module "INCLUDE">
+<![%glossdiv.module;[
+<!ENTITY % local.glossdiv.attrib "">
+<!ENTITY % glossdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % glossdiv.element "INCLUDE">
+<![%glossdiv.element;[
+<!ELEMENT glossdiv %ho; ((%sect.title.content;), (%component.mix;)*,
+		glossentry+)>
+<!--end of glossdiv.element-->]]>
+
+<!ENTITY % glossdiv.attlist "INCLUDE">
+<![%glossdiv.attlist;[
+<!ATTLIST glossdiv
+		%status.attrib;
+		%common.attrib;
+		%glossdiv.role.attrib;
+		%local.glossdiv.attrib;
+>
+<!--end of glossdiv.attlist-->]]>
+<!--end of glossdiv.module-->]]>
+<!--end of glossary.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Index and SetIndex ................................................... -->
+
+<!ENTITY % index.content.module "INCLUDE">
+<![%index.content.module;[
+<!ENTITY % indexes.module "INCLUDE">
+<![%indexes.module;[
+<!ENTITY % local.indexes.attrib "">
+<!ENTITY % indexes.role.attrib "%role.attrib;">
+
+<!ENTITY % index.element "INCLUDE">
+<![%index.element;[
+<!ELEMENT index %ho; (indexinfo?,
+                 (%bookcomponent.title.content;)?,
+                 (%component.mix;)*,
+                 (indexdiv* | indexentry*))
+		%ndxterm.exclusion;>
+<!--end of index.element-->]]>
+
+<!ENTITY % index.attlist "INCLUDE">
+<![%index.attlist;[
+<!ATTLIST index
+		%common.attrib;
+		%indexes.role.attrib;
+		%local.indexes.attrib;
+>
+<!--end of index.attlist-->]]>
+
+<!ENTITY % setindex.element "INCLUDE">
+<![%setindex.element;[
+<!ELEMENT setindex %ho; (setindexinfo?,
+                    (%bookcomponent.title.content;)?,
+                    (%component.mix;)*,
+                    (indexdiv* | indexentry*))
+		%ndxterm.exclusion;>
+<!--end of setindex.element-->]]>
+
+<!ENTITY % setindex.attlist "INCLUDE">
+<![%setindex.attlist;[
+<!ATTLIST setindex
+		%common.attrib;
+		%indexes.role.attrib;
+		%local.indexes.attrib;
+>
+<!--end of setindex.attlist-->]]>
+<!--end of indexes.module-->]]>
+
+<!ENTITY % indexdiv.module "INCLUDE">
+<![%indexdiv.module;[
+
+<!-- SegmentedList in this content is useful for marking up permuted
+     indices. -->
+
+<!ENTITY % local.indexdiv.attrib "">
+<!ENTITY % indexdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % indexdiv.element "INCLUDE">
+<![%indexdiv.element;[
+<!ELEMENT indexdiv %ho; ((%sect.title.content;)?, ((%indexdivcomponent.mix;)*,
+		(indexentry+ | segmentedlist)))>
+<!--end of indexdiv.element-->]]>
+
+<!ENTITY % indexdiv.attlist "INCLUDE">
+<![%indexdiv.attlist;[
+<!ATTLIST indexdiv
+		%common.attrib;
+		%indexdiv.role.attrib;
+		%local.indexdiv.attrib;
+>
+<!--end of indexdiv.attlist-->]]>
+<!--end of indexdiv.module-->]]>
+
+<!ENTITY % indexentry.module "INCLUDE">
+<![%indexentry.module;[
+<!-- Index entries appear in the index, not the text. -->
+
+<!ENTITY % local.indexentry.attrib "">
+<!ENTITY % indexentry.role.attrib "%role.attrib;">
+
+<!ENTITY % indexentry.element "INCLUDE">
+<![%indexentry.element;[
+<!ELEMENT indexentry %ho; (primaryie, (seeie|seealsoie)*,
+		(secondaryie, (seeie|seealsoie|tertiaryie)*)*)>
+<!--end of indexentry.element-->]]>
+
+<!ENTITY % indexentry.attlist "INCLUDE">
+<![%indexentry.attlist;[
+<!ATTLIST indexentry
+		%common.attrib;
+		%indexentry.role.attrib;
+		%local.indexentry.attrib;
+>
+<!--end of indexentry.attlist-->]]>
+<!--end of indexentry.module-->]]>
+
+<!ENTITY % primsecterie.module "INCLUDE">
+<![%primsecterie.module;[
+<!ENTITY % local.primsecterie.attrib "">
+<!ENTITY % primsecterie.role.attrib "%role.attrib;">
+
+<!ENTITY % primaryie.element "INCLUDE">
+<![%primaryie.element;[
+<!ELEMENT primaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of primaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % primaryie.attlist "INCLUDE">
+<![%primaryie.attlist;[
+<!ATTLIST primaryie
+		%linkends.attrib;		%common.attrib;
+		%primsecterie.role.attrib;
+		%local.primsecterie.attrib;
+>
+<!--end of primaryie.attlist-->]]>
+
+<!ENTITY % secondaryie.element "INCLUDE">
+<![%secondaryie.element;[
+<!ELEMENT secondaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of secondaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % secondaryie.attlist "INCLUDE">
+<![%secondaryie.attlist;[
+<!ATTLIST secondaryie
+		%linkends.attrib;		%common.attrib;
+		%primsecterie.role.attrib;
+		%local.primsecterie.attrib;
+>
+<!--end of secondaryie.attlist-->]]>
+
+<!ENTITY % tertiaryie.element "INCLUDE">
+<![%tertiaryie.element;[
+<!ELEMENT tertiaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of tertiaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % tertiaryie.attlist "INCLUDE">
+<![%tertiaryie.attlist;[
+<!ATTLIST tertiaryie
+		%linkends.attrib;		%common.attrib;
+		%primsecterie.role.attrib;
+		%local.primsecterie.attrib;
+>
+<!--end of tertiaryie.attlist-->]]>
+
+<!--end of primsecterie.module-->]]>
+
+<!ENTITY % seeie.module "INCLUDE">
+<![%seeie.module;[
+<!ENTITY % local.seeie.attrib "">
+<!ENTITY % seeie.role.attrib "%role.attrib;">
+
+<!ENTITY % seeie.element "INCLUDE">
+<![%seeie.element;[
+<!ELEMENT seeie %ho; (%ndxterm.char.mix;)*>
+<!--end of seeie.element-->]]>
+
+<!-- to IndexEntry to look up -->
+
+
+<!ENTITY % seeie.attlist "INCLUDE">
+<![%seeie.attlist;[
+<!ATTLIST seeie
+		%linkend.attrib;		%common.attrib;
+		%seeie.role.attrib;
+		%local.seeie.attrib;
+>
+<!--end of seeie.attlist-->]]>
+<!--end of seeie.module-->]]>
+
+<!ENTITY % seealsoie.module "INCLUDE">
+<![%seealsoie.module;[
+<!ENTITY % local.seealsoie.attrib "">
+<!ENTITY % seealsoie.role.attrib "%role.attrib;">
+
+<!ENTITY % seealsoie.element "INCLUDE">
+<![%seealsoie.element;[
+<!ELEMENT seealsoie %ho; (%ndxterm.char.mix;)*>
+<!--end of seealsoie.element-->]]>
+
+<!-- to related IndexEntries -->
+
+
+<!ENTITY % seealsoie.attlist "INCLUDE">
+<![%seealsoie.attlist;[
+<!ATTLIST seealsoie
+		%linkends.attrib;		%common.attrib;
+		%seealsoie.role.attrib;
+		%local.seealsoie.attrib;
+>
+<!--end of seealsoie.attlist-->]]>
+<!--end of seealsoie.module-->]]>
+<!--end of index.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- RefEntry ............................................................. -->
+
+<!ENTITY % refentry.content.module "INCLUDE">
+<![%refentry.content.module;[
+<!ENTITY % refentry.module "INCLUDE">
+<![%refentry.module;[
+<!ENTITY % local.refentry.attrib "">
+<!ENTITY % refentry.role.attrib "%role.attrib;">
+
+<!ENTITY % refentry.element "INCLUDE">
+<![%refentry.element;[
+<!ELEMENT refentry %ho; (beginpage?,
+                    (%ndxterm.class;)*,
+                    refentryinfo?, refmeta?, (remark|%link.char.class;)*,
+                    refnamediv, refsynopsisdiv?, (refsect1+|refsection+))
+		%ubiq.inclusion;>
+<!--end of refentry.element-->]]>
+
+<!ENTITY % refentry.attlist "INCLUDE">
+<![%refentry.attlist;[
+<!ATTLIST refentry
+		%status.attrib;
+		%common.attrib;
+		%refentry.role.attrib;
+		%local.refentry.attrib;
+>
+<!--end of refentry.attlist-->]]>
+<!--end of refentry.module-->]]>
+
+<!ENTITY % refmeta.module "INCLUDE">
+<![%refmeta.module;[
+<!ENTITY % local.refmeta.attrib "">
+<!ENTITY % refmeta.role.attrib "%role.attrib;">
+
+<!ENTITY % refmeta.element "INCLUDE">
+<![%refmeta.element;[
+<!ELEMENT refmeta %ho; ((%ndxterm.class;)*,
+                   refentrytitle, manvolnum?, refmiscinfo*,
+                   (%ndxterm.class;)*)
+		%beginpage.exclusion;>
+<!--end of refmeta.element-->]]>
+
+<!ENTITY % refmeta.attlist "INCLUDE">
+<![%refmeta.attlist;[
+<!ATTLIST refmeta
+		%common.attrib;
+		%refmeta.role.attrib;
+		%local.refmeta.attrib;
+>
+<!--end of refmeta.attlist-->]]>
+<!--end of refmeta.module-->]]>
+
+<!ENTITY % refmiscinfo.module "INCLUDE">
+<![%refmiscinfo.module;[
+<!ENTITY % local.refmiscinfo.attrib "">
+<!ENTITY % refmiscinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refmiscinfo.element "INCLUDE">
+<![%refmiscinfo.element;[
+<!ELEMENT refmiscinfo %ho; (%docinfo.char.mix;)*>
+<!--end of refmiscinfo.element-->]]>
+
+<!-- Class: Freely assignable parameter; no default -->
+
+
+<!ENTITY % refmiscinfo.attlist "INCLUDE">
+<![%refmiscinfo.attlist;[
+<!ATTLIST refmiscinfo
+		class		CDATA		#IMPLIED
+		%common.attrib;
+		%refmiscinfo.role.attrib;
+		%local.refmiscinfo.attrib;
+>
+<!--end of refmiscinfo.attlist-->]]>
+<!--end of refmiscinfo.module-->]]>
+
+<!ENTITY % refnamediv.module "INCLUDE">
+<![%refnamediv.module;[
+<!ENTITY % local.refnamediv.attrib "">
+<!ENTITY % refnamediv.role.attrib "%role.attrib;">
+
+<!ENTITY % refnamediv.element "INCLUDE">
+<![%refnamediv.element;[
+<!ELEMENT refnamediv %ho; (refdescriptor?, refname+, refpurpose, refclass*,
+		(remark|%link.char.class;)*)>
+<!--end of refnamediv.element-->]]>
+
+<!ENTITY % refnamediv.attlist "INCLUDE">
+<![%refnamediv.attlist;[
+<!ATTLIST refnamediv
+		%common.attrib;
+		%refnamediv.role.attrib;
+		%local.refnamediv.attrib;
+>
+<!--end of refnamediv.attlist-->]]>
+<!--end of refnamediv.module-->]]>
+
+<!ENTITY % refdescriptor.module "INCLUDE">
+<![%refdescriptor.module;[
+<!ENTITY % local.refdescriptor.attrib "">
+<!ENTITY % refdescriptor.role.attrib "%role.attrib;">
+
+<!ENTITY % refdescriptor.element "INCLUDE">
+<![%refdescriptor.element;[
+<!ELEMENT refdescriptor %ho; (%refname.char.mix;)*>
+<!--end of refdescriptor.element-->]]>
+
+<!ENTITY % refdescriptor.attlist "INCLUDE">
+<![%refdescriptor.attlist;[
+<!ATTLIST refdescriptor
+		%common.attrib;
+		%refdescriptor.role.attrib;
+		%local.refdescriptor.attrib;
+>
+<!--end of refdescriptor.attlist-->]]>
+<!--end of refdescriptor.module-->]]>
+
+<!ENTITY % refname.module "INCLUDE">
+<![%refname.module;[
+<!ENTITY % local.refname.attrib "">
+<!ENTITY % refname.role.attrib "%role.attrib;">
+
+<!ENTITY % refname.element "INCLUDE">
+<![%refname.element;[
+<!ELEMENT refname %ho; (%refname.char.mix;)*>
+<!--end of refname.element-->]]>
+
+<!ENTITY % refname.attlist "INCLUDE">
+<![%refname.attlist;[
+<!ATTLIST refname
+		%common.attrib;
+		%refname.role.attrib;
+		%local.refname.attrib;
+>
+<!--end of refname.attlist-->]]>
+<!--end of refname.module-->]]>
+
+<!ENTITY % refpurpose.module "INCLUDE">
+<![%refpurpose.module;[
+<!ENTITY % local.refpurpose.attrib "">
+<!ENTITY % refpurpose.role.attrib "%role.attrib;">
+
+<!ENTITY % refpurpose.element "INCLUDE">
+<![%refpurpose.element;[
+<!ELEMENT refpurpose %ho; (%refinline.char.mix;)*>
+<!--end of refpurpose.element-->]]>
+
+<!ENTITY % refpurpose.attlist "INCLUDE">
+<![%refpurpose.attlist;[
+<!ATTLIST refpurpose
+		%common.attrib;
+		%refpurpose.role.attrib;
+		%local.refpurpose.attrib;
+>
+<!--end of refpurpose.attlist-->]]>
+<!--end of refpurpose.module-->]]>
+
+<!ENTITY % refclass.module "INCLUDE">
+<![%refclass.module;[
+<!ENTITY % local.refclass.attrib "">
+<!ENTITY % refclass.role.attrib "%role.attrib;">
+
+<!ENTITY % refclass.element "INCLUDE">
+<![%refclass.element;[
+<!ELEMENT refclass %ho; (%refclass.char.mix;)*>
+<!--end of refclass.element-->]]>
+
+<!ENTITY % refclass.attlist "INCLUDE">
+<![%refclass.attlist;[
+<!ATTLIST refclass
+		%common.attrib;
+		%refclass.role.attrib;
+		%local.refclass.attrib;
+>
+<!--end of refclass.attlist-->]]>
+<!--end of refclass.module-->]]>
+
+<!ENTITY % refsynopsisdiv.module "INCLUDE">
+<![%refsynopsisdiv.module;[
+<!ENTITY % local.refsynopsisdiv.attrib "">
+<!ENTITY % refsynopsisdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % refsynopsisdiv.element "INCLUDE">
+<![%refsynopsisdiv.element;[
+<!ELEMENT refsynopsisdiv %ho; (refsynopsisdivinfo?, (%refsect.title.content;)?,
+		(((%refcomponent.mix;)+, refsect2*) | (refsect2+)))>
+<!--end of refsynopsisdiv.element-->]]>
+
+<!ENTITY % refsynopsisdiv.attlist "INCLUDE">
+<![%refsynopsisdiv.attlist;[
+<!ATTLIST refsynopsisdiv
+		%common.attrib;
+		%refsynopsisdiv.role.attrib;
+		%local.refsynopsisdiv.attrib;
+>
+<!--end of refsynopsisdiv.attlist-->]]>
+<!--end of refsynopsisdiv.module-->]]>
+
+<!ENTITY % refsection.module "INCLUDE">
+<![%refsection.module;[
+<!ENTITY % local.refsection.attrib "">
+<!ENTITY % refsection.role.attrib "%role.attrib;">
+
+<!ENTITY % refsection.element "INCLUDE">
+<![%refsection.element;[
+<!ELEMENT refsection %ho; (refsectioninfo?, (%refsect.title.content;),
+		(((%refcomponent.mix;)+, refsection*) | refsection+))>
+<!--end of refsection.element-->]]>
+
+<!ENTITY % refsection.attlist "INCLUDE">
+<![%refsection.attlist;[
+<!ATTLIST refsection
+		%status.attrib;
+		%common.attrib;
+		%refsection.role.attrib;
+		%local.refsection.attrib;
+>
+<!--end of refsection.attlist-->]]>
+<!--end of refsection.module-->]]>
+
+<!ENTITY % refsect1.module "INCLUDE">
+<![%refsect1.module;[
+<!ENTITY % local.refsect1.attrib "">
+<!ENTITY % refsect1.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect1.element "INCLUDE">
+<![%refsect1.element;[
+<!ELEMENT refsect1 %ho; (refsect1info?, (%refsect.title.content;),
+		(((%refcomponent.mix;)+, refsect2*) | refsect2+))>
+<!--end of refsect1.element-->]]>
+
+<!ENTITY % refsect1.attlist "INCLUDE">
+<![%refsect1.attlist;[
+<!ATTLIST refsect1
+		%status.attrib;
+		%common.attrib;
+		%refsect1.role.attrib;
+		%local.refsect1.attrib;
+>
+<!--end of refsect1.attlist-->]]>
+<!--end of refsect1.module-->]]>
+
+<!ENTITY % refsect2.module "INCLUDE">
+<![%refsect2.module;[
+<!ENTITY % local.refsect2.attrib "">
+<!ENTITY % refsect2.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect2.element "INCLUDE">
+<![%refsect2.element;[
+<!ELEMENT refsect2 %ho; (refsect2info?, (%refsect.title.content;),
+	(((%refcomponent.mix;)+, refsect3*) | refsect3+))>
+<!--end of refsect2.element-->]]>
+
+<!ENTITY % refsect2.attlist "INCLUDE">
+<![%refsect2.attlist;[
+<!ATTLIST refsect2
+		%status.attrib;
+		%common.attrib;
+		%refsect2.role.attrib;
+		%local.refsect2.attrib;
+>
+<!--end of refsect2.attlist-->]]>
+<!--end of refsect2.module-->]]>
+
+<!ENTITY % refsect3.module "INCLUDE">
+<![%refsect3.module;[
+<!ENTITY % local.refsect3.attrib "">
+<!ENTITY % refsect3.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect3.element "INCLUDE">
+<![%refsect3.element;[
+<!ELEMENT refsect3 %ho; (refsect3info?, (%refsect.title.content;),
+	(%refcomponent.mix;)+)>
+<!--end of refsect3.element-->]]>
+
+<!ENTITY % refsect3.attlist "INCLUDE">
+<![%refsect3.attlist;[
+<!ATTLIST refsect3
+		%status.attrib;
+		%common.attrib;
+		%refsect3.role.attrib;
+		%local.refsect3.attrib;
+>
+<!--end of refsect3.attlist-->]]>
+<!--end of refsect3.module-->]]>
+<!--end of refentry.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Article .............................................................. -->
+
+<!ENTITY % article.module "INCLUDE">
+<![%article.module;[
+<!-- An Article is a chapter-level, stand-alone document that is often,
+     but need not be, collected into a Book. -->
+
+<!ENTITY % local.article.attrib "">
+<!ENTITY % article.role.attrib "%role.attrib;">
+
+<!ENTITY % article.element "INCLUDE">
+<![%article.element;[
+<!ELEMENT article %ho; ((%div.title.content;)?, articleinfo?, tocchap?, lot*,
+			(%bookcomponent.content;),
+			((%nav.class;) | (%appendix.class;) | ackno)*)
+		%ubiq.inclusion;>
+<!--end of article.element-->]]>
+
+<!-- Class: Indicates the type of a particular article;
+		all articles have the same structure and general purpose.
+		No default. -->
+<!-- ParentBook: ID of the enclosing Book -->
+
+
+<!ENTITY % article.attlist "INCLUDE">
+<![%article.attlist;[
+<!ATTLIST article
+		class		(journalarticle
+				|productsheet
+				|whitepaper
+				|techreport
+                                |specification
+				|faq)		#IMPLIED
+		parentbook	IDREF		#IMPLIED
+		%status.attrib;
+		%common.attrib;
+		%article.role.attrib;
+		%local.article.attrib;
+>
+<!--end of article.attlist-->]]>
+<!--end of article.module-->]]>
+
+<!-- End of DocBook document hierarchy module V4.2 ........................ -->
+<!-- ...................................................................... -->

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbnotnx.mod
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbnotnx.mod	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,100 @@
+<!-- ...................................................................... -->
+<!-- DocBook notations module V4.2 ........................................ -->
+<!-- File dbnotnx.mod ..................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: dbnotnx.mod,v 1.1 2003/02/14 11:14:25 nicolaken Exp $
+
+     Permission to use, copy, modify and distribute the DocBook DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook@lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the entity declarations for the standard ISO
+     entity sets used by DocBook.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbnotn PUBLIC
+     "-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+     "dbnotnx.mod">
+     %dbnotn;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!ENTITY % local.notation.class "">
+<!ENTITY % notation.class
+		"BMP| CGM-CHAR | CGM-BINARY | CGM-CLEAR | DITROFF | DVI
+		| EPS | EQN | FAX | GIF | GIF87a | GIF89a
+		| JPG | JPEG | IGES | PCX
+		| PIC | PNG | PS | SGML | TBL | TEX | TIFF | WMF | WPG
+                | SVG
+		| linespecific
+		%local.notation.class;">
+
+<!NOTATION BMP		PUBLIC
+"+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows bitmap//EN">
+<!NOTATION CGM-CHAR	PUBLIC "ISO 8632/2//NOTATION Character encoding//EN">
+<!NOTATION CGM-BINARY	PUBLIC "ISO 8632/3//NOTATION Binary encoding//EN">
+<!NOTATION CGM-CLEAR	PUBLIC "ISO 8632/4//NOTATION Clear text encoding//EN">
+<!NOTATION DITROFF	SYSTEM "DITROFF">
+<!NOTATION DVI		SYSTEM "DVI">
+<!NOTATION EPS		PUBLIC
+"+//ISBN 0-201-18127-4::Adobe//NOTATION PostScript Language Ref. Manual//EN">
+<!NOTATION EQN		SYSTEM "EQN">
+<!NOTATION FAX		PUBLIC
+"-//USA-DOD//NOTATION CCITT Group 4 Facsimile Type 1 Untiled Raster//EN">
+<!NOTATION GIF		SYSTEM "GIF">
+<!NOTATION GIF87a               PUBLIC
+"-//CompuServe//NOTATION Graphics Interchange Format 87a//EN">
+
+<!NOTATION GIF89a               PUBLIC
+"-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">
+<!NOTATION JPG		SYSTEM "JPG">
+<!NOTATION JPEG		SYSTEM "JPG">
+<!NOTATION IGES		PUBLIC
+"-//USA-DOD//NOTATION (ASME/ANSI Y14.26M-1987) Initial Graphics Exchange Specification//EN">
+<!NOTATION PCX		PUBLIC
+"+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION ZSoft PCX bitmap//EN">
+<!NOTATION PIC		SYSTEM "PIC">
+<!NOTATION PNG          SYSTEM "http://www.w3.org/TR/REC-png">
+<!NOTATION PS		SYSTEM "PS">
+<!NOTATION SGML		PUBLIC
+"ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN">
+<!NOTATION TBL		SYSTEM "TBL">
+<!NOTATION TEX		PUBLIC
+"+//ISBN 0-201-13448-9::Knuth//NOTATION The TeXbook//EN">
+<!NOTATION TIFF		SYSTEM "TIFF">
+<!NOTATION WMF		PUBLIC
+"+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows Metafile//EN">
+<!NOTATION WPG		SYSTEM "WPG"> <!--WordPerfect Graphic format-->
+<!NOTATION SVG		SYSTEM "http://www.w3.org/TR/SVG/">
+<!NOTATION linespecific	SYSTEM "linespecific">
+
+<!-- End of DocBook notations module V4.2 ................................. -->
+<!-- ...................................................................... -->

Added: incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbpoolx.mod
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/dbpoolx.mod	Thu Sep  9 10:04:36 2004
@@ -0,0 +1,7924 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML information pool module V4.2 ............................. -->
+<!-- File dbpoolx.mod ..................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+     Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+     Organization for the Advancement of Structured Information
+     Standards (OASIS).
+
+     $Id: dbpoolx.mod,v 1.1 2003/02/14 11:14:25 nicolaken Exp $
+
+     Permission to use, copy, modify and distribute the DocBook XML DTD
+     and its accompanying documentation for any purpose and without fee
+     is hereby granted in perpetuity, provided that the above copyright
+     notice and this paragraph appear in all copies.  The copyright
+     holders make no representation about the suitability of the DTD for
+     any purpose.  It is provided "as is" without expressed or implied
+     warranty.
+
+     If you modify the DocBook XML DTD in any way, except for declaring and
+     referencing additional sets of general entities and declaring
+     additional notations, label your DTD as a variant of DocBook.  See
+     the maintenance documentation for more information.
+
+     Please direct all questions, bug reports, or suggestions for
+     changes to the docbook@lists.oasis-open.org mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the objects, inline
+     elements, and so on that are available to be used as the main
+     content of DocBook documents.  Some elements are useful for general
+     publishing, and others are useful specifically for computer
+     documentation.
+
+     This module has the following dependencies on other modules:
+
+     o It assumes that a %notation.class; entity is defined by the
+       driver file or other high-level module.  This entity is
+       referenced in the NOTATION attributes for the graphic-related and
+       ModeSpec elements.
+
+     o It assumes that an appropriately parameterized table module is
+       available for use with the table-related elements.
+
+     In DTD driver files referring to this module, please use an entity
+     declaration that uses the public identifier shown below:
+
+     <!ENTITY % dbpool PUBLIC
+     "-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN"
+     "dbpoolx.mod">
+     %dbpool;
+
+     See the documentation for detailed information on the parameter
+     entity and module scheme used in DocBook, customizing DocBook and
+     planning for interchange, and changes made since the last release
+     of DocBook.
+-->
+
+<!-- ...................................................................... -->
+<!-- General-purpose semantics entities ................................... -->
+
+<!ENTITY % yesorno.attvals	"CDATA">
+
+<!-- ...................................................................... -->
+<!-- Entities for module inclusions ....................................... -->
+
+<!ENTITY % dbpool.redecl.module "IGNORE">
+
+<!-- ...................................................................... -->
+<!-- Entities for element classes and mixtures ............................ -->
+
+<!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
+
+<!ENTITY % local.ndxterm.class "">
+<!ENTITY % ndxterm.class
+		"indexterm %local.ndxterm.class;">
+
+<!-- Object-level classes ................................................. -->
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+		"calloutlist|glosslist|itemizedlist|orderedlist|segmentedlist
+		|simplelist|variablelist %local.list.class;">
+
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+		"caution|important|note|tip|warning %local.admon.class;">
+
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+		"literallayout|programlisting|programlistingco|screen
+		|screenco|screenshot %local.linespecific.class;">
+
+<!ENTITY % local.method.synop.class "">
+<!ENTITY % method.synop.class
+		"constructorsynopsis
+                 |destructorsynopsis
+                 |methodsynopsis %local.method.synop.class;">
+
+<!ENTITY % local.synop.class "">
+<!ENTITY % synop.class
+		"synopsis|cmdsynopsis|funcsynopsis
+                 |classsynopsis|fieldsynopsis
+                 |%method.synop.class; %local.synop.class;">
+
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+		"formalpara|para|simpara %local.para.class;">
+
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+		"address|blockquote
+                |graphic|graphicco|mediaobject|mediaobjectco
+                |informalequation
+		|informalexample
+                |informalfigure
+                |informaltable %local.informal.class;">
+
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+		"equation|example|figure|table %local.formal.class;">
+
+<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % ebnf.block.hook "">
+
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+		"msgset|procedure|sidebar|qandaset
+                 %ebnf.block.hook;
+                 %local.compound.class;">
+
+<!ENTITY % local.genobj.class "">
+<!ENTITY % genobj.class
+		"anchor|bridgehead|remark|highlights
+		%local.genobj.class;">
+
+<!ENTITY % local.descobj.class "">
+<!ENTITY % descobj.class
+		"abstract|authorblurb|epigraph
+		%local.descobj.class;">
+
+<!-- Character-level classes .............................................. -->
+
+<!ENTITY % local.xref.char.class "">
+<!ENTITY % xref.char.class
+		"footnoteref|xref %local.xref.char.class;">
+
+<!ENTITY % local.gen.char.class "">
+<!ENTITY % gen.char.class
+		"abbrev|acronym|citation|citerefentry|citetitle|emphasis
+		|firstterm|foreignphrase|glossterm|footnote|phrase
+		|quote|trademark|wordasword|personname %local.gen.char.class;">
+
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+		"link|olink|ulink %local.link.char.class;">
+
+<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % ebnf.inline.hook "">
+
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+		"action|application
+                |classname|methodname|interfacename|exceptionname
+                |ooclass|oointerface|ooexception
+                |command|computeroutput
+		|database|email|envar|errorcode|errorname|errortype|errortext|filename
+		|function|guibutton|guiicon|guilabel|guimenu|guimenuitem
+		|guisubmenu|hardware|interface|keycap
+		|keycode|keycombo|keysym|literal|constant|markup|medialabel
+		|menuchoice|mousebutton|option|optional|parameter
+		|prompt|property|replaceable|returnvalue|sgmltag|structfield
+		|structname|symbol|systemitem|token|type|userinput|varname
+                %ebnf.inline.hook;
+		%local.tech.char.class;">
+
+<!ENTITY % local.base.char.class "">
+<!ENTITY % base.char.class
+		"anchor %local.base.char.class;">
+
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+		"author|authorinitials|corpauthor|modespec|othercredit
+		|productname|productnumber|revhistory
+		%local.docinfo.char.class;">
+
+<!ENTITY % local.other.char.class "">
+<!ENTITY % other.char.class
+		"remark|subscript|superscript %local.other.char.class;">
+
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+		"inlinegraphic|inlinemediaobject|inlineequation %local.inlineobj.char.class;">
+
+<!-- ...................................................................... -->
+<!-- Entities for content models .......................................... -->
+
+<!ENTITY % formalobject.title.content "title, titleabbrev?">
+
+<!-- Redeclaration placeholder ............................................ -->
+
+<!-- For redeclaring entities that are declared after this point while
+     retaining their references to the entities that are declared before
+     this point -->
+
+<![%dbpool.redecl.module;[
+<!-- Defining rdbpool here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbpool "">
+%rdbpool;
+<!--end of dbpool.redecl.module-->]]>
+
+<!-- Object-level mixtures ................................................ -->
+
+<!--
+                      list admn line synp para infm form cmpd gen  desc
+Component mixture       X    X    X    X    X    X    X    X    X    X
+Sidebar mixture         X    X    X    X    X    X    X    a    X
+Footnote mixture        X         X    X    X    X
+Example mixture         X         X    X    X    X
+Highlights mixture      X    X              X
+Paragraph mixture       X         X    X         X
+Admonition mixture      X         X    X    X    X    X    b    c
+Figure mixture                    X    X         X
+Table entry mixture     X    X    X         X    d
+Glossary def mixture    X         X    X    X    X         e
+Legal notice mixture    X    X    X         X    f
+
+a. Just Procedure; not Sidebar itself or MsgSet.
+b. No MsgSet.
+c. No Highlights.
+d. Just Graphic; no other informal objects.
+e. No Anchor, BridgeHead, or Highlights.
+f. Just BlockQuote; no other informal objects.
+-->
+
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|%compound.class;
+		|%genobj.class;		|%descobj.class;
+		|%ndxterm.class;        |beginpage
+		%local.component.mix;">
+
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|procedure
+		|%genobj.class;
+		|%ndxterm.class;        |beginpage
+		%local.sidebar.mix;">
+
+<!ENTITY % local.qandaset.mix "">
+<!ENTITY % qandaset.mix
+		"%list.class;           |%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|procedure
+		|%genobj.class;
+		|%ndxterm.class;
+		%local.qandaset.mix;">
+
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|procedure
+		|%genobj.class;
+		|%ndxterm.class;
+		%local.revdescription.mix;">
+
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+		"%list.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		%local.footnote.mix;">
+
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+		"%list.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%ndxterm.class;        |beginpage
+		%local.example.mix;">
+
+<!ENTITY % local.highlights.mix "">
+<!ENTITY % highlights.mix
+		"%list.class;		|%admon.class;
+		|%para.class;
+		|%ndxterm.class;
+		%local.highlights.mix;">
+
+<!-- %formal.class; is explicitly excluded from many contexts in which
+     paragraphs are used -->
+<!ENTITY % local.para.mix "">
+<!ENTITY % para.mix
+		"%list.class;           |%admon.class;
+		|%linespecific.class;
+					|%informal.class;
+		|%formal.class;
+		%local.para.mix;">
+
+<!ENTITY % local.admon.mix "">
+<!ENTITY % admon.mix
+		"%list.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;		|procedure|sidebar
+		|anchor|bridgehead|remark
+		|%ndxterm.class;        |beginpage
+		%local.admon.mix;">
+
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+		"%linespecific.class;	|%synop.class;
+					|%informal.class;
+		|%ndxterm.class;        |beginpage
+		%local.figure.mix;">
+
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;
+		|%para.class;		|graphic|mediaobject
+		%local.tabentry.mix;">
+
+<!ENTITY % local.glossdef.mix "">
+<!ENTITY % glossdef.mix
+		"%list.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%formal.class;
+		|remark
+		|%ndxterm.class;        |beginpage
+		%local.glossdef.mix;">
+
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;
+		|%para.class;		|blockquote
+		|%ndxterm.class;        |beginpage
+		%local.legalnotice.mix;">
+
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+		"%list.class;		|%admon.class;
+		|%linespecific.class;
+		|%para.class;		|blockquote
+		%local.textobject.mix;">
+
+<!ENTITY % local.mediaobject.mix "">
+<!ENTITY % mediaobject.mix
+		"videoobject|audioobject|imageobject|textobject %local.mediaobject.mix;">
+
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+		"                  	 %admon.class;
+		|%linespecific.class;	|%synop.class;
+		|%para.class;		|%informal.class;
+		|%genobj.class;		|%descobj.class;
+		|%ndxterm.class;        |beginpage
+		%local.listpreamble.mix;">
+
+<!-- Character-level mixtures ............................................. -->
+
+<![%sgml.features;[
+<!ENTITY % local.ubiq.mix "">
+<!ENTITY % ubiq.mix "%ndxterm.class;|beginpage %local.ubiq.mix;">
+
+<!ENTITY % ubiq.exclusion "-(%ubiq.mix)">
+<!ENTITY % ubiq.inclusion "+(%ubiq.mix)">
+
+<!ENTITY % footnote.exclusion "-(footnote|%formal.class;)">
+<!ENTITY % highlights.exclusion "-(%ubiq.mix;|%formal.class;)">
+<!ENTITY % admon.exclusion "-(%admon.class;)">
+<!ENTITY % formal.exclusion "-(%formal.class;)">
+<!ENTITY % acronym.exclusion "-(acronym)">
+<!ENTITY % beginpage.exclusion "-(beginpage)">
+<!ENTITY % ndxterm.exclusion "-(%ndxterm.class;)">
+<!ENTITY % blockquote.exclusion "-(epigraph)">
+<!ENTITY % remark.exclusion "-(remark|%ubiq.mix;)">
+<!ENTITY % glossterm.exclusion "-(glossterm)">
+<!ENTITY % links.exclusion "-(link|olink|ulink|xref)">
+]]><!-- sgml.features -->
+
+<!-- not [sgml.features[ -->
+<!ENTITY % local.ubiq.mix "">
+<!ENTITY % ubiq.mix "">
+
+<!ENTITY % ubiq.exclusion "">
+<!ENTITY % ubiq.inclusion "">
+
+<!ENTITY % footnote.exclusion "">
+<!ENTITY % highlights.exclusion "">
+<!ENTITY % admon.exclusion "">
+<!ENTITY % formal.exclusion "">
+<!ENTITY % acronym.exclusion "">
+<!ENTITY % beginpage.exclusion "">
+<!ENTITY % ndxterm.exclusion "">
+<!ENTITY % blockquote.exclusion "">
+<!ENTITY % remark.exclusion "">
+<!ENTITY % glossterm.exclusion "">
+<!ENTITY % links.exclusion "">
+<!-- ]] not sgml.features -->
+
+<!--
+                    #PCD xref word link cptr base dnfo othr inob (synop)
+para.char.mix         X    X    X    X    X    X    X    X    X
+title.char.mix        X    X    X    X    X    X    X    X    X
+ndxterm.char.mix      X    X    X    X    X    X    X    X    a
+cptr.char.mix         X              X    X    X         X    a
+smallcptr.char.mix    X                   b                   a
+word.char.mix         X         c    X         X         X    a
+docinfo.char.mix      X         d    X    b              X    a
+
+a. Just InlineGraphic; no InlineEquation.
+b. Just Replaceable; no other computer terms.
+c. Just Emphasis and Trademark; no other word elements.
+d. Just Acronym, Emphasis, and Trademark; no other word elements.
+-->
+
+<!-- The DocBook TC may produce an official forms module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % forminlines.hook "">
+
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+		"#PCDATA
+		|%xref.char.class;	|%gen.char.class;
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;	|%docinfo.char.class;
+		|%other.char.class;	|%inlineobj.char.class;
+		|%synop.class;
+		|%ndxterm.class;        |beginpage
+                %forminlines.hook;
+		%local.para.char.mix;">
+
+<!ENTITY % local.title.char.mix "">
+<!ENTITY % title.char.mix
+		"#PCDATA
+		|%xref.char.class;	|%gen.char.class;
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;	|%docinfo.char.class;
+		|%other.char.class;	|%inlineobj.char.class;
+		|%ndxterm.class;
+		%local.title.char.mix;">
+
+<!ENTITY % local.ndxterm.char.mix "">
+<!ENTITY % ndxterm.char.mix
+		"#PCDATA
+		|%xref.char.class;	|%gen.char.class;
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;	|%docinfo.char.class;
+		|%other.char.class;	|inlinegraphic|inlinemediaobject
+		%local.ndxterm.char.mix;">
+
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+		"#PCDATA
+		|%link.char.class;	|%tech.char.class;
+		|%base.char.class;
+		|%other.char.class;	|inlinegraphic|inlinemediaobject
+		|%ndxterm.class;        |beginpage
+		%local.cptr.char.mix;">
+
+<!ENTITY % local.smallcptr.char.mix "">
+<!ENTITY % smallcptr.char.mix
+		"#PCDATA
+					|replaceable
+					|inlinegraphic|inlinemediaobject
+		|%ndxterm.class;        |beginpage
+		%local.smallcptr.char.mix;">
+
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+		"#PCDATA
+					|acronym|emphasis|trademark
+		|%link.char.class;
+		|%base.char.class;
+		|%other.char.class;	|inlinegraphic|inlinemediaobject
+		|%ndxterm.class;        |beginpage
+		%local.word.char.mix;">
+
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+		"#PCDATA
+		|%link.char.class;
+					|emphasis|trademark
+					|replaceable
+		|%other.char.class;	|inlinegraphic|inlinemediaobject
+		|%ndxterm.class;
+		%local.docinfo.char.mix;">
+<!--ENTITY % bibliocomponent.mix (see Bibliographic section, below)-->
+<!--ENTITY % person.ident.mix (see Bibliographic section, below)-->
+
+<!-- ...................................................................... -->
+<!-- Entities for attributes and attribute components ..................... -->
+
+<!-- Effectivity attributes ............................................... -->
+
+
+<!-- Arch: Computer or chip architecture to which element applies; no
+	default -->
+
+<!ENTITY % arch.attrib
+	"arch		CDATA		#IMPLIED">
+
+<!-- Condition: General-purpose effectivity attribute -->
+
+<!ENTITY % condition.attrib
+	"condition	CDATA		#IMPLIED">
+
+<!-- Conformance: Standards conformance characteristics -->
+
+<!ENTITY % conformance.attrib
+	"conformance	NMTOKENS	#IMPLIED">
+
+
+<!-- OS: Operating system to which element applies; no default -->
+
+<!ENTITY % os.attrib
+	"os		CDATA		#IMPLIED">
+
+
+<!-- Revision: Editorial revision to which element belongs; no default -->
+
+<!ENTITY % revision.attrib
+	"revision	CDATA		#IMPLIED">
+
+<!-- Security: Security classification; no default -->
+
+<!ENTITY % security.attrib
+	"security	CDATA		#IMPLIED">
+
+<!-- UserLevel: Level of user experience to which element applies; no
+	default -->
+
+<!ENTITY % userlevel.attrib
+	"userlevel	CDATA		#IMPLIED">
+
+
+<!-- Vendor: Computer vendor to which element applies; no default -->
+
+<!ENTITY % vendor.attrib
+	"vendor		CDATA		#IMPLIED">
+
+<!ENTITY % local.effectivity.attrib "">
+<!ENTITY % effectivity.attrib
+	"%arch.attrib;
+        %condition.attrib;
+	%conformance.attrib;
+	%os.attrib;
+	%revision.attrib;
+        %security.attrib;
+	%userlevel.attrib;
+	%vendor.attrib;
+	%local.effectivity.attrib;"
+>
+
+<!-- Common attributes .................................................... -->
+
+
+<!-- Id: Unique identifier of element; no default -->
+
+<!ENTITY % id.attrib
+	"id		ID		#IMPLIED">
+
+
+<!-- Id: Unique identifier of element; a value must be supplied; no
+	default -->
+
+<!ENTITY % idreq.attrib
+	"id		ID		#REQUIRED">
+
+
+<!-- Lang: Indicator of language in which element is written, for
+	translation, character set management, etc.; no default -->
+
+<!ENTITY % lang.attrib
+	"lang		CDATA		#IMPLIED">
+
+
+<!-- Remap: Previous role of element before conversion; no default -->
+
+<!ENTITY % remap.attrib
+	"remap		CDATA		#IMPLIED">
+
+
+<!-- Role: New role of element in local environment; no default -->
+
+<!ENTITY % role.attrib
+	"role		CDATA		#IMPLIED">
+
+
+<!-- XRefLabel: Alternate labeling string for XRef text generation;
+	default is usually title or other appropriate label text already
+	contained in element -->
+
+<!ENTITY % xreflabel.attrib
+	"xreflabel	CDATA		#IMPLIED">
+
+
+<!-- RevisionFlag: Revision status of element; default is that element
+	wasn't revised -->
+
+<!ENTITY % revisionflag.attrib
+	"revisionflag	(changed
+			|added
+			|deleted
+			|off)		#IMPLIED">
+
+<!ENTITY % local.common.attrib "">
+
+<!-- Role is included explicitly on each element -->
+
+<!ENTITY % common.attrib
+	"%id.attrib;
+	%lang.attrib;
+	%remap.attrib;
+	%xreflabel.attrib;
+	%revisionflag.attrib;
+	%effectivity.attrib;
+	%local.common.attrib;"
+>
+
+
+<!-- Role is included explicitly on each element -->
+
+<!ENTITY % idreq.common.attrib
+	"%idreq.attrib;
+	%lang.attrib;
+	%remap.attrib;
+	%xreflabel.attrib;
+	%revisionflag.attrib;
+	%effectivity.attrib;
+	%local.common.attrib;"
+>
+
+<!-- Semi-common attributes and other attribute entities .................. -->
+
+<!ENTITY % local.graphics.attrib "">
+
+<!-- EntityRef: Name of an external entity containing the content
+	of the graphic -->
+<!-- FileRef: Filename, qualified by a pathname if desired,
+	designating the file containing the content of the graphic -->
+<!-- Format: Notation of the element content, if any -->
+<!-- SrcCredit: Information about the source of the Graphic -->
+<!-- Width: Same as CALS reprowid (desired width) -->
+<!-- Depth: Same as CALS reprodep (desired depth) -->
+<!-- Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+	application-specific -->
+<!-- Scale: Conflation of CALS hscale and vscale -->
+<!-- Scalefit: Same as CALS scalefit -->
+
+<!ENTITY % graphics.attrib
+	"
+	entityref	ENTITY		#IMPLIED
+	fileref 	CDATA		#IMPLIED
+	format		(%notation.class;) #IMPLIED
+	srccredit	CDATA		#IMPLIED
+	width		CDATA		#IMPLIED
+	contentwidth	CDATA		#IMPLIED
+	depth		CDATA		#IMPLIED
+	contentdepth	CDATA		#IMPLIED
+	align		(left
+			|right
+			|center)	#IMPLIED
+	valign		(top
+			|middle
+			|bottom)	#IMPLIED
+	scale		CDATA		#IMPLIED
+	scalefit	%yesorno.attvals;
+					#IMPLIED
+	%local.graphics.attrib;"
+>
+
+<!ENTITY % local.keyaction.attrib "">
+
+<!-- Action: Key combination type; default is unspecified if one
+	child element, Simul if there is more than one; if value is
+	Other, the OtherAction attribute must have a nonempty value -->
+<!-- OtherAction: User-defined key combination type -->
+
+<!ENTITY % keyaction.attrib
+	"
+	action		(click
+			|double-click
+			|press
+			|seq
+			|simul
+			|other)		#IMPLIED
+	otheraction	CDATA		#IMPLIED
+	%local.keyaction.attrib;"
+>
+
+
+<!-- Label: Identifying number or string; default is usually the
+	appropriate number or string autogenerated by a formatter -->
+
+<!ENTITY % label.attrib
+	"label		CDATA		#IMPLIED">
+
+
+<!-- Format: whether element is assumed to contain significant white
+	space -->
+
+<!ENTITY % linespecific.attrib
+	"format		NOTATION
+			(linespecific)	'linespecific'
+         linenumbering	(numbered|unnumbered) 	#IMPLIED">
+
+
+<!-- Linkend: link to related information; no default -->
+
+<!ENTITY % linkend.attrib
+	"linkend	IDREF		#IMPLIED">
+
+
+<!-- Linkend: required link to related information -->
+
+<!ENTITY % linkendreq.attrib
+	"linkend	IDREF		#REQUIRED">
+
+
+<!-- Linkends: link to one or more sets of related information; no
+	default -->
+
+<!ENTITY % linkends.attrib
+	"linkends	IDREFS		#IMPLIED">
+
+
+<!ENTITY % local.mark.attrib "">
+<!ENTITY % mark.attrib
+	"mark		CDATA		#IMPLIED
+	%local.mark.attrib;"
+>
+
+
+<!-- MoreInfo: whether element's content has an associated RefEntry -->
+
+<!ENTITY % moreinfo.attrib
+	"moreinfo	(refentry|none)	'none'">
+
+
+<!-- Pagenum: number of page on which element appears; no default -->
+
+<!ENTITY % pagenum.attrib
+	"pagenum	CDATA		#IMPLIED">
+
+<!ENTITY % local.status.attrib "">
+
+<!-- Status: Editorial or publication status of the element
+	it applies to, such as "in review" or "approved for distribution" -->
+
+<!ENTITY % status.attrib
+	"status		CDATA		#IMPLIED
+	%local.status.attrib;"
+>
+
+
+<!-- Width: width of the longest line in the element to which it
+	pertains, in number of characters -->
+
+<!ENTITY % width.attrib
+	"width		CDATA		#IMPLIED">
+
+<!-- ...................................................................... -->
+<!-- Title elements ....................................................... -->
+
+<!ENTITY % title.module "INCLUDE">
+<![%title.module;[
+<!ENTITY % local.title.attrib "">
+<!ENTITY % title.role.attrib "%role.attrib;">
+
+<!ENTITY % title.element "INCLUDE">
+<![%title.element;[
+<!ELEMENT title %ho; (%title.char.mix;)*>
+<!--end of title.element-->]]>
+
+<!ENTITY % title.attlist "INCLUDE">
+<![%title.attlist;[
+<!ATTLIST title
+		%pagenum.attrib;
+		%common.attrib;
+		%title.role.attrib;
+		%local.title.attrib;
+>
+<!--end of title.attlist-->]]>
+<!--end of title.module-->]]>
+
+<!ENTITY % titleabbrev.module "INCLUDE">
+<![%titleabbrev.module;[
+<!ENTITY % local.titleabbrev.attrib "">
+<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % titleabbrev.element "INCLUDE">
+<![%titleabbrev.element;[
+<!ELEMENT titleabbrev %ho; (%title.char.mix;)*>
+<!--end of titleabbrev.element-->]]>
+
+<!ENTITY % titleabbrev.attlist "INCLUDE">
+<![%titleabbrev.attlist;[
+<!ATTLIST titleabbrev
+		%common.attrib;
+		%titleabbrev.role.attrib;
+		%local.titleabbrev.attrib;
+>
+<!--end of titleabbrev.attlist-->]]>
+<!--end of titleabbrev.module-->]]>
+
+<!ENTITY % subtitle.module "INCLUDE">
+<![%subtitle.module;[
+<!ENTITY % local.subtitle.attrib "">
+<!ENTITY % subtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % subtitle.element "INCLUDE">
+<![%subtitle.element;[
+<!ELEMENT subtitle %ho; (%title.char.mix;)*>
+<!--end of subtitle.element-->]]>
+
+<!ENTITY % subtitle.attlist "INCLUDE">
+<![%subtitle.attlist;[
+<!ATTLIST subtitle
+		%common.attrib;
+		%subtitle.role.attrib;
+		%local.subtitle.attrib;
+>
+<!--end of subtitle.attlist-->]]>
+<!--end of subtitle.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Bibliographic entities and elements .................................. -->
+
+<!-- The bibliographic elements are typically used in the document
+     hierarchy. They do not appear in content models of information
+     pool elements.  See also the document information elements,
+     below. -->
+
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+		"honorific|firstname|surname|lineage|othername|affiliation
+		|authorblurb|contrib %local.person.ident.mix;">
+
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+		"abbrev|abstract|address|artpagenums|author
+		|authorgroup|authorinitials|bibliomisc|biblioset
+		|collab|confgroup|contractnum|contractsponsor
+		|copyright|corpauthor|corpname|date|edition
+		|editor|invpartnumber|isbn|issn|issuenum|orgname
+		|biblioid|citebiblioid|bibliosource|bibliorelation|bibliocoverage
+		|othercredit|pagenums|printhistory|productname
+		|productnumber|pubdate|publisher|publishername
+		|pubsnumber|releaseinfo|revhistory|seriesvolnums
+		|subtitle|title|titleabbrev|volumenum|citetitle
+		|personname|%person.ident.mix;
+		|%ndxterm.class;
+		%local.bibliocomponent.mix;">
+
+<!-- I don't think this is well placed, but it needs to be here because of -->
+<!-- the reference to bibliocomponent.mix -->
+<!ENTITY % local.info.class "">
+<!ENTITY % info.class
+		"graphic | mediaobject | legalnotice | modespec
+		 | subjectset | keywordset | itermset | %bibliocomponent.mix;
+                 %local.info.class;">
+
+<!ENTITY % biblioentry.module "INCLUDE">
+<![%biblioentry.module;[
+<!ENTITY % local.biblioentry.attrib "">
+<!ENTITY % biblioentry.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioentry.element "INCLUDE">
+<![%biblioentry.element;[
+<!ELEMENT biblioentry %ho; ((articleinfo | (%bibliocomponent.mix;))+)
+                      %ubiq.exclusion;>
+<!--end of biblioentry.element-->]]>
+
+<!ENTITY % biblioentry.attlist "INCLUDE">
+<![%biblioentry.attlist;[
+<!ATTLIST biblioentry
+		%common.attrib;
+		%biblioentry.role.attrib;
+		%local.biblioentry.attrib;
+>
+<!--end of biblioentry.attlist-->]]>
+<!--end of biblioentry.module-->]]>
+
+<!ENTITY % bibliomixed.module "INCLUDE">
+<![%bibliomixed.module;[
+<!ENTITY % local.bibliomixed.attrib "">
+<!ENTITY % bibliomixed.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliomixed.element "INCLUDE">
+<![%bibliomixed.element;[
+<!ELEMENT bibliomixed %ho; (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+                      %ubiq.exclusion;>
+<!--end of bibliomixed.element-->]]>
+
+<!ENTITY % bibliomixed.attlist "INCLUDE">
+<![%bibliomixed.attlist;[
+<!ATTLIST bibliomixed
+		%common.attrib;
+		%bibliomixed.role.attrib;
+		%local.bibliomixed.attrib;
+>
+<!--end of bibliomixed.attlist-->]]>
+<!--end of bibliomixed.module-->]]>
+
+<!ENTITY % articleinfo.module "INCLUDE">
+<![%articleinfo.module;[
+<!ENTITY % local.articleinfo.attrib "">
+<!ENTITY % articleinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % articleinfo.element "INCLUDE">
+<![%articleinfo.element;[
+<!ELEMENT articleinfo %ho; ((%info.class;)+)
+	%beginpage.exclusion;>
+<!--end of articleinfo.element-->]]>
+
+<!ENTITY % articleinfo.attlist "INCLUDE">
+<![%articleinfo.attlist;[
+<!ATTLIST articleinfo
+		%common.attrib;
+		%articleinfo.role.attrib;
+		%local.articleinfo.attrib;
+>
+<!--end of articleinfo.attlist-->]]>
+<!--end of articleinfo.module-->]]>
+
+<!ENTITY % biblioset.module "INCLUDE">
+<![%biblioset.module;[
+<!ENTITY % local.biblioset.attrib "">
+<!ENTITY % biblioset.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioset.element "INCLUDE">
+<![%biblioset.element;[
+<!ELEMENT biblioset %ho; ((%bibliocomponent.mix;)+)
+                      %ubiq.exclusion;>
+<!--end of biblioset.element-->]]>
+
+<!-- Relation: Relationship of elements contained within BiblioSet -->
+
+
+<!ENTITY % biblioset.attlist "INCLUDE">
+<![%biblioset.attlist;[
+<!ATTLIST biblioset
+		relation	CDATA		#IMPLIED
+		%common.attrib;
+		%biblioset.role.attrib;
+		%local.biblioset.attrib;
+>
+<!--end of biblioset.attlist-->]]>
+<!--end of biblioset.module-->]]>
+
+<!ENTITY % bibliomset.module "INCLUDE">
+<![%bibliomset.module;[
+<!ENTITY % bibliomset.role.attrib "%role.attrib;">
+<!ENTITY % local.bibliomset.attrib "">
+
+<!ENTITY % bibliomset.element "INCLUDE">
+<![%bibliomset.element;[
+<!ELEMENT bibliomset %ho; (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+                      %ubiq.exclusion;>
+<!--end of bibliomset.element-->]]>
+
+<!-- Relation: Relationship of elements contained within BiblioMSet -->
+
+
+<!ENTITY % bibliomset.attlist "INCLUDE">
+<![%bibliomset.attlist;[
+<!ATTLIST bibliomset
+		relation	CDATA		#IMPLIED
+		%common.attrib;
+		%bibliomset.role.attrib;
+		%local.bibliomset.attrib;
+>
+<!--end of bibliomset.attlist-->]]>
+<!--end of bibliomset.module-->]]>
+
+<!ENTITY % bibliomisc.module "INCLUDE">
+<![%bibliomisc.module;[
+<!ENTITY % local.bibliomisc.attrib "">
+<!ENTITY % bibliomisc.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliomisc.element "INCLUDE">
+<![%bibliomisc.element;[
+<!ELEMENT bibliomisc %ho; (%para.char.mix;)*>
+<!--end of bibliomisc.element-->]]>
+
+<!ENTITY % bibliomisc.attlist "INCLUDE">
+<![%bibliomisc.attlist;[
+<!ATTLIST bibliomisc
+		%common.attrib;
+		%bibliomisc.role.attrib;
+		%local.bibliomisc.attrib;
+>
+<!--end of bibliomisc.attlist-->]]>
+<!--end of bibliomisc.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Subject, Keyword, and ITermSet elements .............................. -->
+
+<!ENTITY % subjectset.content.module "INCLUDE">
+<![%subjectset.content.module;[
+<!ENTITY % subjectset.module "INCLUDE">
+<![%subjectset.module;[
+<!ENTITY % local.subjectset.attrib "">
+<!ENTITY % subjectset.role.attrib "%role.attrib;">
+
+<!ENTITY % subjectset.element "INCLUDE">
+<![%subjectset.element;[
+<!ELEMENT subjectset %ho; (subject+)>
+<!--end of subjectset.element-->]]>
+
+<!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
+
+
+<!ENTITY % subjectset.attlist "INCLUDE">
+<![%subjectset.attlist;[
+<!ATTLIST subjectset
+		scheme		NMTOKEN		#IMPLIED
+		%common.attrib;
+		%subjectset.role.attrib;
+		%local.subjectset.attrib;
+>
+<!--end of subjectset.attlist-->]]>
+<!--end of subjectset.module-->]]>
+
+<!ENTITY % subject.module "INCLUDE">
+<![%subject.module;[
+<!ENTITY % local.subject.attrib "">
+<!ENTITY % subject.role.attrib "%role.attrib;">
+
+<!ENTITY % subject.element "INCLUDE">
+<![%subject.element;[
+<!ELEMENT subject %ho; (subjectterm+)>
+<!--end of subject.element-->]]>
+
+<!-- Weight: Ranking of this group of SubjectTerms relative
+		to others, 0 is low, no highest value specified -->
+
+
+<!ENTITY % subject.attlist "INCLUDE">
+<![%subject.attlist;[
+<!ATTLIST subject
+		weight		CDATA		#IMPLIED
+		%common.attrib;
+		%subject.role.attrib;
+		%local.subject.attrib;
+>
+<!--end of subject.attlist-->]]>
+<!--end of subject.module-->]]>
+
+<!ENTITY % subjectterm.module "INCLUDE">
+<![%subjectterm.module;[
+<!ENTITY % local.subjectterm.attrib "">
+<!ENTITY % subjectterm.role.attrib "%role.attrib;">
+
+<!ENTITY % subjectterm.element "INCLUDE">
+<![%subjectterm.element;[
+<!ELEMENT subjectterm %ho; (#PCDATA)>
+<!--end of subjectterm.element-->]]>
+
+<!ENTITY % subjectterm.attlist "INCLUDE">
+<![%subjectterm.attlist;[
+<!ATTLIST subjectterm
+		%common.attrib;
+		%subjectterm.role.attrib;
+		%local.subjectterm.attrib;
+>
+<!--end of subjectterm.attlist-->]]>
+<!--end of subjectterm.module-->]]>
+<!--end of subjectset.content.module-->]]>
+
+<!ENTITY % keywordset.content.module "INCLUDE">
+<![%keywordset.content.module;[
+<!ENTITY % keywordset.module "INCLUDE">
+<![%keywordset.module;[
+<!ENTITY % local.keywordset.attrib "">
+<!ENTITY % keywordset.role.attrib "%role.attrib;">
+
+<!ENTITY % keywordset.element "INCLUDE">
+<![%keywordset.element;[
+<!ELEMENT keywordset %ho; (keyword+)>
+<!--end of keywordset.element-->]]>
+
+<!ENTITY % keywordset.attlist "INCLUDE">
+<![%keywordset.attlist;[
+<!ATTLIST keywordset
+		%common.attrib;
+		%keywordset.role.attrib;
+		%local.keywordset.attrib;
+>
+<!--end of keywordset.attlist-->]]>
+<!--end of keywordset.module-->]]>
+
+<!ENTITY % keyword.module "INCLUDE">
+<![%keyword.module;[
+<!ENTITY % local.keyword.attrib "">
+<!ENTITY % keyword.role.attrib "%role.attrib;">
+
+<!ENTITY % keyword.element "INCLUDE">
+<![%keyword.element;[
+<!ELEMENT keyword %ho; (#PCDATA)>
+<!--end of keyword.element-->]]>
+
+<!ENTITY % keyword.attlist "INCLUDE">
+<![%keyword.attlist;[
+<!ATTLIST keyword
+		%common.attrib;
+		%keyword.role.attrib;
+		%local.keyword.attrib;
+>
+<!--end of keyword.attlist-->]]>
+<!--end of keyword.module-->]]>
+<!--end of keywordset.content.module-->]]>
+
+<!ENTITY % itermset.module "INCLUDE">
+<![%itermset.module;[
+<!ENTITY % local.itermset.attrib "">
+<!ENTITY % itermset.role.attrib "%role.attrib;">
+
+<!ENTITY % itermset.element "INCLUDE">
+<![%itermset.element;[
+<!ELEMENT itermset %ho; (indexterm+)>
+<!--end of itermset.element-->]]>
+
+<!ENTITY % itermset.attlist "INCLUDE">
+<![%itermset.attlist;[
+<!ATTLIST itermset
+		%common.attrib;
+		%itermset.role.attrib;
+		%local.itermset.attrib;
+>
+<!--end of itermset.attlist-->]]>
+<!--end of itermset.module-->]]>
+
+<!-- Bibliographic info for "blocks" -->
+
+<!ENTITY % blockinfo.module "INCLUDE">
+<![ %blockinfo.module; [
+<!ENTITY % local.blockinfo.attrib "">
+<!ENTITY % blockinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % blockinfo.element "INCLUDE">
+<![ %blockinfo.element; [
+<!ELEMENT blockinfo %ho; ((%info.class;)+)
+	%beginpage.exclusion;>
+<!--end of blockinfo.element-->]]>
+
+<!ENTITY % blockinfo.attlist "INCLUDE">
+<![ %blockinfo.attlist; [
+<!ATTLIST blockinfo
+		%common.attrib;
+		%blockinfo.role.attrib;
+		%local.blockinfo.attrib;
+>
+<!--end of blockinfo.attlist-->]]>
+<!--end of blockinfo.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Compound (section-ish) elements ...................................... -->
+
+<!-- Message set ...................... -->
+
+<!ENTITY % msgset.content.module "INCLUDE">
+<![%msgset.content.module;[
+<!ENTITY % msgset.module "INCLUDE">
+<![%msgset.module;[
+<!ENTITY % local.msgset.attrib "">
+<!ENTITY % msgset.role.attrib "%role.attrib;">
+
+<!ENTITY % msgset.element "INCLUDE">
+<![%msgset.element;[
+<!ELEMENT msgset %ho; (blockinfo?, (%formalobject.title.content;)?,
+                       (msgentry+|simplemsgentry+))>
+<!--end of msgset.element-->]]>
+
+<!ENTITY % msgset.attlist "INCLUDE">
+<![%msgset.attlist;[
+<!ATTLIST msgset
+		%common.attrib;
+		%msgset.role.attrib;
+		%local.msgset.attrib;
+>
+<!--end of msgset.attlist-->]]>
+<!--end of msgset.module-->]]>
+
+<!ENTITY % msgentry.module "INCLUDE">
+<![%msgentry.module;[
+<!ENTITY % local.msgentry.attrib "">
+<!ENTITY % msgentry.role.attrib "%role.attrib;">
+
+<!ENTITY % msgentry.element "INCLUDE">
+<![%msgentry.element;[
+<!ELEMENT msgentry %ho; (msg+, msginfo?, msgexplan*)>
+<!--end of msgentry.element-->]]>
+
+<!ENTITY % msgentry.attlist "INCLUDE">
+<![%msgentry.attlist;[
+<!ATTLIST msgentry
+		%common.attrib;
+		%msgentry.role.attrib;
+		%local.msgentry.attrib;
+>
+<!--end of msgentry.attlist-->]]>
+<!--end of msgentry.module-->]]>
+
+<!ENTITY % simplemsgentry.module "INCLUDE">
+<![ %simplemsgentry.module; [
+<!ENTITY % local.simplemsgentry.attrib "">
+<!ENTITY % simplemsgentry.role.attrib "%role.attrib;">
+
+<!ENTITY % simplemsgentry.element "INCLUDE">
+<![ %simplemsgentry.element; [
+<!ELEMENT simplemsgentry %ho; (msgtext, msgexplan+)>
+<!--end of simplemsgentry.element-->]]>
+
+<!ENTITY % simplemsgentry.attlist "INCLUDE">
+<![ %simplemsgentry.attlist; [
+<!ATTLIST simplemsgentry
+		audience	CDATA	#IMPLIED
+		level		CDATA	#IMPLIED
+		origin		CDATA	#IMPLIED
+		%common.attrib;
+		%simplemsgentry.role.attrib;
+		%local.simplemsgentry.attrib;
+>
+<!--end of simplemsgentry.attlist-->]]>
+<!--end of simplemsgentry.module-->]]>
+
+<!ENTITY % msg.module "INCLUDE">
+<![%msg.module;[
+<!ENTITY % local.msg.attrib "">
+<!ENTITY % msg.role.attrib "%role.attrib;">
+
+<!ENTITY % msg.element "INCLUDE">
+<![%msg.element;[
+<!ELEMENT msg %ho; (title?, msgmain, (msgsub | msgrel)*)>
+<!--end of msg.element-->]]>
+
+<!ENTITY % msg.attlist "INCLUDE">
+<![%msg.attlist;[
+<!ATTLIST msg
+		%common.attrib;
+		%msg.role.attrib;
+		%local.msg.attrib;
+>
+<!--end of msg.attlist-->]]>
+<!--end of msg.module-->]]>
+
+<!ENTITY % msgmain.module "INCLUDE">
+<![%msgmain.module;[
+<!ENTITY % local.msgmain.attrib "">
+<!ENTITY % msgmain.role.attrib "%role.attrib;">
+
+<!ENTITY % msgmain.element "INCLUDE">
+<![%msgmain.element;[
+<!ELEMENT msgmain %ho; (title?, msgtext)>
+<!--end of msgmain.element-->]]>
+
+<!ENTITY % msgmain.attlist "INCLUDE">
+<![%msgmain.attlist;[
+<!ATTLIST msgmain
+		%common.attrib;
+		%msgmain.role.attrib;
+		%local.msgmain.attrib;
+>
+<!--end of msgmain.attlist-->]]>
+<!--end of msgmain.module-->]]>
+
+<!ENTITY % msgsub.module "INCLUDE">
+<![%msgsub.module;[
+<!ENTITY % local.msgsub.attrib "">
+<!ENTITY % msgsub.role.attrib "%role.attrib;">
+
+<!ENTITY % msgsub.element "INCLUDE">
+<![%msgsub.element;[
+<!ELEMENT msgsub %ho; (title?, msgtext)>
+<!--end of msgsub.element-->]]>
+
+<!ENTITY % msgsub.attlist "INCLUDE">
+<![%msgsub.attlist;[
+<!ATTLIST msgsub
+		%common.attrib;
+		%msgsub.role.attrib;
+		%local.msgsub.attrib;
+>
+<!--end of msgsub.attlist-->]]>
+<!--end of msgsub.module-->]]>
+
+<!ENTITY % msgrel.module "INCLUDE">
+<![%msgrel.module;[
+<!ENTITY % local.msgrel.attrib "">
+<!ENTITY % msgrel.role.attrib "%role.attrib;">
+
+<!ENTITY % msgrel.element "INCLUDE">
+<![%msgrel.element;[
+<!ELEMENT msgrel %ho; (title?, msgtext)>
+<!--end of msgrel.element-->]]>
+
+<!ENTITY % msgrel.attlist "INCLUDE">
+<![%msgrel.attlist;[
+<!ATTLIST msgrel
+		%common.attrib;
+		%msgrel.role.attrib;
+		%local.msgrel.attrib;
+>
+<!--end of msgrel.attlist-->]]>
+<!--end of msgrel.module-->]]>
+
+<!-- MsgText (defined in the Inlines section, below)-->
+
+<!ENTITY % msginfo.module "INCLUDE">
+<![%msginfo.module;[
+<!ENTITY % local.msginfo.attrib "">
+<!ENTITY % msginfo.role.attrib "%role.attrib;">
+
+<!ENTITY % msginfo.element "INCLUDE">
+<![%msginfo.element;[
+<!ELEMENT msginfo %ho; ((msglevel | msgorig | msgaud)*)>
+<!--end of msginfo.element-->]]>
+
+<!ENTITY % msginfo.attlist "INCLUDE">
+<![%msginfo.attlist;[
+<!ATTLIST msginfo
+		%common.attrib;
+		%msginfo.role.attrib;
+		%local.msginfo.attrib;
+>
+<!--end of msginfo.attlist-->]]>
+<!--end of msginfo.module-->]]>
+
+<!ENTITY % msglevel.module "INCLUDE">
+<![%msglevel.module;[
+<!ENTITY % local.msglevel.attrib "">
+<!ENTITY % msglevel.role.attrib "%role.attrib;">
+
+<!ENTITY % msglevel.element "INCLUDE">
+<![%msglevel.element;[
+<!ELEMENT msglevel %ho; (%smallcptr.char.mix;)*>
+<!--end of msglevel.element-->]]>
+
+<!ENTITY % msglevel.attlist "INCLUDE">
+<![%msglevel.attlist;[
+<!ATTLIST msglevel
+		%common.attrib;
+		%msglevel.role.attrib;
+		%local.msglevel.attrib;
+>
+<!--end of msglevel.attlist-->]]>
+<!--end of msglevel.module-->]]>
+
+<!ENTITY % msgorig.module "INCLUDE">
+<![%msgorig.module;[
+<!ENTITY % local.msgorig.attrib "">
+<!ENTITY % msgorig.role.attrib "%role.attrib;">
+
+<!ENTITY % msgorig.element "INCLUDE">
+<![%msgorig.element;[
+<!ELEMENT msgorig %ho; (%smallcptr.char.mix;)*>
+<!--end of msgorig.element-->]]>
+
+<!ENTITY % msgorig.attlist "INCLUDE">
+<![%msgorig.attlist;[
+<!ATTLIST msgorig
+		%common.attrib;
+		%msgorig.role.attrib;
+		%local.msgorig.attrib;
+>
+<!--end of msgorig.attlist-->]]>
+<!--end of msgorig.module-->]]>
+
+<!ENTITY % msgaud.module "INCLUDE">
+<![%msgaud.module;[
+<!ENTITY % local.msgaud.attrib "">
+<!ENTITY % msgaud.role.attrib "%role.attrib;">
+
+<!ENTITY % msgaud.element "INCLUDE">
+<![%msgaud.element;[
+<!ELEMENT msgaud %ho; (%para.char.mix;)*>
+<!--end of msgaud.element-->]]>
+
+<!ENTITY % msgaud.attlist "INCLUDE">
+<![%msgaud.attlist;[
+<!ATTLIST msgaud
+		%common.attrib;
+		%msgaud.role.attrib;
+		%local.msgaud.attrib;
+>
+<!--end of msgaud.attlist-->]]>
+<!--end of msgaud.module-->]]>
+
+<!ENTITY % msgexplan.module "INCLUDE">
+<![%msgexplan.module;[
+<!ENTITY % local.msgexplan.attrib "">
+<!ENTITY % msgexplan.role.attrib "%role.attrib;">
+
+<!ENTITY % msgexplan.element "INCLUDE">
+<![%msgexplan.element;[
+<!ELEMENT msgexplan %ho; (title?, (%component.mix;)+)>
+<!--end of msgexplan.element-->]]>
+
+<!ENTITY % msgexplan.attlist "INCLUDE">
+<![%msgexplan.attlist;[
+<!ATTLIST msgexplan
+		%common.attrib;
+		%msgexplan.role.attrib;
+		%local.msgexplan.attrib;
+>
+<!--end of msgexplan.attlist-->]]>
+<!--end of msgexplan.module-->]]>
+<!--end of msgset.content.module-->]]>
+
+<!-- QandASet ........................ -->
+<!ENTITY % qandaset.content.module "INCLUDE">
+<![ %qandaset.content.module; [
+<!ENTITY % qandaset.module "INCLUDE">
+<![ %qandaset.module; [
+<!ENTITY % local.qandaset.attrib "">
+<!ENTITY % qandaset.role.attrib "%role.attrib;">
+
+<!ENTITY % qandaset.element "INCLUDE">
+<![ %qandaset.element; [
+<!ELEMENT qandaset %ho; (blockinfo?, (%formalobject.title.content;)?,
+			(%qandaset.mix;)*,
+                        (qandadiv+|qandaentry+))>
+<!--end of qandaset.element-->]]>
+
+<!ENTITY % qandaset.attlist "INCLUDE">
+<![ %qandaset.attlist; [
+<!ATTLIST qandaset
+		defaultlabel	(qanda|number|none)       #IMPLIED
+		%common.attrib;
+		%qandaset.role.attrib;
+		%local.qandaset.attrib;>
+<!--end of qandaset.attlist-->]]>
+<!--end of qandaset.module-->]]>
+
+<!ENTITY % qandadiv.module "INCLUDE">
+<![ %qandadiv.module; [
+<!ENTITY % local.qandadiv.attrib "">
+<!ENTITY % qandadiv.role.attrib "%role.attrib;">
+
+<!ENTITY % qandadiv.element "INCLUDE">
+<![ %qandadiv.element; [
+<!ELEMENT qandadiv %ho; (blockinfo?, (%formalobject.title.content;)?,
+			(%qandaset.mix;)*,
+			(qandadiv+|qandaentry+))>
+<!--end of qandadiv.element-->]]>
+
+<!ENTITY % qandadiv.attlist "INCLUDE">
+<![ %qandadiv.attlist; [
+<!ATTLIST qandadiv
+		%common.attrib;
+		%qandadiv.role.attrib;
+		%local.qandadiv.attrib;>
+<!--end of qandadiv.attlist-->]]>
+<!--end of qandadiv.module-->]]>
+
+<!ENTITY % qandaentry.module "INCLUDE">
+<![ %qandaentry.module; [
+<!ENTITY % local.qandaentry.attrib "">
+<!ENTITY % qandaentry.role.attrib "%role.attrib;">
+
+<!ENTITY % qandaentry.element "INCLUDE">
+<![ %qandaentry.element; [
+<!ELEMENT qandaentry %ho; (blockinfo?, revhistory?, question, answer*)>
+<!--end of qandaentry.element-->]]>
+
+<!ENTITY % qandaentry.attlist "INCLUDE">
+<![ %qandaentry.attlist; [
+<!ATTLIST qandaentry
+		%common.attrib;
+		%qandaentry.role.attrib;
+		%local.qandaentry.attrib;>
+<!--end of qandaentry.attlist-->]]>
+<!--end of qandaentry.module-->]]>
+
+<!ENTITY % question.module "INCLUDE">
+<![ %question.module; [
+<!ENTITY % local.question.attrib "">
+<!ENTITY % question.role.attrib "%role.attrib;">
+
+<!ENTITY % question.element "INCLUDE">
+<![ %question.element; [
+<!ELEMENT question %ho; (label?, (%qandaset.mix;)+)>
+<!--end of question.element-->]]>
+
+<!ENTITY % question.attlist "INCLUDE">
+<![ %question.attlist; [
+<!ATTLIST question
+		%common.attrib;
+		%question.role.attrib;
+		%local.question.attrib;
+>
+<!--end of question.attlist-->]]>
+<!--end of question.module-->]]>
+
+<!ENTITY % answer.module "INCLUDE">
+<![ %answer.module; [
+<!ENTITY % local.answer.attrib "">
+<!ENTITY % answer.role.attrib "%role.attrib;">
+
+<!ENTITY % answer.element "INCLUDE">
+<![ %answer.element; [
+<!ELEMENT answer %ho; (label?, (%qandaset.mix;)*, qandaentry*)>
+<!--end of answer.element-->]]>
+
+<!ENTITY % answer.attlist "INCLUDE">
+<![ %answer.attlist; [
+<!ATTLIST answer
+		%common.attrib;
+		%answer.role.attrib;
+		%local.answer.attrib;
+>
+<!--end of answer.attlist-->]]>
+<!--end of answer.module-->]]>
+
+<!ENTITY % label.module "INCLUDE">
+<![ %label.module; [
+<!ENTITY % local.label.attrib "">
+<!ENTITY % label.role.attrib "%role.attrib;">
+
+<!ENTITY % label.element "INCLUDE">
+<![ %label.element; [
+<!ELEMENT label %ho; (%word.char.mix;)*>
+<!--end of label.element-->]]>
+
+<!ENTITY % label.attlist "INCLUDE">
+<![ %label.attlist; [
+<!ATTLIST label
+		%common.attrib;
+		%label.role.attrib;
+		%local.label.attrib;
+>
+<!--end of label.attlist-->]]>
+<!--end of label.module-->]]>
+<!--end of qandaset.content.module-->]]>
+
+<!-- Procedure ........................ -->
+
+<!ENTITY % procedure.content.module "INCLUDE">
+<![%procedure.content.module;[
+<!ENTITY % procedure.module "INCLUDE">
+<![%procedure.module;[
+<!ENTITY % local.procedure.attrib "">
+<!ENTITY % procedure.role.attrib "%role.attrib;">
+
+<!ENTITY % procedure.element "INCLUDE">
+<![%procedure.element;[
+<!ELEMENT procedure %ho; (blockinfo?, (%formalobject.title.content;)?,
+                          (%component.mix;)*, step+)>
+<!--end of procedure.element-->]]>
+
+<!ENTITY % procedure.attlist "INCLUDE">
+<![%procedure.attlist;[
+<!ATTLIST procedure
+		%common.attrib;
+		%procedure.role.attrib;
+		%local.procedure.attrib;
+>
+<!--end of procedure.attlist-->]]>
+<!--end of procedure.module-->]]>
+
+<!ENTITY % step.module "INCLUDE">
+<![%step.module;[
+<!ENTITY % local.step.attrib "">
+<!ENTITY % step.role.attrib "%role.attrib;">
+
+<!ENTITY % step.element "INCLUDE">
+<![%step.element;[
+<!ELEMENT step %ho; (title?, (((%component.mix;)+, (substeps,
+		(%component.mix;)*)?) | (substeps, (%component.mix;)*)))>
+<!--end of step.element-->]]>
+
+<!-- Performance: Whether the Step must be performed -->
+<!-- not #REQUIRED! -->
+
+
+<!ENTITY % step.attlist "INCLUDE">
+<![%step.attlist;[
+<!ATTLIST step
+		performance	(optional
+				|required)	"required"
+		%common.attrib;
+		%step.role.attrib;
+		%local.step.attrib;
+>
+<!--end of step.attlist-->]]>
+<!--end of step.module-->]]>
+
+<!ENTITY % substeps.module "INCLUDE">
+<![%substeps.module;[
+<!ENTITY % local.substeps.attrib "">
+<!ENTITY % substeps.role.attrib "%role.attrib;">
+
+<!ENTITY % substeps.element "INCLUDE">
+<![%substeps.element;[
+<!ELEMENT substeps %ho; (step+)>
+<!--end of substeps.element-->]]>
+
+<!-- Performance: whether entire set of substeps must be performed -->
+<!-- not #REQUIRED! -->
+
+
+<!ENTITY % substeps.attlist "INCLUDE">
+<![%substeps.attlist;[
+<!ATTLIST substeps
+		performance	(optional
+				|required)	"required"
+		%common.attrib;
+		%substeps.role.attrib;
+		%local.substeps.attrib;
+>
+<!--end of substeps.attlist-->]]>
+<!--end of substeps.module-->]]>
+<!--end of procedure.content.module-->]]>
+
+<!-- Sidebar .......................... -->
+
+<!ENTITY % sidebar.content.model "INCLUDE">
+<![ %sidebar.content.model; [
+
+<!ENTITY % sidebarinfo.module "INCLUDE">
+<![ %sidebarinfo.module; [
+<!ENTITY % local.sidebarinfo.attrib "">
+<!ENTITY % sidebarinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % sidebarinfo.element "INCLUDE">
+<![ %sidebarinfo.element; [
+<!ELEMENT sidebarinfo %ho; ((%info.class;)+)
+	%beginpage.exclusion;>
+<!--end of sidebarinfo.element-->]]>
+
+<!ENTITY % sidebarinfo.attlist "INCLUDE">
+<![ %sidebarinfo.attlist; [
+<!ATTLIST sidebarinfo
+		%common.attrib;
+		%sidebarinfo.role.attrib;
+		%local.sidebarinfo.attrib;
+>
+<!--end of sidebarinfo.attlist-->]]>
+<!--end of sidebarinfo.module-->]]>
+
+<!ENTITY % sidebar.module "INCLUDE">
+<![%sidebar.module;[
+<!ENTITY % local.sidebar.attrib "">
+<!ENTITY % sidebar.role.attrib "%role.attrib;">
+
+<!ENTITY % sidebar.element "INCLUDE">
+<![%sidebar.element;[
+<!ELEMENT sidebar %ho; (sidebarinfo?,
+                   (%formalobject.title.content;)?,
+                   (%sidebar.mix;)+)>
+<!--end of sidebar.element-->]]>
+
+<!ENTITY % sidebar.attlist "INCLUDE">
+<![%sidebar.attlist;[
+<!ATTLIST sidebar
+		%common.attrib;
+		%sidebar.role.attrib;
+		%local.sidebar.attrib;
+>
+<!--end of sidebar.attlist-->]]>
+<!--end of sidebar.module-->]]>
+<!--end of sidebar.content.model-->]]>
+
+<!-- ...................................................................... -->
+<!-- Paragraph-related elements ........................................... -->
+
+<!ENTITY % abstract.module "INCLUDE">
+<![%abstract.module;[
+<!ENTITY % local.abstract.attrib "">
+<!ENTITY % abstract.role.attrib "%role.attrib;">
+
+<!ENTITY % abstract.element "INCLUDE">
+<![%abstract.element;[
+<!ELEMENT abstract %ho; (title?, (%para.class;)+)>
+<!--end of abstract.element-->]]>
+
+<!ENTITY % abstract.attlist "INCLUDE">
+<![%abstract.attlist;[
+<!ATTLIST abstract
+		%common.attrib;
+		%abstract.role.attrib;
+		%local.abstract.attrib;
+>
+<!--end of abstract.attlist-->]]>
+<!--end of abstract.module-->]]>
+
+<!ENTITY % authorblurb.module "INCLUDE">
+<![%authorblurb.module;[
+<!ENTITY % local.authorblurb.attrib "">
+<!ENTITY % authorblurb.role.attrib "%role.attrib;">
+
+<!ENTITY % authorblurb.element "INCLUDE">
+<![%authorblurb.element;[
+<!ELEMENT authorblurb %ho; (title?, (%para.class;)+)>
+<!--end of authorblurb.element-->]]>
+
+<!ENTITY % authorblurb.attlist "INCLUDE">
+<![%authorblurb.attlist;[
+<!ATTLIST authorblurb
+		%common.attrib;
+		%authorblurb.role.attrib;
+		%local.authorblurb.attrib;
+>
+<!--end of authorblurb.attlist-->]]>
+<!--end of authorblurb.module-->]]>
+
+<!ENTITY % personblurb.module "INCLUDE">
+<![%personblurb.module;[
+<!ENTITY % local.personblurb.attrib "">
+<!ENTITY % personblurb.role.attrib "%role.attrib;">
+
+<!ENTITY % personblurb.element "INCLUDE">
+<![%personblurb.element;[
+<!ELEMENT personblurb %ho; (title?, (%para.class;)+)>
+<!--end of personblurb.element-->]]>
+
+<!ENTITY % personblurb.attlist "INCLUDE">
+<![%personblurb.attlist;[
+<!ATTLIST personblurb
+		%common.attrib;
+		%personblurb.role.attrib;
+		%local.personblurb.attrib;
+>
+<!--end of personblurb.attlist-->]]>
+<!--end of personblurb.module-->]]>
+
+<!ENTITY % blockquote.module "INCLUDE">
+<![%blockquote.module;[
+
+<!ENTITY % local.blockquote.attrib "">
+<!ENTITY % blockquote.role.attrib "%role.attrib;">
+
+<!ENTITY % blockquote.element "INCLUDE">
+<![%blockquote.element;[
+<!ELEMENT blockquote %ho; (title?, attribution?, (%component.mix;)+)
+                      %blockquote.exclusion;>
+<!--end of blockquote.element-->]]>
+
+<!ENTITY % blockquote.attlist "INCLUDE">
+<![%blockquote.attlist;[
+<!ATTLIST blockquote
+		%common.attrib;
+		%blockquote.role.attrib;
+		%local.blockquote.attrib;
+>
+<!--end of blockquote.attlist-->]]>
+<!--end of blockquote.module-->]]>
+
+<!ENTITY % attribution.module "INCLUDE">
+<![%attribution.module;[
+<!ENTITY % local.attribution.attrib "">
+<!ENTITY % attribution.role.attrib "%role.attrib;">
+
+<!ENTITY % attribution.element "INCLUDE">
+<![%attribution.element;[
+<!ELEMENT attribution %ho; (%para.char.mix;)*>
+<!--end of attribution.element-->]]>
+
+<!ENTITY % attribution.attlist "INCLUDE">
+<![%attribution.attlist;[
+<!ATTLIST attribution
+		%common.attrib;
+		%attribution.role.attrib;
+		%local.attribution.attrib;
+>
+<!--end of attribution.attlist-->]]>
+<!--end of attribution.module-->]]>
+
+<!ENTITY % bridgehead.module "INCLUDE">
+<![%bridgehead.module;[
+<!ENTITY % local.bridgehead.attrib "">
+<!ENTITY % bridgehead.role.attrib "%role.attrib;">
+
+<!ENTITY % bridgehead.element "INCLUDE">
+<![%bridgehead.element;[
+<!ELEMENT bridgehead %ho; (%title.char.mix;)*>
+<!--end of bridgehead.element-->]]>
+
+<!-- Renderas: Indicates the format in which the BridgeHead
+		should appear -->
+
+
+<!ENTITY % bridgehead.attlist "INCLUDE">
+<![%bridgehead.attlist;[
+<!ATTLIST bridgehead
+		renderas	(other
+				|sect1
+				|sect2
+				|sect3
+				|sect4
+				|sect5)		#IMPLIED
+		%common.attrib;
+		%bridgehead.role.attrib;
+		%local.bridgehead.attrib;
+>
+<!--end of bridgehead.attlist-->]]>
+<!--end of bridgehead.module-->]]>
+
+<!ENTITY % remark.module "INCLUDE">
+<![%remark.module;[
+<!ENTITY % local.remark.attrib "">
+<!ENTITY % remark.role.attrib "%role.attrib;">
+
+<!ENTITY % remark.element "INCLUDE">
+<![%remark.element;[
+<!ELEMENT remark %ho; (%para.char.mix;)*
+                      %remark.exclusion;>
+<!--end of remark.element-->]]>
+
+<!ENTITY % remark.attlist "INCLUDE">
+<![%remark.attlist;[
+<!ATTLIST remark
+		%common.attrib;
+		%remark.role.attrib;
+		%local.remark.attrib;
+>
+<!--end of remark.attlist-->]]>
+<!--end of remark.module-->]]>
+
+<!ENTITY % epigraph.module "INCLUDE">
+<![%epigraph.module;[
+<!ENTITY % local.epigraph.attrib "">
+<!ENTITY % epigraph.role.attrib "%role.attrib;">
+
+<!ENTITY % epigraph.element "INCLUDE">
+<![%epigraph.element;[
+<!ELEMENT epigraph %ho; (attribution?, ((%para.class;)|literallayout)+)>
+<!--end of epigraph.element-->]]>
+
+<!ENTITY % epigraph.attlist "INCLUDE">
+<![%epigraph.attlist;[
+<!ATTLIST epigraph
+		%common.attrib;
+		%epigraph.role.attrib;
+		%local.epigraph.attrib;
+>
+<!--end of epigraph.attlist-->]]>
+<!-- Attribution (defined above)-->
+<!--end of epigraph.module-->]]>
+
+<!ENTITY % footnote.module "INCLUDE">
+<![%footnote.module;[
+<!ENTITY % local.footnote.attrib "">
+<!ENTITY % footnote.role.attrib "%role.attrib;">
+
+<!ENTITY % footnote.element "INCLUDE">
+<![%footnote.element;[
+<!ELEMENT footnote %ho; ((%footnote.mix;)+)
+                      %footnote.exclusion;>
+<!--end of footnote.element-->]]>
+
+<!ENTITY % footnote.attlist "INCLUDE">
+<![%footnote.attlist;[
+<!ATTLIST footnote
+		%label.attrib;
+		%common.attrib;
+		%footnote.role.attrib;
+		%local.footnote.attrib;
+>
+<!--end of footnote.attlist-->]]>
+<!--end of footnote.module-->]]>
+
+<!ENTITY % highlights.module "INCLUDE">
+<![%highlights.module;[
+<!ENTITY % local.highlights.attrib "">
+<!ENTITY % highlights.role.attrib "%role.attrib;">
+
+<!ENTITY % highlights.element "INCLUDE">
+<![%highlights.element;[
+<!ELEMENT highlights %ho; ((%highlights.mix;)+)
+                      %highlights.exclusion;>
+<!--end of highlights.element-->]]>
+
+<!ENTITY % highlights.attlist "INCLUDE">
+<![%highlights.attlist;[
+<!ATTLIST highlights
+		%common.attrib;
+		%highlights.role.attrib;
+		%local.highlights.attrib;
+>
+<!--end of highlights.attlist-->]]>
+<!--end of highlights.module-->]]>
+
+<!ENTITY % formalpara.module "INCLUDE">
+<![%formalpara.module;[
+<!ENTITY % local.formalpara.attrib "">
+<!ENTITY % formalpara.role.attrib "%role.attrib;">
+
+<!ENTITY % formalpara.element "INCLUDE">
+<![%formalpara.element;[
+<!ELEMENT formalpara %ho; (title, (%ndxterm.class;)*, para)>
+<!--end of formalpara.element-->]]>
+
+<!ENTITY % formalpara.attlist "INCLUDE">
+<![%formalpara.attlist;[
+<!ATTLIST formalpara
+		%common.attrib;
+		%formalpara.role.attrib;
+		%local.formalpara.attrib;
+>
+<!--end of formalpara.attlist-->]]>
+<!--end of formalpara.module-->]]>
+
+<!ENTITY % para.module "INCLUDE">
+<![%para.module;[
+<!ENTITY % local.para.attrib "">
+<!ENTITY % para.role.attrib "%role.attrib;">
+
+<!ENTITY % para.element "INCLUDE">
+<![%para.element;[
+<!ELEMENT para %ho; (%para.char.mix; | %para.mix;)*>
+<!--end of para.element-->]]>
+
+<!ENTITY % para.attlist "INCLUDE">
+<![%para.attlist;[
+<!ATTLIST para
+		%common.attrib;
+		%para.role.attrib;
+		%local.para.attrib;
+>
+<!--end of para.attlist-->]]>
+<!--end of para.module-->]]>
+
+<!ENTITY % simpara.module "INCLUDE">
+<![%simpara.module;[
+<!ENTITY % local.simpara.attrib "">
+<!ENTITY % simpara.role.attrib "%role.attrib;">
+
+<!ENTITY % simpara.element "INCLUDE">
+<![%simpara.element;[
+<!ELEMENT simpara %ho; (%para.char.mix;)*>
+<!--end of simpara.element-->]]>
+
+<!ENTITY % simpara.attlist "INCLUDE">
+<![%simpara.attlist;[
+<!ATTLIST simpara
+		%common.attrib;
+		%simpara.role.attrib;
+		%local.simpara.attrib;
+>
+<!--end of simpara.attlist-->]]>
+<!--end of simpara.module-->]]>
+
+<!ENTITY % admon.module "INCLUDE">
+<![%admon.module;[
+<!ENTITY % local.admon.attrib "">
+<!ENTITY % admon.role.attrib "%role.attrib;">
+
+
+<!ENTITY % caution.element "INCLUDE">
+<![%caution.element;[
+<!ELEMENT caution %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of caution.element-->]]>
+
+<!ENTITY % caution.attlist "INCLUDE">
+<![%caution.attlist;[
+<!ATTLIST caution
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of caution.attlist-->]]>
+
+
+<!ENTITY % important.element "INCLUDE">
+<![%important.element;[
+<!ELEMENT important %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of important.element-->]]>
+
+<!ENTITY % important.attlist "INCLUDE">
+<![%important.attlist;[
+<!ATTLIST important
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of important.attlist-->]]>
+
+
+<!ENTITY % note.element "INCLUDE">
+<![%note.element;[
+<!ELEMENT note %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of note.element-->]]>
+
+<!ENTITY % note.attlist "INCLUDE">
+<![%note.attlist;[
+<!ATTLIST note
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of note.attlist-->]]>
+
+<!ENTITY % tip.element "INCLUDE">
+<![%tip.element;[
+<!ELEMENT tip %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of tip.element-->]]>
+
+<!ENTITY % tip.attlist "INCLUDE">
+<![%tip.attlist;[
+<!ATTLIST tip
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of tip.attlist-->]]>
+
+
+<!ENTITY % warning.element "INCLUDE">
+<![%warning.element;[
+<!ELEMENT warning %ho; (title?, (%admon.mix;)+)
+                      %admon.exclusion;>
+<!--end of warning.element-->]]>
+
+<!ENTITY % warning.attlist "INCLUDE">
+<![%warning.attlist;[
+<!ATTLIST warning
+		%common.attrib;
+		%admon.role.attrib;
+		%local.admon.attrib;
+>
+<!--end of warning.attlist-->]]>
+
+<!--end of admon.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Lists ................................................................ -->
+
+<!-- GlossList ........................ -->
+
+<!ENTITY % glosslist.module "INCLUDE">
+<![%glosslist.module;[
+<!ENTITY % local.glosslist.attrib "">
+<!ENTITY % glosslist.role.attrib "%role.attrib;">
+
+<!ENTITY % glosslist.element "INCLUDE">
+<![%glosslist.element;[
+<!ELEMENT glosslist %ho; (glossentry+)>
+<!--end of glosslist.element-->]]>
+
+<!ENTITY % glosslist.attlist "INCLUDE">
+<![%glosslist.attlist;[
+<!ATTLIST glosslist
+		%common.attrib;
+		%glosslist.role.attrib;
+		%local.glosslist.attrib;
+>
+<!--end of glosslist.attlist-->]]>
+<!--end of glosslist.module-->]]>
+
+<!ENTITY % glossentry.content.module "INCLUDE">
+<![%glossentry.content.module;[
+<!ENTITY % glossentry.module "INCLUDE">
+<![%glossentry.module;[
+<!ENTITY % local.glossentry.attrib "">
+<!ENTITY % glossentry.role.attrib "%role.attrib;">
+
+<!ENTITY % glossentry.element "INCLUDE">
+<![%glossentry.element;[
+<!ELEMENT glossentry %ho; (glossterm, acronym?, abbrev?,
+                      (%ndxterm.class;)*,
+                      revhistory?, (glosssee|glossdef+))>
+<!--end of glossentry.element-->]]>
+
+<!-- SortAs: String by which the GlossEntry is to be sorted
+		(alphabetized) in lieu of its proper content -->
+
+
+<!ENTITY % glossentry.attlist "INCLUDE">
+<![%glossentry.attlist;[
+<!ATTLIST glossentry
+		sortas		CDATA		#IMPLIED
+		%common.attrib;
+		%glossentry.role.attrib;
+		%local.glossentry.attrib;
+>
+<!--end of glossentry.attlist-->]]>
+<!--end of glossentry.module-->]]>
+
+<!-- GlossTerm (defined in the Inlines section, below)-->
+<!ENTITY % glossdef.module "INCLUDE">
+<![%glossdef.module;[
+<!ENTITY % local.glossdef.attrib "">
+<!ENTITY % glossdef.role.attrib "%role.attrib;">
+
+<!ENTITY % glossdef.element "INCLUDE">
+<![%glossdef.element;[
+<!ELEMENT glossdef %ho; ((%glossdef.mix;)+, glossseealso*)>
+<!--end of glossdef.element-->]]>
+
+<!-- Subject: List of subjects; keywords for the definition -->
+
+
+<!ENTITY % glossdef.attlist "INCLUDE">
+<![%glossdef.attlist;[
+<!ATTLIST glossdef
+		subject		CDATA		#IMPLIED
+		%common.attrib;
+		%glossdef.role.attrib;
+		%local.glossdef.attrib;
+>
+<!--end of glossdef.attlist-->]]>
+<!--end of glossdef.module-->]]>
+
+<!ENTITY % glosssee.module "INCLUDE">
+<![%glosssee.module;[
+<!ENTITY % local.glosssee.attrib "">
+<!ENTITY % glosssee.role.attrib "%role.attrib;">
+
+<!ENTITY % glosssee.element "INCLUDE">
+<![%glosssee.element;[
+<!ELEMENT glosssee %ho; (%para.char.mix;)*>
+<!--end of glosssee.element-->]]>
+
+<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
+		should be displayed at the point of the GlossSee -->
+
+
+<!ENTITY % glosssee.attlist "INCLUDE">
+<![%glosssee.attlist;[
+<!ATTLIST glosssee
+		otherterm	IDREF		#IMPLIED
+		%common.attrib;
+		%glosssee.role.attrib;
+		%local.glosssee.attrib;
+>
+<!--end of glosssee.attlist-->]]>
+<!--end of glosssee.module-->]]>
+
+<!ENTITY % glossseealso.module "INCLUDE">
+<![%glossseealso.module;[
+<!ENTITY % local.glossseealso.attrib "">
+<!ENTITY % glossseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % glossseealso.element "INCLUDE">
+<![%glossseealso.element;[
+<!ELEMENT glossseealso %ho; (%para.char.mix;)*>
+<!--end of glossseealso.element-->]]>
+
+<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
+		should be displayed at the point of the GlossSeeAlso -->
+
+
+<!ENTITY % glossseealso.attlist "INCLUDE">
+<![%glossseealso.attlist;[
+<!ATTLIST glossseealso
+		otherterm	IDREF		#IMPLIED
+		%common.attrib;
+		%glossseealso.role.attrib;
+		%local.glossseealso.attrib;
+>
+<!--end of glossseealso.attlist-->]]>
+<!--end of glossseealso.module-->]]>
+<!--end of glossentry.content.module-->]]>
+
+<!-- ItemizedList and OrderedList ..... -->
+
+<!ENTITY % itemizedlist.module "INCLUDE">
+<![%itemizedlist.module;[
+<!ENTITY % local.itemizedlist.attrib "">
+<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % itemizedlist.element "INCLUDE">
+<![%itemizedlist.element;[
+<!ELEMENT itemizedlist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ 			    (%listpreamble.mix;)*, listitem+)>
+
+<!--end of itemizedlist.element-->]]>
+
+<!-- Spacing: Whether the vertical space in the list should be
+		compressed -->
+<!-- Mark: Keyword, e.g., bullet, dash, checkbox, none;
+		list of keywords and defaults are implementation specific -->
+
+
+<!ENTITY % itemizedlist.attlist "INCLUDE">
+<![%itemizedlist.attlist;[
+<!ATTLIST itemizedlist		spacing		(normal
+				|compact)	#IMPLIED
+		%mark.attrib;
+		%common.attrib;
+		%itemizedlist.role.attrib;
+		%local.itemizedlist.attrib;
+>
+<!--end of itemizedlist.attlist-->]]>
+<!--end of itemizedlist.module-->]]>
+
+<!ENTITY % orderedlist.module "INCLUDE">
+<![%orderedlist.module;[
+<!ENTITY % local.orderedlist.attrib "">
+<!ENTITY % orderedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % orderedlist.element "INCLUDE">
+<![%orderedlist.element;[
+<!ELEMENT orderedlist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ 			    (%listpreamble.mix;)*, listitem+)>
+
+<!--end of orderedlist.element-->]]>
+
+<!-- Numeration: Style of ListItem numbered; default is expected
+		to be Arabic -->
+<!-- InheritNum: Specifies for a nested list that the numbering
+		of ListItems should include the number of the item
+		within which they are nested (e.g., 1a and 1b within 1,
+		rather than a and b) -->
+<!-- Continuation: Where list numbering begins afresh (Restarts,
+		the default) or continues that of the immediately preceding
+		list (Continues) -->
+<!-- Spacing: Whether the vertical space in the list should be
+		compressed -->
+
+
+<!ENTITY % orderedlist.attlist "INCLUDE">
+<![%orderedlist.attlist;[
+<!ATTLIST orderedlist
+		numeration	(arabic
+				|upperalpha
+				|loweralpha
+				|upperroman
+				|lowerroman)	#IMPLIED
+		inheritnum	(inherit
+				|ignore)	"ignore"
+		continuation	(continues
+				|restarts)	"restarts"
+		spacing		(normal
+				|compact)	#IMPLIED
+		%common.attrib;
+		%orderedlist.role.attrib;
+		%local.orderedlist.attrib;
+>
+<!--end of orderedlist.attlist-->]]>
+<!--end of orderedlist.module-->]]>
+
+<!ENTITY % listitem.module "INCLUDE">
+<![%listitem.module;[
+<!ENTITY % local.listitem.attrib "">
+<!ENTITY % listitem.role.attrib "%role.attrib;">
+
+<!ENTITY % listitem.element "INCLUDE">
+<![%listitem.element;[
+<!ELEMENT listitem %ho; ((%component.mix;)+)>
+<!--end of listitem.element-->]]>
+
+<!-- Override: Indicates the mark to be used for this ListItem
+		instead of the default mark or the mark specified by
+		the Mark attribute on the enclosing ItemizedList -->
+
+
+<!ENTITY % listitem.attlist "INCLUDE">
+<![%listitem.attlist;[
+<!ATTLIST listitem
+		override	CDATA		#IMPLIED
+		%common.attrib;
+		%listitem.role.attrib;
+		%local.listitem.attrib;
+>
+<!--end of listitem.attlist-->]]>
+<!--end of listitem.module-->]]>
+
+<!-- SegmentedList .................... -->
+<!ENTITY % segmentedlist.content.module "INCLUDE">
+<![%segmentedlist.content.module;[
+<!ENTITY % segmentedlist.module "INCLUDE">
+<![%segmentedlist.module;[
+<!ENTITY % local.segmentedlist.attrib "">
+<!ENTITY % segmentedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % segmentedlist.element "INCLUDE">
+<![%segmentedlist.element;[
+<!ELEMENT segmentedlist %ho; ((%formalobject.title.content;)?,
+                         segtitle+,
+                         seglistitem+)>
+<!--end of segmentedlist.element-->]]>
+
+<!ENTITY % segmentedlist.attlist "INCLUDE">
+<![%segmentedlist.attlist;[
+<!ATTLIST segmentedlist
+		%common.attrib;
+		%segmentedlist.role.attrib;
+		%local.segmentedlist.attrib;
+>
+<!--end of segmentedlist.attlist-->]]>
+<!--end of segmentedlist.module-->]]>
+
+<!ENTITY % segtitle.module "INCLUDE">
+<![%segtitle.module;[
+<!ENTITY % local.segtitle.attrib "">
+<!ENTITY % segtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % segtitle.element "INCLUDE">
+<![%segtitle.element;[
+<!ELEMENT segtitle %ho; (%title.char.mix;)*>
+<!--end of segtitle.element-->]]>
+
+<!ENTITY % segtitle.attlist "INCLUDE">
+<![%segtitle.attlist;[
+<!ATTLIST segtitle
+		%common.attrib;
+		%segtitle.role.attrib;
+		%local.segtitle.attrib;
+>
+<!--end of segtitle.attlist-->]]>
+<!--end of segtitle.module-->]]>
+
+<!ENTITY % seglistitem.module "INCLUDE">
+<![%seglistitem.module;[
+<!ENTITY % local.seglistitem.attrib "">
+<!ENTITY % seglistitem.role.attrib "%role.attrib;">
+
+<!ENTITY % seglistitem.element "INCLUDE">
+<![%seglistitem.element;[
+<!ELEMENT seglistitem %ho; (seg+)>
+<!--end of seglistitem.element-->]]>
+
+<!ENTITY % seglistitem.attlist "INCLUDE">
+<![%seglistitem.attlist;[
+<!ATTLIST seglistitem
+		%common.attrib;
+		%seglistitem.role.attrib;
+		%local.seglistitem.attrib;
+>
+<!--end of seglistitem.attlist-->]]>
+<!--end of seglistitem.module-->]]>
+
+<!ENTITY % seg.module "INCLUDE">
+<![%seg.module;[
+<!ENTITY % local.seg.attrib "">
+<!ENTITY % seg.role.attrib "%role.attrib;">
+
+<!ENTITY % seg.element "INCLUDE">
+<![%seg.element;[
+<!ELEMENT seg %ho; (%para.char.mix;)*>
+<!--end of seg.element-->]]>
+
+<!ENTITY % seg.attlist "INCLUDE">
+<![%seg.attlist;[
+<!ATTLIST seg
+		%common.attrib;
+		%seg.role.attrib;
+		%local.seg.attrib;
+>
+<!--end of seg.attlist-->]]>
+<!--end of seg.module-->]]>
+<!--end of segmentedlist.content.module-->]]>
+
+<!-- SimpleList ....................... -->
+
+<!ENTITY % simplelist.content.module "INCLUDE">
+<![%simplelist.content.module;[
+<!ENTITY % simplelist.module "INCLUDE">
+<![%simplelist.module;[
+<!ENTITY % local.simplelist.attrib "">
+<!ENTITY % simplelist.role.attrib "%role.attrib;">
+
+<!ENTITY % simplelist.element "INCLUDE">
+<![%simplelist.element;[
+<!ELEMENT simplelist %ho; (member+)>
+<!--end of simplelist.element-->]]>
+
+<!-- Columns: The number of columns the array should contain -->
+<!-- Type: How the Members of the SimpleList should be
+		formatted: Inline (members separated with commas etc.
+		inline), Vert (top to bottom in n Columns), or Horiz (in
+		the direction of text flow) in n Columns.  If Column
+		is 1 or implied, Type=Vert and Type=Horiz give the same
+		results. -->
+
+
+<!ENTITY % simplelist.attlist "INCLUDE">
+<![%simplelist.attlist;[
+<!ATTLIST simplelist
+		columns		CDATA		#IMPLIED
+		type		(inline
+				|vert
+				|horiz)		"vert"
+		%common.attrib;
+		%simplelist.role.attrib;
+		%local.simplelist.attrib;
+>
+<!--end of simplelist.attlist-->]]>
+<!--end of simplelist.module-->]]>
+
+<!ENTITY % member.module "INCLUDE">
+<![%member.module;[
+<!ENTITY % local.member.attrib "">
+<!ENTITY % member.role.attrib "%role.attrib;">
+
+<!ENTITY % member.element "INCLUDE">
+<![%member.element;[
+<!ELEMENT member %ho; (%para.char.mix;)*>
+<!--end of member.element-->]]>
+
+<!ENTITY % member.attlist "INCLUDE">
+<![%member.attlist;[
+<!ATTLIST member
+		%common.attrib;
+		%member.role.attrib;
+		%local.member.attrib;
+>
+<!--end of member.attlist-->]]>
+<!--end of member.module-->]]>
+<!--end of simplelist.content.module-->]]>
+
+<!-- VariableList ..................... -->
+
+<!ENTITY % variablelist.content.module "INCLUDE">
+<![%variablelist.content.module;[
+<!ENTITY % variablelist.module "INCLUDE">
+<![%variablelist.module;[
+<!ENTITY % local.variablelist.attrib "">
+<!ENTITY % variablelist.role.attrib "%role.attrib;">
+
+<!ENTITY % variablelist.element "INCLUDE">
+<![%variablelist.element;[
+<!ELEMENT variablelist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ 			    (%listpreamble.mix;)*, varlistentry+)>
+<!--end of variablelist.element-->]]>
+
+<!-- TermLength: Length beyond which the presentation engine
+		may consider the Term too long and select an alternate
+		presentation of the Term and, or, its associated ListItem. -->
+
+
+<!ENTITY % variablelist.attlist "INCLUDE">
+<![%variablelist.attlist;[
+<!ATTLIST variablelist
+		termlength	CDATA		#IMPLIED
+		%common.attrib;
+		%variablelist.role.attrib;
+		%local.variablelist.attrib;
+>
+<!--end of variablelist.attlist-->]]>
+<!--end of variablelist.module-->]]>
+
+<!ENTITY % varlistentry.module "INCLUDE">
+<![%varlistentry.module;[
+<!ENTITY % local.varlistentry.attrib "">
+<!ENTITY % varlistentry.role.attrib "%role.attrib;">
+
+<!ENTITY % varlistentry.element "INCLUDE">
+<![%varlistentry.element;[
+<!ELEMENT varlistentry %ho; (term+, listitem)>
+<!--end of varlistentry.element-->]]>
+
+<!ENTITY % varlistentry.attlist "INCLUDE">
+<![%varlistentry.attlist;[
+<!ATTLIST varlistentry
+		%common.attrib;
+		%varlistentry.role.attrib;
+		%local.varlistentry.attrib;
+>
+<!--end of varlistentry.attlist-->]]>
+<!--end of varlistentry.module-->]]>
+
+<!ENTITY % term.module "INCLUDE">
+<![%term.module;[
+<!ENTITY % local.term.attrib "">
+<!ENTITY % term.role.attrib "%role.attrib;">
+
+<!ENTITY % term.element "INCLUDE">
+<![%term.element;[
+<!ELEMENT term %ho; (%para.char.mix;)*>
+<!--end of term.element-->]]>
+
+<!ENTITY % term.attlist "INCLUDE">
+<![%term.attlist;[
+<!ATTLIST term
+		%common.attrib;
+		%term.role.attrib;
+		%local.term.attrib;
+>
+<!--end of term.attlist-->]]>
+<!--end of term.module-->]]>
+
+<!-- ListItem (defined above)-->
+<!--end of variablelist.content.module-->]]>
+
+<!-- CalloutList ...................... -->
+
+<!ENTITY % calloutlist.content.module "INCLUDE">
+<![%calloutlist.content.module;[
+<!ENTITY % calloutlist.module "INCLUDE">
+<![%calloutlist.module;[
+<!ENTITY % local.calloutlist.attrib "">
+<!ENTITY % calloutlist.role.attrib "%role.attrib;">
+
+<!ENTITY % calloutlist.element "INCLUDE">
+<![%calloutlist.element;[
+<!ELEMENT calloutlist %ho; ((%formalobject.title.content;)?, callout+)>
+<!--end of calloutlist.element-->]]>
+
+<!ENTITY % calloutlist.attlist "INCLUDE">
+<![%calloutlist.attlist;[
+<!ATTLIST calloutlist
+		%common.attrib;
+		%calloutlist.role.attrib;
+		%local.calloutlist.attrib;
+>
+<!--end of calloutlist.attlist-->]]>
+<!--end of calloutlist.module-->]]>
+
+<!ENTITY % callout.module "INCLUDE">
+<![%callout.module;[
+<!ENTITY % local.callout.attrib "">
+<!ENTITY % callout.role.attrib "%role.attrib;">
+
+<!ENTITY % callout.element "INCLUDE">
+<![%callout.element;[
+<!ELEMENT callout %ho; ((%component.mix;)+)>
+<!--end of callout.element-->]]>
+
+<!-- AreaRefs: IDs of one or more Areas or AreaSets described
+		by this Callout -->
+
+
+<!ENTITY % callout.attlist "INCLUDE">
+<![%callout.attlist;[
+<!ATTLIST callout
+		arearefs	IDREFS		#REQUIRED
+		%common.attrib;
+		%callout.role.attrib;
+		%local.callout.attrib;
+>
+<!--end of callout.attlist-->]]>
+<!--end of callout.module-->]]>
+<!--end of calloutlist.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Objects .............................................................. -->
+
+<!-- Examples etc. .................... -->
+
+<!ENTITY % example.module "INCLUDE">
+<![%example.module;[
+<!ENTITY % local.example.attrib "">
+<!ENTITY % example.role.attrib "%role.attrib;">
+
+<!ENTITY % example.element "INCLUDE">
+<![%example.element;[
+<!ELEMENT example %ho; (blockinfo?, (%formalobject.title.content;), (%example.mix;)+)
+		%formal.exclusion;>
+<!--end of example.element-->]]>
+
+<!ENTITY % example.attlist "INCLUDE">
+<![%example.attlist;[
+<!ATTLIST example
+		%label.attrib;
+		%width.attrib;
+		%common.attrib;
+		%example.role.attrib;
+		%local.example.attrib;
+>
+<!--end of example.attlist-->]]>
+<!--end of example.module-->]]>
+
+<!ENTITY % informalexample.module "INCLUDE">
+<![%informalexample.module;[
+<!ENTITY % local.informalexample.attrib "">
+<!ENTITY % informalexample.role.attrib "%role.attrib;">
+
+<!ENTITY % informalexample.element "INCLUDE">
+<![%informalexample.element;[
+<!ELEMENT informalexample %ho; (blockinfo?, (%example.mix;)+)>
+<!--end of informalexample.element-->]]>
+
+<!ENTITY % informalexample.attlist "INCLUDE">
+<![%informalexample.attlist;[
+<!ATTLIST informalexample
+		%width.attrib;
+		%common.attrib;
+		%informalexample.role.attrib;
+		%local.informalexample.attrib;
+>
+<!--end of informalexample.attlist-->]]>
+<!--end of informalexample.module-->]]>
+
+<!ENTITY % programlistingco.module "INCLUDE">
+<![%programlistingco.module;[
+<!ENTITY % local.programlistingco.attrib "">
+<!ENTITY % programlistingco.role.attrib "%role.attrib;">
+
+<!ENTITY % programlistingco.element "INCLUDE">
+<![%programlistingco.element;[
+<!ELEMENT programlistingco %ho; (areaspec, programlisting, calloutlist*)>
+<!--end of programlistingco.element-->]]>
+
+<!ENTITY % programlistingco.attlist "INCLUDE">
+<![%programlistingco.attlist;[
+<!ATTLIST programlistingco
+		%common.attrib;
+		%programlistingco.role.attrib;
+		%local.programlistingco.attrib;
+>
+<!--end of programlistingco.attlist-->]]>
+<!-- CalloutList (defined above in Lists)-->
+<!--end of informalexample.module-->]]>
+
+<!ENTITY % areaspec.content.module "INCLUDE">
+<![%areaspec.content.module;[
+<!ENTITY % areaspec.module "INCLUDE">
+<![%areaspec.module;[
+<!ENTITY % local.areaspec.attrib "">
+<!ENTITY % areaspec.role.attrib "%role.attrib;">
+
+<!ENTITY % areaspec.element "INCLUDE">
+<![%areaspec.element;[
+<!ELEMENT areaspec %ho; ((area|areaset)+)>
+<!--end of areaspec.element-->]]>
+
+<!-- Units: global unit of measure in which coordinates in
+		this spec are expressed:
+
+		- CALSPair "x1,y1 x2,y2": lower-left and upper-right
+		coordinates in a rectangle describing repro area in which
+		graphic is placed, where X and Y dimensions are each some
+		number 0..10000 (taken from CALS graphic attributes)
+
+		- LineColumn "line column": line number and column number
+		at which to start callout text in "linespecific" content
+
+		- LineRange "startline endline": whole lines from startline
+		to endline in "linespecific" content
+
+		- LineColumnPair "line1 col1 line2 col2": starting and ending
+		points of area in "linespecific" content that starts at
+		first position and ends at second position (including the
+		beginnings of any intervening lines)
+
+		- Other: directive to look at value of OtherUnits attribute
+		to get implementation-specific keyword
+
+		The default is implementation-specific; usually dependent on
+		the parent element (GraphicCO gets CALSPair, ProgramListingCO
+		and ScreenCO get LineColumn) -->
+<!-- OtherUnits: User-defined units -->
+
+
+<!ENTITY % areaspec.attlist "INCLUDE">
+<![%areaspec.attlist;[
+<!ATTLIST areaspec
+		units		(calspair
+				|linecolumn
+				|linerange
+				|linecolumnpair
+				|other)		#IMPLIED
+		otherunits	NMTOKEN		#IMPLIED
+		%common.attrib;
+		%areaspec.role.attrib;
+		%local.areaspec.attrib;
+>
+<!--end of areaspec.attlist-->]]>
+<!--end of areaspec.module-->]]>
+
+<!ENTITY % area.module "INCLUDE">
+<![%area.module;[
+<!ENTITY % local.area.attrib "">
+<!ENTITY % area.role.attrib "%role.attrib;">
+
+<!ENTITY % area.element "INCLUDE">
+<![%area.element;[
+<!ELEMENT area %ho; EMPTY>
+<!--end of area.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+<!-- Units: unit of measure in which coordinates in this
+		area are expressed; inherits from AreaSet and AreaSpec -->
+<!-- OtherUnits: User-defined units -->
+
+
+<!ENTITY % area.attlist "INCLUDE">
+<![%area.attlist;[
+<!ATTLIST area
+		%label.attrib;
+		%linkends.attrib;
+		units		(calspair
+				|linecolumn
+				|linerange
+				|linecolumnpair
+				|other)		#IMPLIED
+		otherunits	NMTOKEN		#IMPLIED
+		coords		CDATA		#REQUIRED
+		%idreq.common.attrib;
+		%area.role.attrib;
+		%local.area.attrib;
+>
+<!--end of area.attlist-->]]>
+<!--end of area.module-->]]>
+
+<!ENTITY % areaset.module "INCLUDE">
+<![%areaset.module;[
+<!ENTITY % local.areaset.attrib "">
+<!ENTITY % areaset.role.attrib "%role.attrib;">
+
+<!ENTITY % areaset.element "INCLUDE">
+<![%areaset.element;[
+<!ELEMENT areaset %ho; (area+)>
+<!--end of areaset.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- Units: unit of measure in which coordinates in this
+		area are expressed; inherits from AreaSpec -->
+
+
+<!ENTITY % areaset.attlist "INCLUDE">
+<![%areaset.attlist;[
+<!ATTLIST areaset
+		%label.attrib;
+		units		(calspair
+				|linecolumn
+				|linerange
+				|linecolumnpair
+				|other)		#IMPLIED
+		otherunits	NMTOKEN		#IMPLIED
+		coords		CDATA		#REQUIRED
+		%idreq.common.attrib;
+		%areaset.role.attrib;
+		%local.areaset.attrib;
+>
+<!--end of areaset.attlist-->]]>
+<!--end of areaset.module-->]]>
+<!--end of areaspec.content.module-->]]>
+
+<!ENTITY % programlisting.module "INCLUDE">
+<![%programlisting.module;[
+<!ENTITY % local.programlisting.attrib "">
+<!ENTITY % programlisting.role.attrib "%role.attrib;">
+
+<!ENTITY % programlisting.element "INCLUDE">
+<![%programlisting.element;[
+<!ELEMENT programlisting %ho; (%para.char.mix;|co|coref|lineannotation|textobject)*>
+<!--end of programlisting.element-->]]>
+
+<!ENTITY % programlisting.attlist "INCLUDE">
+<![%programlisting.attlist;[
+<!ATTLIST programlisting
+		%width.attrib;
+		%linespecific.attrib;
+		%common.attrib;
+		%programlisting.role.attrib;
+		%local.programlisting.attrib;
+>
+<!--end of programlisting.attlist-->]]>
+<!--end of programlisting.module-->]]>
+
+<!ENTITY % literallayout.module "INCLUDE">
+<![%literallayout.module;[
+<!ENTITY % local.literallayout.attrib "">
+<!ENTITY % literallayout.role.attrib "%role.attrib;">
+
+<!ENTITY % literallayout.element "INCLUDE">
+<![%literallayout.element;[
+<!ELEMENT literallayout %ho; (%para.char.mix;|co|coref|textobject|lineannotation)*>
+<!--end of literallayout.element-->]]>
+
+<!ENTITY % literallayout.attlist "INCLUDE">
+<![%literallayout.attlist;[
+<!ATTLIST literallayout
+		%width.attrib;
+		%linespecific.attrib;
+		class	(monospaced|normal)	"normal"
+		%common.attrib;
+		%literallayout.role.attrib;
+		%local.literallayout.attrib;
+>
+<!--end of literallayout.attlist-->]]>
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!--end of literallayout.module-->]]>
+
+<!ENTITY % screenco.module "INCLUDE">
+<![%screenco.module;[
+<!ENTITY % local.screenco.attrib "">
+<!ENTITY % screenco.role.attrib "%role.attrib;">
+
+<!ENTITY % screenco.element "INCLUDE">
+<![%screenco.element;[
+<!ELEMENT screenco %ho; (areaspec, screen, calloutlist*)>
+<!--end of screenco.element-->]]>
+
+<!ENTITY % screenco.attlist "INCLUDE">
+<![%screenco.attlist;[
+<!ATTLIST screenco
+		%common.attrib;
+		%screenco.role.attrib;
+		%local.screenco.attrib;
+>
+<!--end of screenco.attlist-->]]>
+<!-- AreaSpec (defined above)-->
+<!-- CalloutList (defined above in Lists)-->
+<!--end of screenco.module-->]]>
+
+<!ENTITY % screen.module "INCLUDE">
+<![%screen.module;[
+<!ENTITY % local.screen.attrib "">
+<!ENTITY % screen.role.attrib "%role.attrib;">
+
+<!ENTITY % screen.element "INCLUDE">
+<![%screen.element;[
+<!ELEMENT screen %ho; (%para.char.mix;|co|coref|textobject|lineannotation)*>
+<!--end of screen.element-->]]>
+
+<!ENTITY % screen.attlist "INCLUDE">
+<![%screen.attlist;[
+<!ATTLIST screen
+		%width.attrib;
+		%linespecific.attrib;
+		%common.attrib;
+		%screen.role.attrib;
+		%local.screen.attrib;
+>
+<!--end of screen.attlist-->]]>
+<!--end of screen.module-->]]>
+
+<!ENTITY % screenshot.content.module "INCLUDE">
+<![%screenshot.content.module;[
+<!ENTITY % screenshot.module "INCLUDE">
+<![%screenshot.module;[
+<!ENTITY % local.screenshot.attrib "">
+<!ENTITY % screenshot.role.attrib "%role.attrib;">
+
+<!ENTITY % screenshot.element "INCLUDE">
+<![%screenshot.element;[
+<!ELEMENT screenshot %ho; (screeninfo?,
+                      (graphic|graphicco
+                      |mediaobject|mediaobjectco))>
+<!--end of screenshot.element-->]]>
+
+<!ENTITY % screenshot.attlist "INCLUDE">
+<![%screenshot.attlist;[
+<!ATTLIST screenshot
+		%common.attrib;
+		%screenshot.role.attrib;
+		%local.screenshot.attrib;
+>
+<!--end of screenshot.attlist-->]]>
+<!--end of screenshot.module-->]]>
+
+<!ENTITY % screeninfo.module "INCLUDE">
+<![%screeninfo.module;[
+<!ENTITY % local.screeninfo.attrib "">
+<!ENTITY % screeninfo.role.attrib "%role.attrib;">
+
+<!ENTITY % screeninfo.element "INCLUDE">
+<![%screeninfo.element;[
+<!ELEMENT screeninfo %ho; (%para.char.mix;)*
+		%ubiq.exclusion;>
+<!--end of screeninfo.element-->]]>
+
+<!ENTITY % screeninfo.attlist "INCLUDE">
+<![%screeninfo.attlist;[
+<!ATTLIST screeninfo
+		%common.attrib;
+		%screeninfo.role.attrib;
+		%local.screeninfo.attrib;
+>
+<!--end of screeninfo.attlist-->]]>
+<!--end of screeninfo.module-->]]>
+<!--end of screenshot.content.module-->]]>
+
+<!-- Figures etc. ..................... -->
+
+<!ENTITY % figure.module "INCLUDE">
+<![%figure.module;[
+<!ENTITY % local.figure.attrib "">
+<!ENTITY % figure.role.attrib "%role.attrib;">
+
+<!ENTITY % figure.element "INCLUDE">
+<![%figure.element;[
+<!ELEMENT figure %ho; (blockinfo?, (%formalobject.title.content;),
+                       (%figure.mix; | %link.char.class;)+)>
+<!--end of figure.element-->]]>
+
+<!-- Float: Whether the Figure is supposed to be rendered
+		where convenient (yes (1) value) or at the place it occurs
+		in the text (no (0) value, the default) -->
+
+
+<!ENTITY % figure.attlist "INCLUDE">
+<![%figure.attlist;[
+<!ATTLIST figure
+		float		%yesorno.attvals;	'0'
+		pgwide      	%yesorno.attvals;       #IMPLIED
+		%label.attrib;
+		%common.attrib;
+		%figure.role.attrib;
+		%local.figure.attrib;
+>
+<!--end of figure.attlist-->]]>
+<!--end of figure.module-->]]>
+
+<!ENTITY % informalfigure.module "INCLUDE">
+<![ %informalfigure.module; [
+<!ENTITY % local.informalfigure.attrib "">
+<!ENTITY % informalfigure.role.attrib "%role.attrib;">
+
+<!ENTITY % informalfigure.element "INCLUDE">
+<![ %informalfigure.element; [
+<!ELEMENT informalfigure %ho; (blockinfo?, (%figure.mix; | %link.char.class;)+)>
+<!--end of informalfigure.element-->]]>
+
+<!ENTITY % informalfigure.attlist "INCLUDE">
+<![ %informalfigure.attlist; [
+<!--
+Float: Whether the Figure is supposed to be rendered
+where convenient (yes (1) value) or at the place it occurs
+in the text (no (0) value, the default)
+-->
+<!ATTLIST informalfigure
+		float		%yesorno.attvals;	"0"
+		pgwide      	%yesorno.attvals;       #IMPLIED
+		%label.attrib;
+		%common.attrib;
+		%informalfigure.role.attrib;
+		%local.informalfigure.attrib;
+>
+<!--end of informalfigure.attlist-->]]>
+<!--end of informalfigure.module-->]]>
+
+<!ENTITY % graphicco.module "INCLUDE">
+<![%graphicco.module;[
+<!ENTITY % local.graphicco.attrib "">
+<!ENTITY % graphicco.role.attrib "%role.attrib;">
+
+<!ENTITY % graphicco.element "INCLUDE">
+<![%graphicco.element;[
+<!ELEMENT graphicco %ho; (areaspec, graphic, calloutlist*)>
+<!--end of graphicco.element-->]]>
+
+<!ENTITY % graphicco.attlist "INCLUDE">
+<![%graphicco.attlist;[
+<!ATTLIST graphicco
+		%common.attrib;
+		%graphicco.role.attrib;
+		%local.graphicco.attrib;
+>
+<!--end of graphicco.attlist-->]]>
+<!-- AreaSpec (defined above in Examples)-->
+<!-- CalloutList (defined above in Lists)-->
+<!--end of graphicco.module-->]]>
+
+<!-- Graphical data can be the content of Graphic, or you can reference
+     an external file either as an entity (Entitref) or a filename
+     (Fileref). -->
+
+<!ENTITY % graphic.module "INCLUDE">
+<![%graphic.module;[
+<!ENTITY % local.graphic.attrib "">
+<!ENTITY % graphic.role.attrib "%role.attrib;">
+
+<!ENTITY % graphic.element "INCLUDE">
+<![%graphic.element;[
+<!ELEMENT graphic %ho; EMPTY>
+<!--end of graphic.element-->]]>
+
+<!ENTITY % graphic.attlist "INCLUDE">
+<![%graphic.attlist;[
+<!ATTLIST graphic
+		%graphics.attrib;
+		%common.attrib;
+		%graphic.role.attrib;
+		%local.graphic.attrib;
+>
+<!--end of graphic.attlist-->]]>
+<!--end of graphic.module-->]]>
+
+<!ENTITY % inlinegraphic.module "INCLUDE">
+<![%inlinegraphic.module;[
+<!ENTITY % local.inlinegraphic.attrib "">
+<!ENTITY % inlinegraphic.role.attrib "%role.attrib;">
+
+<!ENTITY % inlinegraphic.element "INCLUDE">
+<![%inlinegraphic.element;[
+<!ELEMENT inlinegraphic %ho; EMPTY>
+<!--end of inlinegraphic.element-->]]>
+
+<!ENTITY % inlinegraphic.attlist "INCLUDE">
+<![%inlinegraphic.attlist;[
+<!ATTLIST inlinegraphic
+		%graphics.attrib;
+		%common.attrib;
+		%inlinegraphic.role.attrib;
+		%local.inlinegraphic.attrib;
+>
+<!--end of inlinegraphic.attlist-->]]>
+<!--end of inlinegraphic.module-->]]>
+
+<!ENTITY % mediaobject.content.module "INCLUDE">
+<![ %mediaobject.content.module; [
+
+<!ENTITY % mediaobject.module "INCLUDE">
+<![ %mediaobject.module; [
+<!ENTITY % local.mediaobject.attrib "">
+<!ENTITY % mediaobject.role.attrib "%role.attrib;">
+
+<!ENTITY % mediaobject.element "INCLUDE">
+<![ %mediaobject.element; [
+<!ELEMENT mediaobject %ho; (objectinfo?,
+                           (%mediaobject.mix;)+,
+			   caption?)>
+<!--end of mediaobject.element-->]]>
+
+<!ENTITY % mediaobject.attlist "INCLUDE">
+<![ %mediaobject.attlist; [
+<!ATTLIST mediaobject
+		%common.attrib;
+		%mediaobject.role.attrib;
+		%local.mediaobject.attrib;
+>
+<!--end of mediaobject.attlist-->]]>
+<!--end of mediaobject.module-->]]>
+
+<!ENTITY % inlinemediaobject.module "INCLUDE">
+<![ %inlinemediaobject.module; [
+<!ENTITY % local.inlinemediaobject.attrib "">
+<!ENTITY % inlinemediaobject.role.attrib "%role.attrib;">
+
+<!ENTITY % inlinemediaobject.element "INCLUDE">
+<![ %inlinemediaobject.element; [
+<!ELEMENT inlinemediaobject %ho; (objectinfo?,
+                	         (%mediaobject.mix;)+)>
+<!--end of inlinemediaobject.element-->]]>
+
+<!ENTITY % inlinemediaobject.attlist "INCLUDE">
+<![ %inlinemediaobject.attlist; [
+<!ATTLIST inlinemediaobject
+		%common.attrib;
+		%inlinemediaobject.role.attrib;
+		%local.inlinemediaobject.attrib;
+>
+<!--end of inlinemediaobject.attlist-->]]>
+<!--end of inlinemediaobject.module-->]]>
+
+<!ENTITY % videoobject.module "INCLUDE">
+<![ %videoobject.module; [
+<!ENTITY % local.videoobject.attrib "">
+<!ENTITY % videoobject.role.attrib "%role.attrib;">
+
+<!ENTITY % videoobject.element "INCLUDE">
+<![ %videoobject.element; [
+<!ELEMENT videoobject %ho; (objectinfo?, videodata)>
+<!--end of videoobject.element-->]]>
+
+<!ENTITY % videoobject.attlist "INCLUDE">
+<![ %videoobject.attlist; [
+<!ATTLIST videoobject
+		%common.attrib;
+		%videoobject.role.attrib;
+		%local.videoobject.attrib;
+>
+<!--end of videoobject.attlist-->]]>
+<!--end of videoobject.module-->]]>
+
+<!ENTITY % audioobject.module "INCLUDE">
+<![ %audioobject.module; [
+<!ENTITY % local.audioobject.attrib "">
+<!ENTITY % audioobject.role.attrib "%role.attrib;">
+
+<!ENTITY % audioobject.element "INCLUDE">
+<![ %audioobject.element; [
+<!ELEMENT audioobject %ho; (objectinfo?, audiodata)>
+<!--end of audioobject.element-->]]>
+
+<!ENTITY % audioobject.attlist "INCLUDE">
+<![ %audioobject.attlist; [
+<!ATTLIST audioobject
+		%common.attrib;
+		%audioobject.role.attrib;
+		%local.audioobject.attrib;
+>
+<!--end of audioobject.attlist-->]]>
+<!--end of audioobject.module-->]]>
+
+<!ENTITY % imageobject.module "INCLUDE">
+<![ %imageobject.module; [
+<!ENTITY % local.imageobject.attrib "">
+<!ENTITY % imageobject.role.attrib "%role.attrib;">
+
+<!ENTITY % imageobject.element "INCLUDE">
+<![ %imageobject.element; [
+<!ELEMENT imageobject %ho; (objectinfo?, imagedata)>
+<!--end of imageobject.element-->]]>
+
+<!ENTITY % imageobject.attlist "INCLUDE">
+<![ %imageobject.attlist; [
+<!ATTLIST imageobject
+		%common.attrib;
+		%imageobject.role.attrib;
+		%local.imageobject.attrib;
+>
+<!--end of imageobject.attlist-->]]>
+<!--end of imageobject.module-->]]>
+
+<!ENTITY % textobject.module "INCLUDE">
+<![ %textobject.module; [
+<!ENTITY % local.textobject.attrib "">
+<!ENTITY % textobject.role.attrib "%role.attrib;">
+
+<!ENTITY % textobject.element "INCLUDE">
+<![ %textobject.element; [
+<!ELEMENT textobject %ho; (objectinfo?, (phrase|textdata|(%textobject.mix;)+))>
+<!--end of textobject.element-->]]>
+
+<!ENTITY % textobject.attlist "INCLUDE">
+<![ %textobject.attlist; [
+<!ATTLIST textobject
+		%common.attrib;
+		%textobject.role.attrib;
+		%local.textobject.attrib;
+>
+<!--end of textobject.attlist-->]]>
+<!--end of textobject.module-->]]>
+
+<!ENTITY % objectinfo.module "INCLUDE">
+<![ %objectinfo.module; [
+<!ENTITY % local.objectinfo.attrib "">
+<!ENTITY % objectinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % objectinfo.element "INCLUDE">
+<![ %objectinfo.element; [
+<!ELEMENT objectinfo %ho; ((%info.class;)+)
+	%beginpage.exclusion;>
+<!--end of objectinfo.element-->]]>
+
+<!ENTITY % objectinfo.attlist "INCLUDE">
+<![ %objectinfo.attlist; [
+<!ATTLIST objectinfo
+		%common.attrib;
+		%objectinfo.role.attrib;
+		%local.objectinfo.attrib;
+>
+<!--end of objectinfo.attlist-->]]>
+<!--end of objectinfo.module-->]]>
+
+<!--EntityRef: Name of an external entity containing the content
+	of the object data-->
+<!--FileRef: Filename, qualified by a pathname if desired,
+	designating the file containing the content of the object data-->
+<!--Format: Notation of the element content, if any-->
+<!--SrcCredit: Information about the source of the image-->
+<!ENTITY % local.objectdata.attrib "">
+<!ENTITY % objectdata.attrib
+	"
+	entityref	ENTITY		#IMPLIED
+	fileref 	CDATA		#IMPLIED
+	format		(%notation.class;)
+					#IMPLIED
+	srccredit	CDATA		#IMPLIED
+	%local.objectdata.attrib;"
+>
+
+<!ENTITY % videodata.module "INCLUDE">
+<![ %videodata.module; [
+<!ENTITY % local.videodata.attrib "">
+<!ENTITY % videodata.role.attrib "%role.attrib;">
+
+<!ENTITY % videodata.element "INCLUDE">
+<![ %videodata.element; [
+<!ELEMENT videodata %ho; EMPTY>
+<!--end of videodata.element-->]]>
+
+<!ENTITY % videodata.attlist "INCLUDE">
+<![ %videodata.attlist; [
+
+<!--Width: Same as CALS reprowid (desired width)-->
+<!--Depth: Same as CALS reprodep (desired depth)-->
+<!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+	application-specific-->
+<!--Scale: Conflation of CALS hscale and vscale-->
+<!--Scalefit: Same as CALS scalefit-->
+<!ATTLIST videodata
+	width		CDATA		#IMPLIED
+	contentwidth	CDATA		#IMPLIED
+	depth		CDATA		#IMPLIED
+	contentdepth	CDATA		#IMPLIED
+	align		(left
+			|right
+			|center)	#IMPLIED
+	valign		(top
+			|middle
+			|bottom)	#IMPLIED
+	scale		CDATA		#IMPLIED
+	scalefit	%yesorno.attvals;
+					#IMPLIED
+		%objectdata.attrib;
+		%common.attrib;
+		%videodata.role.attrib;
+		%local.videodata.attrib;
+>
+<!--end of videodata.attlist-->]]>
+<!--end of videodata.module-->]]>
+
+<!ENTITY % audiodata.module "INCLUDE">
+<![ %audiodata.module; [
+<!ENTITY % local.audiodata.attrib "">
+<!ENTITY % audiodata.role.attrib "%role.attrib;">
+
+<!ENTITY % audiodata.element "INCLUDE">
+<![ %audiodata.element; [
+<!ELEMENT audiodata %ho; EMPTY>
+<!--end of audiodata.element-->]]>
+
+<!ENTITY % audiodata.attlist "INCLUDE">
+<![ %audiodata.attlist; [
+<!ATTLIST audiodata
+		%objectdata.attrib;
+		%common.attrib;
+		%audiodata.role.attrib;
+		%local.audiodata.attrib;
+>
+<!--end of audiodata.attlist-->]]>
+<!--end of audiodata.module-->]]>
+
+<!ENTITY % imagedata.module "INCLUDE">
+<![ %imagedata.module; [
+<!ENTITY % local.imagedata.attrib "">
+<!ENTITY % imagedata.role.attrib "%role.attrib;">
+
+<!ENTITY % imagedata.element "INCLUDE">
+<![ %imagedata.element; [
+<!ELEMENT imagedata %ho; EMPTY>
+<!--end of imagedata.element-->]]>
+
+<!ENTITY % imagedata.attlist "INCLUDE">
+<![ %imagedata.attlist; [
+
+<!--Width: Same as CALS reprowid (desired width)-->
+<!--Depth: Same as CALS reprodep (desired depth)-->
+<!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+	application-specific-->
+<!--Scale: Conflation of CALS hscale and vscale-->
+<!--Scalefit: Same as CALS scalefit-->
+<!ATTLIST imagedata
+	width		CDATA		#IMPLIED
+	contentwidth	CDATA		#IMPLIED
+	depth		CDATA		#IMPLIED
+	contentdepth	CDATA		#IMPLIED
+	align		(left
+			|right
+			|center)	#IMPLIED
+	valign		(top
+			|middle
+			|bottom)	#IMPLIED
+	scale		CDATA		#IMPLIED
+	scalefit	%yesorno.attvals;
+					#IMPLIED
+		%objectdata.attrib;
+		%common.attrib;
+		%imagedata.role.attrib;
+		%local.imagedata.attrib;
+>
+<!--end of imagedata.attlist-->]]>
+<!--end of imagedata.module-->]]>
+
+<!ENTITY % textdata.module "INCLUDE">
+<![ %textdata.module; [
+<!ENTITY % local.textdata.attrib "">
+<!ENTITY % textdata.role.attrib "%role.attrib;">
+
+<!ENTITY % textdata.element "INCLUDE">
+<![ %textdata.element; [
+<!ELEMENT textdata %ho; EMPTY>
+<!--end of textdata.element-->]]>
+
+<!ENTITY % textdata.attlist "INCLUDE">
+<![ %textdata.attlist; [
+<!ATTLIST textdata
+		encoding	CDATA	#IMPLIED
+		%objectdata.attrib;
+		%common.attrib;
+		%textdata.role.attrib;
+		%local.textdata.attrib;
+>
+<!--end of textdata.attlist-->]]>
+<!--end of textdata.module-->]]>
+
+<!ENTITY % caption.module "INCLUDE">
+<![ %caption.module; [
+<!ENTITY % local.caption.attrib "">
+<!ENTITY % caption.role.attrib "%role.attrib;">
+
+<!ENTITY % caption.element "INCLUDE">
+<![ %caption.element; [
+<!ELEMENT caption %ho; (%textobject.mix;)*>
+<!--end of caption.element-->]]>
+
+<!ENTITY % caption.attlist "INCLUDE">
+<![ %caption.attlist; [
+<!ATTLIST caption
+		%common.attrib;
+		%caption.role.attrib;
+		%local.caption.attrib;
+>
+<!--end of caption.attlist-->]]>
+<!--end of caption.module-->]]>
+
+<!ENTITY % mediaobjectco.module "INCLUDE">
+<![ %mediaobjectco.module; [
+<!ENTITY % local.mediaobjectco.attrib "">
+<!ENTITY % mediaobjectco.role.attrib "%role.attrib;">
+
+<!ENTITY % mediaobjectco.element "INCLUDE">
+<![ %mediaobjectco.element; [
+<!ELEMENT mediaobjectco %ho; (objectinfo?, imageobjectco,
+			   (imageobjectco|textobject)*)>
+<!--end of mediaobjectco.element-->]]>
+
+<!ENTITY % mediaobjectco.attlist "INCLUDE">
+<![ %mediaobjectco.attlist; [
+<!ATTLIST mediaobjectco
+		%common.attrib;
+		%mediaobjectco.role.attrib;
+		%local.mediaobjectco.attrib;
+>
+<!--end of mediaobjectco.attlist-->]]>
+<!--end of mediaobjectco.module-->]]>
+
+<!ENTITY % imageobjectco.module "INCLUDE">
+<![ %imageobjectco.module; [
+<!ENTITY % local.imageobjectco.attrib "">
+<!ENTITY % imageobjectco.role.attrib "%role.attrib;">
+
+<!ENTITY % imageobjectco.element "INCLUDE">
+<![ %imageobjectco.element; [
+<!ELEMENT imageobjectco %ho; (areaspec, imageobject, calloutlist*)>
+<!--end of imageobjectco.element-->]]>
+
+<!ENTITY % imageobjectco.attlist "INCLUDE">
+<![ %imageobjectco.attlist; [
+<!ATTLIST imageobjectco
+		%common.attrib;
+		%imageobjectco.role.attrib;
+		%local.imageobjectco.attrib;
+>
+<!--end of imageobjectco.attlist-->]]>
+<!--end of imageobjectco.module-->]]>
+<!--end of mediaobject.content.module-->]]>
+
+<!-- Equations ........................ -->
+
+<!-- This PE provides a mechanism for replacing equation content, -->
+<!-- perhaps adding a new or different model (e.g., MathML) -->
+<!ENTITY % equation.content "(alt?, (graphic+|mediaobject+))">
+<!ENTITY % inlineequation.content "(alt?, (graphic+|inlinemediaobject+))">
+
+<!ENTITY % equation.module "INCLUDE">
+<![%equation.module;[
+<!ENTITY % local.equation.attrib "">
+<!ENTITY % equation.role.attrib "%role.attrib;">
+
+<!ENTITY % equation.element "INCLUDE">
+<![%equation.element;[
+<!ELEMENT equation %ho; (blockinfo?, (%formalobject.title.content;)?,
+                         (informalequation | %equation.content;))>
+<!--end of equation.element-->]]>
+
+<!ENTITY % equation.attlist "INCLUDE">
+<![%equation.attlist;[
+<!ATTLIST equation
+		%label.attrib;
+	 	%common.attrib;
+		%equation.role.attrib;
+		%local.equation.attrib;
+>
+<!--end of equation.attlist-->]]>
+<!--end of equation.module-->]]>
+
+<!ENTITY % informalequation.module "INCLUDE">
+<![%informalequation.module;[
+<!ENTITY % local.informalequation.attrib "">
+<!ENTITY % informalequation.role.attrib "%role.attrib;">
+
+<!ENTITY % informalequation.element "INCLUDE">
+<![%informalequation.element;[
+<!ELEMENT informalequation %ho; (blockinfo?, %equation.content;) >
+<!--end of informalequation.element-->]]>
+
+<!ENTITY % informalequation.attlist "INCLUDE">
+<![%informalequation.attlist;[
+<!ATTLIST informalequation
+		%common.attrib;
+		%informalequation.role.attrib;
+		%local.informalequation.attrib;
+>
+<!--end of informalequation.attlist-->]]>
+<!--end of informalequation.module-->]]>
+
+<!ENTITY % inlineequation.module "INCLUDE">
+<![%inlineequation.module;[
+<!ENTITY % local.inlineequation.attrib "">
+<!ENTITY % inlineequation.role.attrib "%role.attrib;">
+
+<!ENTITY % inlineequation.element "INCLUDE">
+<![%inlineequation.element;[
+<!ELEMENT inlineequation %ho; (%inlineequation.content;)>
+<!--end of inlineequation.element-->]]>
+
+<!ENTITY % inlineequation.attlist "INCLUDE">
+<![%inlineequation.attlist;[
+<!ATTLIST inlineequation
+		%common.attrib;
+		%inlineequation.role.attrib;
+		%local.inlineequation.attrib;
+>
+<!--end of inlineequation.attlist-->]]>
+<!--end of inlineequation.module-->]]>
+
+<!ENTITY % alt.module "INCLUDE">
+<![%alt.module;[
+<!ENTITY % local.alt.attrib "">
+<!ENTITY % alt.role.attrib "%role.attrib;">
+
+<!ENTITY % alt.element "INCLUDE">
+<![%alt.element;[
+<!ELEMENT alt %ho; (#PCDATA)>
+<!--end of alt.element-->]]>
+
+<!ENTITY % alt.attlist "INCLUDE">
+<![%alt.attlist;[
+<!ATTLIST alt
+		%common.attrib;
+		%alt.role.attrib;
+		%local.alt.attrib;
+>
+<!--end of alt.attlist-->]]>
+<!--end of alt.module-->]]>
+
+<!-- Tables ........................... -->
+
+<!ENTITY % table.module "INCLUDE">
+<![%table.module;[
+
+<!-- Choose a table model. CALS or OASIS XML Exchange -->
+
+<!ENTITY % cals.table.module "INCLUDE">
+<![%cals.table.module;[
+<!ENTITY % exchange.table.module "IGNORE">
+]]>
+<!ENTITY % exchange.table.module "INCLUDE">
+
+<!ENTITY % tables.role.attrib "%role.attrib;">
+
+<![%cals.table.module;[
+<!-- Add label and role attributes to table and informaltable -->
+<!ENTITY % bodyatt "%label.attrib;">
+
+<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
+     EntryTbl, and Entry (and InformalTable element). -->
+<!ENTITY % secur
+	"%common.attrib;
+	%tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+	"%bodyatt;
+	%secur;">
+
+<!-- Content model for Table. -->
+<!ENTITY % tbl.table.mdl
+	"(blockinfo?, (%formalobject.title.content;), (%ndxterm.class;)*,
+	  textobject*,
+          (graphic+|mediaobject+|tgroup+))">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+
+<!-- Reference CALS Table Model -->
+<!ENTITY % tablemodel
+  PUBLIC "-//OASIS//DTD DocBook CALS Table Model V4.2//EN"
+  "calstblx.dtd">
+]]>
+
+<![%exchange.table.module;[
+<!-- Add common attributes and the Label attribute to Table and -->
+<!-- InformalTable.                                             -->
+<!ENTITY % bodyatt
+	"%common.attrib;
+	%label.attrib;
+	%tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+	"%bodyatt;">
+
+<!-- Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry -->
+
+<!ENTITY % tbl.tgroup.att       "%common.attrib;">
+<!ENTITY % tbl.colspec.att      "%common.attrib;">
+<!ENTITY % tbl.tbody.att        "%common.attrib;">
+<!ENTITY % tbl.thead.att        "%common.attrib;">
+<!ENTITY % tbl.row.att          "%common.attrib;">
+<!ENTITY % tbl.entry.att        "%common.attrib;">
+
+<!-- Content model for Table. -->
+<!ENTITY % tbl.table.mdl
+	"(blockinfo?, (%formalobject.title.content;), (%ndxterm.class;)*,
+	  textobject*,
+          (graphic+|mediaobject+|tgroup+))">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "(%para.char.mix; | %tabentry.mix;)*">
+
+<!-- Reference OASIS Exchange Table Model -->
+<!ENTITY % tablemodel
+  PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+  "soextblx.dtd">
+]]>
+
+%tablemodel;
+
+<!--end of table.module-->]]>
+
+<!ENTITY % informaltable.module "INCLUDE">
+<![%informaltable.module;[
+
+<!-- Note that InformalTable is dependent on some of the entity
+     declarations that customize Table. -->
+
+<!ENTITY % local.informaltable.attrib "">
+
+<!ENTITY % informaltable.element "INCLUDE">
+<![%informaltable.element;[
+<!ELEMENT informaltable %ho; (blockinfo?, textobject*, (graphic+|mediaobject+|tgroup+))>
+<!--end of informaltable.element-->]]>
+
+<!-- Frame, Colsep, and Rowsep must be repeated because
+		they are not in entities in the table module. -->
+<!-- includes TabStyle, ToCentry, ShortEntry,
+				Orient, PgWide -->
+<!-- includes Label -->
+<!-- includes common attributes -->
+
+
+<!ENTITY % informaltable.attlist "INCLUDE">
+<![%informaltable.attlist;[
+<!ATTLIST informaltable
+		frame		(top
+				|bottom
+				|topbot
+				|all
+				|sides
+				|none)			#IMPLIED
+		colsep		%yesorno.attvals;	#IMPLIED
+		rowsep		%yesorno.attvals;	#IMPLIED
+		%common.table.attribs;
+		%tbl.table.att;
+		%local.informaltable.attrib;
+>
+<!--end of informaltable.attlist-->]]>
+<!--end of informaltable.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Synopses ............................................................. -->
+
+<!-- Synopsis ......................... -->
+
+<!ENTITY % synopsis.module "INCLUDE">
+<![%synopsis.module;[
+<!ENTITY % local.synopsis.attrib "">
+<!ENTITY % synopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % synopsis.element "INCLUDE">
+<![%synopsis.element;[
+<!ELEMENT synopsis %ho; (%para.char.mix;|graphic|mediaobject|co|coref|textobject|lineannotation)*>
+<!--end of synopsis.element-->]]>
+
+<!ENTITY % synopsis.attlist "INCLUDE">
+<![%synopsis.attlist;[
+<!ATTLIST synopsis
+		%label.attrib;
+		%linespecific.attrib;
+		%common.attrib;
+		%synopsis.role.attrib;
+		%local.synopsis.attrib;
+>
+<!--end of synopsis.attlist-->]]>
+
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!--end of synopsis.module-->]]>
+
+<!-- CmdSynopsis ...................... -->
+
+<!ENTITY % cmdsynopsis.content.module "INCLUDE">
+<![%cmdsynopsis.content.module;[
+<!ENTITY % cmdsynopsis.module "INCLUDE">
+<![%cmdsynopsis.module;[
+<!ENTITY % local.cmdsynopsis.attrib "">
+<!ENTITY % cmdsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % cmdsynopsis.element "INCLUDE">
+<![%cmdsynopsis.element;[
+<!ELEMENT cmdsynopsis %ho; ((command | arg | group | sbr)+, synopfragment*)>
+<!--end of cmdsynopsis.element-->]]>
+
+<!-- Sepchar: Character that should separate command and all
+		top-level arguments; alternate value might be e.g., &Delta; -->
+
+
+<!ENTITY % cmdsynopsis.attlist "INCLUDE">
+<![%cmdsynopsis.attlist;[
+<!ATTLIST cmdsynopsis
+		%label.attrib;
+		sepchar		CDATA		" "
+		cmdlength	CDATA		#IMPLIED
+		%common.attrib;
+		%cmdsynopsis.role.attrib;
+		%local.cmdsynopsis.attrib;
+>
+<!--end of cmdsynopsis.attlist-->]]>
+<!--end of cmdsynopsis.module-->]]>
+
+<!ENTITY % arg.module "INCLUDE">
+<![%arg.module;[
+<!ENTITY % local.arg.attrib "">
+<!ENTITY % arg.role.attrib "%role.attrib;">
+
+<!ENTITY % arg.element "INCLUDE">
+<![%arg.element;[
+<!ELEMENT arg %ho; (#PCDATA
+		| arg
+		| group
+		| option
+		| synopfragmentref
+		| replaceable
+		| sbr)*>
+<!--end of arg.element-->]]>
+
+<!-- Choice: Whether Arg must be supplied: Opt (optional to
+		supply, e.g. [arg]; the default), Req (required to supply,
+		e.g. {arg}), or Plain (required to supply, e.g. arg) -->
+<!-- Rep: whether Arg is repeatable: Norepeat (e.g. arg without
+		ellipsis; the default), or Repeat (e.g. arg...) -->
+
+
+<!ENTITY % arg.attlist "INCLUDE">
+<![%arg.attlist;[
+<!ATTLIST arg
+		choice		(opt
+				|req
+				|plain)		'opt'
+		rep		(norepeat
+				|repeat)	'norepeat'
+		%common.attrib;
+		%arg.role.attrib;
+		%local.arg.attrib;
+>
+<!--end of arg.attlist-->]]>
+<!--end of arg.module-->]]>
+
+<!ENTITY % group.module "INCLUDE">
+<![%group.module;[
+
+<!ENTITY % local.group.attrib "">
+<!ENTITY % group.role.attrib "%role.attrib;">
+
+<!ENTITY % group.element "INCLUDE">
+<![%group.element;[
+<!ELEMENT group %ho; ((arg | group | option | synopfragmentref
+		| replaceable | sbr)+)>
+<!--end of group.element-->]]>
+
+<!-- Choice: Whether Group must be supplied: Opt (optional to
+		supply, e.g.  [g1|g2|g3]; the default), Req (required to
+		supply, e.g.  {g1|g2|g3}), Plain (required to supply,
+		e.g.  g1|g2|g3), OptMult (can supply zero or more, e.g.
+		[[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
+		{{g1|g2|g3}}) -->
+<!-- Rep: whether Group is repeatable: Norepeat (e.g. group
+		without ellipsis; the default), or Repeat (e.g. group...) -->
+
+
+<!ENTITY % group.attlist "INCLUDE">
+<![%group.attlist;[
+<!ATTLIST group
+		choice		(opt
+				|req
+				|plain)         'opt'
+		rep		(norepeat
+				|repeat)	'norepeat'
+		%common.attrib;
+		%group.role.attrib;
+		%local.group.attrib;
+>
+<!--end of group.attlist-->]]>
+<!--end of group.module-->]]>
+
+<!ENTITY % sbr.module "INCLUDE">
+<![%sbr.module;[
+<!ENTITY % local.sbr.attrib "">
+<!-- Synopsis break -->
+<!ENTITY % sbr.role.attrib "%role.attrib;">
+
+<!ENTITY % sbr.element "INCLUDE">
+<![%sbr.element;[
+<!ELEMENT sbr %ho; EMPTY>
+<!--end of sbr.element-->]]>
+
+<!ENTITY % sbr.attlist "INCLUDE">
+<![%sbr.attlist;[
+<!ATTLIST sbr
+		%common.attrib;
+		%sbr.role.attrib;
+		%local.sbr.attrib;
+>
+<!--end of sbr.attlist-->]]>
+<!--end of sbr.module-->]]>
+
+<!ENTITY % synopfragmentref.module "INCLUDE">
+<![%synopfragmentref.module;[
+<!ENTITY % local.synopfragmentref.attrib "">
+<!ENTITY % synopfragmentref.role.attrib "%role.attrib;">
+
+<!ENTITY % synopfragmentref.element "INCLUDE">
+<![%synopfragmentref.element;[
+<!ELEMENT synopfragmentref %ho; (#PCDATA)>
+<!--end of synopfragmentref.element-->]]>
+
+<!-- to SynopFragment of complex synopsis
+			material for separate referencing -->
+
+
+<!ENTITY % synopfragmentref.attlist "INCLUDE">
+<![%synopfragmentref.attlist;[
+<!ATTLIST synopfragmentref
+		%linkendreq.attrib;		%common.attrib;
+		%synopfragmentref.role.attrib;
+		%local.synopfragmentref.attrib;
+>
+<!--end of synopfragmentref.attlist-->]]>
+<!--end of synopfragmentref.module-->]]>
+
+<!ENTITY % synopfragment.module "INCLUDE">
+<![%synopfragment.module;[
+<!ENTITY % local.synopfragment.attrib "">
+<!ENTITY % synopfragment.role.attrib "%role.attrib;">
+
+<!ENTITY % synopfragment.element "INCLUDE">
+<![%synopfragment.element;[
+<!ELEMENT synopfragment %ho; ((arg | group)+)>
+<!--end of synopfragment.element-->]]>
+
+<!ENTITY % synopfragment.attlist "INCLUDE">
+<![%synopfragment.attlist;[
+<!ATTLIST synopfragment
+		%idreq.common.attrib;
+		%synopfragment.role.attrib;
+		%local.synopfragment.attrib;
+>
+<!--end of synopfragment.attlist-->]]>
+<!--end of synopfragment.module-->]]>
+
+<!-- Command (defined in the Inlines section, below)-->
+<!-- Option (defined in the Inlines section, below)-->
+<!-- Replaceable (defined in the Inlines section, below)-->
+<!--end of cmdsynopsis.content.module-->]]>
+
+<!-- FuncSynopsis ..................... -->
+
+<!ENTITY % funcsynopsis.content.module "INCLUDE">
+<![%funcsynopsis.content.module;[
+<!ENTITY % funcsynopsis.module "INCLUDE">
+<![%funcsynopsis.module;[
+
+<!ENTITY % local.funcsynopsis.attrib "">
+<!ENTITY % funcsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % funcsynopsis.element "INCLUDE">
+<![%funcsynopsis.element;[
+<!ELEMENT funcsynopsis %ho; ((funcsynopsisinfo | funcprototype)+)>
+<!--end of funcsynopsis.element-->]]>
+
+<!ENTITY % funcsynopsis.attlist "INCLUDE">
+<![%funcsynopsis.attlist;[
+<!ATTLIST funcsynopsis
+		%label.attrib;
+		%common.attrib;
+		%funcsynopsis.role.attrib;
+		%local.funcsynopsis.attrib;
+>
+<!--end of funcsynopsis.attlist-->]]>
+<!--end of funcsynopsis.module-->]]>
+
+<!ENTITY % funcsynopsisinfo.module "INCLUDE">
+<![%funcsynopsisinfo.module;[
+<!ENTITY % local.funcsynopsisinfo.attrib "">
+<!ENTITY % funcsynopsisinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % funcsynopsisinfo.element "INCLUDE">
+<![%funcsynopsisinfo.element;[
+<!ELEMENT funcsynopsisinfo %ho; (%cptr.char.mix;|textobject|lineannotation)*>
+<!--end of funcsynopsisinfo.element-->]]>
+
+<!ENTITY % funcsynopsisinfo.attlist "INCLUDE">
+<![%funcsynopsisinfo.attlist;[
+<!ATTLIST funcsynopsisinfo
+		%linespecific.attrib;
+		%common.attrib;
+		%funcsynopsisinfo.role.attrib;
+		%local.funcsynopsisinfo.attrib;
+>
+<!--end of funcsynopsisinfo.attlist-->]]>
+<!--end of funcsynopsisinfo.module-->]]>
+
+<!ENTITY % funcprototype.module "INCLUDE">
+<![%funcprototype.module;[
+<!ENTITY % local.funcprototype.attrib "">
+<!ENTITY % funcprototype.role.attrib "%role.attrib;">
+
+<!ENTITY % funcprototype.element "INCLUDE">
+<![%funcprototype.element;[
+<!ELEMENT funcprototype %ho; (funcdef, (void | varargs | paramdef+))>
+<!--end of funcprototype.element-->]]>
+
+<!ENTITY % funcprototype.attlist "INCLUDE">
+<![%funcprototype.attlist;[
+<!ATTLIST funcprototype
+		%common.attrib;
+		%funcprototype.role.attrib;
+		%local.funcprototype.attrib;
+>
+<!--end of funcprototype.attlist-->]]>
+<!--end of funcprototype.module-->]]>
+
+<!ENTITY % funcdef.module "INCLUDE">
+<![%funcdef.module;[
+<!ENTITY % local.funcdef.attrib "">
+<!ENTITY % funcdef.role.attrib "%role.attrib;">
+
+<!ENTITY % funcdef.element "INCLUDE">
+<![%funcdef.element;[
+<!ELEMENT funcdef %ho; (#PCDATA
+		| type
+		| replaceable
+		| function)*>
+<!--end of funcdef.element-->]]>
+
+<!ENTITY % funcdef.attlist "INCLUDE">
+<![%funcdef.attlist;[
+<!ATTLIST funcdef
+		%common.attrib;
+		%funcdef.role.attrib;
+		%local.funcdef.attrib;
+>
+<!--end of funcdef.attlist-->]]>
+<!--end of funcdef.module-->]]>
+
+<!ENTITY % void.module "INCLUDE">
+<![%void.module;[
+<!ENTITY % local.void.attrib "">
+<!ENTITY % void.role.attrib "%role.attrib;">
+
+<!ENTITY % void.element "INCLUDE">
+<![%void.element;[
+<!ELEMENT void %ho; EMPTY>
+<!--end of void.element-->]]>
+
+<!ENTITY % void.attlist "INCLUDE">
+<![%void.attlist;[
+<!ATTLIST void
+		%common.attrib;
+		%void.role.attrib;
+		%local.void.attrib;
+>
+<!--end of void.attlist-->]]>
+<!--end of void.module-->]]>
+
+<!ENTITY % varargs.module "INCLUDE">
+<![%varargs.module;[
+<!ENTITY % local.varargs.attrib "">
+<!ENTITY % varargs.role.attrib "%role.attrib;">
+
+<!ENTITY % varargs.element "INCLUDE">
+<![%varargs.element;[
+<!ELEMENT varargs %ho; EMPTY>
+<!--end of varargs.element-->]]>
+
+<!ENTITY % varargs.attlist "INCLUDE">
+<![%varargs.attlist;[
+<!ATTLIST varargs
+		%common.attrib;
+		%varargs.role.attrib;
+		%local.varargs.attrib;
+>
+<!--end of varargs.attlist-->]]>
+<!--end of varargs.module-->]]>
+
+<!-- Processing assumes that only one Parameter will appear in a
+     ParamDef, and that FuncParams will be used at most once, for
+     providing information on the "inner parameters" for parameters that
+     are pointers to functions. -->
+
+<!ENTITY % paramdef.module "INCLUDE">
+<![%paramdef.module;[
+<!ENTITY % local.paramdef.attrib "">
+<!ENTITY % paramdef.role.attrib "%role.attrib;">
+
+<!ENTITY % paramdef.element "INCLUDE">
+<![%paramdef.element;[
+<!ELEMENT paramdef %ho; (#PCDATA
+		| type
+		| replaceable
+		| parameter
+		| funcparams)*>
+<!--end of paramdef.element-->]]>
+
+<!ENTITY % paramdef.attlist "INCLUDE">
+<![%paramdef.attlist;[
+<!ATTLIST paramdef
+		%common.attrib;
+		%paramdef.role.attrib;
+		%local.paramdef.attrib;
+>
+<!--end of paramdef.attlist-->]]>
+<!--end of paramdef.module-->]]>
+
+<!ENTITY % funcparams.module "INCLUDE">
+<![%funcparams.module;[
+<!ENTITY % local.funcparams.attrib "">
+<!ENTITY % funcparams.role.attrib "%role.attrib;">
+
+<!ENTITY % funcparams.element "INCLUDE">
+<![%funcparams.element;[
+<!ELEMENT funcparams %ho; (%cptr.char.mix;)*>
+<!--end of funcparams.element-->]]>
+
+<!ENTITY % funcparams.attlist "INCLUDE">
+<![%funcparams.attlist;[
+<!ATTLIST funcparams
+		%common.attrib;
+		%funcparams.role.attrib;
+		%local.funcparams.attrib;
+>
+<!--end of funcparams.attlist-->]]>
+<!--end of funcparams.module-->]]>
+
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!-- Replaceable (defined in the Inlines section, below)-->
+<!-- Function (defined in the Inlines section, below)-->
+<!-- Parameter (defined in the Inlines section, below)-->
+<!--end of funcsynopsis.content.module-->]]>
+
+<!-- ClassSynopsis ..................... -->
+
+<!ENTITY % classsynopsis.content.module "INCLUDE">
+<![%classsynopsis.content.module;[
+
+<!ENTITY % classsynopsis.module "INCLUDE">
+<![%classsynopsis.module;[
+<!ENTITY % local.classsynopsis.attrib "">
+<!ENTITY % classsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % classsynopsis.element "INCLUDE">
+<![%classsynopsis.element;[
+<!ELEMENT classsynopsis %ho; ((ooclass|oointerface|ooexception)+,
+                         (classsynopsisinfo
+                          |fieldsynopsis|%method.synop.class;)*)>
+<!--end of classsynopsis.element-->]]>
+
+<!ENTITY % classsynopsis.attlist "INCLUDE">
+<![%classsynopsis.attlist;[
+<!ATTLIST classsynopsis
+	language	CDATA	#IMPLIED
+	class	(class|interface)	"class"
+	%common.attrib;
+	%classsynopsis.role.attrib;
+	%local.classsynopsis.attrib;
+>
+<!--end of classsynopsis.attlist-->]]>
+<!--end of classsynopsis.module-->]]>
+
+<!ENTITY % classsynopsisinfo.module "INCLUDE">
+<![ %classsynopsisinfo.module; [
+<!ENTITY % local.classsynopsisinfo.attrib "">
+<!ENTITY % classsynopsisinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % classsynopsisinfo.element "INCLUDE">
+<![ %classsynopsisinfo.element; [
+<!ELEMENT classsynopsisinfo %ho; (%cptr.char.mix;|textobject|lineannotation)*>
+<!--end of classsynopsisinfo.element-->]]>
+
+<!ENTITY % classsynopsisinfo.attlist "INCLUDE">
+<![ %classsynopsisinfo.attlist; [
+<!ATTLIST classsynopsisinfo
+		%linespecific.attrib;
+		%common.attrib;
+		%classsynopsisinfo.role.attrib;
+		%local.classsynopsisinfo.attrib;
+>
+<!--end of classsynopsisinfo.attlist-->]]>
+<!--end of classsynopsisinfo.module-->]]>
+
+<!ENTITY % ooclass.module "INCLUDE">
+<![%ooclass.module;[
+<!ENTITY % local.ooclass.attrib "">
+<!ENTITY % ooclass.role.attrib "%role.attrib;">
+
+<!ENTITY % ooclass.element "INCLUDE">
+<![%ooclass.element;[
+<!ELEMENT ooclass %ho; (modifier*, classname)>
+<!--end of ooclass.element-->]]>
+
+<!ENTITY % ooclass.attlist "INCLUDE">
+<![%ooclass.attlist;[
+<!ATTLIST ooclass
+	%common.attrib;
+	%ooclass.role.attrib;
+	%local.ooclass.attrib;
+>
+<!--end of ooclass.attlist-->]]>
+<!--end of ooclass.module-->]]>
+
+<!ENTITY % oointerface.module "INCLUDE">
+<![%oointerface.module;[
+<!ENTITY % local.oointerface.attrib "">
+<!ENTITY % oointerface.role.attrib "%role.attrib;">
+
+<!ENTITY % oointerface.element "INCLUDE">
+<![%oointerface.element;[
+<!ELEMENT oointerface %ho; (modifier*, interfacename)>
+<!--end of oointerface.element-->]]>
+
+<!ENTITY % oointerface.attlist "INCLUDE">
+<![%oointerface.attlist;[
+<!ATTLIST oointerface
+	%common.attrib;
+	%oointerface.role.attrib;
+	%local.oointerface.attrib;
+>
+<!--end of oointerface.attlist-->]]>
+<!--end of oointerface.module-->]]>
+
+<!ENTITY % ooexception.module "INCLUDE">
+<![%ooexception.module;[
+<!ENTITY % local.ooexception.attrib "">
+<!ENTITY % ooexception.role.attrib "%role.attrib;">
+
+<!ENTITY % ooexception.element "INCLUDE">
+<![%ooexception.element;[
+<!ELEMENT ooexception %ho; (modifier*, exceptionname)>
+<!--end of ooexception.element-->]]>
+
+<!ENTITY % ooexception.attlist "INCLUDE">
+<![%ooexception.attlist;[
+<!ATTLIST ooexception
+	%common.attrib;
+	%ooexception.role.attrib;
+	%local.ooexception.attrib;
+>
+<!--end of ooexception.attlist-->]]>
+<!--end of ooexception.module-->]]>
+
+<!ENTITY % modifier.module "INCLUDE">
+<![%modifier.module;[
+<!ENTITY % local.modifier.attrib "">
+<!ENTITY % modifier.role.attrib "%role.attrib;">
+
+<!ENTITY % modifier.element "INCLUDE">
+<![%modifier.element;[
+<!ELEMENT modifier %ho; (%smallcptr.char.mix;)*>
+<!--end of modifier.element-->]]>
+
+<!ENTITY % modifier.attlist "INCLUDE">
+<![%modifier.attlist;[
+<!ATTLIST modifier
+	%common.attrib;
+	%modifier.role.attrib;
+	%local.modifier.attrib;
+>
+<!--end of modifier.attlist-->]]>
+<!--end of modifier.module-->]]>
+
+<!ENTITY % interfacename.module "INCLUDE">
+<![%interfacename.module;[
+<!ENTITY % local.interfacename.attrib "">
+<!ENTITY % interfacename.role.attrib "%role.attrib;">
+
+<!ENTITY % interfacename.element "INCLUDE">
+<![%interfacename.element;[
+<!ELEMENT interfacename %ho; (%cptr.char.mix;)*>
+<!--end of interfacename.element-->]]>
+
+<!ENTITY % interfacename.attlist "INCLUDE">
+<![%interfacename.attlist;[
+<!ATTLIST interfacename
+	%common.attrib;
+	%interfacename.role.attrib;
+	%local.interfacename.attrib;
+>
+<!--end of interfacename.attlist-->]]>
+<!--end of interfacename.module-->]]>
+
+<!ENTITY % exceptionname.module "INCLUDE">
+<![%exceptionname.module;[
+<!ENTITY % local.exceptionname.attrib "">
+<!ENTITY % exceptionname.role.attrib "%role.attrib;">
+
+<!ENTITY % exceptionname.element "INCLUDE">
+<![%exceptionname.element;[
+<!ELEMENT exceptionname %ho; (%smallcptr.char.mix;)*>
+<!--end of exceptionname.element-->]]>
+
+<!ENTITY % exceptionname.attlist "INCLUDE">
+<![%exceptionname.attlist;[
+<!ATTLIST exceptionname
+	%common.attrib;
+	%exceptionname.role.attrib;
+	%local.exceptionname.attrib;
+>
+<!--end of exceptionname.attlist-->]]>
+<!--end of exceptionname.module-->]]>
+
+<!ENTITY % fieldsynopsis.module "INCLUDE">
+<![%fieldsynopsis.module;[
+<!ENTITY % local.fieldsynopsis.attrib "">
+<!ENTITY % fieldsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % fieldsynopsis.element "INCLUDE">
+<![%fieldsynopsis.element;[
+<!ELEMENT fieldsynopsis %ho; (modifier*, type?, varname, initializer?)>
+<!--end of fieldsynopsis.element-->]]>
+
+<!ENTITY % fieldsynopsis.attlist "INCLUDE">
+<![%fieldsynopsis.attlist;[
+<!ATTLIST fieldsynopsis
+	language	CDATA	#IMPLIED
+	%common.attrib;
+	%fieldsynopsis.role.attrib;
+	%local.fieldsynopsis.attrib;
+>
+<!--end of fieldsynopsis.attlist-->]]>
+<!--end of fieldsynopsis.module-->]]>
+
+<!ENTITY % initializer.module "INCLUDE">
+<![%initializer.module;[
+<!ENTITY % local.initializer.attrib "">
+<!ENTITY % initializer.role.attrib "%role.attrib;">
+
+<!ENTITY % initializer.element "INCLUDE">
+<![%initializer.element;[
+<!ELEMENT initializer %ho; (%smallcptr.char.mix;)*>
+<!--end of initializer.element-->]]>
+
+<!ENTITY % initializer.attlist "INCLUDE">
+<![%initializer.attlist;[
+<!ATTLIST initializer
+	%common.attrib;
+	%initializer.role.attrib;
+	%local.initializer.attrib;
+>
+<!--end of initializer.attlist-->]]>
+<!--end of initializer.module-->]]>
+
+<!ENTITY % constructorsynopsis.module "INCLUDE">
+<![%constructorsynopsis.module;[
+<!ENTITY % local.constructorsynopsis.attrib "">
+<!ENTITY % constructorsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % constructorsynopsis.element "INCLUDE">
+<![%constructorsynopsis.element;[
+<!ELEMENT constructorsynopsis %ho; (modifier*,
+                               methodname?,
+                               (methodparam+|void),
+                               exceptionname*)>
+<!--end of constructorsynopsis.element-->]]>
+
+<!ENTITY % constructorsynopsis.attlist "INCLUDE">
+<![%constructorsynopsis.attlist;[
+<!ATTLIST constructorsynopsis
+	language	CDATA	#IMPLIED
+	%common.attrib;
+	%constructorsynopsis.role.attrib;
+	%local.constructorsynopsis.attrib;
+>
+<!--end of constructorsynopsis.attlist-->]]>
+<!--end of constructorsynopsis.module-->]]>
+
+<!ENTITY % destructorsynopsis.module "INCLUDE">
+<![%destructorsynopsis.module;[
+<!ENTITY % local.destructorsynopsis.attrib "">
+<!ENTITY % destructorsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % destructorsynopsis.element "INCLUDE">
+<![%destructorsynopsis.element;[
+<!ELEMENT destructorsynopsis %ho; (modifier*,
+                              methodname?,
+                              (methodparam+|void),
+                              exceptionname*)>
+<!--end of destructorsynopsis.element-->]]>
+
+<!ENTITY % destructorsynopsis.attlist "INCLUDE">
+<![%destructorsynopsis.attlist;[
+<!ATTLIST destructorsynopsis
+	language	CDATA	#IMPLIED
+	%common.attrib;
+	%destructorsynopsis.role.attrib;
+	%local.destructorsynopsis.attrib;
+>
+<!--end of destructorsynopsis.attlist-->]]>
+<!--end of destructorsynopsis.module-->]]>
+
+<!ENTITY % methodsynopsis.module "INCLUDE">
+<![%methodsynopsis.module;[
+<!ENTITY % local.methodsynopsis.attrib "">
+<!ENTITY % methodsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % methodsynopsis.element "INCLUDE">
+<![%methodsynopsis.element;[
+<!ELEMENT methodsynopsis %ho; (modifier*,
+                          (type|void)?,
+                          methodname,
+                          (methodparam+|void),
+                          exceptionname*,
+                          modifier*)>
+<!--end of methodsynopsis.element-->]]>
+
+<!ENTITY % methodsynopsis.attlist "INCLUDE">
+<![%methodsynopsis.attlist;[
+<!ATTLIST methodsynopsis
+	language	CDATA	#IMPLIED
+	%common.attrib;
+	%methodsynopsis.role.attrib;
+	%local.methodsynopsis.attrib;
+>
+<!--end of methodsynopsis.attlist-->]]>
+<!--end of methodsynopsis.module-->]]>
+
+<!ENTITY % methodname.module "INCLUDE">
+<![%methodname.module;[
+<!ENTITY % local.methodname.attrib "">
+<!ENTITY % methodname.role.attrib "%role.attrib;">
+
+<!ENTITY % methodname.element "INCLUDE">
+<![%methodname.element;[
+<!ELEMENT methodname %ho; (%smallcptr.char.mix;)*>
+<!--end of methodname.element-->]]>
+
+<!ENTITY % methodname.attlist "INCLUDE">
+<![%methodname.attlist;[
+<!ATTLIST methodname
+	%common.attrib;
+	%methodname.role.attrib;
+	%local.methodname.attrib;
+>
+<!--end of methodname.attlist-->]]>
+<!--end of methodname.module-->]]>
+
+<!ENTITY % methodparam.module "INCLUDE">
+<![%methodparam.module;[
+<!ENTITY % local.methodparam.attrib "">
+<!ENTITY % methodparam.role.attrib "%role.attrib;">
+
+<!ENTITY % methodparam.element "INCLUDE">
+<![%methodparam.element;[
+<!ELEMENT methodparam %ho; (modifier*,
+                       type?,
+                       ((parameter,initializer?)|funcparams),
+                       modifier*)>
+<!--end of methodparam.element-->]]>
+
+<!ENTITY % methodparam.attlist "INCLUDE">
+<![%methodparam.attlist;[
+<!ATTLIST methodparam
+	choice		(opt
+			|req
+			|plain)		"req"
+	rep		(norepeat
+			|repeat)	"norepeat"
+	%common.attrib;
+	%methodparam.role.attrib;
+	%local.methodparam.attrib;
+>
+<!--end of methodparam.attlist-->]]>
+<!--end of methodparam.module-->]]>
+<!--end of classsynopsis.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Document information entities and elements ........................... -->
+
+<!-- The document information elements include some elements that are
+     currently used only in the document hierarchy module. They are
+     defined here so that they will be available for use in customized
+     document hierarchies. -->
+
+<!-- .................................. -->
+
+<!ENTITY % docinfo.content.module "INCLUDE">
+<![%docinfo.content.module;[
+
+<!-- Ackno ............................ -->
+
+<!ENTITY % ackno.module "INCLUDE">
+<![%ackno.module;[
+<!ENTITY % local.ackno.attrib "">
+<!ENTITY % ackno.role.attrib "%role.attrib;">
+
+<!ENTITY % ackno.element "INCLUDE">
+<![%ackno.element;[
+<!ELEMENT ackno %ho; (%docinfo.char.mix;)*>
+<!--end of ackno.element-->]]>
+
+<!ENTITY % ackno.attlist "INCLUDE">
+<![%ackno.attlist;[
+<!ATTLIST ackno
+		%common.attrib;
+		%ackno.role.attrib;
+		%local.ackno.attrib;
+>
+<!--end of ackno.attlist-->]]>
+<!--end of ackno.module-->]]>
+
+<!-- Address .......................... -->
+
+<!ENTITY % address.content.module "INCLUDE">
+<![%address.content.module;[
+<!ENTITY % address.module "INCLUDE">
+<![%address.module;[
+<!ENTITY % local.address.attrib "">
+<!ENTITY % address.role.attrib "%role.attrib;">
+
+<!ENTITY % address.element "INCLUDE">
+<![%address.element;[
+<!ELEMENT address %ho; (#PCDATA|personname|%person.ident.mix;
+		|street|pob|postcode|city|state|country|phone
+		|fax|email|otheraddr)*>
+<!--end of address.element-->]]>
+
+<!ENTITY % address.attlist "INCLUDE">
+<![%address.attlist;[
+<!ATTLIST address
+		%linespecific.attrib;
+		%common.attrib;
+		%address.role.attrib;
+		%local.address.attrib;
+>
+<!--end of address.attlist-->]]>
+<!--end of address.module-->]]>
+
+  <!ENTITY % street.module "INCLUDE">
+  <![%street.module;[
+ <!ENTITY % local.street.attrib "">
+  <!ENTITY % street.role.attrib "%role.attrib;">
+
+<!ENTITY % street.element "INCLUDE">
+<![%street.element;[
+<!ELEMENT street %ho; (%docinfo.char.mix;)*>
+<!--end of street.element-->]]>
+
+<!ENTITY % street.attlist "INCLUDE">
+<![%street.attlist;[
+<!ATTLIST street
+		%common.attrib;
+		%street.role.attrib;
+		%local.street.attrib;
+>
+<!--end of street.attlist-->]]>
+  <!--end of street.module-->]]>
+
+  <!ENTITY % pob.module "INCLUDE">
+  <![%pob.module;[
+  <!ENTITY % local.pob.attrib "">
+  <!ENTITY % pob.role.attrib "%role.attrib;">
+
+<!ENTITY % pob.element "INCLUDE">
+<![%pob.element;[
+<!ELEMENT pob %ho; (%docinfo.char.mix;)*>
+<!--end of pob.element-->]]>
+
+<!ENTITY % pob.attlist "INCLUDE">
+<![%pob.attlist;[
+<!ATTLIST pob
+		%common.attrib;
+		%pob.role.attrib;
+		%local.pob.attrib;
+>
+<!--end of pob.attlist-->]]>
+  <!--end of pob.module-->]]>
+
+  <!ENTITY % postcode.module "INCLUDE">
+  <![%postcode.module;[
+  <!ENTITY % local.postcode.attrib "">
+  <!ENTITY % postcode.role.attrib "%role.attrib;">
+
+<!ENTITY % postcode.element "INCLUDE">
+<![%postcode.element;[
+<!ELEMENT postcode %ho; (%docinfo.char.mix;)*>
+<!--end of postcode.element-->]]>
+
+<!ENTITY % postcode.attlist "INCLUDE">
+<![%postcode.attlist;[
+<!ATTLIST postcode
+		%common.attrib;
+		%postcode.role.attrib;
+		%local.postcode.attrib;
+>
+<!--end of postcode.attlist-->]]>
+  <!--end of postcode.module-->]]>
+
+  <!ENTITY % city.module "INCLUDE">
+  <![%city.module;[
+  <!ENTITY % local.city.attrib "">
+  <!ENTITY % city.role.attrib "%role.attrib;">
+
+<!ENTITY % city.element "INCLUDE">
+<![%city.element;[
+<!ELEMENT city %ho; (%docinfo.char.mix;)*>
+<!--end of city.element-->]]>
+
+<!ENTITY % city.attlist "INCLUDE">
+<![%city.attlist;[
+<!ATTLIST city
+		%common.attrib;
+		%city.role.attrib;
+		%local.city.attrib;
+>
+<!--end of city.attlist-->]]>
+  <!--end of city.module-->]]>
+
+  <!ENTITY % state.module "INCLUDE">
+  <![%state.module;[
+  <!ENTITY % local.state.attrib "">
+  <!ENTITY % state.role.attrib "%role.attrib;">
+
+<!ENTITY % state.element "INCLUDE">
+<![%state.element;[
+<!ELEMENT state %ho; (%docinfo.char.mix;)*>
+<!--end of state.element-->]]>
+
+<!ENTITY % state.attlist "INCLUDE">
+<![%state.attlist;[
+<!ATTLIST state
+		%common.attrib;
+		%state.role.attrib;
+		%local.state.attrib;
+>
+<!--end of state.attlist-->]]>
+  <!--end of state.module-->]]>
+
+  <!ENTITY % country.module "INCLUDE">
+  <![%country.module;[
+  <!ENTITY % local.country.attrib "">
+  <!ENTITY % country.role.attrib "%role.attrib;">
+
+<!ENTITY % country.element "INCLUDE">
+<![%country.element;[
+<!ELEMENT country %ho; (%docinfo.char.mix;)*>
+<!--end of country.element-->]]>
+
+<!ENTITY % country.attlist "INCLUDE">
+<![%country.attlist;[
+<!ATTLIST country
+		%common.attrib;
+		%country.role.attrib;
+		%local.country.attrib;
+>
+<!--end of country.attlist-->]]>
+  <!--end of country.module-->]]>
+
+  <!ENTITY % phone.module "INCLUDE">
+  <![%phone.module;[
+  <!ENTITY % local.phone.attrib "">
+  <!ENTITY % phone.role.attrib "%role.attrib;">
+
+<!ENTITY % phone.element "INCLUDE">
+<![%phone.element;[
+<!ELEMENT phone %ho; (%docinfo.char.mix;)*>
+<!--end of phone.element-->]]>
+
+<!ENTITY % phone.attlist "INCLUDE">
+<![%phone.attlist;[
+<!ATTLIST phone
+		%common.attrib;
+		%phone.role.attrib;
+		%local.phone.attrib;
+>
+<!--end of phone.attlist-->]]>
+  <!--end of phone.module-->]]>
+
+  <!ENTITY % fax.module "INCLUDE">
+  <![%fax.module;[
+  <!ENTITY % local.fax.attrib "">
+  <!ENTITY % fax.role.attrib "%role.attrib;">
+
+<!ENTITY % fax.element "INCLUDE">
+<![%fax.element;[
+<!ELEMENT fax %ho; (%docinfo.char.mix;)*>
+<!--end of fax.element-->]]>
+
+<!ENTITY % fax.attlist "INCLUDE">
+<![%fax.attlist;[
+<!ATTLIST fax
+		%common.attrib;
+		%fax.role.attrib;
+		%local.fax.attrib;
+>
+<!--end of fax.attlist-->]]>
+  <!--end of fax.module-->]]>
+
+  <!-- Email (defined in the Inlines section, below)-->
+
+  <!ENTITY % otheraddr.module "INCLUDE">
+  <![%otheraddr.module;[
+  <!ENTITY % local.otheraddr.attrib "">
+  <!ENTITY % otheraddr.role.attrib "%role.attrib;">
+
+<!ENTITY % otheraddr.element "INCLUDE">
+<![%otheraddr.element;[
+<!ELEMENT otheraddr %ho; (%docinfo.char.mix;)*>
+<!--end of otheraddr.element-->]]>
+
+<!ENTITY % otheraddr.attlist "INCLUDE">
+<![%otheraddr.attlist;[
+<!ATTLIST otheraddr
+		%common.attrib;
+		%otheraddr.role.attrib;
+		%local.otheraddr.attrib;
+>
+<!--end of otheraddr.attlist-->]]>
+  <!--end of otheraddr.module-->]]>
+<!--end of address.content.module-->]]>
+
+<!-- Affiliation ...................... -->
+
+<!ENTITY % affiliation.content.module "INCLUDE">
+<![%affiliation.content.module;[
+<!ENTITY % affiliation.module "INCLUDE">
+<![%affiliation.module;[
+<!ENTITY % local.affiliation.attrib "">
+<!ENTITY % affiliation.role.attrib "%role.attrib;">
+
+<!ENTITY % affiliation.element "INCLUDE">
+<![%affiliation.element;[
+<!ELEMENT affiliation %ho; (shortaffil?, jobtitle*, orgname?, orgdiv*,
+		address*)>
+<!--end of affiliation.element-->]]>
+
+<!ENTITY % affiliation.attlist "INCLUDE">
+<![%affiliation.attlist;[
+<!ATTLIST affiliation
+		%common.attrib;
+		%affiliation.role.attrib;
+		%local.affiliation.attrib;
+>
+<!--end of affiliation.attlist-->]]>
+<!--end of affiliation.module-->]]>
+
+  <!ENTITY % shortaffil.module "INCLUDE">
+  <![%shortaffil.module;[
+  <!ENTITY % local.shortaffil.attrib "">
+  <!ENTITY % shortaffil.role.attrib "%role.attrib;">
+
+<!ENTITY % shortaffil.element "INCLUDE">
+<![%shortaffil.element;[
+<!ELEMENT shortaffil %ho; (%docinfo.char.mix;)*>
+<!--end of shortaffil.element-->]]>
+
+<!ENTITY % shortaffil.attlist "INCLUDE">
+<![%shortaffil.attlist;[
+<!ATTLIST shortaffil
+		%common.attrib;
+		%shortaffil.role.attrib;
+		%local.shortaffil.attrib;
+>
+<!--end of shortaffil.attlist-->]]>
+  <!--end of shortaffil.module-->]]>
+
+  <!ENTITY % jobtitle.module "INCLUDE">
+  <![%jobtitle.module;[
+  <!ENTITY % local.jobtitle.attrib "">
+  <!ENTITY % jobtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % jobtitle.element "INCLUDE">
+<![%jobtitle.element;[
+<!ELEMENT jobtitle %ho; (%docinfo.char.mix;)*>
+<!--end of jobtitle.element-->]]>
+
+<!ENTITY % jobtitle.attlist "INCLUDE">
+<![%jobtitle.attlist;[
+<!ATTLIST jobtitle
+		%common.attrib;
+		%jobtitle.role.attrib;
+		%local.jobtitle.attrib;
+>
+<!--end of jobtitle.attlist-->]]>
+  <!--end of jobtitle.module-->]]>
+
+  <!-- OrgName (defined elsewhere in this section)-->
+
+  <!ENTITY % orgdiv.module "INCLUDE">
+  <![%orgdiv.module;[
+  <!ENTITY % local.orgdiv.attrib "">
+  <!ENTITY % orgdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % orgdiv.element "INCLUDE">
+<![%orgdiv.element;[
+<!ELEMENT orgdiv %ho; (%docinfo.char.mix;)*>
+<!--end of orgdiv.element-->]]>
+
+<!ENTITY % orgdiv.attlist "INCLUDE">
+<![%orgdiv.attlist;[
+<!ATTLIST orgdiv
+		%common.attrib;
+		%orgdiv.role.attrib;
+		%local.orgdiv.attrib;
+>
+<!--end of orgdiv.attlist-->]]>
+  <!--end of orgdiv.module-->]]>
+
+  <!-- Address (defined elsewhere in this section)-->
+<!--end of affiliation.content.module-->]]>
+
+<!-- ArtPageNums ...................... -->
+
+<!ENTITY % artpagenums.module "INCLUDE">
+<![%artpagenums.module;[
+<!ENTITY % local.artpagenums.attrib "">
+<!ENTITY % artpagenums.role.attrib "%role.attrib;">
+
+<!ENTITY % artpagenums.element "INCLUDE">
+<![%artpagenums.element;[
+<!ELEMENT artpagenums %ho; (%docinfo.char.mix;)*>
+<!--end of artpagenums.element-->]]>
+
+<!ENTITY % artpagenums.attlist "INCLUDE">
+<![%artpagenums.attlist;[
+<!ATTLIST artpagenums
+		%common.attrib;
+		%artpagenums.role.attrib;
+		%local.artpagenums.attrib;
+>
+<!--end of artpagenums.attlist-->]]>
+<!--end of artpagenums.module-->]]>
+
+<!-- PersonName -->
+
+<!ENTITY % personname.module "INCLUDE">
+<![%personname.module;[
+<!ENTITY % local.personname.attrib "">
+<!ENTITY % personname.role.attrib "%role.attrib;">
+
+<!ENTITY % personname.element "INCLUDE">
+<![%personname.element;[
+<!ELEMENT personname %ho; ((honorific|firstname|surname|lineage|othername)+)>
+<!--end of personname.element-->]]>
+
+<!ENTITY % personname.attlist "INCLUDE">
+<![%personname.attlist;[
+<!ATTLIST personname
+		%common.attrib;
+		%personname.role.attrib;
+		%local.personname.attrib;
+>
+<!--end of personname.attlist-->]]>
+<!--end of personname.module-->]]>
+
+<!-- Author ........................... -->
+
+<!ENTITY % author.module "INCLUDE">
+<![%author.module;[
+<!ENTITY % local.author.attrib "">
+<!ENTITY % author.role.attrib "%role.attrib;">
+
+<!ENTITY % author.element "INCLUDE">
+<![%author.element;[
+<!ELEMENT author %ho; ((personname|(%person.ident.mix;)+),(personblurb|email|address)*)>
+<!--end of author.element-->]]>
+
+<!ENTITY % author.attlist "INCLUDE">
+<![%author.attlist;[
+<!ATTLIST author
+		%common.attrib;
+		%author.role.attrib;
+		%local.author.attrib;
+>
+<!--end of author.attlist-->]]>
+<!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of author.module-->]]>
+
+<!-- AuthorGroup ...................... -->
+
+<!ENTITY % authorgroup.content.module "INCLUDE">
+<![%authorgroup.content.module;[
+<!ENTITY % authorgroup.module "INCLUDE">
+<![%authorgroup.module;[
+<!ENTITY % local.authorgroup.attrib "">
+<!ENTITY % authorgroup.role.attrib "%role.attrib;">
+
+<!ENTITY % authorgroup.element "INCLUDE">
+<![%authorgroup.element;[
+<!ELEMENT authorgroup %ho; ((author|editor|collab|corpauthor|othercredit)+)>
+<!--end of authorgroup.element-->]]>
+
+<!ENTITY % authorgroup.attlist "INCLUDE">
+<![%authorgroup.attlist;[
+<!ATTLIST authorgroup
+		%common.attrib;
+		%authorgroup.role.attrib;
+		%local.authorgroup.attrib;
+>
+<!--end of authorgroup.attlist-->]]>
+<!--end of authorgroup.module-->]]>
+
+  <!-- Author (defined elsewhere in this section)-->
+  <!-- Editor (defined elsewhere in this section)-->
+
+  <!ENTITY % collab.content.module "INCLUDE">
+  <![%collab.content.module;[
+  <!ENTITY % collab.module "INCLUDE">
+  <![%collab.module;[
+  <!ENTITY % local.collab.attrib "">
+  <!ENTITY % collab.role.attrib "%role.attrib;">
+
+<!ENTITY % collab.element "INCLUDE">
+<![%collab.element;[
+<!ELEMENT collab %ho; (collabname, affiliation*)>
+<!--end of collab.element-->]]>
+
+<!ENTITY % collab.attlist "INCLUDE">
+<![%collab.attlist;[
+<!ATTLIST collab
+		%common.attrib;
+		%collab.role.attrib;
+		%local.collab.attrib;
+>
+<!--end of collab.attlist-->]]>
+  <!--end of collab.module-->]]>
+
+    <!ENTITY % collabname.module "INCLUDE">
+  <![%collabname.module;[
+  <!ENTITY % local.collabname.attrib "">
+  <!ENTITY % collabname.role.attrib "%role.attrib;">
+
+<!ENTITY % collabname.element "INCLUDE">
+<![%collabname.element;[
+<!ELEMENT collabname %ho; (%docinfo.char.mix;)*>
+<!--end of collabname.element-->]]>
+
+<!ENTITY % collabname.attlist "INCLUDE">
+<![%collabname.attlist;[
+<!ATTLIST collabname
+		%common.attrib;
+		%collabname.role.attrib;
+		%local.collabname.attrib;
+>
+<!--end of collabname.attlist-->]]>
+    <!--end of collabname.module-->]]>
+
+    <!-- Affiliation (defined elsewhere in this section)-->
+  <!--end of collab.content.module-->]]>
+
+  <!-- CorpAuthor (defined elsewhere in this section)-->
+  <!-- OtherCredit (defined elsewhere in this section)-->
+
+<!--end of authorgroup.content.module-->]]>
+
+<!-- AuthorInitials ................... -->
+
+<!ENTITY % authorinitials.module "INCLUDE">
+<![%authorinitials.module;[
+<!ENTITY % local.authorinitials.attrib "">
+<!ENTITY % authorinitials.role.attrib "%role.attrib;">
+
+<!ENTITY % authorinitials.element "INCLUDE">
+<![%authorinitials.element;[
+<!ELEMENT authorinitials %ho; (%docinfo.char.mix;)*>
+<!--end of authorinitials.element-->]]>
+
+<!ENTITY % authorinitials.attlist "INCLUDE">
+<![%authorinitials.attlist;[
+<!ATTLIST authorinitials
+		%common.attrib;
+		%authorinitials.role.attrib;
+		%local.authorinitials.attrib;
+>
+<!--end of authorinitials.attlist-->]]>
+<!--end of authorinitials.module-->]]>
+
+<!-- ConfGroup ........................ -->
+
+<!ENTITY % confgroup.content.module "INCLUDE">
+<![%confgroup.content.module;[
+<!ENTITY % confgroup.module "INCLUDE">
+<![%confgroup.module;[
+<!ENTITY % local.confgroup.attrib "">
+<!ENTITY % confgroup.role.attrib "%role.attrib;">
+
+<!ENTITY % confgroup.element "INCLUDE">
+<![%confgroup.element;[
+<!ELEMENT confgroup %ho; ((confdates|conftitle|confnum|address|confsponsor)*)>
+<!--end of confgroup.element-->]]>
+
+<!ENTITY % confgroup.attlist "INCLUDE">
+<![%confgroup.attlist;[
+<!ATTLIST confgroup
+		%common.attrib;
+		%confgroup.role.attrib;
+		%local.confgroup.attrib;
+>
+<!--end of confgroup.attlist-->]]>
+<!--end of confgroup.module-->]]>
+
+  <!ENTITY % confdates.module "INCLUDE">
+  <![%confdates.module;[
+  <!ENTITY % local.confdates.attrib "">
+  <!ENTITY % confdates.role.attrib "%role.attrib;">
+
+<!ENTITY % confdates.element "INCLUDE">
+<![%confdates.element;[
+<!ELEMENT confdates %ho; (%docinfo.char.mix;)*>
+<!--end of confdates.element-->]]>
+
+<!ENTITY % confdates.attlist "INCLUDE">
+<![%confdates.attlist;[
+<!ATTLIST confdates
+		%common.attrib;
+		%confdates.role.attrib;
+		%local.confdates.attrib;
+>
+<!--end of confdates.attlist-->]]>
+  <!--end of confdates.module-->]]>
+
+  <!ENTITY % conftitle.module "INCLUDE">
+  <![%conftitle.module;[
+  <!ENTITY % local.conftitle.attrib "">
+  <!ENTITY % conftitle.role.attrib "%role.attrib;">
+
+<!ENTITY % conftitle.element "INCLUDE">
+<![%conftitle.element;[
+<!ELEMENT conftitle %ho; (%docinfo.char.mix;)*>
+<!--end of conftitle.element-->]]>
+
+<!ENTITY % conftitle.attlist "INCLUDE">
+<![%conftitle.attlist;[
+<!ATTLIST conftitle
+		%common.attrib;
+		%conftitle.role.attrib;
+		%local.conftitle.attrib;
+>
+<!--end of conftitle.attlist-->]]>
+  <!--end of conftitle.module-->]]>
+
+  <!ENTITY % confnum.module "INCLUDE">
+  <![%confnum.module;[
+  <!ENTITY % local.confnum.attrib "">
+  <!ENTITY % confnum.role.attrib "%role.attrib;">
+
+<!ENTITY % confnum.element "INCLUDE">
+<![%confnum.element;[
+<!ELEMENT confnum %ho; (%docinfo.char.mix;)*>
+<!--end of confnum.element-->]]>
+
+<!ENTITY % confnum.attlist "INCLUDE">
+<![%confnum.attlist;[
+<!ATTLIST confnum
+		%common.attrib;
+		%confnum.role.attrib;
+		%local.confnum.attrib;
+>
+<!--end of confnum.attlist-->]]>
+  <!--end of confnum.module-->]]>
+
+  <!-- Address (defined elsewhere in this section)-->
+
+  <!ENTITY % confsponsor.module "INCLUDE">
+  <![%confsponsor.module;[
+  <!ENTITY % local.confsponsor.attrib "">
+  <!ENTITY % confsponsor.role.attrib "%role.attrib;">
+
+<!ENTITY % confsponsor.element "INCLUDE">
+<![%confsponsor.element;[
+<!ELEMENT confsponsor %ho; (%docinfo.char.mix;)*>
+<!--end of confsponsor.element-->]]>
+
+<!ENTITY % confsponsor.attlist "INCLUDE">
+<![%confsponsor.attlist;[
+<!ATTLIST confsponsor
+		%common.attrib;
+		%confsponsor.role.attrib;
+		%local.confsponsor.attrib;
+>
+<!--end of confsponsor.attlist-->]]>
+  <!--end of confsponsor.module-->]]>
+<!--end of confgroup.content.module-->]]>
+
+<!-- ContractNum ...................... -->
+
+<!ENTITY % contractnum.module "INCLUDE">
+<![%contractnum.module;[
+<!ENTITY % local.contractnum.attrib "">
+<!ENTITY % contractnum.role.attrib "%role.attrib;">
+
+<!ENTITY % contractnum.element "INCLUDE">
+<![%contractnum.element;[
+<!ELEMENT contractnum %ho; (%docinfo.char.mix;)*>
+<!--end of contractnum.element-->]]>
+
+<!ENTITY % contractnum.attlist "INCLUDE">
+<![%contractnum.attlist;[
+<!ATTLIST contractnum
+		%common.attrib;
+		%contractnum.role.attrib;
+		%local.contractnum.attrib;
+>
+<!--end of contractnum.attlist-->]]>
+<!--end of contractnum.module-->]]>
+
+<!-- ContractSponsor .................. -->
+
+<!ENTITY % contractsponsor.module "INCLUDE">
+<![%contractsponsor.module;[
+<!ENTITY % local.contractsponsor.attrib "">
+<!ENTITY % contractsponsor.role.attrib "%role.attrib;">
+
+<!ENTITY % contractsponsor.element "INCLUDE">
+<![%contractsponsor.element;[
+<!ELEMENT contractsponsor %ho; (%docinfo.char.mix;)*>
+<!--end of contractsponsor.element-->]]>
+
+<!ENTITY % contractsponsor.attlist "INCLUDE">
+<![%contractsponsor.attlist;[
+<!ATTLIST contractsponsor
+		%common.attrib;
+		%contractsponsor.role.attrib;
+		%local.contractsponsor.attrib;
+>
+<!--end of contractsponsor.attlist-->]]>
+<!--end of contractsponsor.module-->]]>
+
+<!-- Copyright ........................ -->
+
+<!ENTITY % copyright.content.module "INCLUDE">
+<![%copyright.content.module;[
+<!ENTITY % copyright.module "INCLUDE">
+<![%copyright.module;[
+<!ENTITY % local.copyright.attrib "">
+<!ENTITY % copyright.role.attrib "%role.attrib;">
+
+<!ENTITY % copyright.element "INCLUDE">
+<![%copyright.element;[
+<!ELEMENT copyright %ho; (year+, holder*)>
+<!--end of copyright.element-->]]>
+
+<!ENTITY % copyright.attlist "INCLUDE">
+<![%copyright.attlist;[
+<!ATTLIST copyright
+		%common.attrib;
+		%copyright.role.attrib;
+		%local.copyright.attrib;
+>
+<!--end of copyright.attlist-->]]>
+<!--end of copyright.module-->]]>
+
+  <!ENTITY % year.module "INCLUDE">
+  <![%year.module;[
+  <!ENTITY % local.year.attrib "">
+  <!ENTITY % year.role.attrib "%role.attrib;">
+
+<!ENTITY % year.element "INCLUDE">
+<![%year.element;[
+<!ELEMENT year %ho; (%docinfo.char.mix;)*>
+<!--end of year.element-->]]>
+
+<!ENTITY % year.attlist "INCLUDE">
+<![%year.attlist;[
+<!ATTLIST year
+		%common.attrib;
+		%year.role.attrib;
+		%local.year.attrib;
+>
+<!--end of year.attlist-->]]>
+  <!--end of year.module-->]]>
+
+  <!ENTITY % holder.module "INCLUDE">
+  <![%holder.module;[
+  <!ENTITY % local.holder.attrib "">
+  <!ENTITY % holder.role.attrib "%role.attrib;">
+
+<!ENTITY % holder.element "INCLUDE">
+<![%holder.element;[
+<!ELEMENT holder %ho; (%docinfo.char.mix;)*>
+<!--end of holder.element-->]]>
+
+<!ENTITY % holder.attlist "INCLUDE">
+<![%holder.attlist;[
+<!ATTLIST holder
+		%common.attrib;
+		%holder.role.attrib;
+		%local.holder.attrib;
+>
+<!--end of holder.attlist-->]]>
+  <!--end of holder.module-->]]>
+<!--end of copyright.content.module-->]]>
+
+<!-- CorpAuthor ....................... -->
+
+<!ENTITY % corpauthor.module "INCLUDE">
+<![%corpauthor.module;[
+<!ENTITY % local.corpauthor.attrib "">
+<!ENTITY % corpauthor.role.attrib "%role.attrib;">
+
+<!ENTITY % corpauthor.element "INCLUDE">
+<![%corpauthor.element;[
+<!ELEMENT corpauthor %ho; (%docinfo.char.mix;)*>
+<!--end of corpauthor.element-->]]>
+
+<!ENTITY % corpauthor.attlist "INCLUDE">
+<![%corpauthor.attlist;[
+<!ATTLIST corpauthor
+		%common.attrib;
+		%corpauthor.role.attrib;
+		%local.corpauthor.attrib;
+>
+<!--end of corpauthor.attlist-->]]>
+<!--end of corpauthor.module-->]]>
+
+<!-- CorpName ......................... -->
+
+<!ENTITY % corpname.module "INCLUDE">
+<![%corpname.module;[
+<!ENTITY % local.corpname.attrib "">
+
+<!ENTITY % corpname.element "INCLUDE">
+<![%corpname.element;[
+<!ELEMENT corpname %ho; (%docinfo.char.mix;)*>
+<!--end of corpname.element-->]]>
+<!ENTITY % corpname.role.attrib "%role.attrib;">
+
+<!ENTITY % corpname.attlist "INCLUDE">
+<![%corpname.attlist;[
+<!ATTLIST corpname
+		%common.attrib;
+		%corpname.role.attrib;
+		%local.corpname.attrib;
+>
+<!--end of corpname.attlist-->]]>
+<!--end of corpname.module-->]]>
+
+<!-- Date ............................. -->
+
+<!ENTITY % date.module "INCLUDE">
+<![%date.module;[
+<!ENTITY % local.date.attrib "">
+<!ENTITY % date.role.attrib "%role.attrib;">
+
+<!ENTITY % date.element "INCLUDE">
+<![%date.element;[
+<!ELEMENT date %ho; (%docinfo.char.mix;)*>
+<!--end of date.element-->]]>
+
+<!ENTITY % date.attlist "INCLUDE">
+<![%date.attlist;[
+<!ATTLIST date
+		%common.attrib;
+		%date.role.attrib;
+		%local.date.attrib;
+>
+<!--end of date.attlist-->]]>
+<!--end of date.module-->]]>
+
+<!-- Edition .......................... -->
+
+<!ENTITY % edition.module "INCLUDE">
+<![%edition.module;[
+<!ENTITY % local.edition.attrib "">
+<!ENTITY % edition.role.attrib "%role.attrib;">
+
+<!ENTITY % edition.element "INCLUDE">
+<![%edition.element;[
+<!ELEMENT edition %ho; (%docinfo.char.mix;)*>
+<!--end of edition.element-->]]>
+
+<!ENTITY % edition.attlist "INCLUDE">
+<![%edition.attlist;[
+<!ATTLIST edition
+		%common.attrib;
+		%edition.role.attrib;
+		%local.edition.attrib;
+>
+<!--end of edition.attlist-->]]>
+<!--end of edition.module-->]]>
+
+<!-- Editor ........................... -->
+
+<!ENTITY % editor.module "INCLUDE">
+<![%editor.module;[
+<!ENTITY % local.editor.attrib "">
+<!ENTITY % editor.role.attrib "%role.attrib;">
+
+<!ENTITY % editor.element "INCLUDE">
+<![%editor.element;[
+<!ELEMENT editor %ho; ((personname|(%person.ident.mix;)+),(personblurb|email|address)*)>
+<!--end of editor.element-->]]>
+
+<!ENTITY % editor.attlist "INCLUDE">
+<![%editor.attlist;[
+<!ATTLIST editor
+		%common.attrib;
+		%editor.role.attrib;
+		%local.editor.attrib;
+>
+<!--end of editor.attlist-->]]>
+  <!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of editor.module-->]]>
+
+<!-- ISBN ............................. -->
+
+<!ENTITY % isbn.module "INCLUDE">
+<![%isbn.module;[
+<!ENTITY % local.isbn.attrib "">
+<!ENTITY % isbn.role.attrib "%role.attrib;">
+
+<!ENTITY % isbn.element "INCLUDE">
+<![%isbn.element;[
+<!ELEMENT isbn %ho; (%docinfo.char.mix;)*>
+<!--end of isbn.element-->]]>
+
+<!ENTITY % isbn.attlist "INCLUDE">
+<![%isbn.attlist;[
+<!ATTLIST isbn
+		%common.attrib;
+		%isbn.role.attrib;
+		%local.isbn.attrib;
+>
+<!--end of isbn.attlist-->]]>
+<!--end of isbn.module-->]]>
+
+<!-- ISSN ............................. -->
+
+<!ENTITY % issn.module "INCLUDE">
+<![%issn.module;[
+<!ENTITY % local.issn.attrib "">
+<!ENTITY % issn.role.attrib "%role.attrib;">
+
+<!ENTITY % issn.element "INCLUDE">
+<![%issn.element;[
+<!ELEMENT issn %ho; (%docinfo.char.mix;)*>
+<!--end of issn.element-->]]>
+
+<!ENTITY % issn.attlist "INCLUDE">
+<![%issn.attlist;[
+<!ATTLIST issn
+		%common.attrib;
+		%issn.role.attrib;
+		%local.issn.attrib;
+>
+<!--end of issn.attlist-->]]>
+<!--end of issn.module-->]]>
+
+<!-- BiblioId ................. -->
+<!ENTITY % biblio.class.attrib
+		"class	(uri
+                         |doi
+                         |isbn
+                         |issn
+                         |libraryofcongress
+                         |pubnumber
+                         |other)	#IMPLIED
+		otherclass	CDATA	#IMPLIED"
+>
+
+<!ENTITY % biblioid.module "INCLUDE">
+<![%biblioid.module;[
+<!ENTITY % local.biblioid.attrib "">
+<!ENTITY % biblioid.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioid.element "INCLUDE">
+<![%biblioid.element;[
+<!ELEMENT biblioid %ho; (%docinfo.char.mix;)*>
+<!--end of biblioid.element-->]]>
+
+<!ENTITY % biblioid.attlist "INCLUDE">
+<![%biblioid.attlist;[
+<!ATTLIST biblioid
+		%biblio.class.attrib;
+		%common.attrib;
+		%biblioid.role.attrib;
+		%local.biblioid.attrib;
+>
+<!--end of biblioid.attlist-->]]>
+<!--end of biblioid.module-->]]>
+
+<!-- CiteBiblioId ................. -->
+
+<!ENTITY % citebiblioid.module "INCLUDE">
+<![%citebiblioid.module;[
+<!ENTITY % local.citebiblioid.attrib "">
+<!ENTITY % citebiblioid.role.attrib "%role.attrib;">
+
+<!ENTITY % citebiblioid.element "INCLUDE">
+<![%citebiblioid.element;[
+<!ELEMENT citebiblioid %ho; (%docinfo.char.mix;)*>
+<!--end of citebiblioid.element-->]]>
+
+<!ENTITY % citebiblioid.attlist "INCLUDE">
+<![%citebiblioid.attlist;[
+<!ATTLIST citebiblioid
+		%biblio.class.attrib;
+		%common.attrib;
+		%citebiblioid.role.attrib;
+		%local.citebiblioid.attrib;
+>
+<!--end of citebiblioid.attlist-->]]>
+<!--end of citebiblioid.module-->]]>
+
+<!-- BiblioSource ................. -->
+
+<!ENTITY % bibliosource.module "INCLUDE">
+<![%bibliosource.module;[
+<!ENTITY % local.bibliosource.attrib "">
+<!ENTITY % bibliosource.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliosource.element "INCLUDE">
+<![%bibliosource.element;[
+<!ELEMENT bibliosource %ho; (%docinfo.char.mix;)*>
+<!--end of bibliosource.element-->]]>
+
+<!ENTITY % bibliosource.attlist "INCLUDE">
+<![%bibliosource.attlist;[
+<!ATTLIST bibliosource
+		%biblio.class.attrib;
+		%common.attrib;
+		%bibliosource.role.attrib;
+		%local.bibliosource.attrib;
+>
+<!--end of bibliosource.attlist-->]]>
+<!--end of bibliosource.module-->]]>
+
+<!-- BiblioRelation ................. -->
+
+<!ENTITY % bibliorelation.module "INCLUDE">
+<![%bibliorelation.module;[
+<!ENTITY % local.bibliorelation.attrib "">
+<!ENTITY % local.bibliorelation.types "">
+
+<!ENTITY % bibliorelation.type.attrib
+                "type    (isversionof
+                         |hasversion
+                         |isreplacedby
+                         |replaces
+                         |isrequiredby
+                         |requires
+                         |ispartof
+                         |haspart
+                         |isreferencedby
+                         |references
+                         |isformatof
+                         |hasformat
+                         |othertype
+                         %local.bibliorelation.types;)       #IMPLIED
+		othertype	CDATA	#IMPLIED
+">
+
+<!ENTITY % bibliorelation.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliorelation.element "INCLUDE">
+<![%bibliorelation.element;[
+<!ELEMENT bibliorelation %ho; (%docinfo.char.mix;)*>
+<!--end of bibliorelation.element-->]]>
+
+<!ENTITY % bibliorelation.attlist "INCLUDE">
+<![%bibliorelation.attlist;[
+<!ATTLIST bibliorelation
+		%biblio.class.attrib;
+		%bibliorelation.type.attrib;
+		%common.attrib;
+		%bibliorelation.role.attrib;
+		%local.bibliorelation.attrib;
+>
+<!--end of bibliorelation.attlist-->]]>
+<!--end of bibliorelation.module-->]]>
+
+<!-- BiblioCoverage ................. -->
+
+<!ENTITY % bibliocoverage.module "INCLUDE">
+<![%bibliocoverage.module;[
+<!ENTITY % local.bibliocoverage.attrib "">
+<!ENTITY % bibliocoverage.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliocoverage.element "INCLUDE">
+<![%bibliocoverage.element;[
+<!ELEMENT bibliocoverage %ho; (%docinfo.char.mix;)*>
+<!--end of bibliocoverage.element-->]]>
+
+<!ENTITY % bibliocoverage.attlist "INCLUDE">
+<![%bibliocoverage.attlist;[
+<!ATTLIST bibliocoverage
+		spatial	(dcmipoint|iso3166|dcmibox|tgn|otherspatial)	#IMPLIED
+		otherspatial	CDATA	#IMPLIED
+		temporal (dcmiperiod|w3c-dtf|othertemporal) #IMPLIED
+		othertemporal	CDATA	#IMPLIED
+		%common.attrib;
+		%bibliocoverage.role.attrib;
+		%local.bibliocoverage.attrib;
+>
+<!--end of bibliocoverage.attlist-->]]>
+<!--end of bibliocoverage.module-->]]>
+
+<!-- InvPartNumber .................... -->
+
+<!ENTITY % invpartnumber.module "INCLUDE">
+<![%invpartnumber.module;[
+<!ENTITY % local.invpartnumber.attrib "">
+<!ENTITY % invpartnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % invpartnumber.element "INCLUDE">
+<![%invpartnumber.element;[
+<!ELEMENT invpartnumber %ho; (%docinfo.char.mix;)*>
+<!--end of invpartnumber.element-->]]>
+
+<!ENTITY % invpartnumber.attlist "INCLUDE">
+<![%invpartnumber.attlist;[
+<!ATTLIST invpartnumber
+		%common.attrib;
+		%invpartnumber.role.attrib;
+		%local.invpartnumber.attrib;
+>
+<!--end of invpartnumber.attlist-->]]>
+<!--end of invpartnumber.module-->]]>
+
+<!-- IssueNum ......................... -->
+
+<!ENTITY % issuenum.module "INCLUDE">
+<![%issuenum.module;[
+<!ENTITY % local.issuenum.attrib "">
+<!ENTITY % issuenum.role.attrib "%role.attrib;">
+
+<!ENTITY % issuenum.element "INCLUDE">
+<![%issuenum.element;[
+<!ELEMENT issuenum %ho; (%docinfo.char.mix;)*>
+<!--end of issuenum.element-->]]>
+
+<!ENTITY % issuenum.attlist "INCLUDE">
+<![%issuenum.attlist;[
+<!ATTLIST issuenum
+		%common.attrib;
+		%issuenum.role.attrib;
+		%local.issuenum.attrib;
+>
+<!--end of issuenum.attlist-->]]>
+<!--end of issuenum.module-->]]>
+
+<!-- LegalNotice ...................... -->
+
+<!ENTITY % legalnotice.module "INCLUDE">
+<![%legalnotice.module;[
+<!ENTITY % local.legalnotice.attrib "">
+<!ENTITY % legalnotice.role.attrib "%role.attrib;">
+
+<!ENTITY % legalnotice.element "INCLUDE">
+<![%legalnotice.element;[
+<!ELEMENT legalnotice %ho; (blockinfo?, title?, (%legalnotice.mix;)+)
+		%formal.exclusion;>
+<!--end of legalnotice.element-->]]>
+
+<!ENTITY % legalnotice.attlist "INCLUDE">
+<![%legalnotice.attlist;[
+<!ATTLIST legalnotice
+		%common.attrib;
+		%legalnotice.role.attrib;
+		%local.legalnotice.attrib;
+>
+<!--end of legalnotice.attlist-->]]>
+<!--end of legalnotice.module-->]]>
+
+<!-- ModeSpec ......................... -->
+
+<!ENTITY % modespec.module "INCLUDE">
+<![%modespec.module;[
+<!ENTITY % local.modespec.attrib "">
+<!ENTITY % modespec.role.attrib "%role.attrib;">
+
+<!ENTITY % modespec.element "INCLUDE">
+<![%modespec.element;[
+<!ELEMENT modespec %ho; (%docinfo.char.mix;)*
+		%ubiq.exclusion;>
+<!--end of modespec.element-->]]>
+
+<!-- Application: Type of action required for completion
+		of the links to which the ModeSpec is relevant (e.g.,
+		retrieval query) -->
+
+
+<!ENTITY % modespec.attlist "INCLUDE">
+<![%modespec.attlist;[
+<!ATTLIST modespec
+		application	NOTATION
+				(%notation.class;)	#IMPLIED
+		%common.attrib;
+		%modespec.role.attrib;
+		%local.modespec.attrib;
+>
+<!--end of modespec.attlist-->]]>
+<!--end of modespec.module-->]]>
+
+<!-- OrgName .......................... -->
+
+<!ENTITY % orgname.module "INCLUDE">
+<![%orgname.module;[
+<!ENTITY % local.orgname.attrib "">
+<!ENTITY % orgname.role.attrib "%role.attrib;">
+
+<!ENTITY % orgname.element "INCLUDE">
+<![%orgname.element;[
+<!ELEMENT orgname %ho; (%docinfo.char.mix;)*>
+<!--end of orgname.element-->]]>
+
+<!ENTITY % orgname.attlist "INCLUDE">
+<![%orgname.attlist;[
+<!ATTLIST orgname
+		%common.attrib;
+		class	(corporation|nonprofit|consortium|informal|other)	#IMPLIED
+		otherclass	CDATA			#IMPLIED
+		%orgname.role.attrib;
+		%local.orgname.attrib;
+>
+<!--end of orgname.attlist-->]]>
+<!--end of orgname.module-->]]>
+
+<!-- OtherCredit ...................... -->
+
+<!ENTITY % othercredit.module "INCLUDE">
+<![%othercredit.module;[
+<!ENTITY % local.othercredit.attrib "">
+<!ENTITY % othercredit.role.attrib "%role.attrib;">
+
+<!ENTITY % othercredit.element "INCLUDE">
+<![%othercredit.element;[
+<!ELEMENT othercredit %ho; ((personname|(%person.ident.mix;)+),
+                            (personblurb|email|address)*)>
+<!--end of othercredit.element-->]]>
+
+<!ENTITY % othercredit.attlist "INCLUDE">
+<![%othercredit.attlist;[
+<!ATTLIST othercredit
+		%common.attrib;
+		%othercredit.role.attrib;
+		%local.othercredit.attrib;
+>
+<!--end of othercredit.attlist-->]]>
+  <!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of othercredit.module-->]]>
+
+<!-- PageNums ......................... -->
+
+<!ENTITY % pagenums.module "INCLUDE">
+<![%pagenums.module;[
+<!ENTITY % local.pagenums.attrib "">
+<!ENTITY % pagenums.role.attrib "%role.attrib;">
+
+<!ENTITY % pagenums.element "INCLUDE">
+<![%pagenums.element;[
+<!ELEMENT pagenums %ho; (%docinfo.char.mix;)*>
+<!--end of pagenums.element-->]]>
+
+<!ENTITY % pagenums.attlist "INCLUDE">
+<![%pagenums.attlist;[
+<!ATTLIST pagenums
+		%common.attrib;
+		%pagenums.role.attrib;
+		%local.pagenums.attrib;
+>
+<!--end of pagenums.attlist-->]]>
+<!--end of pagenums.module-->]]>
+
+<!-- Personal identity elements ....... -->
+
+<!-- These elements are used only within Author, Editor, and
+OtherCredit. -->
+
+<!ENTITY % person.ident.module "INCLUDE">
+<![%person.ident.module;[
+  <!ENTITY % contrib.module "INCLUDE">
+  <![%contrib.module;[
+  <!ENTITY % local.contrib.attrib "">
+  <!ENTITY % contrib.role.attrib "%role.attrib;">
+
+<!ENTITY % contrib.element "INCLUDE">
+<![%contrib.element;[
+<!ELEMENT contrib %ho; (%docinfo.char.mix;)*>
+<!--end of contrib.element-->]]>
+
+<!ENTITY % contrib.attlist "INCLUDE">
+<![%contrib.attlist;[
+<!ATTLIST contrib
+		%common.attrib;
+		%contrib.role.attrib;
+		%local.contrib.attrib;
+>
+<!--end of contrib.attlist-->]]>
+  <!--end of contrib.module-->]]>
+
+  <!ENTITY % firstname.module "INCLUDE">
+  <![%firstname.module;[
+  <!ENTITY % local.firstname.attrib "">
+  <!ENTITY % firstname.role.attrib "%role.attrib;">
+
+<!ENTITY % firstname.element "INCLUDE">
+<![%firstname.element;[
+<!ELEMENT firstname %ho; (%docinfo.char.mix;)*>
+<!--end of firstname.element-->]]>
+
+<!ENTITY % firstname.attlist "INCLUDE">
+<![%firstname.attlist;[
+<!ATTLIST firstname
+		%common.attrib;
+		%firstname.role.attrib;
+		%local.firstname.attrib;
+>
+<!--end of firstname.attlist-->]]>
+  <!--end of firstname.module-->]]>
+
+  <!ENTITY % honorific.module "INCLUDE">
+  <![%honorific.module;[
+  <!ENTITY % local.honorific.attrib "">
+  <!ENTITY % honorific.role.attrib "%role.attrib;">
+
+<!ENTITY % honorific.element "INCLUDE">
+<![%honorific.element;[
+<!ELEMENT honorific %ho; (%docinfo.char.mix;)*>
+<!--end of honorific.element-->]]>
+
+<!ENTITY % honorific.attlist "INCLUDE">
+<![%honorific.attlist;[
+<!ATTLIST honorific
+		%common.attrib;
+		%honorific.role.attrib;
+		%local.honorific.attrib;
+>
+<!--end of honorific.attlist-->]]>
+  <!--end of honorific.module-->]]>
+
+  <!ENTITY % lineage.module "INCLUDE">
+  <![%lineage.module;[
+  <!ENTITY % local.lineage.attrib "">
+  <!ENTITY % lineage.role.attrib "%role.attrib;">
+
+<!ENTITY % lineage.element "INCLUDE">
+<![%lineage.element;[
+<!ELEMENT lineage %ho; (%docinfo.char.mix;)*>
+<!--end of lineage.element-->]]>
+
+<!ENTITY % lineage.attlist "INCLUDE">
+<![%lineage.attlist;[
+<!ATTLIST lineage
+		%common.attrib;
+		%lineage.role.attrib;
+		%local.lineage.attrib;
+>
+<!--end of lineage.attlist-->]]>
+  <!--end of lineage.module-->]]>
+
+  <!ENTITY % othername.module "INCLUDE">
+  <![%othername.module;[
+  <!ENTITY % local.othername.attrib "">
+  <!ENTITY % othername.role.attrib "%role.attrib;">
+
+<!ENTITY % othername.element "INCLUDE">
+<![%othername.element;[
+<!ELEMENT othername %ho; (%docinfo.char.mix;)*>
+<!--end of othername.element-->]]>
+
+<!ENTITY % othername.attlist "INCLUDE">
+<![%othername.attlist;[
+<!ATTLIST othername
+		%common.attrib;
+		%othername.role.attrib;
+		%local.othername.attrib;
+>
+<!--end of othername.attlist-->]]>
+  <!--end of othername.module-->]]>
+
+  <!ENTITY % surname.module "INCLUDE">
+  <![%surname.module;[
+  <!ENTITY % local.surname.attrib "">
+  <!ENTITY % surname.role.attrib "%role.attrib;">
+
+<!ENTITY % surname.element "INCLUDE">
+<![%surname.element;[
+<!ELEMENT surname %ho; (%docinfo.char.mix;)*>
+<!--end of surname.element-->]]>
+
+<!ENTITY % surname.attlist "INCLUDE">
+<![%surname.attlist;[
+<!ATTLIST surname
+		%common.attrib;
+		%surname.role.attrib;
+		%local.surname.attrib;
+>
+<!--end of surname.attlist-->]]>
+  <!--end of surname.module-->]]>
+<!--end of person.ident.module-->]]>
+
+<!-- PrintHistory ..................... -->
+
+<!ENTITY % printhistory.module "INCLUDE">
+<![%printhistory.module;[
+<!ENTITY % local.printhistory.attrib "">
+<!ENTITY % printhistory.role.attrib "%role.attrib;">
+
+<!ENTITY % printhistory.element "INCLUDE">
+<![%printhistory.element;[
+<!ELEMENT printhistory %ho; ((%para.class;)+)>
+<!--end of printhistory.element-->]]>
+
+<!ENTITY % printhistory.attlist "INCLUDE">
+<![%printhistory.attlist;[
+<!ATTLIST printhistory
+		%common.attrib;
+		%printhistory.role.attrib;
+		%local.printhistory.attrib;
+>
+<!--end of printhistory.attlist-->]]>
+<!--end of printhistory.module-->]]>
+
+<!-- ProductName ...................... -->
+
+<!ENTITY % productname.module "INCLUDE">
+<![%productname.module;[
+<!ENTITY % local.productname.attrib "">
+<!ENTITY % productname.role.attrib "%role.attrib;">
+
+<!ENTITY % productname.element "INCLUDE">
+<![%productname.element;[
+<!ELEMENT productname %ho; (%para.char.mix;)*>
+<!--end of productname.element-->]]>
+
+<!-- Class: More precisely identifies the item the element names -->
+
+
+<!ENTITY % productname.attlist "INCLUDE">
+<![%productname.attlist;[
+<!ATTLIST productname
+		class		(service
+				|trade
+				|registered
+				|copyright)	'trade'
+		%common.attrib;
+		%productname.role.attrib;
+		%local.productname.attrib;
+>
+<!--end of productname.attlist-->]]>
+<!--end of productname.module-->]]>
+
+<!-- ProductNumber .................... -->
+
+<!ENTITY % productnumber.module "INCLUDE">
+<![%productnumber.module;[
+<!ENTITY % local.productnumber.attrib "">
+<!ENTITY % productnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % productnumber.element "INCLUDE">
+<![%productnumber.element;[
+<!ELEMENT productnumber %ho; (%docinfo.char.mix;)*>
+<!--end of productnumber.element-->]]>
+
+<!ENTITY % productnumber.attlist "INCLUDE">
+<![%productnumber.attlist;[
+<!ATTLIST productnumber
+		%common.attrib;
+		%productnumber.role.attrib;
+		%local.productnumber.attrib;
+>
+<!--end of productnumber.attlist-->]]>
+<!--end of productnumber.module-->]]>
+
+<!-- PubDate .......................... -->
+
+<!ENTITY % pubdate.module "INCLUDE">
+<![%pubdate.module;[
+<!ENTITY % local.pubdate.attrib "">
+<!ENTITY % pubdate.role.attrib "%role.attrib;">
+
+<!ENTITY % pubdate.element "INCLUDE">
+<![%pubdate.element;[
+<!ELEMENT pubdate %ho; (%docinfo.char.mix;)*>
+<!--end of pubdate.element-->]]>
+
+<!ENTITY % pubdate.attlist "INCLUDE">
+<![%pubdate.attlist;[
+<!ATTLIST pubdate
+		%common.attrib;
+		%pubdate.role.attrib;
+		%local.pubdate.attrib;
+>
+<!--end of pubdate.attlist-->]]>
+<!--end of pubdate.module-->]]>
+
+<!-- Publisher ........................ -->
+
+<!ENTITY % publisher.content.module "INCLUDE">
+<![%publisher.content.module;[
+<!ENTITY % publisher.module "INCLUDE">
+<![%publisher.module;[
+<!ENTITY % local.publisher.attrib "">
+<!ENTITY % publisher.role.attrib "%role.attrib;">
+
+<!ENTITY % publisher.element "INCLUDE">
+<![%publisher.element;[
+<!ELEMENT publisher %ho; (publishername, address*)>
+<!--end of publisher.element-->]]>
+
+<!ENTITY % publisher.attlist "INCLUDE">
+<![%publisher.attlist;[
+<!ATTLIST publisher
+		%common.attrib;
+		%publisher.role.attrib;
+		%local.publisher.attrib;
+>
+<!--end of publisher.attlist-->]]>
+<!--end of publisher.module-->]]>
+
+  <!ENTITY % publishername.module "INCLUDE">
+  <![%publishername.module;[
+  <!ENTITY % local.publishername.attrib "">
+  <!ENTITY % publishername.role.attrib "%role.attrib;">
+
+<!ENTITY % publishername.element "INCLUDE">
+<![%publishername.element;[
+<!ELEMENT publishername %ho; (%docinfo.char.mix;)*>
+<!--end of publishername.element-->]]>
+
+<!ENTITY % publishername.attlist "INCLUDE">
+<![%publishername.attlist;[
+<!ATTLIST publishername
+		%common.attrib;
+		%publishername.role.attrib;
+		%local.publishername.attrib;
+>
+<!--end of publishername.attlist-->]]>
+  <!--end of publishername.module-->]]>
+
+  <!-- Address (defined elsewhere in this section)-->
+<!--end of publisher.content.module-->]]>
+
+<!-- PubsNumber ....................... -->
+
+<!ENTITY % pubsnumber.module "INCLUDE">
+<![%pubsnumber.module;[
+<!ENTITY % local.pubsnumber.attrib "">
+<!ENTITY % pubsnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % pubsnumber.element "INCLUDE">
+<![%pubsnumber.element;[
+<!ELEMENT pubsnumber %ho; (%docinfo.char.mix;)*>
+<!--end of pubsnumber.element-->]]>
+
+<!ENTITY % pubsnumber.attlist "INCLUDE">
+<![%pubsnumber.attlist;[
+<!ATTLIST pubsnumber
+		%common.attrib;
+		%pubsnumber.role.attrib;
+		%local.pubsnumber.attrib;
+>
+<!--end of pubsnumber.attlist-->]]>
+<!--end of pubsnumber.module-->]]>
+
+<!-- ReleaseInfo ...................... -->
+
+<!ENTITY % releaseinfo.module "INCLUDE">
+<![%releaseinfo.module;[
+<!ENTITY % local.releaseinfo.attrib "">
+<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % releaseinfo.element "INCLUDE">
+<![%releaseinfo.element;[
+<!ELEMENT releaseinfo %ho; (%docinfo.char.mix;)*>
+<!--end of releaseinfo.element-->]]>
+
+<!ENTITY % releaseinfo.attlist "INCLUDE">
+<![%releaseinfo.attlist;[
+<!ATTLIST releaseinfo
+		%common.attrib;
+		%releaseinfo.role.attrib;
+		%local.releaseinfo.attrib;
+>
+<!--end of releaseinfo.attlist-->]]>
+<!--end of releaseinfo.module-->]]>
+
+<!-- RevHistory ....................... -->
+
+<!ENTITY % revhistory.content.module "INCLUDE">
+<![%revhistory.content.module;[
+<!ENTITY % revhistory.module "INCLUDE">
+<![%revhistory.module;[
+<!ENTITY % local.revhistory.attrib "">
+<!ENTITY % revhistory.role.attrib "%role.attrib;">
+
+<!ENTITY % revhistory.element "INCLUDE">
+<![%revhistory.element;[
+<!ELEMENT revhistory %ho; (revision+)>
+<!--end of revhistory.element-->]]>
+
+<!ENTITY % revhistory.attlist "INCLUDE">
+<![%revhistory.attlist;[
+<!ATTLIST revhistory
+		%common.attrib;
+		%revhistory.role.attrib;
+		%local.revhistory.attrib;
+>
+<!--end of revhistory.attlist-->]]>
+<!--end of revhistory.module-->]]>
+
+<!ENTITY % revision.module "INCLUDE">
+<![%revision.module;[
+<!ENTITY % local.revision.attrib "">
+<!ENTITY % revision.role.attrib "%role.attrib;">
+
+<!ENTITY % revision.element "INCLUDE">
+<![%revision.element;[
+<!ELEMENT revision %ho; (revnumber, date, authorinitials*,
+                    (revremark|revdescription)?)>
+<!--end of revision.element-->]]>
+
+<!ENTITY % revision.attlist "INCLUDE">
+<![%revision.attlist;[
+<!ATTLIST revision
+		%common.attrib;
+		%revision.role.attrib;
+		%local.revision.attrib;
+>
+<!--end of revision.attlist-->]]>
+<!--end of revision.module-->]]>
+
+<!ENTITY % revnumber.module "INCLUDE">
+<![%revnumber.module;[
+<!ENTITY % local.revnumber.attrib "">
+<!ENTITY % revnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % revnumber.element "INCLUDE">
+<![%revnumber.element;[
+<!ELEMENT revnumber %ho; (%docinfo.char.mix;)*>
+<!--end of revnumber.element-->]]>
+
+<!ENTITY % revnumber.attlist "INCLUDE">
+<![%revnumber.attlist;[
+<!ATTLIST revnumber
+		%common.attrib;
+		%revnumber.role.attrib;
+		%local.revnumber.attrib;
+>
+<!--end of revnumber.attlist-->]]>
+<!--end of revnumber.module-->]]>
+
+<!-- Date (defined elsewhere in this section)-->
+<!-- AuthorInitials (defined elsewhere in this section)-->
+
+<!ENTITY % revremark.module "INCLUDE">
+<![%revremark.module;[
+<!ENTITY % local.revremark.attrib "">
+<!ENTITY % revremark.role.attrib "%role.attrib;">
+
+<!ENTITY % revremark.element "INCLUDE">
+<![%revremark.element;[
+<!ELEMENT revremark %ho; (%docinfo.char.mix;)*>
+<!--end of revremark.element-->]]>
+
+<!ENTITY % revremark.attlist "INCLUDE">
+<![%revremark.attlist;[
+<!ATTLIST revremark
+		%common.attrib;
+		%revremark.role.attrib;
+		%local.revremark.attrib;
+>
+<!--end of revremark.attlist-->]]>
+<!--end of revremark.module-->]]>
+
+<!ENTITY % revdescription.module "INCLUDE">
+<![ %revdescription.module; [
+<!ENTITY % local.revdescription.attrib "">
+<!ENTITY % revdescription.role.attrib "%role.attrib;">
+
+<!ENTITY % revdescription.element "INCLUDE">
+<![ %revdescription.element; [
+<!ELEMENT revdescription %ho; ((%revdescription.mix;)+)>
+<!--end of revdescription.element-->]]>
+
+<!ENTITY % revdescription.attlist "INCLUDE">
+<![ %revdescription.attlist; [
+<!ATTLIST revdescription
+		%common.attrib;
+		%revdescription.role.attrib;
+		%local.revdescription.attrib;
+>
+<!--end of revdescription.attlist-->]]>
+<!--end of revdescription.module-->]]>
+<!--end of revhistory.content.module-->]]>
+
+<!-- SeriesVolNums .................... -->
+
+<!ENTITY % seriesvolnums.module "INCLUDE">
+<![%seriesvolnums.module;[
+<!ENTITY % local.seriesvolnums.attrib "">
+<!ENTITY % seriesvolnums.role.attrib "%role.attrib;">
+
+<!ENTITY % seriesvolnums.element "INCLUDE">
+<![%seriesvolnums.element;[
+<!ELEMENT seriesvolnums %ho; (%docinfo.char.mix;)*>
+<!--end of seriesvolnums.element-->]]>
+
+<!ENTITY % seriesvolnums.attlist "INCLUDE">
+<![%seriesvolnums.attlist;[
+<!ATTLIST seriesvolnums
+		%common.attrib;
+		%seriesvolnums.role.attrib;
+		%local.seriesvolnums.attrib;
+>
+<!--end of seriesvolnums.attlist-->]]>
+<!--end of seriesvolnums.module-->]]>
+
+<!-- VolumeNum ........................ -->
+
+<!ENTITY % volumenum.module "INCLUDE">
+<![%volumenum.module;[
+<!ENTITY % local.volumenum.attrib "">
+<!ENTITY % volumenum.role.attrib "%role.attrib;">
+
+<!ENTITY % volumenum.element "INCLUDE">
+<![%volumenum.element;[
+<!ELEMENT volumenum %ho; (%docinfo.char.mix;)*>
+<!--end of volumenum.element-->]]>
+
+<!ENTITY % volumenum.attlist "INCLUDE">
+<![%volumenum.attlist;[
+<!ATTLIST volumenum
+		%common.attrib;
+		%volumenum.role.attrib;
+		%local.volumenum.attrib;
+>
+<!--end of volumenum.attlist-->]]>
+<!--end of volumenum.module-->]]>
+
+<!-- .................................. -->
+
+<!--end of docinfo.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Inline, link, and ubiquitous elements ................................ -->
+
+<!-- Technical and computer terms ......................................... -->
+
+<!ENTITY % accel.module "INCLUDE">
+<![%accel.module;[
+<!ENTITY % local.accel.attrib "">
+<!ENTITY % accel.role.attrib "%role.attrib;">
+
+<!ENTITY % accel.element "INCLUDE">
+<![%accel.element;[
+<!ELEMENT accel %ho; (%smallcptr.char.mix;)*>
+<!--end of accel.element-->]]>
+
+<!ENTITY % accel.attlist "INCLUDE">
+<![%accel.attlist;[
+<!ATTLIST accel
+		%common.attrib;
+		%accel.role.attrib;
+		%local.accel.attrib;
+>
+<!--end of accel.attlist-->]]>
+<!--end of accel.module-->]]>
+
+<!ENTITY % action.module "INCLUDE">
+<![%action.module;[
+<!ENTITY % local.action.attrib "">
+<!ENTITY % action.role.attrib "%role.attrib;">
+
+<!ENTITY % action.element "INCLUDE">
+<![%action.element;[
+<!ELEMENT action %ho; (%cptr.char.mix;)*>
+<!--end of action.element-->]]>
+
+<!ENTITY % action.attlist "INCLUDE">
+<![%action.attlist;[
+<!ATTLIST action
+		%moreinfo.attrib;
+		%common.attrib;
+		%action.role.attrib;
+		%local.action.attrib;
+>
+<!--end of action.attlist-->]]>
+<!--end of action.module-->]]>
+
+<!ENTITY % application.module "INCLUDE">
+<![%application.module;[
+<!ENTITY % local.application.attrib "">
+<!ENTITY % application.role.attrib "%role.attrib;">
+
+<!ENTITY % application.element "INCLUDE">
+<![%application.element;[
+<!ELEMENT application %ho; (%para.char.mix;)*>
+<!--end of application.element-->]]>
+
+<!ENTITY % application.attlist "INCLUDE">
+<![%application.attlist;[
+<!ATTLIST application
+		class 		(hardware
+				|software)	#IMPLIED
+		%moreinfo.attrib;
+		%common.attrib;
+		%application.role.attrib;
+		%local.application.attrib;
+>
+<!--end of application.attlist-->]]>
+<!--end of application.module-->]]>
+
+<!ENTITY % classname.module "INCLUDE">
+<![%classname.module;[
+<!ENTITY % local.classname.attrib "">
+<!ENTITY % classname.role.attrib "%role.attrib;">
+
+<!ENTITY % classname.element "INCLUDE">
+<![%classname.element;[
+<!ELEMENT classname %ho; (%smallcptr.char.mix;)*>
+<!--end of classname.element-->]]>
+
+<!ENTITY % classname.attlist "INCLUDE">
+<![%classname.attlist;[
+<!ATTLIST classname
+		%common.attrib;
+		%classname.role.attrib;
+		%local.classname.attrib;
+>
+<!--end of classname.attlist-->]]>
+<!--end of classname.module-->]]>
+
+<!ENTITY % co.module "INCLUDE">
+<![%co.module;[
+<!ENTITY % local.co.attrib "">
+<!-- CO is a callout area of the LineColumn unit type (a single character
+     position); the position is directly indicated by the location of CO. -->
+<!ENTITY % co.role.attrib "%role.attrib;">
+
+<!ENTITY % co.element "INCLUDE">
+<![%co.element;[
+<!ELEMENT co %ho; EMPTY>
+<!--end of co.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+
+
+<!ENTITY % co.attlist "INCLUDE">
+<![%co.attlist;[
+<!ATTLIST co
+		%label.attrib;
+		%linkends.attrib;
+		%idreq.common.attrib;
+		%co.role.attrib;
+		%local.co.attrib;
+>
+<!--end of co.attlist-->]]>
+<!--end of co.module-->]]>
+
+<!ENTITY % coref.module "INCLUDE">
+<![%coref.module;[
+<!ENTITY % local.coref.attrib "">
+<!-- COREF is a reference to a CO -->
+<!ENTITY % coref.role.attrib "%role.attrib;">
+
+<!ENTITY % coref.element "INCLUDE">
+<![%coref.element;[
+<!ELEMENT coref %ho; EMPTY>
+<!--end of coref.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+
+<!ENTITY % coref.attlist "INCLUDE">
+<![%coref.attlist;[
+<!ATTLIST coref
+		%label.attrib;
+		%linkendreq.attrib;
+		%common.attrib;
+		%coref.role.attrib;
+		%local.coref.attrib;
+>
+<!--end of coref.attlist-->]]>
+<!--end of coref.module-->]]>
+
+<!ENTITY % command.module "INCLUDE">
+<![%command.module;[
+<!ENTITY % local.command.attrib "">
+<!ENTITY % command.role.attrib "%role.attrib;">
+
+<!ENTITY % command.element "INCLUDE">
+<![%command.element;[
+<!ELEMENT command %ho; (%cptr.char.mix;)*>
+<!--end of command.element-->]]>
+
+<!ENTITY % command.attlist "INCLUDE">
+<![%command.attlist;[
+<!ATTLIST command
+		%moreinfo.attrib;
+		%common.attrib;
+		%command.role.attrib;
+		%local.command.attrib;
+>
+<!--end of command.attlist-->]]>
+<!--end of command.module-->]]>
+
+<!ENTITY % computeroutput.module "INCLUDE">
+<![%computeroutput.module;[
+<!ENTITY % local.computeroutput.attrib "">
+<!ENTITY % computeroutput.role.attrib "%role.attrib;">
+
+<!ENTITY % computeroutput.element "INCLUDE">
+<![%computeroutput.element;[
+<!ELEMENT computeroutput %ho; (%cptr.char.mix;|co)*>
+<!--end of computeroutput.element-->]]>
+
+<!ENTITY % computeroutput.attlist "INCLUDE">
+<![%computeroutput.attlist;[
+<!ATTLIST computeroutput
+		%moreinfo.attrib;
+		%common.attrib;
+		%computeroutput.role.attrib;
+		%local.computeroutput.attrib;
+>
+<!--end of computeroutput.attlist-->]]>
+<!--end of computeroutput.module-->]]>
+
+<!ENTITY % database.module "INCLUDE">
+<![%database.module;[
+<!ENTITY % local.database.attrib "">
+<!ENTITY % database.role.attrib "%role.attrib;">
+
+<!ENTITY % database.element "INCLUDE">
+<![%database.element;[
+<!ELEMENT database %ho; (%cptr.char.mix;)*>
+<!--end of database.element-->]]>
+
+<!-- Class: Type of database the element names; no default -->
+
+
+<!ENTITY % database.attlist "INCLUDE">
+<![%database.attlist;[
+<!ATTLIST database
+		class 		(name
+				|table
+				|field
+				|key1
+				|key2
+				|record)	#IMPLIED
+		%moreinfo.attrib;
+		%common.attrib;
+		%database.role.attrib;
+		%local.database.attrib;
+>
+<!--end of database.attlist-->]]>
+<!--end of database.module-->]]>
+
+<!ENTITY % email.module "INCLUDE">
+<![%email.module;[
+<!ENTITY % local.email.attrib "">
+<!ENTITY % email.role.attrib "%role.attrib;">
+
+<!ENTITY % email.element "INCLUDE">
+<![%email.element;[
+<!ELEMENT email %ho; (%docinfo.char.mix;)*>
+<!--end of email.element-->]]>
+
+<!ENTITY % email.attlist "INCLUDE">
+<![%email.attlist;[
+<!ATTLIST email
+		%common.attrib;
+		%email.role.attrib;
+		%local.email.attrib;
+>
+<!--end of email.attlist-->]]>
+<!--end of email.module-->]]>
+
+<!ENTITY % envar.module "INCLUDE">
+<![%envar.module;[
+<!ENTITY % local.envar.attrib "">
+<!ENTITY % envar.role.attrib "%role.attrib;">
+
+<!ENTITY % envar.element "INCLUDE">
+<![%envar.element;[
+<!ELEMENT envar %ho; (%smallcptr.char.mix;)*>
+<!--end of envar.element-->]]>
+
+<!ENTITY % envar.attlist "INCLUDE">
+<![%envar.attlist;[
+<!ATTLIST envar
+		%common.attrib;
+		%envar.role.attrib;
+		%local.envar.attrib;
+>
+<!--end of envar.attlist-->]]>
+<!--end of envar.module-->]]>
+
+
+<!ENTITY % errorcode.module "INCLUDE">
+<![%errorcode.module;[
+<!ENTITY % local.errorcode.attrib "">
+<!ENTITY % errorcode.role.attrib "%role.attrib;">
+
+<!ENTITY % errorcode.element "INCLUDE">
+<![%errorcode.element;[
+<!ELEMENT errorcode %ho; (%smallcptr.char.mix;)*>
+<!--end of errorcode.element-->]]>
+
+<!ENTITY % errorcode.attlist "INCLUDE">
+<![%errorcode.attlist;[
+<!ATTLIST errorcode
+		%moreinfo.attrib;
+		%common.attrib;
+		%errorcode.role.attrib;
+		%local.errorcode.attrib;
+>
+<!--end of errorcode.attlist-->]]>
+<!--end of errorcode.module-->]]>
+
+<!ENTITY % errorname.module "INCLUDE">
+<![%errorname.module;[
+<!ENTITY % local.errorname.attrib "">
+<!ENTITY % errorname.role.attrib "%role.attrib;">
+
+<!ENTITY % errorname.element "INCLUDE">
+<![%errorname.element;[
+<!ELEMENT errorname %ho; (%smallcptr.char.mix;)*>
+<!--end of errorname.element-->]]>
+
+<!ENTITY % errorname.attlist "INCLUDE">
+<![%errorname.attlist;[
+<!ATTLIST errorname
+		%common.attrib;
+		%errorname.role.attrib;
+		%local.errorname.attrib;
+>
+<!--end of errorname.attlist-->]]>
+<!--end of errorname.module-->]]>
+
+<!ENTITY % errortext.module "INCLUDE">
+<![%errortext.module;[
+<!ENTITY % local.errortext.attrib "">
+<!ENTITY % errortext.role.attrib "%role.attrib;">
+
+<!ENTITY % errortext.element "INCLUDE">
+<![%errortext.element;[
+<!ELEMENT errortext %ho; (%smallcptr.char.mix;)*>
+<!--end of errortext.element-->]]>
+
+<!ENTITY % errortext.attlist "INCLUDE">
+<![%errortext.attlist;[
+<!ATTLIST errortext
+		%common.attrib;
+		%errortext.role.attrib;
+		%local.errortext.attrib;
+>
+<!--end of errortext.attlist-->]]>
+<!--end of errortext.module-->]]>
+
+<!ENTITY % errortype.module "INCLUDE">
+<![%errortype.module;[
+<!ENTITY % local.errortype.attrib "">
+<!ENTITY % errortype.role.attrib "%role.attrib;">
+
+<!ENTITY % errortype.element "INCLUDE">
+<![%errortype.element;[
+<!ELEMENT errortype %ho; (%smallcptr.char.mix;)*>
+<!--end of errortype