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

9 Sep 2004 17:39:25 -0000

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;
+
[EMAIL PROTECTED]
+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
+
[EMAIL PROTECTED]
+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;
+
[EMAIL PROTECTED]
+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;
+
[EMAIL PROTECTED]
+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>
[EMAIL PROTECTED] 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;
+
[EMAIL PROTECTED]
[EMAIL PROTECTED](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;
+
[EMAIL PROTECTED]
[EMAIL PROTECTED](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;
+
[EMAIL PROTECTED]
+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>
[EMAIL PROTECTED] 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.
+  */ 
[EMAIL PROTECTED]
+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.
+ */ 
[EMAIL PROTECTED]
+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:[email protected]";> Beehive Users List</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:[EMAIL PROTECTED]"> 
Subscribe</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:[EMAIL PROTECTED]"> 
Unsubscribe</a></td>
+          <td colspan="1" rowspan="1"><a target="_blank" 
href="http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]"> Archives</a></td>
+        
+</tr>
+        
+<tr>
+          
+<td colspan="1" rowspan="1"><a href="mailto:[email protected]";> 
Beehive Developer List</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:[EMAIL PROTECTED]"> 
Subscribe</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:[EMAIL PROTECTED]"> 
Unsubscribe</a></td>
+          <td colspan="1" rowspan="1"><a target="_blank" 
href="http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]"> Archives</a></td>
+        
+</tr>
+        
+<tr>
+          
+<td colspan="1" rowspan="1"><a 
href="mailto:[email protected]";> Beehive SVN/Wiki Change 
List</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:[EMAIL PROTECTED]"> 
Subscribe</a></td>
+          <td colspan="1" rowspan="1"><a href="mailto:[EMAIL PROTECTED]"> 
Unsubscribe</a></td>
+          <td colspan="1" rowspan="1"><a target="_blank" 
href="http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]"> Archives</a></td>
+        
+</tr>
+       
+<tr>
+          
+<td colspan="1" rowspan="1"><a href="mailto:[EMAIL PROTECTED]"> 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
+    [EMAIL PROTECTED]
+
+ 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>
+ *
+ [EMAIL PROTECTED]     <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> (main 
author)
+ [EMAIL PROTECTED]     <a href="mailto:[EMAIL PROTECTED]">Nicola Ken 
Barozzi</a> (integration in skin)
+ [EMAIL PROTECTED]    July 12, 2002
+ [EMAIL PROTECTED]    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; }
+
+
[EMAIL PROTECTED] 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;
+
[EMAIL PROTECTED]
+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
+
[EMAIL PROTECTED]
+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;
+
[EMAIL PROTECTED]
+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;
+
[EMAIL PROTECTED]
+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>
[EMAIL PROTECTED] 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;
+
[EMAIL PROTECTED]
[EMAIL PROTECTED](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;
+
[EMAIL PROTECTED]
[EMAIL PROTECTED](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;
+
[EMAIL PROTECTED]
+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>
[EMAIL PROTECTED] 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.
+  */ 
[EMAIL PROTECTED]
+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.
+ */ 
[EMAIL PROTECTED]
+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:[email protected]";> Beehive 
Users List</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Subscribe</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/[EMAIL 
PROTECTED]"> Archives</fork></td>
+        </tr>
+        <tr>
+          <td><link href="mailto:[email protected]";> Beehive 
Developer List</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Subscribe</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/[EMAIL 
PROTECTED]"> Archives</fork></td>
+        </tr>
+        <tr>
+          <td><link href="mailto:[email protected]";> 
Beehive SVN/Wiki Change List</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Subscribe</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/[EMAIL 
PROTECTED]"> Archives</fork></td>
+        </tr>
+       <tr>
+          <td><link href="mailto:[EMAIL PROTECTED]"> 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="//[EMAIL PROTECTED]'{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 [email protected] 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 [email protected] 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * dbpoolx.mod: Add accidentally missing local.info.class to info.class
+
+2002-03-19  Norman Walsh <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * dbcentx.mod: Added marked sections around character set entity 
references
+
+2001-11-20  Norman Walsh <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * dbhierx.mod, dbpoolx.mod: Implemented RFE #456460
+
+2001-11-18  Norman Walsh <[EMAIL PROTECTED]>
+
+       * dbpoolx.mod: RFE #482817: Add errortext element
+
+2001-11-17  Norman Walsh <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
+
+       * dbpoolx.mod: branches:  1.5.2;
+       RFE #140: Allow multiple MsgExplan inside SimpleMsgEntry
+
+2000-11-12  <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
+
+       * 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: [email protected]

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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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.element-->]]>
+
+<!ENTITY % errortype.attlist "INCLUDE">
+<![%errortype.attlist;[
+<!ATTLIST errortype
+               %common.attrib;
+               %errortype.role.attrib;
+               %local.errortype.attrib;
+>
+<!--end of errortype.attlist-->]]>
+<!--end of errortype.module-->]]>
+
+<!ENTITY % filename.module "INCLUDE">
+<![%filename.module;[
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+
+<!ENTITY % filename.element "INCLUDE">
+<![%filename.element;[
+<!ELEMENT filename %ho; (%cptr.char.mix;)*>
+<!--end of filename.element-->]]>
+
+<!-- Class: Type of filename the element names; no default -->
+<!-- Path: Search path (possibly system-specific) in which
+               file can be found -->
+
+
+<!ENTITY % filename.attlist "INCLUDE">
+<![%filename.attlist;[
+<!ATTLIST filename
+               class           (headerfile
+                                |partition
+                                |devicefile
+                                |libraryfile
+                                |directory
+                                |extension
+                               |symlink)       #IMPLIED
+               path            CDATA           #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %filename.role.attrib;
+               %local.filename.attrib;
+>
+<!--end of filename.attlist-->]]>
+<!--end of filename.module-->]]>
+
+<!ENTITY % function.module "INCLUDE">
+<![%function.module;[
+<!ENTITY % local.function.attrib "">
+<!ENTITY % function.role.attrib "%role.attrib;">
+
+<!ENTITY % function.element "INCLUDE">
+<![%function.element;[
+<!ELEMENT function %ho; (%cptr.char.mix;)*>
+<!--end of function.element-->]]>
+
+<!ENTITY % function.attlist "INCLUDE">
+<![%function.attlist;[
+<!ATTLIST function
+               %moreinfo.attrib;
+               %common.attrib;
+               %function.role.attrib;
+               %local.function.attrib;
+>
+<!--end of function.attlist-->]]>
+<!--end of function.module-->]]>
+
+<!ENTITY % guibutton.module "INCLUDE">
+<![%guibutton.module;[
+<!ENTITY % local.guibutton.attrib "">
+<!ENTITY % guibutton.role.attrib "%role.attrib;">
+
+<!ENTITY % guibutton.element "INCLUDE">
+<![%guibutton.element;[
+<!ELEMENT guibutton %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guibutton.element-->]]>
+
+<!ENTITY % guibutton.attlist "INCLUDE">
+<![%guibutton.attlist;[
+<!ATTLIST guibutton
+               %moreinfo.attrib;
+               %common.attrib;
+               %guibutton.role.attrib;
+               %local.guibutton.attrib;
+>
+<!--end of guibutton.attlist-->]]>
+<!--end of guibutton.module-->]]>
+
+<!ENTITY % guiicon.module "INCLUDE">
+<![%guiicon.module;[
+<!ENTITY % local.guiicon.attrib "">
+<!ENTITY % guiicon.role.attrib "%role.attrib;">
+
+<!ENTITY % guiicon.element "INCLUDE">
+<![%guiicon.element;[
+<!ELEMENT guiicon %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guiicon.element-->]]>
+
+<!ENTITY % guiicon.attlist "INCLUDE">
+<![%guiicon.attlist;[
+<!ATTLIST guiicon
+               %moreinfo.attrib;
+               %common.attrib;
+               %guiicon.role.attrib;
+               %local.guiicon.attrib;
+>
+<!--end of guiicon.attlist-->]]>
+<!--end of guiicon.module-->]]>
+
+<!ENTITY % guilabel.module "INCLUDE">
+<![%guilabel.module;[
+<!ENTITY % local.guilabel.attrib "">
+<!ENTITY % guilabel.role.attrib "%role.attrib;">
+
+<!ENTITY % guilabel.element "INCLUDE">
+<![%guilabel.element;[
+<!ELEMENT guilabel %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guilabel.element-->]]>
+
+<!ENTITY % guilabel.attlist "INCLUDE">
+<![%guilabel.attlist;[
+<!ATTLIST guilabel
+               %moreinfo.attrib;
+               %common.attrib;
+               %guilabel.role.attrib;
+               %local.guilabel.attrib;
+>
+<!--end of guilabel.attlist-->]]>
+<!--end of guilabel.module-->]]>
+
+<!ENTITY % guimenu.module "INCLUDE">
+<![%guimenu.module;[
+<!ENTITY % local.guimenu.attrib "">
+<!ENTITY % guimenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenu.element "INCLUDE">
+<![%guimenu.element;[
+<!ELEMENT guimenu %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guimenu.element-->]]>
+
+<!ENTITY % guimenu.attlist "INCLUDE">
+<![%guimenu.attlist;[
+<!ATTLIST guimenu
+               %moreinfo.attrib;
+               %common.attrib;
+               %guimenu.role.attrib;
+               %local.guimenu.attrib;
+>
+<!--end of guimenu.attlist-->]]>
+<!--end of guimenu.module-->]]>
+
+<!ENTITY % guimenuitem.module "INCLUDE">
+<![%guimenuitem.module;[
+<!ENTITY % local.guimenuitem.attrib "">
+<!ENTITY % guimenuitem.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenuitem.element "INCLUDE">
+<![%guimenuitem.element;[
+<!ELEMENT guimenuitem %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guimenuitem.element-->]]>
+
+<!ENTITY % guimenuitem.attlist "INCLUDE">
+<![%guimenuitem.attlist;[
+<!ATTLIST guimenuitem
+               %moreinfo.attrib;
+               %common.attrib;
+               %guimenuitem.role.attrib;
+               %local.guimenuitem.attrib;
+>
+<!--end of guimenuitem.attlist-->]]>
+<!--end of guimenuitem.module-->]]>
+
+<!ENTITY % guisubmenu.module "INCLUDE">
+<![%guisubmenu.module;[
+<!ENTITY % local.guisubmenu.attrib "">
+<!ENTITY % guisubmenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guisubmenu.element "INCLUDE">
+<![%guisubmenu.element;[
+<!ELEMENT guisubmenu %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guisubmenu.element-->]]>
+
+<!ENTITY % guisubmenu.attlist "INCLUDE">
+<![%guisubmenu.attlist;[
+<!ATTLIST guisubmenu
+               %moreinfo.attrib;
+               %common.attrib;
+               %guisubmenu.role.attrib;
+               %local.guisubmenu.attrib;
+>
+<!--end of guisubmenu.attlist-->]]>
+<!--end of guisubmenu.module-->]]>
+
+<!ENTITY % hardware.module "INCLUDE">
+<![%hardware.module;[
+<!ENTITY % local.hardware.attrib "">
+<!ENTITY % hardware.role.attrib "%role.attrib;">
+
+<!ENTITY % hardware.element "INCLUDE">
+<![%hardware.element;[
+<!ELEMENT hardware %ho; (%cptr.char.mix;)*>
+<!--end of hardware.element-->]]>
+
+<!ENTITY % hardware.attlist "INCLUDE">
+<![%hardware.attlist;[
+<!ATTLIST hardware
+               %moreinfo.attrib;
+               %common.attrib;
+               %hardware.role.attrib;
+               %local.hardware.attrib;
+>
+<!--end of hardware.attlist-->]]>
+<!--end of hardware.module-->]]>
+
+<!ENTITY % interface.module "INCLUDE">
+<![%interface.module;[
+<!ENTITY % local.interface.attrib "">
+<!ENTITY % interface.role.attrib "%role.attrib;">
+
+<!ENTITY % interface.element "INCLUDE">
+<![%interface.element;[
+<!ELEMENT interface %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of interface.element-->]]>
+
+<!-- Class: Type of the Interface item; no default -->
+
+
+<!ENTITY % interface.attlist "INCLUDE">
+<![%interface.attlist;[
+<!ATTLIST interface
+               %moreinfo.attrib;
+               %common.attrib;
+               %interface.role.attrib;
+               %local.interface.attrib;
+>
+<!--end of interface.attlist-->]]>
+<!--end of interface.module-->]]>
+
+<!ENTITY % keycap.module "INCLUDE">
+<![%keycap.module;[
+<!ENTITY % local.keycap.attrib "">
+<!ENTITY % keycap.role.attrib "%role.attrib;">
+
+<!ENTITY % keycap.element "INCLUDE">
+<![%keycap.element;[
+<!ELEMENT keycap %ho; (%cptr.char.mix;)*>
+<!--end of keycap.element-->]]>
+
+<!ENTITY % keycap.attlist "INCLUDE">
+<![%keycap.attlist;[
+<!ATTLIST keycap
+               %moreinfo.attrib;
+               %common.attrib;
+               %keycap.role.attrib;
+               %local.keycap.attrib;
+>
+<!--end of keycap.attlist-->]]>
+<!--end of keycap.module-->]]>
+
+<!ENTITY % keycode.module "INCLUDE">
+<![%keycode.module;[
+<!ENTITY % local.keycode.attrib "">
+<!ENTITY % keycode.role.attrib "%role.attrib;">
+
+<!ENTITY % keycode.element "INCLUDE">
+<![%keycode.element;[
+<!ELEMENT keycode %ho; (%smallcptr.char.mix;)*>
+<!--end of keycode.element-->]]>
+
+<!ENTITY % keycode.attlist "INCLUDE">
+<![%keycode.attlist;[
+<!ATTLIST keycode
+               %common.attrib;
+               %keycode.role.attrib;
+               %local.keycode.attrib;
+>
+<!--end of keycode.attlist-->]]>
+<!--end of keycode.module-->]]>
+
+<!ENTITY % keycombo.module "INCLUDE">
+<![%keycombo.module;[
+<!ENTITY % local.keycombo.attrib "">
+<!ENTITY % keycombo.role.attrib "%role.attrib;">
+
+<!ENTITY % keycombo.element "INCLUDE">
+<![%keycombo.element;[
+<!ELEMENT keycombo %ho; ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of keycombo.element-->]]>
+
+<!ENTITY % keycombo.attlist "INCLUDE">
+<![%keycombo.attlist;[
+<!ATTLIST keycombo
+               %keyaction.attrib;
+               %moreinfo.attrib;
+               %common.attrib;
+               %keycombo.role.attrib;
+               %local.keycombo.attrib;
+>
+<!--end of keycombo.attlist-->]]>
+<!--end of keycombo.module-->]]>
+
+<!ENTITY % keysym.module "INCLUDE">
+<![%keysym.module;[
+<!ENTITY % local.keysym.attrib "">
+<!ENTITY % keysysm.role.attrib "%role.attrib;">
+
+<!ENTITY % keysym.element "INCLUDE">
+<![%keysym.element;[
+<!ELEMENT keysym %ho; (%smallcptr.char.mix;)*>
+<!--end of keysym.element-->]]>
+
+<!ENTITY % keysym.attlist "INCLUDE">
+<![%keysym.attlist;[
+<!ATTLIST keysym
+               %common.attrib;
+               %keysysm.role.attrib;
+               %local.keysym.attrib;
+>
+<!--end of keysym.attlist-->]]>
+<!--end of keysym.module-->]]>
+
+<!ENTITY % lineannotation.module "INCLUDE">
+<![%lineannotation.module;[
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+
+<!ENTITY % lineannotation.element "INCLUDE">
+<![%lineannotation.element;[
+<!ELEMENT lineannotation %ho; (%para.char.mix;)*>
+<!--end of lineannotation.element-->]]>
+
+<!ENTITY % lineannotation.attlist "INCLUDE">
+<![%lineannotation.attlist;[
+<!ATTLIST lineannotation
+               %common.attrib;
+               %lineannotation.role.attrib;
+               %local.lineannotation.attrib;
+>
+<!--end of lineannotation.attlist-->]]>
+<!--end of lineannotation.module-->]]>
+
+<!ENTITY % literal.module "INCLUDE">
+<![%literal.module;[
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+
+<!ENTITY % literal.element "INCLUDE">
+<![%literal.element;[
+<!ELEMENT literal %ho; (%cptr.char.mix;)*>
+<!--end of literal.element-->]]>
+
+<!ENTITY % literal.attlist "INCLUDE">
+<![%literal.attlist;[
+<!ATTLIST literal
+               %moreinfo.attrib;
+               %common.attrib;
+               %literal.role.attrib;
+               %local.literal.attrib;
+>
+<!--end of literal.attlist-->]]>
+<!--end of literal.module-->]]>
+
+<!ENTITY % constant.module "INCLUDE">
+<![ %constant.module; [
+<!ENTITY % local.constant.attrib "">
+<!ENTITY % constant.role.attrib "%role.attrib;">
+
+<!ENTITY % constant.element "INCLUDE">
+<![ %constant.element; [
+<!ELEMENT constant %ho; (%smallcptr.char.mix;)*>
+<!--end of constant.element-->]]>
+
+<!ENTITY % constant.attlist "INCLUDE">
+<![ %constant.attlist; [
+<!ATTLIST constant
+               class   (limit)         #IMPLIED
+               %common.attrib;
+               %constant.role.attrib;
+               %local.constant.attrib;
+>
+<!--end of constant.attlist-->]]>
+<!--end of constant.module-->]]>
+
+<!ENTITY % varname.module "INCLUDE">
+<![ %varname.module; [
+<!ENTITY % local.varname.attrib "">
+<!ENTITY % varname.role.attrib "%role.attrib;">
+
+<!ENTITY % varname.element "INCLUDE">
+<![ %varname.element; [
+<!ELEMENT varname %ho; (%smallcptr.char.mix;)*>
+<!--end of varname.element-->]]>
+
+<!ENTITY % varname.attlist "INCLUDE">
+<![ %varname.attlist; [
+<!ATTLIST varname
+               %common.attrib;
+               %varname.role.attrib;
+               %local.varname.attrib;
+>
+<!--end of varname.attlist-->]]>
+<!--end of varname.module-->]]>
+
+<!ENTITY % markup.module "INCLUDE">
+<![%markup.module;[
+<!ENTITY % local.markup.attrib "">
+<!ENTITY % markup.role.attrib "%role.attrib;">
+
+<!ENTITY % markup.element "INCLUDE">
+<![%markup.element;[
+<!ELEMENT markup %ho; (%smallcptr.char.mix;)*>
+<!--end of markup.element-->]]>
+
+<!ENTITY % markup.attlist "INCLUDE">
+<![%markup.attlist;[
+<!ATTLIST markup
+               %common.attrib;
+               %markup.role.attrib;
+               %local.markup.attrib;
+>
+<!--end of markup.attlist-->]]>
+<!--end of markup.module-->]]>
+
+<!ENTITY % medialabel.module "INCLUDE">
+<![%medialabel.module;[
+<!ENTITY % local.medialabel.attrib "">
+<!ENTITY % medialabel.role.attrib "%role.attrib;">
+
+<!ENTITY % medialabel.element "INCLUDE">
+<![%medialabel.element;[
+<!ELEMENT medialabel %ho; (%smallcptr.char.mix;)*>
+<!--end of medialabel.element-->]]>
+
+<!-- Class: Type of medium named by the element; no default -->
+
+
+<!ENTITY % medialabel.attlist "INCLUDE">
+<![%medialabel.attlist;[
+<!ATTLIST medialabel
+               class           (cartridge
+                               |cdrom
+                               |disk
+                               |tape)          #IMPLIED
+               %common.attrib;
+               %medialabel.role.attrib;
+               %local.medialabel.attrib;
+>
+<!--end of medialabel.attlist-->]]>
+<!--end of medialabel.module-->]]>
+
+<!ENTITY % menuchoice.content.module "INCLUDE">
+<![%menuchoice.content.module;[
+<!ENTITY % menuchoice.module "INCLUDE">
+<![%menuchoice.module;[
+<!ENTITY % local.menuchoice.attrib "">
+<!ENTITY % menuchoice.role.attrib "%role.attrib;">
+
+<!ENTITY % menuchoice.element "INCLUDE">
+<![%menuchoice.element;[
+<!ELEMENT menuchoice %ho; (shortcut?, (guibutton|guiicon|guilabel
+               |guimenu|guimenuitem|guisubmenu|interface)+)>
+<!--end of menuchoice.element-->]]>
+
+<!ENTITY % menuchoice.attlist "INCLUDE">
+<![%menuchoice.attlist;[
+<!ATTLIST menuchoice
+               %moreinfo.attrib;
+               %common.attrib;
+               %menuchoice.role.attrib;
+               %local.menuchoice.attrib;
+>
+<!--end of menuchoice.attlist-->]]>
+<!--end of menuchoice.module-->]]>
+
+<!ENTITY % shortcut.module "INCLUDE">
+<![%shortcut.module;[
+<!-- See also KeyCombo -->
+<!ENTITY % local.shortcut.attrib "">
+<!ENTITY % shortcut.role.attrib "%role.attrib;">
+
+<!ENTITY % shortcut.element "INCLUDE">
+<![%shortcut.element;[
+<!ELEMENT shortcut %ho; ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of shortcut.element-->]]>
+
+<!ENTITY % shortcut.attlist "INCLUDE">
+<![%shortcut.attlist;[
+<!ATTLIST shortcut
+               %keyaction.attrib;
+               %moreinfo.attrib;
+               %common.attrib;
+               %shortcut.role.attrib;
+               %local.shortcut.attrib;
+>
+<!--end of shortcut.attlist-->]]>
+<!--end of shortcut.module-->]]>
+<!--end of menuchoice.content.module-->]]>
+
+<!ENTITY % mousebutton.module "INCLUDE">
+<![%mousebutton.module;[
+<!ENTITY % local.mousebutton.attrib "">
+<!ENTITY % mousebutton.role.attrib "%role.attrib;">
+
+<!ENTITY % mousebutton.element "INCLUDE">
+<![%mousebutton.element;[
+<!ELEMENT mousebutton %ho; (%smallcptr.char.mix;)*>
+<!--end of mousebutton.element-->]]>
+
+<!ENTITY % mousebutton.attlist "INCLUDE">
+<![%mousebutton.attlist;[
+<!ATTLIST mousebutton
+               %moreinfo.attrib;
+               %common.attrib;
+               %mousebutton.role.attrib;
+               %local.mousebutton.attrib;
+>
+<!--end of mousebutton.attlist-->]]>
+<!--end of mousebutton.module-->]]>
+
+<!ENTITY % msgtext.module "INCLUDE">
+<![%msgtext.module;[
+<!ENTITY % local.msgtext.attrib "">
+<!ENTITY % msgtext.role.attrib "%role.attrib;">
+
+<!ENTITY % msgtext.element "INCLUDE">
+<![%msgtext.element;[
+<!ELEMENT msgtext %ho; ((%component.mix;)+)>
+<!--end of msgtext.element-->]]>
+
+<!ENTITY % msgtext.attlist "INCLUDE">
+<![%msgtext.attlist;[
+<!ATTLIST msgtext
+               %common.attrib;
+               %msgtext.role.attrib;
+               %local.msgtext.attrib;
+>
+<!--end of msgtext.attlist-->]]>
+<!--end of msgtext.module-->]]>
+
+<!ENTITY % option.module "INCLUDE">
+<![%option.module;[
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+
+<!ENTITY % option.element "INCLUDE">
+<![%option.element;[
+<!ELEMENT option %ho; (%cptr.char.mix;)*>
+<!--end of option.element-->]]>
+
+<!ENTITY % option.attlist "INCLUDE">
+<![%option.attlist;[
+<!ATTLIST option
+               %common.attrib;
+               %option.role.attrib;
+               %local.option.attrib;
+>
+<!--end of option.attlist-->]]>
+<!--end of option.module-->]]>
+
+<!ENTITY % optional.module "INCLUDE">
+<![%optional.module;[
+<!ENTITY % local.optional.attrib "">
+<!ENTITY % optional.role.attrib "%role.attrib;">
+
+<!ENTITY % optional.element "INCLUDE">
+<![%optional.element;[
+<!ELEMENT optional %ho; (%cptr.char.mix;)*>
+<!--end of optional.element-->]]>
+
+<!ENTITY % optional.attlist "INCLUDE">
+<![%optional.attlist;[
+<!ATTLIST optional
+               %common.attrib;
+               %optional.role.attrib;
+               %local.optional.attrib;
+>
+<!--end of optional.attlist-->]]>
+<!--end of optional.module-->]]>
+
+<!ENTITY % parameter.module "INCLUDE">
+<![%parameter.module;[
+<!ENTITY % local.parameter.attrib "">
+<!ENTITY % parameter.role.attrib "%role.attrib;">
+
+<!ENTITY % parameter.element "INCLUDE">
+<![%parameter.element;[
+<!ELEMENT parameter %ho; (%cptr.char.mix;)*>
+<!--end of parameter.element-->]]>
+
+<!-- Class: Type of the Parameter; no default -->
+
+
+<!ENTITY % parameter.attlist "INCLUDE">
+<![%parameter.attlist;[
+<!ATTLIST parameter
+               class           (command
+                               |function
+                               |option)        #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %parameter.role.attrib;
+               %local.parameter.attrib;
+>
+<!--end of parameter.attlist-->]]>
+<!--end of parameter.module-->]]>
+
+<!ENTITY % prompt.module "INCLUDE">
+<![%prompt.module;[
+<!ENTITY % local.prompt.attrib "">
+<!ENTITY % prompt.role.attrib "%role.attrib;">
+
+<!ENTITY % prompt.element "INCLUDE">
+<![%prompt.element;[
+<!ELEMENT prompt %ho; (%smallcptr.char.mix;|co)*>
+<!--end of prompt.element-->]]>
+
+<!ENTITY % prompt.attlist "INCLUDE">
+<![%prompt.attlist;[
+<!ATTLIST prompt
+               %moreinfo.attrib;
+               %common.attrib;
+               %prompt.role.attrib;
+               %local.prompt.attrib;
+>
+<!--end of prompt.attlist-->]]>
+<!--end of prompt.module-->]]>
+
+<!ENTITY % property.module "INCLUDE">
+<![%property.module;[
+<!ENTITY % local.property.attrib "">
+<!ENTITY % property.role.attrib "%role.attrib;">
+
+<!ENTITY % property.element "INCLUDE">
+<![%property.element;[
+<!ELEMENT property %ho; (%cptr.char.mix;)*>
+<!--end of property.element-->]]>
+
+<!ENTITY % property.attlist "INCLUDE">
+<![%property.attlist;[
+<!ATTLIST property
+               %moreinfo.attrib;
+               %common.attrib;
+               %property.role.attrib;
+               %local.property.attrib;
+>
+<!--end of property.attlist-->]]>
+<!--end of property.module-->]]>
+
+<!ENTITY % replaceable.module "INCLUDE">
+<![%replaceable.module;[
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+
+<!ENTITY % replaceable.element "INCLUDE">
+<![%replaceable.element;[
+<!ELEMENT replaceable %ho; (#PCDATA
+               | %link.char.class;
+               | optional
+               | %base.char.class;
+               | %other.char.class;
+               | inlinegraphic
+                | inlinemediaobject
+               | co)*>
+<!--end of replaceable.element-->]]>
+
+<!-- Class: Type of information the element represents; no
+               default -->
+
+
+<!ENTITY % replaceable.attlist "INCLUDE">
+<![%replaceable.attlist;[
+<!ATTLIST replaceable
+               class           (command
+                               |function
+                               |option
+                               |parameter)     #IMPLIED
+               %common.attrib;
+               %replaceable.role.attrib;
+               %local.replaceable.attrib;
+>
+<!--end of replaceable.attlist-->]]>
+<!--end of replaceable.module-->]]>
+
+<!ENTITY % returnvalue.module "INCLUDE">
+<![%returnvalue.module;[
+<!ENTITY % local.returnvalue.attrib "">
+<!ENTITY % returnvalue.role.attrib "%role.attrib;">
+
+<!ENTITY % returnvalue.element "INCLUDE">
+<![%returnvalue.element;[
+<!ELEMENT returnvalue %ho; (%smallcptr.char.mix;)*>
+<!--end of returnvalue.element-->]]>
+
+<!ENTITY % returnvalue.attlist "INCLUDE">
+<![%returnvalue.attlist;[
+<!ATTLIST returnvalue
+               %common.attrib;
+               %returnvalue.role.attrib;
+               %local.returnvalue.attrib;
+>
+<!--end of returnvalue.attlist-->]]>
+<!--end of returnvalue.module-->]]>
+
+<!ENTITY % sgmltag.module "INCLUDE">
+<![%sgmltag.module;[
+<!ENTITY % local.sgmltag.attrib "">
+<!ENTITY % sgmltag.role.attrib "%role.attrib;">
+
+<!ENTITY % sgmltag.element "INCLUDE">
+<![%sgmltag.element;[
+<!ELEMENT sgmltag %ho; (%smallcptr.char.mix;)*>
+<!--end of sgmltag.element-->]]>
+
+<!-- Class: Type of SGML construct the element names; no default -->
+
+
+<!ENTITY % sgmltag.attlist "INCLUDE">
+<![%sgmltag.attlist;[
+<!ATTLIST sgmltag
+               class           (attribute
+                               |attvalue
+                               |element
+                               |endtag
+                                |emptytag
+                               |genentity
+                               |numcharref
+                               |paramentity
+                               |pi
+                                |xmlpi
+                               |starttag
+                               |sgmlcomment)   #IMPLIED
+               %common.attrib;
+               %sgmltag.role.attrib;
+               %local.sgmltag.attrib;
+>
+<!--end of sgmltag.attlist-->]]>
+<!--end of sgmltag.module-->]]>
+
+<!ENTITY % structfield.module "INCLUDE">
+<![%structfield.module;[
+<!ENTITY % local.structfield.attrib "">
+<!ENTITY % structfield.role.attrib "%role.attrib;">
+
+<!ENTITY % structfield.element "INCLUDE">
+<![%structfield.element;[
+<!ELEMENT structfield %ho; (%smallcptr.char.mix;)*>
+<!--end of structfield.element-->]]>
+
+<!ENTITY % structfield.attlist "INCLUDE">
+<![%structfield.attlist;[
+<!ATTLIST structfield
+               %common.attrib;
+               %structfield.role.attrib;
+               %local.structfield.attrib;
+>
+<!--end of structfield.attlist-->]]>
+<!--end of structfield.module-->]]>
+
+<!ENTITY % structname.module "INCLUDE">
+<![%structname.module;[
+<!ENTITY % local.structname.attrib "">
+<!ENTITY % structname.role.attrib "%role.attrib;">
+
+<!ENTITY % structname.element "INCLUDE">
+<![%structname.element;[
+<!ELEMENT structname %ho; (%smallcptr.char.mix;)*>
+<!--end of structname.element-->]]>
+
+<!ENTITY % structname.attlist "INCLUDE">
+<![%structname.attlist;[
+<!ATTLIST structname
+               %common.attrib;
+               %structname.role.attrib;
+               %local.structname.attrib;
+>
+<!--end of structname.attlist-->]]>
+<!--end of structname.module-->]]>
+
+<!ENTITY % symbol.module "INCLUDE">
+<![%symbol.module;[
+<!ENTITY % local.symbol.attrib "">
+<!ENTITY % symbol.role.attrib "%role.attrib;">
+
+<!ENTITY % symbol.element "INCLUDE">
+<![%symbol.element;[
+<!ELEMENT symbol %ho; (%smallcptr.char.mix;)*>
+<!--end of symbol.element-->]]>
+
+<!-- Class: Type of symbol; no default -->
+
+
+<!ENTITY % symbol.attlist "INCLUDE">
+<![%symbol.attlist;[
+<!ATTLIST symbol
+               class           (limit)         #IMPLIED
+               %common.attrib;
+               %symbol.role.attrib;
+               %local.symbol.attrib;
+>
+<!--end of symbol.attlist-->]]>
+<!--end of symbol.module-->]]>
+
+<!ENTITY % systemitem.module "INCLUDE">
+<![%systemitem.module;[
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+
+<!ENTITY % systemitem.element "INCLUDE">
+<![%systemitem.element;[
+<!ELEMENT systemitem %ho; (%cptr.char.mix; | acronym | co)*>
+<!--end of systemitem.element-->]]>
+
+<!-- Class: Type of system item the element names; no default -->
+
+<!ENTITY % systemitem.attlist "INCLUDE">
+<![%systemitem.attlist;[
+<!ATTLIST systemitem
+               class   (constant
+                       |event
+                       |eventhandler
+                       |domainname
+                       |fqdomainname
+                       |ipaddress
+                       |netmask
+                       |etheraddress
+                       |groupname
+                       |library
+                       |macro
+                       |osname
+                       |filesystem
+                       |resource
+                       |systemname
+                       |username
+                       |newsgroup)     #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %systemitem.role.attrib;
+               %local.systemitem.attrib;
+>
+<!--end of systemitem.attlist-->]]>
+<!--end of systemitem.module-->]]>
+
+
+<!ENTITY % token.module "INCLUDE">
+<![%token.module;[
+<!ENTITY % local.token.attrib "">
+<!ENTITY % token.role.attrib "%role.attrib;">
+
+<!ENTITY % token.element "INCLUDE">
+<![%token.element;[
+<!ELEMENT token %ho; (%smallcptr.char.mix;)*>
+<!--end of token.element-->]]>
+
+<!ENTITY % token.attlist "INCLUDE">
+<![%token.attlist;[
+<!ATTLIST token
+               %common.attrib;
+               %token.role.attrib;
+               %local.token.attrib;
+>
+<!--end of token.attlist-->]]>
+<!--end of token.module-->]]>
+
+<!ENTITY % type.module "INCLUDE">
+<![%type.module;[
+<!ENTITY % local.type.attrib "">
+<!ENTITY % type.role.attrib "%role.attrib;">
+
+<!ENTITY % type.element "INCLUDE">
+<![%type.element;[
+<!ELEMENT type %ho; (%smallcptr.char.mix;)*>
+<!--end of type.element-->]]>
+
+<!ENTITY % type.attlist "INCLUDE">
+<![%type.attlist;[
+<!ATTLIST type
+               %common.attrib;
+               %type.role.attrib;
+               %local.type.attrib;
+>
+<!--end of type.attlist-->]]>
+<!--end of type.module-->]]>
+
+<!ENTITY % userinput.module "INCLUDE">
+<![%userinput.module;[
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+
+<!ENTITY % userinput.element "INCLUDE">
+<![%userinput.element;[
+<!ELEMENT userinput %ho; (%cptr.char.mix;|co)*>
+<!--end of userinput.element-->]]>
+
+<!ENTITY % userinput.attlist "INCLUDE">
+<![%userinput.attlist;[
+<!ATTLIST userinput
+               %moreinfo.attrib;
+               %common.attrib;
+               %userinput.role.attrib;
+               %local.userinput.attrib;
+>
+<!--end of userinput.attlist-->]]>
+<!--end of userinput.module-->]]>
+
+<!-- General words and phrases ............................................ -->
+
+<!ENTITY % abbrev.module "INCLUDE">
+<![%abbrev.module;[
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % abbrev.element "INCLUDE">
+<![%abbrev.element;[
+<!ELEMENT abbrev %ho; (%word.char.mix;)*>
+<!--end of abbrev.element-->]]>
+
+<!ENTITY % abbrev.attlist "INCLUDE">
+<![%abbrev.attlist;[
+<!ATTLIST abbrev
+               %common.attrib;
+               %abbrev.role.attrib;
+               %local.abbrev.attrib;
+>
+<!--end of abbrev.attlist-->]]>
+<!--end of abbrev.module-->]]>
+
+<!ENTITY % acronym.module "INCLUDE">
+<![%acronym.module;[
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+
+<!ENTITY % acronym.element "INCLUDE">
+<![%acronym.element;[
+<!ELEMENT acronym %ho; (%word.char.mix;)*
+               %acronym.exclusion;>
+<!--end of acronym.element-->]]>
+
+<!ENTITY % acronym.attlist "INCLUDE">
+<![%acronym.attlist;[
+<!ATTLIST acronym
+               %common.attrib;
+               %acronym.role.attrib;
+               %local.acronym.attrib;
+>
+<!--end of acronym.attlist-->]]>
+<!--end of acronym.module-->]]>
+
+<!ENTITY % citation.module "INCLUDE">
+<![%citation.module;[
+<!ENTITY % local.citation.attrib "">
+<!ENTITY % citation.role.attrib "%role.attrib;">
+
+<!ENTITY % citation.element "INCLUDE">
+<![%citation.element;[
+<!ELEMENT citation %ho; (%para.char.mix;)*>
+<!--end of citation.element-->]]>
+
+<!ENTITY % citation.attlist "INCLUDE">
+<![%citation.attlist;[
+<!ATTLIST citation
+               %common.attrib;
+               %citation.role.attrib;
+               %local.citation.attrib;
+>
+<!--end of citation.attlist-->]]>
+<!--end of citation.module-->]]>
+
+<!ENTITY % citerefentry.module "INCLUDE">
+<![%citerefentry.module;[
+<!ENTITY % local.citerefentry.attrib "">
+<!ENTITY % citerefentry.role.attrib "%role.attrib;">
+
+<!ENTITY % citerefentry.element "INCLUDE">
+<![%citerefentry.element;[
+<!ELEMENT citerefentry %ho; (refentrytitle, manvolnum?)>
+<!--end of citerefentry.element-->]]>
+
+<!ENTITY % citerefentry.attlist "INCLUDE">
+<![%citerefentry.attlist;[
+<!ATTLIST citerefentry
+               %common.attrib;
+               %citerefentry.role.attrib;
+               %local.citerefentry.attrib;
+>
+<!--end of citerefentry.attlist-->]]>
+<!--end of citerefentry.module-->]]>
+
+<!ENTITY % refentrytitle.module "INCLUDE">
+<![%refentrytitle.module;[
+<!ENTITY % local.refentrytitle.attrib "">
+<!ENTITY % refentrytitle.role.attrib "%role.attrib;">
+
+<!ENTITY % refentrytitle.element "INCLUDE">
+<![%refentrytitle.element;[
+<!ELEMENT refentrytitle %ho; (%para.char.mix;)*>
+<!--end of refentrytitle.element-->]]>
+
+<!ENTITY % refentrytitle.attlist "INCLUDE">
+<![%refentrytitle.attlist;[
+<!ATTLIST refentrytitle
+               %common.attrib;
+               %refentrytitle.role.attrib;
+               %local.refentrytitle.attrib;
+>
+<!--end of refentrytitle.attlist-->]]>
+<!--end of refentrytitle.module-->]]>
+
+<!ENTITY % manvolnum.module "INCLUDE">
+<![%manvolnum.module;[
+<!ENTITY % local.manvolnum.attrib "">
+<!ENTITY % namvolnum.role.attrib "%role.attrib;">
+
+<!ENTITY % manvolnum.element "INCLUDE">
+<![%manvolnum.element;[
+<!ELEMENT manvolnum %ho; (%word.char.mix;)*>
+<!--end of manvolnum.element-->]]>
+
+<!ENTITY % manvolnum.attlist "INCLUDE">
+<![%manvolnum.attlist;[
+<!ATTLIST manvolnum
+               %common.attrib;
+               %namvolnum.role.attrib;
+               %local.manvolnum.attrib;
+>
+<!--end of manvolnum.attlist-->]]>
+<!--end of manvolnum.module-->]]>
+
+<!ENTITY % citetitle.module "INCLUDE">
+<![%citetitle.module;[
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+
+<!ENTITY % citetitle.element "INCLUDE">
+<![%citetitle.element;[
+<!ELEMENT citetitle %ho; (%para.char.mix;)*>
+<!--end of citetitle.element-->]]>
+
+<!-- Pubwork: Genre of published work cited; no default -->
+
+
+<!ENTITY % citetitle.attlist "INCLUDE">
+<![%citetitle.attlist;[
+<!ATTLIST citetitle
+               pubwork         (article
+                               |book
+                               |chapter
+                               |part
+                               |refentry
+                               |section
+                               |journal
+                               |series
+                               |set
+                               |manuscript)    #IMPLIED
+               %common.attrib;
+               %citetitle.role.attrib;
+               %local.citetitle.attrib;
+>
+<!--end of citetitle.attlist-->]]>
+<!--end of citetitle.module-->]]>
+
+<!ENTITY % emphasis.module "INCLUDE">
+<![%emphasis.module;[
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+
+<!ENTITY % emphasis.element "INCLUDE">
+<![%emphasis.element;[
+<!ELEMENT emphasis %ho; (%para.char.mix;)*>
+<!--end of emphasis.element-->]]>
+
+<!ENTITY % emphasis.attlist "INCLUDE">
+<![%emphasis.attlist;[
+<!ATTLIST emphasis
+               %common.attrib;
+               %emphasis.role.attrib;
+               %local.emphasis.attrib;
+>
+<!--end of emphasis.attlist-->]]>
+<!--end of emphasis.module-->]]>
+
+<!ENTITY % firstterm.module "INCLUDE">
+<![%firstterm.module;[
+<!ENTITY % local.firstterm.attrib "">
+<!ENTITY % firstterm.role.attrib "%role.attrib;">
+
+<!ENTITY % firstterm.element "INCLUDE">
+<![%firstterm.element;[
+<!ELEMENT firstterm %ho; (%word.char.mix;)*>
+<!--end of firstterm.element-->]]>
+
+<!-- to GlossEntry or other explanation -->
+
+
+<!ENTITY % firstterm.attlist "INCLUDE">
+<![%firstterm.attlist;[
+<!ATTLIST firstterm
+               %linkend.attrib;                %common.attrib;
+               %firstterm.role.attrib;
+               %local.firstterm.attrib;
+>
+<!--end of firstterm.attlist-->]]>
+<!--end of firstterm.module-->]]>
+
+<!ENTITY % foreignphrase.module "INCLUDE">
+<![%foreignphrase.module;[
+<!ENTITY % local.foreignphrase.attrib "">
+<!ENTITY % foreignphrase.role.attrib "%role.attrib;">
+
+<!ENTITY % foreignphrase.element "INCLUDE">
+<![%foreignphrase.element;[
+<!ELEMENT foreignphrase %ho; (%para.char.mix;)*>
+<!--end of foreignphrase.element-->]]>
+
+<!ENTITY % foreignphrase.attlist "INCLUDE">
+<![%foreignphrase.attlist;[
+<!ATTLIST foreignphrase
+               %common.attrib;
+               %foreignphrase.role.attrib;
+               %local.foreignphrase.attrib;
+>
+<!--end of foreignphrase.attlist-->]]>
+<!--end of foreignphrase.module-->]]>
+
+<!ENTITY % glossterm.module "INCLUDE">
+<![%glossterm.module;[
+<!ENTITY % local.glossterm.attrib "">
+<!ENTITY % glossterm.role.attrib "%role.attrib;">
+
+<!ENTITY % glossterm.element "INCLUDE">
+<![%glossterm.element;[
+<!ELEMENT glossterm %ho; (%para.char.mix;)*
+               %glossterm.exclusion;>
+<!--end of glossterm.element-->]]>
+
+<!-- to GlossEntry if Glossterm used in text -->
+<!-- BaseForm: Provides the form of GlossTerm to be used
+               for indexing -->
+
+
+<!ENTITY % glossterm.attlist "INCLUDE">
+<![%glossterm.attlist;[
+<!ATTLIST glossterm
+               %linkend.attrib;                baseform        CDATA           
#IMPLIED
+               %common.attrib;
+               %glossterm.role.attrib;
+               %local.glossterm.attrib;
+>
+<!--end of glossterm.attlist-->]]>
+<!--end of glossterm.module-->]]>
+
+<!ENTITY % phrase.module "INCLUDE">
+<![%phrase.module;[
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+
+<!ENTITY % phrase.element "INCLUDE">
+<![%phrase.element;[
+<!ELEMENT phrase %ho; (%para.char.mix;)*>
+<!--end of phrase.element-->]]>
+
+<!ENTITY % phrase.attlist "INCLUDE">
+<![%phrase.attlist;[
+<!ATTLIST phrase
+               %common.attrib;
+               %phrase.role.attrib;
+               %local.phrase.attrib;
+>
+<!--end of phrase.attlist-->]]>
+<!--end of phrase.module-->]]>
+
+<!ENTITY % quote.module "INCLUDE">
+<![%quote.module;[
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+
+<!ENTITY % quote.element "INCLUDE">
+<![%quote.element;[
+<!ELEMENT quote %ho; (%para.char.mix;)*>
+<!--end of quote.element-->]]>
+
+<!ENTITY % quote.attlist "INCLUDE">
+<![%quote.attlist;[
+<!ATTLIST quote
+               %common.attrib;
+               %quote.role.attrib;
+               %local.quote.attrib;
+>
+<!--end of quote.attlist-->]]>
+<!--end of quote.module-->]]>
+
+<!ENTITY % ssscript.module "INCLUDE">
+<![%ssscript.module;[
+<!ENTITY % local.ssscript.attrib "">
+<!ENTITY % ssscript.role.attrib "%role.attrib;">
+
+<!ENTITY % subscript.element "INCLUDE">
+<![%subscript.element;[
+<!ELEMENT subscript %ho; (#PCDATA
+               | %link.char.class;
+               | emphasis
+               | replaceable
+               | symbol
+               | inlinegraphic
+                | inlinemediaobject
+               | %base.char.class;
+               | %other.char.class;)*
+               %ubiq.exclusion;>
+<!--end of subscript.element-->]]>
+
+<!ENTITY % subscript.attlist "INCLUDE">
+<![%subscript.attlist;[
+<!ATTLIST subscript
+               %common.attrib;
+               %ssscript.role.attrib;
+               %local.ssscript.attrib;
+>
+<!--end of subscript.attlist-->]]>
+
+<!ENTITY % superscript.element "INCLUDE">
+<![%superscript.element;[
+<!ELEMENT superscript %ho; (#PCDATA
+               | %link.char.class;
+               | emphasis
+               | replaceable
+               | symbol
+               | inlinegraphic
+                | inlinemediaobject
+               | %base.char.class;
+               | %other.char.class;)*
+               %ubiq.exclusion;>
+<!--end of superscript.element-->]]>
+
+<!ENTITY % superscript.attlist "INCLUDE">
+<![%superscript.attlist;[
+<!ATTLIST superscript
+               %common.attrib;
+               %ssscript.role.attrib;
+               %local.ssscript.attrib;
+>
+<!--end of superscript.attlist-->]]>
+<!--end of ssscript.module-->]]>
+
+<!ENTITY % trademark.module "INCLUDE">
+<![%trademark.module;[
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+
+<!ENTITY % trademark.element "INCLUDE">
+<![%trademark.element;[
+<!ELEMENT trademark %ho; (#PCDATA
+               | %link.char.class;
+               | %tech.char.class;
+               | %base.char.class;
+               | %other.char.class;
+               | inlinegraphic
+                | inlinemediaobject
+               | emphasis)*>
+<!--end of trademark.element-->]]>
+
+<!-- Class: More precisely identifies the item the element names -->
+
+
+<!ENTITY % trademark.attlist "INCLUDE">
+<![%trademark.attlist;[
+<!ATTLIST trademark
+               class           (service
+                               |trade
+                               |registered
+                               |copyright)     'trade'
+               %common.attrib;
+               %trademark.role.attrib;
+               %local.trademark.attrib;
+>
+<!--end of trademark.attlist-->]]>
+<!--end of trademark.module-->]]>
+
+<!ENTITY % wordasword.module "INCLUDE">
+<![%wordasword.module;[
+<!ENTITY % local.wordasword.attrib "">
+<!ENTITY % wordasword.role.attrib "%role.attrib;">
+
+<!ENTITY % wordasword.element "INCLUDE">
+<![%wordasword.element;[
+<!ELEMENT wordasword %ho; (%word.char.mix;)*>
+<!--end of wordasword.element-->]]>
+
+<!ENTITY % wordasword.attlist "INCLUDE">
+<![%wordasword.attlist;[
+<!ATTLIST wordasword
+               %common.attrib;
+               %wordasword.role.attrib;
+               %local.wordasword.attrib;
+>
+<!--end of wordasword.attlist-->]]>
+<!--end of wordasword.module-->]]>
+
+<!-- Links and cross-references ........................................... -->
+
+<!ENTITY % link.module "INCLUDE">
+<![%link.module;[
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+
+<!ENTITY % link.element "INCLUDE">
+<![%link.element;[
+<!ELEMENT link %ho; (%para.char.mix;)*
+               %links.exclusion;>
+<!--end of link.element-->]]>
+
+<!-- Endterm: ID of element containing text that is to be
+               fetched from elsewhere in the document to appear as
+               the content of this element -->
+<!-- to linked-to object -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % link.attlist "INCLUDE">
+<![%link.attlist;[
+<!ATTLIST link
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             type            CDATA           
#IMPLIED
+               %common.attrib;
+               %link.role.attrib;
+               %local.link.attrib;
+>
+<!--end of link.attlist-->]]>
+<!--end of link.module-->]]>
+
+<!ENTITY % olink.module "INCLUDE">
+<![%olink.module;[
+<!ENTITY % local.olink.attrib "">
+<!ENTITY % olink.role.attrib "%role.attrib;">
+
+<!ENTITY % olink.element "INCLUDE">
+<![%olink.element;[
+<!ELEMENT olink %ho; (%para.char.mix;)*
+               %links.exclusion;>
+<!--end of olink.element-->]]>
+
+<!-- TargetDocEnt: Name of an entity to be the target of the link -->
+<!-- LinkMode: ID of a ModeSpec containing instructions for
+               operating on the entity named by TargetDocEnt -->
+<!-- LocalInfo: Information that may be passed to ModeSpec -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % olink.attlist "INCLUDE">
+<![%olink.attlist;[
+<!ATTLIST olink
+               targetdocent    ENTITY          #IMPLIED
+               linkmode        IDREF           #IMPLIED
+               localinfo       CDATA           #IMPLIED
+               type            CDATA           #IMPLIED
+               targetdoc       CDATA           #IMPLIED
+               targetptr       CDATA           #IMPLIED
+               %common.attrib;
+               %olink.role.attrib;
+               %local.olink.attrib;
+>
+<!--end of olink.attlist-->]]>
+<!--end of olink.module-->]]>
+
+<!ENTITY % ulink.module "INCLUDE">
+<![%ulink.module;[
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+
+<!ENTITY % ulink.element "INCLUDE">
+<![%ulink.element;[
+<!ELEMENT ulink %ho; (%para.char.mix;)*
+               %links.exclusion;>
+<!--end of ulink.element-->]]>
+
+<!-- URL: uniform resource locator; the target of the ULink -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % ulink.attlist "INCLUDE">
+<![%ulink.attlist;[
+<!ATTLIST ulink
+               url             CDATA           #REQUIRED
+               type            CDATA           #IMPLIED
+               %common.attrib;
+               %ulink.role.attrib;
+               %local.ulink.attrib;
+>
+<!--end of ulink.attlist-->]]>
+<!--end of ulink.module-->]]>
+
+<!ENTITY % footnoteref.module "INCLUDE">
+<![%footnoteref.module;[
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+
+<!ENTITY % footnoteref.element "INCLUDE">
+<![%footnoteref.element;[
+<!ELEMENT footnoteref %ho; EMPTY>
+<!--end of footnoteref.element-->]]>
+
+<!-- to footnote content supplied elsewhere -->
+
+
+<!ENTITY % footnoteref.attlist "INCLUDE">
+<![%footnoteref.attlist;[
+<!ATTLIST footnoteref
+               %linkendreq.attrib;             %label.attrib;
+               %common.attrib;
+               %footnoteref.role.attrib;
+               %local.footnoteref.attrib;
+>
+<!--end of footnoteref.attlist-->]]>
+<!--end of footnoteref.module-->]]>
+
+<!ENTITY % xref.module "INCLUDE">
+<![%xref.module;[
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+
+<!ENTITY % xref.element "INCLUDE">
+<![%xref.element;[
+<!ELEMENT xref %ho; EMPTY>
+<!--end of xref.element-->]]>
+
+<!-- Endterm: ID of element containing text that is to be
+               fetched from elsewhere in the document to appear as
+               the content of this element -->
+<!-- to linked-to object -->
+
+
+<!ENTITY % xref.attlist "INCLUDE">
+<![%xref.attlist;[
+<!ATTLIST xref
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             %common.attrib;
+               %xref.role.attrib;
+               %local.xref.attrib;
+>
+<!--end of xref.attlist-->]]>
+<!--end of xref.module-->]]>
+
+<!-- Ubiquitous elements .................................................. -->
+
+<!ENTITY % anchor.module "INCLUDE">
+<![%anchor.module;[
+<!ENTITY % local.anchor.attrib "">
+<!ENTITY % anchor.role.attrib "%role.attrib;">
+
+<!ENTITY % anchor.element "INCLUDE">
+<![%anchor.element;[
+<!ELEMENT anchor %ho; EMPTY>
+<!--end of anchor.element-->]]>
+
+<!-- required -->
+<!-- replaces Lang -->
+
+
+<!ENTITY % anchor.attlist "INCLUDE">
+<![%anchor.attlist;[
+<!ATTLIST anchor
+               %idreq.attrib;          %pagenum.attrib;                
%remap.attrib;
+               %xreflabel.attrib;
+               %revisionflag.attrib;
+               %effectivity.attrib;
+               %anchor.role.attrib;
+               %local.anchor.attrib;
+>
+<!--end of anchor.attlist-->]]>
+<!--end of anchor.module-->]]>
+
+<!ENTITY % beginpage.module "INCLUDE">
+<![%beginpage.module;[
+<!ENTITY % local.beginpage.attrib "">
+<!ENTITY % beginpage.role.attrib "%role.attrib;">
+
+<!ENTITY % beginpage.element "INCLUDE">
+<![%beginpage.element;[
+<!ELEMENT beginpage %ho; EMPTY>
+<!--end of beginpage.element-->]]>
+
+<!-- PageNum: Number of page that begins at this point -->
+
+
+<!ENTITY % beginpage.attlist "INCLUDE">
+<![%beginpage.attlist;[
+<!ATTLIST beginpage
+               %pagenum.attrib;
+               %common.attrib;
+               %beginpage.role.attrib;
+               %local.beginpage.attrib;
+>
+<!--end of beginpage.attlist-->]]>
+<!--end of beginpage.module-->]]>
+
+<!-- IndexTerms appear in the text flow for generating or linking an
+     index. -->
+
+<!ENTITY % indexterm.content.module "INCLUDE">
+<![%indexterm.content.module;[
+<!ENTITY % indexterm.module "INCLUDE">
+<![%indexterm.module;[
+<!ENTITY % local.indexterm.attrib "">
+<!ENTITY % indexterm.role.attrib "%role.attrib;">
+
+<!ENTITY % indexterm.element "INCLUDE">
+<![%indexterm.element;[
+<!ELEMENT indexterm %ho; (primary?, ((secondary, ((tertiary, (see|seealso+)?)
+               | see | seealso+)?) | see | seealso+)?)
+                       %ubiq.exclusion;>
+<!--end of indexterm.element-->]]>
+
+<!-- Scope: Indicates which generated indices the IndexTerm
+               should appear in: Global (whole document set), Local (this
+               document only), or All (both) -->
+<!-- Significance: Whether this IndexTerm is the most pertinent
+               of its series (Preferred) or not (Normal, the default) -->
+<!-- Class: Indicates type of IndexTerm; default is Singular,
+               or EndOfRange if StartRef is supplied; StartOfRange value
+               must be supplied explicitly on starts of ranges -->
+<!-- StartRef: ID of the IndexTerm that starts the indexing
+               range ended by this IndexTerm -->
+<!-- Zone: IDs of the elements to which the IndexTerm applies,
+               and indicates that the IndexTerm applies to those entire
+               elements rather than the point at which the IndexTerm
+               occurs -->
+
+
+<!ENTITY % indexterm.attlist "INCLUDE">
+<![%indexterm.attlist;[
+<!ATTLIST indexterm
+               %pagenum.attrib;
+               scope           (all
+                               |global
+                               |local)         #IMPLIED
+               significance    (preferred
+                               |normal)        "normal"
+               class           (singular
+                               |startofrange
+                               |endofrange)    #IMPLIED
+               startref                IDREF           #IMPLIED
+               zone                    IDREFS          #IMPLIED
+               %common.attrib;
+               %indexterm.role.attrib;
+               %local.indexterm.attrib;
+>
+<!--end of indexterm.attlist-->]]>
+<!--end of indexterm.module-->]]>
+
+<!ENTITY % primsecter.module "INCLUDE">
+<![%primsecter.module;[
+<!ENTITY % local.primsecter.attrib "">
+<!ENTITY % primsecter.role.attrib "%role.attrib;">
+
+
+<!ENTITY % primary.element "INCLUDE">
+<![%primary.element;[
+<!ELEMENT primary %ho;   (%ndxterm.char.mix;)*>
+<!--end of primary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+               "fourteen" for an element containing "14" -->
+
+<!ENTITY % primary.attlist "INCLUDE">
+<![%primary.attlist;[
+<!ATTLIST primary
+               sortas          CDATA           #IMPLIED
+               %common.attrib;
+               %primsecter.role.attrib;
+               %local.primsecter.attrib;
+>
+<!--end of primary.attlist-->]]>
+
+
+<!ENTITY % secondary.element "INCLUDE">
+<![%secondary.element;[
+<!ELEMENT secondary %ho; (%ndxterm.char.mix;)*>
+<!--end of secondary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+               "fourteen" for an element containing "14" -->
+
+<!ENTITY % secondary.attlist "INCLUDE">
+<![%secondary.attlist;[
+<!ATTLIST secondary
+               sortas          CDATA           #IMPLIED
+               %common.attrib;
+               %primsecter.role.attrib;
+               %local.primsecter.attrib;
+>
+<!--end of secondary.attlist-->]]>
+
+
+<!ENTITY % tertiary.element "INCLUDE">
+<![%tertiary.element;[
+<!ELEMENT tertiary %ho;  (%ndxterm.char.mix;)*>
+<!--end of tertiary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+               "fourteen" for an element containing "14" -->
+
+<!ENTITY % tertiary.attlist "INCLUDE">
+<![%tertiary.attlist;[
+<!ATTLIST tertiary
+               sortas          CDATA           #IMPLIED
+               %common.attrib;
+               %primsecter.role.attrib;
+               %local.primsecter.attrib;
+>
+<!--end of tertiary.attlist-->]]>
+
+<!--end of primsecter.module-->]]>
+
+<!ENTITY % seeseealso.module "INCLUDE">
+<![%seeseealso.module;[
+<!ENTITY % local.seeseealso.attrib "">
+<!ENTITY % seeseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % see.element "INCLUDE">
+<![%see.element;[
+<!ELEMENT see %ho; (%ndxterm.char.mix;)*>
+<!--end of see.element-->]]>
+
+<!ENTITY % see.attlist "INCLUDE">
+<![%see.attlist;[
+<!ATTLIST see
+               %common.attrib;
+               %seeseealso.role.attrib;
+               %local.seeseealso.attrib;
+>
+<!--end of see.attlist-->]]>
+
+<!ENTITY % seealso.element "INCLUDE">
+<![%seealso.element;[
+<!ELEMENT seealso %ho; (%ndxterm.char.mix;)*>
+<!--end of seealso.element-->]]>
+
+<!ENTITY % seealso.attlist "INCLUDE">
+<![%seealso.attlist;[
+<!ATTLIST seealso
+               %common.attrib;
+               %seeseealso.role.attrib;
+               %local.seeseealso.attrib;
+>
+<!--end of seealso.attlist-->]]>
+<!--end of seeseealso.module-->]]>
+<!--end of indexterm.content.module-->]]>
+
+<!-- End of DocBook XML information pool module V4.2 ...................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/docbook.cat
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/docbook.cat
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,110 @@
+  -- ...................................................................... --
+  -- Catalog data for DocBook XML V4.2 .................................... --
+  -- File docbook.cat ..................................................... --
+
+  -- Please direct all questions, bug reports, or suggestions for
+     changes to the [email protected] 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"
+       "docbookx.dtd"
+
+  -- ...................................................................... --
+  -- DocBook modules ...................................................... --
+
+PUBLIC "-//OASIS//DTD DocBook CALS Table Model V4.2//EN"
+       "calstblx.dtd"
+
+PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+       "soextblx.dtd"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN"
+       "dbpoolx.mod"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+       "dbhierx.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
+       "dbgenent.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+       "dbnotnx.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
+       "dbcentx.mod"
+
+  -- ...................................................................... --
+  -- ISO entity sets ...................................................... --
+
+PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+       "ent/iso-dia.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+       "ent/iso-num.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+       "ent/iso-pub.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+       "ent/iso-tech.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+       "ent/iso-lat1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+       "ent/iso-lat2.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+       "ent/iso-grk1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+       "ent/iso-grk2.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+       "ent/iso-grk3.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+       "ent/iso-grk4.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+       "ent/iso-amsa.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+       "ent/iso-amsb.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+       "ent/iso-amsc.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+       "ent/iso-amsn.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+       "ent/iso-amso.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+       "ent/iso-amsr.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+       "ent/iso-box.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+       "ent/iso-cyr1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+       "ent/iso-cyr2.ent"
+
+  -- End of catalog data for DocBook XML V4.2 ............................. --
+  -- ...................................................................... --

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/docbookx.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/docbookx.dtd
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,165 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML DTD V4.2 ................................................. -->
+<!-- File docbookx.dtd .................................................... -->
+
+<!-- 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: docbookx.dtd,v 1.1 2003/02/14 11:14:26 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 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V4.2 of the DocBook DTD.
+     Please use the following formal public identifier to identify it:
+
+     "-//OASIS//DTD DocBook XML V4.2//EN"
+
+     For example, if your document's top-level element is Book, and
+     you are using DocBook directly, use the FPI in the DOCTYPE
+     declaration:
+
+     <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";
+                    [...]>
+
+     Or, if you have a higher-level driver file that customizes DocBook,
+     use the FPI in the parameter entity declaration:
+
+     <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+     %DocBookDTD;
+
+     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.
+-->
+
+<!-- ...................................................................... -->
+<!-- Enable SGML features ................................................. -->
+
+<!ENTITY % sgml.features "IGNORE">
+<![%sgml.features;[
+<!ENTITY % xml.features "IGNORE">
+]]>
+<!ENTITY % xml.features "INCLUDE">
+
+<![%sgml.features;[
+<![%xml.features;[
+
+<!-- ERROR: Exactly one of xml.features and sgml.features must be turned on! 
-->
+<!ENTITY % dbnotn SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+<!ENTITY % dbcent SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+<!ENTITY % dbpool SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+<!ENTITY % dbhier SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+<!ENTITY % dbgenent SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+
+]]>
+]]>
+
+<![%sgml.features;[
+<!ENTITY % ho "- O">
+<!ENTITY % hh "- -">
+]]>
+
+<![%xml.features;[
+<!ENTITY % ho "">
+<!ENTITY % hh "">
+]]>
+
+<!-- ...................................................................... -->
+<!-- Notation declarations ................................................ -->
+
+<!ENTITY % dbnotn.module "INCLUDE">
+<![%dbnotn.module;[
+<!ENTITY % dbnotn PUBLIC
+"-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+"dbnotnx.mod">
+%dbnotn;
+]]>
+
+<!-- ...................................................................... -->
+<!-- ISO character entity sets ............................................ -->
+
+<!ENTITY % dbcent.module "INCLUDE">
+<![%dbcent.module;[
+
+<![%sgml.features;[
+<!ENTITY euro "[euro  ]"><!-- euro sign, U+20AC NEW -->
+]]>
+<![%xml.features;[
+<!ENTITY euro "&#x20AC;"><!-- euro sign, U+20AC NEW -->
+]]>
+
+<!ENTITY % dbcent PUBLIC
+"-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
+"dbcentx.mod">
+%dbcent;
+]]>
+
+<!-- ...................................................................... -->
+<!-- DTD modules .......................................................... -->
+
+<!-- Information pool .............. -->
+
+<!ENTITY % dbpool.module "INCLUDE">
+<![ %dbpool.module; [
+<!ENTITY % dbpool PUBLIC
+"-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN"
+"dbpoolx.mod">
+%dbpool;
+]]>
+
+<!-- Redeclaration placeholder ..... -->
+
+<!ENTITY % intermod.redecl.module "IGNORE">
+<![%intermod.redecl.module;[
+<!-- Defining rdbmods here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbmods "">
+%rdbmods;
+<!--end of intermod.redecl.module-->]]>
+
+<!-- Document hierarchy ............ -->
+
+<!ENTITY % dbhier.module "INCLUDE">
+<![ %dbhier.module; [
+<!ENTITY % dbhier PUBLIC
+"-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+"dbhierx.mod">
+%dbhier;
+]]>
+
+<!-- ...................................................................... -->
+<!-- Other general entities ............................................... -->
+
+<!ENTITY % dbgenent.module "INCLUDE">
+<![ %dbgenent.module; [
+<!ENTITY % dbgenent PUBLIC
+"-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
+"dbgenent.mod">
+%dbgenent;
+]]>
+
+<!-- End of DocBook XML DTD V4.2 .......................................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsa.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsa.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,63 @@
+<!-- iso-amsa.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY cularr        "&#x21B6;"> <!-- ANTICLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY curarr        "&#x21B7;"> <!-- CLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY dArr  "&#x21D3;"> <!-- DOWNWARDS DOUBLE ARROW -->
+<!ENTITY darr2 "&#x21CA;"> <!-- DOWNWARDS PAIRED ARROWS -->
+<!ENTITY dharl "&#x21C3;"> <!-- DOWNWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY dharr "&#x21C2;"> <!-- DOWNWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY lAarr "&#x21DA;"> <!-- LEFTWARDS TRIPLE ARROW -->
+<!ENTITY Larr  "&#x219E;"> <!-- LEFTWARDS TWO HEADED ARROW -->
+<!ENTITY larr2 "&#x21C7;"> <!-- LEFTWARDS PAIRED ARROWS -->
+<!ENTITY larrhk        "&#x21A9;"> <!-- LEFTWARDS ARROW WITH HOOK -->
+<!ENTITY larrlp        "&#x21AB;"> <!-- LEFTWARDS ARROW WITH LOOP -->
+<!ENTITY larrtl        "&#x21A2;"> <!-- LEFTWARDS ARROW WITH TAIL -->
+<!ENTITY lhard "&#x21BD;"> <!-- LEFTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY lharu "&#x21BC;"> <!-- LEFTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY hArr  "&#x21D4;"> <!--  -->
+<!ENTITY harr  "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY lrarr2        "&#x21C6;"> <!-- LEFTWARDS ARROW OVER RIGHTWARDS ARROW 
-->
+<!ENTITY rlarr2        "&#x21C4;"> <!-- RIGHTWARDS ARROW OVER LEFTWARDS ARROW 
-->
+<!ENTITY harrw "&#x21AD;"> <!-- LEFT RIGHT WAVE ARROW -->
+<!ENTITY rlhar2        "&#x21CC;"> <!-- RIGHTWARDS HARPOON OVER LEFTWARDS 
HARPOON -->
+<!ENTITY lrhar2        "&#x21CB;"> <!-- LEFTWARDS HARPOON OVER RIGHTWARDS 
HARPOON -->
+<!ENTITY lsh   "&#x21B0;"> <!-- UPWARDS ARROW WITH TIP LEFTWARDS -->
+<!ENTITY map   "&#x21A6;"> <!-- RIGHTWARDS ARROW FROM BAR -->
+<!ENTITY mumap "&#x22B8;"> <!-- MULTIMAP -->
+<!ENTITY nearr "&#x2197;"> <!-- NORTH EAST ARROW -->
+<!ENTITY nlArr "&#x21CD;"> <!-- LEFTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nlarr "&#x219A;"> <!-- LEFTWARDS ARROW WITH STROKE -->
+<!ENTITY nhArr "&#x21CE;"> <!-- LEFT RIGHT DOUBLE ARROW WITH STROKE -->
+<!ENTITY nharr "&#x21AE;"> <!-- LEFT RIGHT ARROW WITH STROKE -->
+<!ENTITY nrarr "&#x219B;"> <!-- RIGHTWARDS ARROW WITH STROKE -->
+<!ENTITY nrArr "&#x21CF;"> <!-- RIGHTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nwarr "&#x2196;"> <!-- NORTH WEST ARROW -->
+<!ENTITY olarr "&#x21BA;"> <!-- ANTICLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY orarr "&#x21BB;"> <!-- CLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY rAarr "&#x21DB;"> <!-- RIGHTWARDS TRIPLE ARROW -->
+<!ENTITY Rarr  "&#x21A0;"> <!-- RIGHTWARDS TWO HEADED ARROW -->
+<!ENTITY rarr2 "&#x21C9;"> <!-- RIGHTWARDS PAIRED ARROWS -->
+<!ENTITY rarrhk        "&#x21AA;"> <!-- RIGHTWARDS ARROW WITH HOOK -->
+<!ENTITY rarrlp        "&#x21AC;"> <!-- RIGHTWARDS ARROW WITH LOOP -->
+<!ENTITY rarrtl        "&#x21A3;"> <!-- RIGHTWARDS ARROW WITH TAIL -->
+<!ENTITY rarrw "&#x219D;"> <!-- RIGHTWARDS SQUIGGLE ARROW -->
+<!ENTITY rhard "&#x21C1;"> <!-- RIGHTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY rharu "&#x21C0;"> <!-- RIGHTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY rsh   "&#x21B1;"> <!-- UPWARDS ARROW WITH TIP RIGHTWARDS -->
+<!ENTITY drarr "&#x2198;"> <!-- SOUTH EAST ARROW -->
+<!ENTITY dlarr "&#x2199;"> <!-- SOUTH WEST ARROW -->
+<!ENTITY uArr  "&#x21D1;"> <!-- UPWARDS DOUBLE ARROW -->
+<!ENTITY uarr2 "&#x21C8;"> <!-- UPWARDS PAIRED ARROWS -->
+<!ENTITY vArr  "&#x21D5;"> <!-- UP DOWN DOUBLE ARROW -->
+<!ENTITY varr  "&#x2195;"> <!-- UP DOWN ARROW -->
+<!ENTITY uharl "&#x21BF;"> <!-- UPWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY uharr "&#x21BE;"> <!-- UPWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY xlArr "&#x21D0;"> <!-- LEFTWARDS DOUBLE ARROW -->
+<!ENTITY xhArr "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY xharr "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY xrArr "&#x21D2;"> <!-- RIGHTWARDS DOUBLE ARROW -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsb.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsb.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,49 @@
+<!-- iso-amsb.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY amalg "&#x2210;"> <!-- N-ARY COPRODUCT -->
+<!ENTITY Barwed        "&#x2306;"> <!-- PERSPECTIVE -->
+<!ENTITY barwed        "&#x22BC;"> <!-- NAND -->
+<!ENTITY Cap   "&#x22D2;"> <!-- DOUBLE INTERSECTION -->
+<!ENTITY Cup   "&#x22D3;"> <!-- DOUBLE UNION -->
+<!ENTITY cuvee "&#x22CE;"> <!-- CURLY LOGICAL OR -->
+<!ENTITY cuwed "&#x22CF;"> <!-- CURLY LOGICAL AND -->
+<!ENTITY diam  "&#x22C4;"> <!-- DIAMOND OPERATOR -->
+<!ENTITY divonx        "&#x22C7;"> <!-- DIVISION TIMES -->
+<!ENTITY intcal        "&#x22BA;"> <!-- INTERCALATE -->
+<!ENTITY lthree        "&#x22CB;"> <!-- LEFT SEMIDIRECT PRODUCT -->
+<!ENTITY ltimes        "&#x22C9;"> <!-- LEFT NORMAL FACTOR SEMIDIRECT PRODUCT 
-->
+<!ENTITY minusb        "&#x229F;"> <!-- SQUARED MINUS -->
+<!ENTITY oast  "&#x229B;"> <!-- CIRCLED ASTERISK OPERATOR -->
+<!ENTITY ocir  "&#x229A;"> <!-- CIRCLED RING OPERATOR -->
+<!ENTITY odash "&#x229D;"> <!-- CIRCLED DASH -->
+<!ENTITY odot  "&#x2299;"> <!-- CIRCLED DOT OPERATOR -->
+<!ENTITY ominus        "&#x2296;"> <!-- CIRCLED MINUS -->
+<!ENTITY oplus "&#x2295;"> <!-- CIRCLED PLUS -->
+<!ENTITY osol  "&#x2298;"> <!-- CIRCLED DIVISION SLASH -->
+<!ENTITY otimes        "&#x2297;"> <!-- CIRCLED TIMES -->
+<!ENTITY plusb "&#x229E;"> <!-- SQUARED PLUS -->
+<!ENTITY plusdo        "&#x2214;"> <!-- DOT PLUS -->
+<!ENTITY rthree        "&#x22CC;"> <!-- RIGHT SEMIDIRECT PRODUCT -->
+<!ENTITY rtimes        "&#x22CA;"> <!-- RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT 
-->
+<!ENTITY sdot  "&#x22C5;"> <!-- DOT OPERATOR -->
+<!ENTITY sdotb "&#x22A1;"> <!-- SQUARED DOT OPERATOR -->
+<!ENTITY setmn "&#x2216;"> <!-- SET MINUS -->
+<!ENTITY sqcap "&#x2293;"> <!-- SQUARE CAP -->
+<!ENTITY sqcup "&#x2294;"> <!-- SQUARE CUP -->
+<!ENTITY ssetmn        "&#x2216;"> <!-- SET MINUS -->
+<!ENTITY sstarf        "&#x22C6;"> <!-- STAR OPERATOR -->
+<!ENTITY timesb        "&#x22A0;"> <!-- SQUARED TIMES -->
+<!ENTITY top   "&#x22A4;"> <!-- DOWN TACK -->
+<!ENTITY uplus "&#x228E;"> <!-- MULTISET UNION -->
+<!ENTITY wreath        "&#x2240;"> <!-- WREATH PRODUCT -->
+<!ENTITY xcirc "&#x25CB;"> <!-- WHITE CIRCLE -->
+<!ENTITY xdtri "&#x25BD;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY xutri "&#x25B3;"> <!-- WHITE UP-POINTING TRIANGLE -->
+<!ENTITY coprod        "&#x2210;"> <!-- N-ARY COPRODUCT -->
+<!ENTITY prod  "&#x220F;"> <!-- N-ARY PRODUCT -->
+<!ENTITY sum   "&#x2211;"> <!-- N-ARY SUMMATION -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsc.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsc.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,15 @@
+<!-- iso-amsc.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY rceil "&#x2309;"> <!-- RIGHT CEILING -->
+<!ENTITY rfloor        "&#x230B;"> <!-- RIGHT FLOOR -->
+<!ENTITY rpargt        "&#xE291;"> <!--  -->
+<!ENTITY urcorn        "&#x231D;"> <!-- TOP RIGHT CORNER -->
+<!ENTITY drcorn        "&#x231F;"> <!-- BOTTOM RIGHT CORNER -->
+<!ENTITY lceil "&#x2308;"> <!-- LEFT CEILING -->
+<!ENTITY lfloor        "&#x230A;"> <!-- LEFT FLOOR -->
+<!--     lpargt        Unknown unicode character -->
+<!ENTITY ulcorn        "&#x231C;"> <!-- TOP LEFT CORNER -->
+<!ENTITY dlcorn        "&#x231E;"> <!-- BOTTOM LEFT CORNER -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsn.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsn.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,66 @@
+<!-- iso-amsn.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY gnap  "&#xE411;"> <!--  -->
+<!ENTITY gne   "&#x2269;"> <!--  -->
+<!ENTITY gnE   "&#x2269;"> <!--  -->
+<!ENTITY gnsim "&#x22E7;"> <!-- GREATER-THAN BUT NOT EQUIVALENT TO -->
+<!ENTITY gvnE  "&#x2269;"> <!-- GREATER-THAN BUT NOT EQUAL TO -->
+<!ENTITY lnap  "&#xE2A2;"> <!--  -->
+<!ENTITY lnE   "&#x2268;"> <!--  -->
+<!ENTITY lne   "&#x2268;"> <!--  -->
+<!ENTITY lnsim "&#x22E6;"> <!--  -->
+<!ENTITY lvnE  "&#x2268;"> <!-- LESS-THAN BUT NOT EQUAL TO -->
+<!ENTITY nap   "&#x2249;"> <!-- NOT ALMOST EQUAL TO -->
+<!ENTITY ncong "&#x2247;"> <!-- NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO -->
+<!ENTITY nequiv        "&#x2262;"> <!-- NOT IDENTICAL TO -->
+<!ENTITY ngE   "&#x2271;"> <!--  -->
+<!ENTITY nge   "&#x2271;"> <!-- NEITHER GREATER-THAN NOR EQUAL TO -->
+<!ENTITY nges  "&#x2271;"> <!--  -->
+<!ENTITY ngt   "&#x226F;"> <!-- NOT GREATER-THAN -->
+<!ENTITY nle   "&#x2270;"> <!-- NEITHER LESS-THAN NOR EQUAL TO -->
+<!ENTITY nlE   "&#x2270;"> <!--  -->
+<!ENTITY nles  "&#x2270;"> <!--  -->
+<!ENTITY nlt   "&#x226E;"> <!-- NOT LESS-THAN -->
+<!ENTITY nltri "&#x22EA;"> <!-- NOT NORMAL SUBGROUP OF -->
+<!ENTITY nltrie        "&#x22EC;"> <!-- NOT NORMAL SUBGROUP OF OR EQUAL TO -->
+<!ENTITY nmid  "&#x2224;"> <!-- DOES NOT DIVIDE -->
+<!ENTITY npar  "&#x2226;"> <!-- NOT PARALLEL TO -->
+<!ENTITY npr   "&#x2280;"> <!-- DOES NOT PRECEDE -->
+<!ENTITY npre  "&#x22E0;"> <!-- DOES NOT PRECEDE OR EQUAL -->
+<!ENTITY nrtri "&#x22EB;"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP -->
+<!ENTITY nrtrie        "&#x22ED;"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP OR 
EQUAL -->
+<!ENTITY nsc   "&#x2281;"> <!-- DOES NOT SUCCEED -->
+<!ENTITY nsce  "&#x22E1;"> <!-- DOES NOT SUCCEED OR EQUAL -->
+<!ENTITY nsim  "&#x2241;"> <!--  -->
+<!ENTITY nsime "&#x2244;"> <!--  -->
+<!ENTITY nsmid "&#xE2AA;"> <!--  -->
+<!ENTITY nspar "&#x2226;"> <!-- NOT PARALLEL TO -->
+<!ENTITY nsub  "&#x2284;"> <!-- NOT A SUBSET OF -->
+<!ENTITY nsube "&#x2288;"> <!--  -->
+<!ENTITY nsubE "&#x2288;"> <!--  -->
+<!ENTITY nsup  "&#x2285;"> <!-- NOT A SUPERSET OF -->
+<!ENTITY nsupE "&#x2289;"> <!--  -->
+<!ENTITY nsupe "&#x2289;"> <!--  -->
+<!ENTITY nvdash        "&#x22AC;"> <!-- DOES NOT PROVE -->
+<!ENTITY nvDash        "&#x22AD;"> <!-- NOT TRUE -->
+<!ENTITY nVDash        "&#x22AF;"> <!-- NEGATED DOUBLE VERTICAL BAR DOUBLE 
RIGHT TURNSTILE -->
+<!ENTITY nVdash        "&#x22AE;"> <!-- DOES NOT FORCE -->
+<!ENTITY prnap "&#x22E8;"> <!--  -->
+<!ENTITY prnE  "&#xE2B3;"> <!--  -->
+<!ENTITY prnsim        "&#x22E8;"> <!--  -->
+<!ENTITY scnap "&#x22E9;"> <!--  -->
+<!ENTITY scnE  "&#xE2B5;"> <!--  -->
+<!ENTITY scnsim        "&#x22E9;"> <!--  -->
+<!ENTITY subne "&#x228A;"> <!--  -->
+<!ENTITY subnE "&#x228A;"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY supne "&#x228B;"> <!--  -->
+<!ENTITY supnE "&#x228B;"> <!--  -->
+<!ENTITY vsubnE        "&#xE2B8;"> <!--  -->
+<!ENTITY vsubne        "&#x228A;"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsupne        "&#x228B;"> <!-- SUPERSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsupnE        "&#x228B;"> <!-- SUPERSET OF WITH NOT EQUAL TO -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amso.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amso.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,26 @@
+<!-- iso-amso.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY ang   "&#x2220;"> <!-- ANGLE -->
+<!ENTITY angmsd        "&#x2221;"> <!-- MEASURED ANGLE -->
+<!ENTITY beth  "&#x2136;"> <!-- BET SYMBOL -->
+<!ENTITY bprime        "&#x2035;"> <!-- REVERSED PRIME -->
+<!ENTITY comp  "&#x2201;"> <!-- COMPLEMENT -->
+<!ENTITY daleth        "&#x2138;"> <!-- DALET SYMBOL -->
+<!ENTITY ell   "&#x2113;"> <!-- SCRIPT SMALL L -->
+<!ENTITY empty "&#x2205;"> <!--  -->
+<!ENTITY gimel "&#x2137;"> <!-- GIMEL SYMBOL -->
+<!ENTITY image "&#x2111;"> <!-- BLACK-LETTER CAPITAL I -->
+<!ENTITY inodot        "&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
+<!--     jnodot        Unknown unicode character -->
+<!ENTITY nexist        "&#x2204;"> <!-- THERE DOES NOT EXIST -->
+<!ENTITY oS    "&#x24C8;"> <!-- CIRCLED LATIN CAPITAL LETTER S -->
+<!ENTITY planck        "&#x210F;"> <!-- PLANCK CONSTANT OVER TWO PI -->
+<!ENTITY real  "&#x211C;"> <!-- BLACK-LETTER CAPITAL R -->
+<!ENTITY sbsol "&#xFE68;"> <!-- SMALL REVERSE SOLIDUS -->
+<!ENTITY vprime        "&#x2032;"> <!-- PRIME -->
+<!ENTITY weierp        "&#x2118;"> <!-- SCRIPT CAPITAL P -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsr.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-amsr.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,91 @@
+<!-- iso-amsr.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY ape   "&#x224A;"> <!--  -->
+<!ENTITY asymp "&#x224D;"> <!-- EQUIVALENT TO -->
+<!ENTITY bcong "&#x224C;"> <!-- ALL EQUAL TO -->
+<!ENTITY bepsi "&#x220D;"> <!-- SMALL CONTAINS AS MEMBER -->
+<!ENTITY bowtie        "&#x22C8;"> <!--  -->
+<!ENTITY bsim  "&#x223D;"> <!--  -->
+<!ENTITY bsime "&#x22CD;"> <!--  -->
+<!ENTITY bump  "&#x224E;"> <!--  -->
+<!ENTITY bumpe "&#x224F;"> <!--  -->
+<!ENTITY cire  "&#x2257;"> <!--  -->
+<!ENTITY colone        "&#x2254;"> <!--  -->
+<!ENTITY cuepr "&#x22DE;"> <!--  -->
+<!ENTITY cuesc "&#x22DF;"> <!--  -->
+<!ENTITY cupre "&#x227C;"> <!--  -->
+<!ENTITY dashv "&#x22A3;"> <!--  -->
+<!ENTITY ecir  "&#x2256;"> <!--  -->
+<!ENTITY ecolon        "&#x2255;"> <!--  -->
+<!ENTITY eDot  "&#x2251;"> <!--  -->
+<!ENTITY esdot "&#x2250;"> <!--  -->
+<!ENTITY efDot "&#x2252;"> <!--  -->
+<!ENTITY egs   "&#x22DD;"> <!--  -->
+<!ENTITY els   "&#x22DC;"> <!--  -->
+<!ENTITY erDot "&#x2253;"> <!--  -->
+<!ENTITY fork  "&#x22D4;"> <!--  -->
+<!ENTITY frown "&#x2322;"> <!--  -->
+<!ENTITY gap   "&#x2273;"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY gsdot "&#x22D7;"> <!--  -->
+<!ENTITY gE    "&#x2267;"> <!--  -->
+<!ENTITY gel   "&#x22DB;"> <!--  -->
+<!ENTITY gEl   "&#x22DB;"> <!--  -->
+<!ENTITY ges   "&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
+<!ENTITY Gg    "&#x22D9;"> <!-- VERY MUCH GREATER-THAN -->
+<!ENTITY gl    "&#x2277;"> <!--  -->
+<!ENTITY gsim  "&#x2273;"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY Gt    "&#x226B;"> <!-- MUCH GREATER-THAN -->
+<!ENTITY lap   "&#x2272;"> <!-- LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY ldot  "&#x22D6;"> <!--  -->
+<!ENTITY lE    "&#x2266;"> <!--  -->
+<!ENTITY lEg   "&#x22DA;"> <!--  -->
+<!ENTITY leg   "&#x22DA;"> <!--  -->
+<!ENTITY les   "&#x2264;"> <!-- LESS-THAN OR EQUAL TO -->
+<!ENTITY lg    "&#x2276;"> <!-- LESS-THAN OR GREATER-THAN -->
+<!ENTITY Ll    "&#x22D8;"> <!--  -->
+<!ENTITY lsim  "&#x2272;"> <!-- LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY Lt    "&#x226A;"> <!-- MUCH LESS-THAN -->
+<!ENTITY ltrie "&#x22B4;"> <!--  -->
+<!ENTITY mid   "&#x2223;"> <!--  -->
+<!ENTITY models        "&#x22A7;"> <!-- MODELS -->
+<!ENTITY pr    "&#x227A;"> <!--  -->
+<!ENTITY prap  "&#x227E;"> <!--  -->
+<!ENTITY pre   "&#x227C;"> <!--  -->
+<!ENTITY prsim "&#x227E;"> <!--  -->
+<!ENTITY rtrie "&#x22B5;"> <!--  -->
+<!ENTITY samalg        "&#x2210;"> <!--  -->
+<!ENTITY sc    "&#x227B;"> <!--  -->
+<!ENTITY scap  "&#x227F;"> <!--  -->
+<!ENTITY sccue "&#x227D;"> <!--  -->
+<!ENTITY sce   "&#x227D;"> <!--  -->
+<!ENTITY scsim "&#x227F;"> <!--  -->
+<!ENTITY sfrown        "&#x2322;"> <!-- FROWN -->
+<!ENTITY smid  "&#xE301;"> <!--  -->
+<!ENTITY smile "&#x2323;"> <!--  -->
+<!ENTITY spar  "&#x2225;"> <!-- PARALLEL TO -->
+<!ENTITY sqsub "&#x228F;"> <!--  -->
+<!ENTITY sqsube        "&#x2291;"> <!--  -->
+<!ENTITY sqsup "&#x2290;"> <!--  -->
+<!ENTITY sqsupe        "&#x2292;"> <!--  -->
+<!ENTITY ssmile        "&#x2323;"> <!-- SMILE -->
+<!ENTITY Sub   "&#x22D0;"> <!--  -->
+<!ENTITY subE  "&#x2286;"> <!--  -->
+<!ENTITY Sup   "&#x22D1;"> <!--  -->
+<!ENTITY supE  "&#x2287;"> <!--  -->
+<!ENTITY thkap "&#x2248;"> <!-- ALMOST EQUAL TO -->
+<!ENTITY thksim        "&#x223C;"> <!-- TILDE OPERATOR -->
+<!ENTITY trie  "&#x225C;"> <!--  -->
+<!ENTITY twixt "&#x226C;"> <!-- BETWEEN -->
+<!ENTITY vdash "&#x22A2;"> <!--  -->
+<!ENTITY Vdash "&#x22A9;"> <!--  -->
+<!ENTITY vDash "&#x22A8;"> <!--  -->
+<!ENTITY veebar        "&#x22BB;"> <!--  -->
+<!ENTITY vltri "&#x22B2;"> <!--  -->
+<!ENTITY vprop "&#x221D;"> <!--  -->
+<!ENTITY vrtri "&#x22B3;"> <!--  -->
+<!ENTITY Vvdash        "&#x22AA;"> <!--  -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-box.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-box.ent
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,45 @@
+<!-- iso-box.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY boxh  "&#x2500;"> <!-- BOX DRAWINGS LIGHT HORIZONTAL -->
+<!ENTITY boxv  "&#x2502;"> <!-- BOX DRAWINGS LIGHT VERTICAL -->
+<!ENTITY boxur "&#x2514;"> <!-- BOX DRAWINGS LIGHT UP AND RIGHT -->
+<!ENTITY boxul "&#x2518;"> <!-- BOX DRAWINGS LIGHT UP AND LEFT -->
+<!ENTITY boxdl "&#x2510;"> <!-- BOX DRAWINGS LIGHT DOWN AND LEFT -->
+<!ENTITY boxdr "&#x250C;"> <!-- BOX DRAWINGS LIGHT DOWN AND RIGHT -->
+<!ENTITY boxvr "&#x251C;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND RIGHT -->
+<!ENTITY boxhu "&#x2534;"> <!-- BOX DRAWINGS LIGHT UP AND HORIZONTAL -->
+<!ENTITY boxvl "&#x2524;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND LEFT -->
+<!ENTITY boxhd "&#x252C;"> <!-- BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -->
+<!ENTITY boxvh "&#x253C;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -->
+<!ENTITY boxvR "&#x255E;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE 
-->
+<!ENTITY boxhU "&#x2567;"> <!-- BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE 
-->
+<!ENTITY boxvL "&#x2561;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE 
-->
+<!ENTITY boxhD "&#x2564;"> <!-- BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE 
-->
+<!ENTITY boxvH "&#x256A;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL 
DOUBLE -->
+<!ENTITY boxH  "&#x2550;"> <!-- BOX DRAWINGS DOUBLE HORIZONTAL -->
+<!ENTITY boxV  "&#x2551;"> <!-- BOX DRAWINGS DOUBLE VERTICAL -->
+<!ENTITY boxUR "&#x2558;"> <!-- BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxUL "&#x255B;"> <!-- BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxDL "&#x2555;"> <!-- BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxDR "&#x2552;"> <!-- BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxVR "&#x255F;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE 
-->
+<!ENTITY boxHU "&#x2568;"> <!-- BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE 
-->
+<!ENTITY boxVL "&#x2562;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE 
-->
+<!ENTITY boxHD "&#x2565;"> <!-- BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE 
-->
+<!ENTITY boxVH "&#x256B;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL 
SINGLE -->
+<!ENTITY boxVr "&#x2560;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -->
+<!ENTITY boxHu "&#x2569;"> <!-- BOX DRAWINGS DOUBLE UP AND HORIZONTAL -->
+<!ENTITY boxVl "&#x2563;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND LEFT -->
+<!ENTITY boxHd "&#x2566;"> <!-- BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -->
+<!ENTITY boxVh "&#x256C;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -->
+<!ENTITY boxuR "&#x2559;"> <!-- BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxUl "&#x255C;"> <!-- BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxdL "&#x2556;"> <!-- BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxDr "&#x2553;"> <!-- BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxUr "&#x255A;"> <!-- BOX DRAWINGS DOUBLE UP AND RIGHT -->
+<!ENTITY boxuL "&#x255D;"> <!-- BOX DRAWINGS DOUBLE UP AND LEFT -->
+<!ENTITY boxDl "&#x2557;"> <!-- BOX DRAWINGS DOUBLE DOWN AND LEFT -->
+<!ENTITY boxdR "&#x2554;"> <!-- BOX DRAWINGS DOUBLE DOWN AND RIGHT -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-cyr1.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-cyr1.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,72 @@
+<!-- iso-cyr1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY acy   "&#x0430;"> <!-- CYRILLIC SMALL LETTER A -->
+<!ENTITY Acy   "&#x0410;"> <!-- CYRILLIC CAPITAL LETTER A -->
+<!ENTITY bcy   "&#x0431;"> <!-- CYRILLIC SMALL LETTER BE -->
+<!ENTITY Bcy   "&#x0411;"> <!-- CYRILLIC CAPITAL LETTER BE -->
+<!ENTITY vcy   "&#x0432;"> <!-- CYRILLIC SMALL LETTER VE -->
+<!ENTITY Vcy   "&#x0412;"> <!-- CYRILLIC CAPITAL LETTER VE -->
+<!ENTITY gcy   "&#x0433;"> <!-- CYRILLIC SMALL LETTER GHE -->
+<!ENTITY Gcy   "&#x0413;"> <!-- CYRILLIC CAPITAL LETTER GHE -->
+<!ENTITY dcy   "&#x0434;"> <!-- CYRILLIC SMALL LETTER DE -->
+<!ENTITY Dcy   "&#x0414;"> <!-- CYRILLIC CAPITAL LETTER DE -->
+<!ENTITY iecy  "&#x0435;"> <!-- CYRILLIC SMALL LETTER IE -->
+<!ENTITY IEcy  "&#x0415;"> <!-- CYRILLIC CAPITAL LETTER IE -->
+<!ENTITY iocy  "&#x0451;"> <!-- CYRILLIC SMALL LETTER IO -->
+<!ENTITY IOcy  "&#x0401;"> <!-- CYRILLIC CAPITAL LETTER IO -->
+<!ENTITY zhcy  "&#x0436;"> <!-- CYRILLIC SMALL LETTER ZHE -->
+<!ENTITY ZHcy  "&#x0416;"> <!-- CYRILLIC CAPITAL LETTER ZHE -->
+<!ENTITY zcy   "&#x0437;"> <!-- CYRILLIC SMALL LETTER ZE -->
+<!ENTITY Zcy   "&#x0417;"> <!-- CYRILLIC CAPITAL LETTER ZE -->
+<!ENTITY icy   "&#x0438;"> <!-- CYRILLIC SMALL LETTER I -->
+<!ENTITY Icy   "&#x0418;"> <!-- CYRILLIC CAPITAL LETTER I -->
+<!ENTITY jcy   "&#x0439;"> <!-- CYRILLIC SMALL LETTER SHORT I -->
+<!ENTITY Jcy   "&#x0419;"> <!-- CYRILLIC CAPITAL LETTER SHORT I -->
+<!ENTITY kcy   "&#x043A;"> <!-- CYRILLIC SMALL LETTER KA -->
+<!ENTITY Kcy   "&#x041A;"> <!-- CYRILLIC CAPITAL LETTER KA -->
+<!ENTITY lcy   "&#x043B;"> <!-- CYRILLIC SMALL LETTER EL -->
+<!ENTITY Lcy   "&#x041B;"> <!-- CYRILLIC CAPITAL LETTER EL -->
+<!ENTITY mcy   "&#x043C;"> <!-- CYRILLIC SMALL LETTER EM -->
+<!ENTITY Mcy   "&#x041C;"> <!-- CYRILLIC CAPITAL LETTER EM -->
+<!ENTITY ncy   "&#x043D;"> <!-- CYRILLIC SMALL LETTER EN -->
+<!ENTITY Ncy   "&#x041D;"> <!-- CYRILLIC CAPITAL LETTER EN -->
+<!ENTITY ocy   "&#x043E;"> <!-- CYRILLIC SMALL LETTER O -->
+<!ENTITY Ocy   "&#x041E;"> <!-- CYRILLIC CAPITAL LETTER O -->
+<!ENTITY pcy   "&#x043F;"> <!-- CYRILLIC SMALL LETTER PE -->
+<!ENTITY Pcy   "&#x041F;"> <!-- CYRILLIC CAPITAL LETTER PE -->
+<!ENTITY rcy   "&#x0440;"> <!-- CYRILLIC SMALL LETTER ER -->
+<!ENTITY Rcy   "&#x0420;"> <!-- CYRILLIC CAPITAL LETTER ER -->
+<!ENTITY scy   "&#x0441;"> <!-- CYRILLIC SMALL LETTER ES -->
+<!ENTITY Scy   "&#x0421;"> <!-- CYRILLIC CAPITAL LETTER ES -->
+<!ENTITY tcy   "&#x0442;"> <!-- CYRILLIC SMALL LETTER TE -->
+<!ENTITY Tcy   "&#x0422;"> <!-- CYRILLIC CAPITAL LETTER TE -->
+<!ENTITY ucy   "&#x0443;"> <!-- CYRILLIC SMALL LETTER U -->
+<!ENTITY Ucy   "&#x0423;"> <!-- CYRILLIC CAPITAL LETTER U -->
+<!ENTITY fcy   "&#x0444;"> <!-- CYRILLIC SMALL LETTER EF -->
+<!ENTITY Fcy   "&#x0424;"> <!-- CYRILLIC CAPITAL LETTER EF -->
+<!ENTITY khcy  "&#x0445;"> <!-- CYRILLIC SMALL LETTER HA -->
+<!ENTITY KHcy  "&#x0425;"> <!-- CYRILLIC CAPITAL LETTER HA -->
+<!ENTITY tscy  "&#x0446;"> <!-- CYRILLIC SMALL LETTER TSE -->
+<!ENTITY TScy  "&#x0426;"> <!-- CYRILLIC CAPITAL LETTER TSE -->
+<!ENTITY chcy  "&#x0447;"> <!-- CYRILLIC SMALL LETTER CHE -->
+<!ENTITY CHcy  "&#x0427;"> <!-- CYRILLIC CAPITAL LETTER CHE -->
+<!ENTITY shcy  "&#x0448;"> <!-- CYRILLIC SMALL LETTER SHA -->
+<!ENTITY SHcy  "&#x0428;"> <!-- CYRILLIC CAPITAL LETTER SHA -->
+<!ENTITY shchcy        "&#x0449;"> <!-- CYRILLIC SMALL LETTER SHCHA -->
+<!ENTITY SHCHcy        "&#x0429;"> <!-- CYRILLIC CAPITAL LETTER SHCHA -->
+<!ENTITY hardcy        "&#x044A;"> <!-- CYRILLIC SMALL LETTER HARD SIGN -->
+<!ENTITY HARDcy        "&#x042A;"> <!-- CYRILLIC CAPITAL LETTER HARD SIGN -->
+<!ENTITY ycy   "&#x044B;"> <!-- CYRILLIC SMALL LETTER YERU -->
+<!ENTITY Ycy   "&#x042B;"> <!-- CYRILLIC CAPITAL LETTER YERU -->
+<!ENTITY softcy        "&#x044C;"> <!-- CYRILLIC SMALL LETTER SOFT SIGN -->
+<!ENTITY SOFTcy        "&#x042C;"> <!-- CYRILLIC CAPITAL LETTER SOFT SIGN -->
+<!ENTITY ecy   "&#x044D;"> <!-- CYRILLIC SMALL LETTER E -->
+<!ENTITY Ecy   "&#x042D;"> <!-- CYRILLIC CAPITAL LETTER E -->
+<!ENTITY yucy  "&#x044E;"> <!-- CYRILLIC SMALL LETTER YU -->
+<!ENTITY YUcy  "&#x042E;"> <!-- CYRILLIC CAPITAL LETTER YU -->
+<!ENTITY yacy  "&#x044F;"> <!-- CYRILLIC SMALL LETTER YA -->
+<!ENTITY YAcy  "&#x042F;"> <!-- CYRILLIC CAPITAL LETTER YA -->
+<!ENTITY numero        "&#x2116;"> <!-- NUMERO SIGN -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-cyr2.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-cyr2.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,31 @@
+<!-- iso-cyr2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY djcy  "&#x0452;"> <!-- CYRILLIC SMALL LETTER DJE -->
+<!ENTITY DJcy  "&#x0402;"> <!-- CYRILLIC CAPITAL LETTER DJE -->
+<!ENTITY gjcy  "&#x0453;"> <!-- CYRILLIC SMALL LETTER GJE -->
+<!ENTITY GJcy  "&#x0403;"> <!-- CYRILLIC CAPITAL LETTER GJE -->
+<!ENTITY jukcy "&#x0454;"> <!-- CYRILLIC SMALL LETTER UKRAINIAN IE -->
+<!ENTITY Jukcy "&#x0404;"> <!-- CYRILLIC CAPITAL LETTER UKRAINIAN IE -->
+<!ENTITY dscy  "&#x0455;"> <!-- CYRILLIC SMALL LETTER DZE -->
+<!ENTITY DScy  "&#x0405;"> <!-- CYRILLIC CAPITAL LETTER DZE -->
+<!ENTITY iukcy "&#x0456;"> <!-- CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 
-->
+<!ENTITY Iukcy "&#x0406;"> <!-- CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN 
I -->
+<!ENTITY yicy  "&#x0457;"> <!-- CYRILLIC SMALL LETTER YI -->
+<!ENTITY YIcy  "&#x0407;"> <!-- CYRILLIC CAPITAL LETTER YI -->
+<!ENTITY jsercy        "&#x0458;"> <!-- CYRILLIC SMALL LETTER JE -->
+<!ENTITY Jsercy        "&#x0408;"> <!-- CYRILLIC CAPITAL LETTER JE -->
+<!ENTITY ljcy  "&#x0459;"> <!-- CYRILLIC SMALL LETTER LJE -->
+<!ENTITY LJcy  "&#x0409;"> <!-- CYRILLIC CAPITAL LETTER LJE -->
+<!ENTITY njcy  "&#x045A;"> <!-- CYRILLIC SMALL LETTER NJE -->
+<!ENTITY NJcy  "&#x040A;"> <!-- CYRILLIC CAPITAL LETTER NJE -->
+<!ENTITY tshcy "&#x045B;"> <!-- CYRILLIC SMALL LETTER TSHE -->
+<!ENTITY TSHcy "&#x040B;"> <!-- CYRILLIC CAPITAL LETTER TSHE -->
+<!ENTITY kjcy  "&#x045C;"> <!-- CYRILLIC SMALL LETTER KJE -->
+<!ENTITY KJcy  "&#x040C;"> <!-- CYRILLIC CAPITAL LETTER KJE -->
+<!ENTITY ubrcy "&#x045E;"> <!-- CYRILLIC SMALL LETTER SHORT U -->
+<!ENTITY Ubrcy "&#x040E;"> <!-- CYRILLIC CAPITAL LETTER SHORT U -->
+<!ENTITY dzcy  "&#x045F;"> <!-- CYRILLIC SMALL LETTER DZHE -->
+<!ENTITY DZcy  "&#x040F;"> <!-- CYRILLIC CAPITAL LETTER DZHE -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-dia.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-dia.ent
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,19 @@
+<!-- iso-dia.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY acute "&#x00B4;"> <!-- ACUTE ACCENT -->
+<!ENTITY breve "&#x02D8;"> <!-- BREVE -->
+<!ENTITY caron "&#x02C7;"> <!-- CARON -->
+<!ENTITY cedil "&#x00B8;"> <!-- CEDILLA -->
+<!ENTITY circ  "&#x005E;"> <!-- RING OPERATOR -->
+<!ENTITY dblac "&#x02DD;"> <!-- DOUBLE ACUTE ACCENT -->
+<!ENTITY die   "&#x00A8;"> <!--  -->
+<!ENTITY dot   "&#x02D9;"> <!-- DOT ABOVE -->
+<!ENTITY grave "&#x0060;"> <!-- GRAVE ACCENT -->
+<!ENTITY macr  "&#x00AF;"> <!-- MACRON -->
+<!ENTITY ogon  "&#x02DB;"> <!-- OGONEK -->
+<!ENTITY ring  "&#x02DA;"> <!-- RING ABOVE -->
+<!ENTITY tilde "&#x02DC;"> <!-- TILDE -->
+<!ENTITY uml   "&#x00A8;"> <!--  -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk1.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk1.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,54 @@
+<!-- iso-grk1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY agr   "&#x03B1;"> <!--  -->
+<!ENTITY Agr   "&#x0391;"> <!-- GREEK CAPITAL LETTER ALPHA -->
+<!ENTITY bgr   "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY Bgr   "&#x0392;"> <!-- GREEK CAPITAL LETTER BETA -->
+<!ENTITY ggr   "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY Ggr   "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY dgr   "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY Dgr   "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY egr   "&#x03B5;"> <!--  -->
+<!ENTITY Egr   "&#x0395;"> <!-- GREEK CAPITAL LETTER EPSILON -->
+<!ENTITY zgr   "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY Zgr   "&#x0396;"> <!-- GREEK CAPITAL LETTER ZETA -->
+<!ENTITY eegr  "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY EEgr  "&#x0397;"> <!-- GREEK CAPITAL LETTER ETA -->
+<!ENTITY thgr  "&#x03B8;"> <!--  -->
+<!ENTITY THgr  "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY igr   "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY Igr   "&#x0399;"> <!-- GREEK CAPITAL LETTER IOTA -->
+<!ENTITY kgr   "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY Kgr   "&#x039A;"> <!-- GREEK CAPITAL LETTER KAPPA -->
+<!ENTITY lgr   "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY Lgr   "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY mgr   "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY Mgr   "&#x039C;"> <!-- GREEK CAPITAL LETTER MU -->
+<!ENTITY ngr   "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY Ngr   "&#x039D;"> <!-- GREEK CAPITAL LETTER NU -->
+<!ENTITY xgr   "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY Xgr   "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY ogr   "&#x03BF;"> <!-- GREEK SMALL LETTER OMICRON -->
+<!ENTITY Ogr   "&#x039F;"> <!-- GREEK CAPITAL LETTER OMICRON -->
+<!ENTITY pgr   "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY Pgr   "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY rgr   "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY Rgr   "&#x03A1;"> <!-- GREEK CAPITAL LETTER RHO -->
+<!ENTITY sgr   "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY Sgr   "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sfgr  "&#x03C2;"> <!--  -->
+<!ENTITY tgr   "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY Tgr   "&#x03A4;"> <!-- GREEK CAPITAL LETTER TAU -->
+<!ENTITY ugr   "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY Ugr   "&#x03A5;"> <!--  -->
+<!ENTITY phgr  "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY PHgr  "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY khgr  "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY KHgr  "&#x03A7;"> <!-- GREEK CAPITAL LETTER CHI -->
+<!ENTITY psgr  "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY PSgr  "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY ohgr  "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY OHgr  "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk2.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk2.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,25 @@
+<!-- iso-grk2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY aacgr "&#x03AC;"> <!-- GREEK SMALL LETTER ALPHA WITH TONOS -->
+<!ENTITY Aacgr "&#x0386;"> <!-- GREEK CAPITAL LETTER ALPHA WITH TONOS -->
+<!ENTITY eacgr "&#x03AD;"> <!-- GREEK SMALL LETTER EPSILON WITH TONOS -->
+<!ENTITY Eacgr "&#x0388;"> <!-- GREEK CAPITAL LETTER EPSILON WITH TONOS -->
+<!ENTITY eeacgr        "&#x03AE;"> <!-- GREEK SMALL LETTER ETA WITH TONOS -->
+<!ENTITY EEacgr        "&#x0389;"> <!-- GREEK CAPITAL LETTER ETA WITH TONOS -->
+<!ENTITY idigr "&#x03CA;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY Idigr "&#x03AA;"> <!-- GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY iacgr "&#x03AF;"> <!-- GREEK SMALL LETTER IOTA WITH TONOS -->
+<!ENTITY Iacgr "&#x038A;"> <!-- GREEK CAPITAL LETTER IOTA WITH TONOS -->
+<!ENTITY idiagr        "&#x0390;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA 
AND TONOS -->
+<!ENTITY oacgr "&#x03CC;"> <!-- GREEK SMALL LETTER OMICRON WITH TONOS -->
+<!ENTITY Oacgr "&#x038C;"> <!-- GREEK CAPITAL LETTER OMICRON WITH TONOS -->
+<!ENTITY udigr "&#x03CB;"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY Udigr "&#x03AB;"> <!-- GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY uacgr "&#x03CD;"> <!-- GREEK SMALL LETTER UPSILON WITH TONOS -->
+<!ENTITY Uacgr "&#x038E;"> <!-- GREEK CAPITAL LETTER UPSILON WITH TONOS -->
+<!ENTITY udiagr        "&#x03B0;"> <!-- GREEK SMALL LETTER UPSILON WITH 
DIALYTIKA AND TONOS -->
+<!ENTITY ohacgr        "&#x03CE;"> <!-- GREEK SMALL LETTER OMEGA WITH TONOS -->
+<!ENTITY OHacgr        "&#x038F;"> <!-- GREEK CAPITAL LETTER OMEGA WITH TONOS 
-->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk3.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk3.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,48 @@
+<!-- iso-grk3.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY alpha "&#x03B1;"> <!--  -->
+<!ENTITY beta  "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY gamma "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY Gamma "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY gammad        "&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
+<!ENTITY delta "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY Delta "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY epsi  "&#x220A;"> <!--  -->
+<!ENTITY epsiv "&#x03B5;"> <!--  -->
+<!ENTITY epsis "&#x220A;"> <!--  -->
+<!ENTITY zeta  "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY eta   "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY thetas        "&#x03B8;"> <!--  -->
+<!ENTITY Theta "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY thetav        "&#x03D1;"> <!--  -->
+<!ENTITY iota  "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY kappa "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY kappav        "&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
+<!ENTITY lambda        "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY Lambda        "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY mu    "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY nu    "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY xi    "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY Xi    "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY pi    "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY piv   "&#x03D6;"> <!-- GREEK PI SYMBOL -->
+<!ENTITY Pi    "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY rho   "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY rhov  "&#x03F1;"> <!-- GREEK RHO SYMBOL -->
+<!ENTITY sigma "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY Sigma "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sigmav        "&#x03C2;"> <!--  -->
+<!ENTITY tau   "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY upsi  "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY Upsi  "&#x03D2;"> <!--  -->
+<!ENTITY phis  "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY Phi   "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY phiv  "&#x03D5;"> <!-- GREEK PHI SYMBOL -->
+<!ENTITY chi   "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY psi   "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY Psi   "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY omega "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY Omega "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk4.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-grk4.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,48 @@
+<!-- iso-grk4.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY b.alpha       "&#x03B1;"> <!--  -->
+<!ENTITY b.beta        "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY b.gamma       "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY b.Gamma       "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY b.gammad      "&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
+<!ENTITY b.delta       "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY b.Delta       "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY b.epsi        "&#x03B5;"> <!--  -->
+<!ENTITY b.epsiv       "&#x03B5;"> <!--  -->
+<!ENTITY b.epsis       "&#x03B5;"> <!--  -->
+<!ENTITY b.zeta        "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY b.eta "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY b.thetas      "&#x03B8;"> <!--  -->
+<!ENTITY b.Theta       "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY b.thetav      "&#x03D1;"> <!--  -->
+<!ENTITY b.iota        "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY b.kappa       "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY b.kappav      "&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
+<!ENTITY b.lambda      "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY b.Lambda      "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY b.mu  "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY b.nu  "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY b.xi  "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY b.Xi  "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY b.pi  "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY b.Pi  "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY b.piv "&#x03D6;"> <!-- GREEK PI SYMBOL -->
+<!ENTITY b.rho "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY b.rhov        "&#x03F1;"> <!-- GREEK RHO SYMBOL -->
+<!ENTITY b.sigma       "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY b.Sigma       "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY b.sigmav      "&#x03C2;"> <!--  -->
+<!ENTITY b.tau "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY b.upsi        "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY b.Upsi        "&#x03D2;"> <!--  -->
+<!ENTITY b.phis        "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY b.Phi "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY b.phiv        "&#x03D5;"> <!-- GREEK PHI SYMBOL -->
+<!ENTITY b.chi "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY b.psi "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY b.Psi "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY b.omega       "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY b.Omega       "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-lat1.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-lat1.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,67 @@
+<!-- iso-lat1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY aacute        "&#x00E1;"> <!-- LATIN SMALL LETTER A WITH ACUTE -->
+<!ENTITY Aacute        "&#x00C1;"> <!-- LATIN CAPITAL LETTER A WITH ACUTE -->
+<!ENTITY acirc "&#x00E2;"> <!-- LATIN SMALL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY Acirc "&#x00C2;"> <!-- LATIN CAPITAL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY agrave        "&#x00E0;"> <!-- LATIN SMALL LETTER A WITH GRAVE -->
+<!ENTITY Agrave        "&#x00C0;"> <!-- LATIN CAPITAL LETTER A WITH GRAVE -->
+<!ENTITY aring "&#x00E5;"> <!-- LATIN SMALL LETTER A WITH RING ABOVE -->
+<!ENTITY Aring "&#x00C5;"> <!-- LATIN CAPITAL LETTER A WITH RING ABOVE -->
+<!ENTITY atilde        "&#x00E3;"> <!-- LATIN SMALL LETTER A WITH TILDE -->
+<!ENTITY Atilde        "&#x00C3;"> <!-- LATIN CAPITAL LETTER A WITH TILDE -->
+<!ENTITY auml  "&#x00E4;"> <!-- LATIN SMALL LETTER A WITH DIAERESIS -->
+<!ENTITY Auml  "&#x00C4;"> <!-- LATIN CAPITAL LETTER A WITH DIAERESIS -->
+<!ENTITY aelig "&#x00E6;"> <!-- LATIN SMALL LETTER AE -->
+<!ENTITY AElig "&#x00C6;"> <!-- LATIN CAPITAL LETTER AE -->
+<!ENTITY ccedil        "&#x00E7;"> <!-- LATIN SMALL LETTER C WITH CEDILLA -->
+<!ENTITY Ccedil        "&#x00C7;"> <!-- LATIN CAPITAL LETTER C WITH CEDILLA -->
+<!ENTITY eth   "&#x00F0;"> <!-- LATIN SMALL LETTER ETH -->
+<!ENTITY ETH   "&#x00D0;"> <!-- LATIN CAPITAL LETTER ETH -->
+<!ENTITY eacute        "&#x00E9;"> <!-- LATIN SMALL LETTER E WITH ACUTE -->
+<!ENTITY Eacute        "&#x00C9;"> <!-- LATIN CAPITAL LETTER E WITH ACUTE -->
+<!ENTITY ecirc "&#x00EA;"> <!-- LATIN SMALL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY Ecirc "&#x00CA;"> <!-- LATIN CAPITAL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY egrave        "&#x00E8;"> <!-- LATIN SMALL LETTER E WITH GRAVE -->
+<!ENTITY Egrave        "&#x00C8;"> <!-- LATIN CAPITAL LETTER E WITH GRAVE -->
+<!ENTITY euml  "&#x00EB;"> <!-- LATIN SMALL LETTER E WITH DIAERESIS -->
+<!ENTITY Euml  "&#x00CB;"> <!-- LATIN CAPITAL LETTER E WITH DIAERESIS -->
+<!ENTITY iacute        "&#x00ED;"> <!-- LATIN SMALL LETTER I WITH ACUTE -->
+<!ENTITY Iacute        "&#x00CD;"> <!-- LATIN CAPITAL LETTER I WITH ACUTE -->
+<!ENTITY icirc "&#x00EE;"> <!-- LATIN SMALL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY Icirc "&#x00CE;"> <!-- LATIN CAPITAL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY igrave        "&#x00EC;"> <!-- LATIN SMALL LETTER I WITH GRAVE -->
+<!ENTITY Igrave        "&#x00CC;"> <!-- LATIN CAPITAL LETTER I WITH GRAVE -->
+<!ENTITY iuml  "&#x00EF;"> <!-- LATIN SMALL LETTER I WITH DIAERESIS -->
+<!ENTITY Iuml  "&#x00CF;"> <!-- LATIN CAPITAL LETTER I WITH DIAERESIS -->
+<!ENTITY ntilde        "&#x00F1;"> <!-- LATIN SMALL LETTER N WITH TILDE -->
+<!ENTITY Ntilde        "&#x00D1;"> <!-- LATIN CAPITAL LETTER N WITH TILDE -->
+<!ENTITY oacute        "&#x00F3;"> <!-- LATIN SMALL LETTER O WITH ACUTE -->
+<!ENTITY Oacute        "&#x00D3;"> <!-- LATIN CAPITAL LETTER O WITH ACUTE -->
+<!ENTITY ocirc "&#x00F4;"> <!-- LATIN SMALL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY Ocirc "&#x00D4;"> <!-- LATIN CAPITAL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY ograve        "&#x00F2;"> <!-- LATIN SMALL LETTER O WITH GRAVE -->
+<!ENTITY Ograve        "&#x00D2;"> <!-- LATIN CAPITAL LETTER O WITH GRAVE -->
+<!ENTITY oslash        "&#x00F8;"> <!-- CIRCLED DIVISION SLASH -->
+<!ENTITY Oslash        "&#x00D8;"> <!-- LATIN CAPITAL LETTER O WITH STROKE -->
+<!ENTITY otilde        "&#x00F5;"> <!-- LATIN SMALL LETTER O WITH TILDE -->
+<!ENTITY Otilde        "&#x00D5;"> <!-- LATIN CAPITAL LETTER O WITH TILDE -->
+<!ENTITY ouml  "&#x00F6;"> <!-- LATIN SMALL LETTER O WITH DIAERESIS -->
+<!ENTITY Ouml  "&#x00D6;"> <!-- LATIN CAPITAL LETTER O WITH DIAERESIS -->
+<!ENTITY szlig "&#x00DF;"> <!-- LATIN SMALL LETTER SHARP S -->
+<!ENTITY thorn "&#x00FE;"> <!-- LATIN SMALL LETTER THORN -->
+<!ENTITY THORN "&#x00DE;"> <!-- LATIN CAPITAL LETTER THORN -->
+<!ENTITY uacute        "&#x00FA;"> <!-- LATIN SMALL LETTER U WITH ACUTE -->
+<!ENTITY Uacute        "&#x00DA;"> <!-- LATIN CAPITAL LETTER U WITH ACUTE -->
+<!ENTITY ucirc "&#x00FB;"> <!-- LATIN SMALL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY Ucirc "&#x00DB;"> <!-- LATIN CAPITAL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY ugrave        "&#x00F9;"> <!-- LATIN SMALL LETTER U WITH GRAVE -->
+<!ENTITY Ugrave        "&#x00D9;"> <!-- LATIN CAPITAL LETTER U WITH GRAVE -->
+<!ENTITY uuml  "&#x00FC;"> <!-- LATIN SMALL LETTER U WITH DIAERESIS -->
+<!ENTITY Uuml  "&#x00DC;"> <!-- LATIN CAPITAL LETTER U WITH DIAERESIS -->
+<!ENTITY yacute        "&#x00FD;"> <!-- LATIN SMALL LETTER Y WITH ACUTE -->
+<!ENTITY Yacute        "&#x00DD;"> <!-- LATIN CAPITAL LETTER Y WITH ACUTE -->
+<!ENTITY yuml  "&#x00FF;"> <!-- LATIN SMALL LETTER Y WITH DIAERESIS -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-lat2.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-lat2.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,126 @@
+<!-- iso-lat2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY abreve        "&#x0103;"> <!-- LATIN SMALL LETTER A WITH BREVE -->
+<!ENTITY Abreve        "&#x0102;"> <!-- LATIN CAPITAL LETTER A WITH BREVE -->
+<!ENTITY amacr "&#x0101;"> <!-- LATIN SMALL LETTER A WITH MACRON -->
+<!ENTITY Amacr "&#x0100;"> <!-- LATIN CAPITAL LETTER A WITH MACRON -->
+<!ENTITY aogon "&#x0105;"> <!-- LATIN SMALL LETTER A WITH OGONEK -->
+<!ENTITY Aogon "&#x0104;"> <!-- LATIN CAPITAL LETTER A WITH OGONEK -->
+<!ENTITY cacute        "&#x0107;"> <!-- LATIN SMALL LETTER C WITH ACUTE -->
+<!ENTITY Cacute        "&#x0106;"> <!-- LATIN CAPITAL LETTER C WITH ACUTE -->
+<!ENTITY ccaron        "&#x010D;"> <!-- LATIN SMALL LETTER C WITH CARON -->
+<!ENTITY Ccaron        "&#x010C;"> <!-- LATIN CAPITAL LETTER C WITH CARON -->
+<!ENTITY ccirc "&#x0109;"> <!-- LATIN SMALL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY Ccirc "&#x0108;"> <!-- LATIN CAPITAL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY cdot  "&#x010B;"> <!-- DOT OPERATOR -->
+<!ENTITY Cdot  "&#x010A;"> <!-- LATIN CAPITAL LETTER C WITH DOT ABOVE -->
+<!ENTITY dcaron        "&#x010F;"> <!-- LATIN SMALL LETTER D WITH CARON -->
+<!ENTITY Dcaron        "&#x010E;"> <!-- LATIN CAPITAL LETTER D WITH CARON -->
+<!ENTITY dstrok        "&#x0111;"> <!-- LATIN SMALL LETTER D WITH STROKE -->
+<!ENTITY Dstrok        "&#x0110;"> <!-- LATIN CAPITAL LETTER D WITH STROKE -->
+<!ENTITY ecaron        "&#x011B;"> <!-- LATIN SMALL LETTER E WITH CARON -->
+<!ENTITY Ecaron        "&#x011A;"> <!-- LATIN CAPITAL LETTER E WITH CARON -->
+<!ENTITY edot  "&#x0117;"> <!-- LATIN SMALL LETTER E WITH DOT ABOVE -->
+<!ENTITY Edot  "&#x0116;"> <!-- LATIN CAPITAL LETTER E WITH DOT ABOVE -->
+<!ENTITY emacr "&#x0113;"> <!-- LATIN SMALL LETTER E WITH MACRON -->
+<!ENTITY Emacr "&#x0112;"> <!-- LATIN CAPITAL LETTER E WITH MACRON -->
+<!ENTITY eogon "&#x0119;"> <!-- LATIN SMALL LETTER E WITH OGONEK -->
+<!ENTITY Eogon "&#x0118;"> <!-- LATIN CAPITAL LETTER E WITH OGONEK -->
+<!ENTITY gacute        "&#x01F5;"> <!-- LATIN SMALL LETTER G WITH ACUTE -->
+<!ENTITY gbreve        "&#x011F;"> <!-- LATIN SMALL LETTER G WITH BREVE -->
+<!ENTITY Gbreve        "&#x011E;"> <!-- LATIN CAPITAL LETTER G WITH BREVE -->
+<!ENTITY Gcedil        "&#x0122;"> <!-- LATIN CAPITAL LETTER G WITH CEDILLA -->
+<!ENTITY gcirc "&#x011D;"> <!-- LATIN SMALL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY Gcirc "&#x011C;"> <!-- LATIN CAPITAL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY gdot  "&#x0121;"> <!-- LATIN SMALL LETTER G WITH DOT ABOVE -->
+<!ENTITY Gdot  "&#x0120;"> <!-- LATIN CAPITAL LETTER G WITH DOT ABOVE -->
+<!ENTITY hcirc "&#x0125;"> <!-- LATIN SMALL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY Hcirc "&#x0124;"> <!-- LATIN CAPITAL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY hstrok        "&#x0127;"> <!-- LATIN SMALL LETTER H WITH STROKE -->
+<!ENTITY Hstrok        "&#x0126;"> <!-- LATIN CAPITAL LETTER H WITH STROKE -->
+<!ENTITY Idot  "&#x0130;"> <!-- LATIN CAPITAL LETTER I WITH DOT ABOVE -->
+<!ENTITY Imacr "&#x012A;"> <!-- LATIN CAPITAL LETTER I WITH MACRON -->
+<!ENTITY imacr "&#x012B;"> <!-- LATIN SMALL LETTER I WITH MACRON -->
+<!ENTITY ijlig "&#x0133;"> <!-- LATIN SMALL LIGATURE IJ -->
+<!ENTITY IJlig "&#x0132;"> <!-- LATIN CAPITAL LIGATURE IJ -->
+<!ENTITY inodot        "&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
+<!ENTITY iogon "&#x012F;"> <!-- LATIN SMALL LETTER I WITH OGONEK -->
+<!ENTITY Iogon "&#x012E;"> <!-- LATIN CAPITAL LETTER I WITH OGONEK -->
+<!ENTITY itilde        "&#x0129;"> <!-- LATIN SMALL LETTER I WITH TILDE -->
+<!ENTITY Itilde        "&#x0128;"> <!-- LATIN CAPITAL LETTER I WITH TILDE -->
+<!ENTITY jcirc "&#x0135;"> <!-- LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY Jcirc "&#x0134;"> <!-- LATIN CAPITAL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY kcedil        "&#x0137;"> <!-- LATIN SMALL LETTER K WITH CEDILLA -->
+<!ENTITY Kcedil        "&#x0136;"> <!-- LATIN CAPITAL LETTER K WITH CEDILLA -->
+<!ENTITY kgreen        "&#x0138;"> <!-- LATIN SMALL LETTER KRA -->
+<!ENTITY lacute        "&#x013A;"> <!-- LATIN SMALL LETTER L WITH ACUTE -->
+<!ENTITY Lacute        "&#x0139;"> <!-- LATIN CAPITAL LETTER L WITH ACUTE -->
+<!ENTITY lcaron        "&#x013E;"> <!-- LATIN SMALL LETTER L WITH CARON -->
+<!ENTITY Lcaron        "&#x013D;"> <!-- LATIN CAPITAL LETTER L WITH CARON -->
+<!ENTITY lcedil        "&#x013C;"> <!-- LATIN SMALL LETTER L WITH CEDILLA -->
+<!ENTITY Lcedil        "&#x013B;"> <!-- LATIN CAPITAL LETTER L WITH CEDILLA -->
+<!ENTITY lmidot        "&#x0140;"> <!-- LATIN SMALL LETTER L WITH MIDDLE DOT 
-->
+<!ENTITY Lmidot        "&#x013F;"> <!-- LATIN CAPITAL LETTER L WITH MIDDLE DOT 
-->
+<!ENTITY lstrok        "&#x0142;"> <!-- LATIN SMALL LETTER L WITH STROKE -->
+<!ENTITY Lstrok        "&#x0141;"> <!-- LATIN CAPITAL LETTER L WITH STROKE -->
+<!ENTITY nacute        "&#x0144;"> <!-- LATIN SMALL LETTER N WITH ACUTE -->
+<!ENTITY Nacute        "&#x0143;"> <!-- LATIN CAPITAL LETTER N WITH ACUTE -->
+<!ENTITY eng   "&#x014B;"> <!-- LATIN SMALL LETTER ENG -->
+<!ENTITY ENG   "&#x014A;"> <!-- LATIN CAPITAL LETTER ENG -->
+<!ENTITY napos "&#x0149;"> <!-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -->
+<!ENTITY ncaron        "&#x0148;"> <!-- LATIN SMALL LETTER N WITH CARON -->
+<!ENTITY Ncaron        "&#x0147;"> <!-- LATIN CAPITAL LETTER N WITH CARON -->
+<!ENTITY ncedil        "&#x0146;"> <!-- LATIN SMALL LETTER N WITH CEDILLA -->
+<!ENTITY Ncedil        "&#x0145;"> <!-- LATIN CAPITAL LETTER N WITH CEDILLA -->
+<!ENTITY odblac        "&#x0151;"> <!-- LATIN SMALL LETTER O WITH DOUBLE ACUTE 
-->
+<!ENTITY Odblac        "&#x0150;"> <!-- LATIN CAPITAL LETTER O WITH DOUBLE 
ACUTE -->
+<!ENTITY Omacr "&#x014C;"> <!-- LATIN CAPITAL LETTER O WITH MACRON -->
+<!ENTITY omacr "&#x014D;"> <!-- LATIN SMALL LETTER O WITH MACRON -->
+<!ENTITY oelig "&#x0153;"> <!-- LATIN SMALL LIGATURE OE -->
+<!ENTITY OElig "&#x0152;"> <!-- LATIN CAPITAL LIGATURE OE -->
+<!ENTITY racute        "&#x0155;"> <!-- LATIN SMALL LETTER R WITH ACUTE -->
+<!ENTITY Racute        "&#x0154;"> <!-- LATIN CAPITAL LETTER R WITH ACUTE -->
+<!ENTITY rcaron        "&#x0159;"> <!-- LATIN SMALL LETTER R WITH CARON -->
+<!ENTITY Rcaron        "&#x0158;"> <!-- LATIN CAPITAL LETTER R WITH CARON -->
+<!ENTITY rcedil        "&#x0157;"> <!-- LATIN SMALL LETTER R WITH CEDILLA -->
+<!ENTITY Rcedil        "&#x0156;"> <!-- LATIN CAPITAL LETTER R WITH CEDILLA -->
+<!ENTITY sacute        "&#x015B;"> <!-- LATIN SMALL LETTER S WITH ACUTE -->
+<!ENTITY Sacute        "&#x015A;"> <!-- LATIN CAPITAL LETTER S WITH ACUTE -->
+<!ENTITY scaron        "&#x0161;"> <!-- LATIN SMALL LETTER S WITH CARON -->
+<!ENTITY Scaron        "&#x0160;"> <!-- LATIN CAPITAL LETTER S WITH CARON -->
+<!ENTITY scedil        "&#x015F;"> <!-- LATIN SMALL LETTER S WITH CEDILLA -->
+<!ENTITY Scedil        "&#x015E;"> <!-- LATIN CAPITAL LETTER S WITH CEDILLA -->
+<!ENTITY scirc "&#x015D;"> <!-- LATIN SMALL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY Scirc "&#x015C;"> <!-- LATIN CAPITAL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY tcaron        "&#x0165;"> <!-- LATIN SMALL LETTER T WITH CARON -->
+<!ENTITY Tcaron        "&#x0164;"> <!-- LATIN CAPITAL LETTER T WITH CARON -->
+<!ENTITY tcedil        "&#x0163;"> <!-- LATIN SMALL LETTER T WITH CEDILLA -->
+<!ENTITY Tcedil        "&#x0162;"> <!-- LATIN CAPITAL LETTER T WITH CEDILLA -->
+<!ENTITY tstrok        "&#x0167;"> <!-- LATIN SMALL LETTER T WITH STROKE -->
+<!ENTITY Tstrok        "&#x0166;"> <!-- LATIN CAPITAL LETTER T WITH STROKE -->
+<!ENTITY ubreve        "&#x016D;"> <!-- LATIN SMALL LETTER U WITH BREVE -->
+<!ENTITY Ubreve        "&#x016C;"> <!-- LATIN CAPITAL LETTER U WITH BREVE -->
+<!ENTITY udblac        "&#x0171;"> <!-- LATIN SMALL LETTER U WITH DOUBLE ACUTE 
-->
+<!ENTITY Udblac        "&#x0170;"> <!-- LATIN CAPITAL LETTER U WITH DOUBLE 
ACUTE -->
+<!ENTITY umacr "&#x016B;"> <!-- LATIN SMALL LETTER U WITH MACRON -->
+<!ENTITY Umacr "&#x016A;"> <!-- LATIN CAPITAL LETTER U WITH MACRON -->
+<!ENTITY uogon "&#x0173;"> <!-- LATIN SMALL LETTER U WITH OGONEK -->
+<!ENTITY Uogon "&#x0172;"> <!-- LATIN CAPITAL LETTER U WITH OGONEK -->
+<!ENTITY uring "&#x016F;"> <!-- LATIN SMALL LETTER U WITH RING ABOVE -->
+<!ENTITY Uring "&#x016E;"> <!-- LATIN CAPITAL LETTER U WITH RING ABOVE -->
+<!ENTITY utilde        "&#x0169;"> <!-- LATIN SMALL LETTER U WITH TILDE -->
+<!ENTITY Utilde        "&#x0168;"> <!-- LATIN CAPITAL LETTER U WITH TILDE -->
+<!ENTITY wcirc "&#x0175;"> <!-- LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY Wcirc "&#x0174;"> <!-- LATIN CAPITAL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY ycirc "&#x0177;"> <!-- LATIN SMALL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Ycirc "&#x0176;"> <!-- LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Yuml  "&#x0178;"> <!-- LATIN CAPITAL LETTER Y WITH DIAERESIS -->
+<!ENTITY zacute        "&#x017A;"> <!-- LATIN SMALL LETTER Z WITH ACUTE -->
+<!ENTITY Zacute        "&#x0179;"> <!-- LATIN CAPITAL LETTER Z WITH ACUTE -->
+<!ENTITY zcaron        "&#x017E;"> <!-- LATIN SMALL LETTER Z WITH CARON -->
+<!ENTITY Zcaron        "&#x017D;"> <!-- LATIN CAPITAL LETTER Z WITH CARON -->
+<!ENTITY zdot  "&#x017C;"> <!-- LATIN SMALL LETTER Z WITH DOT ABOVE -->
+<!ENTITY Zdot  "&#x017B;"> <!-- LATIN CAPITAL LETTER Z WITH DOT ABOVE -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-num.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-num.ent
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,81 @@
+<!-- iso-num.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY half  "&#x00BD;"> <!-- VULGAR FRACTION ONE HALF -->
+<!ENTITY frac12        "&#x00BD;"> <!-- VULGAR FRACTION ONE HALF -->
+<!ENTITY frac14        "&#x00BC;"> <!-- VULGAR FRACTION ONE QUARTER -->
+<!ENTITY frac34        "&#x00BE;"> <!-- VULGAR FRACTION THREE QUARTERS -->
+<!ENTITY frac18        "&#x215B;"> <!--  -->
+<!ENTITY frac38        "&#x215C;"> <!--  -->
+<!ENTITY frac58        "&#x215D;"> <!--  -->
+<!ENTITY frac78        "&#x215E;"> <!--  -->
+<!ENTITY sup1  "&#x00B9;"> <!-- SUPERSCRIPT ONE -->
+<!ENTITY sup2  "&#x00B2;"> <!-- SUPERSCRIPT TWO -->
+<!ENTITY sup3  "&#x00B3;"> <!-- SUPERSCRIPT THREE -->
+<!ENTITY plus  "&#x002B;"> <!-- PLUS SIGN -->
+<!ENTITY plusmn        "&#x00B1;"> <!-- PLUS-MINUS SIGN -->
+<!ENTITY lt    "&#38;#60;"> <!-- LESS-THAN SIGN -->
+<!ENTITY equals        "&#x003D;"> <!-- EQUALS SIGN -->
+<!ENTITY gt    "&#x003E;"> <!-- GREATER-THAN SIGN -->
+<!ENTITY divide        "&#x00F7;"> <!-- DIVISION SIGN -->
+<!ENTITY times "&#x00D7;"> <!-- MULTIPLICATION SIGN -->
+<!ENTITY curren        "&#x00A4;"> <!-- CURRENCY SIGN -->
+<!ENTITY pound "&#x00A3;"> <!-- POUND SIGN -->
+<!ENTITY dollar        "&#x0024;"> <!-- DOLLAR SIGN -->
+<!ENTITY cent  "&#x00A2;"> <!-- CENT SIGN -->
+<!ENTITY yen   "&#x00A5;"> <!-- YEN SIGN -->
+<!ENTITY num   "&#x0023;"> <!-- NUMBER SIGN -->
+<!ENTITY percnt        "&#x0025;"> <!-- PERCENT SIGN -->
+<!ENTITY amp   "&#38;#38;"> <!-- AMPERSAND -->
+<!ENTITY ast   "&#x002A;"> <!-- ASTERISK OPERATOR -->
+<!ENTITY commat        "&#x0040;"> <!-- COMMERCIAL AT -->
+<!ENTITY lsqb  "&#x005B;"> <!-- LEFT SQUARE BRACKET -->
+<!ENTITY bsol  "&#x005C;"> <!-- REVERSE SOLIDUS -->
+<!ENTITY rsqb  "&#x005D;"> <!-- RIGHT SQUARE BRACKET -->
+<!ENTITY lcub  "&#x007B;"> <!-- LEFT CURLY BRACKET -->
+<!ENTITY horbar        "&#x2015;"> <!-- HORIZONTAL BAR -->
+<!ENTITY verbar        "&#x007C;"> <!-- VERTICAL LINE -->
+<!ENTITY rcub  "&#x007D;"> <!-- RIGHT CURLY BRACKET -->
+<!ENTITY micro "&#x00B5;"> <!-- MICRO SIGN -->
+<!ENTITY ohm   "&#x2126;"> <!-- OHM SIGN -->
+<!ENTITY deg   "&#x00B0;"> <!-- DEGREE SIGN -->
+<!ENTITY ordm  "&#x00BA;"> <!-- MASCULINE ORDINAL INDICATOR -->
+<!ENTITY ordf  "&#x00AA;"> <!-- FEMININE ORDINAL INDICATOR -->
+<!ENTITY sect  "&#x00A7;"> <!-- SECTION SIGN -->
+<!ENTITY para  "&#x00B6;"> <!-- PILCROW SIGN -->
+<!ENTITY middot        "&#x00B7;"> <!-- MIDDLE DOT -->
+<!ENTITY larr  "&#x2190;"> <!-- LEFTWARDS DOUBLE ARROW -->
+<!ENTITY rarr  "&#x2192;"> <!-- RIGHTWARDS DOUBLE ARROW -->
+<!ENTITY uarr  "&#x2191;"> <!-- UPWARDS ARROW -->
+<!ENTITY darr  "&#x2193;"> <!-- DOWNWARDS ARROW -->
+<!ENTITY copy  "&#x00A9;"> <!-- COPYRIGHT SIGN -->
+<!ENTITY reg   "&#x00AE;"> <!-- REG TRADE MARK SIGN -->
+<!ENTITY trade "&#x2122;"> <!-- TRADE MARK SIGN -->
+<!ENTITY brvbar        "&#x00A6;"> <!-- BROKEN BAR -->
+<!ENTITY not   "&#x00AC;"> <!-- NOT SIGN -->
+<!ENTITY sung  "&#x2669;"> <!--  -->
+<!ENTITY excl  "&#x0021;"> <!-- EXCLAMATION MARK -->
+<!ENTITY iexcl "&#x00A1;"> <!-- INVERTED EXCLAMATION MARK -->
+<!ENTITY quot  "&#x0022;"> <!-- QUOTATION MARK -->
+<!ENTITY apos  "&#x0027;"> <!-- APOSTROPHE -->
+<!ENTITY lpar  "&#x0028;"> <!-- LEFT PARENTHESIS -->
+<!ENTITY rpar  "&#x0029;"> <!-- RIGHT PARENTHESIS -->
+<!ENTITY comma "&#x002C;"> <!-- COMMA -->
+<!ENTITY lowbar        "&#x005F;"> <!-- LOW LINE -->
+<!ENTITY hyphen        "&#x002D;"> <!-- HYPHEN-MINUS -->
+<!ENTITY period        "&#x002E;"> <!-- FULL STOP -->
+<!ENTITY sol   "&#x002F;"> <!-- SOLIDUS -->
+<!ENTITY colon "&#x003A;"> <!-- COLON -->
+<!ENTITY semi  "&#x003B;"> <!-- SEMICOLON -->
+<!ENTITY quest "&#x003F;"> <!-- QUESTION MARK -->
+<!ENTITY iquest        "&#x00BF;"> <!-- INVERTED QUESTION MARK -->
+<!ENTITY laquo "&#x00AB;"> <!-- LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY raquo "&#x00BB;"> <!-- RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY lsquo "&#x2018;"> <!--  -->
+<!ENTITY rsquo "&#x2019;"> <!-- RIGHT SINGLE QUOTATION MARK -->
+<!ENTITY ldquo "&#x201C;"> <!--  -->
+<!ENTITY rdquo "&#x201D;"> <!-- RIGHT DOUBLE QUOTATION MARK -->
+<!ENTITY nbsp  "&#x00A0;"> <!-- NO-BREAK SPACE -->
+<!ENTITY shy   "&#x00AD;"> <!-- SOFT HYPHEN -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-pub.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-pub.ent
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,90 @@
+<!-- iso-pub.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY emsp  "&#x2003;"> <!-- EM SPACE -->
+<!ENTITY ensp  "&#x2002;"> <!-- EN SPACE -->
+<!ENTITY emsp13        "&#x2004;"> <!-- THREE-PER-EM SPACE -->
+<!ENTITY emsp14        "&#x2005;"> <!-- FOUR-PER-EM SPACE -->
+<!ENTITY numsp "&#x2007;"> <!-- FIGURE SPACE -->
+<!ENTITY puncsp        "&#x2008;"> <!-- PUNCTUATION SPACE -->
+<!ENTITY thinsp        "&#x2009;"> <!-- THIN SPACE -->
+<!ENTITY hairsp        "&#x200A;"> <!-- HAIR SPACE -->
+<!ENTITY mdash "&#x2014;"> <!-- EM DASH -->
+<!ENTITY ndash "&#x2013;"> <!-- EN DASH -->
+<!ENTITY dash  "&#x2010;"> <!-- HYPHEN -->
+<!ENTITY blank "&#x2423;"> <!-- OPEN BOX -->
+<!ENTITY hellip        "&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
+<!ENTITY nldr  "&#x2025;"> <!-- TWO DOT LEADER -->
+<!ENTITY frac13        "&#x2153;"> <!-- VULGAR FRACTION ONE THIRD -->
+<!ENTITY frac23        "&#x2154;"> <!-- VULGAR FRACTION TWO THIRDS -->
+<!ENTITY frac15        "&#x2155;"> <!-- VULGAR FRACTION ONE FIFTH -->
+<!ENTITY frac25        "&#x2156;"> <!-- VULGAR FRACTION TWO FIFTHS -->
+<!ENTITY frac35        "&#x2157;"> <!-- VULGAR FRACTION THREE FIFTHS -->
+<!ENTITY frac45        "&#x2158;"> <!-- VULGAR FRACTION FOUR FIFTHS -->
+<!ENTITY frac16        "&#x2159;"> <!-- VULGAR FRACTION ONE SIXTH -->
+<!ENTITY frac56        "&#x215A;"> <!-- VULGAR FRACTION FIVE SIXTHS -->
+<!ENTITY incare        "&#x2105;"> <!-- CARE OF -->
+<!ENTITY block "&#x2588;"> <!-- FULL BLOCK -->
+<!ENTITY uhblk "&#x2580;"> <!-- UPPER HALF BLOCK -->
+<!ENTITY lhblk "&#x2584;"> <!-- LOWER HALF BLOCK -->
+<!ENTITY blk14 "&#x2591;"> <!-- LIGHT SHADE -->
+<!ENTITY blk12 "&#x2592;"> <!-- MEDIUM SHADE -->
+<!ENTITY blk34 "&#x2593;"> <!-- DARK SHADE -->
+<!ENTITY marker        "&#x25AE;"> <!-- BLACK VERTICAL RECTANGLE -->
+<!ENTITY cir   "&#x25CB;"> <!-- WHITE CIRCLE -->
+<!ENTITY squ   "&#x25A1;"> <!-- WHITE SQUARE -->
+<!ENTITY rect  "&#x25AD;"> <!-- WHITE RECTANGLE -->
+<!ENTITY utri  "&#x25B5;"> <!-- WHITE UP-POINTING TRIANGLE -->
+<!ENTITY dtri  "&#x25BF;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY star  "&#x22C6;"> <!-- STAR OPERATOR -->
+<!ENTITY bull  "&#x2022;"> <!-- BULLET -->
+<!ENTITY squf  "&#x25AA;"> <!--  -->
+<!ENTITY utrif "&#x25B4;"> <!-- BLACK UP-POINTING TRIANGLE -->
+<!ENTITY dtrif "&#x25BE;"> <!-- BLACK DOWN-POINTING TRIANGLE -->
+<!ENTITY ltrif "&#x25C2;"> <!-- BLACK LEFT-POINTING TRIANGLE -->
+<!ENTITY rtrif "&#x25B8;"> <!-- BLACK RIGHT-POINTING TRIANGLE -->
+<!ENTITY clubs "&#x2663;"> <!-- BLACK CLUB SUIT -->
+<!ENTITY diams "&#x2666;"> <!-- BLACK DIAMOND SUIT -->
+<!ENTITY hearts        "&#x2665;"> <!-- BLACK HEART SUIT -->
+<!ENTITY spades        "&#x2660;"> <!-- BLACK SPADE SUIT -->
+<!ENTITY malt  "&#x2720;"> <!-- MALTESE CROSS -->
+<!ENTITY dagger        "&#x2020;"> <!-- DAGGER -->
+<!ENTITY Dagger        "&#x2021;"> <!-- DOUBLE DAGGER -->
+<!ENTITY check "&#x2713;"> <!-- CHECK MARK -->
+<!ENTITY cross "&#x2717;"> <!-- BALLOT X -->
+<!ENTITY sharp "&#x266F;"> <!-- MUSIC SHARP SIGN -->
+<!ENTITY flat  "&#x266D;"> <!-- MUSIC FLAT SIGN -->
+<!ENTITY male  "&#x2642;"> <!-- MALE SIGN -->
+<!ENTITY female        "&#x2640;"> <!--  -->
+<!ENTITY phone "&#x260E;"> <!-- TELEPHONE SIGN -->
+<!ENTITY telrec        "&#x2315;"> <!-- TELEPHONE RECORDER -->
+<!ENTITY copysr        "&#x2117;"> <!-- SOUND RECORDING COPYRIGHT -->
+<!ENTITY caret "&#x2041;"> <!-- CARET -->
+<!ENTITY lsquor        "&#x201A;"> <!-- SINGLE LOW-9 QUOTATION MARK -->
+<!ENTITY ldquor        "&#x201E;"> <!-- DOUBLE LOW-9 QUOTATION MARK -->
+<!ENTITY fflig "&#xFB00;"> <!--  -->
+<!ENTITY filig "&#xFB01;"> <!--  -->
+<!--     fjlig Unknown unicode character -->
+<!ENTITY ffilig        "&#xFB03;"> <!--  -->
+<!ENTITY ffllig        "&#xFB04;"> <!--  -->
+<!ENTITY fllig "&#xFB02;"> <!--  -->
+<!ENTITY mldr  "&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
+<!ENTITY rdquor        "&#x201C;"> <!--  -->
+<!ENTITY rsquor        "&#x2018;"> <!--  -->
+<!ENTITY vellip        "&#x22EE;"> <!--  -->
+<!ENTITY hybull        "&#x2043;"> <!-- HYPHEN BULLET -->
+<!ENTITY loz   "&#x25CA;"> <!-- LOZENGE -->
+<!ENTITY lozf  "&#x2726;"> <!--  -->
+<!ENTITY ltri  "&#x25C3;"> <!-- WHITE LEFT-POINTING TRIANGLE -->
+<!ENTITY rtri  "&#x25B9;"> <!-- WHITE RIGHT-POINTING TRIANGLE -->
+<!ENTITY starf "&#x2605;"> <!-- BLACK STAR -->
+<!ENTITY natur "&#x266E;"> <!-- MUSIC NATURAL SIGN -->
+<!ENTITY rx    "&#x211E;"> <!-- PRESCRIPTION TAKE -->
+<!ENTITY sext  "&#x2736;"> <!-- SIX POINTED BLACK STAR -->
+<!ENTITY target        "&#x2316;"> <!-- POSITION INDICATOR -->
+<!ENTITY dlcrop        "&#x230D;"> <!-- BOTTOM LEFT CROP -->
+<!ENTITY drcrop        "&#x230C;"> <!-- BOTTOM RIGHT CROP -->
+<!ENTITY ulcrop        "&#x230F;"> <!-- TOP LEFT CROP -->
+<!ENTITY urcrop        "&#x230E;"> <!-- TOP RIGHT CROP -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-tech.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/ent/iso-tech.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,69 @@
+<!-- iso-tech.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY aleph "&#x2135;"> <!-- ALEF SYMBOL -->
+<!ENTITY and   "&#x2227;"> <!--  -->
+<!ENTITY ang90 "&#x221F;"> <!-- RIGHT ANGLE -->
+<!ENTITY angsph        "&#x2222;"> <!--  -->
+<!ENTITY ap    "&#x2248;"> <!--  -->
+<!ENTITY becaus        "&#x2235;"> <!-- BECAUSE -->
+<!ENTITY bottom        "&#x22A5;"> <!--  -->
+<!ENTITY cap   "&#x2229;"> <!--  -->
+<!ENTITY cong  "&#x2245;"> <!--  -->
+<!ENTITY conint        "&#x222E;"> <!--  -->
+<!ENTITY cup   "&#x222A;"> <!--  -->
+<!ENTITY equiv "&#x2261;"> <!--  -->
+<!ENTITY exist "&#x2203;"> <!--  -->
+<!ENTITY forall        "&#x2200;"> <!--  -->
+<!ENTITY fnof  "&#x0192;"> <!-- LATIN SMALL LETTER F WITH HOOK -->
+<!ENTITY ge    "&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
+<!ENTITY iff   "&#x21D4;"> <!-- LEFT RIGHT DOUBLE ARROW -->
+<!ENTITY infin "&#x221E;"> <!--  -->
+<!ENTITY int   "&#x222B;"> <!--  -->
+<!ENTITY isin  "&#x220A;"> <!--  -->
+<!ENTITY lang  "&#x3008;"> <!--  -->
+<!ENTITY lArr  "&#x21D0;"> <!-- LEFTWARDS ARROW -->
+<!ENTITY le    "&#x2264;"> <!--  -->
+<!ENTITY minus "&#x2212;"> <!-- MINUS SIGN -->
+<!ENTITY mnplus        "&#x2213;"> <!--  -->
+<!ENTITY nabla "&#x2207;"> <!-- NABLA -->
+<!ENTITY ne    "&#x2260;"> <!--  -->
+<!ENTITY ni    "&#x220D;"> <!--  -->
+<!ENTITY or    "&#x2228;"> <!--  -->
+<!ENTITY par   "&#x2225;"> <!-- PARALLEL TO -->
+<!ENTITY part  "&#x2202;"> <!--  -->
+<!ENTITY permil        "&#x2030;"> <!-- PER MILLE SIGN -->
+<!ENTITY perp  "&#x22A5;"> <!--  -->
+<!ENTITY prime "&#x2032;"> <!-- PRIME -->
+<!ENTITY Prime "&#x2033;"> <!-- DOUBLE PRIME -->
+<!ENTITY prop  "&#x221D;"> <!--  -->
+<!ENTITY radic "&#x221A;"> <!--  -->
+<!ENTITY rang  "&#x3009;"> <!--  -->
+<!ENTITY rArr  "&#x21D2;"> <!-- RIGHTWARDS ARROW -->
+<!ENTITY sim   "&#x223C;"> <!--  -->
+<!ENTITY sime  "&#x2243;"> <!--  -->
+<!ENTITY square        "&#x25A1;"> <!-- WHITE SQUARE -->
+<!ENTITY sub   "&#x2282;"> <!--  -->
+<!ENTITY sube  "&#x2286;"> <!--  -->
+<!ENTITY sup   "&#x2283;"> <!--  -->
+<!ENTITY supe  "&#x2287;"> <!--  -->
+<!ENTITY there4        "&#x2234;"> <!--  -->
+<!ENTITY Verbar        "&#x2016;"> <!-- DOUBLE VERTICAL LINE -->
+<!ENTITY angst "&#x212B;"> <!-- ANGSTROM SIGN -->
+<!ENTITY bernou        "&#x212C;"> <!-- SCRIPT CAPITAL B -->
+<!ENTITY compfn        "&#x2218;"> <!-- RING OPERATOR -->
+<!ENTITY Dot   "&#x00A8;"> <!--  -->
+<!ENTITY DotDot        "&#x20DC;"> <!-- COMBINING FOUR DOTS ABOVE -->
+<!ENTITY hamilt        "&#x210B;"> <!-- SCRIPT CAPITAL H -->
+<!ENTITY lagran        "&#x2112;"> <!-- SCRIPT CAPITAL L -->
+<!ENTITY lowast        "&#x2217;"> <!-- ASTERISK OPERATOR -->
+<!ENTITY notin "&#x2209;"> <!--  -->
+<!ENTITY order "&#x2134;"> <!-- SCRIPT SMALL O -->
+<!ENTITY phmmat        "&#x2133;"> <!-- SCRIPT CAPITAL M -->
+<!ENTITY tdot  "&#x20DB;"> <!-- COMBINING THREE DOTS ABOVE -->
+<!ENTITY tprime        "&#x2034;"> <!-- TRIPLE PRIME -->
+<!ENTITY wedgeq        "&#x2259;"> <!-- ESTIMATES -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/soextblx.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/docbook/4.2/soextblx.dtd
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,308 @@
+<!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE -->
+
+<!-- This set of declarations defines the XML version of the Exchange
+     Table Model as of the date shown in the Formal Public Identifier
+     (FPI) for this entity.
+
+     This set of declarations may be referred to using a public external
+     entity declaration and reference as shown in the following three
+     lines:
+
+     <!ENTITY % calstblx
+       PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
+       %calstblx;
+
+     If various parameter entities used within this set of declarations
+     are to be given non-default values, the appropriate declarations
+     should be given before calling in this package (i.e., before the
+     "%calstblx;" reference).
+-->
+
+<!-- The motivation for this XML version of the Exchange Table Model
+     is simply to create an XML version of the SGML Exchange Table
+     Model. By design, no effort has been made to "improve" the model.
+
+     This XML version incorporates the logical bare minimum changes
+     necessary to make the Exchange Table Model a valid XML DTD.
+-->
+
+<!-- The XML version of the Exchange Table Model differs from
+     the SGML version in the following ways:
+
+     The following parameter entities have been removed:
+
+       - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep
+         There are no exceptions in XML. The following normative statement
+         is made in lieu of exceptions: the exchange table model explicitly
+         forbids a table from occurring within another table. If the
+         content model of an entry includes a table element, then this
+         cannot be enforced by the DTD, but it is a deviation from the
+         exchange table model to include a table within a table.
+
+       - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att
+         The motivation for these elements was to change the table
+         header/footer elements. Since XML does not allow element declarations
+         to contain name groups, and the exchange table model does not
+         allow a table to contain footers, the continued presence of these
+         attributes seems unnecessary.
+
+     The following parameter entity has been added:
+
+       - tbl.thead.att
+         This entity parameterizes the attributes on thead. It replaces
+         the tbl.hdft.att parameter entity.
+
+     Other miscellaneous changes:
+
+       - Tag ommission indicators have been removed
+       - Comments have been removed from declarations
+       - NUMBER attributes have been changed to NMTOKEN
+       - NUTOKEN attributes have been to changed to NMTOKEN
+       - Removed the grouping characters around the content model
+         parameter entry for the 'entry' element. This is necessary
+         so that an entry can contain #PCDATA and be defined as an
+         optional, repeatable OR group beginning with #PCDATA.
+-->
+
+<!-- This entity includes a set of element and attribute declarations
+     that partially defines the Exchange table model.  However, the model
+     is not well-defined without the accompanying natural language
+     description of the semantics (meanings) of these various elements,
+     attributes, and attribute values.  The semantic writeup, also available
+     from SGML Open, should be used in conjunction with this entity.
+-->
+
+<!-- In order to use the Exchange table model, various parameter entity
+     declarations are required.  A brief description is as follows:
+
+     ENTITY NAME      WHERE USED              WHAT IT IS
+
+     %yesorno         In ATTLIST of:          An attribute declared value
+                      almost all elements     for a "boolean" attribute
+
+     %paracon         In content model of:    The "text" (logical content)
+                      <entry>                 of the model group for <entry>
+
+     %titles          In content model of:    The "title" part of the model
+                      table element           group for the table element
+
+     %tbl.table.name  In declaration of:      The name of the "table"
+                      table element           element
+
+     %tbl.table-titles.mdl In content model of: The model group for the title
+                      table elements          part of the content model for
+                                              table element
+
+     %tbl.table.mdl   In content model of:    The model group for the content
+                      table elements          model for table element,
+                                              often (and by default) defined
+                                              in terms of %tbl.table-titles.mdl
+                                              and tgroup
+
+     %tbl.table.att   In ATTLIST of:          Additional attributes on the
+                      table element           table element
+
+     %bodyatt         In ATTLIST of:          Additional attributes on the
+                      table element           table element (for backward
+                                              compatibility with the SGML
+                                              model)
+
+     %tbl.tgroup.mdl  In content model of:    The model group for the content
+                      <tgroup>                model for <tgroup>
+
+     %tbl.tgroup.att  In ATTLIST of:          Additional attributes on the
+                      <tgroup>                <tgroup> element
+
+     %tbl.thead.att   In ATTLIST of:          Additional attributes on the
+                      <thead>                 <thead> element
+
+     %tbl.tbody.att   In ATTLIST of:          Additional attributes on the
+                      <tbody>                 <tbody> element
+
+     %tbl.colspec.att In ATTLIST of:          Additional attributes on the
+                      <colspec>               <colspec> element
+
+     %tbl.row.mdl     In content model of:    The model group for the content
+                      <row>                   model for <row>
+
+     %tbl.row.att     In ATTLIST of:          Additional attributes on the
+                      <row>                   <row> element
+
+     %tbl.entry.mdl   In content model of:    The model group for the content
+                      <entry>                 model for <entry>
+
+     %tbl.entry.att   In ATTLIST of:          Additional attributes on the
+                      <entry>                 <entry> element
+
+     This set of declarations will use the default definitions shown below
+     for any of these parameter entities that are not declared before this
+     set of declarations is referenced.
+-->
+
+<!-- These definitions are not directly related to the table model, but are
+     used in the default CALS table model and may be defined elsewhere (and
+     prior to the inclusion of this table module) in the referencing DTD. -->
+
+<!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
+<!ENTITY % titles  'title?'>
+<!ENTITY % pcd "#PCDATA">
+<!ENTITY % paracon '%pcd;'> <!-- default for use in entry content -->
+
+<!--
+The parameter entities as defined below change and simplify the CALS table
+model as published (as part of the Example DTD) in MIL-HDBK-28001.  The
+resulting simplified DTD has support from the SGML Open vendors and is
+therefore more interoperable among different systems.
+
+These following declarations provide the Exchange default definitions
+for these entities.  However, these entities can 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.
+
+Note, however, that changes may have significant effect on the ability to
+interchange table information.  These changes may manifest themselves
+in useability, presentation, and possible structure information degradation.
+-->
+
+<!ENTITY % tbl.table.name       "table">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl   "tgroup+">
+<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att        "
+    pgwide      %yesorno;       #IMPLIED ">
+<!ENTITY % bodyatt              "">
+<!ENTITY % tbl.tgroup.mdl       "colspec*,thead?,tbody">
+<!ENTITY % tbl.tgroup.att       "">
+<!ENTITY % tbl.thead.att        "">
+<!ENTITY % tbl.tbody.att        "">
+<!ENTITY % tbl.colspec.att      "">
+<!ENTITY % tbl.row.mdl          "entry+">
+<!ENTITY % tbl.row.att          "">
+<!ENTITY % tbl.entry.mdl        "(%paracon;)*">
+<!ENTITY % tbl.entry.att        "">
+
+<!-- =====  Element and attribute declarations follow. =====  -->
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.table.name       "table"
+     ENTITY % tbl.table-titles.mdl "%titles;,"
+     ENTITY % tbl.table.mdl        "%tbl.table-titles; tgroup+"
+     ENTITY % tbl.table.att        "
+                        pgwide          %yesorno;       #IMPLIED "
+-->
+
+<!ELEMENT %tbl.table.name; (%tbl.table.mdl;)>
+
+<!ATTLIST %tbl.table.name;
+        frame           (top|bottom|topbot|all|sides|none)      #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        %tbl.table.att;
+        %bodyatt;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.tgroup.mdl    "colspec*,thead?,tbody"
+     ENTITY % tbl.tgroup.att    ""
+-->
+
+<!ELEMENT tgroup (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+        cols            NMTOKEN                                 #REQUIRED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        %tbl.tgroup.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.colspec.att   ""
+-->
+
+<!ELEMENT colspec EMPTY >
+
+<!ATTLIST colspec
+        colnum          NMTOKEN                                 #IMPLIED
+        colname         NMTOKEN                                 #IMPLIED
+        colwidth        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         NMTOKEN                                 #IMPLIED
+        %tbl.colspec.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.thead.att      ""
+-->
+
+<!ELEMENT thead (row+)>
+
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.thead.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.tbody.att     ""
+-->
+
+<!ELEMENT tbody (row+)>
+
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.tbody.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.row.mdl       "entry+"
+     ENTITY % tbl.row.att       ""
+-->
+
+<!ELEMENT row (%tbl.row.mdl;)>
+
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.row.att;
+>
+
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % paracon           "#PCDATA"
+     ENTITY % tbl.entry.mdl     "(%paracon;)*"
+     ENTITY % tbl.entry.att     ""
+-->
+
+<!ELEMENT entry %tbl.entry.mdl;>
+
+<!ATTLIST entry
+        colname         NMTOKEN                                 #IMPLIED
+        namest          NMTOKEN                                 #IMPLIED
+        nameend         NMTOKEN                                 #IMPLIED
+        morerows        NMTOKEN                                 #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         NMTOKEN                                 #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.entry.att;
+>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/book-cocoon-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/book-cocoon-v10.dtd
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,70 @@
+<!-- ===================================================================
+     
+     Apache Cocoon Documentation Book DTD (Version 1.0)
+
+PURPOSE:
+This DTD defines the */book.xml documentation configuration files.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE book PUBLIC
+       "-//APACHE//DTD Cocoon Documentation Book Vx.yz//EN"
+       "book-cocoon-vxyz.dtd">
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:
+We need to replace this DTD with the proper one.
+We are only using this DTD to enable validation during "build docs"
+because every XML instance must declare its ruleset.
+
+This initial minimal DTD has been reverse-engineered from the structure
+of the current documents, e.g. 
+ documentation/xdocs/book.xml
+  
+AUTHORS:
+  David Crossley <[EMAIL PROTECTED]>
+  
+FIXME:
+  - find the proper DTD for book.xml
+
+CHANGE HISTORY:
+  20011031 Initial version. (DC)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+
+<!ELEMENT book (menu+)> 
+<!ELEMENT menu (menu-item|external)*>
+<!ELEMENT menu-item EMPTY>
+<!ELEMENT external EMPTY>
+<!ATTLIST book software CDATA #REQUIRED
+               title CDATA #REQUIRED
+               copyright CDATA #REQUIRED
+               xmlns:xlink CDATA #IMPLIED
+>
+<!ATTLIST menu label CDATA #REQUIRED
+>
+<!ATTLIST menu-item label CDATA #REQUIRED
+                    href CDATA #REQUIRED
+                    type (visible|hidden) "visible"
+>
+<!ATTLIST external  label CDATA #REQUIRED
+                    href CDATA #REQUIRED
+                    type (visible|hidden) "visible"
+>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v11.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v11.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,89 @@
+<!-- ===================================================================
+
+     Apache Changes DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development changes for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Changes Vx.y//EN"
+       "changes-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes both to give users indications of bugs that might
+  have been resolved, as well, and not less important, to provide credits
+  for the support given to the project. It is considered vital to provide
+  adequate payback using recognition and credits to let users and developers
+  feel part of the community, thus increasing development power.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020611 Initial version. (SN)
+  20020613 Include the module of ISO character entity sets (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Changes module -->
+<!-- =============================================================== -->
+
+<!ENTITY % changes PUBLIC
+    "-//APACHE//ENTITIES Changes V1.1//EN"
+    "changes-v11.mod">
+%changes;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v11.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v11.mod
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,67 @@
+<!-- ===================================================================
+
+     Apache Changes Module (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development changes for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % changes PUBLIC
+      "-//APACHE//ENTITIES Changes Vxy//EN"
+      "changes-vxy.mod">
+  %changes;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes both to give users indications of bugs that might
+  have been resolved, as well, and not less important, to provide credits
+  for the support given to the project. It is considered vital to provide
+  adequate payback using recognition and credits to let users and developers
+  feel part of the community, thus increasing development power.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+  20000316 Added bugfixing attribute. (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT changes (title?, devs?, release+)>
+<!ATTLIST changes %common.att;>
+
+    <!ELEMENT release (action+)>
+    <!ATTLIST release %common.att;
+                      version  CDATA  #REQUIRED
+                      date     CDATA  #REQUIRED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v12.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/changes-v12.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,91 @@
+<!-- ===================================================================
+
+     Apache Changes DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development changes for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Changes Vx.y//EN"
+       "changes-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes both to give users indications of bugs that might
+  have been resolved, as well, and not less important, to provide credits
+  for the support given to the project. It is considered vital to provide
+  adequate payback using recognition and credits to let users and developers
+  feel part of the community, thus increasing development power.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020611 Initial version. (SN)
+  20020613 Include the module of ISO character entity sets (DC)
+[Version 1.2]
+  20030424 Adopt the loosened content model from document-v12 (JT)
+
+COPYRIGHT:
+  Copyright (c) 2002-2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Changes module -->
+<!-- =============================================================== -->
+
+<!ENTITY % changes PUBLIC
+    "-//APACHE//ENTITIES Changes V1.1//EN"
+    "changes-v11.mod">
+%changes;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/common-charents-v10.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/common-charents-v10.mod
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,70 @@
+<!-- ===================================================================
+
+     Apache Common Character Entity Sets (Version 1.0)
+
+PURPOSE:
+  Common elements across all DTDs.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % common-charents PUBLIC
+      "-//APACHE//ENTITIES Common Character Entity Sets Vx.y//EN"
+      "common-charents-vxy.mod">
+  %common-charents;
+
+  where
+
+    x := major version
+    y := minor version
+
+AUTHORS:
+  David Crossley <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020613 Initial version. (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Common ISO character entity sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % ISOlat1 PUBLIC
+    "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+    "../entity/ISOlat1.pen">
+%ISOlat1;
+
+<!ENTITY % ISOpub PUBLIC
+    "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+    "../entity/ISOpub.pen">
+%ISOpub;
+
+<!ENTITY % ISOtech PUBLIC
+    "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+    "../entity/ISOtech.pen">
+%ISOtech;
+
+<!ENTITY % ISOnum PUBLIC
+    "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+    "../entity/ISOnum.pen">
+%ISOnum;
+
+<!ENTITY % ISOdia PUBLIC
+    "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+    "../entity/ISOdia.pen">
+%ISOdia;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/common-elems-v10.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/common-elems-v10.mod
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,64 @@
+<!-- ===================================================================
+
+     Apache Common Elements (Version 1.0)
+
+PURPOSE:
+  Common elements across DTDs
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % common PUBLIC
+      "-//APACHE//ENTITIES Common elements Vx.y//EN"
+      "common-elems-vxy.mod">
+  %common;
+
+  where
+
+    x := major version
+    y := minor version
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020611 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Common entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % types "add|remove|update|fix">
+<!ENTITY % contexts "build|docs|code|admin|design">
+
+<!-- =============================================================== -->
+<!-- Common elements -->
+<!-- =============================================================== -->
+
+<!ELEMENT devs (person+)>
+<!ATTLIST devs %common.att;>
+
+<!ELEMENT action (%content.mix;)*>
+<!ATTLIST action %common.att;
+          dev  IDREF  #REQUIRED
+          type (%types;)  #IMPLIED
+          context (%contexts;) #IMPLIED
+          due-to CDATA #IMPLIED
+          due-to-email CDATA #IMPLIED
+          fixes-bug CDATA #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/contributors-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/contributors-v10.dtd
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,68 @@
+<!-- ===================================================================
+
+     Apache Contributors DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple document listing the
+  contributors to a project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE contributors PUBLIC
+       "-//APACHE//DTD Contributors Vx.y//EN"
+       "contributors-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the common documentation elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//DTD Documentation V1.1//EN"
+    "document-v11.dtd">
+%document;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT contributors (header, (category | contributors)+)>
+<!ATTLIST contributors %common.att;>
+
+    <!ELEMENT category (title, contributor+) >
+    <!ATTLIST category %common.att;>
+
+    <!ELEMENT contributor (person, img?, bio)>
+    <!ATTLIST contributor %common.att;>
+
+        <!ELEMENT bio (%blocks;)*>
+        <!ATTLIST bio %common.att;>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v11.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v11.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,135 @@
+<!-- ===================================================================
+
+     Apache Documentation DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project. It has now been superceded by v1.2.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Documentation V1.1//EN"
+       "document-v11.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  Many of the design patterns used in this DTD were take from the
+  W3C XML Specification DTD edited by Eve Maler <[EMAIL PROTECTED]>.
+
+  Where possible, great care has been used to reuse HTML tag
+  names to reduce learning efforts and to allow HTML editors to be
+  used for complex authorings like tables and lists.
+
+EXTENSIBILITY:
+  This DTD includes several empty placeholders that can be used to
+  extend it. These placeholders are implemented with empty entities. Here
+  is the list of those empty entities and what they are used for:
+
+    - local.inline: this entity should contain extended definitions of
+                    elements that can be used 'inline', or directly inside
+                    the content. An example for this entity could be
+
+                        <!ENTITY % local.inline "|citation">
+
+    - local.blocks: this entity should contain extended definitions of
+                    elements that behave as 'blocks', thus can be visually
+                    rendered as areas on the canvas. An example for this
+                    entity could be:
+
+                        <!ENTITY % local.blocks "|poem">
+
+    - local.sections: this entity should contain extended definitions of
+                      elements that behave as 'sections', thus can be 
considered
+                      containers of block-level elements. An example for
+                      this entity could be:
+
+                        <!ENTITY % local.sections "|chapter">
+
+    - local.headers: this entity should contain extended definitions of
+                     elements that behave as parts of the document header.
+                     An example for this header could be:
+
+                        <!ENTITY % local.headers ", notes?">
+
+    - local.footers: this entity should contain extended definitions of
+                     elements that behave as parts of the document footer.
+                     An example for this header could be:
+
+                        <!ENTITY % local.footers ", annotations*">
+
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+  - should "form" tags be included?
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991121 Initial version. (SM)
+  19991123 Replaced "res" with more standard "strong" for emphasis. (SM)
+  19991124 Added "fork" element for window forking behavior. (SM)
+  19991124 Added "img-inline" element to separate from "img". (SM)
+  19991129 Removed "affiliation" from "author". (SM)
+  19991129 Made "author" empty and moved "name|email" as attributes. (SM)
+  19991215 Simplified table section. (SM)
+  19991215 Changed "img-block" in more friendly "figure". (SM)
+  20000125 Added the "icon" image. (SM)
+  20000126 Allowed "anchor" in all levels. (SM)
+  20000404 Removed the "role" attribute from common-xxx.att. (SM)
+  20000815 Allowed "code" inside "strong" and "em". (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities. (SM)
+  20011212 Removed xlink attributes since not used. (SM)
+  20011212 Removed "connect" since not required at this level. (SM)
+  20011218 Added "warning" as a block level object. (SM)
+  20011218 Removed explicitly numbered sections ("s1|s2|s3|s4"). (SM)
+  20011218 Added "section" element. (SM)
+  20011218 Allowed "body" to have blocks without a section. (SM)
+  20011218 Removed "sl" since not really different from "ul". (SM)
+  20020214 Moved empty placeholder entity declarations up front (SNS)
+  20020214 Corrected content model of content.mix parameter entity (SNS)
+  20020519 The DTDs are now modular so various parts can be re-used (SNS)
+  20020606 Made title into an child element of its parent instead of an 
attribute (SNS)
+  20020613 Move the declarations of ISO character entity sets to module (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002-2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v11.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v11.mod
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,421 @@
+<!-- ===================================================================
+
+     Apache Common Documentation elements (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It has now been superceded by v1.2.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % document PUBLIC
+      "-//APACHE//ENTITIES Documentation V1.1//EN"
+      "document-v11.mod">
+  %document;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Useful entities for increased DTD readability -->
+<!-- =============================================================== -->
+<!ENTITY % text "#PCDATA">
+<!-- Entities referred to later on are defined up front -->
+<!ENTITY % markup "strong|em|code|sub|sup">
+<!ENTITY % special-inline "br|img|icon|acronym">
+<!ENTITY % links "link|jump|fork">
+<!ENTITY % paragraphs "p|source|note|warning|fixme">
+<!ENTITY % tables "table">
+<!ENTITY % lists "ol|ul|dl">
+<!ENTITY % special-blocks "figure|anchor">
+<!-- =============================================================== -->
+<!-- Entities for general XML compliance -->
+<!-- =============================================================== -->
+<!-- Common attributes
+        Every element has an ID attribute (sometimes required,
+        but usually optional) for links. %common.att;
+        is for common attributes where the ID is optional, and
+        %common-idreq.att; is for common attributes where the
+        ID is required.
+-->
+<!ENTITY % common.att 'id                     ID              #IMPLIED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!-- xml:space attribute ===============================================
+        Indicates that the element contains white space
+        that the formatter or other application should retain,
+        as appropriate to its function.
+==================================================================== -->
+<!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
+<!-- def attribute =====================================================
+        Points to the element where the relevant definition can be
+        found, using the IDREF mechanism.  %def.att; is for optional
+        def attributes, and %def-req.att; is for required def
+        attributes.
+==================================================================== -->
+<!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
+<!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
+<!-- ref attribute =====================================================
+        Points to the element where more information can be found,
+        using the IDREF mechanism.  %ref.att; is for optional
+        ref attributes, and %ref-req.att; is for required ref
+        attributes.
+================================================================== -->
+<!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
+<!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- Entities for general usage -->
+<!-- =============================================================== -->
+<!-- Key attribute =====================================================
+        Optionally provides a sorting or indexing key, for cases when
+        the element content is inappropriate for this purpose.
+==================================================================== -->
+<!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
+<!-- Title attributes ==================================================
+        Indicates that the element requires to have a title attribute.
+==================================================================== -->
+<!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
+<!-- Name attributes ==================================================
+        Indicates that the element requires to have a name attribute.
+==================================================================== -->
+<!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
+<!-- Email attributes ==================================================
+        Indicates that the element requires to have an email attribute.
+==================================================================== -->
+<!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
+<!-- Link attributes ===================================================
+        Indicates that the element requires to have hyperlink attributes.
+==================================================================== -->
+<!ENTITY % link.att 'href      CDATA                         #IMPLIED
+         role      CDATA                         #IMPLIED
+         title     CDATA                         #IMPLIED '>
+<!-- =============================================================== -->
+<!-- General definitions -->
+<!-- =============================================================== -->
+<!-- A person is a general unparsed human entity -->
+<!ELEMENT person EMPTY>
+<!ATTLIST person
+  %common.att; 
+  %name.att; 
+  %email.att; 
+>
+<!-- =============================================================== -->
+<!-- Content definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.inline "">
+<!ENTITY % link-content.mix "%text;|%markup;|%special-inline; %local.inline;">
+<!ENTITY % content.mix "%link-content.mix;|%links;">
+<!-- ==================================================== -->
+<!-- Phrase Markup -->
+<!-- ==================================================== -->
+<!-- Strong (typically bold) -->
+<!ELEMENT strong (%text; | code)*>
+<!ATTLIST strong
+  %common.att; 
+>
+<!-- Emphasis (typically italic) -->
+<!ELEMENT em (%text; | code)*>
+<!ATTLIST em
+  %common.att; 
+>
+<!-- Code (typically monospaced) -->
+<!ELEMENT code (%text;)>
+<!ATTLIST code
+  %common.att; 
+>
+<!-- Superscript (typically smaller and higher) -->
+<!ELEMENT sup (%text;)>
+<!ATTLIST sup
+  %common.att; 
+>
+<!-- Subscript (typically smaller and lower) -->
+<!ELEMENT sub (%text;)>
+<!ATTLIST sub
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Hypertextual Links -->
+<!-- ==================================================== -->
+<!-- hyperlink (equivalent of <a ...>) -->
+<!ELEMENT link (%link-content.mix;)*>
+<!ATTLIST link
+  %common.att; 
+  %link.att; 
+>
+<!-- windows-replacing link (equivalent of <a ... target="_top">) -->
+<!ELEMENT jump (%link-content.mix;)*>
+<!ATTLIST jump
+  %common.att; 
+  %link.att; 
+>
+<!-- window-forking link (equivalent of <a ... target="_blank">) -->
+<!ELEMENT fork (%link-content.mix;)*>
+<!ATTLIST fork
+  %common.att; 
+  %link.att; 
+>
+
+<!-- ==================================================== -->
+<!-- Specials -->
+<!-- ==================================================== -->
+<!-- Breakline Object (typically forces line break) -->
+<!ELEMENT br EMPTY>
+<!ATTLIST br
+  %common.att; 
+>
+<!-- Image Object (typically an inlined image) -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  %common.att; 
+>
+<!-- Image Icon (typically an inlined image placed as graphical item) -->
+<!ELEMENT icon EMPTY>
+<!ATTLIST icon
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Acronym (in modern browsers, will have rollover text) -->
+<!ELEMENT acronym (%text;)*>
+<!ATTLIST acronym
+  title CDATA #REQUIRED
+  %common.att; 
+>
+
+<!-- =============================================================== -->
+<!-- Blocks definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.blocks "">
+<!ENTITY % blocks "%paragraphs;|%tables;|%lists;|%special-blocks; 
%local.blocks;">
+<!-- ==================================================== -->
+<!-- Paragraphs -->
+<!-- ==================================================== -->
+<!-- Text Paragraph (normally vertically space delimited. Space can be 
preserved.) -->
+<!ELEMENT p (%content.mix;)*>
+<!ATTLIST p
+  %common.att; 
+  xml:space (default|preserve) #IMPLIED
+>
+<!-- Source Paragraph (normally space is preserved) -->
+<!ELEMENT source (%content.mix;)*>
+<!ATTLIST source
+  %common.att; 
+  %xmlspace.att; 
+>
+<!-- Note Paragraph (normally shown encapsulated) -->
+<!ELEMENT note (%content.mix;)*>
+<!ATTLIST note
+  %common.att; 
+>
+<!-- Warning Paragraph (normally shown with eye-catching colors) -->
+<!ELEMENT warning (%content.mix;)*>
+<!ATTLIST warning
+  %common.att; 
+>
+<!-- Fixme Paragraph (normally not shown) -->
+<!ELEMENT fixme (%content.mix;)*>
+<!ATTLIST fixme
+  author CDATA #REQUIRED
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Tables -->
+<!-- ==================================================== -->
+<!-- Attributes that indicate the spanning of the table cell -->
+<!ENTITY % cell.span 'colspan CDATA "1"
+         rowspan CDATA "1"'>
+<!-- Table element -->
+<!ELEMENT table (caption?, tr+)>
+<!ATTLIST table
+  %common.att; 
+>
+<!-- The table title -->
+<!ELEMENT caption (%content.mix;)*>
+<!ATTLIST caption
+  %common.att; 
+>
+<!-- The table row element -->
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr
+  %common.att; 
+>
+<!-- The table row header element -->
+<!ELEMENT th (%content.mix;)*>
+<!ATTLIST th
+  %common.att; 
+  %cell.span; 
+>
+<!-- The table row description element -->
+<!ELEMENT td (%content.mix;)*>
+<!ATTLIST td
+  %common.att; 
+  %cell.span; 
+>
+<!-- ==================================================== -->
+<!-- Lists -->
+<!-- ==================================================== -->
+<!-- List item -->
+<!ELEMENT li (%content.mix; | %lists;)*>
+<!ATTLIST li
+  %common.att; 
+>
+<!-- Unordered list (typically bulleted) -->
+<!ELEMENT ul (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ul
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Ordered list (typically numbered) -->
+<!ELEMENT ol (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ol
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Definition list (typically two-column) -->
+<!ELEMENT dl (dt, dd)+>
+<!ATTLIST dl
+  %common.att; 
+>
+<!-- Definition term -->
+<!ELEMENT dt (%content.mix;)*>
+<!ATTLIST dt
+  %common.att; 
+>
+<!-- Definition description -->
+<!ELEMENT dd (%content.mix;)*>
+<!ATTLIST dd
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Special Blocks -->
+<!-- ==================================================== -->
+<!-- Image Block (typically a separated and centered image) -->
+<!ELEMENT figure EMPTY>
+<!ATTLIST figure
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  %common.att; 
+>
+<!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor
+  %common-idreq.att; 
+>
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<!ELEMENT document (header, body, footer?)>
+<!ATTLIST document
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Header -->
+<!-- ==================================================== -->
+<!ENTITY % local.headers "">
+<!ELEMENT header (title, subtitle?, version?, type?, authors?,
+                      notice*, abstract? %local.headers;)>
+<!ATTLIST header
+  %common.att; 
+>
+<!ELEMENT title (%text; | %markup;)*>
+<!ATTLIST title
+  %common.att; 
+>
+<!ELEMENT subtitle (%text; | %markup;)*>
+<!ATTLIST subtitle
+  %common.att; 
+>
+<!ELEMENT version (%text;)>
+<!ATTLIST version
+  %common.att;
+  major CDATA #IMPLIED
+  minor CDATA #IMPLIED
+  fix CDATA #IMPLIED
+  tag CDATA #IMPLIED
+>
+<!ELEMENT type (%text;)>
+<!ATTLIST type
+  %common.att; 
+>
+<!ELEMENT authors (person+)>
+<!ATTLIST authors
+  %common.att; 
+>
+<!ELEMENT notice (%content.mix;)*>
+<!ATTLIST notice
+  %common.att; 
+>
+<!ELEMENT abstract (%content.mix;)*>
+<!ATTLIST abstract
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Body -->
+<!-- ==================================================== -->
+<!ENTITY % local.sections "">
+<!ENTITY % sections "section %local.sections;">
+<!ELEMENT body (%sections; | %blocks;)+>
+<!ATTLIST body
+  %common.att; 
+>
+<!ELEMENT section (title, (%sections; | %blocks;)*)>
+<!ATTLIST section
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Footer -->
+<!-- ==================================================== -->
+<!ENTITY % local.footers "">
+<!ELEMENT footer (legal %local.footers;)>
+<!ELEMENT legal (%content.mix;)*>
+<!ATTLIST legal
+  %common.att; 
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v12.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v12.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,143 @@
+<!-- ===================================================================
+
+     Apache Documentation DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Documentation Vx.y//EN"
+       "document-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  Many of the design patterns used in this DTD were take from the
+  W3C XML Specification DTD edited by Eve Maler <[EMAIL PROTECTED]>.
+
+  Where possible, great care has been used to reuse HTML tag
+  names to reduce learning efforts and to allow HTML editors to be
+  used for complex authorings like tables and lists.
+
+EXTENSIBILITY:
+  This DTD includes several empty placeholders that can be used to
+  extend it. These placeholders are implemented with empty entities. Here
+  is the list of those empty entities and what they are used for:
+
+    - local.inline: this entity should contain extended definitions of
+                    elements that can be used 'inline', or directly inside
+                    the content. An example for this entity could be
+
+                        <!ENTITY % local.inline "|citation">
+
+    - local.blocks: this entity should contain extended definitions of
+                    elements that behave as 'blocks', thus can be visually
+                    rendered as areas on the canvas. An example for this
+                    entity could be:
+
+                        <!ENTITY % local.blocks "|poem">
+
+    - local.sections: this entity should contain extended definitions of
+                      elements that behave as 'sections', thus can be 
considered
+                      containers of block-level elements. An example for
+                      this entity could be:
+
+                        <!ENTITY % local.sections "|chapter">
+
+    - local.headers: this entity should contain extended definitions of
+                     elements that behave as parts of the document header.
+                     An example for this header could be:
+
+                        <!ENTITY % local.headers ", notes?">
+
+    - local.footers: this entity should contain extended definitions of
+                     elements that behave as parts of the document footer.
+                     An example for this header could be:
+
+                        <!ENTITY % local.footers ", annotations*">
+
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+  - should "form" tags be included?
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991121 Initial version. (SM)
+  19991123 Replaced "res" with more standard "strong" for emphasis. (SM)
+  19991124 Added "fork" element for window forking behavior. (SM)
+  19991124 Added "img-inline" element to separate from "img". (SM)
+  19991129 Removed "affiliation" from "author". (SM)
+  19991129 Made "author" empty and moved "name|email" as attributes. (SM)
+  19991215 Simplified table section. (SM)
+  19991215 Changed "img-block" in more friendly "figure". (SM)
+  20000125 Added the "icon" image. (SM)
+  20000126 Allowed "anchor" in all levels. (SM)
+  20000404 Removed the "role" attribute from common-xxx.att. (SM)
+  20000815 Allowed "code" inside "strong" and "em". (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities. (SM)
+  20011212 Removed xlink attributes since not used. (SM)
+  20011212 Removed "connect" since not required at this level. (SM)
+  20011218 Added "warning" as a block level object. (SM)
+  20011218 Removed explicitly numbered sections ("s1|s2|s3|s4"). (SM)
+  20011218 Added "section" element. (SM)
+  20011218 Allowed "body" to have blocks without a section. (SM)
+  20011218 Removed "sl" since not really different from "ul". (SM)
+  20020214 Moved empty placeholder entity declarations up front (SNS)
+  20020214 Corrected content model of content.mix parameter entity (SNS)
+  20020519 The DTDs are now modular so various parts can be re-used (SNS)
+  20020606 Made title into an child element of its parent instead of an 
attribute (SNS)
+  20020613 Move the declarations of ISO character entity sets to module (DC)
+[Version 1.2]
+  20030320 Make @href required for link elements. (SNS)
+  20030320 Allow links (link|jump|fork) and inline elements 
(br|img|icon|acronym) inside title. (SNS)
+  20030419 Allow inline content 
(strong|em|code|sub|sup|br|img|icon|acronym|link|jump|fork) in strong and em. 
(JT)
+  20030419 Allow paragraphs (p|source|note|warning|fixme), table and 
figure|anchor inside li. (JT)
+  20030419 Allow paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), 
table, figure|anchor inside dd. (JT)
+  20030419 Allow paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), 
table, figure|anchor inside tables (td|dh). (JT)
+
+
+COPYRIGHT:
+  Copyright (c) 2002,2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v12.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/document-v12.mod
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,427 @@
+<!-- ===================================================================
+
+     Apache Common Documentation elements (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % document PUBLIC
+      "-//APACHE//ENTITIES Documentation Vxy//EN"
+      "document-vxy.mod">
+  %document;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Useful entities for increased DTD readability -->
+<!-- =============================================================== -->
+<!ENTITY % text "#PCDATA">
+<!-- Entities referred to later on are defined up front -->
+<!ENTITY % markup "strong|em|code|sub|sup">
+<!ENTITY % special-inline "br|img|icon|acronym">
+<!ENTITY % links "link|jump|fork">
+<!ENTITY % paragraphs "p|source|note|warning|fixme">
+<!ENTITY % tables "table">
+<!ENTITY % lists "ol|ul|dl">
+<!ENTITY % special-blocks "figure|anchor">
+<!-- =============================================================== -->
+<!-- Entities for general XML compliance -->
+<!-- =============================================================== -->
+<!-- Common attributes
+        Every element has an ID attribute (sometimes required,
+        but usually optional) for links. %common.att;
+        is for common attributes where the ID is optional, and
+        %common-idreq.att; is for common attributes where the
+        ID is required.
+-->
+<!ENTITY % common.att 'id                     ID              #IMPLIED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!-- xml:space attribute ===============================================
+        Indicates that the element contains white space
+        that the formatter or other application should retain,
+        as appropriate to its function.
+==================================================================== -->
+<!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
+<!-- def attribute =====================================================
+        Points to the element where the relevant definition can be
+        found, using the IDREF mechanism.  %def.att; is for optional
+        def attributes, and %def-req.att; is for required def
+        attributes.
+==================================================================== -->
+<!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
+<!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
+<!-- ref attribute =====================================================
+        Points to the element where more information can be found,
+        using the IDREF mechanism.  %ref.att; is for optional
+        ref attributes, and %ref-req.att; is for required ref
+        attributes.
+================================================================== -->
+<!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
+<!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- Entities for general usage -->
+<!-- =============================================================== -->
+<!-- Key attribute =====================================================
+        Optionally provides a sorting or indexing key, for cases when
+        the element content is inappropriate for this purpose.
+==================================================================== -->
+<!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
+<!-- Title attributes ==================================================
+        Indicates that the element requires to have a title attribute.
+==================================================================== -->
+<!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
+<!-- Name attributes ==================================================
+        Indicates that the element requires to have a name attribute.
+==================================================================== -->
+<!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
+<!-- Email attributes ==================================================
+        Indicates that the element requires to have an email attribute.
+==================================================================== -->
+<!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
+<!-- Link attributes ===================================================
+        Indicates that the element requires to have hyperlink attributes.
+==================================================================== -->
+<!ENTITY % link.att 'href      CDATA             #REQUIRED
+         role      CDATA                         #IMPLIED
+         title     CDATA                         #IMPLIED '>
+<!-- =============================================================== -->
+<!-- General definitions -->
+<!-- =============================================================== -->
+<!-- A person is a general unparsed human entity -->
+<!ELEMENT person EMPTY>
+<!ATTLIST person
+  %common.att; 
+  %name.att; 
+  %email.att; 
+>
+<!-- =============================================================== -->
+<!-- Content definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.inline "">
+<!ENTITY % link-content.mix "%text;|%markup;|%special-inline; %local.inline;">
+<!ENTITY % content.mix "%link-content.mix;|%links;">
+<!-- ==================================================== -->
+<!-- Phrase Markup -->
+<!-- ==================================================== -->
+<!-- Strong (typically bold) -->
+<!ELEMENT strong (%content.mix;)*>
+<!ATTLIST strong
+  %common.att; 
+>
+<!-- Emphasis (typically italic) -->
+<!ELEMENT em (%content.mix;)*>
+<!ATTLIST em
+  %common.att; 
+>
+<!-- Code (typically monospaced) -->
+<!ELEMENT code (%text;)>
+<!ATTLIST code
+  %common.att; 
+>
+<!-- Superscript (typically smaller and higher) -->
+<!ELEMENT sup (%text;)>
+<!ATTLIST sup
+  %common.att; 
+>
+<!-- Subscript (typically smaller and lower) -->
+<!ELEMENT sub (%text;)>
+<!ATTLIST sub
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Hypertextual Links -->
+<!-- ==================================================== -->
+<!-- hyperlink (equivalent of <a ...>) -->
+<!ELEMENT link (%link-content.mix;)*>
+<!ATTLIST link
+  %common.att; 
+  %link.att; 
+>
+<!-- windows-replacing link (equivalent of <a ... target="_top">) -->
+<!ELEMENT jump (%link-content.mix;)*>
+<!ATTLIST jump
+  %common.att; 
+  %link.att; 
+>
+<!-- window-forking link (equivalent of <a ... target="_blank">) -->
+<!ELEMENT fork (%link-content.mix;)*>
+<!ATTLIST fork
+  %common.att; 
+  %link.att; 
+>
+
+<!-- ==================================================== -->
+<!-- Specials -->
+<!-- ==================================================== -->
+<!-- Breakline Object (typically forces line break) -->
+<!ELEMENT br EMPTY>
+<!ATTLIST br
+  %common.att; 
+>
+<!-- Image Object (typically an inlined image) -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  %common.att; 
+>
+<!-- Image Icon (typically an inlined image placed as graphical item) -->
+<!ELEMENT icon EMPTY>
+<!ATTLIST icon
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Acronym (in modern browsers, will have rollover text) -->
+<!ELEMENT acronym (%text;)*>
+<!ATTLIST acronym
+  title CDATA #REQUIRED
+  %common.att; 
+>
+
+<!-- =============================================================== -->
+<!-- Blocks definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.blocks "">
+<!ENTITY % blocks "%paragraphs;|%tables;|%lists;|%special-blocks; 
%local.blocks;">
+
+<!-- Flow mixes block and inline -->
+<!ENTITY % flow "%content.mix;|%blocks;">
+
+<!-- ==================================================== -->
+<!-- Paragraphs -->
+<!-- ==================================================== -->
+<!-- Text Paragraph (normally vertically space delimited. Space can be 
preserved.) -->
+<!ELEMENT p (%content.mix;)*>
+<!ATTLIST p
+  %common.att; 
+  xml:space (default|preserve) #IMPLIED
+>
+<!-- Source Paragraph (normally space is preserved) -->
+<!ELEMENT source (%content.mix;)*>
+<!ATTLIST source
+  %common.att; 
+  %xmlspace.att; 
+>
+<!-- Note Paragraph (normally shown encapsulated) -->
+<!ELEMENT note (%content.mix;)*>
+<!ATTLIST note
+  label CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Warning Paragraph (normally shown with eye-catching colors) -->
+<!ELEMENT warning (%content.mix;)*>
+<!ATTLIST warning
+  label CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Fixme Paragraph (normally not shown) -->
+<!ELEMENT fixme (%content.mix;)*>
+<!ATTLIST fixme
+  author CDATA #REQUIRED
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Tables -->
+<!-- ==================================================== -->
+<!-- Attributes that indicate the spanning of the table cell -->
+<!ENTITY % cell.span 'colspan CDATA "1"
+         rowspan CDATA "1"'>
+<!-- Table element -->
+<!ELEMENT table (caption?, tr+)>
+<!ATTLIST table
+  %common.att; 
+>
+<!-- The table title -->
+<!ELEMENT caption (%content.mix;)*>
+<!ATTLIST caption
+  %common.att; 
+>
+<!-- The table row element -->
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr
+  %common.att; 
+>
+<!-- The table row header element -->
+<!ELEMENT th (%flow;)*>
+<!ATTLIST th
+  %common.att; 
+  %cell.span; 
+>
+<!-- The table row description element -->
+<!ELEMENT td (%flow;)*>
+<!ATTLIST td
+  %common.att; 
+  %cell.span; 
+>
+<!-- ==================================================== -->
+<!-- Lists -->
+<!-- ==================================================== -->
+<!-- List item -->
+<!ELEMENT li (%flow;)*>
+<!ATTLIST li
+  %common.att; 
+>
+<!-- Unordered list (typically bulleted) -->
+<!ELEMENT ul (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ul
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Ordered list (typically numbered) -->
+<!ELEMENT ol (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ol
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Definition list (typically two-column) -->
+<!ELEMENT dl (dt, dd)+>
+<!ATTLIST dl
+  %common.att; 
+>
+<!-- Definition term -->
+<!ELEMENT dt (%content.mix;)*>
+<!ATTLIST dt
+  %common.att; 
+>
+<!-- Definition description -->
+<!ELEMENT dd (%flow; )*>
+<!ATTLIST dd
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Special Blocks -->
+<!-- ==================================================== -->
+<!-- Image Block (typically a separated and centered image) -->
+<!ELEMENT figure EMPTY>
+<!ATTLIST figure
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  align CDATA #IMPLIED
+  %common.att; 
+>
+<!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor
+  %common-idreq.att; 
+>
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<!ELEMENT document (header, body, footer?)>
+<!ATTLIST document
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Header -->
+<!-- ==================================================== -->
+<!ENTITY % local.headers "">
+<!ELEMENT header (title, subtitle?, version?, type?, authors?,
+                      notice*, abstract? %local.headers;)>
+<!ATTLIST header
+  %common.att; 
+>
+<!ELEMENT title (%text; | %markup; | %links; | %special-inline;)*>
+<!ATTLIST title
+  %common.att; 
+>
+<!ELEMENT subtitle (%text; | %markup;)*>
+<!ATTLIST subtitle
+  %common.att; 
+>
+<!ELEMENT version (%text;)>
+<!ATTLIST version
+  %common.att;
+  major CDATA #IMPLIED
+  minor CDATA #IMPLIED
+  fix CDATA #IMPLIED
+  tag CDATA #IMPLIED
+>
+<!ELEMENT type (%text;)>
+<!ATTLIST type
+  %common.att; 
+>
+<!ELEMENT authors (person+)>
+<!ATTLIST authors
+  %common.att; 
+>
+<!ELEMENT notice (%content.mix;)*>
+<!ATTLIST notice
+  %common.att; 
+>
+<!ELEMENT abstract (%content.mix;)*>
+<!ATTLIST abstract
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Body -->
+<!-- ==================================================== -->
+<!ENTITY % local.sections "">
+<!ENTITY % sections "section %local.sections;">
+<!ELEMENT body (%sections; | %blocks;)+>
+<!ATTLIST body
+  %common.att; 
+>
+<!ELEMENT section (title, (%sections; | %blocks;)*)>
+<!ATTLIST section
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Footer -->
+<!-- ==================================================== -->
+<!ENTITY % local.footers "">
+<!ELEMENT footer (legal %local.footers;)>
+<!ELEMENT legal (%content.mix;)*>
+<!ATTLIST legal
+  %common.att; 
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v11.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v11.dtd 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,79 @@
+<!-- ===================================================================
+
+     Apache FAQ DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software FAQ's for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE faqs PUBLIC
+       "-//APACHE//DTD FAQ Vx.y//EN"
+       "faq-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  FAQs represent a powerful knowledge base and a very good way of solving
+  common user problems reducing messages on mail lists and reducing the effort
+  required for software installation and usage. Thid DTD want to be a common
+  format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to
+  be published in other formats as well as enhancing data interchange.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+  20011212 Used public identifiers for external entities (SM)
+  20020418 Added an (optional) 'part' element to create sections in a faq (SN)
+  20020613 Include the module of ISO character entity sets (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V1.1//EN"
+    "faq-v11.mod">
+%faq;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v11.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v11.mod 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,60 @@
+<!-- ===================================================================
+
+     Apache Faq module (Version 1.1)
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % faq PUBLIC
+      "-//APACHE//ENTITIES FAQ Vxy//EN"
+      "faq-vxy.mod">
+  %faq;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Element declarations -->
+<!-- =============================================================== -->
+
+<!ELEMENT faqs (authors?, (faq|part)+)>
+<!ATTLIST faqs %common.att;
+               %title.att;>
+
+    <!ELEMENT part (title, (faq | part)+) >
+    <!ATTLIST part %common.att;>
+
+    <!ELEMENT faq (question, answer)>
+    <!ATTLIST faq %common.att;>
+
+        <!ELEMENT question (%content.mix;)*>
+        <!ATTLIST question %common.att;>
+
+        <!ELEMENT answer (%blocks;)*>
+        <!ATTLIST answer author IDREF #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v12.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v12.dtd 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,81 @@
+<!-- ===================================================================
+
+     Apache FAQ DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software FAQ's for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE faqs PUBLIC
+       "-//APACHE//DTD FAQ Vx.y//EN"
+       "faq-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  FAQs represent a powerful knowledge base and a very good way of solving
+  common user problems reducing messages on mail lists and reducing the effort
+  required for software installation and usage. Thid DTD want to be a common
+  format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to
+  be published in other formats as well as enhancing data interchange.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+  20011212 Used public identifiers for external entities (SM)
+  20020418 Added an (optional) 'part' element to create sections in a faq (SN)
+  20020613 Include the module of ISO character entity sets (DC)
+[Version 1.2]
+  20030424 Adopt the loosened content model from document-v12 (JT)
+
+COPYRIGHT:
+  Copyright (c) 2002-2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V1.1//EN"
+    "faq-v12.mod">
+%faq;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v12.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/faq-v12.mod 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,65 @@
+<!-- ===================================================================
+
+     Apache Faq module (Version 1.1)
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % faq PUBLIC
+      "-//APACHE//ENTITIES FAQ Vxy//EN"
+      "faq-vxy.mod">
+  %faq;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+[Version 1.2]
+  20030505 Allow mixed content in <answer>, to match <question> (JT)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Element declarations -->
+<!-- =============================================================== -->
+
+<!ELEMENT faqs (authors?, (faq|part)+)>
+<!ATTLIST faqs %common.att;
+               %title.att;>
+
+    <!ELEMENT part (title, (faq | part)+) >
+    <!ATTLIST part %common.att;>
+
+    <!ELEMENT faq (question, answer)>
+    <!ATTLIST faq %common.att;>
+
+        <!ELEMENT question (%content.mix;|elaboration)*>
+        <!ATTLIST question %common.att;>
+
+        <!ELEMENT elaboration (%content.mix;)*>
+        <!ATTLIST elaboration %common.att;>
+
+        <!ELEMENT answer (%flow;)*>
+        <!ATTLIST answer author IDREF #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/howto-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/howto-v10.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,111 @@
+<!-- ===================================================================
+
+     Apache How-To DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software How-Tos for use with the Apache projects.
+  It is an XML-compliant DTD and is maintained by the Apache XML project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD How-To Vx.y//EN"
+       "howto-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  How-Tos help software users accomplish a specific task with clear
+  and consise instructions.
+
+AUTHORS:
+  Diana Shannon <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  20020515 Initial version. (DS)
+  20020521 Added feedback element. (DS)
+  20020613 Include the module of ISO character entity sets (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Local entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % local.headers ", last-modified-content-date">
+
+<!-- =============================================================== -->
+<!-- Include other DTD modules and entity sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V1.1//EN"
+    "faq-v11.mod">
+%faq;
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT howto (header, audience?, purpose?, prerequisites?, steps,
+    extension?, faqs?, tips?, references?, feedback? )>
+<!ATTLIST howto %common.att;>
+
+
+    <!ELEMENT overview (%blocks;)* >
+    <!ATTLIST overview %title.att; %common.att;>
+
+    <!ELEMENT purpose (%blocks;)* >
+    <!ATTLIST purpose %title.att; %common.att;>
+
+    <!ELEMENT prerequisites (section | %blocks;)* >
+    <!ATTLIST prerequisites %title.att; %common.att;>
+
+    <!ELEMENT audience (%blocks;)* >
+    <!ATTLIST audience %title.att; %common.att;>
+
+    <!ELEMENT steps (section | %blocks;)* >
+    <!ATTLIST steps %title.att; %common.att;>
+
+    <!ELEMENT extension (%blocks;)* >
+    <!ATTLIST extension %title.att; %common.att;>
+
+    <!ELEMENT tips (section | %blocks;)* >
+    <!ATTLIST tips %title.att; %common.att;>
+
+    <!ELEMENT references (section | %blocks;)* >
+    <!ATTLIST references %title.att; %common.att;>
+
+    <!ELEMENT feedback (%blocks;)* >
+    <!ATTLIST feedback %title.att; %common.att;>
+
+    <!ELEMENT last-modified-content-date EMPTY >
+    <!ATTLIST last-modified-content-date date CDATA #REQUIRED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/howto-v12.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/howto-v12.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,113 @@
+<!-- ===================================================================
+
+     Apache How-To DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software How-Tos for use with the Apache projects.
+  It is an XML-compliant DTD and is maintained by the Apache XML project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD How-To Vx.y//EN"
+       "howto-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  How-Tos help software users accomplish a specific task with clear
+  and consise instructions.
+
+AUTHORS:
+  Diana Shannon <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  20020515 Initial version. (DS)
+  20020521 Added feedback element. (DS)
+  20020613 Include the module of ISO character entity sets (DC)
+[Version 1.2]
+  20030424 Adopt the loosened content model from document-v12 (JT)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Local entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % local.headers ", last-modified-content-date">
+
+<!-- =============================================================== -->
+<!-- Include other DTD modules and entity sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V1.1//EN"
+    "faq-v11.mod">
+%faq;
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT howto (header, audience?, purpose?, prerequisites?, steps,
+    extension?, faqs?, tips?, references?, feedback? )>
+<!ATTLIST howto %common.att;>
+
+
+    <!ELEMENT overview (%blocks;)* >
+    <!ATTLIST overview %title.att; %common.att;>
+
+    <!ELEMENT purpose (%blocks;)* >
+    <!ATTLIST purpose %title.att; %common.att;>
+
+    <!ELEMENT prerequisites (section | %blocks;)* >
+    <!ATTLIST prerequisites %title.att; %common.att;>
+
+    <!ELEMENT audience (%blocks;)* >
+    <!ATTLIST audience %title.att; %common.att;>
+
+    <!ELEMENT steps (section | %blocks;)* >
+    <!ATTLIST steps %title.att; %common.att;>
+
+    <!ELEMENT extension (%blocks;)* >
+    <!ATTLIST extension %title.att; %common.att;>
+
+    <!ELEMENT tips (section | %blocks;)* >
+    <!ATTLIST tips %title.att; %common.att;>
+
+    <!ELEMENT references (section | %blocks;)* >
+    <!ATTLIST references %title.att; %common.att;>
+
+    <!ELEMENT feedback (%blocks;)* >
+    <!ATTLIST feedback %title.att; %common.att;>
+
+    <!ELEMENT last-modified-content-date EMPTY >
+    <!ATTLIST last-modified-content-date date CDATA #REQUIRED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/javadoc-v04draft.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/javadoc-v04draft.dtd
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,254 @@
+<!-- ===================================================================
+     
+     Apache JavaDoc DTD (version 0.4-draft)
+
+PURPOSE:
+  This DTD is designed to capture the output of JavaDoc as an XML document
+  through the use of the JavaDocXML Doclet. The hope is that by having the
+  JavaDoc documentation in an XML format, it will be easier for application
+  developers working with XML to treat their java source documentation in the
+  same way they treat any other XML document within their publication 
framework.
+  
+  This DTD should reflect the information contained within the RootDoc object 
+  passed to the JavaDocXML Doclet by JavaDoc. The RootDoc object and the rest 
+  of the javaDoc Doclet API is specified at
+  
+  http://java.sun.com/products/jdk/1.2/docs/tooldocs/javadoc/doclet/index.html
+  
+  The only information that appears to be difficult to derive from this DTD
+  that is easy to obtain from the RootDoc object is the information about 
+  serialization. However, this information should be derivable by manually 
+  looking for the correct serialization methods and other related structures.
+  
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD JavaDoc Vx.yz//EN"
+       "javadoc-vxyz.dtd">
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:  
+  The authors would like to thank the Cocoon's mail list subscribers for 
+  providing such great support and feedback for this DTD.
+  
+AUTHORS:
+  Kenneth Murphy <[EMAIL PROTECTED]>
+  
+FIXME:
+
+CHANGE HISTORY:
+  199909?? Original idea of XML doclet. (KM)
+  199910?? Initial version of this DTD. (KM)
+  19991129 Cleaned up DTD. (SM)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Common Attribute Entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % name 'name CDATA #REQUIRED'>
+<!ENTITY % dimension 'dimension CDATA #REQUIRED'>
+
+<!ENTITY % abstract 'abstract (true | false) "false"'>
+<!ENTITY % anonymous 'anonymous (true | false) "false"'>
+<!ENTITY % synthetic 'synthetic (true | false) "false"'>
+<!ENTITY % static 'static (true | false) "false"'>
+<!ENTITY % final 'final (true | false) "false"'>
+<!ENTITY % transient 'transient (true | false) "false"'>
+<!ENTITY % volatile 'volatile (true | false) "false"'>
+<!ENTITY % native 'native (true | false) "false"'>
+<!ENTITY % synchronized 'synchronized (true | false) "false"'>
+
+<!ENTITY % access 'access (private | package | protected | public) "package"'>
+<!ENTITY % class.access 'access (package | public) "package"'>
+
+<!ENTITY % extensibility 'extensibility (abstract | final | default) 
"default"'>
+
+
+<!-- =============================================================== -->
+<!-- Javadoc -->
+<!-- =============================================================== -->
+
+<!ELEMENT javadoc (package*, class*, interface*)>
+
+<!-- =============================================================== -->
+<!-- Package -->
+<!-- =============================================================== -->
+
+<!ELEMENT package (doc?, package*, class*, interface*)>
+<!ATTLIST package %name;>
+
+<!-- =============================================================== -->
+<!-- Class -->
+<!-- =============================================================== -->
+
+<!ELEMENT class (doc?,
+                 extends_class?,
+                 implements?,
+                 field*, 
+                 constructor*, 
+                 method*,
+                 innerclass*)>
+<!ATTLIST class
+          %name;
+          %extensibility;
+          %class.access;>
+
+<!ELEMENT extends_class (classref+)>
+          
+<!ELEMENT innerclass (doc?,
+                      extends?,
+                      implements?,
+                      field*, 
+                      constructor*, 
+                      method*)>
+<!ATTLIST innerclass
+          %name;
+          %access;
+          %abstract;
+          %anonymous;
+          %final;
+          %static;>
+          
+<!-- =============================================================== -->
+<!-- Interface -->
+<!-- =============================================================== -->
+          
+<!ELEMENT interface (doc?,
+                     extends_interface?,
+                     field*,
+                     method*)>
+<!ATTLIST interface
+          %name;
+          %access;>
+          
+<!ELEMENT extends_interface (interfaceref+)>
+
+<!-- =============================================================== -->
+<!-- Elements -->
+<!-- =============================================================== -->
+
+<!ELEMENT implements (interfaceref+)>
+
+<!ELEMENT throws (classref)+>
+
+<!ELEMENT classref EMPTY>
+<!ATTLIST classref %name;>
+          
+<!ELEMENT interfaceref EMPTY>
+<!ATTLIST interfaceref %name;>
+          
+<!ELEMENT methodref EMPTY>
+<!ATTLIST methodref %name;>
+          
+<!ELEMENT packageref EMPTY>
+<!ATTLIST packageref %name;>
+          
+<!ELEMENT primitive EMPTY>
+<!ATTLIST primitive
+          type (void | boolean | int | long | byte | short | double | float | 
char) #REQUIRED>
+          
+<!ELEMENT field (doc?, (classref | interfaceref | primitive))>
+<!ATTLIST field
+          %name;
+          %access;
+          %dimension;
+          %synthetic;
+          %static;
+          %final;
+          %transient;
+          %volatile;>
+          
+<!ELEMENT constructor (doc?, parameter*, throws*)>
+<!ATTLIST constructor
+          %name;
+          %access;
+          %synthetic;>
+          
+<!ELEMENT method (doc?, returns, parameter*, throws*)>
+<!ATTLIST method
+          %name;
+          %access;
+          %extensibility;
+          %native;
+          %synthetic;
+          %static;
+          %synchronized;>
+          
+<!ELEMENT returns (classref | interfaceref | primitive)>
+<!ATTLIST returns %dimension;>
+          
+<!ELEMENT parameter (classref | interfaceref | primitive)>
+<!ATTLIST parameter
+          %name;
+          %final;
+          %dimension;>
+          
+<!ELEMENT dimension (#PCDATA)>
+
+<!ELEMENT doc (#PCDATA | 
+               linktag |
+               authortag |
+               versiontag |
+               paramtag |
+               returntag |
+               exceptiontag |
+               throwstag |
+               seetag |
+               sincetag |
+               deprecatedtag |
+               serialtag |
+               serialfieldtag |
+               serialdatatag)*>
+               
+<!ELEMENT linktag (#PCDATA)>
+<!ATTLIST linktag
+          src CDATA #REQUIRED>
+          
+<!ELEMENT authortag (#PCDATA | linktag)*>
+
+<!ELEMENT versiontag (#PCDATA | linktag)*>
+
+<!ELEMENT paramtag (#PCDATA | linktag)*>
+<!ATTLIST paramtag %name;>
+          
+<!ELEMENT returntag (#PCDATA | linktag)*>
+
+<!ELEMENT exceptiontag (#PCDATA | classref | linktag)*>
+
+<!ELEMENT throwstag (#PCDATA | classref | linktag)*>
+
+<!ELEMENT seetag (#PCDATA | linktag)*>
+<!ATTLIST seetag
+          src CDATA #REQUIRED>
+          
+<!ELEMENT sincetag (#PCDATA | linktag)*>
+
+<!ELEMENT deprecatedtag (#PCDATA | linktag)*>
+
+<!ELEMENT serialtag (#PCDATA | linktag)*>
+
+<!ELEMENT serialfieldtag (#PCDATA | linktag)*>
+<!ATTLIST serialfieldtag
+          fieldname CDATA #REQUIRED
+          fieldtype CDATA #REQUIRED>
+          
+<!ELEMENT serialdatatag (#PCDATA | linktag)*>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/specification-v11.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/specification-v11.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,91 @@
+<!-- ===================================================================
+
+     Apache Specification DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software specifications for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Specification Vx.y//EN"
+       "specification-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+
+<!-- =============================================================== -->
+<!-- Extend the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!-- extend the local.xxx entities -->
+<!ENTITY % local.blocks "|bl">
+
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT specification (header?, body, appendices?, footer?)>
+<!ATTLIST specification %common.att;>
+
+    <!ELEMENT appendices (%sections;)+>
+    <!ATTLIST appendices %common.att;>
+
+<!-- =============================================================== -->
+<!-- Bibliography List -->
+<!-- =============================================================== -->
+
+    <!-- Bibliography list -->
+    <!ELEMENT bl (bi)+>
+    <!ATTLIST bl %common.att;>
+
+        <!-- Book item -->
+        <!ELEMENT bi EMPTY>
+        <!ATTLIST bi %common.att;
+                     %name.att;
+                     %link.att;
+                     authors CDATA #REQUIRED
+                     date    CDATA #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/tab-cocoon-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/tab-cocoon-v10.dtd
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,62 @@
+<!-- ===================================================================
+     
+     Apache Cocoon Documentation Tab DTD (Version 1.0)
+
+PURPOSE:
+This DTD defines the */tab.xml documentation configuration files.  Tabs are
+visual indicators that a certain subsection of the URI space is being browsed.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE tab PUBLIC
+       "-//APACHE//DTD Cocoon Documentation Tab Vx.yz//EN"
+       "tab-cocoon-vxyz.dtd">
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:
+  
+AUTHORS:
+  Bert Van Kets <[EMAIL PROTECTED]>
+  Jeff Turner <[EMAIL PROTECTED]>
+  
+FIXME:
+  - find the proper DTD for top.xml
+
+CHANGE HISTORY:
+  20030521 Add @id (JT)
+  20021102 Revised to allow either @dir or @href (JT)
+  20020506 Initial version. (BVK)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+<!ELEMENT tabs (tab)*>
+<!ELEMENT tab EMPTY>
+<!ATTLIST tabs
+  software CDATA #REQUIRED
+  title CDATA #REQUIRED
+  copyright CDATA #REQUIRED
+  xmlns:xlink CDATA #IMPLIED
+>
+<!ATTLIST tab
+  id CDATA #IMPLIED
+  label CDATA #REQUIRED
+  dir CDATA #IMPLIED
+  indexfile CDATA #IMPLIED
+  href CDATA #IMPLIED
+  type (visible | hidden) "visible"
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v11.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v11.dtd
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,92 @@
+<!-- ===================================================================
+
+     Apache Todos DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development todo lists for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE todo PUBLIC
+       "-//APACHE//DTD Todo Vx.y//EN"
+       "todo-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes that need to be done, planned features, development
+  assignment, etc. in order to allow better work parallelization and create
+  an entry point for people that want to help. This DTD wants to provide
+  a solid foundation to provide such information and to allow it to be
+  published as well as distributed in a common format.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+  - do we need anymore working contexts? (SM)
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+  19991225 Added actions element for better structure (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+  20020613 Include the module of ISO character entity sets (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Todo module -->
+<!-- =============================================================== -->
+
+<!ENTITY % todo PUBLIC
+    "-//APACHE//ENTITIES Todo V1.1//EN"
+    "todo-v11.mod">
+%todo;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v11.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v11.mod
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,72 @@
+<!-- ===================================================================
+
+     Apache Todos module (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development todo lists for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % todo PUBLIC
+      "-//APACHE//ENTITIES Todo Vxy//EN"
+      "todo-vxy.mod">
+  %todo;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes that need to be done, planned features, development
+  assignment, etc. in order to allow better work parallelization and create
+  an entry point for people that want to help. This DTD wants to provide
+  a solid foundation to provide such information and to allow it to be
+  published as well as distributed in a common format.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+  - do we need anymore working contexts? (SM)
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+  19991225 Added actions element for better structure (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Common entities -->
+<!-- =============================================================== -->
+<!ENTITY % priorities "showstopper|high|medium|low|wish|dream">
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+<!ELEMENT todo (title?, devs?, actions+)>
+<!ATTLIST todo
+  %common.att; 
+>
+
+<!ELEMENT actions (action+)>
+<!ATTLIST actions
+  %common.att; 
+  priority (%priorities;) #IMPLIED
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v12.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/todo-v12.dtd
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,95 @@
+<!-- ===================================================================
+
+     Apache Todos DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development todo lists for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE todo PUBLIC
+       "-//APACHE//DTD Todo Vx.y//EN"
+       "todo-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes that need to be done, planned features, development
+  assignment, etc. in order to allow better work parallelization and create
+  an entry point for people that want to help. This DTD wants to provide
+  a solid foundation to provide such information and to allow it to be
+  published as well as distributed in a common format.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+  - do we need anymore working contexts? (SM)
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+  19991225 Added actions element for better structure (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+  20020613 Include the module of ISO character entity sets (DC)
+[Version 1.2]
+  20030424 Adopt the loosened content model from document-v12 (JT)
+
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Todo module -->
+<!-- =============================================================== -->
+
+<!ENTITY % todo PUBLIC
+    "-//APACHE//ENTITIES Todo V1.1//EN"
+    "todo-v11.mod">
+%todo;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/README
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/README  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,7 @@
+These are the deprecated document-v10 DTDs. Please use the current
+v11 DTDs instead. 
+
+There is an Ant task in Forrest scratchpad to automatically transform
+your v10 xdocs to v11 ...
+./build.sh scratchpad
+transform-v11

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/changes-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/changes-v10.dtd
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,91 @@
+<!-- ===================================================================
+
+     Apache Changes DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development changes for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Changes Vx.yz//EN"
+       "http://xml.apache.org/DTD/changes-vxyz.dtd";>
+
+  where
+
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes both to give users indications of bugs that might
+  have been resolved, as well, and not less important, to provide credits
+  for the support given to the project. It is considered vital to provide
+  adequate payback using recognition and credits to let users and developers
+  feel part of the community, thus increasing development power.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+  20000316 Added bugfixing attribute. (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Extend the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!-- FIXME (SM): this is hardcoding. Find a better way of doing this
+     possibly using public identifiers -->
+<!ENTITY % document-dtd SYSTEM "document-v10.dtd">
+%document-dtd;
+
+<!-- =============================================================== -->
+<!-- Common entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % types "add|remove|update|fix">
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT changes (devs, release*)>
+<!ATTLIST changes %common.att;
+                  %title.att;>
+
+    <!ELEMENT devs (person+)>
+    <!ATTLIST devs %common.att;>
+
+    <!ELEMENT release (action+)>
+    <!ATTLIST release %common.att;
+                      version  CDATA  #REQUIRED
+                      date     CDATA  #REQUIRED>
+
+        <!ELEMENT action (%content.mix;)*>
+        <!ATTLIST action %common.att;
+                         dev  IDREF  #REQUIRED
+                         type (%types;)  #IMPLIED
+                         due-to CDATA #IMPLIED
+                         due-to-email CDATA #IMPLIED
+                         fixes-bug CDATA #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/characters.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/characters.ent
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,290 @@
+<!-- 
+     Portions (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- 
+     Character entity set.
+-->
+
+<!-- Latin A -->
+<!ENTITY nbsp     "&#160;">  <!-- U+00A0 ISOnum    - no-break space = 
non-breaking space                                   -->
+<!ENTITY iexcl    "&#161;">  <!-- U+00A1 ISOnum    - inverted exclamation mark 
                                            -->
+<!ENTITY cent     "&#162;">  <!-- U+00A2 ISOnum    - cent sign                 
                                            -->
+<!ENTITY pound    "&#163;">  <!-- U+00A3 ISOnum    - pound sign                
                                            -->
+<!ENTITY curren   "&#164;">  <!-- U+00A4 ISOnum    - currency sign             
                                            -->
+<!ENTITY yen      "&#165;">  <!-- U+00A5 ISOnum    - yen sign = yuan sign      
                                            -->
+<!ENTITY brvbar   "&#166;">  <!-- U+00A6 ISOnum    - broken bar = broken 
vertical bar                                      -->
+<!ENTITY sect     "&#167;">  <!-- U+00A7 ISOnum    - section sign              
                                            -->
+<!ENTITY uml      "&#168;">  <!-- U+00A8 ISOdia    - diaeresis = spacing 
diaeresis                                         -->
+<!ENTITY copy     "&#169;">  <!-- U+00A9 ISOnum    - copyright sign            
                                            -->
+<!ENTITY ordf     "&#170;">  <!-- U+00AA ISOnum    - feminine ordinal 
indicator                                            -->
+<!ENTITY laquo    "&#171;">  <!-- U+00AB ISOnum    - left-pointing double 
angle quotation mark = left pointing guillemet   -->
+<!ENTITY not      "&#172;">  <!-- U+00AC ISOnum    - not sign                  
                                            -->
+<!ENTITY shy      "&#173;">  <!-- U+00AD ISOnum    - soft hyphen = 
discretionary hyphen                                    -->
+<!ENTITY reg      "&#174;">  <!-- U+00AE ISOnum    - registered sign = 
registered trade mark sign                          -->
+<!ENTITY macr     "&#175;">  <!-- U+00AF ISOdia    - macron = spacing macron = 
overline = APL overbar                      -->
+<!ENTITY deg      "&#176;">  <!-- U+00B0 ISOnum    - degree sign               
                                            -->
+<!ENTITY plusmn   "&#177;">  <!-- U+00B1 ISOnum    - plus-minus sign = 
plus-or-minus sign                                  -->
+<!ENTITY sup2     "&#178;">  <!-- U+00B2 ISOnum    - superscript two = 
superscript digit two = squared                     -->
+<!ENTITY sup3     "&#179;">  <!-- U+00B3 ISOnum    - superscript three = 
superscript digit three = cubed                   -->
+<!ENTITY acute    "&#180;">  <!-- U+00B4 ISOdia    - acute accent = spacing 
acute                                          -->
+<!ENTITY micro    "&#181;">  <!-- U+00B5 ISOnum    - micro sign                
                                            -->
+<!ENTITY para     "&#182;">  <!-- U+00B6 ISOnum    - pilcrow sign = paragraph 
sign                                         -->
+<!ENTITY middot   "&#183;">  <!-- U+00B7 ISOnum    - middle dot = Georgian 
comma = Greek middle dot                        -->
+<!ENTITY cedil    "&#184;">  <!-- U+00B8 ISOdia    - cedilla = spacing cedilla 
                                            -->
+<!ENTITY sup1     "&#185;">  <!-- U+00B9 ISOnum    - superscript one = 
superscript digit one                               -->
+<!ENTITY ordm     "&#186;">  <!-- U+00BA ISOnum    - masculine ordinal 
indicator                                           -->
+<!ENTITY raquo    "&#187;">  <!-- U+00BB ISOnum    - right-pointing double 
angle quotation mark = right pointing guillemet -->
+<!ENTITY frac14   "&#188;">  <!-- U+00BC ISOnum    - vulgar fraction one 
quarter = fraction one quarter                    -->
+<!ENTITY frac12   "&#189;">  <!-- U+00BD ISOnum    - vulgar fraction one half 
= fraction one half                          -->
+<!ENTITY frac34   "&#190;">  <!-- U+00BE ISOnum    - vulgar fraction three 
quarters = fraction three quarters              -->
+<!ENTITY iquest   "&#191;">  <!-- U+00BF ISOnum    - inverted question mark = 
turned question mark                         -->
+<!ENTITY Agrave   "&#192;">  <!-- U+00C0 ISOlat1   - latin capital letter A 
with grave = latin capital letter A grave      -->
+<!ENTITY Aacute   "&#193;">  <!-- U+00C1 ISOlat1   - latin capital letter A 
with acute                                     -->
+<!ENTITY Acirc    "&#194;">  <!-- U+00C2 ISOlat1   - latin capital letter A 
with circumflex                                -->
+<!ENTITY Atilde   "&#195;">  <!-- U+00C3 ISOlat1   - latin capital letter A 
with tilde                                     -->
+<!ENTITY Auml     "&#196;">  <!-- U+00C4 ISOlat1   - latin capital letter A 
with diaeresis                                 -->
+<!ENTITY Aring    "&#197;">  <!-- U+00C5 ISOlat1   - latin capital letter A 
with ring above = latin capital letter A ring  -->
+<!ENTITY AElig    "&#198;">  <!-- U+00C6 ISOlat1   - latin capital letter AE = 
latin capital ligature AE                   -->
+<!ENTITY Ccedil   "&#199;">  <!-- U+00C7 ISOlat1   - latin capital letter C 
with cedilla                                   -->
+<!ENTITY Egrave   "&#200;">  <!-- U+00C8 ISOlat1   - latin capital letter E 
with grave                                     -->
+<!ENTITY Eacute   "&#201;">  <!-- U+00C9 ISOlat1   - latin capital letter E 
with acute                                     -->
+<!ENTITY Ecirc    "&#202;">  <!-- U+00CA ISOlat1   - latin capital letter E 
with circumflex                                -->
+<!ENTITY Euml     "&#203;">  <!-- U+00CB ISOlat1   - latin capital letter E 
with diaeresis                                 -->
+<!ENTITY Igrave   "&#204;">  <!-- U+00CC ISOlat1   - latin capital letter I 
with grave                                     -->
+<!ENTITY Iacute   "&#205;">  <!-- U+00CD ISOlat1   - latin capital letter I 
with acute                                     -->
+<!ENTITY Icirc    "&#206;">  <!-- U+00CE ISOlat1   - latin capital letter I 
with circumflex                                -->
+<!ENTITY Iuml     "&#207;">  <!-- U+00CF ISOlat1   - latin capital letter I 
with diaeresis                                 -->
+<!ENTITY ETH      "&#208;">  <!-- U+00D0 ISOlat1   - latin capital letter ETH  
                                            -->
+<!ENTITY Ntilde   "&#209;">  <!-- U+00D1 ISOlat1   - latin capital letter N 
with tilde                                     -->
+<!ENTITY Ograve   "&#210;">  <!-- U+00D2 ISOlat1   - latin capital letter O 
with grave                                     -->
+<!ENTITY Oacute   "&#211;">  <!-- U+00D3 ISOlat1   - latin capital letter O 
with acute                                     -->
+<!ENTITY Ocirc    "&#212;">  <!-- U+00D4 ISOlat1   - latin capital letter O 
with circumflex                                -->
+<!ENTITY Otilde   "&#213;">  <!-- U+00D5 ISOlat1   - latin capital letter O 
with tilde                                     -->
+<!ENTITY Ouml     "&#214;">  <!-- U+00D6 ISOlat1   - latin capital letter O 
with diaeresis                                 -->
+<!ENTITY times    "&#215;">  <!-- U+00D7 ISOnum    - multiplication sign       
                                            -->
+<!ENTITY Oslash   "&#216;">  <!-- U+00D8 ISOlat1   - latin capital letter O 
with stroke = latin capital letter O slash     -->
+<!ENTITY Ugrave   "&#217;">  <!-- U+00D9 ISOlat1   - latin capital letter U 
with grave                                     -->
+<!ENTITY Uacute   "&#218;">  <!-- U+00DA ISOlat1   - latin capital letter U 
with acute                                     -->
+<!ENTITY Ucirc    "&#219;">  <!-- U+00DB ISOlat1   - latin capital letter U 
with circumflex                                -->
+<!ENTITY Uuml     "&#220;">  <!-- U+00DC ISOlat1   - latin capital letter U 
with diaeresis                                 -->
+<!ENTITY Yacute   "&#221;">  <!-- U+00DD ISOlat1   - latin capital letter Y 
with acute                                     -->
+<!ENTITY THORN    "&#222;">  <!-- U+00DE ISOlat1   - latin capital letter 
THORN                                            -->
+<!ENTITY szlig    "&#223;">  <!-- U+00DF ISOlat1   - latin small letter sharp 
s = ess-zed                                  -->
+<!ENTITY agrave   "&#224;">  <!-- U+00E0 ISOlat1   - latin small letter a with 
grave = latin small letter a grave          -->
+<!ENTITY aacute   "&#225;">  <!-- U+00E1 ISOlat1   - latin small letter a with 
acute                                       -->
+<!ENTITY acirc    "&#226;">  <!-- U+00E2 ISOlat1   - latin small letter a with 
circumflex                                  -->
+<!ENTITY atilde   "&#227;">  <!-- U+00E3 ISOlat1   - latin small letter a with 
tilde                                       -->
+<!ENTITY auml     "&#228;">  <!-- U+00E4 ISOlat1   - latin small letter a with 
diaeresis                                   -->
+<!ENTITY aring    "&#229;">  <!-- U+00E5 ISOlat1   - latin small letter a with 
ring above = latin small letter a ring      -->
+<!ENTITY aelig    "&#230;">  <!-- U+00E6 ISOlat1   - latin small letter ae = 
latin small ligature ae                       -->
+<!ENTITY ccedil   "&#231;">  <!-- U+00E7 ISOlat1   - latin small letter c with 
cedilla                                     -->
+<!ENTITY egrave   "&#232;">  <!-- U+00E8 ISOlat1   - latin small letter e with 
grave                                       -->
+<!ENTITY eacute   "&#233;">  <!-- U+00E9 ISOlat1   - latin small letter e with 
acute                                       -->
+<!ENTITY ecirc    "&#234;">  <!-- U+00EA ISOlat1   - latin small letter e with 
circumflex                                  -->
+<!ENTITY euml     "&#235;">  <!-- U+00EB ISOlat1   - latin small letter e with 
diaeresis                                   -->
+<!ENTITY igrave   "&#236;">  <!-- U+00EC ISOlat1   - latin small letter i with 
grave                                       -->
+<!ENTITY iacute   "&#237;">  <!-- U+00ED ISOlat1   - latin small letter i with 
acute                                       -->
+<!ENTITY icirc    "&#238;">  <!-- U+00EE ISOlat1   - latin small letter i with 
circumflex                                  -->
+<!ENTITY iuml     "&#239;">  <!-- U+00EF ISOlat1   - latin small letter i with 
diaeresis                                   -->
+<!ENTITY eth      "&#240;">  <!-- U+00F0 ISOlat1   - latin small letter eth    
                                            -->
+<!ENTITY ntilde   "&#241;">  <!-- U+00F1 ISOlat1   - latin small letter n with 
tilde                                       -->
+<!ENTITY ograve   "&#242;">  <!-- U+00F2 ISOlat1   - latin small letter o with 
grave                                       -->
+<!ENTITY oacute   "&#243;">  <!-- U+00F3 ISOlat1   - latin small letter o with 
acute                                       -->
+<!ENTITY ocirc    "&#244;">  <!-- U+00F4 ISOlat1   - latin small letter o with 
circumflex                                  -->
+<!ENTITY otilde   "&#245;">  <!-- U+00F5 ISOlat1   - latin small letter o with 
tilde                                       -->
+<!ENTITY ouml     "&#246;">  <!-- U+00F6 ISOlat1   - latin small letter o with 
diaeresis                                   -->
+<!ENTITY divide   "&#247;">  <!-- U+00F7 ISOnum    - division sign             
                                            -->
+<!ENTITY oslash   "&#248;">  <!-- U+00F8 ISOlat1   - latin small letter o with 
stroke = latin small letter o slash         -->
+<!ENTITY ugrave   "&#249;">  <!-- U+00F9 ISOlat1   - latin small letter u with 
grave                                       -->
+<!ENTITY uacute   "&#250;">  <!-- U+00FA ISOlat1   - latin small letter u with 
acute                                       -->
+<!ENTITY ucirc    "&#251;">  <!-- U+00FB ISOlat1   - latin small letter u with 
circumflex                                  -->
+<!ENTITY uuml     "&#252;">  <!-- U+00FC ISOlat1   - latin small letter u with 
diaeresis                                   -->
+<!ENTITY yacute   "&#253;">  <!-- U+00FD ISOlat1   - latin small letter y with 
acute                                       -->
+<!ENTITY thorn    "&#254;">  <!-- U+00FE ISOlat1   - latin small letter thorn  
                                            -->
+<!ENTITY yuml     "&#255;">  <!-- U+00FF ISOlat1   - latin small letter y with 
diaeresis                                   -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig    "&#338;">  <!-- U+0152 ISOlat2   - latin capital ligature OE 
                                            -->
+<!ENTITY oelig    "&#339;">  <!-- U+0153 ISOlat2   - latin small ligature oe   
                                            -->
+
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron   "&#352;">  <!-- U+0160 ISOlat2   - latin capital letter S 
with caron                                     -->
+<!ENTITY scaron   "&#353;">  <!-- U+0161 ISOlat2   - latin small letter s with 
caron                                       -->
+<!ENTITY Yuml     "&#376;">  <!-- U+0178 ISOlat2   - latin capital letter Y 
with diaeresis                                 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ     "&#710;">  <!-- U+02C6 ISOpub    - modifier letter 
circumflex accent                                     -->
+<!ENTITY tilde    "&#732;">  <!-- U+02DC ISOdia    - small tilde               
                                            -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp     "&#8194;"> <!-- U+2002 ISOpub    - en space                  
                                            -->
+<!ENTITY emsp     "&#8195;"> <!-- U+2003 ISOpub    - em space                  
                                            -->
+<!ENTITY thinsp   "&#8201;"> <!-- U+2009 ISOpub    - thin space                
                                            -->
+<!ENTITY zwnj     "&#8204;"> <!-- U+200C RFC 2070  - zero width non-joiner     
                                            -->
+<!ENTITY zwj      "&#8205;"> <!-- U+200D RFC 2070  - zero width joiner         
                                            -->
+<!ENTITY lrm      "&#8206;"> <!-- U+200E RFC 2070  - left-to-right mark        
                                            -->
+<!ENTITY rlm      "&#8207;"> <!-- U+200F RFC 2070  - right-to-left mark        
                                            -->
+<!ENTITY ndash    "&#8211;"> <!-- U+2013 ISOpub    - en dash                   
                                            -->
+<!ENTITY mdash    "&#8212;"> <!-- U+2014 ISOpub    - em dash                   
                                            -->
+<!ENTITY lsquo    "&#8216;"> <!-- U+2018 ISOnum    - left single quotation 
mark                                            -->
+<!ENTITY rsquo    "&#8217;"> <!-- U+2019 ISOnum    - right single quotation 
mark                                           -->
+<!ENTITY sbquo    "&#8218;"> <!-- U+201A NEW       - single low-9 quotation 
mark                                           -->
+<!ENTITY ldquo    "&#8220;"> <!-- U+201C ISOnum    - left double quotation 
mark                                            -->
+<!ENTITY rdquo    "&#8221;"> <!-- U+201D ISOnum    - right double quotation 
mark,                                          -->
+<!ENTITY bdquo    "&#8222;"> <!-- U+201E NEW       - double low-9 quotation 
mark                                           -->
+<!ENTITY dagger   "&#8224;"> <!-- U+2020 ISOpub    - dagger                    
                                            -->
+<!ENTITY Dagger   "&#8225;"> <!-- U+2021 ISOpub    - double dagger             
                                            -->
+<!ENTITY permil   "&#8240;"> <!-- U+2030 ISOtech   - per mille sign            
                                            -->
+<!ENTITY lsaquo   "&#8249;"> <!-- U+2039 ISO prop. - single left-pointing 
angle quotation mark                             -->
+
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo   "&#8250;"> <!-- U+203A ISO prop. -   single right-pointing 
angle quotation mark                          -->
+
+<!-- rsaquo is proposed but not yet ISO standardized -->
+<!ENTITY euro     "&#8364;"> <!-- U+20AC NEW       -   euro sign               
                                            -->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof     "&#402;">  <!-- U+0192 ISOtech   - latin small f with hook = 
function = florin                           -->
+
+<!-- Greek -->
+<!ENTITY Alpha    "&#913;">  <!-- U+0391           - greek capital letter 
alpha                                            -->
+<!ENTITY Beta     "&#914;">  <!-- U+0392           - greek capital letter beta 
                                            -->
+<!ENTITY Gamma    "&#915;">  <!-- U+0393 ISOgrk3   - greek capital letter 
gamma                                            -->
+<!ENTITY Delta    "&#916;">  <!-- U+0394 ISOgrk3   - greek capital letter 
delta                                            -->
+<!ENTITY Epsilon  "&#917;">  <!-- U+0395           - greek capital letter 
epsilon                                          -->
+<!ENTITY Zeta     "&#918;">  <!-- U+0396           - greek capital letter zeta 
                                            -->
+<!ENTITY Eta      "&#919;">  <!-- U+0397           - greek capital letter eta  
                                            -->
+<!ENTITY Theta    "&#920;">  <!-- U+0398 ISOgrk3   - greek capital letter 
theta                                            -->
+<!ENTITY Iota     "&#921;">  <!-- U+0399           - greek capital letter iota 
                                            -->
+<!ENTITY Kappa    "&#922;">  <!-- U+039A           - greek capital letter 
kappa                                            -->
+<!ENTITY Lambda   "&#923;">  <!-- U+039B ISOgrk3   - greek capital letter 
lambda                                           -->
+<!ENTITY Mu       "&#924;">  <!-- U+039C           - greek capital letter mu   
                                            -->
+<!ENTITY Nu       "&#925;">  <!-- U+039D           - greek capital letter nu   
                                            -->
+<!ENTITY Xi       "&#926;">  <!-- U+039E ISOgrk3   - greek capital letter xi   
                                            -->
+<!ENTITY Omicron  "&#927;">  <!-- U+039F           - greek capital letter 
omicron                                          -->
+<!ENTITY Pi       "&#928;">  <!-- U+03A0 ISOgrk3   - greek capital letter pi   
                                            -->
+<!ENTITY Rho      "&#929;">  <!-- U+03A1           - greek capital letter rho  
                                            -->
+<!ENTITY Sigma    "&#931;">  <!-- U+03A3 ISOgrk3   - greek capital letter 
sigma                                            -->
+<!ENTITY Tau      "&#932;">  <!-- U+03A4           - greek capital letter tau  
                                            -->
+<!ENTITY Upsilon  "&#933;">  <!-- U+03A5 ISOgrk3   - greek capital letter 
upsilon                                          -->
+<!ENTITY Phi      "&#934;">  <!-- U+03A6 ISOgrk3   - greek capital letter phi  
                                            -->
+<!ENTITY Chi      "&#935;">  <!-- U+03A7           - greek capital letter chi  
                                            -->
+<!ENTITY Psi      "&#936;">  <!-- U+03A8 ISOgrk3   - greek capital letter psi  
                                            -->
+<!ENTITY Omega    "&#937;">  <!-- U+03A9 ISOgrk3   - greek capital letter 
omega                                            -->
+<!ENTITY alpha    "&#945;">  <!-- U+03B1 ISOgrk3   - greek small letter alpha  
                                            -->
+<!ENTITY beta     "&#946;">  <!-- U+03B2 ISOgrk3   - greek small letter beta   
                                            -->
+<!ENTITY gamma    "&#947;">  <!-- U+03B3 ISOgrk3   - greek small letter gamma  
                                            -->
+<!ENTITY delta    "&#948;">  <!-- U+03B4 ISOgrk3   - greek small letter delta  
                                            -->
+<!ENTITY epsilon  "&#949;">  <!-- U+03B5 ISOgrk3   - greek small letter 
epsilon                                            -->
+<!ENTITY zeta     "&#950;">  <!-- U+03B6 ISOgrk3   - greek small letter zeta   
                                            -->
+<!ENTITY eta      "&#951;">  <!-- U+03B7 ISOgrk3   - greek small letter eta    
                                            -->
+<!ENTITY theta    "&#952;">  <!-- U+03B8 ISOgrk3   - greek small letter theta  
                                            -->
+<!ENTITY iota     "&#953;">  <!-- U+03B9 ISOgrk3   - greek small letter iota   
                                            -->
+<!ENTITY kappa    "&#954;">  <!-- U+03BA ISOgrk3   - greek small letter kappa  
                                            -->
+<!ENTITY lambda   "&#955;">  <!-- U+03BB ISOgrk3   - greek small letter lambda 
                                            -->
+<!ENTITY mu       "&#956;">  <!-- U+03BC ISOgrk3   - greek small letter mu     
                                            -->
+<!ENTITY nu       "&#957;">  <!-- U+03BD ISOgrk3   - greek small letter nu     
                                            -->
+<!ENTITY xi       "&#958;">  <!-- U+03BE ISOgrk3   - greek small letter xi     
                                            -->
+<!ENTITY omicron  "&#959;">  <!-- U+03BF NEW       - greek small letter 
omicron                                            -->
+<!ENTITY pi       "&#960;">  <!-- U+03C0 ISOgrk3   - greek small letter pi     
                                            -->
+<!ENTITY rho      "&#961;">  <!-- U+03C1 ISOgrk3   - greek small letter rho    
                                            -->
+<!ENTITY sigmaf   "&#962;">  <!-- U+03C2 ISOgrk3   - greek small letter final 
sigma                                        -->
+<!ENTITY sigma    "&#963;">  <!-- U+03C3 ISOgrk3   - greek small letter sigma  
                                            -->
+<!ENTITY tau      "&#964;">  <!-- U+03C4 ISOgrk3   - greek small letter tau    
                                            -->
+<!ENTITY upsilon  "&#965;">  <!-- U+03C5 ISOgrk3   - greek small letter 
upsilon                                            -->
+<!ENTITY phi      "&#966;">  <!-- U+03C6 ISOgrk3   - greek small letter phi    
                                            -->
+<!ENTITY chi      "&#967;">  <!-- U+03C7 ISOgrk3   - greek small letter chi    
                                            -->
+<!ENTITY psi      "&#968;">  <!-- U+03C8 ISOgrk3   - greek small letter psi    
                                            -->
+<!ENTITY omega    "&#969;">  <!-- U+03C9 ISOgrk3   - greek small letter omega  
                                            -->
+<!ENTITY thetasym "&#977;">  <!-- U+03D1 NEW       - greek small letter theta 
symbol                                       -->
+<!ENTITY upsih    "&#978;">  <!-- U+03D2 NEW       - greek upsilon with hook 
symbol                                        -->
+<!ENTITY piv      "&#982;">  <!-- U+03D6 ISOgrk3   - greek pi symbol           
                                            -->
+
+<!-- General Punctuation -->
+<!ENTITY bull     "&#8226;"> <!-- U+2022 ISOpub    - bullet = black small 
circle                                           -->
+<!ENTITY hellip   "&#8230;"> <!-- U+2026 ISOpub    - horizontal ellipsis = 
three dot leader                                -->
+<!ENTITY prime    "&#8242;"> <!-- U+2032 ISOtech   - prime = minutes = feet    
                                            -->
+<!ENTITY Prime    "&#8243;"> <!-- U+2033 ISOtech   - double prime = seconds = 
inches                                       -->
+<!ENTITY oline    "&#8254;"> <!-- U+203E NEW       - overline = spacing 
overscore                                          -->
+<!ENTITY frasl    "&#8260;"> <!-- U+2044 NEW       - fraction slash            
                                            -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp   "&#8472;"> <!-- U+2118 ISOamso   - script capital P = power 
set = Weierstrass p                          -->
+<!ENTITY image    "&#8465;"> <!-- U+2111 ISOamso   - blackletter capital I = 
imaginary part                                -->
+<!ENTITY real     "&#8476;"> <!-- U+211C ISOamso   - blackletter capital R = 
real part symbol                              -->
+<!ENTITY trade    "&#8482;"> <!-- U+2122 ISOnum    - trade mark sign           
                                            -->
+<!ENTITY alefsym  "&#8501;"> <!-- U+2135 NEW       - alef symbol = first 
transfinite cardinal                              -->
+
+<!-- Arrows -->
+<!ENTITY larr     "&#8592;"> <!-- U+2190 ISOnum    - leftwards arrow           
                                            -->
+<!ENTITY uarr     "&#8593;"> <!-- U+2191 ISOnum    - upwards arrow             
                                            -->
+<!ENTITY rarr     "&#8594;"> <!-- U+2192 ISOnum    - rightwards arrow          
                                            -->
+<!ENTITY darr     "&#8595;"> <!-- U+2193 ISOnum    - downwards arrow           
                                            -->
+<!ENTITY harr     "&#8596;"> <!-- U+2194 ISOamsa   - left right arrow          
                                            -->
+<!ENTITY crarr    "&#8629;"> <!-- U+21B5 NEW       - downwards arrow with 
corner leftwards = carriage return               -->
+<!ENTITY lArr     "&#8656;"> <!-- U+21D0 ISOtech   - leftwards double arrow    
                                            -->
+<!ENTITY uArr     "&#8657;"> <!-- U+21D1 ISOamsa   - upwards double arrow      
                                            -->
+<!ENTITY rArr     "&#8658;"> <!-- U+21D2 ISOtech   - rightwards double arrow   
                                            -->
+<!ENTITY dArr     "&#8659;"> <!-- U+21D3 ISOamsa   - downwards double arrow    
                                            -->
+<!ENTITY hArr     "&#8660;"> <!-- U+21D4 ISOamsa   - left right double arrow   
                                            -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall   "&#8704;"> <!-- U+2200 ISOtech   - for all                   
                                            -->
+<!ENTITY part     "&#8706;"> <!-- U+2202 ISOtech   - partial differential      
                                            -->
+<!ENTITY exist    "&#8707;"> <!-- U+2203 ISOtech   - there exists              
                                            -->
+<!ENTITY empty    "&#8709;"> <!-- U+2205 ISOamso   - empty set = null set = 
diameter                                       -->
+<!ENTITY nabla    "&#8711;"> <!-- U+2207 ISOtech   - nabla = backward 
difference                                           -->
+<!ENTITY isin     "&#8712;"> <!-- U+2208 ISOtech   - element of                
                                            -->
+<!ENTITY notin    "&#8713;"> <!-- U+2209 ISOtech   - not an element of         
                                            -->
+<!ENTITY ni       "&#8715;"> <!-- U+220B ISOtech   - contains as member        
                                            -->
+<!ENTITY prod     "&#8719;"> <!-- U+220F ISOamsb   - n-ary product = product 
sign                                          -->
+<!ENTITY sum      "&#8721;"> <!-- U+2211 ISOamsb   - n-ary sumation            
                                            -->
+<!ENTITY minus    "&#8722;"> <!-- U+2212 ISOtech   - minus sign                
                                            -->
+<!ENTITY lowast   "&#8727;"> <!-- U+2217 ISOtech   - asterisk operator         
                                            -->
+<!ENTITY radic    "&#8730;"> <!-- U+221A ISOtech   - square root = radical 
sign                                            -->
+<!ENTITY prop     "&#8733;"> <!-- U+221D ISOtech   - proportional to           
                                            -->
+<!ENTITY infin    "&#8734;"> <!-- U+221E ISOtech   - infinity                  
                                            -->
+<!ENTITY ang      "&#8736;"> <!-- U+2220 ISOamso   - angle                     
                                            -->
+<!ENTITY and      "&#8743;"> <!-- U+2227 ISOtech   - logical and = wedge       
                                            -->
+<!ENTITY or       "&#8744;"> <!-- U+2228 ISOtech   - logical or = vee          
                                            -->
+<!ENTITY cap      "&#8745;"> <!-- U+2229 ISOtech   - intersection = cap        
                                            -->
+<!ENTITY cup      "&#8746;"> <!-- U+222A ISOtech   - union = cup               
                                            -->
+<!ENTITY int      "&#8747;"> <!-- U+222B ISOtech   - integral                  
                                            -->
+<!ENTITY there4   "&#8756;"> <!-- U+2234 ISOtech   - therefore                 
                                            -->
+<!ENTITY sim      "&#8764;"> <!-- U+223C ISOtech   - tilde operator = varies 
with = similar to                             -->
+<!ENTITY cong     "&#8773;"> <!-- U+2245 ISOtech   - approximately equal to    
                                            -->
+<!ENTITY asymp    "&#8776;"> <!-- U+2248 ISOamsr   - almost equal to = 
asymptotic to                                       -->
+<!ENTITY ne       "&#8800;"> <!-- U+2260 ISOtech   - not equal to              
                                            -->
+<!ENTITY equiv    "&#8801;"> <!-- U+2261 ISOtech   - identical to              
                                            -->
+<!ENTITY le       "&#8804;"> <!-- U+2264 ISOtech   - less-than or equal to     
                                            -->
+<!ENTITY ge       "&#8805;"> <!-- U+2265 ISOtech   - greater-than or equal to  
                                            -->
+<!ENTITY sub      "&#8834;"> <!-- U+2282 ISOtech   - subset of                 
                                            -->
+<!ENTITY sup      "&#8835;"> <!-- U+2283 ISOtech   - superset of               
                                            -->
+<!ENTITY nsub     "&#8836;"> <!-- U+2284 ISOamsn   - not a subset of           
                                            -->
+<!ENTITY sube     "&#8838;"> <!-- U+2286 ISOtech   - subset of or equal to     
                                            -->
+<!ENTITY supe     "&#8839;"> <!-- U+2287 ISOtech   - superset of or equal to   
                                            -->
+<!ENTITY oplus    "&#8853;"> <!-- U+2295 ISOamsb   - circled plus = direct sum 
                                            -->
+<!ENTITY otimes   "&#8855;"> <!-- U+2297 ISOamsb   - circled times = vector 
product                                        -->
+<!ENTITY perp     "&#8869;"> <!-- U+22A5 ISOtech   - up tack = orthogonal to = 
perpendicular                               -->
+<!ENTITY sdot     "&#8901;"> <!-- U+22C5 ISOamsb   - dot operator              
                                            -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil    "&#8968;"> <!-- U+2308 ISOamsc   - left ceiling = apl 
upstile                                            -->
+<!ENTITY rceil    "&#8969;"> <!-- U+2309 ISOamsc   - right ceiling             
                                            -->
+<!ENTITY lfloor   "&#8970;"> <!-- U+230A ISOamsc   - left floor = apl 
downstile                                            -->
+<!ENTITY rfloor   "&#8971;"> <!-- U+230B ISOamsc   - right floor               
                                            -->
+<!ENTITY lang     "&#9001;"> <!-- U+2329 ISOtech   - left-pointing angle 
bracket = bra                                     -->
+<!ENTITY rang     "&#9002;"> <!-- U+232A ISOtech   - right-pointing angle 
bracket = ket                                    -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz      "&#9674;"> <!-- U+25CA ISOpub    - lozenge                   
                                            -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades   "&#9824;"> <!-- U+2660 ISOpub    - black spade suit          
                                            -->
+<!ENTITY clubs    "&#9827;"> <!-- U+2663 ISOpub    - black club suit = 
shamrock                                            -->
+<!ENTITY hearts   "&#9829;"> <!-- U+2665 ISOpub    - black heart suit = 
valentine                                          -->
+<!ENTITY diams    "&#9830;"> <!-- U+2666 ISOpub    - black diamond suit        
                                            -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/document-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/document-v10.dtd
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,495 @@
+<!-- ===================================================================
+
+     Apache Documentation DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Documentation Vx.yz//EN"
+       "document-vxyz.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+
+NOTES:
+  Many of the design patterns used in this DTD were take from the
+  W3C XML Specification DTD edited by Eve Maler <[EMAIL PROTECTED]>.
+
+  Where possible, great care has been used to reutilize HTML tag
+  names to reduce learning efforts and to allow HTML editors to be
+  used for complex authorings like tables and lists.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+  - how can we include char entities without hardwiring them?
+  - should "form" tags be included?
+  - should all style-free HTML 4.0 markup tags be included?
+  - how do we handle the idea of "soft" xlinks?
+  - should we add "soft" links to images?
+
+CHANGE HISTORY:
+  19991121 Initial version. (SM)
+  19991123 Replaced "res" with more standard "strong" for emphasis. (SM)
+  19991124 Added "fork" element for window forking behavior. (SM)
+  19991124 Added "img-inline" element to separate from "img". (SM)
+  19991129 Removed "affiliation" from "author". (SM)
+  19991129 Made "author" empty and moved "name|email" as attributes. (SM)
+  19991215 Simplified table section. (SM)
+  19991215 Changed "img-block" in more friendly "figure". (SM)
+  20000125 Added the "icon" image. (SM)
+  20000126 Allowed "anchor" in all levels. (SM)
+  20000404 Removed the "role" attribute from common-xxx.att. (SM)
+  20000815 Allowed "code" inside "strong" and "em". (SM)
+  20020223 Allowed "figure" at section level (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Common character entities (included from external file) -->
+<!-- =============================================================== -->
+<!-- FIXME (SM): this is hardcoding. Find a better way of doing this
+     possibly using public identifiers of ISO latin char sets -->
+<!ENTITY % charEntity SYSTEM "characters.ent">
+%charEntity;
+<!-- =============================================================== -->
+<!-- Userful entitieis for increased DTD readability -->
+<!-- =============================================================== -->
+<!ENTITY % text "#PCDATA">
+<!-- =============================================================== -->
+<!-- Entities for general XML compliance -->
+<!-- =============================================================== -->
+<!-- Common attributes
+        Every element has an ID attribute (sometimes required,
+        but usually optional) for links. %common.att;
+        is for common attributes where the ID is optional, and
+        %common-idreq.att; is for common attributes where the
+        ID is required.
+-->
+<!ENTITY % common.att 'id                     ID              #IMPLIED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!-- xml:space attribute ===============================================
+        Indicates that the element contains white space
+        that the formatter or other application should retain,
+        as appropriate to its function.
+==================================================================== -->
+<!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
+<!-- def attribute =====================================================
+        Points to the element where the relevant definition can be
+        found, using the IDREF mechanism.  %def.att; is for optional
+        def attributes, and %def-req.att; is for required def
+        attributes.
+==================================================================== -->
+<!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
+<!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
+<!-- ref attribute =====================================================
+        Points to the element where more information can be found,
+        using the IDREF mechanism.  %ref.att; is for optional
+        ref attributes, and %ref-req.att; is for required ref
+        attributes.
+================================================================== -->
+<!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
+<!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- Entities for XLink compliance -->
+<!-- =============================================================== -->
+<!ENTITY % xlink-simple.att 'type      (simple|extended|locator|arc) #FIXED 
"simple"
+         href      CDATA                         #IMPLIED
+         role      CDATA                         #IMPLIED
+         title     CDATA                         #IMPLIED '>
+<!--    'xmlns     CDATA                         #FIXED 
"http://www.w3.org/XML/XLink/0.9"; -->
+<!-- FIXME: brain-dead IE5 has broken support for
+     namespace validation and since I use it for editing
+     I remove this for now -->
+<!ENTITY % xlink-user-replace.att 'show      (new|parsed|replace)   #FIXED 
"replace"
+         actuate   (user|auto)            #FIXED "user" '>
+<!ENTITY % xlink-user-new.att 'show      (new|parsed|replace)   #FIXED "new"
+         actuate   (user|auto)            #FIXED "user" '>
+<!ENTITY % xlink-auto-parsed.att 'show      (new|parsed|replace)   #FIXED 
"parsed"
+         actuate   (user|auto)            #FIXED "auto" '>
+<!-- FIXME (SM): XLink doesn't yet cover the idea of soft links so
+     introducing it here using the same namespace is _somewhat_
+     illegal. Should we create it own namespace?
+-->
+<!ENTITY % xlink-soft.att 'mode      (hard|soft)            #FIXED "soft" '>
+<!-- =============================================================== -->
+<!-- Entities for general usage -->
+<!-- =============================================================== -->
+<!-- Key attribute =====================================================
+        Optionally provides a sorting or indexing key, for cases when
+        the element content is inappropriate for this purpose.
+==================================================================== -->
+<!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
+<!-- Title attributes ==================================================
+        Indicates that the element requires to have a title.
+==================================================================== -->
+<!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
+<!-- Name attributes ==================================================
+        Indicates that the element requires to have a name.
+==================================================================== -->
+<!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
+<!-- Email attributes ==================================================
+        Indicates that the element requires to have an email.
+==================================================================== -->
+<!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- General definitions -->
+<!-- =============================================================== -->
+<!-- A person is a general human entity -->
+<!ELEMENT person EMPTY>
+<!ATTLIST person
+       %common.att; 
+       %name.att; 
+       %email.att; 
+>
+<!-- =============================================================== -->
+<!-- Content definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.content.mix "">
+<!ENTITY % markup "strong|em|code|sub|sup">
+<!ENTITY % links "link|connect|jump|fork|anchor">
+<!ENTITY % special "br|img|icon">
+<!ENTITY % link-content.mix "%text;|%markup;|%special;%local.content.mix;">
+<!ENTITY % content.mix "%link-content.mix;|%links;">
+<!-- ==================================================== -->
+<!-- Phrase Markup -->
+<!-- ==================================================== -->
+<!-- Code (typically monospaced) -->
+<!ELEMENT code (%text;)>
+<!ATTLIST code
+       %common.att; 
+>
+<!-- Strong (typically bold) -->
+<!ELEMENT strong (%text; | code)*>
+<!ATTLIST strong
+       %common.att; 
+>
+<!-- Emphasis (typically italic) -->
+<!ELEMENT em (%text; | code)*>
+<!ATTLIST em
+       %common.att; 
+>
+<!-- Superscript (typically smaller and higher) -->
+<!ELEMENT sup (%text;)>
+<!ATTLIST sup
+       %common.att; 
+>
+<!-- Subscript (typically smaller and lower) -->
+<!ELEMENT sub (%text;)>
+<!ATTLIST sub
+       %common.att; 
+>
+<!-- FIXME (SM): should we add these HTML 4.0 markups
+         which are style-free?
+
+          -dfn
+          -samp
+          -kbd
+          -var
+          -cite
+          -abbr
+          -acronym
+
+     -->
+<!-- ==================================================== -->
+<!-- Hypertextual Links -->
+<!-- ==================================================== -->
+<!-- hard replacing link (equivalent of <a ...>) -->
+<!ELEMENT link (%link-content.mix;)*>
+<!ATTLIST link
+       %common.att; 
+       %xlink-simple.att; 
+       %xlink-user-replace.att; 
+>
+<!-- Hard window replacing link (equivalent of <a ... target="_top">) -->
+<!ELEMENT jump (%link-content.mix;)*>
+<!ATTLIST jump
+       %common.att; 
+       %xlink-simple.att; 
+       %xlink-user-new.att; 
+>
+<!-- Hard window forking link (equivalent of <a ... target="_new">) -->
+<!ELEMENT fork (%link-content.mix;)*>
+<!ATTLIST fork
+       %common.att; 
+       %xlink-simple.att; 
+       %xlink-user-new.att; 
+>
+<!-- Anchor point (equivalent of <a name="...">) -->
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor
+       %common-idreq.att; 
+>
+<!-- Soft link between processed pages (no equivalent in HTML) -->
+<!ELEMENT connect (%link-content.mix;)*>
+<!ATTLIST connect
+       %common.att; 
+       %xlink-simple.att; 
+       %xlink-user-replace.att; 
+       %xlink-soft.att; 
+>
+<!-- ==================================================== -->
+<!-- Specials -->
+<!-- ==================================================== -->
+<!-- Breakline Object (typically forces line break) -->
+<!ELEMENT br EMPTY>
+<!ATTLIST br
+       %common.att; 
+>
+<!-- Image Object (typically an inlined image) -->
+<!-- FIXME (SM): should we have the notion of soft links even here
+         for inlined objects? -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+       src CDATA #REQUIRED
+       alt CDATA #REQUIRED
+       height CDATA #IMPLIED
+       width CDATA #IMPLIED
+       usemap CDATA #IMPLIED
+       ismap (ismap) #IMPLIED
+       %common.att; 
+>
+<!-- Image Icon (typically an inlined image placed as graphical item) -->
+<!-- FIXME (SM): should we have the notion of soft links even here
+         for inlined objects? -->
+<!ELEMENT icon EMPTY>
+<!ATTLIST icon
+       src CDATA #REQUIRED
+       alt CDATA #REQUIRED
+       height CDATA #IMPLIED
+       width CDATA #IMPLIED
+       %common.att; 
+>
+<!-- =============================================================== -->
+<!-- Blocks definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.blocks "">
+<!ENTITY % local.lists "">
+<!ENTITY % paragraphs "p|source|note|fixme|figure">
+<!ENTITY % tables "table">
+<!ENTITY % lists "ol|ul|sl|dl %local.lists;">
+<!ENTITY % blocks "anchor|%paragraphs;|%tables;|%lists; %local.blocks;">
+<!-- ==================================================== -->
+<!-- Paragraphs -->
+<!-- ==================================================== -->
+<!-- Text Paragraph (normally vertically space delimited) -->
+<!ELEMENT p (%content.mix;)*>
+<!ATTLIST p
+       %common.att; 
+>
+<!-- Source Paragraph (normally space is preserved) -->
+<!ELEMENT source (%content.mix;)*>
+<!ATTLIST source
+       %common.att; 
+       %xmlspace.att; 
+>
+<!-- Note Paragraph (normally shown encapsulated) -->
+<!ELEMENT note (%content.mix;)*>
+<!ATTLIST note
+       %common.att; 
+>
+<!-- Fixme Paragraph (normally not shown) -->
+<!ELEMENT fixme (%content.mix;)*>
+<!-- the "author" attribute should match the "key" attribute of the
+         <author> element -->
+<!ATTLIST fixme
+       author CDATA #REQUIRED
+       %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Tables -->
+<!-- ==================================================== -->
+<!-- Attributes that indicate the spanning of the table cell -->
+<!ENTITY % cell.span 'colspan CDATA "1"
+         rowspan CDATA "1"'>
+<!-- Table element -->
+<!ELEMENT table (caption?, tr+)>
+<!ATTLIST table
+       %common.att; 
+>
+<!-- The table title -->
+<!ELEMENT caption (%content.mix;)*>
+<!ATTLIST caption
+       %common.att; 
+>
+<!-- The table row element -->
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr
+       %common.att; 
+>
+<!-- The table row header element -->
+<!ELEMENT th (%content.mix;)*>
+<!ATTLIST th
+       %common.att; 
+       %cell.span; 
+>
+<!-- The table row description element -->
+<!ELEMENT td (%content.mix;)*>
+<!ATTLIST td
+       %common.att; 
+       %cell.span; 
+>
+<!-- ==================================================== -->
+<!-- Lists -->
+<!-- ==================================================== -->
+<!-- Unordered list (typically bulleted) -->
+<!ELEMENT ul (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ul
+       %common.att; 
+       spacing (normal | compact) #IMPLIED
+>
+<!-- Ordered list (typically numbered) -->
+<!ELEMENT ol (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ol
+       %common.att; 
+       spacing (normal | compact) #IMPLIED
+>
+<!-- Simple list (typically with no mark) -->
+<!ELEMENT sl (li | %lists;)+>
+<!ATTLIST sl
+       %common.att; 
+>
+<!-- List item -->
+<!ELEMENT li (%content.mix; | %lists;)*>
+<!ATTLIST li
+       %common.att; 
+>
+<!-- Definition list (typically two-column) -->
+<!ELEMENT dl (dt, dd)+>
+<!ATTLIST dl
+       %common.att; 
+>
+<!-- Definition term -->
+<!ELEMENT dt (%content.mix;)*>
+<!ATTLIST dt
+       %common.att; 
+>
+<!-- Definition description -->
+<!ELEMENT dd (%content.mix;)*>
+<!ATTLIST dd
+       %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Special Blocks -->
+<!-- ==================================================== -->
+<!-- Image Block (typically a separated and centered image) -->
+<!-- FIXME (SM): should we have the notion of soft links even here
+         for inlined objects? -->
+<!ELEMENT figure EMPTY>
+<!ATTLIST figure
+       src CDATA #REQUIRED
+       alt CDATA #REQUIRED
+       height CDATA #IMPLIED
+       width CDATA #IMPLIED
+       usemap CDATA #IMPLIED
+       ismap (ismap) #IMPLIED
+       %common.att; 
+>
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<!ELEMENT document (header?, body, footer?)>
+<!ATTLIST document
+       %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Header -->
+<!-- ==================================================== -->
+<!ENTITY % local.headers "">
+<!ELEMENT header (title, subtitle?, version?, type?, authors,
+                      notice*, abstract? %local.headers;)>
+<!ATTLIST header
+       %common.att; 
+>
+<!ELEMENT title (%text;)>
+<!ATTLIST title
+       %common.att; 
+>
+<!ELEMENT subtitle (%text;)>
+<!ATTLIST subtitle
+       %common.att; 
+>
+<!ELEMENT version (%text;)>
+<!ATTLIST version
+       %common.att; 
+>
+<!ELEMENT type (%text;)>
+<!ATTLIST type
+       %common.att; 
+>
+<!ELEMENT authors (person+)>
+<!ATTLIST authors
+       %common.att; 
+>
+<!ELEMENT notice (%content.mix;)*>
+<!ATTLIST notice
+       %common.att; 
+>
+<!ELEMENT abstract (%content.mix;)*>
+<!ATTLIST abstract
+       %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Body -->
+<!-- ==================================================== -->
+<!ENTITY % local.sections "">
+<!ENTITY % sections "s1|anchor|figure %local.sections;">
+<!ELEMENT body (%sections;)+>
+<!ATTLIST body
+       %common.att; 
+>
+<!ELEMENT s1 (s2 | %blocks;)*>
+<!ATTLIST s1
+       %title.att; %common.att;
+>
+<!ELEMENT s2 (s3 | %blocks;)*>
+<!ATTLIST s2
+       %title.att; %common.att;
+>
+<!ELEMENT s3 (s4 | %blocks;)*>
+<!ATTLIST s3
+       %title.att; %common.att;
+>
+<!ELEMENT s4 (%blocks;)*>
+<!ATTLIST s4
+       %title.att; %common.att;
+>
+<!-- ==================================================== -->
+<!-- Footer -->
+<!-- ==================================================== -->
+<!ENTITY % local.footers "">
+<!ELEMENT footer (legal %local.footers;)>
+<!ELEMENT legal (%content.mix;)*>
+<!ATTLIST legal
+       %common.att; 
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/faq-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/faq-v10.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,77 @@
+<!-- ===================================================================
+     
+     Apache FAQ DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document 
+  type for software FAQ's for use with the Apache projects.  
+  It is an XML-compliant DTD and it's maintained by the Apache XML 
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD FAQ Vx.yz//EN"
+       "http://xml.apache.org/DTD/faq-vxyz.dtd";>
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:  
+  FAQs represent a powerful knowledge base and a very good way of solving
+  common user problems reducing messages on mail lists and reducing the effort
+  required for software installation and usage. Thid DTD want to be a common
+  format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to 
+  be published in other formats as well as enhancing data interchange.
+  
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  
+FIXME:
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Extend the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!-- FIXME (SM): this is hardcoding. Find a better way of doing this
+     possibly using public identifiers -->
+<!ENTITY % document-dtd SYSTEM "document-v10.dtd">
+%document-dtd;
+
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT faqs (authors?, faq)+>
+<!ATTLIST faqs %common.att; 
+               %title.att;>
+
+    <!ELEMENT faq (question, answer)>
+    <!ATTLIST faq %common.att;>
+    
+        <!ELEMENT question (%content.mix;)*>
+        <!ATTLIST question %common.att;>
+            
+        <!ELEMENT answer (%blocks;)*>
+        <!ATTLIST answer author IDREF #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/todo-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v10/todo-v10.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,90 @@
+<!-- ===================================================================
+     
+     Apache Todos DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document 
+  type for software development todo lists for use with the Apache projects.  
+  It is an XML-compliant DTD and it's maintained by the Apache XML 
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Todo Vx.yz//EN"
+       "todo-vxyz.dtd">
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:  
+  It is important, expecially in open developped software projects, to keep
+  track of software changes that need to be done, planned features, development
+  assignment, etc. in order to allow better work parallelization and create
+  an entry point for people that want to help. This DTD wants to provide
+  a solid foundation to provide such information and to allow it to be
+  published as well as distributed in a common format.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  
+FIXME:
+  - do we need anymore working contexts? (SM)
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+  19991225 Added actions element for better structure (SM)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Extend the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!-- FIXME (SM): this is hardcoding. Find a better way of doing this
+     possibly using public identifiers -->
+<!ENTITY % document-dtd SYSTEM "document-v10.dtd">
+%document-dtd;
+
+<!-- =============================================================== -->
+<!-- Common entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % priorities "showstopper|high|medium|low|wish|dream">
+
+<!ENTITY % contexts "build|docs|code|admin|design">
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT todo (devs, actions*)>
+<!ATTLIST todo %common.att; 
+               %title.att;>
+
+    <!ELEMENT devs (person+)>
+    <!ATTLIST devs %common.att;>
+
+    <!ELEMENT actions (action+)>
+    <!ATTLIST actions %common.att;
+                     priority     (%priorities;)  #IMPLIED>
+
+        <!ELEMENT action (%content.mix;)*>
+        <!ATTLIST action %common.att;
+                         assigned-to  IDREF           #IMPLIED
+                         context      (%contexts;)    #REQUIRED>
+    
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/document-v20.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/document-v20.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,109 @@
+<!-- ===================================================================
+
+     Apache Documentation DTD (Version 2.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+  
+  The v2.x series of this DTD is an evolution of the 1.x series, incorporating
+  lessons learned. Various new much-needed elements have been added, some 
unused
+  features removed, and some renamed (link -> a). 2.x is not
+  backwards-compatible, although a stylesheet can probably do the conversion.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Documentation V2.1a//EN"
+       "document-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  Many of the design patterns used in this DTD were take from the
+  W3C XML Specification DTD edited by Eve Maler <[EMAIL PROTECTED]>.
+
+  Where possible, great care has been used to reuse HTML tag
+  names to reduce learning efforts and to allow HTML editors to be
+  used for complex authorings like tables and lists.
+
+EXTENSIBILITY:
+  This DTD includes several empty placeholders that can be used to
+  extend it. These placeholders are implemented with empty entities. Here
+  is the list of those empty entities and what they are used for:
+
+    - local.inline: this entity should contain extended definitions of
+                    elements that can be used 'inline', or directly inside
+                    the content. An example for this entity could be
+
+                        <!ENTITY % local.inline "|citation">
+
+    - local.blocks: this entity should contain extended definitions of
+                    elements that behave as 'blocks', thus can be visually
+                    rendered as areas on the canvas. An example for this
+                    entity could be:
+
+                        <!ENTITY % local.blocks "|poem">
+
+    - local.sections: this entity should contain extended definitions of
+                      elements that behave as 'sections', thus can be 
considered
+                      containers of block-level elements. An example for
+                      this entity could be:
+
+                        <!ENTITY % local.sections "|chapter">
+
+    - local.headers: this entity should contain extended definitions of
+                     elements that behave as parts of the document header.
+                     An example for this header could be:
+
+                        <!ENTITY % local.headers ", notes?">
+
+    - local.footers: this entity should contain extended definitions of
+                     elements that behave as parts of the document footer.
+                     An example for this header could be:
+
+                        <!ENTITY % local.footers ", annotations*">
+
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+  Jeff Turner <[EMAIL PROTECTED]>
+
+COPYRIGHT:
+  Copyright (c) 2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "../common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V2.0a//EN"
+    "document-v20.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/document-v20.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/document-v20.mod
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,436 @@
+<!-- ===================================================================
+
+     Apache Common Documentation elements (Version 2.0a)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % document PUBLIC
+      "-//APACHE//ENTITIES Documentation Vxy//EN"
+      "document-vxy.mod">
+  %document;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+  Jeff Turner <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 2.0a]
+  20030505  Add a meta element to the header, for generic metadata
+  20030505  Zap jump and fork, and rename 'link' to 'a' for better HTMLness
+  20030510  Fix bug which allowed nested lists like <ol><ol>. Now lists can 
only contain li's.
+
+
+COPYRIGHT:
+  Copyright (c) 2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Useful entities for increased DTD readability -->
+<!-- =============================================================== -->
+<!ENTITY % text "#PCDATA">
+<!-- Entities referred to later on are defined up front -->
+<!ENTITY % markup "strong|em|code|sub|sup">
+<!ENTITY % special-inline "br|img|icon|acronym">
+<!ENTITY % links "a">
+<!ENTITY % paragraphs "p|source|note|warning|fixme">
+<!ENTITY % tables "table">
+<!ENTITY % lists "ol|ul|dl">
+<!ENTITY % special-blocks "figure|anchor">
+<!-- =============================================================== -->
+<!-- Entities for general XML compliance -->
+<!-- =============================================================== -->
+<!-- Common attributes
+        Every element has an ID attribute (sometimes required,
+        but usually optional) for links. %common.att;
+        is for common attributes where the ID is optional, and
+        %common-idreq.att; is for common attributes where the
+        ID is required.
+-->
+<!ENTITY % common.att 'id                     ID              #IMPLIED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!-- xml:space attribute ===============================================
+        Indicates that the element contains white space
+        that the formatter or other application should retain,
+        as appropriate to its function.
+==================================================================== -->
+<!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
+<!-- def attribute =====================================================
+        Points to the element where the relevant definition can be
+        found, using the IDREF mechanism.  %def.att; is for optional
+        def attributes, and %def-req.att; is for required def
+        attributes.
+==================================================================== -->
+<!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
+<!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
+<!-- ref attribute =====================================================
+        Points to the element where more information can be found,
+        using the IDREF mechanism.  %ref.att; is for optional
+        ref attributes, and %ref-req.att; is for required ref
+        attributes.
+================================================================== -->
+<!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
+<!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- Entities for general usage -->
+<!-- =============================================================== -->
+<!-- Key attribute =====================================================
+        Optionally provides a sorting or indexing key, for cases when
+        the element content is inappropriate for this purpose.
+==================================================================== -->
+<!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
+<!-- Title attributes ==================================================
+        Indicates that the element requires to have a title attribute.
+==================================================================== -->
+<!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
+<!-- Name attributes ==================================================
+        Indicates that the element requires to have a name attribute.
+==================================================================== -->
+<!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
+<!-- Email attributes ==================================================
+        Indicates that the element requires to have an email attribute.
+==================================================================== -->
+<!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
+<!-- Link attributes ===================================================
+        Indicates that the element requires to have hyperlink attributes.
+==================================================================== -->
+<!ENTITY % link.att 'href      CDATA             #REQUIRED
+                     title     CDATA             #IMPLIED'>
+<!-- =============================================================== -->
+<!-- General definitions -->
+<!-- =============================================================== -->
+<!-- A person is a general unparsed human entity -->
+<!ELEMENT person EMPTY>
+<!ATTLIST person
+  %common.att; 
+  %name.att; 
+  %email.att; 
+>
+<!-- =============================================================== -->
+<!-- Content definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.inline "">
+<!ENTITY % link-content.mix "%text;|%markup;|%special-inline; %local.inline;">
+<!ENTITY % content.mix "%link-content.mix;|%links;">
+<!-- ==================================================== -->
+<!-- Phrase Markup -->
+<!-- ==================================================== -->
+<!-- Strong (typically bold) -->
+<!ELEMENT strong (%content.mix;)*>
+<!ATTLIST strong
+  %common.att; 
+>
+<!-- Emphasis (typically italic) -->
+<!ELEMENT em (%content.mix;)*>
+<!ATTLIST em
+  %common.att; 
+>
+<!-- Code (typically monospaced) -->
+<!ELEMENT code (%text;)>
+<!ATTLIST code
+  %common.att; 
+>
+<!-- Superscript (typically smaller and higher) -->
+<!ELEMENT sup (%text;)>
+<!ATTLIST sup
+  %common.att; 
+>
+<!-- Subscript (typically smaller and lower) -->
+<!ELEMENT sub (%text;)>
+<!ATTLIST sub
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Hypertextual Links -->
+<!-- ==================================================== -->
+<!-- hyperlink (equivalent of <a ...>) -->
+<!-- http://www.w3.org/TR/xhtml2/mod-hypertext.html#s_hypertextmodule -->
+<!ELEMENT a (%link-content.mix;)*>
+<!ATTLIST a
+  %common.att; 
+  %link.att; 
+>
+<!-- windows-replacing link (equivalent of <a ... target="_top">) -->
+<!ELEMENT jump (%link-content.mix;)*>
+<!ATTLIST jump
+  %common.att; 
+  %link.att; 
+>
+<!-- window-forking link (equivalent of <a ... target="_blank">) -->
+<!ELEMENT fork (%link-content.mix;)*>
+<!ATTLIST fork
+  %common.att; 
+  %link.att; 
+>
+
+<!-- ==================================================== -->
+<!-- Specials -->
+<!-- ==================================================== -->
+<!-- Breakline Object (typically forces line break) -->
+<!ELEMENT br EMPTY>
+<!ATTLIST br
+  %common.att; 
+>
+<!-- Image Object (typically an inlined image) -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  %common.att; 
+>
+<!-- Image Icon (typically an inlined image placed as graphical item) -->
+<!ELEMENT icon EMPTY>
+<!ATTLIST icon
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Acronym (in modern browsers, will have rollover text) -->
+<!ELEMENT acronym (%text;)*>
+<!ATTLIST acronym
+  title CDATA #REQUIRED
+  %common.att; 
+>
+
+<!-- =============================================================== -->
+<!-- Blocks definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.blocks "">
+<!ENTITY % blocks "%paragraphs;|%tables;|%lists;|%special-blocks; 
%local.blocks;">
+
+<!-- Flow mixes block and inline -->
+<!ENTITY % flow "%content.mix;|%blocks;">
+
+<!-- ==================================================== -->
+<!-- Paragraphs -->
+<!-- ==================================================== -->
+<!-- Text Paragraph (normally vertically space delimited. Space can be 
preserved.) -->
+<!ELEMENT p (%content.mix;)*>
+<!ATTLIST p
+  %common.att; 
+  xml:space (default|preserve) #IMPLIED
+>
+<!-- Source Paragraph (normally space is preserved) -->
+<!ELEMENT source (%content.mix;)*>
+<!ATTLIST source
+  %common.att; 
+  %xmlspace.att; 
+>
+<!-- Note Paragraph (normally shown encapsulated) -->
+<!ELEMENT note (%content.mix;)*>
+<!ATTLIST note
+  %common.att; 
+>
+<!-- Warning Paragraph (normally shown with eye-catching colors) -->
+<!ELEMENT warning (%content.mix;)*>
+<!ATTLIST warning
+  %common.att; 
+>
+<!-- Fixme Paragraph (normally not shown) -->
+<!ELEMENT fixme (%content.mix;)*>
+<!ATTLIST fixme
+  author CDATA #REQUIRED
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Tables -->
+<!-- ==================================================== -->
+<!-- Attributes that indicate the spanning of the table cell -->
+<!ENTITY % cell.span 'colspan CDATA "1"
+         rowspan CDATA "1"'>
+<!-- Table element -->
+<!ELEMENT table (caption?, tr+)>
+<!ATTLIST table
+  %common.att; 
+>
+<!-- The table title -->
+<!ELEMENT caption (%content.mix;)*>
+<!ATTLIST caption
+  %common.att; 
+>
+<!-- The table row element -->
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr
+  %common.att; 
+>
+<!-- The table row header element -->
+<!ELEMENT th (%flow;)*>
+<!ATTLIST th
+  %common.att; 
+  %cell.span; 
+>
+<!-- The table row description element -->
+<!ELEMENT td (%flow;)*>
+<!ATTLIST td
+  %common.att; 
+  %cell.span; 
+>
+<!-- ==================================================== -->
+<!-- Lists -->
+<!-- ==================================================== -->
+<!-- List item -->
+<!ELEMENT li (%flow;)*>
+<!ATTLIST li
+  %common.att; 
+>
+<!-- Unordered list (typically bulleted) -->
+<!ELEMENT ul (li)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ul
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Ordered list (typically numbered) -->
+<!ELEMENT ol (li)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ol
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Definition list (typically two-column) -->
+<!ELEMENT dl (dt, dd)+>
+<!ATTLIST dl
+  %common.att; 
+>
+<!-- Definition term -->
+<!ELEMENT dt (%content.mix;)*>
+<!ATTLIST dt
+  %common.att; 
+>
+<!-- Definition description -->
+<!ELEMENT dd (%flow; )*>
+<!ATTLIST dd
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Special Blocks -->
+<!-- ==================================================== -->
+<!-- Image Block (typically a separated and centered image) -->
+<!ELEMENT figure EMPTY>
+<!ATTLIST figure
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  align CDATA #IMPLIED
+  %common.att; 
+>
+<!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor
+  %common-idreq.att; 
+>
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<!ELEMENT document (header, body, footer?)>
+<!ATTLIST document
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Header -->
+<!-- ==================================================== -->
+<!ENTITY % local.headers "">
+<!ELEMENT header (title, subtitle?, version?, type?, authors?,
+                      notice*, abstract?, meta* %local.headers;)>
+<!ATTLIST header
+  %common.att; 
+>
+<!ELEMENT title (%text; | %markup; | %links; | %special-inline;)*>
+<!ATTLIST title
+  %common.att; 
+>
+<!ELEMENT subtitle (%text; | %markup;)*>
+<!ATTLIST subtitle
+  %common.att; 
+>
+<!ELEMENT version (%text;)>
+<!ATTLIST version
+  %common.att;
+  major CDATA #IMPLIED
+  minor CDATA #IMPLIED
+  fix CDATA #IMPLIED
+  tag CDATA #IMPLIED
+>
+<!ELEMENT type (%text;)>
+<!ATTLIST type
+  %common.att; 
+>
+<!ELEMENT authors (person+)>
+<!ATTLIST authors
+  %common.att; 
+>
+<!ELEMENT notice (%content.mix;)*>
+<!ATTLIST notice
+  %common.att; 
+>
+<!ELEMENT abstract (%content.mix;)*>
+<!ATTLIST abstract
+  %common.att; 
+>
+<!-- See http://www.w3.org/TR/xhtml2/mod-meta.html#s_metamodule -->
+<!ELEMENT meta (#PCDATA)>
+<!ATTLIST meta
+  name NMTOKEN #REQUIRED
+  %common.att; 
+>
+
+<!-- ==================================================== -->
+<!-- Body -->
+<!-- ==================================================== -->
+<!ENTITY % local.sections "">
+<!ENTITY % sections "section %local.sections;">
+<!ELEMENT body (%sections; | %blocks;)+>
+<!ATTLIST body
+  %common.att; 
+>
+<!ELEMENT section (title, (%sections; | %blocks;)*)>
+<!ATTLIST section
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Footer -->
+<!-- ==================================================== -->
+<!ENTITY % local.footers "">
+<!ELEMENT footer (legal %local.footers;)>
+<!ELEMENT legal (%content.mix;)*>
+<!ATTLIST legal
+  %common.att; 
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/faq-v20.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/faq-v20.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,74 @@
+<!-- ===================================================================
+
+     Apache FAQ DTD (Version 2.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software FAQ's for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE faqs PUBLIC
+       "-//APACHE//DTD FAQ Vx.y//EN"
+       "faq-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  FAQs represent a powerful knowledge base and a very good way of solving
+  common user problems reducing messages on mail lists and reducing the effort
+  required for software installation and usage. Thid DTD want to be a common
+  format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to
+  be published in other formats as well as enhancing data interchange.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Jeff Turner <[EMAIL PROTECTED]>
+
+See faq-v20.mod for the ChangeLog
+
+COPYRIGHT:
+  Copyright (c) 2002-2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V2.0a//EN"
+    "document-v20.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "../common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V2.0a//EN"
+    "faq-v20.mod">
+%faq;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/faq-v20.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/v20a/faq-v20.mod
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,63 @@
+<!-- ===================================================================
+
+     Apache Faq module (Version 2.0)
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % faq PUBLIC
+      "-//APACHE//ENTITIES FAQ Vxy//EN"
+      "faq-vxy.mod">
+  %faq;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 2.0a]
+  20030506 Changed <part> to <faqsection>
+  20030506 Changed @title on <faqs> to a nested <title> element
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Element declarations -->
+<!-- =============================================================== -->
+
+<!ELEMENT faqs (title?, authors?, (faq|faqsection)+)>
+<!ATTLIST faqs %common.att;>
+
+    <!ELEMENT faqsection (title, (faq | faqsection)+) >
+    <!ATTLIST faqsection %common.att;>
+
+    <!ELEMENT faq (question, answer)>
+    <!ATTLIST faq %common.att;>
+
+        <!ELEMENT question (%content.mix;|elaboration)*>
+        <!ATTLIST question %common.att;>
+
+        <!ELEMENT elaboration (%content.mix;)*>
+        <!ATTLIST elaboration %common.att;>
+
+        <!ELEMENT answer (%flow;)*>
+        <!ATTLIST answer author IDREF #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/xgump-draft.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/dtd/xgump-draft.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,174 @@
+<!-- ===================================================================
+
+     Apache XGump DTD (Version 1.0)
+
+PURPOSE:
+  Gump descriptor DTD
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE module PUBLIC
+       "-//APACHE//DTD Gump Descriptor Vx.y//EN"
+       "xgump-draft.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+* cannot yet include the module of ISO character entity sets because
+forrest.xgump has trouble with the catalog entity resolver at startup.
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020611 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!--
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+-->
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Todo module -->
+<!-- =============================================================== -->
+
+<!ENTITY % todo PUBLIC
+    "-//APACHE//ENTITIES Todo V1.1//EN"
+    "todo-v11.mod">
+%todo;
+
+<!-- =============================================================== -->
+<!-- Include the Changes module -->
+<!-- =============================================================== -->
+
+<!ENTITY % changes PUBLIC
+    "-//APACHE//ENTITIES Changes V1.1//EN"
+    "changes-v11.mod">
+%changes;
+
+<!-- =============================================================== -->
+<!-- Document type element -->
+<!-- =============================================================== -->
+
+<!ELEMENT module (url, forrest?, cvs, mailing-lists, description,
+                  detailed, what, why, who, todo, changes, licence,
+                  credits, project+)>
+<!ATTLIST module
+  name CDATA #REQUIRED>
+
+  <!ELEMENT url EMPTY>
+  <!ATTLIST url
+    href CDATA #REQUIRED>
+
+  <!ELEMENT forrest (skin)>
+  <!ATTLIST forrest
+    version CDATA #REQUIRED>
+
+    <!ELEMENT skin EMPTY>
+    <!ATTLIST skin
+      name CDATA #REQUIRED
+      style CDATA #REQUIRED>
+
+  <!ELEMENT cvs EMPTY>
+  <!ATTLIST cvs
+    repository CDATA #REQUIRED>
+
+  <!ELEMENT mailing-lists (mailing-list+)>
+
+    <!ELEMENT mailing-list EMPTY>
+    <!ATTLIST mailing-list
+      user CDATA #REQUIRED
+      mail CDATA #REQUIRED
+      subscribe CDATA #REQUIRED
+      unsubscribe CDATA #REQUIRED>
+
+  <!ELEMENT description (%content.mix;)*>
+
+  <!ELEMENT detailed (%blocks;)>
+
+  <!ELEMENT what (goal+)>
+
+    <!ELEMENT goal (%content.mix;)*>
+
+  <!ELEMENT why (%content.mix;)*>
+
+  <!ELEMENT who (person+)>
+
+  <!ELEMENT licence (%content.mix;)*>
+
+  <!ELEMENT credits (credit+)>
+
+    <!ELEMENT credit (%content.mix;)*>
+
+  <!ELEMENT project (url?, description?, version?, package?, ant?,
+                     depend*, work*, home, jar+, javadoc?)>
+  <!ATTLIST project name CDATA #REQUIRED>
+
+    <!ELEMENT package (#PCDATA)>
+
+    <!ELEMENT ant EMPTY>
+    <!ATTLIST ant
+      target CDATA #REQUIRED>
+
+    <!ELEMENT depend EMPTY>
+    <!ATTLIST depend
+      project CDATA #REQUIRED>
+
+    <!ELEMENT work EMPTY>
+    <!ATTLIST work
+      nested CDATA #REQUIRED>
+
+    <!ELEMENT home EMPTY>
+    <!ATTLIST home
+      nested CDATA #REQUIRED>
+
+    <!ELEMENT jar EMPTY>
+    <!ATTLIST jar
+      name CDATA #REQUIRED
+      id CDATA #IMPLIED>
+
+    <!ELEMENT javadoc EMPTY>
+    <!ATTLIST javadoc
+      parent CDATA #REQUIRED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOdia.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOdia.pen
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,34 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOdia PUBLIC
+       "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML">
+     %ISOdia;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     This entity set uses hexadecimal numeric character references. 
+          
+     Creator: Rick Jelliffe, Allette Systems
+     
+     Version: 1997-07-07
+-->
+
+<!ENTITY acute  "&#180;" ><!--=acute accent-->
+<!ENTITY breve  "&#x2D8;" ><!--=breve-->
+<!ENTITY caron  "&#x2C7;" ><!--=caron-->
+<!ENTITY cedil  "&#184;" ><!--=cedilla-->
+<!ENTITY circ   "^" ><!--=circumflex accent-->
+<!ENTITY dblac  "&#x2DD;" ><!--=double acute accent-->
+<!ENTITY die    "&#168;" ><!--=dieresis-->
+<!ENTITY dot    "&#x2D9;" ><!--=dot above-->
+<!ENTITY grave  "`" ><!--=grave accent-->
+<!ENTITY macr   "&#175;" ><!--=macron-->
+<!ENTITY ogon   "&#x2DB;" ><!--=ogonek-->
+<!ENTITY ring   "&#x2DA;" ><!--=ring-->
+<!ENTITY tilde  "&#x2DC;" ><!--=tilde-->
+<!ENTITY uml    "&#168;" ><!--=umlaut mark-->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOgrk1.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOgrk1.pen
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,74 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+    Creator: version from ISO 8879:1986
+    
+    Version: 0.21 1992-12-04
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOGRK1 PUBLIC
+       "ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML">
+     %ISOGRK1;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     
+     Creator: Rick Jelliffe, from HTMLlat1
+     
+     Version: 1997-07-07
+-->
+
+<!ENTITY agr     "&#945;" ><!--small alpha, Greek, U03B1 -->
+<!ENTITY Agr     "&#913;" ><!--capital Alpha, Greek, U0391 -->
+<!ENTITY bgr     "&#946;" ><!--small beta, Greek, U03B2 -->
+<!ENTITY Bgr     "&#914;" ><!--capital Beta, Greek, U0392 -->
+<!ENTITY ggr     "&#947;" ><!--small gamma, Greek, U03B3 -->
+<!ENTITY Ggr     "&#915;" ><!--capital Gamma, Greek, U0393 -->
+<!ENTITY dgr     "&#948;" ><!--small delta, Greek, U03B4 -->
+<!ENTITY Dgr     "&#916;" ><!--capital Delta, Greek, U0394 -->
+<!ENTITY egr     "&#949;" ><!--small epsilon, Greek, U03B5 -->
+<!ENTITY Egr     "&#917;" ><!--capital Epsilon, Greek, U0395 -->
+<!ENTITY zgr     "&#950;" ><!--small zeta, Greek, U03B6 -->
+<!ENTITY Zgr     "&#918;" ><!--capital Zeta, Greek, U0396 -->
+<!ENTITY eegr    "&#951;" ><!--small eta, Greek, U03B7 -->
+<!ENTITY EEgr    "&#919;" ><!--capital Eta, Greek, U0397 -->
+<!ENTITY thgr    "&#952;" ><!--small theta, Greek, U03B8 -->
+<!ENTITY THgr    "&#920;" ><!--capital Theta, Greek, U0398 -->
+<!ENTITY igr     "&#953;" ><!--small iota, Greek, U03B9 -->
+<!ENTITY Igr     "&#921;" ><!--capital Iota, Greek, U0399 -->
+<!ENTITY kgr     "&#954;" ><!--small kappa, Greek, U03BA -->
+<!ENTITY Kgr     "&#922;" ><!--capital Kappa, Greek, U039A -->
+<!ENTITY lgr     "&#955;" ><!--small lambda, Greek, U03BB -->
+<!ENTITY Lgr     "&#923;" ><!--capital Lambda, Greek, U039B -->
+<!ENTITY mgr     "&#956;" ><!--small mu, Greek, U03BC -->
+<!ENTITY Mgr     "&#924;" ><!--capital Mu, Greek, U039C -->
+<!ENTITY ngr     "&#957;" ><!--small nu, Greek, U03BD -->
+<!ENTITY Ngr     "&#925;" ><!--capital Nu, Greek, U039D -->
+<!ENTITY xgr     "&#958;" ><!--small xi, Greek, U03BE -->
+<!ENTITY Xgr     "&#926;" ><!--capital Xi, Greek, U039E -->
+<!ENTITY ogr     "&#959;" ><!--small omicron, Greek, U03BF -->
+<!ENTITY Ogr     "&#927;" ><!--capital Omicron, Greek, U039F -->
+<!ENTITY pgr     "&#960;" ><!--small pi, Greek, U03C0 -->
+<!ENTITY Pgr     "&#928;" ><!--capital Pi, Greek, U03A0 -->
+<!ENTITY rgr     "&#961;" ><!--small rho, Greek, U03C1 -->
+<!ENTITY Rgr     "&#929;" ><!--capital Rho, Greek, U03A1 -->
+<!ENTITY sfgr    "&#962;" ><!--final small sigma, Greek, U03C2 --> 
+<!ENTITY sgr     "&#963;" ><!--small sigma, Greek, U03C3 -->
+<!ENTITY Sgr     "&#931;" ><!--capital Sigma, Greek, U03A3 -->
+<!ENTITY tgr     "&#964;" ><!--small tau, Greek, U03C4 -->
+<!ENTITY Tgr     "&#932;" ><!--capital Tau, Greek, U03A4 -->
+<!ENTITY ugr     "&#965;" ><!--small upsilon, Greek, U03C5 -->
+<!ENTITY Ugr     "&#933;" ><!--capital Upsilon, Greek, U03A5 -->
+<!ENTITY phgr    "&#966;" ><!--small phi, Greek, U03C6 -->
+<!ENTITY PHgr    "&#934;" ><!--capital Phi, Greek, U03A6 -->
+<!ENTITY khgr    "&#967;" ><!--small chi, Greek, U03C7 -->
+<!ENTITY KHgr    "&#935;" ><!--capital Chi, Greek, U03A7 -->
+<!ENTITY psgr    "&#968;" ><!--small psi, Greek, U03C8 -->
+<!ENTITY PSgr    "&#936;" ><!--capital Psi, Greek, U03A8 -->
+<!ENTITY ohgr    "&#969;" ><!--small omega, Greek, U03C9 -->
+<!ENTITY OHgr    "&#937;" ><!--capital Omega, Greek, U03A9 -->
+ 
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOlat1.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOlat1.pen
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,79 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOlat1 PUBLIC
+       "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML">
+     %ISOlat1;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 8859-1 or ISO 10646 as its document character 
+     set. This includes XML documents and ISO HTML documents. 
+-->
+ 
+    <!ENTITY Agrave  "&#192;" ><!-- capital A, grave accent -->
+    <!ENTITY Aacute  "&#193;" ><!-- capital A, acute accent -->
+    <!ENTITY Acirc   "&#194;" ><!-- capital A, circumflex accent -->
+    <!ENTITY Atilde  "&#195;" ><!-- capital A, tilde -->
+    <!ENTITY Auml    "&#196;" ><!-- capital A, dieresis or umlaut mark -->
+    <!ENTITY Aring   "&#197;" ><!-- capital A, ring -->
+    <!ENTITY AElig   "&#198;" ><!-- capital AE diphthong (ligature) -->
+    <!ENTITY Ccedil  "&#199;" ><!-- capital C, cedilla -->
+    <!ENTITY Egrave  "&#200;" ><!-- capital E, grave accent -->
+    <!ENTITY Eacute  "&#201;" ><!-- capital E, acute accent -->
+    <!ENTITY Ecirc   "&#202;" ><!-- capital E, circumflex accent -->
+    <!ENTITY Euml    "&#203;" ><!-- capital E, dieresis or umlaut mark -->
+    <!ENTITY Igrave  "&#204;" ><!-- capital I, grave accent -->
+    <!ENTITY Iacute  "&#205;" ><!-- capital I, acute accent -->
+    <!ENTITY Icirc   "&#206;" ><!-- capital I, circumflex accent -->
+    <!ENTITY Iuml    "&#207;" ><!-- capital I, dieresis or umlaut mark -->
+    <!ENTITY ETH     "&#208;" ><!-- capital Eth, Icelandic -->
+    <!ENTITY Ntilde  "&#209;" ><!-- capital N, tilde -->
+    <!ENTITY Ograve  "&#210;" ><!-- capital O, grave accent -->
+    <!ENTITY Oacute  "&#211;" ><!-- capital O, acute accent -->
+    <!ENTITY Ocirc   "&#212;" ><!-- capital O, circumflex accent -->
+    <!ENTITY Otilde  "&#213;" ><!-- capital O, tilde -->
+    <!ENTITY Ouml    "&#214;" ><!-- capital O, dieresis or umlaut mark -->
+    <!ENTITY Oslash  "&#216;" ><!-- capital O, slash -->
+    <!ENTITY Ugrave  "&#217;" ><!-- capital U, grave accent -->
+    <!ENTITY Uacute  "&#218;" ><!-- capital U, acute accent -->
+    <!ENTITY Ucirc   "&#219;" ><!-- capital U, circumflex accent -->
+    <!ENTITY Uuml    "&#220;" ><!-- capital U, dieresis or umlaut mark -->
+    <!ENTITY Yacute  "&#221;" ><!-- capital Y, acute accent -->
+    <!ENTITY THORN   "&#222;" ><!-- capital THORN, Icelandic -->
+    <!ENTITY szlig   "&#223;" ><!-- small sharp s, German (sz ligature) -->
+    <!ENTITY agrave  "&#224;" ><!-- small a, grave accent -->   
+    <!ENTITY aacute  "&#225;" ><!-- small a, acute accent -->
+    <!ENTITY acirc   "&#226;" ><!-- small a, circumflex accent -->
+    <!ENTITY atilde  "&#227;" ><!-- small a, tilde -->
+    <!ENTITY auml    "&#228;" ><!-- small a, dieresis or umlaut mark -->
+    <!ENTITY aring   "&#229;" ><!-- small a, ring -->
+    <!ENTITY aelig   "&#230;" ><!-- small ae diphthong (ligature) -->
+    <!ENTITY ccedil  "&#231;" ><!-- small c, cedilla -->
+    <!ENTITY egrave  "&#232;" ><!-- small e, grave accent -->
+    <!ENTITY eacute  "&#233;" ><!-- small e, acute accent -->
+    <!ENTITY ecirc   "&#234;" ><!-- small e, circumflex accent -->
+    <!ENTITY euml    "&#235;" ><!-- small e, dieresis or umlaut mark -->
+    <!ENTITY igrave  "&#236;" ><!-- small i, grave accent -->
+    <!ENTITY iacute  "&#237;" ><!-- small i, acute accent -->
+    <!ENTITY icirc   "&#238;" ><!-- small i, circumflex accent -->
+    <!ENTITY iuml    "&#239;" ><!-- small i, dieresis or umlaut mark -->
+    <!ENTITY eth     "&#240;" ><!-- small eth, Icelandic -->
+    <!ENTITY ntilde  "&#241;" ><!-- small n, tilde -->
+    <!ENTITY ograve  "&#242;" ><!-- small o, grave accent -->
+    <!ENTITY oacute  "&#243;" ><!-- small o, acute accent -->
+    <!ENTITY ocirc   "&#244;" ><!-- small o, circumflex accent -->
+    <!ENTITY otilde  "&#245;" ><!-- small o, tilde -->
+    <!ENTITY ouml    "&#246;" ><!-- small o, dieresis or umlaut mark -->
+
+    <!ENTITY oslash  "&#248;" ><!-- small o, slash -->
+    <!ENTITY ugrave  "&#249;" ><!-- small u, grave accent -->
+    <!ENTITY uacute  "&#250;" ><!-- small u, acute accent -->
+    <!ENTITY ucirc   "&#251;" ><!-- small u, circumflex accent -->
+    <!ENTITY uuml    "&#252;" ><!-- small u, dieresis or umlaut mark -->
+    <!ENTITY yacute  "&#253;" ><!-- small y, acute accent -->
+    <!ENTITY thorn   "&#254;" ><!-- small thorn, Icelandic -->
+    <!ENTITY yuml    "&#255;" ><!-- small y, dieresis or umlaut mark -->
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOnum.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOnum.pen
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,109 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOnum PUBLIC
+       "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML">
+     %ISOnum;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     This entity set uses hexadecimal numeric character references. 
+          
+     Creator: Rick Jelliffe, Allette Systems
+     
+     Version: 1997-07-07
+-->
+
+<!ENTITY half   "&#189;" ><!--=fraction one-half-->
+<!ENTITY frac12 "&#189;" ><!--=fraction one-half-->
+<!ENTITY frac14 "&#188;" ><!--=fraction one-quarter-->
+<!ENTITY frac34 "&#190;" ><!--=fraction three-quarters-->
+<!ENTITY frac18 "&#x215B;" > 
+    <!-- or "&#xB1;&#x202;&#x2044;&#x2088;" --><!--=fraction one-eighth-->
+<!ENTITY frac38 "&#x215C;" >
+    <!-- or "&#xB3;&#x2044;&#x2088;" --><!--=fraction three-eighths-->
+<!ENTITY frac58 "&#x215D;" >
+    <!-- or "&#x2075;&#x2044;&#x2088;" --><!--=fraction five-eighths-->
+<!ENTITY frac78 "&#x215E;" >
+    <!-- or "&#x2077;&#x2044;&#x2088;" --><!--=fraction seven-eighths-->
+
+<!ENTITY sup1   "&#185;" ><!--=superscript one-->
+<!ENTITY sup2   "&#178;" ><!--=superscript two-->
+<!ENTITY sup3   "&#179;" ><!--=superscript three-->
+
+<!ENTITY plus   "+" ><!--=plus sign B:-->
+<!ENTITY plusmn "&#xB1;" ><!--/pm B: =plus-or-minus sign-->
+<!ENTITY lt     "&#38;#60;"      ><!--=less-than sign R:-->
+<!ENTITY equals "="      ><!--=equals sign R:-->
+<!ENTITY gt     ">"      ><!--=greater-than sign R:-->
+<!ENTITY divide "&#247;" ><!--/div B: =divide sign-->
+<!ENTITY times  "&#215;" ><!--/times B: =multiply sign-->
+
+<!ENTITY curren "&#164;" ><!--=general currency sign-->
+<!ENTITY pound  "&#163;" ><!--=pound sign-->
+<!ENTITY dollar "$"      ><!--=dollar sign-->
+<!ENTITY cent   "&#162;" ><!--=cent sign-->
+<!ENTITY yen    "&#165;" ><!--/yen =yen sign-->
+
+<!ENTITY num    "#" ><!--=number sign-->
+<!ENTITY percnt "&#37;" ><!--=percent sign-->
+<!ENTITY amp    "&#38;#38;" ><!--=ampersand-->
+<!ENTITY ast    "*" ><!--/ast B: =asterisk-->
+<!ENTITY commat "@" ><!--=commercial at-->
+<!ENTITY lsqb   "[" ><!--/lbrack O: =left square bracket-->
+<!ENTITY bsol   "\" ><!--/backslash =reverse solidus-->
+<!ENTITY rsqb   "]" ><!--/rbrack C: =right square bracket-->
+<!ENTITY lcub   "{" ><!--/lbrace O: =left curly bracket-->
+<!ENTITY horbar "&#x2015;" ><!--=horizontal bar-->
+<!ENTITY verbar "|" ><!--/vert =vertical bar-->
+<!ENTITY rcub   "}" ><!--/rbrace C: =right curly bracket-->
+<!ENTITY micro  "&#181;" ><!--=micro sign-->
+<!ENTITY ohm    "&#2126;" ><!--=ohm sign-->
+<!ENTITY deg    "&#176;" ><!--=degree sign-->
+<!ENTITY ordm   "&#186;" ><!--=ordinal indicator, masculine-->
+<!ENTITY ordf   "&#170;" ><!--=ordinal indicator, feminine-->
+<!ENTITY sect   "&#167;" ><!--=section sign-->
+<!ENTITY para   "&#182;" ><!--=pilcrow (paragraph sign)-->
+<!ENTITY middot "&#183;" ><!--/centerdot B: =middle dot-->
+<!ENTITY larr   "&#x2190;" ><!--/leftarrow /gets A: =leftward arrow-->
+<!ENTITY rarr   "&#x2192;" ><!--/rightarrow /to A: =rightward arrow-->
+<!ENTITY uarr   "&#x2191;" ><!--/uparrow A: =upward arrow-->
+<!ENTITY darr   "&#x2193;" ><!--/downarrow A: =downward arrow-->
+<!ENTITY copy   "&#169;" ><!--=copyright sign-->
+<!ENTITY reg    "&#174;" ><!--/circledR =registered sign-->
+<!ENTITY trade  "&#8482;" ><!--=trade mark sign-->
+<!ENTITY brvbar "&#xA6;" ><!--=bren (vertical) bar-->
+<!ENTITY not    "&#xAC;" ><!--/neg /lnot =not sign-->
+<!ENTITY sung   "&#x266A;" ><!--=music note (sung text sign)-->
+
+<!ENTITY excl   "!" ><!--=exclamation mark-->
+<!ENTITY iexcl  "&#xA1;" ><!--=inverted exclamation mark-->
+<!ENTITY quot   '"' ><!--=quotation mark-->
+<!ENTITY apos   "'" ><!--=apostrophe-->
+<!ENTITY lpar   "(" ><!--O: =left parenthesis-->
+<!ENTITY rpar   ")" ><!--C: =right parenthesis-->
+<!ENTITY comma  "," ><!--P: =comma-->
+<!ENTITY lowbar "_" ><!--=low line-->
+<!ENTITY hyphen "&#x2010;" ><!--=hyphen-->
+<!ENTITY period "." ><!--=full stop, period-->
+<!ENTITY sol    "/" ><!--=solidus-->
+<!ENTITY colon  ":" ><!--/colon P:-->
+<!ENTITY semi   ";" ><!--=semicolon P:-->
+<!ENTITY quest  "?" ><!--=question mark-->
+<!ENTITY iquest "&#xBF;" ><!--=inverted question mark-->
+<!ENTITY laquo  "&#x2039;" ><!--=angle quotation mark, left
+ But note that Unicode 1 & Maler & el Andaloussi give &#xAB; -->
+<!ENTITY raquo  "&#x203A;" ><!--=angle quotation mark, right
+ But note that Unicode 1 & Maler & el Andaloussi give &#xBB; -->
+<!ENTITY lsquo  "&#x2018;" ><!--=single quotation mark, left-->
+<!ENTITY rsquo  "&#x2019;" ><!--=single quotation mark, right-->
+<!ENTITY ldquo  "&#x201C;" ><!--=double quotation mark, left-->
+<!ENTITY rdquo  "&#x201D;" ><!--=double quotation mark, right-->
+<!ENTITY nbsp   "&#160;" ><!--=no break (required) space-->
+<!ENTITY shy    "&#173;" ><!--=soft hyphen-->
+
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOpub.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOpub.pen
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,110 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOpub PUBLIC
+       "ISO 8879:1986//ENTITIES Publishing//EN//XML">
+     %ISOpub;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     This entity set uses hexadecimal numeric character references. 
+          
+     Creator: Rick Jelliffe, Allette Systems
+     
+     Version: 1997-07-07
+-->
+<!ENTITY emsp   "&#x2003;" ><!--=em space-->
+<!ENTITY ensp   "&#x2002;" ><!--=en space (1/2-em)-->
+<!ENTITY emsp13 "&#x2004;" ><!--=1/3-em space-->
+<!ENTITY emsp14 "&#x2005;" ><!--=1/4-em space-->
+<!ENTITY numsp  "&#x2007;" ><!--=digit space (width of a number)-->
+<!ENTITY puncsp "&#x2008;" ><!--=punctuation space (width of comma)-->
+<!ENTITY thinsp "&#x2009;" ><!--=thin space (1/6-em)-->
+<!ENTITY hairsp "&#x200A;" ><!--=hair space-->
+<!ENTITY mdash  "&#x2014;" ><!--=em dash-->
+<!ENTITY ndash  "&#x2013;" ><!--=en dash-->
+<!ENTITY dash   "&#x2010;" ><!--=hyphen (true graphic)-->
+<!ENTITY blank  "&#x2423;" ><!--=significant blank symbol-->
+<!ENTITY hellip "&#x2026;" ><!--=ellipsis (horizontal)-->
+<!ENTITY nldr   "&#x2025;" ><!--=double baseline dot (en leader)-->
+<!ENTITY frac13 "&#x2153;" ><!--=fraction one-third-->
+<!ENTITY frac23 "&#x2154;" ><!--=fraction two-thirds-->
+<!ENTITY frac15 "&#x2155;" ><!--=fraction one-fifth-->
+<!ENTITY frac25 "&#x2156;" ><!--=fraction two-fifths-->
+<!ENTITY frac35 "&#x2157;" ><!--=fraction three-fifths-->
+<!ENTITY frac45 "&#x2158;" ><!--=fraction four-fifths-->
+<!ENTITY frac16 "&#x2159;" ><!--=fraction one-sixth-->
+<!ENTITY frac56 "&#x215a;" ><!--=fraction five-sixths-->
+<!ENTITY incare "&#x2105;" ><!--=in-care-of symbol-->
+<!ENTITY block  "&#x2588;" ><!--=full block-->
+<!ENTITY uhblk  "&#x2580;" ><!--=upper half block-->
+<!ENTITY lhblk  "&#x2584;" ><!--=lower half block-->
+<!ENTITY blk14  "&#x2591;" ><!--=25% shaded block-->
+<!ENTITY blk12  "&#x2592;" ><!--=50% shaded block-->
+<!ENTITY blk34  "&#x2593;" ><!--=75% shaded block-->
+<!ENTITY marker "&#x25AE;" ><!--=histogram marker-->
+<!ENTITY cir    "&#x25CB;" ><!--/circ B: =circle, open-->
+<!ENTITY squ    "&#x25A1;" ><!--=square, open-->
+<!ENTITY rect   "&#x25AD;" ><!--=rectangle, open-->
+<!ENTITY utri   "&#x25B5;" ><!--/triangle =up triangle, open-->
+<!ENTITY dtri   "&#x25BF;" ><!--/triangledown =down triangle, open-->
+<!ENTITY star   "&#x2606;" ><!--=star, open-->
+<!ENTITY bull   "&#x2022;" ><!--/bullet B: =round bullet, filled-->
+<!ENTITY squf   "&#x25AA;" ><!--/blacksquare =sq bullet, filled-->
+<!ENTITY utrif  "&#x25B4;" ><!--/blacktriangle =up tri, filled-->
+<!ENTITY dtrif  "&#x25BE;" ><!--/blacktriangledown =dn tri, filled-->
+<!ENTITY ltrif  "&#x25C2;" ><!--/blacktriangleleft R: =l tri, filled-->
+<!ENTITY rtrif  "&#x25B8;" ><!--/blacktriangleright R: =r tri, filled-->
+<!ENTITY clubs  "&#x2663;" ><!--/clubsuit =club suit symbol-->
+<!ENTITY diams  "&#x2662;" ><!--/diamondsuit =diamond suit symbol-->
+<!ENTITY hearts "&#x2661;" ><!--/heartsuit =heart suit symbol-->
+<!ENTITY spades "&#x2660;" ><!--/spadesuit =spades suit symbol-->
+<!ENTITY malt   "&#x2720;" ><!--/maltese =maltese cross-->
+<!ENTITY dagger "&#x2020;" ><!--/dagger B: =dagger-->
+<!ENTITY Dagger "&#x2021;" ><!--/ddagger B: =double dagger-->
+<!ENTITY check  "&#x2713;" ><!--/checkmark =tick, check mark-->
+<!ENTITY cross  "&#x2717;" ><!--=ballot cross-->
+<!ENTITY sharp  "&#x266F;" ><!--/sharp =musical sharp-->
+<!ENTITY flat   "&#x266D;" ><!--/flat =musical flat-->
+<!ENTITY male   "&#x2642;" ><!--=male symbol-->
+<!ENTITY female "&#x2640;" ><!--=female symbol-->
+<!ENTITY phone  "&#x26E0;" ><!--=telephone symbol-->
+<!ENTITY telrec "&#x2315;" ><!--=telephone recorder symbol-->
+<!ENTITY copysr "&#x2117;" ><!--=sound recording copyright sign-->
+<!ENTITY caret  "&#x2041;" ><!--=caret (insertion mark)-->
+<!ENTITY lsquor "&#x201A;" ><!--=rising single quote, left (low)-->
+<!ENTITY ldquor "&#x201E;" ><!--=rising dbl quote, left (low)-->
+
+<!ENTITY fflig  "&#xFB00;" ><!--small ff ligature-->
+<!ENTITY filig  "&#xFB01;" ><!--small fi ligature-->
+<!ENTITY fjlig  "fj" ><!--small fj ligature-->
+<!ENTITY ffilig "&#xFB03;" ><!--small ffi ligature-->
+<!ENTITY ffllig "&#xFB04;" ><!--small ffl ligature-->
+<!ENTITY fllig  "&#xFB02;" ><!--small fl ligature-->
+
+<!ENTITY mldr   "&#x2025;" ><!--em leader-->
+<!ENTITY rdquor "&#x201D;" ><!--rising dbl quote, right (high)-->
+<!ENTITY rsquor "&#x2019;" ><!--rising single quote, right (high)-->
+<!ENTITY vellip "&#x22EE;" ><!--vertical ellipsis-->
+
+<!ENTITY hybull "&#x2043;" ><!--rectangle, filled (hyphen bullet)-->
+<!ENTITY loz    "&#x2727;" ><!--/lozenge - lozenge or total mark-->
+<!ENTITY lozf   "&#x2726;" ><!--/blacklozenge - lozenge, filled-->
+<!ENTITY ltri   "&#x25C3;" ><!--/triangleleft B: l triangle, open-->
+<!ENTITY rtri   "&#x25B9;" ><!--/triangleright B: r triangle, open-->
+<!ENTITY starf  "&#x2605;" ><!--/bigstar - star, filled-->
+
+<!ENTITY natur  "&#x266E;" ><!--/natural - music natural-->
+<!ENTITY rx     "&#x211E;" ><!--pharmaceutical prescription (Rx)-->
+<!ENTITY sext   "&#x2736;" ><!--sextile (6-pointed star)-->
+
+<!ENTITY target "&#x2316;" ><!--register mark or target-->
+<!ENTITY dlcrop "&#x230D;" ><!--downward left crop mark -->
+<!ENTITY drcrop "&#x230C;" ><!--downward right crop mark -->
+<!ENTITY ulcrop "&#x230F;" ><!--upward left crop mark -->
+<!ENTITY urcrop "&#x230E;" ><!--upward right crop mark -->
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOtech.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/entity/ISOtech.pen
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,85 @@
+
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOtech PUBLIC
+       "ISO 8879:1986//ENTITIES General Technical//EN//XML" 
+       "ISOtech.pen">
+     %ISOtech;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     This entity set uses hexadecimal numeric character references. 
+          
+     Creator: Rick Jelliffe, Allette Systems
+     
+     Version: 1997-07-07
+-->
+<!ENTITY aleph  "&#x2135;" ><!--/aleph =aleph, Hebrew-->
+<!ENTITY and    "&#x2227;" ><!--/wedge /land B: =logical and-->
+<!ENTITY ang90  "&#x221F;" ><!--=right (90 degree) angle-->
+<!ENTITY angsph "&#x2222;" ><!--/sphericalangle =angle-spherical-->
+<!ENTITY ap     "&#x2249;" ><!--/approx R: =approximate-->
+<!ENTITY becaus "&#x2235;" ><!--/because R: =because-->
+<!ENTITY bottom "&#x22A5;" ><!--/bot B: =perpendicular-->
+<!ENTITY cap    "&#x2229;" ><!--/cap B: =intersection-->
+<!ENTITY cong   "&#x2245;" ><!--/cong R: =congruent with-->
+<!ENTITY conint "&#x222E;" ><!--/oint L: =contour integral operator-->
+<!ENTITY cup    "&#x222A;" ><!--/cup B: =union or logical sum-->
+<!ENTITY equiv  "&#x2261;" ><!--/equiv R: =identical with-->
+<!ENTITY exist  "&#x2203;" ><!--/exists =at least one exists-->
+<!ENTITY forall "&#x2200;" ><!--/forall =for all-->
+<!ENTITY fnof   "&#x192;" ><!--=function of (italic small f)-->
+<!ENTITY ge     "&#x2265;" ><!--/geq /ge R: =greater-than-or-equal-->
+<!ENTITY iff    "&#x21D4;" ><!--/iff =if and only if-->
+<!ENTITY infin  "&#x221E;" ><!--/infty =infinity-->
+<!ENTITY int    "&#x222B;" ><!--/int L: =integral operator-->
+<!ENTITY isin   "&#x2208;" ><!--/in R: =set membership-->
+<!ENTITY lang   "&#x2329;" ><!--/langle O: =left angle bracket-->
+<!ENTITY lArr   "&#x21D0;" ><!--/Leftarrow A: =is implied by-->
+<!ENTITY le     "&#x2264;" ><!--/leq /le R: =less-than-or-equal-->
+<!ENTITY minus  "-" ><!--B: =minus sign-->
+<!ENTITY mnplus "&#x2213;" ><!--/mp B: =minus-or-plus sign-->
+<!ENTITY nabla  "&#x2207;" ><!--/nabla =del, Hamilton operator-->
+<!ENTITY ne     "&#x2260;" ><!--/ne /neq R: =not equal-->
+<!ENTITY ni     "&#x220B;" ><!--/ni /owns R: =contains-->
+<!ENTITY or     "&#x2228;" ><!--/vee /lor B: =logical or-->
+<!ENTITY par    "&#x2225;" ><!--/parallel R: =parallel-->
+<!ENTITY part   "&#x2202;" ><!--/partial =partial differential-->
+<!ENTITY permil "&#x2030;" ><!--=per thousand-->
+<!ENTITY perp   "&#x22A5;" ><!--/perp R: =perpendicular-->
+<!ENTITY prime  "&#x2032;" ><!--/prime =prime or minute-->
+<!ENTITY Prime  "&#x2033;" ><!--=double prime or second-->
+<!ENTITY prop   "&#x221D;" ><!--/propto R: =is proportional to-->
+<!ENTITY radic  "&#x221A;" ><!--/surd =radical-->
+<!ENTITY rang   "&#x232A;" ><!--/rangle C: =right angle bracket-->
+<!ENTITY rArr   "&#x21D2;" ><!--/Rightarrow A: =implies-->
+<!ENTITY sim    "&#x223C;" ><!--/sim R: =similar-->
+<!ENTITY sime   "&#x2243;" ><!--/simeq R: =similar, equals-->
+<!ENTITY square "&#x25A1;" ><!--/square B: =square-->
+<!ENTITY sub    "&#x2282;" ><!--/subset R: =subset or is implied by-->
+<!ENTITY sube   "&#x2286;" ><!--/subseteq R: =subset, equals-->
+<!ENTITY sup    "&#x2283;" ><!--/supset R: =superset or implies-->
+<!ENTITY supe   "&#x2287;" ><!--/supseteq R: =superset, equals-->
+<!ENTITY there4 "&#x2234;" ><!--/therefore R: =therefore-->
+<!ENTITY Verbar "&#x2016;" ><!--/Vert =dbl vertical bar-->
+
+<!ENTITY angst  "&#x212B;" ><!--Angstrom =capital A, ring-->
+<!ENTITY bernou "&#x212C;" ><!--Bernoulli function (script capital B)-->
+<!ENTITY compfn "&#x2218;" ><!--B: composite function (small circle)-->
+<!ENTITY Dot    "&#xA8;" ><!--=dieresis or umlaut mark-->
+<!ENTITY DotDot "&#x20DC;" ><!--four dots above-->
+<!ENTITY hamilt "&#x210B;" ><!--Hamiltonian (script capital H)-->
+<!ENTITY lagran "&#x2112;" ><!--Lagrangian (script capital L)-->
+<!ENTITY lowast "&#x2217;" ><!--low asterisk-->
+<!ENTITY notin  "&#x2209;" ><!--N: negated set membership-->
+<!ENTITY order  "&#x2134;" ><!--order of (script small o)-->
+<!ENTITY phmmat "&#x2133;" ><!--physics M-matrix (script capital M)-->
+<!ENTITY tdot   "&#x20DB;" ><!--three dots above-->
+<!ENTITY tprime "&#x2034;" ><!--triple prime-->
+<!ENTITY wedgeq "&#x2259;" ><!--R: corresponds to (wedge, equals)-->
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/README.txt
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/README.txt
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,35 @@
+This directory contains XML schemas which describe the various XML formats used
+in Forrest.
+
+The schemas are written in RELAX NG, a schema language devised by James Clark,
+SGML boffin, XML inventor and all-round smart guy.
+
+RELAX NG is widely regarded to be the simplest, most powerful, and easy to
+learn schema language available.
+
+Relevant URLs:
+
+The RELAX NG "home page" at the OASIS RELAX NG Technical Committee:
+http://www.oasis-open.org/committees/relax-ng/
+
+The RELAX NG tutorial:
+       http://www.oasis-open.org/committees/relax-ng/tutorial.html
+
+The RELAX NG Compact Syntax spec (definition of the non-XML syntax
+used here *.rnx files):
+  http://www.oasis-open.org/committees/relax-ng/compact-20021121.html
+
+Jing RELAX NG validator in Java:
+       http://www.thaiopensource.com/relaxng/
+
+To run an XML file against a .rng schema using Jing, see the
+"validate-config" target in xml-forrest/build.xml or do this:
+
+java -jar $FORREST_HOME/WEB-INF/lib/jing.jar [.rng file] [.xml file]
+
+If you're running JDK 1.3.x or lower, you'll need to add
+$FORREST_HOME/lib/endorsed/*.jar to your classpath first.
+
+-- 
[EMAIL PROTECTED]
+$Id: README.txt,v 1.3 2003/01/22 06:39:34 crossley Exp $

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/book-v01.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/book-v01.rng
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";
+         xmlns="http://relaxng.org/ns/structure/1.0";
+         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0";>
+<!-- ===================================================================
+
+     Apache Cocoon Book RELAX NG grammar (Version 0.1)
+
+PURPOSE:
+  DRAFT RELAX NG grammar for the Cocoon book.xml configuration files.
+
+NOTES:
+
+AUTHORS:
+  David Crossley <[EMAIL PROTECTED]>
+
+FIXME:
+- 
+
+CHANGE HISTORY:
+20021030 V0.1 Initial RELAX NG grammar generated from book-cocoon-v10.dtd
+              using DTDinst (DC)
+     
+COPYRIGHT:
+  Copyright (c) 1999-2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+  <define name="book">
+    <element name="book">
+      <ref name="attlist.book"/>
+      <oneOrMore>
+        <ref name="menu"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="menu">
+    <element name="menu">
+      <ref name="attlist.menu"/>
+      <zeroOrMore>
+        <choice>
+          <ref name="menu-item"/>
+          <ref name="external"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="menu-item">
+    <element name="menu-item">
+      <ref name="attlist.menu-item"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="external">
+    <element name="external">
+      <ref name="attlist.external"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.book" combine="interleave">
+    <attribute name="software"/>
+    <attribute name="title"/>
+    <attribute name="copyright"/>
+    <empty/>
+  </define>
+  <define name="attlist.menu" combine="interleave">
+    <attribute name="label"/>
+  </define>
+  <define name="attlist.menu-item" combine="interleave">
+    <attribute name="label"/>
+    <attribute name="href"/>
+    <optional>
+      <attribute name="type" a:defaultValue="visible">
+        <choice>
+          <value>visible</value>
+          <value>hidden</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <define name="attlist.external" combine="interleave">
+    <attribute name="label"/>
+    <attribute name="href"/>
+    <optional>
+      <attribute name="type" a:defaultValue="visible">
+        <choice>
+          <value>visible</value>
+          <value>hidden</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <start>
+    <choice>
+      <ref name="book"/>
+    </choice>
+  </start>
+</grammar>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/sitemap-v06.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/sitemap-v06.rng
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,2183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"; 
+         xmlns:sch="http://www.ascc.net/xml/schematron";
+         xmlns="http://relaxng.org/ns/structure/1.0"; 
+         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"; 
+         xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
+ <sch:ns uri="http://apache.org/cocoon/sitemap/1.0"; prefix="xmap"/>
+<!-- ===================================================================
+
+Apache Cocoon Sitemap RELAX NG grammar, with embedded Schematron rules
+Version 0.6
+
+PURPOSE:
+  DRAFT RELAX NG grammar for the Cocoon2 sitemap.xmap files.
+
+
+NOTES:
+* ATTENTION: The initial (v0.4) grammar was generated from sitemap-v04.dtd, 
+  which in turn was reverse-engineered by hand from the various
+  sitemap.xmap instances included in the current distribution. This is
+  just an attempt to document the existing rules for sitemap structure.
+  V0.5 has been enhanced to use stricter than were possible with the DTD.
+  A proper design process is still, still required.
+* Needed by XML editing tools for creation of reliable documents.
+* Can generate WXS from this grammar for the use of XML editors which
+  do not support RELAX NG.
+* The big questions (still) are: 
+  - What possibilities were missed because they were not included in the
+    default sitemaps?
+  - What in the default sitemap.xmap files is mandatory versus optional?
+  - What elements/attributes need their rules tightened?
+
+AUTHORS:
+  Jeffrey Ricker NG (Usonia Holdings) <[EMAIL PROTECTED]>
+  David Crossley <[EMAIL PROTECTED]>
+  Colin Paul Adams <[EMAIL PROTECTED]>
+  Bruno Dumon <[EMAIL PROTECTED]>
+  Nicola Ken Barozzi NKB<[EMAIL PROTECTED]>
+
+FIXME:
+- map:act is used in various contexts, so it has a loose definition
+- Completely rewrite this grammar looking from the application
+  point-of-view (do not rely on this temporary initial grammar)
+- align elements and attributes with sitemap*.xsl
+- review all xdocs/userdocs/generators/*.xml etc. and sync with this grammar
+- Add similar changes to those of 2002-11-29 for other component declarations
+  See Bruno email
+  http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=103847911212458
+
+CHANGE HISTORY:
+20010715 V0.1 Initial version of DTD. (RNG)
+20011106 V0.2 Reviewed all */sitemap.xmap and added definitions (DC)
+20011106 V0.2 All elements now have "map:" prefix. (DC)
+20011106 V0.2 Incorporated comments Bruno Dumon cocoon-dev 20010718 (DC)
+20011116 V0.2 Changes from label/view discussion cocoon-dev 20011115 (DC)
+20011219 V0.2 Deprecated 'redirect-to resource'. Added 'map:call resource'(CH)
+20021017 V0.3 Updated so validation works again (CPA)
+20021019 V0.3 Further changes made to cope with all current sitemaps (CPA)
+20021021 V0.4 General simplification by adding parameter entities (CPA)
+20021024 V0.4 RELAX NG grammar generated from sitemap-v04.dtd using DTDinst 
(DC)
+20021025 V0.5 Tightening of grammar rules which was not possible with DTD.
+              Also added datatypes. (CPA)
+20021030 V0.5 Added some missing bits: selector/browser, 
+              label.attr is temporarily string (DC)
+20021029 V0.5 Corrections to allow recent sitemap changes to validate
+              (rules needed loosening considerably to enable this). (CPA)
+20021030 V0.5 Additional checks on element contents. (CPA)
+20021106 V0.5 Map:selector declared to have any content. (CPA)
+20021114 V0.6 Initial set of Schematron rules added. (CPA)
+20021129 V0.6 map:select should be able to have map:parameter children. (BD)
+20021129 V0.6 map:action component declaration should allow any child elements
+              as additional configuration information. The exact contents
+              depends on the implementation of each action, and since users can
+              implement their own actions this content cannot be foreseen. (BD)
+20030212 V0.6 Add TagTransformer contents (VG)
+20030219 V0.6 Add new i18nTransformer contents <catalogues> (DC)
+20030730 V0.6 Added new htmlGenerator contents <catalogues> (NKB)
+
+====================================================================
+-->
+
+
+<!-- =============================================================== -->
+<!-- Common Attributes -->
+<!-- =============================================================== -->
+<!-- CPA: univeral attributes possessed by all elements -->
+<!-- CPA: id is for use by sitebuilder and others, but really it ought to be 
-->
+<!--      of type ID (I'm guessing) -->
+  <define name="universal.attr">
+    <optional>
+      <attribute name="id" >
+        <data type="string" />
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: the default attribute is common, and where it occurs is nearly 
always the same -->
+  <define name="default.attr">
+    <optional>
+      <attribute name="default">
+        <data type="string" /> 
+         <!-- CPA: in fact the default must always match the name attribute
+         of one of it's child elements. We will rely on a schematron schema to 
check
+         this (we cannot use ID/IDREF as there are multiple namespaces
+         e.g. map:generator uses a different namespace to
+         map:transformer) - NO - can't be done due to sitemap
+         inheritance -->
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: the name and src attributes are common, and where they occur
+          are always CDATA, but sometimes optional -->
+  <define name="src.attr">
+    <attribute name="src">
+      <data type="string"/>
+    </attribute>
+  </define>
+  <define name="optsrc.attr">
+    <optional>
+      <attribute name="src">
+      <data type="string"/>
+    </attribute>
+    </optional>
+  </define>
+
+  <define name="name.attr">
+    <attribute name="name">
+      <data type="string"/> <!-- CPA: see comment on default.attr -->
+    </attribute>
+  </define>
+  <define name="optname.attr">
+    <optional>
+    <attribute name="name">
+      <data type="string"/> <!-- CPA: see comment on default.attr -->
+    </attribute>
+    </optional>
+  </define>
+
+  <define name="uri.attr">
+    <attribute name="uri">
+      <data type="string"/>
+    </attribute>
+  </define>
+  <define name="opturi.attr">
+    <optional>
+      <attribute name="uri">
+      <data type="string"/>
+    </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: pool attributes from Excalibur's PoolableComponentHandler -->
+<!--      Defaults are set in cocoon.xconf -->
+  <define name="pool.attr">
+    <optional>
+      <attribute name="pool-max">
+        <data type="positiveInteger" />
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="pool-min">
+        <data type="nonNegativeInteger" />
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="pool-grow">
+        <data type="positiveInteger" />
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: logger attribute - default is set in cocoon.xconf -->
+  <define name="logger.attr">
+    <optional>
+      <attribute name="logger">
+        <data type="string" /> <!-- CPA: a Java class name -->
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: these three only occur together  -->
+<!-- they are used in AggregateNodeBuilder -->
+  <define name="aggregate.attr">
+    <optional>
+      <attribute name="element">
+        <data type="string" />
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="ns">
+        <data type="string" />
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="prefix">
+        <data type="string" />
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: attributes that occur more than once, and are always defined -->
+<!--      in the same way -->
+
+  <define name="value.attr">
+    <attribute name="value"/> 
+    <!-- CPA: I think we cannot restrict the datatype,
+              unless we do it on an element-by-element basis -->
+  </define>
+
+  <define name="mime.attr">
+    <optional>
+      <attribute name="mime-type"> 
+        <!-- restrict further in specific cases -->
+        <data type="string" /> <!-- CPA: tackle this in V0.6 -->
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="label.attr">
+    <optional>
+      <attribute name="label">
+        <data type="string"/> 
+<!-- DC: temporarily changed to "string" to avoid mass of validation errors
+        <data type="NMTOKEN"/> 
+-->
+        <!-- CPA: must match a component name , use schematron to enforce -->
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="type.attr">
+    <optional>
+      <attribute name="type">
+        <data type="string"/>
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: resource is used both in CallNodeBuilder and -->
+<!--      RedirectToNodeBuilder. It has no default -->
+  <define name="resource.attr">
+    <optional>
+      <attribute name="resource">
+        <data type="string" />
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="component.attr">
+    <ref name="label.attr"/>
+    <ref name="logger.attr"/>
+    <ref name="pool.attr"/>
+  </define>
+
+<!-- CPA: now for element contents -->
+
+  <define name="pipe.contents">
+    <zeroOrMore> <!-- CPA: look into this in V0.6 - I think, must use 
schematron -->
+      <choice>
+        <ref name="map.parameter"/>
+        <ref name="map.act"/>
+        <ref name="map.match"/>
+        <ref name="map.select"/>
+        <ref name="map.call"/>
+        <ref name="map.redirect-to"/>
+        <ref name="map.read"/>
+        <ref name="map.aggregate"/>
+        <ref name="map.generate"/>
+        <ref name="map.transform"/>
+        <ref name="map.serialize"/>
+        <ref name="map.mount"/>
+      </choice>
+    </zeroOrMore>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of HtmlGenerator.java -->
+  <define name="htmlGenerator.contents">
+    <optional><ref name="jtidy-config"/></optional>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of TraxTransformer.java -->
+  <define name="traxTransformer.contents">
+    <optional><ref name="use-request-parameters"/></optional>
+    <optional><ref name="use-cookies"/></optional>
+    <optional><ref name="use-browser-capabilities-db"/></optional>
+    <optional><ref name="use-session-info"/></optional>
+    <optional><ref name="use-deli"/></optional>
+    <optional><ref name="xslt-processor-role"/></optional>
+    <optional><ref name="transformer-factory"/></optional> 
+  </define>
+
+<!-- CPA: contents confirmed by inspection of I18nTransformer.java -->
+  <define name="i18nTransformer.contents">
+    <optional><ref name="catalogues"/></optional>
+    <optional><ref name="catalogue-name"/></optional>
+    <optional><ref name="catalogue-location"/></optional>
+    <optional><ref name="untranslated-text"/></optional>
+    <optional><ref name="cache-at-startup"/></optional>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of XSLTProcessorImpl.java -->
+<!--      N.B. these appear in the source as if they were parameter -->
+<!--      tags, so I'm not sure if this is perfectly correct. -->
+  <define name="xsltTransformer.contents">
+    <optional><ref name="use-store"/></optional>
+    <optional><ref name="incremental-processing"/></optional>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of EncodeURLTransformer.java -->
+  <define name="encodeURLTransformer.contents">
+    <optional><ref name="include-name"/></optional>
+    <optional><ref name="exclude-name"/></optional>
+  </define>
+
+  <define name="linkRewriterTransformer.contents">
+    <zeroOrMore>
+      <choice>
+        <element name="link-attrs"><text/></element>
+        <element name="schemes"><text/></element>
+        <element name="exclude-schemes"><text/></element>
+        <element name="bad-link-str"><text/></element>
+        <element name="input-module">
+          <ref name="anyAttribute"/>
+          <zeroOrMore>
+            <ref name="anyElement"/>
+          </zeroOrMore>
+        </element>
+      </choice>
+    </zeroOrMore>
+  </define>
+
+  <define name="IdGeneratorTransformer.contents">
+    <zeroOrMore>
+      <element name="element">
+        <text/>
+      </element>
+      <element name="id">
+        <text/>
+      </element>
+      <optional>
+        <element name="id-attr">
+          <text/>
+        </element>
+      </optional>
+    </zeroOrMore>
+  </define>
+
+<!-- CH: contents confirmed by inspection of Web3RfcTransformer.java -->
+  <define name="web3RfcTransformer.contents">
+    <optional><element name="system"><text/></element></optional>
+  </define>
+
+  <define name="simpleFormExtractTransformer.contents">
+    <optional>
+       <element name="output">
+          <ref name="name.attr"/>
+          <text/>
+       </element>
+    </optional>
+  </define>
+
+<!-- VG: contents of TagTransformer from the scratchpad -->
+  <define name="tagTransformer.contents">
+    <optional>
+       <element name="transformer-hint">
+          <text/>
+       </element>
+    </optional>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of AbstractTextSerializer.java -->
+  <define name="textSerializer.contents">
+    <optional><ref name="cdata-section-elements"/></optional>
+    <optional><ref name="doctype-public"/></optional>
+    <optional><ref name="doctype-system"/></optional>
+    <optional><ref name="encoding"/></optional>
+    <optional><ref name="indent"/></optional>
+    <optional><ref name="media-type"/></optional>
+    <optional><ref name="method"/></optional>
+    <optional><ref name="omit-xml-declaration"/></optional>
+    <optional><ref name="standalone"/></optional>
+    <optional><ref name="version"/></optional>
+  </define>
+
+  <define name="svg2jpegSerializer.contents">
+    <optional>
+       <element name="parameter">
+          <attribute name="name"/>
+          <attribute name="type">
+            <value type="string">float</value>
+          </attribute>
+          <attribute name="value"/>
+       </element>
+    </optional>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Sitemap -->
+<!-- =============================================================== -->
+<!-- CPA: contents are all optional, as they can be inherited from the parent 
sitemap -->
+  <define name="map.sitemap">
+    <element name="map:sitemap" 
xmlns:map="http://apache.org/cocoon/sitemap/1.0"; >
+      <ref name="map.sitemap.attlist"/>
+      <interleave>
+        <optional>
+          <ref name="map.components"/>
+        </optional>
+        <optional>
+          <ref name="map.views"/>
+        </optional>
+        <optional>
+          <ref name="map.resources"/>
+        </optional>
+        <optional>
+          <ref name="map.action-sets"/>
+        </optional>
+        <zeroOrMore>
+          <ref name="map.flow"/>
+        </zeroOrMore>
+        <ref name="map.pipelines"/>
+      </interleave>
+    </element>
+  </define>
+  <define name="map.sitemap.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <empty/>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Components -->
+<!-- =============================================================== -->
+<!-- CPA: map:components are optional, as they can be inherited from the 
parent sitemap -->
+<!-- CPA: Notes on ComponentSelector.java: Flow-Interpreters are not mentioned 
-->
+<!-- CPA: now 0 or 1 of each, in any order -->
+  <define name="map.components">
+    <element name="map:components">
+      <ref name="map.components.attlist"/>
+      <interleave>
+        <optional>
+          <ref name="map.generators"/>
+        </optional>
+        <optional>
+          <ref name="map.transformers"/>
+        </optional>
+        <optional>
+          <ref name="map.readers"/>
+        </optional>
+        <optional>
+          <ref name="map.serializers"/>
+        </optional>
+        <optional>
+          <ref name="map.matchers"/>
+        </optional>
+        <optional>
+          <ref name="map.selectors"/>
+        </optional>
+        <optional>
+          <ref name="map.actions"/>
+        </optional>
+        <optional>
+          <ref name="map.flow-interpreters"/>
+        </optional>
+        <optional>
+          <ref name="map.pipes"/>
+        </optional>
+      </interleave>
+    </element>
+  </define>
+  <define name="map.components.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+<!-- Generators ======================================== -->
+  <define name="map.generators">
+    <element name="map:generators">
+      <ref name="map.generators.attlist"/>
+      <zeroOrMore> 
+        <ref name="map.generator"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.generators.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.generator">
+    <element name="map:generator">
+      <ref name="map.generator.attlist"/>
+      <interleave>
+        <ref name="htmlGenerator.contents"/>
+      </interleave>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.generator.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="jtidy-config">
+    <element name="jtidy-config">
+      <text/>
+    </element>
+  </define>
+
+<!-- Transformers ====================================== -->
+  <define name="map.transformers">
+    <element name="map:transformers">
+      <ref name="map.transformers.attlist"/>
+      <zeroOrMore>
+        <ref name="map.transformer"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.transformers.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+<!-- CPA: Some transformers have children, others take parameter -->
+<!--      children on the map:transform element -->
+<!--      SourceWritingTransformer.java appears to look for a -->
+<!--      serializer child, but there are no examples so I have TODO (V0.6) -->
+<!--      omitted it for now. mapping comes from castor -->
+
+  <define name="map.transformer">
+    <element name="map:transformer">
+      <ref name="map.transformer.attlist"/>
+        <interleave>
+          <ref name="traxTransformer.contents"/>
+          <ref name="xsltTransformer.contents"/>
+          <ref name="i18nTransformer.contents"/>
+          <ref name="encodeURLTransformer.contents"/>
+          <ref name="linkRewriterTransformer.contents"/>
+          <ref name="web3RfcTransformer.contents"/>
+          <ref name="simpleFormExtractTransformer.contents"/>
+          <ref name="tagTransformer.contents"/>
+          <ref name="IdGeneratorTransformer.contents"/>
+          <optional><ref name="mapping"/></optional>
+          <zeroOrMore>
+           <ref name="parameter"/>
+          </zeroOrMore>
+        </interleave>
+    </element>
+  </define>
+  <define name="map.transformer.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="mime.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="use-store">
+  <!-- CPA: from  XSLTProcessorImpl.java -->  
+    <element name="use-store" a:defaultValue="true" >
+      <ref name="use-store.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-store.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-request-parameters">
+  <!-- CPA: from TraxTransformer.java -->
+    <element name="use-request-parameters" a:defaultValue="false">
+      <ref name="use-request-parameters.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>      
+    </element>
+  </define>
+  <define name="use-request-parameters.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-browser-capabilities-db">
+    <element name="use-browser-capabilities-db"  a:defaultValue="false">
+      <ref name="use-browser-capabilities-db.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-browser-capabilities-db.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="catalogues">
+    <element name="catalogues">
+      <ref name="catalogues.attlist"/>
+      <oneOrMore>
+        <ref name="catalogue"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="catalogues.attlist" combine="interleave">
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="catalogue">
+    <element name="catalogue">
+      <ref name="catalogue.attlist"/>
+    </element>
+  </define>
+  <define name="catalogue.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <attribute name="location"/>
+  </define>
+
+  <define name="catalogue-name">
+    <element name="catalogue-name">
+      <ref name="catalogue-name.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="catalogue-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="catalogue-location">
+    <element name="catalogue-location">
+      <ref name="catalogue-location.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="catalogue-location.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-deli">
+  <!-- CPA: this parameter has disappeared from the source TODO: clarify -->
+    <element name="use-deli">
+      <ref name="use-deli.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-deli.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="xslt-processor-role">
+    <element name="xslt-processor-role">
+      <ref name="xslt-processor-role.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="xslt-processor-role.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="cache-at-startup">
+  <!-- CPA: from XMLResourceBundleFactory and I18nTransformer -->
+    <element name="cache-at-startup" a:defaultValue="false">
+      <ref name="cache-at-startup.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="cache-at-startup.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="mapping">
+    <element name="mapping">
+      <ref name="mapping.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="mapping.attlist" combine="interleave">
+    <empty/>
+  </define>
+
+<!-- Readers =========================================== -->
+  <define name="map.readers">
+    <element name="map:readers">
+      <ref name="map.readers.attlist"/>
+      <zeroOrMore>
+        <ref name="map.reader"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.readers.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.reader">
+    <element name="map:reader">
+      <ref name="map.reader.attlist"/>
+      <optional><ref name="database.reader.content"/></optional>
+      <zeroOrMore>
+       <ref name="parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.reader.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="database.reader.content">
+     <!-- FIXME is this complete ? -->
+     <optional><element name="use-connection"><data 
type="string"/></element></optional>
+  </define>
+
+<!-- Serializers ======================================= -->
+  <define name="map.serializers">
+    <element name="map:serializers">
+      <ref name="map.serializers.attlist"/>
+      <zeroOrMore>
+        <ref name="map.serializer"/>
+      </zeroOrMore>
+    </element>
+    <sch:pattern name="Test constraints on map:serialize">
+      <sch:rule context="xmap:serialize">
+       <sch:assert 
test="count(following-sibling::*[not(self::xmap:handle-errors)])=0">
+         map:serialize must be the last element in a pipeline (other than 
map:handle-errors).
+        </sch:assert>
+      </sch:rule>
+    </sch:pattern>
+  </define>
+  <define name="map.serializers.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+<!-- CPA: parameter is used by HSSFSerializer -->
+<!-- CPA: set-content-length is used by iTextSerializer -->
+  <define name="map.serializer">
+    <element name="map:serializer">
+      <ref name="map.serializer.attlist"/>
+      <optional><ref name="textSerializer.contents"/></optional>
+      <optional><ref name="svg2jpegSerializer.contents"/></optional>
+      <optional><ref name="set-content-length"/></optional>
+      <optional><ref name="buffer-size"/></optional>
+      <optional><ref name="user-config"/></optional>
+      <zeroOrMore>
+        <choice>
+          <ref name="parameter"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+<!-- RNG: are these the only children of serializer? -->
+<!-- CPA: No. Added buffer-size for slide and others - don't know -->
+<!--      where it comes from in the source -->
+<!-- CPA: mime-type changed from #REQUIRED to #IMPLIED, because of 
LinkSerializer -->
+  <define name="map.serializer.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="mime.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="cdata-section-elements">
+    <element name="cdata-section-elements">
+      <ref name="cdata-section-elements.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="cdata-section-elements.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="doctype-public">
+    <element name="doctype-public">
+      <ref name="doctype-public.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="doctype-public.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="doctype-system">
+    <element name="doctype-system">
+      <ref name="doctype-system.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="doctype-system.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="encoding">
+    <element name="encoding">
+      <ref name="encoding.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="encoding.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="omit-xml-declaration">
+    <element name="omit-xml-declaration">
+      <ref name="omit-xml-declaration.attlist"/>
+      <choice>
+        <value>yes</value>
+        <value>no</value>
+      </choice>
+    </element>
+  </define>
+  <define name="omit-xml-declaration.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="parameter">
+    <element name="parameter">
+      <ref name="parameter.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="parameter.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="value.attr"/>
+    <ref name="type.attr"/>
+  </define>
+
+  <define name="map.parameter">
+    <element name="map:parameter">
+      <ref name="map.parameter.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.parameter.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="value.attr"/>
+  </define>
+
+  <define name="buffer-size">
+    <element name="buffer-size">
+      <ref name="buffer-size.attlist"/>
+      <data type="positiveInteger" />
+    </element>
+  </define>
+  <define name="buffer-size.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="user-config">
+    <element name="user-config">
+      <ref name="user-config.attlist"/>
+    </element>
+  </define>
+  <define name="user-config.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="src.attr"/>
+  </define>
+
+<!-- Selectors ========================================= -->
+  <define name="map.selectors">
+    <element name="map:selectors">
+      <ref name="map.selectors.attlist"/>
+      <zeroOrMore>
+        <ref name="map.selector"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.selectors.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.selector">
+    <element name="map:selector">
+      <ref name="map.selector.attlist"/>
+      <zeroOrMore>
+        <ref name="anyElement"/>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="map.selector.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+<!-- CPA: elements currently used by map:selector s -->
+  <define name="browser">
+    <element name="browser">
+      <ref name="browser.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="browser.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <attribute name="useragent"/>
+  </define>
+
+  <define name="host">
+    <element name="host">
+      <ref name="host.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="host.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="value.attr"/>
+  </define>
+
+  <define name="cookie-name">
+    <element name="cookie-name">
+      <ref name="cookie-name.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="cookie-name.attlist" combine="interleave">
+    <empty/>
+  </define>
+
+<define name="anyElement">
+  <element>
+    <anyName/>
+    <zeroOrMore>
+      <choice>
+        <attribute>
+         <anyName/>
+       </attribute>
+        <text/>
+        <ref name="anyElement"/>
+      </choice>
+    </zeroOrMore>
+  </element>
+</define>
+
+  <define name="anyAttribute">
+    <zeroOrMore>
+      <attribute>
+        <anyName/>
+      </attribute>
+    </zeroOrMore>
+  </define>
+
+<!-- Matchers ========================================== -->
+  <define name="map.matchers">
+    <element name="map:matchers">
+      <ref name="map.matchers.attlist"/>
+      <zeroOrMore>
+        <ref name="map.matcher"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.matchers.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.matcher">
+    <element name="map:matcher">
+      <ref name="map.matcher.attlist"/>
+      <zeroOrMore>
+        <choice>
+          <ref name="attribute-name"/>
+          <ref name="parameter-name"/>
+          <ref name="header-name"/>
+          <ref name="input-module"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.matcher.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="attribute-name">
+    <element name="attribute-name">
+      <ref name="attribute-name.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="attribute-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="parameter-name">
+    <element name="parameter-name">
+      <ref name="parameter-name.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="parameter-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="header-name">
+    <element name="header-name">
+      <ref name="header-name.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="header-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="input-module">
+    <element name="input-module">
+      <ref name="input-module.attlist"/>
+      <zeroOrMore><ref name="anyElement"/></zeroOrMore>
+    </element>
+  </define>
+  <define name="input-module.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+  </define>
+
+<!-- Actions =========================================== -->
+  <define name="map.actions">
+    <element name="map:actions">
+      <ref name="map.actions.attlist"/>
+      <zeroOrMore>
+        <ref name="map.action"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.actions.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.action">
+    <element name="map:action">
+      <ref name="map.action.attlist"/>
+      <zeroOrMore>
+        <ref name="anyElement"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.action.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+<!-- Pipes ======================================== -->
+  <define name="map.pipes">
+    <element name="map:pipes">
+      <ref name="map.pipes.attlist"/>
+      <zeroOrMore> 
+        <ref name="map.pipe"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.pipes.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.pipe">
+    <element name="map:pipe">
+      <ref name="map.pipe.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.pipe.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+    <optional>
+       <ref name="autoCachingPoint"/>
+     </optional>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Views -->
+<!-- =============================================================== -->
+  <define name="map.views">
+    <element name="map:views">
+      <ref name="map.views.attlist"/>
+      <zeroOrMore>
+        <ref name="map.view"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.views.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="map.view">
+    <element name="map:view">
+      <ref name="map.view.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.view.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <optional>
+      <attribute name="from-label"/>
+    </optional>
+    <optional>
+      <attribute name="from-position" a:defaultValue="last">
+        <choice>
+          <value>first</value>
+          <value>last</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="map.serialize">
+    <element name="map:serialize">
+      <ref name="map.serialize.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+      <optional>
+        <ref name="encoding"/>
+      </optional>
+    </element>
+  </define>
+  <define name="map.serialize.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <ref name="mime.attr"/>
+    <ref name="label.attr"/>
+    <optional>
+      <attribute name="status-code"/>
+    </optional>
+    <ref name="optsrc.attr"/>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Resources -->
+<!-- =============================================================== -->
+  <define name="map.resources">
+    <element name="map:resources">
+      <ref name="map.resources.attlist"/>
+      <zeroOrMore>
+        <ref name="map.resource"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.resources.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="map.resource">
+    <element name="map:resource">
+      <ref name="map.resource.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.resource.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Action Sets -->
+<!-- =============================================================== -->
+  <define name="map.action-sets">
+    <element name="map:action-sets">
+      <ref name="map.action-sets.attlist"/>
+      <zeroOrMore>
+        <ref name="map.action-set"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.action-sets.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="map.action-set">
+    <element name="map:action-set">
+      <ref name="map.action-set.attlist"/>
+      <oneOrMore>
+        <ref name="map.act"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="map.action-set.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+  </define>
+
+  <define name="map.act">
+    <element name="map:act">
+      <ref name="map.act.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.act.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <optional>
+      <attribute name="action"/>
+    </optional>
+    <optional>
+      <attribute name="set"/>
+    </optional>
+    <ref name="optsrc.attr"/>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Pipelines -->
+<!-- =============================================================== -->
+
+  <define name="map.pipelines">
+    <element name="map:pipelines">
+      <ref name="map.pipelines.attlist"/>
+      <optional>
+        <ref name="map.component-configurations"/>
+      </optional>
+      <zeroOrMore>
+        <ref name="map.pipeline"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.pipelines.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.pipeline">
+    <element name="map:pipeline">
+      <ref name="map.pipeline.attlist"/>
+      <optional>
+        <ref name="pipe.contents"/>
+        <zeroOrMore>
+          <ref name="map.handle-errors"/>
+        </zeroOrMore>
+      </optional>
+
+      <!-- Schematron rules for map:pipeline follow -->
+
+      <sch:pattern name="Test constraints on map:pipeline">
+        <sch:rule context="/xmap:sitemap/xmap:pipelines/xmap:pipeline">
+          <sch:assert test="(@src and @name) 
+                             or 
.//xmap:generate[not(ancestor::xmap:handle-errors)]
+                             or 
.//xmap:aggregate[not(ancestor::xmap:handle-errors)]
+                             or .//xmap:read[not(ancestor::xmap:handle-errors)]
+                             or 
.//xmap:mount[not(ancestor::xmap:handle-errors)]
+                             or 
.//xmap:redirect-to[not(ancestor::xmap:handle-errors)]
+                             or 
.//xmap:call[not(ancestor::xmap:handle-errors)]">
+            Pipeline with no 
map:generate|aggregate|act|mount|redirect-to|call, or src and name attributes, 
is illegal
+          </sch:assert>
+          <sch:assert 
test="not(.//*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                               and (local-name()='generate' or 
local-name()='aggregate' or local-name()='transform')
+                               and not(ancestor::xmap:handle-errors)])
+                            or 
.//*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                               and (local-name()='generate' or 
local-name()='aggregate' or local-name()='transform')
+                               and not(ancestor::xmap:handle-errors)]
+                                       
[following::*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                                                           and 
(local-name()='serialize' or local-name()='call')
+                                                           and 
not(ancestor::xmap:handle-errors)
+                                                    
]/ancestor::xmap:pipeline[. = current()]
+                                       ]">
+            Pipeline with map:generate|aggregate|transform must have 
map:serialize or map:call
+          </sch:assert>
+        </sch:rule>
+
+        <sch:rule 
context="/xmap:sitemap/xmap:pipelines/xmap:pipeline//*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                               and (local-name()='serialize' or 
local-name()='mount'  or local-name()='read'  
+                                    or local-name()='redirect-to' or 
local-name()='call') ]">
+          <sch:assert 
test="count(following-sibling::*[namespace-uri()=namespace-uri(/xmap:sitemap) 
+                   and local-name() != 'handle-errors'])=0">
+            Pipeline with component after 
map:serialize|read|mount|redirect-to|call is illegal 
+          </sch:assert>
+        </sch:rule>
+      </sch:pattern>
+    </element>
+  </define>
+  <define name="map.pipeline.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <optional>
+      <attribute name="internal-only"/>
+    </optional>
+    <ref name="optname.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="type.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="map.match">
+    <element name="map:match">
+      <ref name="map.match.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+<!-- RNG: It seemed from the example that match should be defined as
+  match 
(map:mount*|map:redirect-to*|(map:generate*,map:transform*,map:serialize*)*|map:read*|map:aggregate*)
+  but I have no way of knowing. -->
+<!-- DC: Now map:act complicates the content model even further -->
+  <define name="map.match.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <attribute name="pattern"/>
+  </define>
+
+  <define name="map.select">
+    <element name="map:select">
+      <ref name="map.select.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+      <zeroOrMore>
+        <ref name="map.when"/>
+      </zeroOrMore>
+      <optional>
+        <ref name="map.otherwise"/>
+      </optional>
+    </element>
+      <sch:pattern name="Test constraints on map:match and map:select">
+        <sch:rule context="xmap:match|xmap:when|xmap:otherwise[*]">
+          <sch:assert test="*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                                 and (local-name()='generate' or 
local-name()='transform'
+                                   or local-name()='serialize' or 
local-name()='aggregate'
+                                   or local-name()='read' or 
local-name()='redirect-to'
+                                   or local-name()='act' or 
local-name()='match' or local-name()='select' 
+                                   or local-name()='mount' or 
local-name()='call')
+                     ]">
+            map:match|select without direct components, or 
map:mount|redirect-to|call|act|match|select is illegal
+          </sch:assert>
+        </sch:rule>
+      </sch:pattern>
+  </define>
+  <define name="map.select.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+  </define>
+
+  <define name="map.when">
+    <element name="map:when">
+      <ref name="map.when.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.when.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="test"/>
+  </define>
+
+  <define name="map.otherwise">
+    <element name="map:otherwise">
+      <ref name="map.otherwise.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.otherwise.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="autoCachingPoint">
+    <element name="autoCachingPoint">
+      <ref name="autoCachingPoint.attlist"/>
+      <choice>
+        <value>on</value>
+        <value>On</value>
+        <value>off</value>
+        <value>Off</value>
+      </choice>
+    </element>
+  </define>
+  <define name="autoCachingPoint.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="map.mount">
+    <element name="map:mount">
+      <ref name="map.mount.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.mount.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="uri-prefix"/>
+    <ref name="src.attr"/>
+    <optional>
+      <attribute name="reload-method" a:defaultValue="asynchron">
+        <choice>
+          <value>synchron</value>
+          <value>asynchron</value>
+        </choice>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="check-reload" a:defaultValue="no">
+        <choice>
+          <value>true</value>
+          <value>false</value>
+          <value>yes</value>
+          <value>no</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="map.redirect-to">
+    <element name="map:redirect-to">
+      <ref name="map.redirect-to.attlist"/>
+      <empty/>
+    </element>
+  </define>
+<!-- CH: redirects to resources are now deprecated -->
+<!-- CPA: attributes confirmed by inspection of RedirectToNodeBuilder -->
+  <define name="map.redirect-to.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="opturi.attr"/>
+    <ref name="resource.attr"/>
+    <optional>
+      <attribute name="target"/>
+    </optional>
+    <optional>
+      <attribute name="session" a:defaultValue="no">
+        <choice>
+          <value>true</value>
+          <value>false</value>
+          <value>yes</value>
+          <value>no</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="map.call">
+    <element name="map:call">
+      <ref name="map.call.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="map.call.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+      <ref name="resource.attr"/>
+      <optional><attribute name="function"/></optional>
+      <optional><attribute name="continuation"/></optional>
+  </define>
+
+  <define name="map.generate">
+    <element name="map:generate">
+      <ref name="map.generate.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.generate.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="label.attr"/>
+  </define>
+
+  <define name="map.transform">
+    <element name="map:transform">
+      <ref name="map.transform.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.transform.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="label.attr"/>
+  </define>
+
+  <define name="map.read">
+    <element name="map:read">
+      <ref name="map.read.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.read.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="mime.attr"/>
+    <ref name="type.attr"/>
+  </define>
+
+  <define name="map.aggregate">
+    <element name="map:aggregate">
+      <ref name="map.aggregate.attlist"/>
+      <zeroOrMore>
+        <ref name="map.part"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.aggregate.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="aggregate.attr"/>
+    <ref name="label.attr"/>
+  </define>
+
+  <define name="map.part">
+    <element name="map:part">
+      <ref name="map.part.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.part.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="label.attr"/>
+    <ref name="aggregate.attr"/>
+    <optional>
+      <attribute name="strip-root"/>
+    </optional>
+  </define>
+
+  <define name="map.handle-errors">
+    <element name="map:handle-errors">
+      <ref name="map.handle-errors.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+      <sch:pattern name="Test constraints on map:handle-errors">
+        <sch:rule context="xmap:handle-errors">
+          <sch:assert test="not(*[namespace-uri()=namespace-uri(/xmap:sitemap) 
+                   and (local-name()='generate' or local-name()='mount')])">
+            Error handler can't have: map:generate or map:mount.
+          </sch:assert>
+          <sch:assert test="*[namespace-uri()=namespace-uri(/xmap:sitemap) 
+                   and (local-name()='serialize' or local-name()='call')]">
+            Error handler must have map:serialize or map:call.
+          </sch:assert>
+        </sch:rule>
+        <sch:rule context="xmap:handle-errors//xmap:serialize">
+          <sch:assert 
test="not(following-sibling::*[namespace-uri()=namespace-uri(/xmap:sitemap)])">
+            Error handler can not have any components after map:serialize
+          </sch:assert>
+        </sch:rule>
+      </sch:pattern>
+  </define>
+
+  <define name="map.handle-errors.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+  </define>
+
+  <define name="map.component-configurations">
+    <element name="map:component-configurations">
+      <ref name="map.component-configurations.attlist"/>
+      <optional>
+        <ref name="global-variables"/>
+      </optional>
+      <optional>
+        <ref name="authentication-manager"/>
+      </optional>
+    </element>
+  </define>
+  <define name="map.component-configurations.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+<!-- CPA: global-variables needs contents TODO -->
+  <define name="global-variables">
+    <element name="global-variables">
+      <ref name="global-variables.attlist"/>
+      <text/> <!-- CPA: can't find anywhere in source -->
+    </element>
+  </define>
+  <define name="global-variables.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="authentication-manager">
+    <element name="authentication-manager">
+      <ref name="authentication-manager.attlist"/>
+      <ref name="handlers"/>
+    </element>
+  </define>
+  <define name="authentication-manager.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="handlers">
+    <element name="handlers">
+      <ref name="handlers.attlist"/>
+      <oneOrMore>
+        <ref name="handler"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="handlers.attlist" combine="interleave">
+    <empty/>
+  </define>
+
+  <define name="handler">
+    <element name="handler">
+      <ref name="handler.attlist"/>
+      <ref name="redirect-to"/>
+      <ref name="authentication"/>
+      <optional>
+        <ref name="applications"/>
+      </optional>
+    </element>
+  </define>
+  <define name="handler.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <empty/>
+  </define>
+
+  <define name="redirect-to">
+    <element name="redirect-to">
+      <ref name="redirect-to.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="redirect-to.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="authentication">
+    <element name="authentication">
+      <ref name="authentication.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="authentication.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="applications">
+    <element name="applications">
+      <ref name="applications.attlist"/>
+      <oneOrMore>
+        <ref name="application"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="applications.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="application">
+    <element name="application">
+      <ref name="application.attlist"/>
+      <oneOrMore>
+        <ref name="configuration"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="application.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="loadondemand"/>
+    <ref name="name.attr"/>
+  </define>
+
+  <define name="configuration">
+    <element name="configuration">
+      <ref name="configuration.attlist"/>
+      <zeroOrMore> <!-- CPA: not sure - maybe interleave optionals? TODO -->
+        <choice>
+          <ref name="auth-redirect"/>
+          <ref name="portal-uri"/>
+          <ref name="profile-cache"/>
+          <ref name="default-coplet-timeout"/>
+          <ref name="profile"/>
+          <ref name="load-users"/>
+          <ref name="load-roles"/>
+          <ref name="new-user"/>
+          <ref name="new-role"/>
+          <ref name="change-user"/>
+          <ref name="delete-role"/>
+          <ref name="delete-user"/>
+          <ref name="process-coplets-parallel"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="configuration.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+  </define>
+
+  <define name="auth-redirect">
+    <element name="auth-redirect">
+      <ref name="auth-redirect.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="auth-redirect.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="portal-uri">
+    <element name="portal-uri">
+      <ref name="portal-uri.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="portal-uri.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="profile-cache">
+    <element name="profile-cache">
+      <ref name="profile-cache.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="profile-cache.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="default-coplet-timeout">
+    <element name="default-coplet-timeout">
+      <ref name="default-coplet-timeout.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="default-coplet-timeout.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="process-coplets-parallel">
+    <element name="process-coplets-parallel">
+      <ref name="process-coplets-parallel.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="process-coplets-parallel.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="profile">
+    <element name="profile">
+      <ref name="profile.attlist"/>
+      <ref name="layout-base"/>
+      <ref name="coplet-base"/>
+      <ref name="coplet-base-save"/>
+      <ref name="type-base"/>
+      <ref name="admin-type-base"/>
+      <ref name="global-delta-load"/>
+      <ref name="global-delta-save"/>
+      <ref name="role-delta-load"/>
+      <ref name="role-delta-save"/>
+      <ref name="user-delta-load"/>
+      <ref name="user-delta-save"/>
+      <ref name="user-status-load"/>
+      <ref name="user-status-save"/>
+    </element>
+  </define>
+  <define name="profile.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="layout-base">
+    <element name="layout-base">
+      <ref name="layout-base.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="layout-base.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="coplet-base">
+    <element name="coplet-base">
+      <ref name="coplet-base.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="coplet-base.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="coplet-base-save">
+    <element name="coplet-base-save">
+      <ref name="coplet-base-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="coplet-base-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="type-base">
+    <element name="type-base">
+      <ref name="type-base.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="type-base.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="admin-type-base">
+    <element name="admin-type-base">
+      <ref name="admin-type-base.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="admin-type-base.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="global-delta-load">
+    <element name="global-delta-load">
+      <ref name="global-delta-load.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="global-delta-load.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="global-delta-save">
+    <element name="global-delta-save">
+      <ref name="global-delta-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="global-delta-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="role-delta-load">
+    <element name="role-delta-load">
+      <ref name="role-delta-load.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="role-delta-load.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="role-delta-save">
+    <element name="role-delta-save">
+      <ref name="role-delta-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="role-delta-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="user-delta-load">
+    <element name="user-delta-load">
+      <ref name="user-delta-load.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="user-delta-load.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="user-delta-save">
+    <element name="user-delta-save">
+      <ref name="user-delta-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="user-delta-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="user-status-load">
+    <element name="user-status-load">
+      <ref name="user-status-load.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="user-status-load.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="user-status-save">
+    <element name="user-status-save">
+      <ref name="user-status-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="user-status-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="load-users">
+    <element name="load-users">
+      <ref name="load-users.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="load-users.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+  <define name="load-roles">
+    <element name="load-roles">
+      <ref name="load-roles.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="load-roles.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="new-user">
+    <element name="new-user">
+      <ref name="new-user.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="new-user.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="new-role">
+    <element name="new-role">
+      <ref name="new-role.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="new-role.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="change-user">
+    <element name="change-user">
+      <ref name="change-user.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="change-user.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="delete-user">
+    <element name="delete-user">
+      <ref name="delete-user.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="delete-user.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="delete-role">
+    <element name="delete-role">
+      <ref name="delete-role.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="delete-role.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="map.flow-interpreters">
+    <element name="map:flow-interpreters">
+      <ref name="map.flow-interpreters.attlist"/>
+      <empty/>
+<!-- CPA: presumably it should NOT be empty for non-default usage, so this -->
+<!--      needs correcting, but I cannot find source code that clarifies -->
+    </element>
+  </define>
+  <define name="map.flow-interpreters.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="default"/>
+  </define>
+
+  <define name="map.flow">
+    <element name="map:flow">
+      <ref name="map.flow.attlist"/>
+      <ref name="map.script"/>
+    </element>
+  </define>
+  <define name="map.flow.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="language"/>
+  </define>
+
+  <define name="map.script">
+    <element name="map:script">
+      <ref name="map.script.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.script.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="src.attr"/>
+  </define>
+
+  <define name="include-name">
+    <element name="include-name">
+      <ref name="include-name.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="include-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="exclude-name">
+    <element name="exclude-name">
+      <ref name="exclude-name.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="exclude-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="method">
+    <element name="method">
+      <ref name="method.attlist"/>
+      <data type="string" /> 
+      <!-- CPA: should be xml, or html, or text or an expanded name -->
+    </element>
+  </define>
+  <define name="method.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-cookies">
+    <element name="use-cookies" a:defaultValue="false" >
+      <ref name="use-cookies.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-cookies.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="untranslated-text">
+    <element name="untranslated-text">
+      <ref name="untranslated-text.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="untranslated-text.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="media-type">
+    <element name="media-type">
+      <ref name="media-type.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="media-type.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="version">
+    <element name="version">
+      <ref name="version.attlist"/>
+      <data type="NMTOKEN" /> <!-- CPA: but actually a floating point version 
number -->
+    </element>
+  </define>
+  <define name="version.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="transformer-factory">
+    <element name="transformer-factory" a:defaultValue="default">
+      <ref name="transformer-factory.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="transformer-factory.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-session-info">
+    <element name="use-session-info"  a:defaultValue="false" >
+      <ref name="use-session-info.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-session-info.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="incremental-processing">
+  <!-- CPA: from  XSLTProcessorImpl.java -->  
+    <element name="incremental-processing" a:defaultValue="false" >
+      <ref name="incremental-processing.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="incremental-processing.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="indent">
+    <element name="indent">
+      <ref name="indent.attlist"/>
+      <choice>
+        <value>yes</value>
+        <value>no</value>
+      </choice>
+    </element>
+  </define>
+  <define name="indent.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="set-content-length">
+    <element name="set-content-length">
+      <ref name="set-content-length.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="set-content-length.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="standalone">
+    <element name="standalone">
+      <ref name="standalone.attlist"/>
+      <choice>
+        <value>yes</value>
+        <value>no</value>
+      </choice>
+    </element>
+  </define>
+  <define name="standalone.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+
+  <start>
+    <ref name="map.sitemap"/>
+  </start>
+</grammar>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/skinconf.rnc
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/skinconf.rnc
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,58 @@
+
+# Skin configuration file. This file contains details of your project, which
+# will be used to configure the chosen Forrest skin.
+
+start      = skinconfig
+
+skinconfig = element skinconfig {
+            (
+            element disable-search {xsd:boolean}?,   # Disable search feature. 
'true' or 'false'
+            element disable-print-link{xsd:boolean}?,   # Disable print link 
feature. 'true' or 'false'
+            element disable-pdf-link{xsd:boolean}?,   # Disable print link 
feature. 'true' or 'false'
+            element disable-xml-link{xsd:boolean}?,   # Disable print link 
feature. 'true' or 'false'
+            element disable-compliance-links {xsd:boolean}?,   # Disable 
standards-compliance logos
+            element obfuscate-mail-links {xsd:boolean}?,   # Render mailto: 
links unrecognisable by spam harvesters
+            element searchsite-domain {text}?,       # DNS domain to search. 
Eg 'xml.apache.org'
+            element searchsite-name {text}?,         # "Search the ... site"
+            element project-name {text},             # Eg 'Forrest'
+            element project-description {text}?,      # Eg 'XML 
standards-oriented project documentation framework'
+            element project-url {xsd:anyURI},    
+            element project-logo {text},             # Eg 
'images/project-logo.gif'
+            element group-name {text}?,              # Group/Organization 
owning project, eg 'Apache XML'
+            element group-description {text}?,       # 
+            element group-url {xsd:anyURI}?,
+            element group-logo {text}?,              # Eg images/group-logo.gif
+            element host-url {xsd:anyURI}?,          # Eg Sourceforge URL
+            element host-logo {text}?,
+            element year {text}?,                    # Used in Copyright
+            element vendor {text}?,                  # Used in Copyright
+            trail?,                                  # 'Breadcrumbs' trail in 
skins that support it
+            element toc {(attribute level {text})}?, # toc generation
+            credits?
+            )*
+           }
+
+trail   =  element trail {
+             element link1 { link_attrs },
+             element link2 { link_attrs },
+             element link3 { link_attrs }
+           }
+
+link_attrs = (attribute name {text}, attribute href {text}?)  # Leave these 
attributes blank if you don't want a trail
+
+
+## Credits are typically rendered as a set of small clickable images in the
+## page footer 
+credits = element credits { credit* }
+credit  = element credit {
+## Unique identifier, in case the skin has some special rendering for it
+            attribute id {text}?,
+## Role played by this creditee, eg 'pdf' for PDF generation
+                       attribute role {text}?,
+            element name {text},             # Eg 'Built with Apache Forrest'
+            element url {text},
+            element image {xsd:anyURI}?,     # Eg 
'images/built-with-forrest-button.png'
+            element width {xsd:nonNegativeInteger}?,
+            element height {xsd:nonNegativeInteger}?
+          }
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/any.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/any.rng
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+A RELAX NG schema that matches the (ANY) content type. Useful for prototyping,
+where you don't (yet) care what an element contains. Include it in another RNG
+schema with this line:
+
+<include href="any.rng"/>
+
+Taken from an email to XML-DEV by John Cowan, Subject "Re: [xml-dev] Quick
+RelaxNG question"
+
+$Revision: 1.1 $ $Date: 2002/11/07 06:37:02 $
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"; 
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";>
+  <start>
+    <element>
+      <anyName/>
+      <ref name="ANY"/>
+    </element>
+  </start>
+  <define name="ANY">
+    <interleave>
+      <zeroOrMore>
+        <attribute>
+          <anyName/>
+          <text/>
+        </attribute>
+      </zeroOrMore>
+      <zeroOrMore>
+        <element>
+          <anyName/>
+          <ref name="ANY"/>
+        </element>
+      </zeroOrMore>
+      <text/>
+    </interleave>
+  </define>
+</grammar>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/any.rnx
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/any.rnx
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,18 @@
+# A RELAX NG schema that matches any XML. Useful for prototyping, where you
+# don't (yet) care what an element contains. Include it in another RNG schema
+# with this line:
+# 
+# <include href="any.rng"/>  (.rng syntax)
+# or: 
+# include "any.rnx"          (.rnx syntax)
+# 
+# Taken from an email to XML-DEV by John Cowan, Subject "Re: [xml-dev] Quick
+# RelaxNG question"
+# 
+# $Revision: 1.1 $ $Date: 2002/11/07 06:37:02 $
+# Jeff Turner <[EMAIL PROTECTED]>
+
+# start = element * { any }
+
+any = attribute * { text }* |
+      element * { any }*

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/forrestbot.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/forrestbot.rng
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"; 
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";>
+  <include href="any.rng"/>
+
+  <start>
+    <ref name="forrest-config"/>
+  </start>
+
+
+  <define name="forrest-config">
+    <element name="forrest-config">
+      <ref name="defaults"/>
+    </element>
+  </define>
+
+
+  <define name="defaults">
+    <element name="defaults">
+      <zeroOrMore>
+        <element>
+          <anyName/>
+          <optional>
+            <attribute name="type"/>
+          </optional>
+          <zeroOrMore>
+            <element>
+              <anyName/>
+              <ref name="ANY"/>
+            </element>
+          </zeroOrMore>
+        </element>
+      </zeroOrMore>
+      <!--
+      <ref name="ANY"/>
+      -->
+    </element>
+  </define>
+
+</grammar>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/forrestbot.rnx
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/unstable/forrestbot.rnx
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,19 @@
+# $Revision: 1.1 $ $Date: 2002/11/07 06:37:02 $
+# Jeff Turner <[EMAIL PROTECTED]>
+
+datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes";
+
+include "any.rnx"
+
+start =             forrest-config
+forrest-config =    element forrest-config {
+                      defaults,
+                      any
+                    }
+
+defaults =          element defaults {
+                      element * {
+                        attribute type {text}?,
+                        element * { any }*
+                      }*
+                    }

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/xslt.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/relaxng/xslt.rng
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,897 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Id: xslt.rng,v 1.9 2002/05/23 09:39:03 jjc Exp $ -->
+<!-- http://www.thaiopensource.com/relaxng/xslt.rng -->
+<!-- This was mostly generated from the syntax summary in the XSLT
+     Recommendation (using XSLT of course). -->
+<!-- Issues: this validates extension elements as literal result
+     elements, which is overly restrictive. -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0";
+         ns="http://www.w3.org/1999/XSL/Transform";
+         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";>
+   <start>
+      <choice>
+         <ref name="stylesheet.element"/>
+         <ref name="transform.element"/>
+         <ref name="literal-result-element-as-stylesheet"/>
+      </choice>
+   </start>
+   <define name="version">
+      <value>1.0</value>
+   </define>
+   <define name="top-level-elements.model">
+      <zeroOrMore>
+         <choice>
+            <ref name="top-level-element.category"/>
+            <ref name="top-level-extension"/>
+         </choice>
+      </zeroOrMore>
+   </define>
+   <define name="top-level-extension">
+      <element>
+         <anyName>
+            <except>
+               <nsName/>
+               <nsName ns=""/>
+            </except>
+         </anyName>
+         <grammar>
+            <start>
+              <ref name="any"/>
+            </start>
+            <define name="any">
+              <zeroOrMore>
+                 <choice>
+                    <attribute>
+                       <anyName/>
+                    </attribute>
+                    <text/>
+                    <element>
+                       <anyName/>
+                       <ref name="any"/>
+                    </element>
+                 </choice>
+              </zeroOrMore>
+            </define>
+         </grammar>
+      </element>
+   </define>
+   <define name="template.model">
+      <zeroOrMore>
+         <choice>
+            <ref name="instruction.category"/>
+            <ref name="literal-result-element"/>
+            <text/>
+         </choice>
+      </zeroOrMore>
+   </define>
+   <define name="literal-result-element-as-stylesheet">
+      <element>
+         <anyName>
+            <except>
+               <nsName/>
+            </except>
+         </anyName>
+         <attribute>
+            <name>version</name>
+            <ref name="version"/>
+         </attribute>
+         <ref name="literal-result-element-no-version.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="literal-result-element">
+      <element>
+         <anyName>
+            <except>
+               <nsName/>
+            </except>
+         </anyName>
+         <ref name="literal-result-element.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="literal-result-element.atts">
+      <ref name="literal-result-element-no-version.atts"/>
+      <optional>
+        <attribute>
+           <name>version</name>
+           <ref name="version"/>
+        </attribute>
+      </optional>
+   </define>
+   <define name="literal-result-element-no-version.atts">
+      <zeroOrMore>
+         <choice>
+            <attribute>
+              <anyName>
+                 <except>
+                    <nsName/>
+                 </except>
+              </anyName>
+               <ref name="avt.datatype"/>
+            </attribute>
+            <attribute>
+               <name>extension-element-prefixes</name>
+               <ref name="prefixes.datatype"/>
+           </attribute>
+            <attribute>
+               <name>exclude-result-prefixes</name>
+               <ref name="prefixes.datatype"/>
+           </attribute>
+            <attribute>
+               <name>use-attribute-sets</name>
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </choice>
+      </zeroOrMore>
+   </define>
+   <define name="top-level-element.category">
+      <choice>
+         <ref name="include.element"/>
+         <ref name="strip-space.element"/>
+         <ref name="preserve-space.element"/>
+         <ref name="template.element"/>
+         <ref name="namespace-alias.element"/>
+         <ref name="attribute-set.element"/>
+         <ref name="variable.element"/>
+         <ref name="param.element"/>
+         <ref name="key.element"/>
+         <ref name="decimal-format.element"/>
+         <ref name="output.element"/>
+      </choice>
+   </define>
+   <define name="instruction.category">
+      <choice>
+         <ref name="apply-templates.element"/>
+         <ref name="apply-imports.element"/>
+         <ref name="call-template.element"/>
+         <ref name="element.element"/>
+         <ref name="attribute.element"/>
+         <ref name="text.element"/>
+         <ref name="processing-instruction.element"/>
+         <ref name="comment.element"/>
+         <ref name="copy.element"/>
+         <ref name="value-of.element"/>
+         <ref name="number.element"/>
+         <ref name="for-each.element"/>
+         <ref name="if.element"/>
+         <ref name="choose.element"/>
+         <ref name="variable.element"/>
+         <ref name="copy-of.element"/>
+         <ref name="message.element"/>
+         <ref name="fallback.element"/>
+      </choice>
+   </define>
+   <define name="extension.atts">
+      <zeroOrMore>
+         <attribute>
+            <anyName>
+               <except>
+                  <nsName/>
+                  <nsName ns=""/>
+               </except>
+            </anyName>
+         </attribute>
+      </zeroOrMore>
+   </define>
+   <define name="stylesheet.element">
+      <element name="stylesheet">
+         <ref name="stylesheet.model"/>
+      </element>
+   </define>
+   <define name="transform.element">
+      <element name="transform">
+         <ref name="stylesheet.model"/>
+      </element>
+   </define>
+   <define name="stylesheet.model">
+      <ref name="extension.atts"/>
+      <optional>
+        <attribute name="id">
+           <data type="NCName"/>
+        </attribute>
+      </optional>
+      <optional>
+        <attribute name="extension-element-prefixes">
+            <ref name="prefixes.datatype"/>
+        </attribute>
+      </optional>
+      <optional>
+        <attribute name="exclude-result-prefixes">
+            <ref name="prefixes.datatype"/>
+        </attribute>
+      </optional>
+      <attribute name="version">
+        <ref name="version"/>
+      </attribute>
+      <group>
+        <zeroOrMore>
+           <ref name="import.element"/>
+        </zeroOrMore>
+        <ref name="top-level-elements.model"/>
+      </group>
+   </define>
+   <define name="include.element">
+      <element name="include">
+         <ref name="extension.atts"/>
+         <attribute name="href">
+            <data type="anyURI"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="import.element">
+      <element name="import">
+         <ref name="extension.atts"/>
+         <attribute name="href">
+            <data type="anyURI"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="strip-space.element">
+      <element name="strip-space">
+         <ref name="extension.atts"/>
+         <attribute name="elements">
+            <ref name="wildcards.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="preserve-space.element">
+      <element name="preserve-space">
+         <ref name="extension.atts"/>
+         <attribute name="elements">
+            <ref name="wildcards.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="template.element">
+      <element name="template">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="match">
+               <ref name="pattern.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="name">
+               <ref name="qname.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="priority">
+               <ref name="number.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="mode">
+               <ref name="qname.datatype"/>
+            </attribute>
+         </optional>
+         <group>
+            <zeroOrMore>
+               <ref name="param.element"/>
+            </zeroOrMore>
+            <ref name="template.model"/>
+         </group>
+      </element>
+   </define>
+   <define name="apply-templates.element">
+      <element name="apply-templates">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="mode">
+               <ref name="qname.datatype"/>
+            </attribute>
+         </optional>
+         <zeroOrMore>
+            <choice>
+               <ref name="sort.element"/>
+               <ref name="with-param.element"/>
+            </choice>
+         </zeroOrMore>
+      </element>
+   </define>
+   <define name="apply-imports.element">
+      <element name="apply-imports">
+         <ref name="extension.atts"/>
+      </element>
+   </define>
+   <define name="call-template.element">
+      <element name="call-template">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <zeroOrMore>
+            <ref name="with-param.element"/>
+         </zeroOrMore>
+      </element>
+   </define>
+   <define name="namespace-alias.element">
+      <element name="namespace-alias">
+         <ref name="extension.atts"/>
+         <attribute name="stylesheet-prefix">
+            <ref name="prefix.datatype"/>
+         </attribute>
+         <attribute name="result-prefix">
+            <ref name="prefix.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="element.element">
+      <element name="element">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <choice>
+               <ref name="qname.datatype"/>
+               <ref name="expr-avt.datatype"/>
+            </choice>
+         </attribute>
+         <optional>
+            <attribute name="namespace">
+               <choice>
+                  <data type="anyURI"/>
+                  <ref name="brace-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="use-attribute-sets">
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </optional>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="attribute.element">
+      <element name="attribute">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <choice>
+               <ref name="qname.datatype"/>
+               <ref name="expr-avt.datatype"/>
+            </choice>
+         </attribute>
+         <optional>
+            <attribute name="namespace">
+               <choice>
+                  <data type="anyURI"/>
+                  <ref name="brace-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="attribute-set.element">
+      <element name="attribute-set">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <optional>
+            <attribute name="use-attribute-sets">
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </optional>
+         <zeroOrMore>
+            <ref name="attribute.element"/>
+         </zeroOrMore>
+      </element>
+   </define>
+   <define name="text.element">
+      <element name="text">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="disable-output-escaping">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <text/>
+      </element>
+   </define>
+   <define name="processing-instruction.element">
+      <element name="processing-instruction">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <choice>
+               <data type="NCName"/>
+               <ref name="expr-avt.datatype"/>
+            </choice>
+         </attribute>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="comment.element">
+      <element name="comment">
+         <ref name="extension.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="copy.element">
+      <element name="copy">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="use-attribute-sets">
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </optional>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="value-of.element">
+      <element name="value-of">
+         <ref name="extension.atts"/>
+         <attribute name="select">
+            <ref name="expression.datatype"/>
+         </attribute>
+         <optional>
+            <attribute name="disable-output-escaping">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="number.element">
+      <element name="number">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="level">
+               <choice>
+                  <value type="string">single</value>
+                  <value type="string">multiple</value>
+                  <value type="string">any</value>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="count">
+               <ref name="pattern.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="from">
+               <ref name="pattern.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="value">
+               <ref name="expression.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="format">
+               <ref name="avt.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="lang">
+               <choice>
+                  <data type="NMTOKEN"/>
+                  <ref name="expr-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="letter-value">
+              <choice>
+                 <value type="string">alphabetic</value>
+                 <value type="string">traditional</value>
+                 <ref name="expr-avt.datatype"/>
+              </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="grouping-separator">
+               <choice>
+                  <ref name="char.datatype"/>
+                  <ref name="expr-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="grouping-size">
+               <choice>
+                  <ref name="number.datatype"/>
+                  <ref name="expr-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="for-each.element">
+      <element name="for-each">
+         <ref name="extension.atts"/>
+         <attribute name="select">
+            <ref name="expression.datatype"/>
+         </attribute>
+         <group>
+            <zeroOrMore>
+               <ref name="sort.element"/>
+            </zeroOrMore>
+            <ref name="template.model"/>
+         </group>
+      </element>
+   </define>
+   <define name="if.element">
+      <element name="if">
+         <ref name="extension.atts"/>
+         <attribute name="test">
+            <ref name="expression.datatype"/>
+         </attribute>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="choose.element">
+      <element name="choose">
+         <ref name="extension.atts"/>
+         <group>
+            <oneOrMore>
+               <ref name="when.element"/>
+            </oneOrMore>
+            <optional>
+               <ref name="otherwise.element"/>
+            </optional>
+         </group>
+      </element>
+   </define>
+   <define name="when.element">
+      <element name="when">
+         <ref name="extension.atts"/>
+         <attribute name="test">
+            <ref name="expression.datatype"/>
+         </attribute>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="otherwise.element">
+      <element name="otherwise">
+         <ref name="extension.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="sort.element">
+      <element name="sort">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="lang">
+               <choice>
+                  <data type="NMTOKEN"/>
+                  <ref name="expr-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="data-type">
+              <choice>
+                 <value type="string">text</value>
+                 <value type="string">number</value>
+                 <ref name="qname-but-not-ncname.datatype"/>
+                 <ref name="expr-avt.datatype"/>
+              </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="order">
+              <choice>
+                 <value type="string">ascending</value>
+                 <value type="string">descending</value>
+                 <ref name="expr-avt.datatype"/>
+              </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="case-order">
+              <choice>
+                 <value type="string">upper-first</value>
+                 <value type="string">lower-first</value>
+                 <ref name="expr-avt.datatype"/>
+              </choice>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="variable.element">
+      <element name="variable">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <choice>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+            <ref name="template.model"/>
+         </choice>
+      </element>
+   </define>
+   <define name="param.element">
+      <element name="param">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <choice>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+            <ref name="template.model"/>
+         </choice>
+      </element>
+   </define>
+   <define name="copy-of.element">
+      <element name="copy-of">
+         <ref name="extension.atts"/>
+         <attribute name="select">
+            <ref name="expression.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="with-param.element">
+      <element name="with-param">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <choice>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+            <ref name="template.model"/>
+         </choice>
+      </element>
+   </define>
+   <define name="key.element">
+      <element name="key">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <attribute name="match">
+            <ref name="pattern.datatype"/>
+         </attribute>
+         <attribute name="use">
+            <ref name="expression.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="decimal-format.element">
+      <element name="decimal-format">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="name">
+               <ref name="qname.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="decimal-separator">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="grouping-separator">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="infinity">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="minus-sign">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="NaN">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="percent">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="per-mille">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="zero-digit">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="digit">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="pattern-separator">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="message.element">
+      <element name="message">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="terminate">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="fallback.element">
+      <element name="fallback">
+         <ref name="extension.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="output.element">
+      <element name="output">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="method">
+               <choice>
+                  <value type="string">xml</value>
+                  <value type="string">html</value>
+                  <value type="string">text</value>
+                  <ref name="qname-but-not-ncname.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="version">
+               <data type="NMTOKEN"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="encoding">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="omit-xml-declaration">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="standalone">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="doctype-public">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="doctype-system">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="cdata-section-elements">
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="indent">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="media-type">
+               <text/>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="prefixes.datatype">
+      <list>
+         <zeroOrMore>
+            <choice>
+               <data type="NCName"/>
+               <value>#default</value>
+            </choice>
+         </zeroOrMore>
+      </list>
+   </define>
+   <define name="prefix.datatype">
+      <choice>
+        <data type="NCName"/>
+        <value>#default</value>
+      </choice>
+   </define>
+   <define name="wildcards.datatype">
+      <list>
+         <zeroOrMore>
+           <choice>
+              <data type="QName"/>
+              <data type="token">
+                 <param name="pattern">\*|\i\c*:\*</param>
+              </data>
+           </choice>
+         </zeroOrMore>
+      </list> 
+   </define>
+   <define name="qname.datatype">
+      <data type="QName"/>
+   </define>
+   <define name="qnames.datatype">
+      <list>
+         <zeroOrMore>
+            <data type="QName"/>
+         </zeroOrMore>
+      </list>
+   </define>
+   <define name="char.datatype">
+      <data type="string">
+         <param name="length">1</param>
+      </data>
+   </define>
+   <define name="number.datatype">
+      <data type="decimal"/>
+   </define>
+   <define name="expression.datatype">
+      <text/>
+   </define>
+   <define name="pattern.datatype">
+      <text/>
+   </define>
+   <define name="qname-but-not-ncname.datatype">
+      <data type="QName">
+        <param name="pattern">.*:.*</param>
+      </data>
+   </define>
+   <!-- An AVT containing at least one expression. -->
+   <define name="expr-avt.datatype">
+      <data type="string">
+         <param 
name="pattern">([^\{\}]|\{\{|\}\})*\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\}([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+      </data>
+   </define>
+   <!-- An AVT containing at least one brace; ie where instantiated AVT
+        is not the same as the literal AVT. -->
+   <define name="brace-avt.datatype">
+      <data type="string">
+         <param 
name="pattern">[^\{\}]*(\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+      </data>
+   </define>
+   <define name="avt.datatype">
+      <data type="string">
+         <param 
name="pattern">([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+      </data>
+   </define>
+</grammar>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbcent.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbcent.mod
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,67 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook Character Entity Module V1.0 ...................... -->
+<!-- File sinclist.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: sdbcent.mod,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!ENTITY % ISOamsa.module "IGNORE">
+<!ENTITY % ISOamsb.module "IGNORE">
+<!ENTITY % ISOamsc.module "IGNORE">
+<!ENTITY % ISOamsn.module "IGNORE">
+<!ENTITY % ISOamso.module "IGNORE">
+<!ENTITY % ISOamsr.module "IGNORE">
+<!ENTITY % ISObox.module "IGNORE">
+<!ENTITY % ISOcyr1.module "IGNORE">
+<!ENTITY % ISOcyr2.module "IGNORE">
+<!ENTITY % ISOdia.module "IGNORE">
+<!ENTITY % ISOgrk1.module "IGNORE">
+<!ENTITY % ISOgrk2.module "IGNORE">
+<!ENTITY % ISOgrk3.module "IGNORE">
+<!ENTITY % ISOgrk4.module "IGNORE">
+<!ENTITY % ISOlat1.module "IGNORE">
+<!ENTITY % ISOlat2.module "IGNORE">
+<!ENTITY % ISOnum.module "IGNORE">
+<!ENTITY % ISOpub.module "IGNORE">
+<!ENTITY % ISOtech.module "IGNORE">
+
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+"../../xmlcharent/iso-lat1.ent">
+%ISOlat1;
+
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+"../../xmlcharent/iso-num.ent">
+%ISOnum;
+
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN//XML"
+"../../xmlcharent/iso-pub.ent">
+%ISOpub;
+
+<!-- End of Simplified DocBook Character Entity Module V1.0 ............... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbhier.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbhier.mod
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,89 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook Hierarchy V1.0 .................................... -->
+<!-- File sdbhier.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: sdbhier.mod,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+
+<!ENTITY % bookcomponent.content
+       "((%divcomponent.mix;)+, section*)
+       | section+">
+
+<![ %include.refentry; [
+
+<!ENTITY % local.refinline.char.mix "">
+<!ENTITY % refinline.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+               %local.refinline.char.mix;">
+
+<!ENTITY % local.refcomponent.mix "">
+<!ENTITY % refcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+
+<!ELEMENT refentry (refentryinfo?, refmeta?, (%link.char.class;)*,
+                    refnamediv, refsynopsisdiv?, refsect1+)>
+
+<!ELEMENT refentryinfo ((mediaobject | legalnotice
+               | subjectset | keywordset
+                | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refmeta (refentrytitle, manvolnum?, refmiscinfo*)>
+
+<!ELEMENT refsect1info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refsect2info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refsect3info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refsynopsisdivinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refnamediv (refdescriptor?, refname+, refpurpose, refclass*,
+               (%link.char.class;)*)>
+
+]]>
+
+<!-- End of Simplified DocBook Hierarchy V1.0 ............................. -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbpool.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdbpool.mod
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,203 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook Information Pool V1.0 ............................. -->
+<!-- File sdbpool.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: sdbpool.mod,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.component.mix;">
+
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.sidebar.mix;">
+
+<!ENTITY % local.qandaset.mix "">
+<!ENTITY % qandaset.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.qandaset.mix;">
+
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.revdescription.mix;">
+
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.footnote.mix;">
+
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.example.mix;">
+
+<!ENTITY % local.highlights.mix "">
+<!ENTITY % highlights.mix
+               "%list.class;           |%admon.class;
+               |%para.class;
+               %local.highlights.mix;">
+
+<!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;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.admon.mix;">
+
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+               "%linespecific.class;
+                                       |%informal.class;
+               %local.figure.mix;">
+
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |mediaobject
+               %local.tabentry.mix;">
+
+<!ENTITY % local.glossdef.mix "">
+<!ENTITY % glossdef.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.glossdef.mix;">
+
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.legalnotice.mix;">
+
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.textobject.mix;">
+
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+               "                        %admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+                                       |%descobj.class;
+               %local.listpreamble.mix;">
+
+<!-- Character-level mixtures ............................................. -->
+
+<!ENTITY % ubiq.exclusion "">
+<!ENTITY % ubiq.inclusion "">
+
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+                                       |%inlineobj.char.class;
+               %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;
+                                       |%docinfo.char.class;
+                                       |%inlineobj.char.class;
+               %local.title.char.mix;">
+
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+               "#PCDATA
+               |%link.char.class;      |%tech.char.class;
+                                       |inlinemediaobject
+               %local.cptr.char.mix;">
+
+<!ENTITY % local.smallcptr.char.mix "">
+<!ENTITY % smallcptr.char.mix
+               "#PCDATA
+                                       |replaceable
+                                       |inlinemediaobject
+               %local.smallcptr.char.mix;">
+
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+               "#PCDATA
+                                       |acronym|emphasis|trademark
+               |%link.char.class;
+                                       |inlinemediaobject
+               %local.word.char.mix;">
+
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+               "#PCDATA
+               |%link.char.class;
+                                       |emphasis|trademark
+                                       |replaceable
+                                       |inlinemediaobject
+               %local.docinfo.char.mix;">
+
+<!ENTITY % tbl.table.excep "">
+<!ENTITY % tbl.table.mdl
+       "(title, (mediaobject+|tgroup+))">
+
+<!ENTITY % programlisting.content "%para.char.mix; | lineannotation">
+
+<!-- End of Simplified DocBook Information Pool V1.0 ...................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook-custom.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook-custom.dtd
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,409 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook DTD V1.0 .......................................... -->
+<!-- File sdocbook-custom.dtd ............................................. -->
+
+<!-- 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: sdocbook-custom.dtd,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V1.0 of the Simplified DocBook XML DTD.
+     Please use the following formal public identifier to identify it:
+
+     "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+
+     For example:
+
+     <!DOCTYPE article
+               PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+      "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd";
+     [...]>
+-->
+
+<!-- ...................................................................... -->
+
+<!ENTITY % include.refentry "IGNORE">
+<![ %include.refentry; [
+<!ENTITY % exclude.refentry "IGNORE">
+<!ENTITY % refentry.element "IGNORE">
+<!ENTITY % refmeta.element "IGNORE">
+<!ENTITY % refnamediv.element "IGNORE">
+]]>
+<!ENTITY % exclude.refentry "INCLUDE">
+
+<!ENTITY % sinclist SYSTEM "sinclist.mod">
+%sinclist;
+
+<!ENTITY % ndxterm.class "">
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+               "itemizedlist|orderedlist
+               |variablelist %local.list.class;">
+
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+               "note %local.admon.class;">
+
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+               "literallayout|programlisting %local.linespecific.class;">
+
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+               "para %local.para.class;">
+
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+               "blockquote
+               |mediaobject
+               |informaltable %local.informal.class;">
+
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+               "example|figure|table %local.formal.class;">
+
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+               "sidebar %local.compound.class;">
+
+<!ENTITY % local.genobj.class "">
+<!ENTITY % 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|citetitle|emphasis|footnote|phrase
+               |quote|trademark %local.gen.char.class;">
+
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+               "link|ulink %local.link.char.class;">
+
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+               "command|computeroutput
+               |email|filename
+               |literal
+               |option
+               |replaceable
+               |systemitem|userinput
+               %local.tech.char.class;">
+
+<!ENTITY % local.base.char.class "">
+<!ENTITY % base.char.class "">
+
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+               "author|corpauthor|othercredit
+               |revhistory
+               %local.docinfo.char.class;">
+
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+               "inlinemediaobject %local.inlineobj.char.class;">
+
+<!ENTITY % local.effectivity.attrib "">
+<!ENTITY % effectivity.attrib 
+       "%local.effectivity.attrib;"
+>
+
+<!ENTITY % local.common.attrib "">
+<!ENTITY % common.attrib
+       "id             ID              #IMPLIED
+       lang            CDATA           #IMPLIED
+       revisionflag    (changed
+                       |added
+                       |deleted
+                       |off)           #IMPLIED
+       %local.common.attrib;"
+>
+
+<!ENTITY % idreq.common.attrib
+       "id             ID              #REQUIRED
+       lang            CDATA           #IMPLIED
+       revisionflag    (changed
+                       |added
+                       |deleted
+                       |off)           #IMPLIED
+       %local.common.attrib;"
+>
+
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+               "honorific|firstname|surname|lineage|othername|affiliation
+               |authorblurb
+               %local.person.ident.mix;">
+
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+               "abbrev|abstract|author
+               |authorgroup|bibliomisc
+               |copyright|corpauthor|date|edition
+               |editor|issuenum
+               |othercredit
+               |pubdate|publishername
+               |releaseinfo|revhistory
+               |subtitle|title|titleabbrev|volumenum|citetitle
+               |%person.ident.mix;
+               %local.bibliocomponent.mix;">
+
+<!ENTITY % local.info.class "">
+<!ENTITY % info.class
+               "mediaobject | legalnotice
+                | subjectset | keywordset | %bibliocomponent.mix;
+                 %local.info.class;">
+
+<!ENTITY % dbpool.redecl.module "INCLUDE">
+<!ENTITY % rdbpool SYSTEM "sdbpool.mod">
+
+<!ENTITY % dbhier.redecl.module "INCLUDE">
+<!ENTITY % rdbhier SYSTEM "sdbhier.mod">
+
+<!ENTITY % sdbcent SYSTEM "sdbcent.mod">
+%sdbcent;
+
+<!ENTITY % docinfo.element "IGNORE">
+<!ENTITY % objectinfo.element "IGNORE">
+<!ENTITY % section.element "IGNORE">
+<!ENTITY % sectioninfo.element "IGNORE">
+<!ENTITY % authorgroup.element "IGNORE">
+<!ENTITY % author.element "IGNORE">
+<!ENTITY % editor.element "IGNORE">
+<!ENTITY % othercredit.element "IGNORE">
+<!ENTITY % para.element "IGNORE">
+<!ENTITY % informaltable.element "IGNORE">
+<!ENTITY % replaceable.element "IGNORE">
+<!ENTITY % trademark.element "IGNORE">
+<!ENTITY % article.element "IGNORE">
+<!ENTITY % articleinfo.element "IGNORE">
+<!ENTITY % appendix.element "IGNORE">
+<!ENTITY % appendixinfo.module "IGNORE">
+<!ENTITY % sidebar.element "IGNORE">
+<!ENTITY % programlisting.element "IGNORE">
+<!ENTITY % literallayout.element "IGNORE">
+<!ENTITY % itemizedlist.element "IGNORE">
+<!ENTITY % orderedlist.element "IGNORE">
+<!ENTITY % variablelist.element "IGNORE">
+<!ENTITY % example.element "IGNORE">
+<!ENTITY % figure.element "IGNORE">
+<!ENTITY % legalnotice.element "IGNORE">
+<!ENTITY % systemitem.element "IGNORE">
+<!ENTITY % computeroutput.element "IGNORE">
+<!ENTITY % userinput.element "IGNORE">
+
+<!ENTITY % cals.table.module "INCLUDE">
+<!ENTITY % docbook PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";
+>
+%docbook;
+
+<!ENTITY % simple.objectinfo.element "INCLUDE">
+<![%simple.objectinfo.element;[
+<!ELEMENT objectinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+]]>
+
+<!ENTITY % simple.section.element "INCLUDE">
+<![%simple.section.element;[
+<!ELEMENT section (sectioninfo?,
+                       (%sect.title.content;),
+                       (((%divcomponent.mix;)+, section*)
+                        | section+))>
+]]>
+
+<!ENTITY % simple.sectioninfo.element "INCLUDE">
+<![%simple.sectioninfo.element;[
+<!ELEMENT sectioninfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+]]>
+
+<!ENTITY % simple.authorgroup.element "INCLUDE">
+<![%simple.authorgroup.element;[
+<!ELEMENT authorgroup ((author|editor|corpauthor|othercredit)+)>
+]]>
+
+<!ENTITY % simple.author.element "INCLUDE">
+<![%simple.author.element;[
+<!ELEMENT author ((%person.ident.mix;)+)>
+]]>
+
+<!ENTITY % simple.editor.element "INCLUDE">
+<![%simple.editor.element;[
+<!ELEMENT editor ((%person.ident.mix;)+)>
+]]>
+
+<!ENTITY % simple.othercredit.element "INCLUDE">
+<![%simple.othercredit.element;[
+<!ELEMENT othercredit ((%person.ident.mix;)+)>
+]]>
+
+<!ENTITY % simple.affiliation.element "INCLUDE">
+<![%simple.affiliation.element;[
+<!ELEMENT affiliation (jobtitle?, orgname?)>
+]]>
+
+<!ENTITY % simple.para.element "INCLUDE">
+<![%simple.para.element;[
+<!ELEMENT para (%para.char.mix;)*>
+]]>
+
+<!ENTITY % simple.informaltable.element "INCLUDE">
+<![%simple.informaltable.element;[
+<!ELEMENT informaltable (mediaobject+|tgroup+) %tbl.table.excep;>
+]]>
+
+<!ENTITY % simple.replaceable.element "INCLUDE">
+<![%simple.replaceable.element;[
+<!ELEMENT replaceable (#PCDATA 
+               | %link.char.class; 
+               | inlinemediaobject)*>
+]]>
+
+<!ENTITY % simple.trademark.element "INCLUDE">
+<![%simple.trademark.element;[
+<!ELEMENT trademark (#PCDATA 
+               | %link.char.class; 
+               | %tech.char.class;
+               | inlinemediaobject
+               | emphasis)*>
+]]>
+
+<!ENTITY % simple.article.element "INCLUDE">
+<![%simple.article.element;[
+<!ELEMENT article ((%div.title.content;)?, articleinfo?,
+                      (%bookcomponent.content;),
+                      ((%appendix.class;)|bibliography)*)>
+]]>
+
+<!ENTITY % simple.articleinfo.element "INCLUDE">
+<![%simple.articleinfo.element;[
+<!ELEMENT articleinfo ((mediaobject | legalnotice
+       | subjectset | keywordset | %bibliocomponent.mix;)+)>
+]]>
+
+<!ENTITY % simple.appendix.element "INCLUDE">
+<![%simple.appendix.element;[
+<!ELEMENT appendix ((%bookcomponent.title.content;),
+               (%bookcomponent.content;))>
+]]>
+
+<!ENTITY % simple.bibliography.element "INCLUDE">
+<![%simple.bibliography.element;[
+<!ELEMENT bibliography ((%bookcomponent.title.content;)?,
+                        (%component.mix;)*,
+                        (bibliodiv+ | bibliomixed+))>
+]]>
+
+<!ENTITY % simple.bibliomixed.element "INCLUDE">
+<![%simple.bibliomixed.element;[
+<!ELEMENT bibliomixed (#PCDATA | %bibliocomponent.mix; | bibliomset)*>
+]]>
+
+<!ENTITY % simple.bibliodiv.element "INCLUDE">
+<![%simple.bibliodiv.element;[
+<!ELEMENT bibliodiv ((%sect.title.content;)?, (%component.mix;)*,
+               (bibliomixed)+)>
+]]>
+
+<!ENTITY % simple.sidebar.element "INCLUDE">
+<![%simple.sidebar.element;[
+<!ELEMENT sidebar ((%formalobject.title.content;)?,
+                   (%sidebar.mix;)+)>
+]]>
+
+<!ENTITY % simple.programlisting.element "INCLUDE">
+<![%simple.programlisting.element;[
+<!ELEMENT programlisting (%para.char.mix; | lineannotation)*>
+]]>
+
+<!ENTITY % simple.literallayout.element "INCLUDE">
+<![%simple.literallayout.element;[
+<!ELEMENT literallayout (%para.char.mix; | lineannotation)*>
+]]>
+
+<!ENTITY % simple.itemizedlist.element "INCLUDE">
+<![%simple.itemizedlist.element;[
+<!ELEMENT itemizedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+]]>
+
+<!ENTITY % simple.orderedlist.element "INCLUDE">
+<![%simple.orderedlist.element;[
+<!ELEMENT orderedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+]]>
+
+<!ENTITY % simple.variablelist.element "INCLUDE">
+<![%simple.variablelist.element;[
+<!ELEMENT variablelist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, varlistentry+)>
+]]>
+
+<!ENTITY % simple.example.element "INCLUDE">
+<![%simple.example.element;[
+<!ELEMENT example ((%formalobject.title.content;), (%example.mix;)+)
+               >
+]]>
+
+<!ENTITY % simple.figure.element "INCLUDE">
+<![%simple.figure.element;[
+<!ELEMENT figure ((%formalobject.title.content;),
+                       (%figure.mix; | %link.char.class;)+)>
+]]>
+
+<!ENTITY % simple.legalnotice.element "INCLUDE">
+<![%simple.legalnotice.element;[
+<!ELEMENT legalnotice (title?, (%legalnotice.mix;)+)
+               >
+]]>
+
+<!ENTITY % simple.systemitem.element "INCLUDE">
+<![%simple.systemitem.element;[
+<!ELEMENT systemitem (%cptr.char.mix; | acronym)*>
+]]>
+
+<!ENTITY % simple.computeroutput.element "INCLUDE">
+<![%simple.computeroutput.element;[
+<!ELEMENT computeroutput %ho; (%cptr.char.mix;)*>
+]]>
+
+<!ENTITY % simple.userinput.element "INCLUDE">
+<![%simple.userinput.element;[
+<!ELEMENT userinput %ho; (%cptr.char.mix;)*>
+]]>
+
+<!-- End of Simplified DocBook DTD V1.0 ................................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook.css
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook.css
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,679 @@
+abbrev
+{
+  display: inline;
+}
+
+abstract
+{
+  margin-left: 0.5in;
+  margin-right: 0.5in;
+  display: inline;
+}
+
+acronym
+{
+  display: inline;
+}
+
+address
+{
+  white-space: pre;
+  display: block;
+}
+
+anchor
+{
+  display: inline;
+}
+
+appendix
+{
+  display: block;
+}
+
+articleinfo
+{
+  display: none;
+}
+
+article
+{
+  display: block;
+}
+
+audiodata
+{
+  display: none;
+}
+
+audioobject
+{
+  display: none;
+}
+
+author
+{
+  display: inline;
+}
+
+authorgroup
+{
+  display: inline;
+}
+
+authorinitials
+{
+  display: inline;
+}
+
+bibliomisc
+{
+  display: inline;
+}
+
+bibliomset
+{
+  display: inline;
+}
+
+biblioset
+{
+  display: inline;
+}
+
+blockquote
+{
+  display: block;
+  margin-left: 0.5in;
+  margin-right: 0.5in;
+}
+
+caption
+{
+  display: none;
+}
+
+citetitle
+{
+  display: inline;
+  font-style: italic;
+}
+
+city
+{
+  display: inline;
+}
+
+colspec
+{
+  display: none;
+}
+
+command
+{
+  display: inline;
+  font-style: italic;
+}
+
+computeroutput
+{
+  display: inline;
+  font-family: monospace;
+}
+
+copyright
+{
+  display: inline;
+}
+
+corpauthor
+{
+  display: inline;
+}
+
+country
+{
+  display: inline;
+}
+
+date
+{
+  display: inline;
+}
+
+articleinfo
+{
+  display: none;
+}
+
+appendixinfo
+{
+  display: none;
+}
+
+edition
+{
+  display: inline;
+}
+
+editor
+{
+  display: inline;
+}
+
+email
+{
+  display: inline;
+  font-style: italic;
+}
+
+emphasis
+{
+  display: inline;
+  font-style: italic;
+}
+
+entry
+{
+  display: table-cell;
+}
+
+example
+{
+  display: block;
+}
+
+fax
+{
+  display: inline;
+}
+
+figure
+{
+  display: block;
+}
+
+filename
+{
+  display: inline;
+  font-style: italic;
+}
+
+firstname
+{
+  display: inline;
+}
+
+footnote
+{
+  display: inline;
+}
+
+holder
+{
+  display: inline;
+}
+
+honorific
+{
+  display: inline;
+}
+
+imagedata
+{
+  display: inline;
+}
+
+imageobject
+{
+  display: inline;
+}
+
+informaltable
+{
+  display: block;
+}
+
+inlinemediaobject
+{
+  display: inline;
+}
+
+isbn
+{
+  display: inline;
+}
+
+issn
+{
+  display: inline;
+}
+
+issuenum
+{
+  display: inline;
+}
+
+itemizedlist
+{
+  display: block;
+  list-style-type: disc;
+}
+
+keyword
+{
+  display: inline;
+}
+
+keywordset
+{
+  display: inline;
+}
+
+legalnotice
+{
+  display: inline;
+}
+
+lineage
+{
+  display: inline;
+}
+
+lineannotation
+{
+  display: inline;
+}
+
+link
+{
+  display: inline;
+}
+
+listitem
+{
+  display: list-item;
+}
+
+literal
+{
+  display: inline;
+}
+
+literallayout
+{
+  display: inline;
+}
+
+mediaobject
+{
+  display: inline;
+}
+
+member
+{
+  display: inline;
+}
+
+note
+{
+  display: inline;
+}
+
+objectinfo
+{
+  display: inline;
+}
+
+option
+{
+  display: inline;
+}
+
+orderedlist
+{
+  display: block;
+  list-style-type: decimal;
+}
+
+otheraddr
+{
+  display: inline;
+}
+
+othercredit
+{
+  display: inline;
+}
+
+othername
+{
+  display: inline;
+}
+
+pagenums
+{
+  display: inline;
+}
+
+para
+{
+  display: block;
+}
+
+phone
+{
+  display: inline;
+}
+
+phrase
+{
+  display: inline;
+}
+
+pob
+{
+  display: inline;
+}
+
+postcode
+{
+  display: inline;
+}
+
+printhistory
+{
+  display: inline;
+}
+
+procedure
+{
+  display: inline;
+}
+
+programlisting
+{
+  display: inline;
+}
+
+pubdate
+{
+  display: inline;
+}
+
+publisher
+{
+  display: inline;
+}
+
+publishername
+{
+  display: inline;
+}
+
+quote
+{
+  display: inline;
+}
+
+replaceable
+{
+  display: inline;
+}
+
+revhistory
+{
+  display: inline;
+}
+
+revision
+{
+  display: inline;
+}
+
+revnumber
+{
+  display: inline;
+}
+
+revremark
+{
+  display: inline;
+}
+
+row
+{
+  display: table-row;
+}
+
+section
+{
+  display: block;
+}
+
+sectioninfo
+{
+  display: none;
+}
+
+sidebar
+{
+  display: block;
+}
+
+simplelist
+{
+  display: inline;
+}
+
+state
+{
+  display: inline;
+}
+
+step
+{
+  display: inline;
+}
+
+street
+{
+  display: inline;
+}
+
+substeps
+{
+  display: inline;
+}
+
+subtitle
+{
+  display: inline;
+}
+
+surname
+{
+  display: inline;
+}
+
+systemitem
+{
+  display: inline;
+}
+
+tbody
+{
+  display: table-row-group;
+}
+
+term
+{
+  display: inline;
+}
+
+textobject
+{
+  display: inline;
+}
+
+tgroup
+{
+  display: table;
+}
+
+thead
+{
+  display: table-row-group;
+}
+
+title
+{
+  display: block;
+}
+
+article title
+{
+  font-size: 36pt;
+  font-weight: bold;
+  display: block;
+}
+
+section title
+{
+  font-size: 24pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section title
+{
+  font-size: 20pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section section title
+{
+  font-size: 18pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section section section title
+{
+  font-size: 16pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section section section section title
+{
+  font-size: 14pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section section section section section title
+{
+  font-size: 12pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix title
+{
+  font-size: 24pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section title
+{
+  font-size: 22pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section section title
+{
+  font-size: 18pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section section section title
+{
+  font-size: 16pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section section section section title
+{
+  font-size: 14pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section section section section section title
+{
+  font-size: 12pt;
+  font-weight: bold;
+  display: block;
+}
+
+titleabbrev
+{
+  display: none;
+}
+
+trademark
+{
+  display: inline;
+}
+
+ulink
+{
+  display: inline;
+}
+
+userinput
+{
+  display: inline;
+}
+
+variablelist
+{
+  display: inline;
+}
+
+varlistentry
+{
+  display: inline;
+}
+
+videodata
+{
+  display: inline;
+}
+
+videoobject
+{
+  display: inline;
+}
+
+volumenum
+{
+  display: inline;
+}
+
+xref
+{
+  display: inline;
+}
+
+year
+{
+  display: inline;
+}
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbook.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1664 @@
+<!-- *********************************************************************
+     *** THIS IS THE FLATTENED DTD. DO NOT EDIT THIS DTD BY HAND, EDIT ***
+     *** THE CUSTOMIZATION LAYER AND REGNERATE THE FLATTENED DTD! ********
+     ********************************************************************* -->
+
+<!-- ...................................................................... -->
+<!-- Simplified DocBook DTD V1.0 .......................................... -->
+<!-- File sdocbook-custom.dtd ............................................. -->
+
+<!-- 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: sdocbook.dtd,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V1.0 of the Simplified DocBook XML DTD.
+     Please use the following formal public identifier to identify it:
+
+     "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+
+     For example:
+
+     <!DOCTYPE article
+               PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+      "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd";
+     [...]>
+-->
+
+<!-- ...................................................................... -->
+
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+               "itemizedlist|orderedlist
+               |variablelist %local.list.class;">
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+               "note %local.admon.class;">
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+               "literallayout|programlisting %local.linespecific.class;">
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+               "para %local.para.class;">
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+               "blockquote
+               |mediaobject
+               |informaltable %local.informal.class;">
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+               "example|figure|table %local.formal.class;">
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+               "sidebar %local.compound.class;">
+<!ENTITY % local.descobj.class "">
+<!ENTITY % descobj.class
+               "abstract|authorblurb|epigraph
+               %local.descobj.class;">
+<!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|citetitle|emphasis|footnote|phrase
+               |quote|trademark %local.gen.char.class;">
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+               "link|ulink %local.link.char.class;">
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+               "command|computeroutput
+               |email|filename
+               |literal
+               |option
+               |replaceable
+               |systemitem|userinput
+               %local.tech.char.class;">
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+               "author|corpauthor|othercredit
+               |revhistory
+               %local.docinfo.char.class;">
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+               "inlinemediaobject %local.inlineobj.char.class;">
+<!ENTITY % local.common.attrib "">
+<!ENTITY % common.attrib
+       "id             ID              #IMPLIED
+       lang            CDATA           #IMPLIED
+       revisionflag    (changed
+                       |added
+                       |deleted
+                       |off)           #IMPLIED
+       %local.common.attrib;"
+>
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+               "honorific|firstname|surname|lineage|othername|affiliation
+               |authorblurb
+               %local.person.ident.mix;">
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+               "abbrev|abstract|author
+               |authorgroup|bibliomisc
+               |copyright|corpauthor|date|edition
+               |editor|issuenum
+               |othercredit
+               |pubdate|publishername
+               |releaseinfo|revhistory
+               |subtitle|title|titleabbrev|volumenum|citetitle
+               |%person.ident.mix;
+               %local.bibliocomponent.mix;">
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.component.mix;">
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.sidebar.mix;">
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.revdescription.mix;">
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.footnote.mix;">
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.example.mix;">
+<!ENTITY % local.admon.mix "">
+<!ENTITY % admon.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.admon.mix;">
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+               "%linespecific.class;
+                                       |%informal.class;
+               %local.figure.mix;">
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |mediaobject
+               %local.tabentry.mix;">
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.legalnotice.mix;">
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.textobject.mix;">
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+               "                        %admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+                                       |%descobj.class;
+               %local.listpreamble.mix;">
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+                                       |%inlineobj.char.class;
+               %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;
+                                       |%docinfo.char.class;
+                                       |%inlineobj.char.class;
+               %local.title.char.mix;">
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+               "#PCDATA
+               |%link.char.class;      |%tech.char.class;
+                                       |inlinemediaobject
+               %local.cptr.char.mix;">
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+               "#PCDATA
+                                       |acronym|emphasis|trademark
+               |%link.char.class;
+                                       |inlinemediaobject
+               %local.word.char.mix;">
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+               "#PCDATA
+               |%link.char.class;
+                                       |emphasis|trademark
+                                       |replaceable
+                                       |inlinemediaobject
+               %local.docinfo.char.mix;">
+<!ENTITY % tbl.table.mdl
+       "(title, (mediaobject+|tgroup+))">
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+<!ENTITY % bookcomponent.content
+       "((%divcomponent.mix;)+, section*)
+       | section+">
+<!ENTITY aacute        "&#x00E1;">
+<!ENTITY Aacute        "&#x00C1;">
+<!ENTITY acirc "&#x00E2;">
+<!ENTITY Acirc "&#x00C2;">
+<!ENTITY agrave        "&#x00E0;">
+<!ENTITY Agrave        "&#x00C0;">
+<!ENTITY aring "&#x00E5;">
+<!ENTITY Aring "&#x00C5;">
+<!ENTITY atilde        "&#x00E3;">
+<!ENTITY Atilde        "&#x00C3;">
+<!ENTITY auml  "&#x00E4;">
+<!ENTITY Auml  "&#x00C4;">
+<!ENTITY aelig "&#x00E6;">
+<!ENTITY AElig "&#x00C6;">
+<!ENTITY ccedil        "&#x00E7;">
+<!ENTITY Ccedil        "&#x00C7;">
+<!ENTITY eth   "&#x00F0;">
+<!ENTITY ETH   "&#x00D0;">
+<!ENTITY eacute        "&#x00E9;">
+<!ENTITY Eacute        "&#x00C9;">
+<!ENTITY ecirc "&#x00EA;">
+<!ENTITY Ecirc "&#x00CA;">
+<!ENTITY egrave        "&#x00E8;">
+<!ENTITY Egrave        "&#x00C8;">
+<!ENTITY euml  "&#x00EB;">
+<!ENTITY Euml  "&#x00CB;">
+<!ENTITY iacute        "&#x00ED;">
+<!ENTITY Iacute        "&#x00CD;">
+<!ENTITY icirc "&#x00EE;">
+<!ENTITY Icirc "&#x00CE;">
+<!ENTITY igrave        "&#x00EC;">
+<!ENTITY Igrave        "&#x00CC;">
+<!ENTITY iuml  "&#x00EF;">
+<!ENTITY Iuml  "&#x00CF;">
+<!ENTITY ntilde        "&#x00F1;">
+<!ENTITY Ntilde        "&#x00D1;">
+<!ENTITY oacute        "&#x00F3;">
+<!ENTITY Oacute        "&#x00D3;">
+<!ENTITY ocirc "&#x00F4;">
+<!ENTITY Ocirc "&#x00D4;">
+<!ENTITY ograve        "&#x00F2;">
+<!ENTITY Ograve        "&#x00D2;">
+<!ENTITY oslash        "&#x00F8;">
+<!ENTITY Oslash        "&#x00D8;">
+<!ENTITY otilde        "&#x00F5;">
+<!ENTITY Otilde        "&#x00D5;">
+<!ENTITY ouml  "&#x00F6;">
+<!ENTITY Ouml  "&#x00D6;">
+<!ENTITY szlig "&#x00DF;">
+<!ENTITY thorn "&#x00FE;">
+<!ENTITY THORN "&#x00DE;">
+<!ENTITY uacute        "&#x00FA;">
+<!ENTITY Uacute        "&#x00DA;">
+<!ENTITY ucirc "&#x00FB;">
+<!ENTITY Ucirc "&#x00DB;">
+<!ENTITY ugrave        "&#x00F9;">
+<!ENTITY Ugrave        "&#x00D9;">
+<!ENTITY uuml  "&#x00FC;">
+<!ENTITY Uuml  "&#x00DC;">
+<!ENTITY yacute        "&#x00FD;">
+<!ENTITY Yacute        "&#x00DD;">
+<!ENTITY yuml  "&#x00FF;">
+<!ENTITY half  "&#x00BD;">
+<!ENTITY frac12        "&#x00BD;">
+<!ENTITY frac14        "&#x00BC;">
+<!ENTITY frac34        "&#x00BE;">
+<!ENTITY frac18        "&#x215B;">
+<!ENTITY frac38        "&#x215C;">
+<!ENTITY frac58        "&#x215D;">
+<!ENTITY frac78        "&#x215E;">
+<!ENTITY sup1  "&#x00B9;">
+<!ENTITY sup2  "&#x00B2;">
+<!ENTITY sup3  "&#x00B3;">
+<!ENTITY plus  "&#x002B;">
+<!ENTITY plusmn        "&#x00B1;">
+<!ENTITY lt    "&#38;#60;">
+<!ENTITY equals        "&#x003D;">
+<!ENTITY gt    "&#x003E;">
+<!ENTITY divide        "&#x00F7;">
+<!ENTITY times "&#x00D7;">
+<!ENTITY curren        "&#x00A4;">
+<!ENTITY pound "&#x00A3;">
+<!ENTITY dollar        "&#x0024;">
+<!ENTITY cent  "&#x00A2;">
+<!ENTITY yen   "&#x00A5;">
+<!ENTITY num   "&#x0023;">
+<!ENTITY percnt        "&#x0025;">
+<!ENTITY amp   "&#38;#38;">
+<!ENTITY ast   "&#x002A;">
+<!ENTITY commat        "&#x0040;">
+<!ENTITY lsqb  "&#x005B;">
+<!ENTITY bsol  "&#x005C;">
+<!ENTITY rsqb  "&#x005D;">
+<!ENTITY lcub  "&#x007B;">
+<!ENTITY horbar        "&#x2015;">
+<!ENTITY verbar        "&#x007C;">
+<!ENTITY rcub  "&#x007D;">
+<!ENTITY micro "&#x00B5;">
+<!ENTITY ohm   "&#x2126;">
+<!ENTITY deg   "&#x00B0;">
+<!ENTITY ordm  "&#x00BA;">
+<!ENTITY ordf  "&#x00AA;">
+<!ENTITY sect  "&#x00A7;">
+<!ENTITY para  "&#x00B6;">
+<!ENTITY middot        "&#x00B7;">
+<!ENTITY larr  "&#x2190;">
+<!ENTITY rarr  "&#x2192;">
+<!ENTITY uarr  "&#x2191;">
+<!ENTITY darr  "&#x2193;">
+<!ENTITY copy  "&#x00A9;">
+<!ENTITY reg   "&#x00AE;">
+<!ENTITY trade "&#x2122;">
+<!ENTITY brvbar        "&#x00A6;">
+<!ENTITY not   "&#x00AC;">
+<!ENTITY sung  "&#x2669;">
+<!ENTITY excl  "&#x0021;">
+<!ENTITY iexcl "&#x00A1;">
+<!ENTITY quot  "&#x0022;">
+<!ENTITY apos  "&#x0027;">
+<!ENTITY lpar  "&#x0028;">
+<!ENTITY rpar  "&#x0029;">
+<!ENTITY comma "&#x002C;">
+<!ENTITY lowbar        "&#x005F;">
+<!ENTITY hyphen        "&#x002D;">
+<!ENTITY period        "&#x002E;">
+<!ENTITY sol   "&#x002F;">
+<!ENTITY colon "&#x003A;">
+<!ENTITY semi  "&#x003B;">
+<!ENTITY quest "&#x003F;">
+<!ENTITY iquest        "&#x00BF;">
+<!ENTITY laquo "&#x00AB;">
+<!ENTITY raquo "&#x00BB;">
+<!ENTITY lsquo "&#x2018;">
+<!ENTITY rsquo "&#x2019;">
+<!ENTITY ldquo "&#x201C;">
+<!ENTITY rdquo "&#x201D;">
+<!ENTITY nbsp  "&#x00A0;">
+<!ENTITY shy   "&#x00AD;">
+<!ENTITY emsp  "&#x2003;">
+<!ENTITY ensp  "&#x2002;">
+<!ENTITY emsp13        "&#x2004;">
+<!ENTITY emsp14        "&#x2005;">
+<!ENTITY numsp "&#x2007;">
+<!ENTITY puncsp        "&#x2008;">
+<!ENTITY thinsp        "&#x2009;">
+<!ENTITY hairsp        "&#x200A;">
+<!ENTITY mdash "&#x2014;">
+<!ENTITY ndash "&#x2013;">
+<!ENTITY dash  "&#x2010;">
+<!ENTITY blank "&#x2423;">
+<!ENTITY hellip        "&#x2026;">
+<!ENTITY nldr  "&#x2025;">
+<!ENTITY frac13        "&#x2153;">
+<!ENTITY frac23        "&#x2154;">
+<!ENTITY frac15        "&#x2155;">
+<!ENTITY frac25        "&#x2156;">
+<!ENTITY frac35        "&#x2157;">
+<!ENTITY frac45        "&#x2158;">
+<!ENTITY frac16        "&#x2159;">
+<!ENTITY frac56        "&#x215A;">
+<!ENTITY incare        "&#x2105;">
+<!ENTITY block "&#x2588;">
+<!ENTITY uhblk "&#x2580;">
+<!ENTITY lhblk "&#x2584;">
+<!ENTITY blk14 "&#x2591;">
+<!ENTITY blk12 "&#x2592;">
+<!ENTITY blk34 "&#x2593;">
+<!ENTITY marker        "&#x25AE;">
+<!ENTITY cir   "&#x25CB;">
+<!ENTITY squ   "&#x25A1;">
+<!ENTITY rect  "&#x25AD;">
+<!ENTITY utri  "&#x25B5;">
+<!ENTITY dtri  "&#x25BF;">
+<!ENTITY star  "&#x22C6;">
+<!ENTITY bull  "&#x2022;">
+<!ENTITY squf  "&#x25AA;">
+<!ENTITY utrif "&#x25B4;">
+<!ENTITY dtrif "&#x25BE;">
+<!ENTITY ltrif "&#x25C2;">
+<!ENTITY rtrif "&#x25B8;">
+<!ENTITY clubs "&#x2663;">
+<!ENTITY diams "&#x2666;">
+<!ENTITY hearts        "&#x2665;">
+<!ENTITY spades        "&#x2660;">
+<!ENTITY malt  "&#x2720;">
+<!ENTITY dagger        "&#x2020;">
+<!ENTITY Dagger        "&#x2021;">
+<!ENTITY check "&#x2713;">
+<!ENTITY cross "&#x2717;">
+<!ENTITY sharp "&#x266F;">
+<!ENTITY flat  "&#x266D;">
+<!ENTITY male  "&#x2642;">
+<!ENTITY female        "&#x2640;">
+<!ENTITY phone "&#x260E;">
+<!ENTITY telrec        "&#x2315;">
+<!ENTITY copysr        "&#x2117;">
+<!ENTITY caret "&#x2041;">
+<!ENTITY lsquor        "&#x201A;">
+<!ENTITY ldquor        "&#x201E;">
+<!ENTITY fflig "&#xFB00;">
+<!ENTITY filig "&#xFB01;">
+<!ENTITY ffilig        "&#xFB03;">
+<!ENTITY ffllig        "&#xFB04;">
+<!ENTITY fllig "&#xFB02;">
+<!ENTITY mldr  "&#x2026;">
+<!ENTITY rdquor        "&#x201C;">
+<!ENTITY rsquor        "&#x2018;">
+<!ENTITY vellip        "&#x22EE;">
+<!ENTITY hybull        "&#x2043;">
+<!ENTITY loz   "&#x25CA;">
+<!ENTITY lozf  "&#x2726;">
+<!ENTITY ltri  "&#x25C3;">
+<!ENTITY rtri  "&#x25B9;">
+<!ENTITY starf "&#x2605;">
+<!ENTITY natur "&#x266E;">
+<!ENTITY rx    "&#x211E;">
+<!ENTITY sext  "&#x2736;">
+<!ENTITY target        "&#x2316;">
+<!ENTITY dlcrop        "&#x230D;">
+<!ENTITY drcrop        "&#x230C;">
+<!ENTITY ulcrop        "&#x230F;">
+<!ENTITY urcrop        "&#x230E;">
+<!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">
+<!NOTATION SVG         SYSTEM "http://www.w3.org/TR/SVG/";>
+<!NOTATION linespecific        SYSTEM "linespecific">
+<!ENTITY euro "&#x20AC;">
+<!ENTITY % yesorno.attvals     "CDATA">
+<!ENTITY % formalobject.title.content "title, titleabbrev?">
+<!ENTITY % local.mediaobject.mix "">
+<!ENTITY % mediaobject.mix
+               "videoobject|audioobject|imageobject|textobject 
%local.mediaobject.mix;">
+<!ENTITY % role.attrib
+       "role           CDATA           #IMPLIED">
+<!ENTITY % label.attrib
+       "label          CDATA           #IMPLIED">
+<!ENTITY % linespecific.attrib
+       "format         NOTATION
+                       (linespecific)  'linespecific'
+         linenumbering (numbered|unnumbered)   #IMPLIED">
+<!ENTITY % linkendreq.attrib
+       "linkend        IDREF           #REQUIRED">
+<!ENTITY % local.mark.attrib "">
+<!ENTITY % mark.attrib
+       "mark           CDATA           #IMPLIED
+       %local.mark.attrib;"
+>
+<!ENTITY % moreinfo.attrib
+       "moreinfo       (refentry|none) 'none'">
+<!ENTITY % pagenum.attrib
+       "pagenum        CDATA           #IMPLIED">
+<!ENTITY % local.status.attrib "">
+<!ENTITY % status.attrib
+       "status         CDATA           #IMPLIED
+       %local.status.attrib;"
+>
+<!ENTITY % width.attrib
+       "width          CDATA           #IMPLIED">
+<!ENTITY % local.title.attrib "">
+<!ENTITY % title.role.attrib "%role.attrib;">
+<!ELEMENT title  (%title.char.mix;)*>
+<!ATTLIST title
+               %pagenum.attrib;
+               %common.attrib;
+               %title.role.attrib;
+               %local.title.attrib;
+>
+<!ENTITY % local.titleabbrev.attrib "">
+<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
+<!ELEMENT titleabbrev  (%title.char.mix;)*>
+<!ATTLIST titleabbrev
+               %common.attrib;
+               %titleabbrev.role.attrib;
+               %local.titleabbrev.attrib;
+>
+<!ENTITY % local.subtitle.attrib "">
+<!ENTITY % subtitle.role.attrib "%role.attrib;">
+<!ELEMENT subtitle  (%title.char.mix;)*>
+<!ATTLIST subtitle
+               %common.attrib;
+               %subtitle.role.attrib;
+               %local.subtitle.attrib;
+>
+<!ENTITY % local.bibliomixed.attrib "">
+<!ENTITY % bibliomixed.role.attrib "%role.attrib;">
+<!ATTLIST bibliomixed
+               %common.attrib;
+               %bibliomixed.role.attrib;
+               %local.bibliomixed.attrib;
+>
+<!ENTITY % local.articleinfo.attrib "">
+<!ENTITY % articleinfo.role.attrib "%role.attrib;">
+<!ATTLIST articleinfo
+               %common.attrib;
+               %articleinfo.role.attrib;
+               %local.articleinfo.attrib;
+>
+<!ENTITY % bibliomset.role.attrib "%role.attrib;">
+<!ENTITY % local.bibliomset.attrib "">
+<!ELEMENT bibliomset  (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+                      >
+<!ATTLIST bibliomset
+               relation        CDATA           #IMPLIED
+               %common.attrib;
+               %bibliomset.role.attrib;
+               %local.bibliomset.attrib;
+>
+<!ENTITY % local.bibliomisc.attrib "">
+<!ENTITY % bibliomisc.role.attrib "%role.attrib;">
+<!ELEMENT bibliomisc  (%para.char.mix;)*>
+<!ATTLIST bibliomisc
+               %common.attrib;
+               %bibliomisc.role.attrib;
+               %local.bibliomisc.attrib;
+>
+<!ENTITY % local.subjectset.attrib "">
+<!ENTITY % subjectset.role.attrib "%role.attrib;">
+<!ELEMENT subjectset  (subject+)>
+<!ATTLIST subjectset
+               scheme          NMTOKEN         #IMPLIED
+               %common.attrib;
+               %subjectset.role.attrib;
+               %local.subjectset.attrib;
+>
+<!ENTITY % local.subject.attrib "">
+<!ENTITY % subject.role.attrib "%role.attrib;">
+<!ELEMENT subject  (subjectterm+)>
+<!ATTLIST subject
+               weight          CDATA           #IMPLIED
+               %common.attrib;
+               %subject.role.attrib;
+               %local.subject.attrib;
+>
+<!ENTITY % local.subjectterm.attrib "">
+<!ENTITY % subjectterm.role.attrib "%role.attrib;">
+<!ELEMENT subjectterm  (#PCDATA)>
+<!ATTLIST subjectterm
+               %common.attrib;
+               %subjectterm.role.attrib;
+               %local.subjectterm.attrib;
+>
+<!ENTITY % local.keywordset.attrib "">
+<!ENTITY % keywordset.role.attrib "%role.attrib;">
+<!ELEMENT keywordset  (keyword+)>
+<!ATTLIST keywordset
+               %common.attrib;
+               %keywordset.role.attrib;
+               %local.keywordset.attrib;
+>
+<!ENTITY % local.keyword.attrib "">
+<!ENTITY % keyword.role.attrib "%role.attrib;">
+<!ELEMENT keyword  (#PCDATA)>
+<!ATTLIST keyword
+               %common.attrib;
+               %keyword.role.attrib;
+               %local.keyword.attrib;
+>
+<!ENTITY % local.sidebar.attrib "">
+<!ENTITY % sidebar.role.attrib "%role.attrib;">
+<!ATTLIST sidebar
+               %common.attrib;
+               %sidebar.role.attrib;
+               %local.sidebar.attrib;
+>
+<!ENTITY % local.abstract.attrib "">
+<!ENTITY % abstract.role.attrib "%role.attrib;">
+<!ELEMENT abstract  (title?, (%para.class;)+)>
+<!ATTLIST abstract
+               %common.attrib;
+               %abstract.role.attrib;
+               %local.abstract.attrib;
+>
+<!ENTITY % local.authorblurb.attrib "">
+<!ENTITY % authorblurb.role.attrib "%role.attrib;">
+<!ELEMENT authorblurb  (title?, (%para.class;)+)>
+<!ATTLIST authorblurb
+               %common.attrib;
+               %authorblurb.role.attrib;
+               %local.authorblurb.attrib;
+>
+<!ENTITY % local.blockquote.attrib "">
+<!ENTITY % blockquote.role.attrib "%role.attrib;">
+<!ELEMENT blockquote  (title?, attribution?, (%component.mix;)+)
+                      >
+<!ATTLIST blockquote
+               %common.attrib;
+               %blockquote.role.attrib;
+               %local.blockquote.attrib;
+>
+<!ENTITY % local.attribution.attrib "">
+<!ENTITY % attribution.role.attrib "%role.attrib;">
+<!ELEMENT attribution  (%para.char.mix;)*>
+<!ATTLIST attribution
+               %common.attrib;
+               %attribution.role.attrib;
+               %local.attribution.attrib;
+>
+<!ENTITY % local.epigraph.attrib "">
+<!ENTITY % epigraph.role.attrib "%role.attrib;">
+<!ELEMENT epigraph  (attribution?, ((%para.class;)|literallayout)+)>
+<!ATTLIST epigraph
+               %common.attrib;
+               %epigraph.role.attrib;
+               %local.epigraph.attrib;
+>
+<!ENTITY % local.footnote.attrib "">
+<!ENTITY % footnote.role.attrib "%role.attrib;">
+<!ELEMENT footnote  ((%footnote.mix;)+)
+                      >
+<!ATTLIST footnote
+               %label.attrib;
+               %common.attrib;
+               %footnote.role.attrib;
+               %local.footnote.attrib;
+>
+<!ENTITY % local.para.attrib "">
+<!ENTITY % para.role.attrib "%role.attrib;">
+<!ATTLIST para
+               %common.attrib;
+               %para.role.attrib;
+               %local.para.attrib;
+>
+<!ENTITY % local.admon.attrib "">
+<!ENTITY % admon.role.attrib "%role.attrib;">
+<!ELEMENT note  (title?, (%admon.mix;)+)
+                      >
+<!ATTLIST note
+               %common.attrib;
+               %admon.role.attrib;
+               %local.admon.attrib;
+>
+<!ENTITY % local.itemizedlist.attrib "">
+<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
+<!ATTLIST itemizedlist         spacing         (normal
+                               |compact)       #IMPLIED
+               %mark.attrib;
+               %common.attrib;
+               %itemizedlist.role.attrib;
+               %local.itemizedlist.attrib;
+>
+<!ENTITY % local.orderedlist.attrib "">
+<!ENTITY % orderedlist.role.attrib "%role.attrib;">
+<!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;
+>
+<!ENTITY % local.listitem.attrib "">
+<!ENTITY % listitem.role.attrib "%role.attrib;">
+<!ELEMENT listitem  ((%component.mix;)+)>
+<!ATTLIST listitem
+               override        CDATA           #IMPLIED
+               %common.attrib;
+               %listitem.role.attrib;
+               %local.listitem.attrib;
+>
+<!ENTITY % local.variablelist.attrib "">
+<!ENTITY % variablelist.role.attrib "%role.attrib;">
+<!ATTLIST variablelist
+               termlength      CDATA           #IMPLIED
+               %common.attrib;
+               %variablelist.role.attrib;
+               %local.variablelist.attrib;
+>
+<!ENTITY % local.varlistentry.attrib "">
+<!ENTITY % varlistentry.role.attrib "%role.attrib;">
+<!ELEMENT varlistentry  (term+, listitem)>
+<!ATTLIST varlistentry
+               %common.attrib;
+               %varlistentry.role.attrib;
+               %local.varlistentry.attrib;
+>
+<!ENTITY % local.term.attrib "">
+<!ENTITY % term.role.attrib "%role.attrib;">
+<!ELEMENT term  (%para.char.mix;)*>
+<!ATTLIST term
+               %common.attrib;
+               %term.role.attrib;
+               %local.term.attrib;
+>
+<!ENTITY % local.example.attrib "">
+<!ENTITY % example.role.attrib "%role.attrib;">
+<!ATTLIST example
+               %label.attrib;
+               %width.attrib;
+               %common.attrib;
+               %example.role.attrib;
+               %local.example.attrib;
+>
+<!ENTITY % local.programlisting.attrib "">
+<!ENTITY % programlisting.role.attrib "%role.attrib;">
+<!ATTLIST programlisting
+               %width.attrib;
+               %linespecific.attrib;
+               %common.attrib;
+               %programlisting.role.attrib;
+               %local.programlisting.attrib;
+>
+<!ENTITY % local.literallayout.attrib "">
+<!ENTITY % literallayout.role.attrib "%role.attrib;">
+<!ATTLIST literallayout
+               %width.attrib;
+               %linespecific.attrib;
+               class   (monospaced|normal)     "normal"
+               %common.attrib;
+               %literallayout.role.attrib;
+               %local.literallayout.attrib;
+>
+<!ENTITY % local.figure.attrib "">
+<!ENTITY % figure.role.attrib "%role.attrib;">
+<!ATTLIST figure
+               float           %yesorno.attvals;       '0'
+               pgwide          %yesorno.attvals;       #IMPLIED
+               %label.attrib;
+               %common.attrib;
+               %figure.role.attrib;
+               %local.figure.attrib;
+>
+<!ENTITY % local.mediaobject.attrib "">
+<!ENTITY % mediaobject.role.attrib "%role.attrib;">
+<!ELEMENT mediaobject  (objectinfo?,
+                           (%mediaobject.mix;)+,
+                          caption?)>
+<!ATTLIST mediaobject
+               %common.attrib;
+               %mediaobject.role.attrib;
+               %local.mediaobject.attrib;
+>
+<!ENTITY % local.inlinemediaobject.attrib "">
+<!ENTITY % inlinemediaobject.role.attrib "%role.attrib;">
+<!ELEMENT inlinemediaobject  (objectinfo?,
+                                (%mediaobject.mix;)+)>
+<!ATTLIST inlinemediaobject
+               %common.attrib;
+               %inlinemediaobject.role.attrib;
+               %local.inlinemediaobject.attrib;
+>
+<!ENTITY % local.videoobject.attrib "">
+<!ENTITY % videoobject.role.attrib "%role.attrib;">
+<!ELEMENT videoobject  (objectinfo?, videodata)>
+<!ATTLIST videoobject
+               %common.attrib;
+               %videoobject.role.attrib;
+               %local.videoobject.attrib;
+>
+<!ENTITY % local.audioobject.attrib "">
+<!ENTITY % audioobject.role.attrib "%role.attrib;">
+<!ELEMENT audioobject  (objectinfo?, audiodata)>
+<!ATTLIST audioobject
+               %common.attrib;
+               %audioobject.role.attrib;
+               %local.audioobject.attrib;
+>
+<!ENTITY % local.imageobject.attrib "">
+<!ENTITY % imageobject.role.attrib "%role.attrib;">
+<!ELEMENT imageobject  (objectinfo?, imagedata)>
+<!ATTLIST imageobject
+               %common.attrib;
+               %imageobject.role.attrib;
+               %local.imageobject.attrib;
+>
+<!ENTITY % local.textobject.attrib "">
+<!ENTITY % textobject.role.attrib "%role.attrib;">
+<!ELEMENT textobject  (objectinfo?, (phrase|textdata|(%textobject.mix;)+))>
+<!ATTLIST textobject
+               %common.attrib;
+               %textobject.role.attrib;
+               %local.textobject.attrib;
+>
+<!ENTITY % local.objectinfo.attrib "">
+<!ENTITY % objectinfo.role.attrib "%role.attrib;">
+<!ATTLIST objectinfo
+               %common.attrib;
+               %objectinfo.role.attrib;
+               %local.objectinfo.attrib;
+>
+<!ENTITY % local.objectdata.attrib "">
+<!ENTITY % objectdata.attrib
+       "
+       entityref       ENTITY          #IMPLIED
+       fileref         CDATA           #IMPLIED
+       format          (%notation.class;)
+                                       #IMPLIED
+       srccredit       CDATA           #IMPLIED
+       %local.objectdata.attrib;"
+>
+<!ENTITY % local.videodata.attrib "">
+<!ENTITY % videodata.role.attrib "%role.attrib;">
+<!ELEMENT videodata  EMPTY>
+<!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;
+>
+<!ENTITY % local.audiodata.attrib "">
+<!ENTITY % audiodata.role.attrib "%role.attrib;">
+<!ELEMENT audiodata  EMPTY>
+<!ATTLIST audiodata
+               %objectdata.attrib;
+               %common.attrib;
+               %audiodata.role.attrib;
+               %local.audiodata.attrib;
+>
+<!ENTITY % local.imagedata.attrib "">
+<!ENTITY % imagedata.role.attrib "%role.attrib;">
+<!ELEMENT imagedata  EMPTY>
+<!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;
+>
+<!ENTITY % local.textdata.attrib "">
+<!ENTITY % textdata.role.attrib "%role.attrib;">
+<!ELEMENT textdata  EMPTY>
+<!ATTLIST textdata
+               encoding        CDATA   #IMPLIED
+               %objectdata.attrib;
+               %common.attrib;
+               %textdata.role.attrib;
+               %local.textdata.attrib;
+>
+<!ENTITY % local.caption.attrib "">
+<!ENTITY % caption.role.attrib "%role.attrib;">
+<!ELEMENT caption  (%textobject.mix;)*>
+<!ATTLIST caption
+               %common.attrib;
+               %caption.role.attrib;
+               %local.caption.attrib;
+>
+<!ENTITY % tables.role.attrib "%role.attrib;">
+<!ENTITY % bodyatt "%label.attrib;">
+<!ENTITY % secur
+       "%common.attrib;
+       %tables.role.attrib;">
+<!ENTITY % common.table.attribs
+       "%bodyatt;
+       %secur;">
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+<!ENTITY % yesorno 'CDATA'>
+<!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">
+<!ELEMENT table  (%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  (%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  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  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  (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT tfoot  (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT tbody  (row+)>
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT row  (%tbl.row.mdl;)>
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT entrytbl  (%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  (%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;
+>
+<!ENTITY % local.informaltable.attrib "">
+<!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;
+>
+<!ENTITY % local.affiliation.attrib "">
+<!ENTITY % affiliation.role.attrib "%role.attrib;">
+<!ATTLIST affiliation
+               %common.attrib;
+               %affiliation.role.attrib;
+               %local.affiliation.attrib;
+>
+<!ENTITY % local.jobtitle.attrib "">
+<!ENTITY % jobtitle.role.attrib "%role.attrib;">
+<!ELEMENT jobtitle  (%docinfo.char.mix;)*>
+<!ATTLIST jobtitle
+               %common.attrib;
+               %jobtitle.role.attrib;
+               %local.jobtitle.attrib;
+>
+<!ENTITY % local.author.attrib "">
+<!ENTITY % author.role.attrib "%role.attrib;">
+<!ATTLIST author
+               %common.attrib;
+               %author.role.attrib;
+               %local.author.attrib;
+>
+<!ENTITY % local.authorgroup.attrib "">
+<!ENTITY % authorgroup.role.attrib "%role.attrib;">
+<!ATTLIST authorgroup
+               %common.attrib;
+               %authorgroup.role.attrib;
+               %local.authorgroup.attrib;
+>
+<!ENTITY % local.authorinitials.attrib "">
+<!ENTITY % authorinitials.role.attrib "%role.attrib;">
+<!ELEMENT authorinitials  (%docinfo.char.mix;)*>
+<!ATTLIST authorinitials
+               %common.attrib;
+               %authorinitials.role.attrib;
+               %local.authorinitials.attrib;
+>
+<!ENTITY % local.copyright.attrib "">
+<!ENTITY % copyright.role.attrib "%role.attrib;">
+<!ELEMENT copyright  (year+, holder*)>
+<!ATTLIST copyright
+               %common.attrib;
+               %copyright.role.attrib;
+               %local.copyright.attrib;
+>
+<!ENTITY % local.year.attrib "">
+<!ENTITY % year.role.attrib "%role.attrib;">
+<!ELEMENT year  (%docinfo.char.mix;)*>
+<!ATTLIST year
+               %common.attrib;
+               %year.role.attrib;
+               %local.year.attrib;
+>
+<!ENTITY % local.holder.attrib "">
+<!ENTITY % holder.role.attrib "%role.attrib;">
+<!ELEMENT holder  (%docinfo.char.mix;)*>
+<!ATTLIST holder
+               %common.attrib;
+               %holder.role.attrib;
+               %local.holder.attrib;
+>
+<!ENTITY % local.corpauthor.attrib "">
+<!ENTITY % corpauthor.role.attrib "%role.attrib;">
+<!ELEMENT corpauthor  (%docinfo.char.mix;)*>
+<!ATTLIST corpauthor
+               %common.attrib;
+               %corpauthor.role.attrib;
+               %local.corpauthor.attrib;
+>
+<!ENTITY % local.date.attrib "">
+<!ENTITY % date.role.attrib "%role.attrib;">
+<!ELEMENT date  (%docinfo.char.mix;)*>
+<!ATTLIST date
+               %common.attrib;
+               %date.role.attrib;
+               %local.date.attrib;
+>
+<!ENTITY % local.edition.attrib "">
+<!ENTITY % edition.role.attrib "%role.attrib;">
+<!ELEMENT edition  (%docinfo.char.mix;)*>
+<!ATTLIST edition
+               %common.attrib;
+               %edition.role.attrib;
+               %local.edition.attrib;
+>
+<!ENTITY % local.editor.attrib "">
+<!ENTITY % editor.role.attrib "%role.attrib;">
+<!ATTLIST editor
+               %common.attrib;
+               %editor.role.attrib;
+               %local.editor.attrib;
+>
+<!ENTITY % local.issuenum.attrib "">
+<!ENTITY % issuenum.role.attrib "%role.attrib;">
+<!ELEMENT issuenum  (%docinfo.char.mix;)*>
+<!ATTLIST issuenum
+               %common.attrib;
+               %issuenum.role.attrib;
+               %local.issuenum.attrib;
+>
+<!ENTITY % local.legalnotice.attrib "">
+<!ENTITY % legalnotice.role.attrib "%role.attrib;">
+<!ATTLIST legalnotice
+               %common.attrib;
+               %legalnotice.role.attrib;
+               %local.legalnotice.attrib;
+>
+<!ENTITY % local.orgname.attrib "">
+<!ENTITY % orgname.role.attrib "%role.attrib;">
+<!ELEMENT orgname  (%docinfo.char.mix;)*>
+<!ATTLIST orgname
+               %common.attrib;
+               class   (corporation|nonprofit|consortium|informal|other)       
#IMPLIED
+               otherclass      CDATA                   #IMPLIED
+               %orgname.role.attrib;
+               %local.orgname.attrib;
+>
+<!ENTITY % local.othercredit.attrib "">
+<!ENTITY % othercredit.role.attrib "%role.attrib;">
+<!ATTLIST othercredit
+               %common.attrib;
+               %othercredit.role.attrib;
+               %local.othercredit.attrib;
+>
+<!ENTITY % local.firstname.attrib "">
+<!ENTITY % firstname.role.attrib "%role.attrib;">
+<!ELEMENT firstname  (%docinfo.char.mix;)*>
+<!ATTLIST firstname
+               %common.attrib;
+               %firstname.role.attrib;
+               %local.firstname.attrib;
+>
+<!ENTITY % local.honorific.attrib "">
+<!ENTITY % honorific.role.attrib "%role.attrib;">
+<!ELEMENT honorific  (%docinfo.char.mix;)*>
+<!ATTLIST honorific
+               %common.attrib;
+               %honorific.role.attrib;
+               %local.honorific.attrib;
+>
+<!ENTITY % local.lineage.attrib "">
+<!ENTITY % lineage.role.attrib "%role.attrib;">
+<!ELEMENT lineage  (%docinfo.char.mix;)*>
+<!ATTLIST lineage
+               %common.attrib;
+               %lineage.role.attrib;
+               %local.lineage.attrib;
+>
+<!ENTITY % local.othername.attrib "">
+<!ENTITY % othername.role.attrib "%role.attrib;">
+<!ELEMENT othername  (%docinfo.char.mix;)*>
+<!ATTLIST othername
+               %common.attrib;
+               %othername.role.attrib;
+               %local.othername.attrib;
+>
+<!ENTITY % local.surname.attrib "">
+<!ENTITY % surname.role.attrib "%role.attrib;">
+<!ELEMENT surname  (%docinfo.char.mix;)*>
+<!ATTLIST surname
+               %common.attrib;
+               %surname.role.attrib;
+               %local.surname.attrib;
+>
+<!ENTITY % local.pubdate.attrib "">
+<!ENTITY % pubdate.role.attrib "%role.attrib;">
+<!ELEMENT pubdate  (%docinfo.char.mix;)*>
+<!ATTLIST pubdate
+               %common.attrib;
+               %pubdate.role.attrib;
+               %local.pubdate.attrib;
+>
+<!ENTITY % local.publishername.attrib "">
+<!ENTITY % publishername.role.attrib "%role.attrib;">
+<!ELEMENT publishername  (%docinfo.char.mix;)*>
+<!ATTLIST publishername
+               %common.attrib;
+               %publishername.role.attrib;
+               %local.publishername.attrib;
+>
+<!ENTITY % local.releaseinfo.attrib "">
+<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
+<!ELEMENT releaseinfo  (%docinfo.char.mix;)*>
+<!ATTLIST releaseinfo
+               %common.attrib;
+               %releaseinfo.role.attrib;
+               %local.releaseinfo.attrib;
+>
+<!ENTITY % local.revhistory.attrib "">
+<!ENTITY % revhistory.role.attrib "%role.attrib;">
+<!ELEMENT revhistory  (revision+)>
+<!ATTLIST revhistory
+               %common.attrib;
+               %revhistory.role.attrib;
+               %local.revhistory.attrib;
+>
+<!ENTITY % local.revision.attrib "">
+<!ENTITY % revision.role.attrib "%role.attrib;">
+<!ELEMENT revision  (revnumber, date, authorinitials*,
+                    (revremark|revdescription)?)>
+<!ATTLIST revision
+               %common.attrib;
+               %revision.role.attrib;
+               %local.revision.attrib;
+>
+<!ENTITY % local.revnumber.attrib "">
+<!ENTITY % revnumber.role.attrib "%role.attrib;">
+<!ELEMENT revnumber  (%docinfo.char.mix;)*>
+<!ATTLIST revnumber
+               %common.attrib;
+               %revnumber.role.attrib;
+               %local.revnumber.attrib;
+>
+<!ENTITY % local.revremark.attrib "">
+<!ENTITY % revremark.role.attrib "%role.attrib;">
+<!ELEMENT revremark  (%docinfo.char.mix;)*>
+<!ATTLIST revremark
+               %common.attrib;
+               %revremark.role.attrib;
+               %local.revremark.attrib;
+>
+<!ENTITY % local.revdescription.attrib "">
+<!ENTITY % revdescription.role.attrib "%role.attrib;">
+<!ELEMENT revdescription  ((%revdescription.mix;)+)>
+<!ATTLIST revdescription
+               %common.attrib;
+               %revdescription.role.attrib;
+               %local.revdescription.attrib;
+>
+<!ENTITY % local.volumenum.attrib "">
+<!ENTITY % volumenum.role.attrib "%role.attrib;">
+<!ELEMENT volumenum  (%docinfo.char.mix;)*>
+<!ATTLIST volumenum
+               %common.attrib;
+               %volumenum.role.attrib;
+               %local.volumenum.attrib;
+>
+<!ENTITY % local.command.attrib "">
+<!ENTITY % command.role.attrib "%role.attrib;">
+<!ELEMENT command  (%cptr.char.mix;)*>
+<!ATTLIST command
+               %moreinfo.attrib;
+               %common.attrib;
+               %command.role.attrib;
+               %local.command.attrib;
+>
+<!ENTITY % local.computeroutput.attrib "">
+<!ENTITY % computeroutput.role.attrib "%role.attrib;">
+<!ATTLIST computeroutput
+               %moreinfo.attrib;
+               %common.attrib;
+               %computeroutput.role.attrib;
+               %local.computeroutput.attrib;
+>
+<!ENTITY % local.email.attrib "">
+<!ENTITY % email.role.attrib "%role.attrib;">
+<!ELEMENT email  (%docinfo.char.mix;)*>
+<!ATTLIST email
+               %common.attrib;
+               %email.role.attrib;
+               %local.email.attrib;
+>
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+<!ELEMENT filename  (%cptr.char.mix;)*>
+<!ATTLIST filename
+               class           (headerfile
+                                |partition
+                                |devicefile
+                                |libraryfile
+                                |directory
+                                |extension
+                               |symlink)       #IMPLIED
+               path            CDATA           #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %filename.role.attrib;
+               %local.filename.attrib;
+>
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+<!ELEMENT lineannotation  (%para.char.mix;)*>
+<!ATTLIST lineannotation
+               %common.attrib;
+               %lineannotation.role.attrib;
+               %local.lineannotation.attrib;
+>
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+<!ELEMENT literal  (%cptr.char.mix;)*>
+<!ATTLIST literal
+               %moreinfo.attrib;
+               %common.attrib;
+               %literal.role.attrib;
+               %local.literal.attrib;
+>
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+<!ELEMENT option  (%cptr.char.mix;)*>
+<!ATTLIST option
+               %common.attrib;
+               %option.role.attrib;
+               %local.option.attrib;
+>
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+<!ATTLIST replaceable
+               class           (command
+                               |function
+                               |option
+                               |parameter)     #IMPLIED
+               %common.attrib;
+               %replaceable.role.attrib;
+               %local.replaceable.attrib;
+>
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+<!ATTLIST systemitem
+               class   (constant
+                       |event
+                       |eventhandler
+                       |domainname
+                       |fqdomainname
+                       |ipaddress
+                       |netmask
+                       |etheraddress
+                       |groupname
+                       |library
+                       |macro
+                       |osname
+                       |filesystem
+                       |resource
+                       |systemname
+                       |username
+                       |newsgroup)     #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %systemitem.role.attrib;
+               %local.systemitem.attrib;
+>
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+<!ATTLIST userinput
+               %moreinfo.attrib;
+               %common.attrib;
+               %userinput.role.attrib;
+               %local.userinput.attrib;
+>
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+<!ELEMENT abbrev  (%word.char.mix;)*>
+<!ATTLIST abbrev
+               %common.attrib;
+               %abbrev.role.attrib;
+               %local.abbrev.attrib;
+>
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+<!ELEMENT acronym  (%word.char.mix;)*
+               >
+<!ATTLIST acronym
+               %common.attrib;
+               %acronym.role.attrib;
+               %local.acronym.attrib;
+>
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+<!ELEMENT citetitle  (%para.char.mix;)*>
+<!ATTLIST citetitle
+               pubwork         (article
+                               |book
+                               |chapter
+                               |part
+                               |refentry
+                               |section
+                               |journal
+                               |series
+                               |set
+                               |manuscript)    #IMPLIED
+               %common.attrib;
+               %citetitle.role.attrib;
+               %local.citetitle.attrib;
+>
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+<!ELEMENT emphasis  (%para.char.mix;)*>
+<!ATTLIST emphasis
+               %common.attrib;
+               %emphasis.role.attrib;
+               %local.emphasis.attrib;
+>
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+<!ELEMENT phrase  (%para.char.mix;)*>
+<!ATTLIST phrase
+               %common.attrib;
+               %phrase.role.attrib;
+               %local.phrase.attrib;
+>
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+<!ELEMENT quote  (%para.char.mix;)*>
+<!ATTLIST quote
+               %common.attrib;
+               %quote.role.attrib;
+               %local.quote.attrib;
+>
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+<!ATTLIST trademark
+               class           (service
+                               |trade
+                               |registered
+                               |copyright)     'trade'
+               %common.attrib;
+               %trademark.role.attrib;
+               %local.trademark.attrib;
+>
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+<!ELEMENT link  (%para.char.mix;)*
+               >
+<!ATTLIST link
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             type            CDATA           
#IMPLIED
+               %common.attrib;
+               %link.role.attrib;
+               %local.link.attrib;
+>
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+<!ELEMENT ulink  (%para.char.mix;)*
+               >
+<!ATTLIST ulink
+               url             CDATA           #REQUIRED
+               type            CDATA           #IMPLIED
+               %common.attrib;
+               %ulink.role.attrib;
+               %local.ulink.attrib;
+>
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+<!ELEMENT footnoteref  EMPTY>
+<!ATTLIST footnoteref
+               %linkendreq.attrib;             %label.attrib;
+               %common.attrib;
+               %footnoteref.role.attrib;
+               %local.footnoteref.attrib;
+>
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+<!ELEMENT xref  EMPTY>
+<!ATTLIST xref
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             %common.attrib;
+               %xref.role.attrib;
+               %local.xref.attrib;
+>
+<!ENTITY % local.appendix.class "">
+<!ENTITY % appendix.class      "appendix %local.appendix.class;">
+<!ENTITY % div.title.content
+       "title, subtitle?, titleabbrev?">
+<!ENTITY % bookcomponent.title.content
+       "title, subtitle?, titleabbrev?">
+<!ENTITY % sect.title.content
+       "title, subtitle?, titleabbrev?">
+<!ENTITY % local.appendix.attrib "">
+<!ENTITY % appendix.role.attrib "%role.attrib;">
+<!ATTLIST appendix
+               %label.attrib;
+               %status.attrib;
+               %common.attrib;
+               %appendix.role.attrib;
+               %local.appendix.attrib;
+>
+<!ENTITY % local.section.attrib "">
+<!ENTITY % section.role.attrib "%role.attrib;">
+<!ATTLIST section
+               %label.attrib;
+               %status.attrib;
+               %common.attrib;
+               %section.role.attrib;
+               %local.section.attrib;
+>
+<!ENTITY % local.bibliography.attrib "">
+<!ENTITY % bibliography.role.attrib "%role.attrib;">
+<!ATTLIST bibliography
+               %status.attrib;
+               %common.attrib;
+               %bibliography.role.attrib;
+               %local.bibliography.attrib;
+>
+<!ENTITY % local.bibliodiv.attrib "">
+<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
+<!ATTLIST bibliodiv
+               %status.attrib;
+               %common.attrib;
+               %bibliodiv.role.attrib;
+               %local.bibliodiv.attrib;
+>
+<!ENTITY % local.article.attrib "">
+<!ENTITY % article.role.attrib "%role.attrib;">
+<!ATTLIST article
+               class           (journalarticle
+                               |productsheet
+                               |whitepaper
+                               |techreport
+                                |specification
+                               |faq)           #IMPLIED
+               parentbook      IDREF           #IMPLIED
+               %status.attrib;
+               %common.attrib;
+               %article.role.attrib;
+               %local.article.attrib;
+>
+<!ELEMENT objectinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT section (sectioninfo?,
+                       (%sect.title.content;),
+                       (((%divcomponent.mix;)+, section*)
+                        | section+))>
+<!ELEMENT sectioninfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT authorgroup ((author|editor|corpauthor|othercredit)+)>
+<!ELEMENT author ((%person.ident.mix;)+)>
+<!ELEMENT editor ((%person.ident.mix;)+)>
+<!ELEMENT othercredit ((%person.ident.mix;)+)>
+<!ELEMENT affiliation (jobtitle?, orgname?)>
+<!ELEMENT para (%para.char.mix;)*>
+<!ELEMENT informaltable (mediaobject+|tgroup+) >
+<!ELEMENT replaceable (#PCDATA 
+               | %link.char.class; 
+               | inlinemediaobject)*>
+<!ELEMENT trademark (#PCDATA 
+               | %link.char.class; 
+               | %tech.char.class;
+               | inlinemediaobject
+               | emphasis)*>
+<!ELEMENT article ((%div.title.content;)?, articleinfo?,
+                      (%bookcomponent.content;),
+                      ((%appendix.class;)|bibliography)*)>
+<!ELEMENT articleinfo ((mediaobject | legalnotice
+       | subjectset | keywordset | %bibliocomponent.mix;)+)>
+<!ELEMENT appendix ((%bookcomponent.title.content;),
+               (%bookcomponent.content;))>
+<!ELEMENT bibliography ((%bookcomponent.title.content;)?,
+                        (%component.mix;)*,
+                        (bibliodiv+ | bibliomixed+))>
+<!ELEMENT bibliomixed (#PCDATA | %bibliocomponent.mix; | bibliomset)*>
+<!ELEMENT bibliodiv ((%sect.title.content;)?, (%component.mix;)*,
+               (bibliomixed)+)>
+<!ELEMENT sidebar ((%formalobject.title.content;)?,
+                   (%sidebar.mix;)+)>
+<!ELEMENT programlisting (%para.char.mix; | lineannotation)*>
+<!ELEMENT literallayout (%para.char.mix; | lineannotation)*>
+<!ELEMENT itemizedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+<!ELEMENT orderedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+<!ELEMENT variablelist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, varlistentry+)>
+<!ELEMENT example ((%formalobject.title.content;), (%example.mix;)+)
+               >
+<!ELEMENT figure ((%formalobject.title.content;),
+                       (%figure.mix; | %link.char.class;)+)>
+<!ELEMENT legalnotice (title?, (%legalnotice.mix;)+)
+               >
+<!ELEMENT systemitem (%cptr.char.mix; | acronym)*>
+<!ELEMENT computeroutput  (%cptr.char.mix;)*>
+<!ELEMENT userinput  (%cptr.char.mix;)*>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbookref-custom.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbookref-custom.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,60 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook RefEntry DTD V1.0 ................................. -->
+<!-- File sdocbookref-custom.dtd .......................................... -->
+
+<!-- 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: sdocbookref-custom.dtd,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V1.0 of the Simplified DocBook
+     RefEntry XML DTD. Please use the following formal public identifier
+     to identify it:
+
+     "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+
+     For example:
+
+     <!DOCTYPE article
+               PUBLIC "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+      "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbookref.dtd";
+     [...]>
+-->
+
+<!-- ...................................................................... -->
+
+<!ENTITY % include.refentry "INCLUDE">
+
+<!ENTITY % local.refclass.char.mix "">
+<!ENTITY % refclass.char.mix
+               "#PCDATA
+               %local.refclass.char.mix;">
+
+<!ENTITY % sdocbook-custom.dtd SYSTEM "sdocbook-custom.dtd">
+%sdocbook-custom.dtd;
+
+<!-- End of Simplified DocBook RefEntry DTD V1.0 .......................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbookref.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sdocbookref.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1824 @@
+<!-- *********************************************************************
+     *** THIS IS THE FLATTENED DTD. DO NOT EDIT THIS DTD BY HAND, EDIT ***
+     *** THE CUSTOMIZATION LAYER AND REGNERATE THE FLATTENED DTD! ********
+     ********************************************************************* -->
+
+<!-- ...................................................................... -->
+<!-- Simplified DocBook RefEntry DTD V1.0 ................................. -->
+<!-- File sdocbookref-custom.dtd .......................................... -->
+
+<!-- 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: sdocbookref.dtd,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V1.0 of the Simplified DocBook
+     RefEntry XML DTD. Please use the following formal public identifier
+     to identify it:
+
+     "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+
+     For example:
+
+     <!DOCTYPE article
+               PUBLIC "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+      "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbookref.dtd";
+     [...]>
+-->
+
+<!-- ...................................................................... -->
+
+
+<!ENTITY % local.refclass.char.mix "">
+<!ENTITY % refclass.char.mix
+               "#PCDATA
+               %local.refclass.char.mix;">
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+               "itemizedlist|orderedlist
+               |variablelist %local.list.class;">
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+               "note %local.admon.class;">
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+               "literallayout|programlisting %local.linespecific.class;">
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+               "para %local.para.class;">
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+               "blockquote
+               |mediaobject
+               |informaltable %local.informal.class;">
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+               "example|figure|table %local.formal.class;">
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+               "sidebar %local.compound.class;">
+<!ENTITY % local.descobj.class "">
+<!ENTITY % descobj.class
+               "abstract|authorblurb|epigraph
+               %local.descobj.class;">
+<!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|citetitle|emphasis|footnote|phrase
+               |quote|trademark %local.gen.char.class;">
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+               "link|ulink %local.link.char.class;">
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+               "command|computeroutput
+               |email|filename
+               |literal
+               |option
+               |replaceable
+               |systemitem|userinput
+               %local.tech.char.class;">
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+               "author|corpauthor|othercredit
+               |revhistory
+               %local.docinfo.char.class;">
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+               "inlinemediaobject %local.inlineobj.char.class;">
+<!ENTITY % local.common.attrib "">
+<!ENTITY % common.attrib
+       "id             ID              #IMPLIED
+       lang            CDATA           #IMPLIED
+       revisionflag    (changed
+                       |added
+                       |deleted
+                       |off)           #IMPLIED
+       %local.common.attrib;"
+>
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+               "honorific|firstname|surname|lineage|othername|affiliation
+               |authorblurb
+               %local.person.ident.mix;">
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+               "abbrev|abstract|author
+               |authorgroup|bibliomisc
+               |copyright|corpauthor|date|edition
+               |editor|issuenum
+               |othercredit
+               |pubdate|publishername
+               |releaseinfo|revhistory
+               |subtitle|title|titleabbrev|volumenum|citetitle
+               |%person.ident.mix;
+               %local.bibliocomponent.mix;">
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.component.mix;">
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.sidebar.mix;">
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.revdescription.mix;">
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.footnote.mix;">
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.example.mix;">
+<!ENTITY % local.admon.mix "">
+<!ENTITY % admon.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.admon.mix;">
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+               "%linespecific.class;
+                                       |%informal.class;
+               %local.figure.mix;">
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |mediaobject
+               %local.tabentry.mix;">
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.legalnotice.mix;">
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.textobject.mix;">
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+               "                        %admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+                                       |%descobj.class;
+               %local.listpreamble.mix;">
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+                                       |%inlineobj.char.class;
+               %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;
+                                       |%docinfo.char.class;
+                                       |%inlineobj.char.class;
+               %local.title.char.mix;">
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+               "#PCDATA
+               |%link.char.class;      |%tech.char.class;
+                                       |inlinemediaobject
+               %local.cptr.char.mix;">
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+               "#PCDATA
+                                       |acronym|emphasis|trademark
+               |%link.char.class;
+                                       |inlinemediaobject
+               %local.word.char.mix;">
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+               "#PCDATA
+               |%link.char.class;
+                                       |emphasis|trademark
+                                       |replaceable
+                                       |inlinemediaobject
+               %local.docinfo.char.mix;">
+<!ENTITY % tbl.table.mdl
+       "(title, (mediaobject+|tgroup+))">
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+<!ENTITY % bookcomponent.content
+       "((%divcomponent.mix;)+, section*)
+       | section+">
+<!ENTITY % local.refinline.char.mix "">
+<!ENTITY % refinline.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+               %local.refinline.char.mix;">
+<!ENTITY % local.refcomponent.mix "">
+<!ENTITY % refcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+<!ELEMENT refentry (refentryinfo?, refmeta?, (%link.char.class;)*,
+                    refnamediv, refsynopsisdiv?, refsect1+)>
+<!ELEMENT refentryinfo ((mediaobject | legalnotice
+               | subjectset | keywordset
+                | %bibliocomponent.mix;)+)>
+<!ELEMENT refmeta (refentrytitle, manvolnum?, refmiscinfo*)>
+<!ELEMENT refsect1info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT refsect2info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT refsect3info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT refsynopsisdivinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT refnamediv (refdescriptor?, refname+, refpurpose, refclass*,
+               (%link.char.class;)*)>
+<!ENTITY aacute        "&#x00E1;">
+<!ENTITY Aacute        "&#x00C1;">
+<!ENTITY acirc "&#x00E2;">
+<!ENTITY Acirc "&#x00C2;">
+<!ENTITY agrave        "&#x00E0;">
+<!ENTITY Agrave        "&#x00C0;">
+<!ENTITY aring "&#x00E5;">
+<!ENTITY Aring "&#x00C5;">
+<!ENTITY atilde        "&#x00E3;">
+<!ENTITY Atilde        "&#x00C3;">
+<!ENTITY auml  "&#x00E4;">
+<!ENTITY Auml  "&#x00C4;">
+<!ENTITY aelig "&#x00E6;">
+<!ENTITY AElig "&#x00C6;">
+<!ENTITY ccedil        "&#x00E7;">
+<!ENTITY Ccedil        "&#x00C7;">
+<!ENTITY eth   "&#x00F0;">
+<!ENTITY ETH   "&#x00D0;">
+<!ENTITY eacute        "&#x00E9;">
+<!ENTITY Eacute        "&#x00C9;">
+<!ENTITY ecirc "&#x00EA;">
+<!ENTITY Ecirc "&#x00CA;">
+<!ENTITY egrave        "&#x00E8;">
+<!ENTITY Egrave        "&#x00C8;">
+<!ENTITY euml  "&#x00EB;">
+<!ENTITY Euml  "&#x00CB;">
+<!ENTITY iacute        "&#x00ED;">
+<!ENTITY Iacute        "&#x00CD;">
+<!ENTITY icirc "&#x00EE;">
+<!ENTITY Icirc "&#x00CE;">
+<!ENTITY igrave        "&#x00EC;">
+<!ENTITY Igrave        "&#x00CC;">
+<!ENTITY iuml  "&#x00EF;">
+<!ENTITY Iuml  "&#x00CF;">
+<!ENTITY ntilde        "&#x00F1;">
+<!ENTITY Ntilde        "&#x00D1;">
+<!ENTITY oacute        "&#x00F3;">
+<!ENTITY Oacute        "&#x00D3;">
+<!ENTITY ocirc "&#x00F4;">
+<!ENTITY Ocirc "&#x00D4;">
+<!ENTITY ograve        "&#x00F2;">
+<!ENTITY Ograve        "&#x00D2;">
+<!ENTITY oslash        "&#x00F8;">
+<!ENTITY Oslash        "&#x00D8;">
+<!ENTITY otilde        "&#x00F5;">
+<!ENTITY Otilde        "&#x00D5;">
+<!ENTITY ouml  "&#x00F6;">
+<!ENTITY Ouml  "&#x00D6;">
+<!ENTITY szlig "&#x00DF;">
+<!ENTITY thorn "&#x00FE;">
+<!ENTITY THORN "&#x00DE;">
+<!ENTITY uacute        "&#x00FA;">
+<!ENTITY Uacute        "&#x00DA;">
+<!ENTITY ucirc "&#x00FB;">
+<!ENTITY Ucirc "&#x00DB;">
+<!ENTITY ugrave        "&#x00F9;">
+<!ENTITY Ugrave        "&#x00D9;">
+<!ENTITY uuml  "&#x00FC;">
+<!ENTITY Uuml  "&#x00DC;">
+<!ENTITY yacute        "&#x00FD;">
+<!ENTITY Yacute        "&#x00DD;">
+<!ENTITY yuml  "&#x00FF;">
+<!ENTITY half  "&#x00BD;">
+<!ENTITY frac12        "&#x00BD;">
+<!ENTITY frac14        "&#x00BC;">
+<!ENTITY frac34        "&#x00BE;">
+<!ENTITY frac18        "&#x215B;">
+<!ENTITY frac38        "&#x215C;">
+<!ENTITY frac58        "&#x215D;">
+<!ENTITY frac78        "&#x215E;">
+<!ENTITY sup1  "&#x00B9;">
+<!ENTITY sup2  "&#x00B2;">
+<!ENTITY sup3  "&#x00B3;">
+<!ENTITY plus  "&#x002B;">
+<!ENTITY plusmn        "&#x00B1;">
+<!ENTITY lt    "&#38;#60;">
+<!ENTITY equals        "&#x003D;">
+<!ENTITY gt    "&#x003E;">
+<!ENTITY divide        "&#x00F7;">
+<!ENTITY times "&#x00D7;">
+<!ENTITY curren        "&#x00A4;">
+<!ENTITY pound "&#x00A3;">
+<!ENTITY dollar        "&#x0024;">
+<!ENTITY cent  "&#x00A2;">
+<!ENTITY yen   "&#x00A5;">
+<!ENTITY num   "&#x0023;">
+<!ENTITY percnt        "&#x0025;">
+<!ENTITY amp   "&#38;#38;">
+<!ENTITY ast   "&#x002A;">
+<!ENTITY commat        "&#x0040;">
+<!ENTITY lsqb  "&#x005B;">
+<!ENTITY bsol  "&#x005C;">
+<!ENTITY rsqb  "&#x005D;">
+<!ENTITY lcub  "&#x007B;">
+<!ENTITY horbar        "&#x2015;">
+<!ENTITY verbar        "&#x007C;">
+<!ENTITY rcub  "&#x007D;">
+<!ENTITY micro "&#x00B5;">
+<!ENTITY ohm   "&#x2126;">
+<!ENTITY deg   "&#x00B0;">
+<!ENTITY ordm  "&#x00BA;">
+<!ENTITY ordf  "&#x00AA;">
+<!ENTITY sect  "&#x00A7;">
+<!ENTITY para  "&#x00B6;">
+<!ENTITY middot        "&#x00B7;">
+<!ENTITY larr  "&#x2190;">
+<!ENTITY rarr  "&#x2192;">
+<!ENTITY uarr  "&#x2191;">
+<!ENTITY darr  "&#x2193;">
+<!ENTITY copy  "&#x00A9;">
+<!ENTITY reg   "&#x00AE;">
+<!ENTITY trade "&#x2122;">
+<!ENTITY brvbar        "&#x00A6;">
+<!ENTITY not   "&#x00AC;">
+<!ENTITY sung  "&#x2669;">
+<!ENTITY excl  "&#x0021;">
+<!ENTITY iexcl "&#x00A1;">
+<!ENTITY quot  "&#x0022;">
+<!ENTITY apos  "&#x0027;">
+<!ENTITY lpar  "&#x0028;">
+<!ENTITY rpar  "&#x0029;">
+<!ENTITY comma "&#x002C;">
+<!ENTITY lowbar        "&#x005F;">
+<!ENTITY hyphen        "&#x002D;">
+<!ENTITY period        "&#x002E;">
+<!ENTITY sol   "&#x002F;">
+<!ENTITY colon "&#x003A;">
+<!ENTITY semi  "&#x003B;">
+<!ENTITY quest "&#x003F;">
+<!ENTITY iquest        "&#x00BF;">
+<!ENTITY laquo "&#x00AB;">
+<!ENTITY raquo "&#x00BB;">
+<!ENTITY lsquo "&#x2018;">
+<!ENTITY rsquo "&#x2019;">
+<!ENTITY ldquo "&#x201C;">
+<!ENTITY rdquo "&#x201D;">
+<!ENTITY nbsp  "&#x00A0;">
+<!ENTITY shy   "&#x00AD;">
+<!ENTITY emsp  "&#x2003;">
+<!ENTITY ensp  "&#x2002;">
+<!ENTITY emsp13        "&#x2004;">
+<!ENTITY emsp14        "&#x2005;">
+<!ENTITY numsp "&#x2007;">
+<!ENTITY puncsp        "&#x2008;">
+<!ENTITY thinsp        "&#x2009;">
+<!ENTITY hairsp        "&#x200A;">
+<!ENTITY mdash "&#x2014;">
+<!ENTITY ndash "&#x2013;">
+<!ENTITY dash  "&#x2010;">
+<!ENTITY blank "&#x2423;">
+<!ENTITY hellip        "&#x2026;">
+<!ENTITY nldr  "&#x2025;">
+<!ENTITY frac13        "&#x2153;">
+<!ENTITY frac23        "&#x2154;">
+<!ENTITY frac15        "&#x2155;">
+<!ENTITY frac25        "&#x2156;">
+<!ENTITY frac35        "&#x2157;">
+<!ENTITY frac45        "&#x2158;">
+<!ENTITY frac16        "&#x2159;">
+<!ENTITY frac56        "&#x215A;">
+<!ENTITY incare        "&#x2105;">
+<!ENTITY block "&#x2588;">
+<!ENTITY uhblk "&#x2580;">
+<!ENTITY lhblk "&#x2584;">
+<!ENTITY blk14 "&#x2591;">
+<!ENTITY blk12 "&#x2592;">
+<!ENTITY blk34 "&#x2593;">
+<!ENTITY marker        "&#x25AE;">
+<!ENTITY cir   "&#x25CB;">
+<!ENTITY squ   "&#x25A1;">
+<!ENTITY rect  "&#x25AD;">
+<!ENTITY utri  "&#x25B5;">
+<!ENTITY dtri  "&#x25BF;">
+<!ENTITY star  "&#x22C6;">
+<!ENTITY bull  "&#x2022;">
+<!ENTITY squf  "&#x25AA;">
+<!ENTITY utrif "&#x25B4;">
+<!ENTITY dtrif "&#x25BE;">
+<!ENTITY ltrif "&#x25C2;">
+<!ENTITY rtrif "&#x25B8;">
+<!ENTITY clubs "&#x2663;">
+<!ENTITY diams "&#x2666;">
+<!ENTITY hearts        "&#x2665;">
+<!ENTITY spades        "&#x2660;">
+<!ENTITY malt  "&#x2720;">
+<!ENTITY dagger        "&#x2020;">
+<!ENTITY Dagger        "&#x2021;">
+<!ENTITY check "&#x2713;">
+<!ENTITY cross "&#x2717;">
+<!ENTITY sharp "&#x266F;">
+<!ENTITY flat  "&#x266D;">
+<!ENTITY male  "&#x2642;">
+<!ENTITY female        "&#x2640;">
+<!ENTITY phone "&#x260E;">
+<!ENTITY telrec        "&#x2315;">
+<!ENTITY copysr        "&#x2117;">
+<!ENTITY caret "&#x2041;">
+<!ENTITY lsquor        "&#x201A;">
+<!ENTITY ldquor        "&#x201E;">
+<!ENTITY fflig "&#xFB00;">
+<!ENTITY filig "&#xFB01;">
+<!ENTITY ffilig        "&#xFB03;">
+<!ENTITY ffllig        "&#xFB04;">
+<!ENTITY fllig "&#xFB02;">
+<!ENTITY mldr  "&#x2026;">
+<!ENTITY rdquor        "&#x201C;">
+<!ENTITY rsquor        "&#x2018;">
+<!ENTITY vellip        "&#x22EE;">
+<!ENTITY hybull        "&#x2043;">
+<!ENTITY loz   "&#x25CA;">
+<!ENTITY lozf  "&#x2726;">
+<!ENTITY ltri  "&#x25C3;">
+<!ENTITY rtri  "&#x25B9;">
+<!ENTITY starf "&#x2605;">
+<!ENTITY natur "&#x266E;">
+<!ENTITY rx    "&#x211E;">
+<!ENTITY sext  "&#x2736;">
+<!ENTITY target        "&#x2316;">
+<!ENTITY dlcrop        "&#x230D;">
+<!ENTITY drcrop        "&#x230C;">
+<!ENTITY ulcrop        "&#x230F;">
+<!ENTITY urcrop        "&#x230E;">
+<!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">
+<!NOTATION SVG         SYSTEM "http://www.w3.org/TR/SVG/";>
+<!NOTATION linespecific        SYSTEM "linespecific">
+<!ENTITY euro "&#x20AC;">
+<!ENTITY % yesorno.attvals     "CDATA">
+<!ENTITY % formalobject.title.content "title, titleabbrev?">
+<!ENTITY % local.mediaobject.mix "">
+<!ENTITY % mediaobject.mix
+               "videoobject|audioobject|imageobject|textobject 
%local.mediaobject.mix;">
+<!ENTITY % role.attrib
+       "role           CDATA           #IMPLIED">
+<!ENTITY % label.attrib
+       "label          CDATA           #IMPLIED">
+<!ENTITY % linespecific.attrib
+       "format         NOTATION
+                       (linespecific)  'linespecific'
+         linenumbering (numbered|unnumbered)   #IMPLIED">
+<!ENTITY % linkendreq.attrib
+       "linkend        IDREF           #REQUIRED">
+<!ENTITY % local.mark.attrib "">
+<!ENTITY % mark.attrib
+       "mark           CDATA           #IMPLIED
+       %local.mark.attrib;"
+>
+<!ENTITY % moreinfo.attrib
+       "moreinfo       (refentry|none) 'none'">
+<!ENTITY % pagenum.attrib
+       "pagenum        CDATA           #IMPLIED">
+<!ENTITY % local.status.attrib "">
+<!ENTITY % status.attrib
+       "status         CDATA           #IMPLIED
+       %local.status.attrib;"
+>
+<!ENTITY % width.attrib
+       "width          CDATA           #IMPLIED">
+<!ENTITY % local.title.attrib "">
+<!ENTITY % title.role.attrib "%role.attrib;">
+<!ELEMENT title  (%title.char.mix;)*>
+<!ATTLIST title
+               %pagenum.attrib;
+               %common.attrib;
+               %title.role.attrib;
+               %local.title.attrib;
+>
+<!ENTITY % local.titleabbrev.attrib "">
+<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
+<!ELEMENT titleabbrev  (%title.char.mix;)*>
+<!ATTLIST titleabbrev
+               %common.attrib;
+               %titleabbrev.role.attrib;
+               %local.titleabbrev.attrib;
+>
+<!ENTITY % local.subtitle.attrib "">
+<!ENTITY % subtitle.role.attrib "%role.attrib;">
+<!ELEMENT subtitle  (%title.char.mix;)*>
+<!ATTLIST subtitle
+               %common.attrib;
+               %subtitle.role.attrib;
+               %local.subtitle.attrib;
+>
+<!ENTITY % local.bibliomixed.attrib "">
+<!ENTITY % bibliomixed.role.attrib "%role.attrib;">
+<!ATTLIST bibliomixed
+               %common.attrib;
+               %bibliomixed.role.attrib;
+               %local.bibliomixed.attrib;
+>
+<!ENTITY % local.articleinfo.attrib "">
+<!ENTITY % articleinfo.role.attrib "%role.attrib;">
+<!ATTLIST articleinfo
+               %common.attrib;
+               %articleinfo.role.attrib;
+               %local.articleinfo.attrib;
+>
+<!ENTITY % bibliomset.role.attrib "%role.attrib;">
+<!ENTITY % local.bibliomset.attrib "">
+<!ELEMENT bibliomset  (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+                      >
+<!ATTLIST bibliomset
+               relation        CDATA           #IMPLIED
+               %common.attrib;
+               %bibliomset.role.attrib;
+               %local.bibliomset.attrib;
+>
+<!ENTITY % local.bibliomisc.attrib "">
+<!ENTITY % bibliomisc.role.attrib "%role.attrib;">
+<!ELEMENT bibliomisc  (%para.char.mix;)*>
+<!ATTLIST bibliomisc
+               %common.attrib;
+               %bibliomisc.role.attrib;
+               %local.bibliomisc.attrib;
+>
+<!ENTITY % local.subjectset.attrib "">
+<!ENTITY % subjectset.role.attrib "%role.attrib;">
+<!ELEMENT subjectset  (subject+)>
+<!ATTLIST subjectset
+               scheme          NMTOKEN         #IMPLIED
+               %common.attrib;
+               %subjectset.role.attrib;
+               %local.subjectset.attrib;
+>
+<!ENTITY % local.subject.attrib "">
+<!ENTITY % subject.role.attrib "%role.attrib;">
+<!ELEMENT subject  (subjectterm+)>
+<!ATTLIST subject
+               weight          CDATA           #IMPLIED
+               %common.attrib;
+               %subject.role.attrib;
+               %local.subject.attrib;
+>
+<!ENTITY % local.subjectterm.attrib "">
+<!ENTITY % subjectterm.role.attrib "%role.attrib;">
+<!ELEMENT subjectterm  (#PCDATA)>
+<!ATTLIST subjectterm
+               %common.attrib;
+               %subjectterm.role.attrib;
+               %local.subjectterm.attrib;
+>
+<!ENTITY % local.keywordset.attrib "">
+<!ENTITY % keywordset.role.attrib "%role.attrib;">
+<!ELEMENT keywordset  (keyword+)>
+<!ATTLIST keywordset
+               %common.attrib;
+               %keywordset.role.attrib;
+               %local.keywordset.attrib;
+>
+<!ENTITY % local.keyword.attrib "">
+<!ENTITY % keyword.role.attrib "%role.attrib;">
+<!ELEMENT keyword  (#PCDATA)>
+<!ATTLIST keyword
+               %common.attrib;
+               %keyword.role.attrib;
+               %local.keyword.attrib;
+>
+<!ENTITY % local.sidebar.attrib "">
+<!ENTITY % sidebar.role.attrib "%role.attrib;">
+<!ATTLIST sidebar
+               %common.attrib;
+               %sidebar.role.attrib;
+               %local.sidebar.attrib;
+>
+<!ENTITY % local.abstract.attrib "">
+<!ENTITY % abstract.role.attrib "%role.attrib;">
+<!ELEMENT abstract  (title?, (%para.class;)+)>
+<!ATTLIST abstract
+               %common.attrib;
+               %abstract.role.attrib;
+               %local.abstract.attrib;
+>
+<!ENTITY % local.authorblurb.attrib "">
+<!ENTITY % authorblurb.role.attrib "%role.attrib;">
+<!ELEMENT authorblurb  (title?, (%para.class;)+)>
+<!ATTLIST authorblurb
+               %common.attrib;
+               %authorblurb.role.attrib;
+               %local.authorblurb.attrib;
+>
+<!ENTITY % local.blockquote.attrib "">
+<!ENTITY % blockquote.role.attrib "%role.attrib;">
+<!ELEMENT blockquote  (title?, attribution?, (%component.mix;)+)
+                      >
+<!ATTLIST blockquote
+               %common.attrib;
+               %blockquote.role.attrib;
+               %local.blockquote.attrib;
+>
+<!ENTITY % local.attribution.attrib "">
+<!ENTITY % attribution.role.attrib "%role.attrib;">
+<!ELEMENT attribution  (%para.char.mix;)*>
+<!ATTLIST attribution
+               %common.attrib;
+               %attribution.role.attrib;
+               %local.attribution.attrib;
+>
+<!ENTITY % local.epigraph.attrib "">
+<!ENTITY % epigraph.role.attrib "%role.attrib;">
+<!ELEMENT epigraph  (attribution?, ((%para.class;)|literallayout)+)>
+<!ATTLIST epigraph
+               %common.attrib;
+               %epigraph.role.attrib;
+               %local.epigraph.attrib;
+>
+<!ENTITY % local.footnote.attrib "">
+<!ENTITY % footnote.role.attrib "%role.attrib;">
+<!ELEMENT footnote  ((%footnote.mix;)+)
+                      >
+<!ATTLIST footnote
+               %label.attrib;
+               %common.attrib;
+               %footnote.role.attrib;
+               %local.footnote.attrib;
+>
+<!ENTITY % local.para.attrib "">
+<!ENTITY % para.role.attrib "%role.attrib;">
+<!ATTLIST para
+               %common.attrib;
+               %para.role.attrib;
+               %local.para.attrib;
+>
+<!ENTITY % local.admon.attrib "">
+<!ENTITY % admon.role.attrib "%role.attrib;">
+<!ELEMENT note  (title?, (%admon.mix;)+)
+                      >
+<!ATTLIST note
+               %common.attrib;
+               %admon.role.attrib;
+               %local.admon.attrib;
+>
+<!ENTITY % local.itemizedlist.attrib "">
+<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
+<!ATTLIST itemizedlist         spacing         (normal
+                               |compact)       #IMPLIED
+               %mark.attrib;
+               %common.attrib;
+               %itemizedlist.role.attrib;
+               %local.itemizedlist.attrib;
+>
+<!ENTITY % local.orderedlist.attrib "">
+<!ENTITY % orderedlist.role.attrib "%role.attrib;">
+<!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;
+>
+<!ENTITY % local.listitem.attrib "">
+<!ENTITY % listitem.role.attrib "%role.attrib;">
+<!ELEMENT listitem  ((%component.mix;)+)>
+<!ATTLIST listitem
+               override        CDATA           #IMPLIED
+               %common.attrib;
+               %listitem.role.attrib;
+               %local.listitem.attrib;
+>
+<!ENTITY % local.variablelist.attrib "">
+<!ENTITY % variablelist.role.attrib "%role.attrib;">
+<!ATTLIST variablelist
+               termlength      CDATA           #IMPLIED
+               %common.attrib;
+               %variablelist.role.attrib;
+               %local.variablelist.attrib;
+>
+<!ENTITY % local.varlistentry.attrib "">
+<!ENTITY % varlistentry.role.attrib "%role.attrib;">
+<!ELEMENT varlistentry  (term+, listitem)>
+<!ATTLIST varlistentry
+               %common.attrib;
+               %varlistentry.role.attrib;
+               %local.varlistentry.attrib;
+>
+<!ENTITY % local.term.attrib "">
+<!ENTITY % term.role.attrib "%role.attrib;">
+<!ELEMENT term  (%para.char.mix;)*>
+<!ATTLIST term
+               %common.attrib;
+               %term.role.attrib;
+               %local.term.attrib;
+>
+<!ENTITY % local.example.attrib "">
+<!ENTITY % example.role.attrib "%role.attrib;">
+<!ATTLIST example
+               %label.attrib;
+               %width.attrib;
+               %common.attrib;
+               %example.role.attrib;
+               %local.example.attrib;
+>
+<!ENTITY % local.programlisting.attrib "">
+<!ENTITY % programlisting.role.attrib "%role.attrib;">
+<!ATTLIST programlisting
+               %width.attrib;
+               %linespecific.attrib;
+               %common.attrib;
+               %programlisting.role.attrib;
+               %local.programlisting.attrib;
+>
+<!ENTITY % local.literallayout.attrib "">
+<!ENTITY % literallayout.role.attrib "%role.attrib;">
+<!ATTLIST literallayout
+               %width.attrib;
+               %linespecific.attrib;
+               class   (monospaced|normal)     "normal"
+               %common.attrib;
+               %literallayout.role.attrib;
+               %local.literallayout.attrib;
+>
+<!ENTITY % local.figure.attrib "">
+<!ENTITY % figure.role.attrib "%role.attrib;">
+<!ATTLIST figure
+               float           %yesorno.attvals;       '0'
+               pgwide          %yesorno.attvals;       #IMPLIED
+               %label.attrib;
+               %common.attrib;
+               %figure.role.attrib;
+               %local.figure.attrib;
+>
+<!ENTITY % local.mediaobject.attrib "">
+<!ENTITY % mediaobject.role.attrib "%role.attrib;">
+<!ELEMENT mediaobject  (objectinfo?,
+                           (%mediaobject.mix;)+,
+                          caption?)>
+<!ATTLIST mediaobject
+               %common.attrib;
+               %mediaobject.role.attrib;
+               %local.mediaobject.attrib;
+>
+<!ENTITY % local.inlinemediaobject.attrib "">
+<!ENTITY % inlinemediaobject.role.attrib "%role.attrib;">
+<!ELEMENT inlinemediaobject  (objectinfo?,
+                                (%mediaobject.mix;)+)>
+<!ATTLIST inlinemediaobject
+               %common.attrib;
+               %inlinemediaobject.role.attrib;
+               %local.inlinemediaobject.attrib;
+>
+<!ENTITY % local.videoobject.attrib "">
+<!ENTITY % videoobject.role.attrib "%role.attrib;">
+<!ELEMENT videoobject  (objectinfo?, videodata)>
+<!ATTLIST videoobject
+               %common.attrib;
+               %videoobject.role.attrib;
+               %local.videoobject.attrib;
+>
+<!ENTITY % local.audioobject.attrib "">
+<!ENTITY % audioobject.role.attrib "%role.attrib;">
+<!ELEMENT audioobject  (objectinfo?, audiodata)>
+<!ATTLIST audioobject
+               %common.attrib;
+               %audioobject.role.attrib;
+               %local.audioobject.attrib;
+>
+<!ENTITY % local.imageobject.attrib "">
+<!ENTITY % imageobject.role.attrib "%role.attrib;">
+<!ELEMENT imageobject  (objectinfo?, imagedata)>
+<!ATTLIST imageobject
+               %common.attrib;
+               %imageobject.role.attrib;
+               %local.imageobject.attrib;
+>
+<!ENTITY % local.textobject.attrib "">
+<!ENTITY % textobject.role.attrib "%role.attrib;">
+<!ELEMENT textobject  (objectinfo?, (phrase|textdata|(%textobject.mix;)+))>
+<!ATTLIST textobject
+               %common.attrib;
+               %textobject.role.attrib;
+               %local.textobject.attrib;
+>
+<!ENTITY % local.objectinfo.attrib "">
+<!ENTITY % objectinfo.role.attrib "%role.attrib;">
+<!ATTLIST objectinfo
+               %common.attrib;
+               %objectinfo.role.attrib;
+               %local.objectinfo.attrib;
+>
+<!ENTITY % local.objectdata.attrib "">
+<!ENTITY % objectdata.attrib
+       "
+       entityref       ENTITY          #IMPLIED
+       fileref         CDATA           #IMPLIED
+       format          (%notation.class;)
+                                       #IMPLIED
+       srccredit       CDATA           #IMPLIED
+       %local.objectdata.attrib;"
+>
+<!ENTITY % local.videodata.attrib "">
+<!ENTITY % videodata.role.attrib "%role.attrib;">
+<!ELEMENT videodata  EMPTY>
+<!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;
+>
+<!ENTITY % local.audiodata.attrib "">
+<!ENTITY % audiodata.role.attrib "%role.attrib;">
+<!ELEMENT audiodata  EMPTY>
+<!ATTLIST audiodata
+               %objectdata.attrib;
+               %common.attrib;
+               %audiodata.role.attrib;
+               %local.audiodata.attrib;
+>
+<!ENTITY % local.imagedata.attrib "">
+<!ENTITY % imagedata.role.attrib "%role.attrib;">
+<!ELEMENT imagedata  EMPTY>
+<!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;
+>
+<!ENTITY % local.textdata.attrib "">
+<!ENTITY % textdata.role.attrib "%role.attrib;">
+<!ELEMENT textdata  EMPTY>
+<!ATTLIST textdata
+               encoding        CDATA   #IMPLIED
+               %objectdata.attrib;
+               %common.attrib;
+               %textdata.role.attrib;
+               %local.textdata.attrib;
+>
+<!ENTITY % local.caption.attrib "">
+<!ENTITY % caption.role.attrib "%role.attrib;">
+<!ELEMENT caption  (%textobject.mix;)*>
+<!ATTLIST caption
+               %common.attrib;
+               %caption.role.attrib;
+               %local.caption.attrib;
+>
+<!ENTITY % tables.role.attrib "%role.attrib;">
+<!ENTITY % bodyatt "%label.attrib;">
+<!ENTITY % secur
+       "%common.attrib;
+       %tables.role.attrib;">
+<!ENTITY % common.table.attribs
+       "%bodyatt;
+       %secur;">
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+<!ENTITY % yesorno 'CDATA'>
+<!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">
+<!ELEMENT table  (%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  (%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  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  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  (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT tfoot  (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT tbody  (row+)>
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT row  (%tbl.row.mdl;)>
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT entrytbl  (%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  (%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;
+>
+<!ENTITY % local.informaltable.attrib "">
+<!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;
+>
+<!ENTITY % local.affiliation.attrib "">
+<!ENTITY % affiliation.role.attrib "%role.attrib;">
+<!ATTLIST affiliation
+               %common.attrib;
+               %affiliation.role.attrib;
+               %local.affiliation.attrib;
+>
+<!ENTITY % local.jobtitle.attrib "">
+<!ENTITY % jobtitle.role.attrib "%role.attrib;">
+<!ELEMENT jobtitle  (%docinfo.char.mix;)*>
+<!ATTLIST jobtitle
+               %common.attrib;
+               %jobtitle.role.attrib;
+               %local.jobtitle.attrib;
+>
+<!ENTITY % local.author.attrib "">
+<!ENTITY % author.role.attrib "%role.attrib;">
+<!ATTLIST author
+               %common.attrib;
+               %author.role.attrib;
+               %local.author.attrib;
+>
+<!ENTITY % local.authorgroup.attrib "">
+<!ENTITY % authorgroup.role.attrib "%role.attrib;">
+<!ATTLIST authorgroup
+               %common.attrib;
+               %authorgroup.role.attrib;
+               %local.authorgroup.attrib;
+>
+<!ENTITY % local.authorinitials.attrib "">
+<!ENTITY % authorinitials.role.attrib "%role.attrib;">
+<!ELEMENT authorinitials  (%docinfo.char.mix;)*>
+<!ATTLIST authorinitials
+               %common.attrib;
+               %authorinitials.role.attrib;
+               %local.authorinitials.attrib;
+>
+<!ENTITY % local.copyright.attrib "">
+<!ENTITY % copyright.role.attrib "%role.attrib;">
+<!ELEMENT copyright  (year+, holder*)>
+<!ATTLIST copyright
+               %common.attrib;
+               %copyright.role.attrib;
+               %local.copyright.attrib;
+>
+<!ENTITY % local.year.attrib "">
+<!ENTITY % year.role.attrib "%role.attrib;">
+<!ELEMENT year  (%docinfo.char.mix;)*>
+<!ATTLIST year
+               %common.attrib;
+               %year.role.attrib;
+               %local.year.attrib;
+>
+<!ENTITY % local.holder.attrib "">
+<!ENTITY % holder.role.attrib "%role.attrib;">
+<!ELEMENT holder  (%docinfo.char.mix;)*>
+<!ATTLIST holder
+               %common.attrib;
+               %holder.role.attrib;
+               %local.holder.attrib;
+>
+<!ENTITY % local.corpauthor.attrib "">
+<!ENTITY % corpauthor.role.attrib "%role.attrib;">
+<!ELEMENT corpauthor  (%docinfo.char.mix;)*>
+<!ATTLIST corpauthor
+               %common.attrib;
+               %corpauthor.role.attrib;
+               %local.corpauthor.attrib;
+>
+<!ENTITY % local.date.attrib "">
+<!ENTITY % date.role.attrib "%role.attrib;">
+<!ELEMENT date  (%docinfo.char.mix;)*>
+<!ATTLIST date
+               %common.attrib;
+               %date.role.attrib;
+               %local.date.attrib;
+>
+<!ENTITY % local.edition.attrib "">
+<!ENTITY % edition.role.attrib "%role.attrib;">
+<!ELEMENT edition  (%docinfo.char.mix;)*>
+<!ATTLIST edition
+               %common.attrib;
+               %edition.role.attrib;
+               %local.edition.attrib;
+>
+<!ENTITY % local.editor.attrib "">
+<!ENTITY % editor.role.attrib "%role.attrib;">
+<!ATTLIST editor
+               %common.attrib;
+               %editor.role.attrib;
+               %local.editor.attrib;
+>
+<!ENTITY % local.issuenum.attrib "">
+<!ENTITY % issuenum.role.attrib "%role.attrib;">
+<!ELEMENT issuenum  (%docinfo.char.mix;)*>
+<!ATTLIST issuenum
+               %common.attrib;
+               %issuenum.role.attrib;
+               %local.issuenum.attrib;
+>
+<!ENTITY % local.legalnotice.attrib "">
+<!ENTITY % legalnotice.role.attrib "%role.attrib;">
+<!ATTLIST legalnotice
+               %common.attrib;
+               %legalnotice.role.attrib;
+               %local.legalnotice.attrib;
+>
+<!ENTITY % local.orgname.attrib "">
+<!ENTITY % orgname.role.attrib "%role.attrib;">
+<!ELEMENT orgname  (%docinfo.char.mix;)*>
+<!ATTLIST orgname
+               %common.attrib;
+               class   (corporation|nonprofit|consortium|informal|other)       
#IMPLIED
+               otherclass      CDATA                   #IMPLIED
+               %orgname.role.attrib;
+               %local.orgname.attrib;
+>
+<!ENTITY % local.othercredit.attrib "">
+<!ENTITY % othercredit.role.attrib "%role.attrib;">
+<!ATTLIST othercredit
+               %common.attrib;
+               %othercredit.role.attrib;
+               %local.othercredit.attrib;
+>
+<!ENTITY % local.firstname.attrib "">
+<!ENTITY % firstname.role.attrib "%role.attrib;">
+<!ELEMENT firstname  (%docinfo.char.mix;)*>
+<!ATTLIST firstname
+               %common.attrib;
+               %firstname.role.attrib;
+               %local.firstname.attrib;
+>
+<!ENTITY % local.honorific.attrib "">
+<!ENTITY % honorific.role.attrib "%role.attrib;">
+<!ELEMENT honorific  (%docinfo.char.mix;)*>
+<!ATTLIST honorific
+               %common.attrib;
+               %honorific.role.attrib;
+               %local.honorific.attrib;
+>
+<!ENTITY % local.lineage.attrib "">
+<!ENTITY % lineage.role.attrib "%role.attrib;">
+<!ELEMENT lineage  (%docinfo.char.mix;)*>
+<!ATTLIST lineage
+               %common.attrib;
+               %lineage.role.attrib;
+               %local.lineage.attrib;
+>
+<!ENTITY % local.othername.attrib "">
+<!ENTITY % othername.role.attrib "%role.attrib;">
+<!ELEMENT othername  (%docinfo.char.mix;)*>
+<!ATTLIST othername
+               %common.attrib;
+               %othername.role.attrib;
+               %local.othername.attrib;
+>
+<!ENTITY % local.surname.attrib "">
+<!ENTITY % surname.role.attrib "%role.attrib;">
+<!ELEMENT surname  (%docinfo.char.mix;)*>
+<!ATTLIST surname
+               %common.attrib;
+               %surname.role.attrib;
+               %local.surname.attrib;
+>
+<!ENTITY % local.pubdate.attrib "">
+<!ENTITY % pubdate.role.attrib "%role.attrib;">
+<!ELEMENT pubdate  (%docinfo.char.mix;)*>
+<!ATTLIST pubdate
+               %common.attrib;
+               %pubdate.role.attrib;
+               %local.pubdate.attrib;
+>
+<!ENTITY % local.publishername.attrib "">
+<!ENTITY % publishername.role.attrib "%role.attrib;">
+<!ELEMENT publishername  (%docinfo.char.mix;)*>
+<!ATTLIST publishername
+               %common.attrib;
+               %publishername.role.attrib;
+               %local.publishername.attrib;
+>
+<!ENTITY % local.releaseinfo.attrib "">
+<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
+<!ELEMENT releaseinfo  (%docinfo.char.mix;)*>
+<!ATTLIST releaseinfo
+               %common.attrib;
+               %releaseinfo.role.attrib;
+               %local.releaseinfo.attrib;
+>
+<!ENTITY % local.revhistory.attrib "">
+<!ENTITY % revhistory.role.attrib "%role.attrib;">
+<!ELEMENT revhistory  (revision+)>
+<!ATTLIST revhistory
+               %common.attrib;
+               %revhistory.role.attrib;
+               %local.revhistory.attrib;
+>
+<!ENTITY % local.revision.attrib "">
+<!ENTITY % revision.role.attrib "%role.attrib;">
+<!ELEMENT revision  (revnumber, date, authorinitials*,
+                    (revremark|revdescription)?)>
+<!ATTLIST revision
+               %common.attrib;
+               %revision.role.attrib;
+               %local.revision.attrib;
+>
+<!ENTITY % local.revnumber.attrib "">
+<!ENTITY % revnumber.role.attrib "%role.attrib;">
+<!ELEMENT revnumber  (%docinfo.char.mix;)*>
+<!ATTLIST revnumber
+               %common.attrib;
+               %revnumber.role.attrib;
+               %local.revnumber.attrib;
+>
+<!ENTITY % local.revremark.attrib "">
+<!ENTITY % revremark.role.attrib "%role.attrib;">
+<!ELEMENT revremark  (%docinfo.char.mix;)*>
+<!ATTLIST revremark
+               %common.attrib;
+               %revremark.role.attrib;
+               %local.revremark.attrib;
+>
+<!ENTITY % local.revdescription.attrib "">
+<!ENTITY % revdescription.role.attrib "%role.attrib;">
+<!ELEMENT revdescription  ((%revdescription.mix;)+)>
+<!ATTLIST revdescription
+               %common.attrib;
+               %revdescription.role.attrib;
+               %local.revdescription.attrib;
+>
+<!ENTITY % local.volumenum.attrib "">
+<!ENTITY % volumenum.role.attrib "%role.attrib;">
+<!ELEMENT volumenum  (%docinfo.char.mix;)*>
+<!ATTLIST volumenum
+               %common.attrib;
+               %volumenum.role.attrib;
+               %local.volumenum.attrib;
+>
+<!ENTITY % local.command.attrib "">
+<!ENTITY % command.role.attrib "%role.attrib;">
+<!ELEMENT command  (%cptr.char.mix;)*>
+<!ATTLIST command
+               %moreinfo.attrib;
+               %common.attrib;
+               %command.role.attrib;
+               %local.command.attrib;
+>
+<!ENTITY % local.computeroutput.attrib "">
+<!ENTITY % computeroutput.role.attrib "%role.attrib;">
+<!ATTLIST computeroutput
+               %moreinfo.attrib;
+               %common.attrib;
+               %computeroutput.role.attrib;
+               %local.computeroutput.attrib;
+>
+<!ENTITY % local.email.attrib "">
+<!ENTITY % email.role.attrib "%role.attrib;">
+<!ELEMENT email  (%docinfo.char.mix;)*>
+<!ATTLIST email
+               %common.attrib;
+               %email.role.attrib;
+               %local.email.attrib;
+>
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+<!ELEMENT filename  (%cptr.char.mix;)*>
+<!ATTLIST filename
+               class           (headerfile
+                                |partition
+                                |devicefile
+                                |libraryfile
+                                |directory
+                                |extension
+                               |symlink)       #IMPLIED
+               path            CDATA           #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %filename.role.attrib;
+               %local.filename.attrib;
+>
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+<!ELEMENT lineannotation  (%para.char.mix;)*>
+<!ATTLIST lineannotation
+               %common.attrib;
+               %lineannotation.role.attrib;
+               %local.lineannotation.attrib;
+>
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+<!ELEMENT literal  (%cptr.char.mix;)*>
+<!ATTLIST literal
+               %moreinfo.attrib;
+               %common.attrib;
+               %literal.role.attrib;
+               %local.literal.attrib;
+>
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+<!ELEMENT option  (%cptr.char.mix;)*>
+<!ATTLIST option
+               %common.attrib;
+               %option.role.attrib;
+               %local.option.attrib;
+>
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+<!ATTLIST replaceable
+               class           (command
+                               |function
+                               |option
+                               |parameter)     #IMPLIED
+               %common.attrib;
+               %replaceable.role.attrib;
+               %local.replaceable.attrib;
+>
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+<!ATTLIST systemitem
+               class   (constant
+                       |event
+                       |eventhandler
+                       |domainname
+                       |fqdomainname
+                       |ipaddress
+                       |netmask
+                       |etheraddress
+                       |groupname
+                       |library
+                       |macro
+                       |osname
+                       |filesystem
+                       |resource
+                       |systemname
+                       |username
+                       |newsgroup)     #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %systemitem.role.attrib;
+               %local.systemitem.attrib;
+>
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+<!ATTLIST userinput
+               %moreinfo.attrib;
+               %common.attrib;
+               %userinput.role.attrib;
+               %local.userinput.attrib;
+>
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+<!ELEMENT abbrev  (%word.char.mix;)*>
+<!ATTLIST abbrev
+               %common.attrib;
+               %abbrev.role.attrib;
+               %local.abbrev.attrib;
+>
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+<!ELEMENT acronym  (%word.char.mix;)*
+               >
+<!ATTLIST acronym
+               %common.attrib;
+               %acronym.role.attrib;
+               %local.acronym.attrib;
+>
+<!ENTITY % local.refentrytitle.attrib "">
+<!ENTITY % refentrytitle.role.attrib "%role.attrib;">
+<!ELEMENT refentrytitle  (%para.char.mix;)*>
+<!ATTLIST refentrytitle
+               %common.attrib;
+               %refentrytitle.role.attrib;
+               %local.refentrytitle.attrib;
+>
+<!ENTITY % local.manvolnum.attrib "">
+<!ENTITY % namvolnum.role.attrib "%role.attrib;">
+<!ELEMENT manvolnum  (%word.char.mix;)*>
+<!ATTLIST manvolnum
+               %common.attrib;
+               %namvolnum.role.attrib;
+               %local.manvolnum.attrib;
+>
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+<!ELEMENT citetitle  (%para.char.mix;)*>
+<!ATTLIST citetitle
+               pubwork         (article
+                               |book
+                               |chapter
+                               |part
+                               |refentry
+                               |section
+                               |journal
+                               |series
+                               |set
+                               |manuscript)    #IMPLIED
+               %common.attrib;
+               %citetitle.role.attrib;
+               %local.citetitle.attrib;
+>
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+<!ELEMENT emphasis  (%para.char.mix;)*>
+<!ATTLIST emphasis
+               %common.attrib;
+               %emphasis.role.attrib;
+               %local.emphasis.attrib;
+>
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+<!ELEMENT phrase  (%para.char.mix;)*>
+<!ATTLIST phrase
+               %common.attrib;
+               %phrase.role.attrib;
+               %local.phrase.attrib;
+>
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+<!ELEMENT quote  (%para.char.mix;)*>
+<!ATTLIST quote
+               %common.attrib;
+               %quote.role.attrib;
+               %local.quote.attrib;
+>
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+<!ATTLIST trademark
+               class           (service
+                               |trade
+                               |registered
+                               |copyright)     'trade'
+               %common.attrib;
+               %trademark.role.attrib;
+               %local.trademark.attrib;
+>
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+<!ELEMENT link  (%para.char.mix;)*
+               >
+<!ATTLIST link
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             type            CDATA           
#IMPLIED
+               %common.attrib;
+               %link.role.attrib;
+               %local.link.attrib;
+>
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+<!ELEMENT ulink  (%para.char.mix;)*
+               >
+<!ATTLIST ulink
+               url             CDATA           #REQUIRED
+               type            CDATA           #IMPLIED
+               %common.attrib;
+               %ulink.role.attrib;
+               %local.ulink.attrib;
+>
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+<!ELEMENT footnoteref  EMPTY>
+<!ATTLIST footnoteref
+               %linkendreq.attrib;             %label.attrib;
+               %common.attrib;
+               %footnoteref.role.attrib;
+               %local.footnoteref.attrib;
+>
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+<!ELEMENT xref  EMPTY>
+<!ATTLIST xref
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             %common.attrib;
+               %xref.role.attrib;
+               %local.xref.attrib;
+>
+<!ENTITY % local.appendix.class "">
+<!ENTITY % appendix.class      "appendix %local.appendix.class;">
+<!ENTITY % local.refname.char.mix "">
+<!ENTITY % refname.char.mix
+               "#PCDATA
+               |%tech.char.class;
+               %local.refname.char.mix;">
+<!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 % local.appendix.attrib "">
+<!ENTITY % appendix.role.attrib "%role.attrib;">
+<!ATTLIST appendix
+               %label.attrib;
+               %status.attrib;
+               %common.attrib;
+               %appendix.role.attrib;
+               %local.appendix.attrib;
+>
+<!ENTITY % local.section.attrib "">
+<!ENTITY % section.role.attrib "%role.attrib;">
+<!ATTLIST section
+               %label.attrib;
+               %status.attrib;
+               %common.attrib;
+               %section.role.attrib;
+               %local.section.attrib;
+>
+<!ENTITY % local.bibliography.attrib "">
+<!ENTITY % bibliography.role.attrib "%role.attrib;">
+<!ATTLIST bibliography
+               %status.attrib;
+               %common.attrib;
+               %bibliography.role.attrib;
+               %local.bibliography.attrib;
+>
+<!ENTITY % local.bibliodiv.attrib "">
+<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
+<!ATTLIST bibliodiv
+               %status.attrib;
+               %common.attrib;
+               %bibliodiv.role.attrib;
+               %local.bibliodiv.attrib;
+>
+<!ENTITY % local.refentry.attrib "">
+<!ENTITY % refentry.role.attrib "%role.attrib;">
+<!ATTLIST refentry
+               %status.attrib;
+               %common.attrib;
+               %refentry.role.attrib;
+               %local.refentry.attrib;
+>
+<!ENTITY % local.refmeta.attrib "">
+<!ENTITY % refmeta.role.attrib "%role.attrib;">
+<!ATTLIST refmeta
+               %common.attrib;
+               %refmeta.role.attrib;
+               %local.refmeta.attrib;
+>
+<!ENTITY % local.refmiscinfo.attrib "">
+<!ENTITY % refmiscinfo.role.attrib "%role.attrib;">
+<!ELEMENT refmiscinfo  (%docinfo.char.mix;)*>
+<!ATTLIST refmiscinfo
+               class           CDATA           #IMPLIED
+               %common.attrib;
+               %refmiscinfo.role.attrib;
+               %local.refmiscinfo.attrib;
+>
+<!ENTITY % local.refnamediv.attrib "">
+<!ENTITY % refnamediv.role.attrib "%role.attrib;">
+<!ATTLIST refnamediv
+               %common.attrib;
+               %refnamediv.role.attrib;
+               %local.refnamediv.attrib;
+>
+<!ENTITY % local.refdescriptor.attrib "">
+<!ENTITY % refdescriptor.role.attrib "%role.attrib;">
+<!ELEMENT refdescriptor  (%refname.char.mix;)*>
+<!ATTLIST refdescriptor
+               %common.attrib;
+               %refdescriptor.role.attrib;
+               %local.refdescriptor.attrib;
+>
+<!ENTITY % local.refname.attrib "">
+<!ENTITY % refname.role.attrib "%role.attrib;">
+<!ELEMENT refname  (%refname.char.mix;)*>
+<!ATTLIST refname
+               %common.attrib;
+               %refname.role.attrib;
+               %local.refname.attrib;
+>
+<!ENTITY % local.refpurpose.attrib "">
+<!ENTITY % refpurpose.role.attrib "%role.attrib;">
+<!ELEMENT refpurpose  (%refinline.char.mix;)*>
+<!ATTLIST refpurpose
+               %common.attrib;
+               %refpurpose.role.attrib;
+               %local.refpurpose.attrib;
+>
+<!ENTITY % local.refclass.attrib "">
+<!ENTITY % refclass.role.attrib "%role.attrib;">
+<!ELEMENT refclass  (%refclass.char.mix;)*>
+<!ATTLIST refclass
+               %common.attrib;
+               %refclass.role.attrib;
+               %local.refclass.attrib;
+>
+<!ENTITY % local.refsynopsisdiv.attrib "">
+<!ENTITY % refsynopsisdiv.role.attrib "%role.attrib;">
+<!ELEMENT refsynopsisdiv  (refsynopsisdivinfo?, (%refsect.title.content;)?,
+               (((%refcomponent.mix;)+, refsect2*) | (refsect2+)))>
+<!ATTLIST refsynopsisdiv
+               %common.attrib;
+               %refsynopsisdiv.role.attrib;
+               %local.refsynopsisdiv.attrib;
+>
+<!ENTITY % local.refsect1.attrib "">
+<!ENTITY % refsect1.role.attrib "%role.attrib;">
+<!ELEMENT refsect1  (refsect1info?, (%refsect.title.content;),
+               (((%refcomponent.mix;)+, refsect2*) | refsect2+))>
+<!ATTLIST refsect1
+               %status.attrib;
+               %common.attrib;
+               %refsect1.role.attrib;
+               %local.refsect1.attrib;
+>
+<!ENTITY % local.refsect2.attrib "">
+<!ENTITY % refsect2.role.attrib "%role.attrib;">
+<!ELEMENT refsect2  (refsect2info?, (%refsect.title.content;),
+       (((%refcomponent.mix;)+, refsect3*) | refsect3+))>
+<!ATTLIST refsect2
+               %status.attrib;
+               %common.attrib;
+               %refsect2.role.attrib;
+               %local.refsect2.attrib;
+>
+<!ENTITY % local.refsect3.attrib "">
+<!ENTITY % refsect3.role.attrib "%role.attrib;">
+<!ELEMENT refsect3  (refsect3info?, (%refsect.title.content;),
+       (%refcomponent.mix;)+)>
+<!ATTLIST refsect3
+               %status.attrib;
+               %common.attrib;
+               %refsect3.role.attrib;
+               %local.refsect3.attrib;
+>
+<!ENTITY % local.article.attrib "">
+<!ENTITY % article.role.attrib "%role.attrib;">
+<!ATTLIST article
+               class           (journalarticle
+                               |productsheet
+                               |whitepaper
+                               |techreport
+                                |specification
+                               |faq)           #IMPLIED
+               parentbook      IDREF           #IMPLIED
+               %status.attrib;
+               %common.attrib;
+               %article.role.attrib;
+               %local.article.attrib;
+>
+<!ELEMENT objectinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT section (sectioninfo?,
+                       (%sect.title.content;),
+                       (((%divcomponent.mix;)+, section*)
+                        | section+))>
+<!ELEMENT sectioninfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT authorgroup ((author|editor|corpauthor|othercredit)+)>
+<!ELEMENT author ((%person.ident.mix;)+)>
+<!ELEMENT editor ((%person.ident.mix;)+)>
+<!ELEMENT othercredit ((%person.ident.mix;)+)>
+<!ELEMENT affiliation (jobtitle?, orgname?)>
+<!ELEMENT para (%para.char.mix;)*>
+<!ELEMENT informaltable (mediaobject+|tgroup+) >
+<!ELEMENT replaceable (#PCDATA 
+               | %link.char.class; 
+               | inlinemediaobject)*>
+<!ELEMENT trademark (#PCDATA 
+               | %link.char.class; 
+               | %tech.char.class;
+               | inlinemediaobject
+               | emphasis)*>
+<!ELEMENT article ((%div.title.content;)?, articleinfo?,
+                      (%bookcomponent.content;),
+                      ((%appendix.class;)|bibliography)*)>
+<!ELEMENT articleinfo ((mediaobject | legalnotice
+       | subjectset | keywordset | %bibliocomponent.mix;)+)>
+<!ELEMENT appendix ((%bookcomponent.title.content;),
+               (%bookcomponent.content;))>
+<!ELEMENT bibliography ((%bookcomponent.title.content;)?,
+                        (%component.mix;)*,
+                        (bibliodiv+ | bibliomixed+))>
+<!ELEMENT bibliomixed (#PCDATA | %bibliocomponent.mix; | bibliomset)*>
+<!ELEMENT bibliodiv ((%sect.title.content;)?, (%component.mix;)*,
+               (bibliomixed)+)>
+<!ELEMENT sidebar ((%formalobject.title.content;)?,
+                   (%sidebar.mix;)+)>
+<!ELEMENT programlisting (%para.char.mix; | lineannotation)*>
+<!ELEMENT literallayout (%para.char.mix; | lineannotation)*>
+<!ELEMENT itemizedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+<!ELEMENT orderedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+<!ELEMENT variablelist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, varlistentry+)>
+<!ELEMENT example ((%formalobject.title.content;), (%example.mix;)+)
+               >
+<!ELEMENT figure ((%formalobject.title.content;),
+                       (%figure.mix; | %link.char.class;)+)>
+<!ELEMENT legalnotice (title?, (%legalnotice.mix;)+)
+               >
+<!ELEMENT systemitem (%cptr.char.mix; | acronym)*>
+<!ELEMENT computeroutput  (%cptr.char.mix;)*>
+<!ELEMENT userinput  (%cptr.char.mix;)*>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sinclist.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/sdocbook/1.0/sinclist.mod
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,317 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook Include Module V1.0 ............................... -->
+<!-- File sinclist.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: sinclist.mod,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!ENTITY % biblioset.module "IGNORE">
+<!ENTITY % isbn.module "IGNORE">
+<!ENTITY % issn.module "IGNORE">
+<!ENTITY % pagenums.module "IGNORE">
+<!ENTITY % simplelist.content.module "IGNORE">
+<!ENTITY % anchor.module "IGNORE">
+<!ENTITY % procedure.content.module "IGNORE">
+<!ENTITY % publisher.module "IGNORE">
+<!ENTITY % printhistory.module "IGNORE">
+<!ENTITY % address.content.module "IGNORE">
+<!ENTITY % glossterm.module "IGNORE">
+<!ENTITY % bibliomixed.element "IGNORE">
+<!ENTITY % bibliography.element "IGNORE">
+<!ENTITY % bibliodiv.element "IGNORE">
+<!ENTITY % biblioentry.module "IGNORE">
+<!ENTITY % glossary.content.module "IGNORE">
+<!ENTITY % glossentry.content.module "IGNORE">
+<!ENTITY % ssscript.module "IGNORE">
+<!ENTITY % caution.element "IGNORE">
+<!ENTITY % caution.attlist "IGNORE">
+<!ENTITY % important.element "IGNORE">
+<!ENTITY % important.attlist "IGNORE">
+<!ENTITY % tip.element "IGNORE">
+<!ENTITY % tip.attlist "IGNORE">
+<!ENTITY % warning.element "IGNORE">
+<!ENTITY % warning.attlist "IGNORE">
+<!ENTITY % remark.module "IGNORE">
+<!ENTITY % otherinfo.module "IGNORE">
+<!ENTITY % set.content.module "IGNORE">
+<!ENTITY % set.module "IGNORE">
+<!ENTITY % setinfo.module "IGNORE">
+<!ENTITY % book.content.module "IGNORE">
+<!ENTITY % book.module "IGNORE">
+<!ENTITY % bookinfo.module "IGNORE">
+<!ENTITY % dedication.module "IGNORE">
+<!ENTITY % colophon.module "IGNORE">
+<!ENTITY % toc.content.module "IGNORE">
+<!ENTITY % toc.module "IGNORE">
+<!ENTITY % tocfront.module "IGNORE">
+<!ENTITY % tocentry.module "IGNORE">
+<!ENTITY % tocpart.module "IGNORE">
+<!ENTITY % tocchap.module "IGNORE">
+<!ENTITY % toclevel1.module "IGNORE">
+<!ENTITY % toclevel2.module "IGNORE">
+<!ENTITY % toclevel3.module "IGNORE">
+<!ENTITY % toclevel4.module "IGNORE">
+<!ENTITY % toclevel5.module "IGNORE">
+<!ENTITY % tocback.module "IGNORE">
+<!ENTITY % lot.content.module "IGNORE">
+<!ENTITY % lot.module "IGNORE">
+<!ENTITY % lotentry.module "IGNORE">
+<!ENTITY % chapter.module "IGNORE">
+<!ENTITY % part.module "IGNORE">
+<!ENTITY % preface.module "IGNORE">
+<!ENTITY % reference.module "IGNORE">
+<!ENTITY % partintro.module "IGNORE">
+<!ENTITY % sect1.module "IGNORE">
+<!ENTITY % sect2.module "IGNORE">
+<!ENTITY % sect3.module "IGNORE">
+<!ENTITY % sect4.module "IGNORE">
+<!ENTITY % sect5.module "IGNORE">
+<!ENTITY % simplesect.module "IGNORE">
+<!ENTITY % index.content.module "IGNORE">
+<!ENTITY % indexes.module "IGNORE">
+<!ENTITY % indexdiv.module "IGNORE">
+<!ENTITY % indexentry.module "IGNORE">
+<!ENTITY % primsecterie.module "IGNORE">
+<!ENTITY % seeie.module "IGNORE">
+<!ENTITY % seealsoie.module "IGNORE">
+
+<![ %exclude.refentry; [
+<!ENTITY % refentry.content.module "IGNORE">
+<!ENTITY % refentry.module "IGNORE">
+<!ENTITY % refmeta.module "IGNORE">
+<!ENTITY % refmiscinfo.module "IGNORE">
+<!ENTITY % refnamediv.module "IGNORE">
+<!ENTITY % refdescriptor.module "IGNORE">
+<!ENTITY % refname.module "IGNORE">
+<!ENTITY % refpurpose.module "IGNORE">
+<!ENTITY % refclass.module "IGNORE">
+<!ENTITY % refsynopsisdiv.module "IGNORE">
+<!ENTITY % refsect1.module "IGNORE">
+<!ENTITY % refsect2.module "IGNORE">
+<!ENTITY % refsect3.module "IGNORE">
+<!ENTITY % refentrytitle.module "IGNORE">
+<!ENTITY % manvolnum.module "IGNORE">
+]]>
+
+<!ENTITY % bookbiblio.module "IGNORE">
+<!ENTITY % seriesinfo.module "IGNORE">
+<!ENTITY % itermset.module "IGNORE">
+<!ENTITY % msgset.content.module "IGNORE">
+<!ENTITY % msgset.module "IGNORE">
+<!ENTITY % msgentry.module "IGNORE">
+<!ENTITY % msg.module "IGNORE">
+<!ENTITY % msgmain.module "IGNORE">
+<!ENTITY % msgsub.module "IGNORE">
+<!ENTITY % msgrel.module "IGNORE">
+<!ENTITY % msginfo.module "IGNORE">
+<!ENTITY % msglevel.module "IGNORE">
+<!ENTITY % msgorig.module "IGNORE">
+<!ENTITY % msgaud.module "IGNORE">
+<!ENTITY % msgexplan.module "IGNORE">
+<!ENTITY % qandaset.content.module "IGNORE">
+<!ENTITY % qandaset.module "IGNORE">
+<!ENTITY % qandadiv.module "IGNORE">
+<!ENTITY % qandaentry.module "IGNORE">
+<!ENTITY % question.module "IGNORE">
+<!ENTITY % answer.module "IGNORE">
+<!ENTITY % label.module "IGNORE">
+<!ENTITY % bridgehead.module "IGNORE">
+<!ENTITY % highlights.module "IGNORE">
+<!ENTITY % formalpara.module "IGNORE">
+<!ENTITY % simpara.module "IGNORE">
+<!ENTITY % glosslist.module "IGNORE">
+<!ENTITY % segmentedlist.content.module "IGNORE">
+<!ENTITY % segmentedlist.module "IGNORE">
+<!ENTITY % segtitle.module "IGNORE">
+<!ENTITY % seglistitem.module "IGNORE">
+<!ENTITY % seg.module "IGNORE">
+<!ENTITY % calloutlist.content.module "IGNORE">
+<!ENTITY % calloutlist.module "IGNORE">
+<!ENTITY % callout.module "IGNORE">
+<!ENTITY % informalexample.module "IGNORE">
+<!ENTITY % programlistingco.module "IGNORE">
+<!ENTITY % areaspec.content.module "IGNORE">
+<!ENTITY % areaspec.module "IGNORE">
+<!ENTITY % area.module "IGNORE">
+<!ENTITY % areaset.module "IGNORE">
+<!ENTITY % screenco.module "IGNORE">
+<!ENTITY % screen.module "IGNORE">
+<!ENTITY % screenshot.content.module "IGNORE">
+<!ENTITY % screenshot.module "IGNORE">
+<!ENTITY % screeninfo.module "IGNORE">
+<!ENTITY % informalfigure.module "IGNORE">
+<!ENTITY % graphicco.module "IGNORE">
+<!ENTITY % graphic.module "IGNORE">
+<!ENTITY % equation.module "IGNORE">
+<!ENTITY % informalequation.module "IGNORE">
+<!ENTITY % inlineequation.module "IGNORE">
+<!ENTITY % inlinegraphic.module "IGNORE">
+<!ENTITY % alt.module "IGNORE">
+<!ENTITY % synopsis.module "IGNORE">
+<!ENTITY % cmdsynopsis.content.module "IGNORE">
+<!ENTITY % cmdsynopsis.module "IGNORE">
+<!ENTITY % arg.module "IGNORE">
+<!ENTITY % group.module "IGNORE">
+<!ENTITY % sbr.module "IGNORE">
+<!ENTITY % synopfragmentref.module "IGNORE">
+<!ENTITY % synopfragment.module "IGNORE">
+<!ENTITY % funcsynopsis.content.module "IGNORE">
+<!ENTITY % funcsynopsis.module "IGNORE">
+<!ENTITY % funcsynopsisinfo.module "IGNORE">
+<!ENTITY % funcprototype.module "IGNORE">
+<!ENTITY % funcdef.module "IGNORE">
+<!ENTITY % void.module "IGNORE">
+<!ENTITY % varargs.module "IGNORE">
+<!ENTITY % paramdef.module "IGNORE">
+<!ENTITY % funcparams.module "IGNORE">
+<!ENTITY % ackno.module "IGNORE">
+<!ENTITY % affiliation.element "IGNORE">
+  <!ENTITY % shortaffil.module "IGNORE">
+  <!ENTITY % orgdiv.module "IGNORE">
+<!ENTITY % artpagenums.module "IGNORE">
+  <!ENTITY % collab.content.module "IGNORE">
+  <!ENTITY % collab.module "IGNORE">
+    <!ENTITY % collabname.module "IGNORE">
+<!ENTITY % confgroup.content.module "IGNORE">
+<!ENTITY % confgroup.module "IGNORE">
+  <!ENTITY % confdates.module "IGNORE">
+  <!ENTITY % conftitle.module "IGNORE">
+  <!ENTITY % confnum.module "IGNORE">
+  <!ENTITY % confsponsor.module "IGNORE">
+<!ENTITY % contractnum.module "IGNORE">
+<!ENTITY % contractsponsor.module "IGNORE">
+<!ENTITY % corpname.module "IGNORE">
+<!ENTITY % invpartnumber.module "IGNORE">
+<!ENTITY % modespec.module "IGNORE">
+  <!ENTITY % contrib.module "IGNORE">
+<!ENTITY % productname.module "IGNORE">
+<!ENTITY % productnumber.module "IGNORE">
+<!ENTITY % pubsnumber.module "IGNORE">
+<!ENTITY % seriesvolnums.module "IGNORE">
+<!ENTITY % accel.module "IGNORE">
+<!ENTITY % action.module "IGNORE">
+<!ENTITY % application.module "IGNORE">
+<!ENTITY % classname.module "IGNORE">
+<!ENTITY % co.module "IGNORE">
+<!ENTITY % database.module "IGNORE">
+<!ENTITY % envar.module "IGNORE">
+<!ENTITY % errorcode.module "IGNORE">
+<!ENTITY % errorname.module "IGNORE">
+<!ENTITY % errortype.module "IGNORE">
+<!ENTITY % function.module "IGNORE">
+<!ENTITY % guibutton.module "IGNORE">
+<!ENTITY % guiicon.module "IGNORE">
+<!ENTITY % guilabel.module "IGNORE">
+<!ENTITY % guimenu.module "IGNORE">
+<!ENTITY % guimenuitem.module "IGNORE">
+<!ENTITY % guisubmenu.module "IGNORE">
+<!ENTITY % hardware.module "IGNORE">
+<!ENTITY % interface.module "IGNORE">
+<!ENTITY % interfacedefinition.module "IGNORE">
+<!ENTITY % keycap.module "IGNORE">
+<!ENTITY % keycode.module "IGNORE">
+<!ENTITY % keycombo.module "IGNORE">
+<!ENTITY % keysym.module "IGNORE">
+<!ENTITY % constant.module "IGNORE">
+<!ENTITY % varname.module "IGNORE">
+<!ENTITY % markup.module "IGNORE">
+<!ENTITY % mediaobjectco.module "IGNORE">
+<!ENTITY % imageobjectco.module "IGNORE">
+<!ENTITY % medialabel.module "IGNORE">
+<!ENTITY % menuchoice.content.module "IGNORE">
+<!ENTITY % menuchoice.module "IGNORE">
+<!ENTITY % shortcut.module "IGNORE">
+<!ENTITY % mousebutton.module "IGNORE">
+<!ENTITY % msgtext.module "IGNORE">
+<!ENTITY % optional.module "IGNORE">
+<!ENTITY % parameter.module "IGNORE">
+<!ENTITY % prompt.module "IGNORE">
+<!ENTITY % property.module "IGNORE">
+<!ENTITY % returnvalue.module "IGNORE">
+<!ENTITY % sgmltag.module "IGNORE">
+<!ENTITY % structfield.module "IGNORE">
+<!ENTITY % structname.module "IGNORE">
+<!ENTITY % symbol.module "IGNORE">
+<!ENTITY % token.module "IGNORE">
+<!ENTITY % type.module "IGNORE">
+<!ENTITY % citation.module "IGNORE">
+<!ENTITY % citerefentry.module "IGNORE">
+<!ENTITY % firstterm.module "IGNORE">
+<!ENTITY % foreignphrase.module "IGNORE">
+<!ENTITY % wordasword.module "IGNORE">
+<!ENTITY % olink.module "IGNORE">
+<!ENTITY % footnoteref.module "INCLUDE">
+<!ENTITY % beginpage.module "IGNORE">
+<!ENTITY % indexterm.content.module "IGNORE">
+<!ENTITY % indexterm.module "IGNORE">
+<!ENTITY % primsecter.module "IGNORE">
+<!ENTITY % seeseealso.module "IGNORE">
+
+<!-- new in 4.0 -->
+<!ENTITY % classsynopsis.content.module "IGNORE">
+
+<!ENTITY % bibliographyinfo.module "IGNORE">
+<!ENTITY % chapterinfo.module "IGNORE">
+<!ENTITY % glossaryinfo.module "IGNORE">
+<!ENTITY % indexinfo.module "IGNORE">
+<!ENTITY % partinfo.module "IGNORE">
+<!ENTITY % prefaceinfo.module "IGNORE">
+<!ENTITY % refentryinfo.module "IGNORE">
+<!ENTITY % referenceinfo.module "IGNORE">
+<!ENTITY % refsect1info.module "IGNORE">
+<!ENTITY % refsect2info.module "IGNORE">
+<!ENTITY % refsect3info.module "IGNORE">
+<!ENTITY % refsynopsisdivinfo.module "IGNORE">
+<!ENTITY % sect1info.element "IGNORE">
+<!ENTITY % sect1info.attlist "IGNORE">
+<!ENTITY % sect2info.element "IGNORE">
+<!ENTITY % sect2info.attlist "IGNORE">
+<!ENTITY % sect3info.element "IGNORE">
+<!ENTITY % sect3info.attlist "IGNORE">
+<!ENTITY % sect4info.element "IGNORE">
+<!ENTITY % sect4info.attlist "IGNORE">
+<!ENTITY % sect5info.element "IGNORE">
+<!ENTITY % sect5info.attlist "IGNORE">
+<!ENTITY % sectioninfo.module "IGNORE">
+<!ENTITY % setindexinfo.module "IGNORE">
+<!ENTITY % sidebarinfo.module "IGNORE">
+
+<!-- new in 4.2 -->
+<!ENTITY % blockinfo.module "IGNORE">
+<!ENTITY % refsectioninfo.module "IGNORE">
+<!ENTITY % refsection.module "IGNORE">
+<!ENTITY % personname.module "IGNORE">
+<!ENTITY % personblurb.module "IGNORE">
+<!ENTITY % bibliocoverage.module "IGNORE">
+<!ENTITY % biblioid.module "IGNORE">
+<!ENTITY % bibliorelation.module "IGNORE">
+<!ENTITY % bibliosource.module "IGNORE">
+<!ENTITY % citebiblioid.module "IGNORE">
+<!ENTITY % coref.module "IGNORE">
+<!ENTITY % errortext.module "IGNORE">
+
+<!-- End of Simplified DocBook Include Module V1.0 ........................ -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/catalog
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/catalog 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,27 @@
+OVERRIDE       YES
+
+
+        -- Oasis entity catalog for Extensible HTML 1.0 --
+
+PUBLIC  "-//W3C//DTD XHTML 1.0 Strict//EN"        "xhtml1-strict.dtd"
+PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN"  "xhtml1-transitional.dtd"
+PUBLIC  "-//W3C//DTD XHTML 1.0 Frameset//EN"      "xhtml1-frameset.dtd"
+
+        -- ISO latin 1 entity set for Extensible HTML (XML 1.0 format) --
+
+PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml-lat1.ent"
+PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "xhtml-symbol.ent"
+PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "xhtml-special.ent"
+
+-- FIXME: What it is the purpose in the Forrest and Cocoon context --
+-- SGMLDECL "xhtml1.dcl" --
+
+
+
+        -- Scalable Vector Graphics and Styleable SVG --
+
+PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" "svg-20000303-stylable.dtd"
+PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN"   "svg-20000303-shared.dtd"
+PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN" "svg-20000303-exchange.dtd"
+
+PUBLIC "-//W3C//DTD SVG 1.0//EN"               "svg10.dtd"

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/catalog.xcat
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/catalog.xcat
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,39 @@
+<?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 W3C stuff like XHTML and SVG -->
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
+         prefer="public">
+
+<!-- Extensible HTML 1.0 -->
+<public publicId="-//W3C//DTD XHTML 1.0 Strict//EN"
+        uri="xhtml1-strict.dtd"/>
+<public publicId="-//W3C//DTD XHTML 1.0 Transitional//EN"
+        uri="xhtml1-transitional.dtd"/>
+<public publicId="-//W3C//DTD XHTML 1.0 Frameset//EN"
+        uri="xhtml1-frameset.dtd"/>
+
+<!-- ISO latin 1 entity set for Extensible HTML (XML 1.0 format) -->
+<public publicId="-//W3C//ENTITIES Latin 1 for XHTML//EN"
+        uri="xhtml-lat1.ent"/>
+<public publicId="-//W3C//ENTITIES Symbols for XHTML//EN"
+        uri="xhtml-symbol.ent"/>
+<public publicId="-//W3C//ENTITIES Special for XHTML//EN"
+        uri="xhtml-special.ent"/>
+
+<!-- FIXME: What it is the purpose in the Forrest and Cocoon context -->
+<!--
+<sgmldecl uri="xhtml1.dcl"/>
+-->
+
+<!-- Scalable Vector Graphics and Styleable SVG -->
+<public publicId="-//W3C//DTD SVG 20000303 Stylable//EN"
+        uri="svg-20000303-stylable.dtd"/>
+<public publicId="-//W3C//DTD SVG 20000303 Shared//EN"
+        uri="svg-20000303-shared.dtd"/>
+<public publicId="-//W3C//DTD SVG 20000303 Exchange//EN"
+        uri="svg-20000303-exchange.dtd"/>
+<public publicId="-//W3C//DTD SVG 1.0//EN"
+        uri="svg10.dtd"/>
+
+</catalog>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-exchange.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-exchange.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,59 @@
+<!--
+  This is the DTD for Exchange SVG. It adds various visual rendering 
attributes 
+  to the Shared DTD.
+
+  In most cases, authors should use the DTD for Stylable SVG.
+  The DTD for Exchange SVG is available for specific purposes
+  as described in the Exchange SVG chapter of the SVG specification.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2000/03/WD-SVG-20000303/
+
+  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For this working draft:
+
+    Namespaces:
+      Stylable SVG:     http://www.w3.org/2000/svg-20000303-stylable
+      Exchange SVG:   http://www.w3.org/2000/svg-20000303-exchange  
+
+    Public identifiers:
+      PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN"
+
+    URIs for the DTDs:
+      http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-shared.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd
+
+  Typical usage in the case of stand-alone Exchange SVG documents:
+
+<?xml version="1.0" ... ?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN" 
+  "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd";>
+<svg ...>
+ ...
+</svg>
+
+  Typical usage when Exchange SVG is embedded inline within a parent XML 
document:
+
+<?xml version="1.0" ... ?>
+<!DOCTYPE foo ... >
+<foo ...>
+ ...
+ <svg xmlns="http://www.w3.org/2000/svg-20000303-exchange"; ... >
+    ...
+ </svg>
+ ...
+</foo>
+-->
+
+
+<!ENTITY % StylableSVG "IGNORE" >
+<!ENTITY % ExchangeSVG "INCLUDE" >
+<!ENTITY % SVGNamespace "http://www.w3.org/2000/svg-20000303-exchange"; >
+<!ENTITY % Shared PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN" 
"svg-20000303-shared.dtd" >
+%Shared;
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-shared.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-shared.dtd
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1600 @@
+<!--
+  This is the Shared DTD for SVG 1.0 (draft 20000303). It contains the
+  element, attribute and entities definitions which are common to the 
+  DTD for Stylable SVG and the DTD for Exchange SVG.
+
+  The only purpose of the Shared DTD is to serve as a single definition for
+  the definitions of elements, attributes and entities that are common to
+  the DTD for Stylable SVG and the DTD for Exchange SVG.
+  The Shared DTD should not be used directly; instead, use either the
+  DTD for Stylable SVG or the DTD for Exchange SVG.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2000/03/WD-SVG-20000303/
+
+  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For this working draft:
+
+    Namespaces:
+      Stylable SVG:     http://www.w3.org/2000/svg-20000303-stylable
+      Exchange SVG:   http://www.w3.org/2000/svg-20000303-exchange  
+
+    Public identifiers:
+      PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN"
+
+    URIs for the DTDs:
+      http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-shared.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd
+-->
+
+
+<!--=================== Entity definitions ===================-->
+
+<!ENTITY % BaselineShiftValue "CDATA">
+    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', 
etc.) -->
+
+<!ENTITY % Boolean "(false | true)">
+    <!-- feature specification -->
+
+<!ENTITY % ClassList "CDATA">
+    <!-- list of classes -->
+
+<!ENTITY % ClipValue "CDATA">
+    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
+
+<!ENTITY % ClipPathValue "CDATA">
+    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % ClipFillRule "(evenodd | nonzero | inherit)">
+    <!-- 'clip-rule' or fill-rule property/attribute value -->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % Coordinate "CDATA">
+    <!-- a <coordinate> -->
+
+<!ENTITY % Coordinates "CDATA">
+    <!-- a list of <coordinate>s -->
+
+<!ENTITY % CSSColor "CDATA">
+    <!-- a <color> value, as per [CSS2-color] -->
+
+<!ENTITY % CursorValue "CDATA">
+    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
+
+<!ENTITY % EnableBackgroundValue "CDATA">
+    <!-- 'enable-background' property/attribute value (e.g., 'new', 
'accumulate') -->
+
+<!ENTITY % Feature "CDATA">
+    <!-- feature specification -->
+
+<!ENTITY % FilterValue "CDATA">
+    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % FontFamilyValue "CDATA">
+    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
+
+<!ENTITY % FontSizeValue "CDATA">
+    <!-- 'font-size' property/attribute value -->
+
+<!ENTITY % FontSizeAdjustValue "CDATA">
+    <!-- 'font-size-adjust' property/attribute value -->
+
+<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
+    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., 
<angle>) -->
+
+<!ENTITY % GlyphOrientationVerticalValue "CDATA">
+    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', 
<angle>) -->
+
+<!ENTITY % Integer "CDATA">
+    <!-- a <integer> -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC1766] -->
+
+<!ENTITY % LanguageCodes "CDATA">
+    <!-- comma-separated list of language codes, as per [RFC1766] -->
+
+<!ENTITY % Length "CDATA">
+    <!-- a <length> -->
+
+<!ENTITY % Lengths "CDATA">
+    <!-- a list of <length>s -->
+
+<!ENTITY % LinkTarget "NMTOKEN">
+    <!-- link to this target -->
+
+<!ENTITY % MarkerValue "CDATA">
+    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % MaskValue "CDATA">
+    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % Number "CDATA">
+    <!-- a <number> -->
+
+<!ENTITY % OpacityValue "CDATA">
+    <!-- opacity value (e.g., <number>) -->
+
+<!ENTITY % Paint "CDATA">
+    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
+
+<!ENTITY % PathData "CDATA">
+    <!-- a path data specification -->
+
+<!ENTITY % Points "CDATA">
+    <!-- a list of points -->
+
+<!ENTITY % PreserveAspectRatioSpec "CDATA">
+    <!-- 'preserveAspectRatio' attribute specification -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % SpacingValue "CDATA">
+    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., 
normal | <length>) -->
+
+<!ENTITY % StopColorValue "CDATA">
+    <!-- 'stop-color' property/attribute value  -->
+
+<!ENTITY % StrokeDashArrayValue "CDATA">
+    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of 
<number>s) -->
+
+<!ENTITY % StrokeDashOffsetValue "CDATA">
+    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) 
-->
+
+<!ENTITY % StrokeMiterLimitValue "CDATA">
+    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
+
+<!ENTITY % StrokeWidthValue "CDATA">
+    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
+
+<!ENTITY % StructuredText
+  "content CDATA #FIXED 'structured text'" >
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % SVGColor "CDATA">
+    <!-- An SVG color value (RGB plus optional ICC) -->
+
+<!ENTITY % TextDecorationValue "CDATA">
+    <!-- 'text-decoration' property/attribute value (e.g., 'none', 
'underline') -->
+
+<!ENTITY % TransformList "CDATA">
+    <!-- list of transforms -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [URI] -->
+
+<!ENTITY % ViewBoxSpec "CDATA">
+    <!-- 'viewBox' attribute specification -->
+
+<!-- This entity allows for at most one of desc and title,
+     supplied in any order -->
+<!ENTITY % descTitle
+          "((desc,title?)|(title,desc?)?)" >
+
+<!-- This entity allows for at most one of desc, title and defs,
+     supplied in any order -->
+<!ENTITY % descTitleDefs
+          "(((desc,((title,defs?)|(defs,title?))?)|
+              (title,((desc,defs?)|(defs,desc?))?)|
+              (defs,((desc,title?)|(title,desc?))?))?)" >
+
+<!-- All elements have an ID. -->
+<!ENTITY % stdAttrs
+ "id ID #IMPLIED" >
+
+<!-- Common attributes for elements that might contain character data content. 
-->
+<!ENTITY % langSpaceAttrs
+ "xml:lang %LanguageCode; #IMPLIED
+  xml:space (default|preserve) #IMPLIED" >
+
+<!-- Common attributes to check for system capabilities. -->
+<!ENTITY % testAttrs
+ "system-required %Feature; #IMPLIED
+  system-language %LanguageCodes; #IMPLIED" >
+
+<!-- For most uses of URI referencing:
+        standard XLink attributes other than xlink:href. -->
+<!ENTITY % xlinkRefAttrs
+ "xmlns:xlink CDATA #FIXED 'http://www.w3.org/2000/xlink/namespace/'
+  xlink:type (simple|extended|locator|arc) 'simple' 
+  xlink:role CDATA #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (new|embed|replace) 'embed'
+  xlink:actuate (onRequest|onLoad) 'onLoad'" >
+
+<!ENTITY % graphicsElementEvents
+  "onfocusin %Script; #IMPLIED
+   onfocusout %Script; #IMPLIED
+   onactivate %Script; #IMPLIED
+   onmousedown %Script; #IMPLIED
+   onmouseup %Script; #IMPLIED
+   onclick %Script; #IMPLIED
+   ondblclick %Script; #IMPLIED
+   onmouseover %Script; #IMPLIED
+   onmousemove %Script; #IMPLIED
+   onmouseout %Script; #IMPLIED
+   onkeydown %Script; #IMPLIED
+   onkeypress %Script; #IMPLIED
+   onkeyup %Script; #IMPLIED
+   onload %Script; #IMPLIED
+   onselect %Script; #IMPLIED" >
+
+<!ENTITY % documentEvents
+  "onresize %Script; #IMPLIED
+   onscroll %Script; #IMPLIED
+   onunload %Script; #IMPLIED
+   onzoom %Script; #IMPLIED
+   onerror %Script; #IMPLIED
+   onabort %Script; #IMPLIED " >
+
+
+<!-- Definitions of elements and attributes that only apply to Stylable SVG -->
+
+<!-- Stylable SVG has a 'style' element and puts a 'style' attribute on most 
elements. -->
+<![%StylableSVG;[
+  <!ENTITY % StylableSVG-StyleElement 
+    "|style" >
+
+  <!ENTITY % StylableSVG-StyleAttribute 
+    "style %StyleSheet; #IMPLIED" >
+]]>
+
+<!-- These elements and attributes are not available for Exchange SVG. -->
+<![%ExchangeSVG;[
+  <!-- For Exchange SVG only, the 'style' attribute and 'style' element 
+       are removed from most elements. -->
+  <!ENTITY % StylableSVG-StyleAttribute "" >
+  <!ENTITY % StylableSVG-StyleElement "" >
+]]>
+
+
+<!-- Definitions of attribute collections that only apply to Exchange SVG -->
+
+<![%ExchangeSVG;[
+  <!-- For Exchange SVG only, all container elements have these attributes. -->
+  <!ENTITY % ExchangeSVG-ContainerAttrs
+    "enable-background %EnableBackgroundValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, attributes on elements that can be filled or 
stroked. -->
+  <!ENTITY % ExchangeSVG-FillStrokeAttrs
+    "fill %Paint; #IMPLIED
+     fill-opacity %OpacityValue; #IMPLIED
+     fill-rule %ClipFillRule; #IMPLIED
+     stroke %Paint; #IMPLIED
+     stroke-dasharray %StrokeDashArrayValue; #IMPLIED
+     stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
+     stroke-linecap (butt | round | square | inherit) #IMPLIED
+     stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
+     stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
+     stroke-opacity %OpacityValue; #IMPLIED
+     stroke-width %StrokeWidthValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, all gradient elements have these attributes. -->
+  <!ENTITY % ExchangeSVG-GradientAttrs
+    "stop-color %StopColorValue; #IMPLIED
+     stop-opacity %OpacityValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, all graphics elements have these attributes. -->
+  <!ENTITY % ExchangeSVG-GraphicsAttrs
+    "clip-path %ClipPathValue; #IMPLIED
+     clip-rule %ClipFillRule; #IMPLIED
+     color %CSSColor; #IMPLIED
+     color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
+     color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) 
#IMPLIED
+     cursor %CursorValue; #IMPLIED
+     display (inline | block | list-item | run-in | compact | marker |
+              table | inline-table | table-row-group | table-header-group |
+              table-footer-group | table-row | table-column-group | 
table-column |
+              table-cell | table-caption | none | inherit) #IMPLIED
+     filter %FilterValue; #IMPLIED
+     image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) 
#IMPLIED
+     mask %MaskValue; #IMPLIED
+     opacity %OpacityValue; #IMPLIED
+     pointer-events (visiblePainted | visibleFill | visibleStroke | 
visibleFillStroke | visible |
+                     painted | fill | stroke | fillstroke | all | none | 
inherit) #IMPLIED
+     shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | 
inherit) #IMPLIED
+     text-rendering (auto | optimizeSpeed | optimizeLegibility | 
geometricPrecision | inherit) #IMPLIED
+     visibility (visible | hidden | inherit) #IMPLIED " >
+
+  <!-- For Exchange SVG only, container elements and certain graphics elements 
have these attributes. -->
+  <!ENTITY % ExchangeSVG-MarkerAttrs
+    "marker-start %MarkerValue; #IMPLIED
+     marker-mid %MarkerValue; #IMPLIED
+     marker-end %MarkerValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, all text container elements have these 
attributes. -->
+  <!ENTITY % ExchangeSVG-TextContainerAttrs
+    "baseline-identifier (baseline | top | before-edge | text-top | 
text-before-edge |
+                          middle | bottom | after-edge | text-bottom | 
text-after-edge |
+                          ideographic | lower | hanging | mathematical | 
inherit) #IMPLIED
+     baseline-shift %BaselineShiftValue; #IMPLIED
+     direction (ltr | rtl | inherit) #IMPLIED
+     font-family %FontFamilyValue; #IMPLIED
+     font-size %FontSizeValue; #IMPLIED
+     font-size-adjust %FontSizeAdjustValue; #IMPLIED
+     font-stretch (normal | wider | narrower | ultra-condensed | 
extra-condensed |
+                   condensed | semi-condensed | semi-expanded | expanded |
+                   extra-expanded | ultra-expanded | inherit) #IMPLIED
+     font-style (normal | italic | oblique | inherit) #IMPLIED
+     font-variant (normal | small-caps | inherit) #IMPLIED
+     font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
+                 400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED
+     glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
+     glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
+     letter-spacing %SpacingValue; #IMPLIED
+     text-decoration %TextDecorationValue; #IMPLIED
+     unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
+     word-spacing %SpacingValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, the 'text' element has these attributes. -->
+  <!ENTITY % ExchangeSVG-TextElementAttrs
+    "dominant-baseline (auto | autosense-script | no-change | reset|
+                        ideographic | lower | hanging | mathematical | inherit 
) #IMPLIED
+     text-anchor (start | middle | end | inherit) #IMPLIED
+     writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
+
+  <!-- For Exchange SVG only, all elements that establish viewports have these 
attributes. -->
+  <!ENTITY % ExchangeSVG-ViewportAttrs
+    "clip %ClipValue; #IMPLIED
+     overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
+
+  <!-- For Exchange SVG only, feFlood has these attributes. -->
+  <!ENTITY % ExchangeSVG-feFloodAttrs
+    "flood-color %SVGColor; #IMPLIED
+     flood-opacity %OpacityValue; #IMPLIED " >
+]]>
+
+<!-- These above Exchange SVG attribute collections 
+     are not available for Stylable SVG. -->
+<![%StylableSVG;[
+  <!ENTITY % ExchangeSVG-ContainerAttrs "" >
+  <!ENTITY % ExchangeSVG-FillStrokeAttrs "" >
+  <!ENTITY % ExchangeSVG-GradientAttrs "" >
+  <!ENTITY % ExchangeSVG-GraphicsAttrs "" >
+  <!ENTITY % ExchangeSVG-MarkerAttrs "" >
+  <!ENTITY % ExchangeSVG-TextContainerAttrs "" >
+  <!ENTITY % ExchangeSVG-TextElementAttrs "" >
+  <!ENTITY % ExchangeSVG-ViewportAttrs "" >
+  <!ENTITY % ExchangeSVG-feFloodAttrs "" >
+]]>
+
+
+<!-- Definitions of elements that only apply to Exchange SVG -->
+
+<!-- Exchange SVG has a corresponding XML version of the 
+     @font-face and @color-profile features available when SVG is styled with 
CSS. -->
+<![%ExchangeSVG;[
+  <!ENTITY % ExchangeSVG-ColorProfileElement 
+    "|color-profile" >
+
+  <!ENTITY % ExchangeSVG-FontFaceElement 
+    "|font-face" >
+]]>
+
+<!-- These elements are not available for Stylable SVG. -->
+<![%StylableSVG;[
+  <!ENTITY % ExchangeSVG-ColorProfileElement "" >
+  <!ENTITY % ExchangeSVG-FontFaceElement "" >
+]]>
+
+
+<!-- Allow for extending the DTD with internal subset for 
+     container and graphics elements -->
+<!ENTITY % ceExt "" >
+<!ENTITY % geExt "" >
+
+
+<!--========== Document Structure and Grouping ==========-->
+
+<!ENTITY % svgExt "" >
+<!ELEMENT svg (%descTitleDefs;,metadata?,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %StylableSVG-StyleElement;
+                   
%ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement;
+                   %ceExt;%svgExt;)*) >
+<!ATTLIST svg
+  xmlns CDATA #FIXED "%SVGNamespace;"
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %graphicsElementEvents;
+  %documentEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED 
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  enableZoomAndPanControls %Boolean; "true"
+  contentScriptType %ContentType; "text/ecmascript"
+  contentStyleType %ContentType; "text/css"
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+<!ENTITY % gExt "" >
+<!ELEMENT g (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %StylableSVG-StyleElement;
+                   
%ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement;
+                   %ceExt;%gExt;)*) >
+<!ATTLIST g
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % defsExt "" >
+<!ELEMENT defs (
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %StylableSVG-StyleElement;
+                   
%ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement;
+                   %ceExt;%defsExt;)* >
+<!ATTLIST defs
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+
+<!--=================== Shapes ===================-->
+
+<!ENTITY % pathExt "" >
+<!ELEMENT path 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%pathExt;)*) >
+<!ATTLIST path
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  d %PathData; #REQUIRED
+  length %Number; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs; >
+
+<!ENTITY % rectExt "" >
+<!ELEMENT rect 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%rectExt;)*) >
+<!ATTLIST rect
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  rx %Length; #IMPLIED
+  ry %Length; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs; >
+
+<!ENTITY % circleExt "" >
+<!ELEMENT circle 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%circleExt;)*) >
+<!ATTLIST circle
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  cx %Coordinate; "0"
+  cy %Coordinate; "0"
+  r %Length; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs; >
+
+<!ENTITY % ellipseExt "" >
+<!ELEMENT ellipse 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%ellipseExt;)*) >
+<!ATTLIST ellipse
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  cx %Coordinate; "0"
+  cy %Coordinate; "0"
+  rx %Length; #REQUIRED
+  ry %Length; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs; >
+
+<!ENTITY % lineExt "" >
+<!ELEMENT line 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%lineExt;)*) >
+<!ATTLIST line
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x1 %Coordinate; "0"
+  y1 %Coordinate; "0"
+  x2 %Coordinate; "0"
+  y2 %Coordinate; "0"
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs; >
+
+<!ENTITY % polylineExt "" >
+<!ELEMENT polyline 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polylineExt;)*) >
+<!ATTLIST polyline
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  points %Points; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs; >
+
+<!ENTITY % polygonExt "" >
+<!ELEMENT polygon 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polygonExt;)*) >
+<!ATTLIST polygon
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  points %Points; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs; >
+
+
+<!--=================== Text ===================-->
+
+<!ENTITY % textExt "" >
+<!ELEMENT text (#PCDATA|desc|title|
+                tspan|tref|textPath|altGlyph|a|animate|set|
+                animateMotion|animateColor|animateTransform
+                %geExt;%textExt;)* >
+<!ATTLIST text
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % tspanExt "" >
+<!ELEMENT tspan (#PCDATA|tspan|tref|altGlyph|a|animate|set|animateColor
+                %tspanExt;)* >
+<!ATTLIST tspan
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate CDATA #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-TextContainerAttrs; >
+
+<!ENTITY % trefExt "" >
+<!ELEMENT tref (animate|set|animateColor
+                %trefExt;)* >
+<!ATTLIST tref
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate CDATA #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-TextContainerAttrs; >
+
+<!ENTITY % textPathExt "" >
+<!ELEMENT textPath (#PCDATA|tspan|tref|altGlyph|a|animate|set|animateColor
+                %textPathExt;)* >
+<!ATTLIST textPath
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  startOffset CDATA "0"
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-TextContainerAttrs; >
+
+<!ENTITY % altGlyphExt "" >
+<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
+<!ATTLIST altGlyph
+  %stdAttrs;
+  %langSpaceAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED >
+
+<!ENTITY % altGlyphDefExt "" >
+<!ELEMENT altGlyphDef (glyphSub %altGlyphDefExt;)* >
+<!ATTLIST altGlyphDef
+  %stdAttrs; >
+
+<!ELEMENT glyphSub EMPTY >
+<!ATTLIST glyphSub
+  %stdAttrs;
+  font CDATA #REQUIRED
+  glyphRef CDATA #REQUIRED
+  format CDATA #REQUIRED >
+
+<!--=================== SVG Fonts ===================-->
+
+<!ENTITY % fontExt "" >
+<!ELEMENT font (%descTitle;,missing-glyph,(glyph|hkern|vkern
+                   %fontExt;)*) >
+<!ATTLIST font
+  %stdAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  font-style CDATA #IMPLIED
+  font-variant CDATA #IMPLIED
+  font-weight CDATA #IMPLIED
+  font-stretch CDATA #IMPLIED
+  unicode-range CDATA #IMPLIED
+  units-per-em %Number; #REQUIRED
+  panose-1 CDATA #IMPLIED
+  slope %Number; #IMPLIED
+  cap-height %Number; #REQUIRED
+  x-height %Number; #REQUIRED
+  accent-height %Number; #IMPLIED
+  ascent %Number; #REQUIRED
+  descent %Number; #REQUIRED
+  horiz-origin-x %Number; #IMPLIED
+  horiz-origin-y %Number; #IMPLIED
+  horiz-adv-x %Number; #REQUIRED
+  vert-origin-x %Number; #IMPLIED
+  vert-origin-y %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED
+  text-bottom %Number; #REQUIRED
+  baseline %Number; #REQUIRED
+  centerline %Number; #REQUIRED
+  mathline %Number; #REQUIRED
+  ideographic %Number; #REQUIRED
+  hanging %Number; #REQUIRED
+  topline %Number; #REQUIRED
+  text-top %Number; #REQUIRED
+  font-face-name CDATA #IMPLIED
+  underline-position %Number; #IMPLIED
+  underline-thickness %Number; #IMPLIED
+  strikethrough-position %Number; #IMPLIED
+  strikethrough-thickness %Number; #IMPLIED
+  overline-position %Number; #IMPLIED
+  overline-thickness %Number; #IMPLIED >
+
+<!ENTITY % glyphExt "" >
+<!ELEMENT glyph (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|g|switch
+                   %glyphExt;)*) >
+<!ATTLIST glyph
+  %stdAttrs;
+  unicode CDATA #REQUIRED
+  glyph-name CDATA #IMPLIED
+  vert-text-orient CDATA #IMPLIED
+  arabic CDATA #IMPLIED
+  han CDATA #IMPLIED
+  horiz-adv-x %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ENTITY % missing-glyphExt "" >
+<!ELEMENT missing-glyph (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|g|switch
+                   %missing-glyphExt;)*) >
+<!ATTLIST missing-glyph
+  %stdAttrs;
+  horiz-adv-x %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ELEMENT hkern EMPTY >
+<!ATTLIST hkern
+  %stdAttrs;
+  u1 CDATA #IMPLIED
+  g1 CDATA #IMPLIED
+  u2 CDATA #IMPLIED
+  g2 CDATA #IMPLIED
+  k %Number; #REQUIRED >
+
+<!ELEMENT vkern EMPTY >
+<!ATTLIST vkern
+  %stdAttrs;
+  u1 CDATA #IMPLIED
+  g1 CDATA #IMPLIED
+  u2 CDATA #IMPLIED
+  g2 CDATA #IMPLIED
+  k %Number; #REQUIRED >
+
+
+<!--=================== Graphics Referencing Elements ===================-->
+
+<!ENTITY % useExt "" >
+<!ELEMENT use 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%useExt;)*) >
+<!ATTLIST use
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+<!ENTITY % imageExt "" >
+<!ELEMENT image 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%imageExt;)*) >
+<!ATTLIST image
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+
+<!--=================== Symbols and Markers ===================-->
+
+<!ENTITY % symbolExt "" >
+<!ELEMENT symbol (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a
+                   %ceExt;%symbolExt;)*) >
+<!ATTLIST symbol
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % markerExt "" >
+<!ELEMENT marker (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a
+                   %ceExt;%markerExt;)*) >
+<!ATTLIST marker
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  refX %Coordinate; #IMPLIED
+  refY %Coordinate; #IMPLIED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  markerUnits (strokeWidth | userSpace | userSpaceOnUse) "strokeWidth"
+  markerWidth  %Length; "3"
+  markerHeight %Length; "3"
+  orient CDATA "0"
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+
+<!--========== Descriptions and Titles ==========-->
+
+<!ELEMENT desc (#PCDATA) >
+<!ATTLIST desc
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %StructuredText; >
+
+<!ELEMENT title (#PCDATA) >
+<!ATTLIST title
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %StructuredText; >
+
+
+<!--=================== Clipping and Masking ===================-->
+
+<!ENTITY % clipPathExt "" >
+<!ELEMENT clipPath (%descTitle;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     
use|animate|set|animateMotion|animateColor|animateTransform
+                     %ceExt;%clipPathExt;)*) >
+<!ATTLIST clipPath
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  clipPathUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace"
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % maskExt "" >
+<!ELEMENT mask (%descTitleDefs;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     use|image|svg|g|switch|a|
+                     animate|set|animateMotion|animateColor|animateTransform
+                     %ceExt;%maskExt;)*) >
+<!ATTLIST mask
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  maskUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace"
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+
+<!--=================== Gradients and Patterns ===================-->
+
+<!ENTITY % linearGradientExt "" >
+<!ELEMENT linearGradient (stop|animate|set|animateTransform
+                   %linearGradientExt;)* >
+<!ATTLIST linearGradient
+  %stdAttrs;
+  gradientUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace'
+  gradientTransform %TransformList; #IMPLIED
+  x1 %Coordinate; #IMPLIED
+  y1 %Coordinate; #IMPLIED
+  x2 %Coordinate; #IMPLIED
+  y2 %Coordinate; #IMPLIED
+  spreadMethod (pad | reflect | repeat) "pad"
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!ENTITY % radialGradientExt "" >
+<!ELEMENT radialGradient (stop|animate|set|animateTransform
+                   %radialGradientExt;)* >
+<!ATTLIST radialGradient
+  %stdAttrs;
+  gradientUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace'
+  gradientTransform %TransformList; #IMPLIED
+  cx %Coordinate; #IMPLIED
+  cy %Coordinate; #IMPLIED
+  r %Length; #IMPLIED
+  fx %Coordinate; #IMPLIED
+  fy %Coordinate; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!ENTITY % stopExt "" >
+<!ELEMENT stop (animate|set|animateColor
+                   %stopExt;)* >
+<!ATTLIST stop
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  offset %Length; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-GradientAttrs; >
+
+<!ENTITY % patternExt "" >
+<!ELEMENT pattern (%descTitleDefs;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     use|image|svg|g|switch|a
+                     %ceExt;%patternExt;)*) >
+<!ATTLIST pattern
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  patternUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace'
+  patternTransform %TransformList; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+
+
+<!--=================== Linking ===================-->
+
+<!ENTITY % aExt "" >
+<!ELEMENT a       (#PCDATA|desc|title|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a|
+                   tspan|tref|textPath|altGlyph
+                   %ceExt;%aExt;)* >
+<!ATTLIST a
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/2000/xlink/namespace/";
+  xlink:type (simple|extended|locator|arc) #FIXED "simple" 
+  xlink:role CDATA #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (new|embed|replace) 'replace'
+  xlink:actuate (onRequest|onLoad) #FIXED 'onRequest'
+  xlink:href %URI; #REQUIRED
+  target %LinkTarget; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % viewExt "" >
+<!ELEMENT view (%descTitle;%viewExt;) >
+<!ATTLIST view
+  %stdAttrs;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  enableZoomAndPanControls (true | false) "true" 
+  viewTarget CDATA #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!--=================== Animation ===================-->
+
+<!ENTITY % animTargetAttrs
+ "%xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  attributeName  CDATA  #REQUIRED
+  attributeType  CDATA  #IMPLIED" >
+
+<!ENTITY % animTimingAttrs
+ "begin CDATA #IMPLIED 
+  dur CDATA #IMPLIED
+  restart (always | never | whenNotActive) 'always'
+  repeatCount CDATA #IMPLIED 
+  repeatDur CDATA #IMPLIED
+  end CDATA #IMPLIED
+  fill (remove | freeze) 'remove'" >
+
+<!ENTITY % animValueAttrs
+ "calcMode (discrete | linear | evenPace | spline) 'linear'
+  values CDATA #IMPLIED
+  from CDATA #IMPLIED
+  to CDATA #IMPLIED
+  by CDATA #IMPLIED
+  keyTimes CDATA #IMPLIED
+  keySplines CDATA #IMPLIED" >
+
+<!ENTITY % animAdditionAttrs
+ "additive       (replace | sum) 'replace'
+  accumulate     (none | sum) 'none'" >
+
+<!ENTITY % animateExt "" >
+<!ELEMENT animate (%descTitle;%animateExt;) >
+<!ATTLIST animate
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animTargetAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs; >
+
+<!ENTITY % setExt "" >
+<!ELEMENT set (%descTitle;%setExt;) >
+<!ATTLIST set
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animTargetAttrs;
+  %animTimingAttrs;
+  to CDATA #IMPLIED >
+
+<!ENTITY % animateMotionExt "" >
+<!ELEMENT animateMotion (%descTitle;%animateMotionExt;) >
+<!ATTLIST animateMotion
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs;
+  path CDATA #IMPLIED
+  rotate CDATA #IMPLIED
+  origin CDATA #IMPLIED >
+
+<!ENTITY % animateColorExt "" >
+<!ELEMENT animateColor (%descTitle;%animateColorExt;) >
+<!ATTLIST animateColor
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animTargetAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs; >
+
+<!ENTITY % animateTransformExt "" >
+<!ELEMENT animateTransform (%descTitle;%animateTransformExt;) >
+<!ATTLIST animateTransform
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animTargetAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs;
+  type (translate | scale | rotate | skewX | skewY) "translate" >
+
+
+<!--========== Defining Scripts and Declaring Styles ==========-->
+
+<!ELEMENT script (#PCDATA) >
+<!ATTLIST script
+  %stdAttrs;
+  type %ContentType; #REQUIRED
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!-- Define the 'style' element for Stylable SVG.
+     This element is not available for Exchange SVG. -->
+<![%StylableSVG;[
+  <!ELEMENT style (#PCDATA) >
+  <!ATTLIST style 
+    %stdAttrs;
+    type %ContentType; #REQUIRED >
+]]>
+
+
+<!--==== (Exchange SVG Only) Defining color profiles and font faces ====-->
+
+<![%ExchangeSVG;[
+  <!ELEMENT color-profile (%descTitle;,color-profile-src) >
+  <!ATTLIST color-profile 
+    %stdAttrs;
+    name CDATA #REQUIRED
+    rendering-intent CDATA #IMPLIED >
+
+  <!ELEMENT color-profile-src EMPTY >
+  <!ATTLIST color-profile-src 
+    %stdAttrs;
+    %xlinkRefAttrs;
+    xlink:href %URI; #REQUIRED >
+
+  <!ELEMENT font-face (%descTitle;,font-face-src,(definition-src)?) >
+  <!ATTLIST font-face 
+    %stdAttrs;
+    font-family CDATA #IMPLIED
+    font-style CDATA #IMPLIED
+    font-variant CDATA #IMPLIED
+    font-weight CDATA #IMPLIED
+    font-stretch CDATA #IMPLIED
+    font-size CDATA #IMPLIED
+    unicode-range CDATA #IMPLIED
+    units-per-em %Number; #IMPLIED
+    panose-1 CDATA #IMPLIED
+    stemv %Number; #IMPLIED
+    stemh %Number; #IMPLIED
+    slope %Number; #IMPLIED
+    cap-height %Number; #IMPLIED
+    x-height %Number; #IMPLIED
+    ascent %Number; #IMPLIED
+    descent %Number; #IMPLIED
+    widths CDATA #IMPLIED
+    bbox CDATA #IMPLIED
+    baseline %Number; #IMPLIED
+    centerline %Number; #IMPLIED
+    mathline %Number; #IMPLIED
+    topline %Number; #IMPLIED >
+
+  <!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
+  <!ATTLIST font-face-src 
+    %stdAttrs; >
+
+  <!ELEMENT font-face-uri (font-face-format*) >
+  <!ATTLIST font-face-uri 
+    %stdAttrs;
+    %xlinkRefAttrs;
+    xlink:href %URI; #REQUIRED >
+
+  <!ELEMENT font-face-format EMPTY >
+  <!ATTLIST font-face-format 
+    %stdAttrs;
+    string CDATA #IMPLIED >
+
+  <!ELEMENT font-face-name EMPTY >
+  <!ATTLIST font-face-name 
+    %stdAttrs;
+    name CDATA #IMPLIED >
+
+  <!ELEMENT definition-src EMPTY >
+  <!ATTLIST definition-src 
+    %stdAttrs;
+    %xlinkRefAttrs;
+    xlink:href %URI; #REQUIRED >
+]]>
+
+
+<!--=================== Custom cursors ===================-->
+
+<!ELEMENT cursor (%descTitle;) >
+<!ATTLIST cursor
+  %stdAttrs;
+  %testAttrs;
+  x %Coordinate; "0"
+  y %Coordinate; "0"
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!--=================== Extensibility ===================-->
+
+<!ENTITY % switchExt "" >
+<!ELEMENT switch (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a|foreignObject|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %ceExt;%switchExt;)*) >
+<!ATTLIST switch
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % foreignObjectExt "" >
+<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
+<!ATTLIST foreignObject
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs;
+  %StructuredText; >
+
+
+
+<!--=================== Metadata ===================-->
+
+<!ENTITY % metadataExt "" >
+<!ELEMENT metadata (#PCDATA %metadataExt;)* >
+<!ATTLIST metadata
+  %stdAttrs; >
+
+
+<!--============== Filter Effects ==============-->
+
+<!ENTITY % filter_primitive_attributes
+  "x %Coordinate; #IMPLIED
+   y %Coordinate; #IMPLIED
+   width %Length; #IMPLIED
+   height %Length; #IMPLIED
+   result CDATA #IMPLIED" >
+
+<!ENTITY % filter_primitive_attributes_with_in
+  "%filter_primitive_attributes;
+   in CDATA #IMPLIED">
+
+<!ENTITY % component_transfer_function_attributes
+  "type (identity | table | linear | gamma) #REQUIRED
+   tableValues CDATA #IMPLIED
+   slope %Number; #IMPLIED
+   intercept %Number; #IMPLIED
+   amplitude %Number; #IMPLIED
+   exponent %Number; #IMPLIED
+   offset %Number; #IMPLIED" >
+
+<!ENTITY % filterExt "" >
+<!ELEMENT filter (feBlend|feFlood|
+  feColorMatrix|feComponentTransfer|
+  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
+  feGaussianBlur|feImage|feMerge|
+  feMorphology|feOffset|feSpecularLighting|
+  feTile|feTurbulence|
+  animate|set
+  %filterExt;)* >
+<!ATTLIST filter
+  %stdAttrs;
+  %langSpaceAttrs;
+  filterUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace"
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  filterRes CDATA #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+<!ELEMENT feBlend (animate|set)* >
+<!ATTLIST feBlend
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  mode (normal | multiply | screen | darken | lighten) "normal"
+  in2 CDATA #REQUIRED >
+
+<!ELEMENT feColorMatrix (animate|set)* >
+<!ATTLIST feColorMatrix
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
+  values CDATA #IMPLIED >
+
+<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
+<!ATTLIST feComponentTransfer
+  %stdAttrs;
+  %filter_primitive_attributes_with_in; >
+
+<!ELEMENT feFuncR (animate|set)* >
+<!ATTLIST feFuncR
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncG (animate|set)* >
+<!ATTLIST feFuncG
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncB (animate|set)* >
+<!ATTLIST feFuncB
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncA (animate|set)* >
+<!ATTLIST feFuncA
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feComposite (animate|set)* >
+<!ATTLIST feComposite
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  operator (over | in | out | atop | xor | arithmetic) "over"
+  k1 %Integer; #IMPLIED
+  k2 %Integer; #IMPLIED
+  k3 %Integer; #IMPLIED
+  k4 %Integer; #IMPLIED
+  in2 CDATA #REQUIRED >
+
+<!ELEMENT feConvolveMatrix (animate|set)* >
+<!ATTLIST feConvolveMatrix
+  %filter_primitive_attributes_with_in;
+  order CDATA #REQUIRED
+  kernelMatrix CDATA #REQUIRED
+  divisor %Number; #IMPLIED
+  targetX %Integer; #IMPLIED
+  targetY %Integer; #IMPLIED
+  edgeMode (duplicate|wrap|none) "duplicate" 
+  kernelUnitLength CDATA #IMPLIED >
+
+<!ELEMENT feDiffuseLighting 
((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
+<!ATTLIST feDiffuseLighting
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  resultScale %Number; #IMPLIED
+  surfaceScale %Number; #IMPLIED
+  diffuseConstant %Number; #IMPLIED
+  lightColor %SVGColor; #IMPLIED >
+
+<!ELEMENT feDistantLight (animate|set)* >
+<!ATTLIST feDistantLight
+  %stdAttrs;
+  azimuth %Number; #IMPLIED
+  elevation %Number; #IMPLIED >
+
+<!ELEMENT fePointLight (animate|set)* >
+<!ATTLIST fePointLight
+  %stdAttrs;
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  z %Number; #IMPLIED >
+
+<!ELEMENT feSpotLight (animate|set)* >
+<!ATTLIST feSpotLight
+  %stdAttrs;
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  z %Number; #IMPLIED
+  pointsAtX %Number; #IMPLIED
+  pointsAtY %Number; #IMPLIED
+  pointsAtZ %Number; #IMPLIED
+  specularExponent %Number; #IMPLIED >
+
+<!ELEMENT feDisplacementMap (animate|set)* >
+<!ATTLIST feDisplacementMap
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  scale %Number; #IMPLIED
+  xChannelSelector (R | G | B | A) "A"
+  yChannelSelector (R | G | B | A) "A"
+  in2 CDATA #REQUIRED >
+
+<!ELEMENT feFlood (animate|set|animateColor)* >
+<!ATTLIST feFlood
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  style %StyleSheet; #IMPLIED
+  %ExchangeSVG-feFloodAttrs; >
+
+<!ELEMENT feGaussianBlur (animate|set)* >
+<!ATTLIST feGaussianBlur
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  stdDeviation CDATA #IMPLIED >
+
+<!ELEMENT feImage (animate|set|animateTransform)* >
+<!ATTLIST feImage
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs;
+  %filter_primitive_attributes; >
+
+<!ELEMENT feMerge (feMergeNode)* >
+<!ATTLIST feMerge
+  %stdAttrs;
+  %filter_primitive_attributes; >
+
+<!ELEMENT feMergeNode (animate|set)* >
+<!ATTLIST feMergeNode
+  %stdAttrs;
+  in CDATA #IMPLIED >
+
+<!ELEMENT feMorphology (animate|set)* >
+<!ATTLIST feMorphology
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  operator (erode | dilate) "erode"
+  radius %Length; #IMPLIED >
+
+<!ELEMENT feOffset (animate|set)* >
+<!ATTLIST feOffset
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  dx %Length; #IMPLIED
+  dy %Length; #IMPLIED >
+
+<!ELEMENT feSpecularLighting 
((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
+<!ATTLIST feSpecularLighting
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  surfaceScale %Number; #IMPLIED
+  specularConstant %Number; #IMPLIED
+  specularExponent %Number; #IMPLIED
+  lightColor %SVGColor; #IMPLIED >
+
+<!ELEMENT feTile (animate|set)* >
+<!ATTLIST feTile
+  %stdAttrs;
+  %filter_primitive_attributes_with_in; >
+
+<!ELEMENT feTurbulence (animate|set)* >
+<!ATTLIST feTurbulence
+  %stdAttrs;
+  %filter_primitive_attributes;
+  baseFrequency CDATA #IMPLIED
+  numOctaves %Integer; #IMPLIED
+  seed %Number; #IMPLIED
+  stitchTiles (stitch | noStitch) "noStitch"
+  type (fractalNoise | turbulence) "turbulence" >
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-stylable.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg-20000303-stylable.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,59 @@
+<!--
+  This is the DTD for Stylable SVG. It adds a small number of 
+  elements and attributes to the Shared DTD for the purposes
+  of allowing SVG content to be styled.
+
+  In most cases, authors should use the DTD for Stylable SVG.
+  The DTD for Exchange SVG is available for specific purposes
+  as described in the Exchange SVG chapter of the SVG specification.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2000/03/WD-SVG-20000303/
+
+  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For this working draft:
+
+    Namespaces:
+      Stylable SVG:     http://www.w3.org/2000/svg-20000303-stylable
+      Exchange SVG:   http://www.w3.org/2000/svg-20000303-exchange  
+
+    Public identifiers:
+      PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN"
+
+    URIs for the DTDs:
+      http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-shared.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd
+
+  Typical usage in the case of stand-alone Stylable SVG documents:
+
+<?xml version="1.0" ... ?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" 
+  "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd";>
+<svg ...>
+ ...
+</svg>
+
+  Typical usage when Stylable SVG is embedded inline within a parent XML 
document:
+
+<?xml version="1.0" ... ?>
+<!DOCTYPE foo ... >
+<foo ...>
+ ...
+ <svg xmlns="http://www.w3.org/2000/svg-20000303-stylable"; ... >
+    ...
+ </svg>
+ ...
+</foo>
+-->
+
+<!ENTITY % StylableSVG "INCLUDE" >
+<!ENTITY % ExchangeSVG "IGNORE" >
+<!ENTITY % SVGNamespace "http://www.w3.org/2000/svg-20000303-stylable"; >
+<!ENTITY % Shared PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN" 
"svg-20000303-shared.dtd" >
+%Shared;
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/svg10.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1704 @@
+<!-- =====================================================================
+  This is the DTD for SVG 1.0.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2001/REC-SVG-20010904/
+
+  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For SVG 1.0:
+
+    Namespace:
+      http://www.w3.org/2000/svg  
+
+    Public identifier:
+      PUBLIC "-//W3C//DTD SVG 1.0//EN"
+
+    URI for the DTD:
+      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
+============================================================================= 
-->
+
+
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Data types 
+     ============================================================== -->
+
+<!ENTITY % BaselineShiftValue "CDATA">
+    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', 
etc.) -->
+
+<!ENTITY % Boolean "(false | true)">
+    <!-- feature specification -->
+
+<!ENTITY % ClassList "CDATA">
+    <!-- list of classes -->
+
+<!ENTITY % ClipValue "CDATA">
+    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
+
+<!ENTITY % ClipPathValue "CDATA">
+    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
+    <!-- 'clip-rule' or fill-rule property/attribute value -->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % Coordinate "CDATA">
+    <!-- a <coordinate> -->
+
+<!ENTITY % Coordinates "CDATA">
+    <!-- a list of <coordinate>s -->
+
+<!ENTITY % Color "CDATA">
+    <!-- a <color> value -->
+
+<!ENTITY % CursorValue "CDATA">
+    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
+
+<!ENTITY % EnableBackgroundValue "CDATA">
+    <!-- 'enable-background' property/attribute value (e.g., 'new', 
'accumulate') -->
+
+<!ENTITY % ExtensionList "CDATA">
+    <!-- extension list specification -->
+
+<!ENTITY % FeatureList "CDATA">
+    <!-- feature list specification -->
+
+<!ENTITY % FilterValue "CDATA">
+    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % FontFamilyValue "CDATA">
+    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
+
+<!ENTITY % FontSizeValue "CDATA">
+    <!-- 'font-size' property/attribute value -->
+
+<!ENTITY % FontSizeAdjustValue "CDATA">
+    <!-- 'font-size-adjust' property/attribute value -->
+
+<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
+    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., 
<angle>) -->
+
+<!ENTITY % GlyphOrientationVerticalValue "CDATA">
+    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', 
<angle>) -->
+
+<!ENTITY % Integer "CDATA">
+    <!-- a <integer> -->
+
+<!ENTITY % KerningValue "CDATA">
+    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % LanguageCodes "CDATA">
+    <!-- comma-separated list of language codes, as per [RFC3066] -->
+
+<!ENTITY % Length "CDATA">
+    <!-- a <length> -->
+
+<!ENTITY % Lengths "CDATA">
+    <!-- a list of <length>s -->
+
+<!ENTITY % LinkTarget "NMTOKEN">
+    <!-- link to this target -->
+
+<!ENTITY % MarkerValue "CDATA">
+    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % MaskValue "CDATA">
+    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % MediaDesc "CDATA">
+    <!-- comma-separated list of media descriptors. -->
+
+<!ENTITY % Number "CDATA">
+    <!-- a <number> -->
+
+<!ENTITY % NumberOptionalNumber "CDATA">
+    <!-- list of <number>s, but at least one and at most two -->
+
+<!ENTITY % NumberOrPercentage "CDATA">
+    <!-- a <number> or a  <percentage> -->
+
+<!ENTITY % Numbers "CDATA">
+    <!-- a list of <number>s -->
+
+<!ENTITY % OpacityValue "CDATA">
+    <!-- opacity value (e.g., <number>) -->
+
+<!ENTITY % Paint "CDATA">
+    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
+
+<!ENTITY % PathData "CDATA">
+    <!-- a path data specification -->
+
+<!ENTITY % Points "CDATA">
+    <!-- a list of points -->
+
+<!ENTITY % PreserveAspectRatioSpec "CDATA">
+    <!-- 'preserveAspectRatio' attribute specification -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % SpacingValue "CDATA">
+    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., 
normal | <length>) -->
+
+<!ENTITY % StrokeDashArrayValue "CDATA">
+    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of 
<number>s) -->
+
+<!ENTITY % StrokeDashOffsetValue "CDATA">
+    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) 
-->
+
+<!ENTITY % StrokeMiterLimitValue "CDATA">
+    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
+
+<!ENTITY % StrokeWidthValue "CDATA">
+    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
+
+<!ENTITY % StructuredText
+  "content CDATA #FIXED 'structured text'" >
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % SVGColor "CDATA">
+    <!-- An SVG color value (RGB plus optional ICC) -->
+
+<!ENTITY % Text "CDATA">
+    <!-- arbitrary text string -->
+
+<!ENTITY % TextDecorationValue "CDATA">
+    <!-- 'text-decoration' property/attribute value (e.g., 'none', 
'underline') -->
+
+<!ENTITY % TransformList "CDATA">
+    <!-- list of transforms -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [URI] -->
+
+<!ENTITY % ViewBoxSpec "CDATA">
+    <!-- 'viewBox' attribute specification -->
+
+
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Collections of common attributes 
+     ============================================================== -->
+
+<!-- All elements have an ID. -->
+<!ENTITY % stdAttrs
+ "id ID #IMPLIED
+  xml:base %URI; #IMPLIED" >
+
+<!-- Common attributes for elements that might contain character data content. 
-->
+<!ENTITY % langSpaceAttrs
+ "xml:lang %LanguageCode; #IMPLIED
+  xml:space (default|preserve) #IMPLIED" >
+
+<!-- Common attributes to check for system capabilities. -->
+<!ENTITY % testAttrs
+ "requiredFeatures %FeatureList; #IMPLIED
+  requiredExtensions %ExtensionList; #IMPLIED
+  systemLanguage %LanguageCodes; #IMPLIED" >
+
+<!-- For most uses of URI referencing:
+        standard XLink attributes other than xlink:href. -->
+<!ENTITY % xlinkRefAttrs
+ "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
+  xlink:type (simple) #FIXED 'simple' 
+  xlink:role %URI; #IMPLIED
+  xlink:arcrole %URI; #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (other) 'other'
+  xlink:actuate (onLoad) #FIXED 'onLoad'" >
+
+<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 
'embed' -->
+<!ENTITY % xlinkRefAttrsEmbed
+ "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
+  xlink:type (simple) #FIXED 'simple' 
+  xlink:role %URI; #IMPLIED
+  xlink:arcrole %URI; #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (embed) 'embed'
+  xlink:actuate (onLoad) #FIXED 'onLoad'" >
+
+<!ENTITY % graphicsElementEvents
+  "onfocusin %Script; #IMPLIED
+   onfocusout %Script; #IMPLIED
+   onactivate %Script; #IMPLIED
+   onclick %Script; #IMPLIED
+   onmousedown %Script; #IMPLIED
+   onmouseup %Script; #IMPLIED
+   onmouseover %Script; #IMPLIED
+   onmousemove %Script; #IMPLIED
+   onmouseout %Script; #IMPLIED
+   onload %Script; #IMPLIED" >
+
+<!ENTITY % documentEvents
+  "onunload %Script; #IMPLIED
+   onabort %Script; #IMPLIED
+   onerror %Script; #IMPLIED
+   onresize %Script; #IMPLIED
+   onscroll %Script; #IMPLIED
+   onzoom %Script; #IMPLIED" >
+
+<!ENTITY % animationEvents
+  "onbegin %Script; #IMPLIED
+   onend %Script; #IMPLIED
+   onrepeat %Script; #IMPLIED" >
+
+<!-- This entity allows for at most one of desc, title and metadata,
+     supplied in any order -->
+<!ENTITY % descTitleMetadata
+          "(((desc,((title,metadata?)|(metadata,title?))?)|
+          (title,((desc,metadata?)|(metadata,desc?))?)|
+          (metadata,((desc,title?)|(title,desc?))?))?)" >
+
+
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Collections of presentation attributes 
+     ============================================================== -->
+
+<!-- The following presentation attributes have to do with specifying color. 
-->
+<!ENTITY % PresentationAttributes-Color
+  "color %Color; #IMPLIED
+   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
+   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED 
" >
+
+<!-- The following presentation attributes apply to container elements. -->
+<!ENTITY % PresentationAttributes-Containers
+  "enable-background %EnableBackgroundValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to 'feFlood' elements. -->
+<!ENTITY % PresentationAttributes-feFlood
+  "flood-color %SVGColor; #IMPLIED
+   flood-opacity %OpacityValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to filling and stroking 
operations. -->
+<!ENTITY % PresentationAttributes-FillStroke
+  "fill %Paint; #IMPLIED
+   fill-opacity %OpacityValue; #IMPLIED
+   fill-rule %ClipFillRule; #IMPLIED
+   stroke %Paint; #IMPLIED
+   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
+   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
+   stroke-linecap (butt | round | square | inherit) #IMPLIED
+   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
+   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
+   stroke-opacity %OpacityValue; #IMPLIED
+   stroke-width %StrokeWidthValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to filter primitives. -->
+<!ENTITY % PresentationAttributes-FilterPrimitives
+  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >
+
+<!-- The following presentation attributes have to do with selecting a font to 
use. -->
+<!ENTITY % PresentationAttributes-FontSpecification
+  "font-family %FontFamilyValue; #IMPLIED
+   font-size %FontSizeValue; #IMPLIED
+   font-size-adjust %FontSizeAdjustValue; #IMPLIED
+   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed 
|
+                 condensed | semi-condensed | semi-expanded | expanded |
+                 extra-expanded | ultra-expanded | inherit) #IMPLIED
+   font-style (normal | italic | oblique | inherit) #IMPLIED
+   font-variant (normal | small-caps | inherit) #IMPLIED
+   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
+               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >
+
+<!-- The following presentation attributes apply to gradient 'stop' elements. 
-->
+<!ENTITY % PresentationAttributes-Gradients
+  "stop-color %SVGColor; #IMPLIED
+   stop-opacity %OpacityValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to graphics elements. -->
+<!ENTITY % PresentationAttributes-Graphics
+  "clip-path %ClipPathValue; #IMPLIED
+   clip-rule %ClipFillRule; #IMPLIED
+   cursor %CursorValue; #IMPLIED
+   display (inline | block | list-item | run-in | compact | marker |
+            table | inline-table | table-row-group | table-header-group |
+            table-footer-group | table-row | table-column-group | table-column 
|
+            table-cell | table-caption | none | inherit) #IMPLIED
+   filter %FilterValue; #IMPLIED
+   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
+   mask %MaskValue; #IMPLIED
+   opacity %OpacityValue; #IMPLIED
+   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
+                   painted | fill | stroke | all | none | inherit) #IMPLIED
+   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | 
inherit) #IMPLIED
+   text-rendering (auto | optimizeSpeed | optimizeLegibility | 
geometricPrecision | inherit) #IMPLIED
+   visibility (visible | hidden | inherit) #IMPLIED " >
+
+<!-- The following presentation attributes apply to 'image' elements. -->
+<!ENTITY % PresentationAttributes-Images
+  "color-profile CDATA #IMPLIED " >
+
+<!--The following presentation attributes apply to 'feDiffuseLighting' and 
'feSpecularLighting' elements. -->
+<!ENTITY % PresentationAttributes-LightingEffects
+  "lighting-color %SVGColor; #IMPLIED " >
+
+<!-- The following presentation attributes apply to marker operations. -->
+<!ENTITY % PresentationAttributes-Markers
+  "marker-start %MarkerValue; #IMPLIED
+   marker-mid %MarkerValue; #IMPLIED
+   marker-end %MarkerValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to text content elements. -->
+<!ENTITY % PresentationAttributes-TextContentElements
+  "alignment-baseline (baseline | top | before-edge | text-top | 
text-before-edge |
+                        middle | bottom | after-edge | text-bottom | 
text-after-edge |
+                        ideographic | lower | hanging | mathematical | 
inherit) #IMPLIED
+   baseline-shift %BaselineShiftValue; #IMPLIED
+   direction (ltr | rtl | inherit) #IMPLIED
+   dominant-baseline (auto | autosense-script | no-change | reset|
+                      ideographic | lower | hanging | mathematical | inherit ) 
#IMPLIED
+   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
+   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
+   kerning %KerningValue; #IMPLIED
+   letter-spacing %SpacingValue; #IMPLIED
+   text-anchor (start | middle | end | inherit) #IMPLIED
+   text-decoration %TextDecorationValue; #IMPLIED
+   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
+   word-spacing %SpacingValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to 'text' elements. -->
+<!ENTITY % PresentationAttributes-TextElements
+  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
+
+<!-- The following presentation attributes apply to elements that establish 
viewports. -->
+<!ENTITY % PresentationAttributes-Viewports
+  "clip %ClipValue; #IMPLIED
+   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
+
+<!--The following represents the complete list of presentation attributes. -->
+<!ENTITY % PresentationAttributes-All
+  "%PresentationAttributes-Color;
+   %PresentationAttributes-Containers;
+   %PresentationAttributes-feFlood;
+   %PresentationAttributes-FillStroke;
+   %PresentationAttributes-FilterPrimitives;
+   %PresentationAttributes-FontSpecification;
+   %PresentationAttributes-Gradients;
+   %PresentationAttributes-Graphics;
+   %PresentationAttributes-Images;
+   %PresentationAttributes-LightingEffects;
+   %PresentationAttributes-Markers;
+   %PresentationAttributes-TextContentElements;
+   %PresentationAttributes-TextElements;
+   %PresentationAttributes-Viewports;" >
+
+
+
+<!-- ==============================================================
+     ENTITY DECLARATIONS: DTD extensions 
+     ============================================================== -->
+
+<!-- Allow for extending the DTD with internal subset for 
+     container and graphics elements -->
+<!ENTITY % ceExt "" >
+<!ENTITY % geExt "" >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Document Structure 
+     ============================================================== -->
+
+<!ENTITY % svgExt "" >
+<!ELEMENT svg (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%svgExt;)* >
+<!ATTLIST svg
+  xmlns CDATA #FIXED "http://www.w3.org/2000/svg";
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink";
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED 
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  zoomAndPan (disable | magnify) 'magnify'
+  %graphicsElementEvents;
+  %documentEvents;
+  version %Number; #FIXED "1.0"
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  contentScriptType %ContentType; "text/ecmascript"
+  contentStyleType %ContentType; "text/css" >
+
+<!ENTITY % gExt "" >
+<!ELEMENT g (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%gExt;)* >
+<!ATTLIST g
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;  >
+
+<!ENTITY % defsExt "" >
+<!ELEMENT defs (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%defsExt;)* >
+<!ATTLIST defs
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;  >
+
+<!ENTITY % descExt "" >
+<!ELEMENT desc (#PCDATA %descExt;)* >
+<!ATTLIST desc
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %StructuredText; >
+
+<!ENTITY % titleExt "" >
+<!ELEMENT title (#PCDATA %titleExt;)* >
+<!ATTLIST title
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %StructuredText; >
+
+<!ENTITY % symbolExt "" >
+<!ELEMENT symbol (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%symbolExt;)* >
+<!ATTLIST symbol
+  %stdAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  %graphicsElementEvents; >
+
+<!ENTITY % useExt "" >
+<!ELEMENT use 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%useExt;)*) >
+<!ATTLIST use
+  %stdAttrs;
+  %xlinkRefAttrsEmbed;
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED >
+
+<!ENTITY % imageExt "" >
+<!ELEMENT image 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%imageExt;)*) >
+<!ATTLIST image
+  %stdAttrs;
+  %xlinkRefAttrsEmbed;
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Images;
+  %PresentationAttributes-Viewports;
+  transform %TransformList; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  %graphicsElementEvents;
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED >
+
+<!ENTITY % switchExt "" >
+<!ELEMENT switch (%descTitleMetadata;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a|foreignObject|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %ceExt;%switchExt;)*) >
+<!ATTLIST switch
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents; >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Styling 
+     ============================================================== -->
+
+<!ELEMENT style (#PCDATA) >
+<!ATTLIST style 
+  %stdAttrs;
+  xml:space (preserve) #FIXED "preserve"
+  type %ContentType; #REQUIRED
+  media %MediaDesc; #IMPLIED
+  title %Text; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Paths
+     ============================================================== -->
+
+<!ENTITY % pathExt "" >
+<!ELEMENT path 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%pathExt;)*) >
+<!ATTLIST path
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Markers;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  d %PathData; #REQUIRED
+  pathLength %Number; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Basic Shapes
+     ============================================================== -->
+
+<!ENTITY % rectExt "" >
+<!ELEMENT rect 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%rectExt;)*) >
+<!ATTLIST rect
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  rx %Length; #IMPLIED
+  ry %Length; #IMPLIED >
+
+<!ENTITY % circleExt "" >
+<!ELEMENT circle 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%circleExt;)*) >
+<!ATTLIST circle
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  cx %Coordinate; #IMPLIED
+  cy %Coordinate; #IMPLIED
+  r %Length; #REQUIRED >
+
+<!ENTITY % ellipseExt "" >
+<!ELEMENT ellipse 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%ellipseExt;)*) >
+<!ATTLIST ellipse
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  cx %Coordinate; #IMPLIED
+  cy %Coordinate; #IMPLIED
+  rx %Length; #REQUIRED
+  ry %Length; #REQUIRED >
+
+<!ENTITY % lineExt "" >
+<!ELEMENT line 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%lineExt;)*) >
+<!ATTLIST line
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Markers;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x1 %Coordinate; #IMPLIED
+  y1 %Coordinate; #IMPLIED
+  x2 %Coordinate; #IMPLIED
+  y2 %Coordinate; #IMPLIED >
+
+<!ENTITY % polylineExt "" >
+<!ELEMENT polyline 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polylineExt;)*) >
+<!ATTLIST polyline
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Markers;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  points %Points; #REQUIRED >
+
+<!ENTITY % polygonExt "" >
+<!ELEMENT polygon 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polygonExt;)*) >
+<!ATTLIST polygon
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Markers;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  points %Points; #REQUIRED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Text
+     ============================================================== -->
+
+<!ENTITY % textExt "" >
+<!ELEMENT text (#PCDATA|desc|title|metadata|
+                tspan|tref|textPath|altGlyph|a|animate|set|
+                animateMotion|animateColor|animateTransform
+                %geExt;%textExt;)* >
+<!ATTLIST text
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %PresentationAttributes-TextElements;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate %Numbers; #IMPLIED
+  textLength %Length; #IMPLIED
+  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
+
+<!ENTITY % tspanExt "" >
+<!ELEMENT tspan 
(#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
+                %tspanExt;)* >
+<!ATTLIST tspan
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %graphicsElementEvents;
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate %Numbers; #IMPLIED
+  textLength %Length; #IMPLIED
+  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
+
+<!ENTITY % trefExt "" >
+<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
+                %trefExt;)* >
+<!ATTLIST tref
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %graphicsElementEvents;
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate %Numbers; #IMPLIED
+  textLength %Length; #IMPLIED
+  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
+
+<!ENTITY % textPathExt "" >
+<!ELEMENT textPath 
(#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
+                %textPathExt;)* >
+<!ATTLIST textPath
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %langSpaceAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %graphicsElementEvents;
+  startOffset %Length; #IMPLIED
+  textLength %Length; #IMPLIED
+  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED
+  method (align|stretch) #IMPLIED
+  spacing (auto|exact) #IMPLIED >
+
+<!ENTITY % altGlyphExt "" >
+<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
+<!ATTLIST altGlyph
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED 
+  glyphRef CDATA #IMPLIED
+  format CDATA #IMPLIED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %graphicsElementEvents;
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate %Numbers; #IMPLIED >
+
+<!ENTITY % altGlyphDefExt "" >
+<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
+<!ATTLIST altGlyphDef
+  %stdAttrs; >
+
+<!ENTITY % altGlyphItemExt "" >
+<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
+<!ATTLIST altGlyphItem
+  %stdAttrs; >
+
+<!ELEMENT glyphRef EMPTY >
+<!ATTLIST glyphRef
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-FontSpecification;
+  glyphRef CDATA #IMPLIED
+  format CDATA #IMPLIED
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  dx %Number; #IMPLIED
+  dy %Number; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker 
Symbols 
+     ============================================================== -->
+
+<!ENTITY % markerExt "" >
+<!ELEMENT marker (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%markerExt;)* >
+<!ATTLIST marker
+  %stdAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  refX %Coordinate; #IMPLIED
+  refY %Coordinate; #IMPLIED
+  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
+  markerWidth  %Length; #IMPLIED
+  markerHeight %Length; #IMPLIED
+  orient CDATA #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Color 
+     ============================================================== -->
+
+<!ELEMENT color-profile (%descTitleMetadata;) >
+<!ATTLIST color-profile 
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  local CDATA #IMPLIED  
+  name CDATA #REQUIRED
+  rendering-intent (auto | perceptual | relative-colorimetric | saturation | 
absolute-colorimetric) "auto" >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
+     ============================================================== -->
+
+<!ENTITY % linearGradientExt "" >
+<!ELEMENT linearGradient 
(%descTitleMetadata;,(stop|animate|set|animateTransform
+                   %linearGradientExt;)*) >
+<!ATTLIST linearGradient
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-Gradients;
+  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  gradientTransform %TransformList; #IMPLIED
+  x1 %Coordinate; #IMPLIED
+  y1 %Coordinate; #IMPLIED
+  x2 %Coordinate; #IMPLIED
+  y2 %Coordinate; #IMPLIED
+  spreadMethod (pad | reflect | repeat) #IMPLIED >
+
+
+<!ENTITY % radialGradientExt "" >
+<!ELEMENT radialGradient 
(%descTitleMetadata;,(stop|animate|set|animateTransform
+                   %radialGradientExt;)*) >
+<!ATTLIST radialGradient
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-Gradients;
+  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  gradientTransform %TransformList; #IMPLIED
+  cx %Coordinate; #IMPLIED
+  cy %Coordinate; #IMPLIED
+  r %Length; #IMPLIED
+  fx %Coordinate; #IMPLIED
+  fy %Coordinate; #IMPLIED
+  spreadMethod (pad | reflect | repeat) #IMPLIED >
+
+
+<!ENTITY % stopExt "" >
+<!ELEMENT stop (animate|set|animateColor
+                   %stopExt;)* >
+<!ATTLIST stop
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-Gradients;
+  offset %NumberOrPercentage; #REQUIRED >
+
+<!ENTITY % patternExt "" >
+<!ELEMENT pattern (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%patternExt;)* >
+<!ATTLIST pattern
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  patternTransform %TransformList; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
+     ============================================================== -->
+
+<!ENTITY % clipPathExt "" >
+<!ELEMENT clipPath (%descTitleMetadata;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     
use|animate|set|animateMotion|animateColor|animateTransform
+                     %ceExt;%clipPathExt;)*) >
+<!ATTLIST clipPath
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %PresentationAttributes-TextElements;
+  transform %TransformList; #IMPLIED
+  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >
+
+<!ENTITY % maskExt "" >
+<!ELEMENT mask (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%maskExt;)*  >
+<!ATTLIST mask
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Filter Effects
+     ============================================================== -->
+
+<!ENTITY % filterExt "" >
+<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
+  feColorMatrix|feComponentTransfer|
+  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
+  feGaussianBlur|feImage|feMerge|
+  feMorphology|feOffset|feSpecularLighting|
+  feTile|feTurbulence|
+  animate|set
+  %filterExt;)*) >
+<!ATTLIST filter
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  filterRes %NumberOptionalNumber; #IMPLIED >
+
+<!ENTITY % filter_primitive_attributes
+  "x %Coordinate; #IMPLIED
+   y %Coordinate; #IMPLIED
+   width %Length; #IMPLIED
+   height %Length; #IMPLIED
+   result CDATA #IMPLIED" >
+
+<!ENTITY % filter_primitive_attributes_with_in
+  "%filter_primitive_attributes;
+   in CDATA #IMPLIED">
+
+<!ELEMENT feDistantLight (animate|set)* >
+<!ATTLIST feDistantLight
+  %stdAttrs;
+  azimuth %Number; #IMPLIED
+  elevation %Number; #IMPLIED >
+
+<!ELEMENT fePointLight (animate|set)* >
+<!ATTLIST fePointLight
+  %stdAttrs;
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  z %Number; #IMPLIED >
+
+<!ELEMENT feSpotLight (animate|set)* >
+<!ATTLIST feSpotLight
+  %stdAttrs;
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  z %Number; #IMPLIED
+  pointsAtX %Number; #IMPLIED
+  pointsAtY %Number; #IMPLIED
+  pointsAtZ %Number; #IMPLIED
+  specularExponent %Number; #IMPLIED
+  limitingConeAngle %Number; #IMPLIED >
+
+<!ELEMENT feBlend (animate|set)* >
+<!ATTLIST feBlend
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  in2 CDATA #REQUIRED
+  mode (normal | multiply | screen | darken | lighten) "normal" >
+
+<!ELEMENT feColorMatrix (animate|set)* >
+<!ATTLIST feColorMatrix
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
+  values CDATA #IMPLIED >
+
+<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
+<!ATTLIST feComponentTransfer
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in; >
+
+<!ENTITY % component_transfer_function_attributes
+  "type (identity | table | discrete | linear | gamma) #REQUIRED
+   tableValues CDATA #IMPLIED
+   slope %Number; #IMPLIED
+   intercept %Number; #IMPLIED
+   amplitude %Number; #IMPLIED
+   exponent %Number; #IMPLIED
+   offset %Number; #IMPLIED" >
+
+<!ELEMENT feFuncR (animate|set)* >
+<!ATTLIST feFuncR
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncG (animate|set)* >
+<!ATTLIST feFuncG
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncB (animate|set)* >
+<!ATTLIST feFuncB
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncA (animate|set)* >
+<!ATTLIST feFuncA
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feComposite (animate|set)* >
+<!ATTLIST feComposite
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  in2 CDATA #REQUIRED
+  operator (over | in | out | atop | xor | arithmetic) "over"
+  k1 %Number; #IMPLIED
+  k2 %Number; #IMPLIED
+  k3 %Number; #IMPLIED
+  k4 %Number; #IMPLIED >
+
+<!ELEMENT feConvolveMatrix (animate|set)* >
+<!ATTLIST feConvolveMatrix
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  order %NumberOptionalNumber; #REQUIRED
+  kernelMatrix CDATA #REQUIRED
+  divisor %Number; #IMPLIED
+  bias %Number; #IMPLIED
+  targetX %Integer; #IMPLIED
+  targetY %Integer; #IMPLIED
+  edgeMode (duplicate|wrap|none) "duplicate" 
+  kernelUnitLength %NumberOptionalNumber; #IMPLIED 
+  preserveAlpha %Boolean; #IMPLIED >
+
+<!ELEMENT feDiffuseLighting 
((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
+<!ATTLIST feDiffuseLighting
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FilterPrimitives;
+  %PresentationAttributes-LightingEffects;
+  %filter_primitive_attributes_with_in;
+  surfaceScale %Number; #IMPLIED
+  diffuseConstant %Number; #IMPLIED 
+  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
+
+<!ELEMENT feDisplacementMap (animate|set)* >
+<!ATTLIST feDisplacementMap
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  in2 CDATA #REQUIRED
+  scale %Number; #IMPLIED
+  xChannelSelector (R | G | B | A) "A"
+  yChannelSelector (R | G | B | A) "A" >
+
+<!ELEMENT feFlood (animate|set|animateColor)* >
+<!ATTLIST feFlood
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-feFlood;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in; >
+
+<!ELEMENT feGaussianBlur (animate|set)* >
+<!ATTLIST feGaussianBlur
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  stdDeviation %NumberOptionalNumber; #IMPLIED >
+
+<!ELEMENT feImage (animate|set|animateTransform)* >
+<!ATTLIST feImage
+  %stdAttrs;
+  %xlinkRefAttrsEmbed;
+  xlink:href %URI; #REQUIRED
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  %filter_primitive_attributes;
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' >
+
+<!ELEMENT feMerge (feMergeNode)* >
+<!ATTLIST feMerge
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes; >
+
+<!ELEMENT feMergeNode (animate|set)* >
+<!ATTLIST feMergeNode
+  %stdAttrs;
+  in CDATA #IMPLIED >
+
+<!ELEMENT feMorphology (animate|set)* >
+<!ATTLIST feMorphology
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  operator (erode | dilate) "erode"
+  radius %NumberOptionalNumber; #IMPLIED >
+
+<!ELEMENT feOffset (animate|set)* >
+<!ATTLIST feOffset
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  dx %Number; #IMPLIED
+  dy %Number; #IMPLIED >
+
+<!ELEMENT feSpecularLighting 
((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
+<!ATTLIST feSpecularLighting
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FilterPrimitives;
+  %PresentationAttributes-LightingEffects;
+  %filter_primitive_attributes_with_in;
+  surfaceScale %Number; #IMPLIED
+  specularConstant %Number; #IMPLIED
+  specularExponent %Number; #IMPLIED 
+  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
+
+<!ELEMENT feTile (animate|set)* >
+<!ATTLIST feTile
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in; >
+
+<!ELEMENT feTurbulence (animate|set)* >
+<!ATTLIST feTurbulence
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes;
+  baseFrequency %NumberOptionalNumber; #IMPLIED
+  numOctaves %Integer; #IMPLIED
+  seed %Number; #IMPLIED
+  stitchTiles (stitch | noStitch) "noStitch"
+  type (fractalNoise | turbulence) "turbulence" >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Interactivity 
+     ============================================================== -->
+
+<!ELEMENT cursor (%descTitleMetadata;) >
+<!ATTLIST cursor
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Linking
+     ============================================================== -->
+
+<!ENTITY % aExt "" >
+<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%aExt;)* >
+<!ATTLIST a
+  %stdAttrs;
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink";
+  xlink:type (simple) #FIXED "simple" 
+  xlink:role %URI; #IMPLIED
+  xlink:arcrole %URI; #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (new|replace) 'replace'
+  xlink:actuate (onRequest) #FIXED 'onRequest'
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  target %LinkTarget; #IMPLIED >
+
+<!ENTITY % viewExt "" >
+<!ELEMENT view (%descTitleMetadata;%viewExt;) >
+<!ATTLIST view
+  %stdAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  zoomAndPan (disable | magnify) 'magnify' 
+  viewTarget CDATA #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Scripting 
+     ============================================================== -->
+
+<!ELEMENT script (#PCDATA) >
+<!ATTLIST script
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  type %ContentType; #REQUIRED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Animation 
+     ============================================================== -->
+
+<!ENTITY % animElementAttrs
+ "%xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED" >
+
+<!ENTITY % animAttributeAttrs
+ "attributeName  CDATA  #REQUIRED
+  attributeType  CDATA  #IMPLIED" >
+
+<!ENTITY % animTimingAttrs
+ "begin CDATA #IMPLIED 
+  dur CDATA #IMPLIED
+  end CDATA #IMPLIED
+  min CDATA #IMPLIED
+  max CDATA #IMPLIED
+  restart (always | never | whenNotActive) 'always'
+  repeatCount CDATA #IMPLIED 
+  repeatDur CDATA #IMPLIED
+  fill (remove | freeze) 'remove'" >
+
+<!ENTITY % animValueAttrs
+ "calcMode (discrete | linear | paced | spline) 'linear'
+  values CDATA #IMPLIED
+  keyTimes CDATA #IMPLIED
+  keySplines CDATA #IMPLIED
+  from CDATA #IMPLIED
+  to CDATA #IMPLIED
+  by CDATA #IMPLIED" >
+
+<!ENTITY % animAdditionAttrs
+ "additive       (replace | sum) 'replace'
+  accumulate     (none | sum) 'none'" >
+
+<!ENTITY % animateExt "" >
+<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
+<!ATTLIST animate
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animAttributeAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs; >
+
+<!ENTITY % setExt "" >
+<!ELEMENT set (%descTitleMetadata;%setExt;) >
+<!ATTLIST set
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animAttributeAttrs;
+  %animTimingAttrs;
+  to CDATA #IMPLIED >
+
+<!ENTITY % animateMotionExt "" >
+<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
+<!ATTLIST animateMotion
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animTimingAttrs;
+  calcMode (discrete | linear | paced | spline) 'paced'
+  values CDATA #IMPLIED
+  keyTimes CDATA #IMPLIED
+  keySplines CDATA #IMPLIED
+  from CDATA #IMPLIED
+  to CDATA #IMPLIED
+  by CDATA #IMPLIED
+  %animAdditionAttrs;
+  path CDATA #IMPLIED
+  keyPoints CDATA #IMPLIED
+  rotate CDATA #IMPLIED
+  origin CDATA #IMPLIED >
+
+<!ENTITY % mpathExt "" >
+<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
+<!ATTLIST mpath
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+<!ENTITY % animateColorExt "" >
+<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
+<!ATTLIST animateColor
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animAttributeAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs; >
+
+<!ENTITY % animateTransformExt "" >
+<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
+<!ATTLIST animateTransform
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animAttributeAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs;
+  type (translate | scale | rotate | skewX | skewY) "translate" >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Fonts 
+     ============================================================== -->
+
+<!ENTITY % fontExt "" >
+<!ELEMENT font (%descTitleMetadata;,font-face,
+                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
+<!ATTLIST font
+  %stdAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  horiz-origin-x %Number; #IMPLIED
+  horiz-origin-y %Number; #IMPLIED
+  horiz-adv-x %Number; #REQUIRED
+  vert-origin-x %Number; #IMPLIED
+  vert-origin-y %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ENTITY % glyphExt "" >
+<!ELEMENT glyph (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %glyphExt;)* >
+<!ATTLIST glyph
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  unicode CDATA #IMPLIED
+  glyph-name CDATA #IMPLIED
+  d %PathData; #IMPLIED
+  orientation CDATA #IMPLIED
+  arabic-form CDATA #IMPLIED
+  lang %LanguageCodes; #IMPLIED
+  horiz-adv-x %Number; #IMPLIED
+  vert-origin-x %Number; #IMPLIED
+  vert-origin-y %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ENTITY % missing-glyphExt "" >
+<!ELEMENT missing-glyph (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %missing-glyphExt;)* >
+<!ATTLIST missing-glyph
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  d %PathData; #IMPLIED
+  horiz-adv-x %Number; #IMPLIED
+  vert-origin-x %Number; #IMPLIED
+  vert-origin-y %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ELEMENT hkern EMPTY >
+<!ATTLIST hkern
+  %stdAttrs;
+  u1 CDATA #IMPLIED
+  g1 CDATA #IMPLIED
+  u2 CDATA #IMPLIED
+  g2 CDATA #IMPLIED
+  k %Number; #REQUIRED >
+
+<!ELEMENT vkern EMPTY >
+<!ATTLIST vkern
+  %stdAttrs;
+  u1 CDATA #IMPLIED
+  g1 CDATA #IMPLIED
+  u2 CDATA #IMPLIED
+  g2 CDATA #IMPLIED
+  k %Number; #REQUIRED >
+
+<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
+<!ATTLIST font-face 
+  %stdAttrs;
+  font-family CDATA #IMPLIED
+  font-style CDATA #IMPLIED
+  font-variant CDATA #IMPLIED
+  font-weight CDATA #IMPLIED
+  font-stretch CDATA #IMPLIED
+  font-size CDATA #IMPLIED
+  unicode-range CDATA #IMPLIED
+  units-per-em %Number; #IMPLIED
+  panose-1 CDATA #IMPLIED
+  stemv %Number; #IMPLIED
+  stemh %Number; #IMPLIED
+  slope %Number; #IMPLIED
+  cap-height %Number; #IMPLIED
+  x-height %Number; #IMPLIED
+  accent-height %Number; #IMPLIED
+  ascent %Number; #IMPLIED
+  descent %Number; #IMPLIED
+  widths CDATA #IMPLIED
+  bbox CDATA #IMPLIED
+  ideographic %Number; #IMPLIED
+  alphabetic %Number; #IMPLIED
+  mathematical %Number; #IMPLIED
+  hanging %Number; #IMPLIED
+  v-ideographic %Number; #IMPLIED
+  v-alphabetic %Number; #IMPLIED
+  v-mathematical %Number; #IMPLIED
+  v-hanging %Number; #IMPLIED
+  underline-position %Number; #IMPLIED
+  underline-thickness %Number; #IMPLIED
+  strikethrough-position %Number; #IMPLIED
+  strikethrough-thickness %Number; #IMPLIED
+  overline-position %Number; #IMPLIED
+  overline-thickness %Number; #IMPLIED >
+
+<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
+<!ATTLIST font-face-src 
+  %stdAttrs; >
+
+<!ELEMENT font-face-uri (font-face-format*) >
+<!ATTLIST font-face-uri 
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED >
+
+<!ELEMENT font-face-format EMPTY >
+<!ATTLIST font-face-format 
+  %stdAttrs;
+  string CDATA #IMPLIED >
+
+<!ELEMENT font-face-name EMPTY >
+<!ATTLIST font-face-name 
+  %stdAttrs;
+  name CDATA #IMPLIED >
+
+<!ELEMENT definition-src EMPTY >
+<!ATTLIST definition-src 
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Metadata 
+     ============================================================== -->
+
+<!ENTITY % metadataExt "" >
+<!ELEMENT metadata (#PCDATA %metadataExt;)* >
+<!ATTLIST metadata
+  %stdAttrs; >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Extensibility 
+     ============================================================== -->
+
+<!ENTITY % foreignObjectExt "" >
+<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
+<!ATTLIST foreignObject
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  %StructuredText; >

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-lat1.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-lat1.ent
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,196 @@
+<!-- Portions (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+    <!ENTITY % HTMLlat1 PUBLIC
+       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent";>
+    %HTMLlat1;
+-->
+
+<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
+                                  U+00A0 ISOnum -->
+<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
+<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
+<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
+<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
+<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
+<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
+                                  U+00A6 ISOnum -->
+<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
+<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
+                                  U+00A8 ISOdia -->
+<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
+<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
+<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
+                                  = left pointing guillemet, U+00AB ISOnum -->
+<!ENTITY not    "&#172;"> <!-- not sign = angled dash,
+                                  U+00AC ISOnum -->
+<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
+                                  U+00AD ISOnum -->
+<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
+                                  U+00AE ISOnum -->
+<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
+                                  = APL overbar, U+00AF ISOdia -->
+<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
+<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
+                                  U+00B1 ISOnum -->
+<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
+                                  = squared, U+00B2 ISOnum -->
+<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
+                                  = cubed, U+00B3 ISOnum -->
+<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
+                                  U+00B4 ISOdia -->
+<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
+<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
+                                  U+00B6 ISOnum -->
+<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
+                                  = Greek middle dot, U+00B7 ISOnum -->
+<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
+<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
+                                  U+00B9 ISOnum -->
+<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
+                                  U+00BA ISOnum -->
+<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
+                                  = right pointing guillemet, U+00BB ISOnum -->
+<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
+                                  = fraction one quarter, U+00BC ISOnum -->
+<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
+                                  = fraction one half, U+00BD ISOnum -->
+<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
+                                  = fraction three quarters, U+00BE ISOnum -->
+<!ENTITY iquest "&#191;"> <!-- inverted question mark
+                                  = turned question mark, U+00BF ISOnum -->
+<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
+                                  = latin capital letter A grave,
+                                  U+00C0 ISOlat1 -->
+<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
+                                  U+00C1 ISOlat1 -->
+<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
+                                  U+00C2 ISOlat1 -->
+<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
+                                  U+00C3 ISOlat1 -->
+<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
+                                  U+00C4 ISOlat1 -->
+<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
+                                  = latin capital letter A ring,
+                                  U+00C5 ISOlat1 -->
+<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
+                                  = latin capital ligature AE,
+                                  U+00C6 ISOlat1 -->
+<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
+                                  U+00C7 ISOlat1 -->
+<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
+                                  U+00C8 ISOlat1 -->
+<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
+                                  U+00C9 ISOlat1 -->
+<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
+                                  U+00CA ISOlat1 -->
+<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
+                                  U+00CB ISOlat1 -->
+<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
+                                  U+00CC ISOlat1 -->
+<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
+                                  U+00CD ISOlat1 -->
+<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
+                                  U+00CE ISOlat1 -->
+<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
+                                  U+00CF ISOlat1 -->
+<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
+<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
+                                  U+00D1 ISOlat1 -->
+<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
+                                  U+00D2 ISOlat1 -->
+<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
+                                  U+00D3 ISOlat1 -->
+<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
+                                  U+00D4 ISOlat1 -->
+<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
+                                  U+00D5 ISOlat1 -->
+<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
+                                  U+00D6 ISOlat1 -->
+<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
+<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
+                                  = latin capital letter O slash,
+                                  U+00D8 ISOlat1 -->
+<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
+                                  U+00D9 ISOlat1 -->
+<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
+                                  U+00DA ISOlat1 -->
+<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
+                                  U+00DB ISOlat1 -->
+<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
+                                  U+00DC ISOlat1 -->
+<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
+                                  U+00DD ISOlat1 -->
+<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
+                                  U+00DE ISOlat1 -->
+<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
+                                  U+00DF ISOlat1 -->
+<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
+                                  = latin small letter a grave,
+                                  U+00E0 ISOlat1 -->
+<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
+                                  U+00E1 ISOlat1 -->
+<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
+                                  U+00E2 ISOlat1 -->
+<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
+                                  U+00E3 ISOlat1 -->
+<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
+                                  U+00E4 ISOlat1 -->
+<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
+                                  = latin small letter a ring,
+                                  U+00E5 ISOlat1 -->
+<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
+                                  = latin small ligature ae, U+00E6 ISOlat1 -->
+<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
+                                  U+00E7 ISOlat1 -->
+<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
+                                  U+00E8 ISOlat1 -->
+<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
+                                  U+00E9 ISOlat1 -->
+<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
+                                  U+00EA ISOlat1 -->
+<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
+                                  U+00EB ISOlat1 -->
+<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
+                                  U+00EC ISOlat1 -->
+<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
+                                  U+00ED ISOlat1 -->
+<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
+                                  U+00EE ISOlat1 -->
+<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
+                                  U+00EF ISOlat1 -->
+<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
+<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
+                                  U+00F1 ISOlat1 -->
+<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
+                                  U+00F2 ISOlat1 -->
+<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
+                                  U+00F3 ISOlat1 -->
+<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
+                                  U+00F4 ISOlat1 -->
+<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
+                                  U+00F5 ISOlat1 -->
+<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
+                                  U+00F6 ISOlat1 -->
+<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
+<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
+                                  = latin small letter o slash,
+                                  U+00F8 ISOlat1 -->
+<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
+                                  U+00F9 ISOlat1 -->
+<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
+                                  U+00FA ISOlat1 -->
+<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
+                                  U+00FB ISOlat1 -->
+<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
+                                  U+00FC ISOlat1 -->
+<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
+                                  U+00FD ISOlat1 -->
+<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn,
+                                  U+00FE ISOlat1 -->
+<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
+                                  U+00FF ISOlat1 -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-special.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-special.ent
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,80 @@
+<!-- Special characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % HTMLspecial PUBLIC
+        "-//W3C//ENTITIES Special for XHTML//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent";>
+     %HTMLspecial;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+     New names (i.e., not in ISO 8879 list) do not clash with any
+     existing ISO 8879 entity names. ISO 10646 character numbers
+     are given for each character, in hex. values are decimal
+     conversions of the ISO 10646 values and refer to the document
+     character set. Names are Unicode names. 
+-->
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY quot    "&#34;"> <!--  quotation mark, U+0022 ISOnum -->
+<!ENTITY amp     "&#38;#38;"> <!--  ampersand, U+0026 ISOnum -->
+<!ENTITY lt      "&#38;#60;"> <!--  less-than sign, U+003C ISOnum -->
+<!ENTITY gt      "&#62;"> <!--  greater-than sign, U+003E ISOnum -->
+<!ENTITY apos   "&#39;"> <!--  apostrophe = APL quote, U+0027 ISOnum -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
+                                    U+0152 ISOlat2 -->
+<!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
+                                    U+0160 ISOlat2 -->
+<!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
+                                    U+0161 ISOlat2 -->
+<!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
+                                    U+0178 ISOlat2 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ    "&#710;"> <!--  modifier letter circumflex accent,
+                                    U+02C6 ISOpub -->
+<!ENTITY tilde   "&#732;"> <!--  small tilde, U+02DC ISOdia -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp    "&#8194;"> <!-- en space, U+2002 ISOpub -->
+<!ENTITY emsp    "&#8195;"> <!-- em space, U+2003 ISOpub -->
+<!ENTITY thinsp  "&#8201;"> <!-- thin space, U+2009 ISOpub -->
+<!ENTITY zwnj    "&#8204;"> <!-- zero width non-joiner,
+                                    U+200C NEW RFC 2070 -->
+<!ENTITY zwj     "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
+<!ENTITY lrm     "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
+<!ENTITY rlm     "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
+<!ENTITY ndash   "&#8211;"> <!-- en dash, U+2013 ISOpub -->
+<!ENTITY mdash   "&#8212;"> <!-- em dash, U+2014 ISOpub -->
+<!ENTITY lsquo   "&#8216;"> <!-- left single quotation mark,
+                                    U+2018 ISOnum -->
+<!ENTITY rsquo   "&#8217;"> <!-- right single quotation mark,
+                                    U+2019 ISOnum -->
+<!ENTITY sbquo   "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
+<!ENTITY ldquo   "&#8220;"> <!-- left double quotation mark,
+                                    U+201C ISOnum -->
+<!ENTITY rdquo   "&#8221;"> <!-- right double quotation mark,
+                                    U+201D ISOnum -->
+<!ENTITY bdquo   "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
+<!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
+<!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
+<!ENTITY permil  "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
+<!ENTITY lsaquo  "&#8249;"> <!-- single left-pointing angle quotation mark,
+                                    U+2039 ISO proposed -->
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo  "&#8250;"> <!-- single right-pointing angle quotation mark,
+                                    U+203A ISO proposed -->
+<!-- rsaquo is proposed but not yet ISO standardized -->
+
+<!-- Currency Symbols -->
+<!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-symbol.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml-symbol.ent
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,237 @@
+<!-- Mathematical, Greek and Symbolic characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % HTMLsymbol PUBLIC
+        "-//W3C//ENTITIES Symbols for XHTML//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent";>
+     %HTMLsymbol;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+     New names (i.e., not in ISO 8879 list) do not clash with any
+     existing ISO 8879 entity names. ISO 10646 character numbers
+     are given for each character, in hex. values are decimal
+     conversions of the ISO 10646 values and refer to the document
+     character set. Names are Unicode names. 
+-->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof     "&#402;"> <!-- latin small letter f with hook = function
+                                    = florin, U+0192 ISOtech -->
+
+<!-- Greek -->
+<!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
+<!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
+<!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
+                                    U+0393 ISOgrk3 -->
+<!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
+                                    U+0394 ISOgrk3 -->
+<!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
+<!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
+<!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
+<!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
+                                    U+0398 ISOgrk3 -->
+<!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
+<!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
+<!ENTITY Lambda   "&#923;"> <!-- greek capital letter lamda,
+                                    U+039B ISOgrk3 -->
+<!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
+<!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
+<!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
+<!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
+<!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
+<!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
+<!-- there is no Sigmaf, and no U+03A2 character either -->
+<!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
+                                    U+03A3 ISOgrk3 -->
+<!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
+<!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
+                                    U+03A5 ISOgrk3 -->
+<!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
+                                    U+03A6 ISOgrk3 -->
+<!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
+<!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
+                                    U+03A8 ISOgrk3 -->
+<!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
+                                    U+03A9 ISOgrk3 -->
+
+<!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
+                                    U+03B1 ISOgrk3 -->
+<!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
+<!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
+                                    U+03B3 ISOgrk3 -->
+<!ENTITY delta    "&#948;"> <!-- greek small letter delta,
+                                    U+03B4 ISOgrk3 -->
+<!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
+                                    U+03B5 ISOgrk3 -->
+<!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
+<!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
+<!ENTITY theta    "&#952;"> <!-- greek small letter theta,
+                                    U+03B8 ISOgrk3 -->
+<!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
+<!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
+                                    U+03BA ISOgrk3 -->
+<!ENTITY lambda   "&#955;"> <!-- greek small letter lamda,
+                                    U+03BB ISOgrk3 -->
+<!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
+<!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
+<!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
+<!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
+<!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
+<!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
+<!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
+                                    U+03C2 ISOgrk3 -->
+<!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
+                                    U+03C3 ISOgrk3 -->
+<!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
+<!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
+                                    U+03C5 ISOgrk3 -->
+<!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
+<!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
+<!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
+<!ENTITY omega    "&#969;"> <!-- greek small letter omega,
+                                    U+03C9 ISOgrk3 -->
+<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
+                                    U+03D1 NEW -->
+<!ENTITY upsih    "&#978;"> <!-- greek upsilon with hook symbol,
+                                    U+03D2 NEW -->
+<!ENTITY piv      "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
+
+<!-- General Punctuation -->
+<!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
+                                     U+2022 ISOpub  -->
+<!-- bullet is NOT the same as bullet operator, U+2219 -->
+<!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
+                                     U+2026 ISOpub  -->
+<!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
+<!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
+                                     U+2033 ISOtech -->
+<!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
+                                     U+203E NEW -->
+<!ENTITY frasl    "&#8260;"> <!-- fraction slash, U+2044 NEW -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
+                                     = Weierstrass p, U+2118 ISOamso -->
+<!ENTITY image    "&#8465;"> <!-- black-letter capital I = imaginary part,
+                                     U+2111 ISOamso -->
+<!ENTITY real     "&#8476;"> <!-- black-letter capital R = real part symbol,
+                                     U+211C ISOamso -->
+<!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
+<!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
+                                     U+2135 NEW -->
+<!-- alef symbol is NOT the same as hebrew letter alef,
+     U+05D0 although the same glyph could be used to depict both characters -->
+
+<!-- Arrows -->
+<!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
+<!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
+<!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
+<!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
+<!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
+<!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
+                                     = carriage return, U+21B5 NEW -->
+<!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
+<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
+    but also does not have any other character for that function. So lArr can
+    be used for 'is implied by' as ISOtech suggests -->
+<!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
+<!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
+                                     U+21D2 ISOtech -->
+<!-- Unicode does not say this is the 'implies' character but does not have 
+     another character with this function so rArr can be used for 'implies'
+     as ISOtech suggests -->
+<!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
+<!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
+                                     U+21D4 ISOamsa -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
+<!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
+<!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
+<!ENTITY empty    "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
+<!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
+                                     U+2207 ISOtech -->
+<!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
+<!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
+<!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
+<!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
+                                     U+220F ISOamsb -->
+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
+     the same glyph might be used for both -->
+<!ENTITY sum      "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
+     though the same glyph might be used for both -->
+<!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
+<!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
+<!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
+                                     U+221A ISOtech -->
+<!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
+<!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
+<!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
+<!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
+<!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
+<!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
+<!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
+<!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
+<!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
+<!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
+                                     U+223C ISOtech -->
+<!-- tilde operator is NOT the same character as the tilde, U+007E,
+     although the same glyph might be used to represent both  -->
+<!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
+<!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
+                                     U+2248 ISOamsr -->
+<!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
+<!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
+<!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
+<!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
+                                     U+2265 ISOtech -->
+<!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
+<!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
+<!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
+<!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
+<!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
+                                     U+2287 ISOtech -->
+<!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
+                                     U+2295 ISOamsb -->
+<!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
+                                     U+2297 ISOamsb -->
+<!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
+                                     U+22A5 ISOtech -->
+<!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
+<!-- dot operator is NOT the same character as U+00B7 middle dot -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil    "&#8968;"> <!-- left ceiling = APL upstile,
+                                     U+2308 ISOamsc  -->
+<!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
+<!ENTITY lfloor   "&#8970;"> <!-- left floor = APL downstile,
+                                     U+230A ISOamsc  -->
+<!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
+<!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
+                                     U+2329 ISOtech -->
+<!-- lang is NOT the same character as U+003C 'less than sign' 
+     or U+2039 'single left-pointing angle quotation mark' -->
+<!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
+                                     U+232A ISOtech -->
+<!-- rang is NOT the same character as U+003E 'greater than sign' 
+     or U+203A 'single right-pointing angle quotation mark' -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
+<!-- black here seems to mean filled as opposed to hollow -->
+<!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
+                                     U+2663 ISOpub -->
+<!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
+                                     U+2665 ISOpub -->
+<!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-frameset.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-frameset.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1235 @@
+<!--
+   Extensible HTML version 1.0 Frameset DTD
+
+   This is the same as HTML 4 Frameset except for
+   changes due to the differences between XML and SGML.
+
+   Namespace = http://www.w3.org/1999/xhtml
+
+   For further information, see: http://www.w3.org/TR/xhtml1
+
+   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+   All Rights Reserved. 
+
+   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+   PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd";
+
+   $Revision: 1.1 $
+   $Date: 2003/09/08 04:54:33 $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+   "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+   "-//W3C//ENTITIES Symbols for XHTML//EN"
+   "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+   "-//W3C//ENTITIES Special for XHTML//EN"
+   "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+    <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+    <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+    <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+    <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+    <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+    <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+    <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+    <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+    <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+    <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+    <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+    <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+    <!-- pixel, percentage, or relative -->
+
+<!ENTITY % MultiLengths "CDATA">
+    <!-- comma-separated list of MultiLength -->
+
+<!ENTITY % Pixels "CDATA">
+    <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+    <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+    Black  = #000000    Green  = #008000
+    Silver = #C0C0C0    Lime   = #00FF00
+    Gray   = #808080    Olive  = #808000
+    White  = #FFFFFF    Yellow = #FFFF00
+    Maroon = #800000    Navy   = #000080
+    Red    = #FF0000    Blue   = #0000FF
+    Purple = #800080    Teal   = #008080
+    Fuchsia= #FF00FF    Aqua   = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+  id       document-wide unique id
+  class    space separated list of classes
+  style    associated style info
+  title    advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id          ID             #IMPLIED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED"
+  >
+
+<!-- internationalization attributes
+  lang        language code (backwards compatible)
+  xml:lang    language code (as per XML 1.0 spec)
+  dir         direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #IMPLIED"
+  >
+
+<!-- attributes for common UI events
+  onclick     a pointer button was clicked
+  ondblclick  a pointer button was double clicked
+  onmousedown a pointer button was pressed down
+  onmouseup   a pointer button was released
+  onmousemove a pointer was moved onto the element
+  onmouseout  a pointer was moved away from the element
+  onkeypress  a key was pressed and released
+  onkeydown   a key was pressed down
+  onkeyup     a key was released
+-->
+<!ENTITY % events
+ "onclick     %Script;       #IMPLIED
+  ondblclick  %Script;       #IMPLIED
+  onmousedown %Script;       #IMPLIED
+  onmouseup   %Script;       #IMPLIED
+  onmouseover %Script;       #IMPLIED
+  onmousemove %Script;       #IMPLIED
+  onmouseout  %Script;       #IMPLIED
+  onkeypress  %Script;       #IMPLIED
+  onkeydown   %Script;       #IMPLIED
+  onkeyup     %Script;       #IMPLIED"
+  >
+
+<!-- attributes for elements that can get the focus
+  accesskey   accessibility key character
+  tabindex    position in tabbing order
+  onfocus     the element got the focus
+  onblur      the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey   %Character;    #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED"
+  >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+     align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+   "object | applet | img | map | iframe">
+       
+<!ENTITY % special.basic
+       "br | span | bdo">
+
+<!ENTITY % special
+   "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+                      | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+                   samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center">
+
+<!ENTITY % block
+    "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | 
%misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+     sub, sup, font, or basefont -->
+
+<!ENTITY % pre.content
+   "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+          %inline.forms; | %misc.inline;)*">
+
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+      table | br | span | bdo | object | applet | img | map |
+      %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, frameset)>
+<!ATTLIST html
+  %i18n;
+  id          ID             #IMPLIED
+  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
+  >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+     title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+     ((title, %head.misc;, (base, %head.misc;)?) |
+      (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+  %i18n;
+  id          ID             #IMPLIED
+  profile     %URI;          #IMPLIED
+  >
+
+<!-- The title element is not considered part of the flow of text.
+       It should be displayed, for example as the page header or
+       window title. Exactly one title is required per document.
+    -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title 
+  %i18n;
+  id          ID             #IMPLIED
+  >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+  id          ID             #IMPLIED
+  href        %URI;          #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+  %i18n;
+  id          ID             #IMPLIED
+  http-equiv  CDATA          #IMPLIED
+  name        CDATA          #IMPLIED
+  content     CDATA          #REQUIRED
+  scheme      CDATA          #IMPLIED
+  >
+
+<!--
+  Relationship values can be used in principle:
+
+   a) for document specific toolbars/menus when used
+      with the link element in document head e.g.
+        start, contents, previous, next, index, end, help
+   b) to link to a separate style sheet (rel="stylesheet")
+   c) to make a link to a script (rel="script")
+   d) by stylesheets to control how collections of
+      html nodes are rendered into printed documents
+   e) to make a link to a printable version of this document
+      e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+  %attrs;
+  charset     %Charset;      #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  type        %ContentType;  #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  media       %MediaDesc;    #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+  %i18n;
+  id          ID             #IMPLIED
+  type        %ContentType;  #REQUIRED
+  media       %MediaDesc;    #IMPLIED
+  title       %Text;         #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+  id          ID             #IMPLIED
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #REQUIRED
+  language    CDATA          #IMPLIED
+  src         %URI;          #IMPLIED
+  defer       (defer)        #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+  %attrs;
+  >
+
+<!--======================= Frames =======================================-->
+
+<!-- only one noframes element permitted per document -->
+
+<!ELEMENT frameset (frameset|frame|noframes)*>
+<!ATTLIST frameset
+  %coreattrs;
+  rows        %MultiLengths; #IMPLIED
+  cols        %MultiLengths; #IMPLIED
+  onload      %Script;       #IMPLIED
+  onunload    %Script;       #IMPLIED
+  >
+
+<!-- reserved frame names start with "_" otherwise starts with letter -->
+
+<!-- tiled window within frameset -->
+
+<!ELEMENT frame EMPTY>
+<!ATTLIST frame
+  %coreattrs;
+  longdesc    %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  src         %URI;          #IMPLIED
+  frameborder (1|0)          "1"
+  marginwidth %Pixels;       #IMPLIED
+  marginheight %Pixels;      #IMPLIED
+  noresize    (noresize)     #IMPLIED
+  scrolling   (yes|no|auto)  "auto"
+  >
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+  %coreattrs;
+  longdesc    %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  src         %URI;          #IMPLIED
+  frameborder (1|0)          "1"
+  marginwidth %Pixels;       #IMPLIED
+  marginheight %Pixels;      #IMPLIED
+  scrolling   (yes|no|auto)  "auto"
+  align       %ImgAlign;     #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes (body)>
+<!ATTLIST noframes
+  %attrs;
+  >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+  %attrs;
+  onload      %Script;       #IMPLIED
+  onunload    %Script;       #IMPLIED
+  background  %URI;          #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  text        %Color;        #IMPLIED
+  link        %Color;        #IMPLIED
+  vlink       %Color;        #IMPLIED
+  alink       %Color;        #IMPLIED
+  >
+
+<!ELEMENT div %Flow;>  <!-- generic language/style container -->
+<!ATTLIST div
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Headings =========================================-->
+
+<!--
+  There are six levels of headings from h1 (the most important)
+  to h6 (the least important).
+-->
+
+<!ELEMENT h1  %Inline;>
+<!ATTLIST h1
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+  %attrs;
+  type        %ULStyle;     #IMPLIED
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- Ordered list numbering style
+
+    1   arabic numbers      1, 2, 3, ...
+    a   lower alpha         a, b, c, ...
+    A   upper alpha         A, B, C, ...
+    i   lower roman         i, ii, iii, ...
+    I   upper roman         I, II, III, ...
+
+    The style is applied to the sequence number which by default
+    is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+  %attrs;
+  type        %OLStyle;      #IMPLIED
+  compact     (compact)      #IMPLIED
+  start       %Number;       #IMPLIED
+  >
+
+<!-- single column list (DEPRECATED) --> 
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+  %attrs;
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- multiple column list (DEPRECATED) --> 
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+  %attrs;
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+  %attrs;
+  type        %LIStyle;      #IMPLIED
+  value       %Number;       #IMPLIED
+  >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+  %attrs;
+  compact     (compact)      #IMPLIED
+  >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+  %attrs;
+  >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+  %attrs;
+  >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+  %attrs;
+  >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+  %attrs;
+  align       (left|center|right) #IMPLIED
+  noshade     (noshade)      #IMPLIED
+  size        %Pixels;       #IMPLIED
+  width       %Length;       #IMPLIED
+  >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding 
+        "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+  %attrs;
+  width       %Number;      #IMPLIED
+  xml:space   (preserve)    #FIXED 'preserve'
+  >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+  %attrs;
+  >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+
+<!--
+  ins/del are allowed in block and inline content, but its
+  inappropriate to include block content within an ins element
+  occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+  %attrs;
+  %focus;
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+  %attrs;
+  >
+
+<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+  %coreattrs;
+  %events;
+  lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #REQUIRED
+  >
+
+<!ELEMENT br EMPTY>   <!-- forced line break -->
+<!ATTLIST br
+  %coreattrs;
+  clear       (left|all|right|none) "none"
+  >
+
+<!ELEMENT em %Inline;>   <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;>   <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;>   <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;>   <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;>  <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;>   <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;>   <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;>   <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;>   <!-- inlined quote -->
+<!ATTLIST q
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;>   <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;>   <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;>   <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;>   <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;>   <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;>   <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;>   <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY>  <!-- base font size -->
+<!ATTLIST basefont
+  id          ID             #IMPLIED
+  size        CDATA          #REQUIRED
+  color       %Color;        #IMPLIED
+  face        CDATA          #IMPLIED
+  >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+  %coreattrs;
+  %i18n;
+  size        CDATA          #IMPLIED
+  color       %Color;        #IMPLIED
+  face        CDATA          #IMPLIED
+  >
+
+<!--==================== Object ======================================-->
+<!--
+  object is used to embed objects as part of HTML pages.
+  param elements should precede other content. Parameters
+  can also be expressed as attribute/value pairs on the
+  object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
+<!ATTLIST object
+  %attrs;
+  declare     (declare)      #IMPLIED
+  classid     %URI;          #IMPLIED
+  codebase    %URI;          #IMPLIED
+  data        %URI;          #IMPLIED
+  type        %ContentType;  #IMPLIED
+  codetype    %ContentType;  #IMPLIED
+  archive     %UriList;      #IMPLIED
+  standby     %Text;         #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  border      %Pixels;       #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!--
+  param is used to supply a named property value.
+  In XML it would seem natural to follow RDF and support an
+  abbreviated syntax where the param elements are replaced
+  by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+  id          ID             #IMPLIED
+  name        CDATA          #REQUIRED
+  value       CDATA          #IMPLIED
+  valuetype   (data|ref|object) "data"
+  type        %ContentType;  #IMPLIED
+  >
+
+<!--=================== Java applet ==================================-->
+<!--
+  One of code or object attributes must be present.
+  Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+  %coreattrs;
+  codebase    %URI;          #IMPLIED
+  archive     CDATA          #IMPLIED
+  code        CDATA          #IMPLIED
+  object      CDATA          #IMPLIED
+  alt         %Text;         #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  width       %Length;       #REQUIRED
+  height      %Length;       #REQUIRED
+  align       %ImgAlign;     #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!--=================== Images ===========================================-->
+
+<!--
+   To avoid accessibility problems for people who aren't
+   able to see the image, you should provide a text
+   description using the alt and longdesc attributes.
+   In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  %attrs;
+  src         %URI;          #REQUIRED
+  alt         %Text;         #REQUIRED
+  name        NMTOKEN        #IMPLIED
+  longdesc    %URI;          #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  ismap       (ismap)        #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  border      %Pixels;       #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!-- usemap points to a map element which may be in this document
+  or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+     separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+  %i18n;
+  %events;
+  id          ID             #REQUIRED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+  %attrs;
+  %focus;
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  href        %URI;          #IMPLIED
+  nohref      (nohref)       #IMPLIED
+  alt         %Text;         #REQUIRED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+  %attrs;
+  action      %URI;          #REQUIRED
+  method      (get|post)     "get"
+  name        NMTOKEN        #IMPLIED
+  enctype     %ContentType;  "application/x-www-form-urlencoded"
+  onsubmit    %Script;       #IMPLIED
+  onreset     %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  accept-charset %Charsets;  #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--
+  Each label must not contain more than ONE field
+  Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+  %attrs;
+  for         IDREF          #IMPLIED
+  accesskey   %Character;    #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  >
+
+<!ENTITY % InputType
+  "(text | password | checkbox |
+    radio | submit | reset |
+    file | hidden | image | button)"
+   >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY>     <!-- form control -->
+<!ATTLIST input
+  %attrs;
+  %focus;
+  type        %InputType;    "text"
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  checked     (checked)      #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  size        CDATA          #IMPLIED
+  maxlength   %Number;       #IMPLIED
+  src         %URI;          #IMPLIED
+  alt         CDATA          #IMPLIED
+  usemap      %URI;          #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  >
+
+<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
+<!ATTLIST select
+  %attrs;
+  name        CDATA          #IMPLIED
+  size        %Number;       #IMPLIED
+  multiple    (multiple)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!ELEMENT optgroup (option)+>   <!-- option group -->
+<!ATTLIST optgroup
+  %attrs;
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #REQUIRED
+  >
+
+<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
+<!ATTLIST option
+  %attrs;
+  selected    (selected)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #IMPLIED
+  value       CDATA          #IMPLIED
+  >
+
+<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
+<!ATTLIST textarea
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  rows        %Number;       #REQUIRED
+  cols        %Number;       #REQUIRED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!--
+  The fieldset element is used to group form fields.
+  Only one legend element should occur in the content
+  and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+  %attrs;
+  >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;>     <!-- fieldset label -->
+<!ATTLIST legend
+  %attrs;
+  accesskey   %Character;    #IMPLIED
+  align       %LAlign;       #IMPLIED
+  >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+--> 
+<!ELEMENT button %button.content;>  <!-- push button -->
+<!ATTLIST button
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  type        (button|submit|reset) "submit"
+  disabled    (disabled)     #IMPLIED
+  >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+  %coreattrs;
+  %i18n;
+  prompt      %Text;         #IMPLIED
+  >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+     "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+  
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+  char        alignment char, e.g. char=":"
+  charoff     offset for alignment char
+-->
+<!ENTITY % cellhalign
+  "align      (left|center|right|justify|char) #IMPLIED
+   char       %Character;    #IMPLIED
+   charoff    %Length;       #IMPLIED"
+  >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+  "valign     (top|middle|bottom|baseline) #IMPLIED"
+  >
+
+<!ELEMENT table
+     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption  %Inline;>
+<!ELEMENT thead    (tr)+>
+<!ELEMENT tfoot    (tr)+>
+<!ELEMENT tbody    (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col      EMPTY>
+<!ELEMENT tr       (th|td)+>
+<!ELEMENT th       %Flow;>
+<!ELEMENT td       %Flow;>
+
+<!ATTLIST table
+  %attrs;
+  summary     %Text;         #IMPLIED
+  width       %Length;       #IMPLIED
+  border      %Pixels;       #IMPLIED
+  frame       %TFrame;       #IMPLIED
+  rules       %TRules;       #IMPLIED
+  cellspacing %Length;       #IMPLIED
+  cellpadding %Length;       #IMPLIED
+  align       %TAlign;       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+  %attrs;
+  align       %CAlign;       #IMPLIED
+  >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+     width=64        width in screen pixels
+     width=0.5*      relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+    Use thead to duplicate headers when breaking table
+    across page boundaries, or for static headers when
+    tbody sections are rendered in scrolling panel.
+
+    Use tfoot to duplicate footers when breaking table
+    across page boundaries, or for static footers when
+    tbody sections are rendered in scrolling panel.
+
+    Use multiple tbody sections when rules are needed
+    between groups of table rows.
+-->
+<!ATTLIST thead
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tfoot
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tbody
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tr
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  bgcolor     %Color;        #IMPLIED
+  >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  width       %Pixels;       #IMPLIED
+  height      %Pixels;       #IMPLIED
+  >
+
+<!ATTLIST td
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  width       %Pixels;       #IMPLIED
+  height      %Pixels;       #IMPLIED
+  >
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-strict.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-strict.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,978 @@
+<!--
+   Extensible HTML version 1.0 Strict DTD
+
+   This is the same as HTML 4 Strict except for
+   changes due to the differences between XML and SGML.
+
+   Namespace = http://www.w3.org/1999/xhtml
+
+   For further information, see: http://www.w3.org/TR/xhtml1
+
+   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+   All Rights Reserved. 
+
+   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";
+
+   $Revision: 1.1 $
+   $Date: 2003/09/08 04:54:33 $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+   "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+   "-//W3C//ENTITIES Symbols for XHTML//EN"
+   "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+   "-//W3C//ENTITIES Special for XHTML//EN"
+   "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+    <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+    <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+    <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+    <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+    <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+    <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+    <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+    <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+    <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+    <!-- used for titles etc. -->
+
+<!ENTITY % Length "CDATA">
+    <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+    <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+    <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+    <!-- comma separated list of lengths -->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+  id       document-wide unique id
+  class    space separated list of classes
+  style    associated style info
+  title    advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id          ID             #IMPLIED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED"
+  >
+
+<!-- internationalization attributes
+  lang        language code (backwards compatible)
+  xml:lang    language code (as per XML 1.0 spec)
+  dir         direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #IMPLIED"
+  >
+
+<!-- attributes for common UI events
+  onclick     a pointer button was clicked
+  ondblclick  a pointer button was double clicked
+  onmousedown a pointer button was pressed down
+  onmouseup   a pointer button was released
+  onmousemove a pointer was moved onto the element
+  onmouseout  a pointer was moved away from the element
+  onkeypress  a key was pressed and released
+  onkeydown   a key was pressed down
+  onkeyup     a key was released
+-->
+<!ENTITY % events
+ "onclick     %Script;       #IMPLIED
+  ondblclick  %Script;       #IMPLIED
+  onmousedown %Script;       #IMPLIED
+  onmouseup   %Script;       #IMPLIED
+  onmouseover %Script;       #IMPLIED
+  onmousemove %Script;       #IMPLIED
+  onmouseout  %Script;       #IMPLIED
+  onkeypress  %Script;       #IMPLIED
+  onkeydown   %Script;       #IMPLIED
+  onkeyup     %Script;       #IMPLIED"
+  >
+
+<!-- attributes for elements that can get the focus
+  accesskey   accessibility key character
+  tabindex    position in tabbing order
+  onfocus     the element got the focus
+  onblur      the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey   %Character;    #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED"
+  >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.pre
+   "br | span | bdo | map">
+
+
+<!ENTITY % special
+   "%special.pre; | object | img ">
+
+<!ENTITY % fontstyle "tt | i | b | big | small ">
+
+<!ENTITY % phrase "em | strong | dfn | code | q |
+                   samp | kbd | var | cite | abbr | acronym | sub | sup ">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl">
+<!ENTITY % blocktext "pre | hr | blockquote | address">
+
+<!ENTITY % block
+     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
+
+<!ENTITY % Block "(%block; | form | %misc;)*">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | 
%misc.inline;)*">
+
+<!-- pre uses %Inline excluding big, small, sup or sup -->
+
+<!ENTITY % pre.content
+   "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
+      | %inline.forms;)*">
+
+<!-- form uses %Block; excluding form -->
+
+<!ENTITY % form.content "(%block; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form and form controls -->
+
+<!ENTITY % button.content
+   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+    table | %special; | %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+  %i18n;
+  id          ID             #IMPLIED
+  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
+  >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object)*">
+
+<!-- content model is %head.misc; combined with a single
+     title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+     ((title, %head.misc;, (base, %head.misc;)?) |
+      (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+  %i18n;
+  id          ID             #IMPLIED
+  profile     %URI;          #IMPLIED
+  >
+
+<!-- The title element is not considered part of the flow of text.
+       It should be displayed, for example as the page header or
+       window title. Exactly one title is required per document.
+    -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title 
+  %i18n;
+  id          ID             #IMPLIED
+  >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+  href        %URI;          #REQUIRED
+  id          ID             #IMPLIED
+  >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+  %i18n;
+  id          ID             #IMPLIED
+  http-equiv  CDATA          #IMPLIED
+  name        CDATA          #IMPLIED
+  content     CDATA          #REQUIRED
+  scheme      CDATA          #IMPLIED
+  >
+
+<!--
+  Relationship values can be used in principle:
+
+   a) for document specific toolbars/menus when used
+      with the link element in document head e.g.
+        start, contents, previous, next, index, end, help
+   b) to link to a separate style sheet (rel="stylesheet")
+   c) to make a link to a script (rel="script")
+   d) by stylesheets to control how collections of
+      html nodes are rendered into printed documents
+   e) to make a link to a printable version of this document
+      e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+  %attrs;
+  charset     %Charset;      #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  type        %ContentType;  #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  media       %MediaDesc;    #IMPLIED
+  >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+  %i18n;
+  id          ID             #IMPLIED
+  type        %ContentType;  #REQUIRED
+  media       %MediaDesc;    #IMPLIED
+  title       %Text;         #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+  id          ID             #IMPLIED
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #REQUIRED
+  src         %URI;          #IMPLIED
+  defer       (defer)        #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Block;>
+<!ATTLIST noscript
+  %attrs;
+  >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Block;>
+<!ATTLIST body
+  %attrs;
+  onload          %Script;   #IMPLIED
+  onunload        %Script;   #IMPLIED
+  >
+
+<!ELEMENT div %Flow;>  <!-- generic language/style container -->
+<!ATTLIST div
+  %attrs;
+  >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+  %attrs;
+  >
+
+<!--=================== Headings =========================================-->
+
+<!--
+  There are six levels of headings from h1 (the most important)
+  to h6 (the least important).
+-->
+
+<!ELEMENT h1  %Inline;>
+<!ATTLIST h1
+   %attrs;
+   >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+   %attrs;
+   >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+   %attrs;
+   >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+   %attrs;
+   >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+   %attrs;
+   >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+   %attrs;
+   >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+  %attrs;
+  >
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+  %attrs;
+  >
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+  %attrs;
+  >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+  %attrs;
+  >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+  %attrs;
+  >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+  %attrs;
+  >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address %Inline;>
+<!ATTLIST address
+  %attrs;
+  >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+  %attrs;
+  >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+  %attrs;
+  xml:space (preserve) #FIXED 'preserve'
+  >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Block;>
+<!ATTLIST blockquote
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+  ins/del are allowed in block and inline content, but its
+  inappropriate to include block content within an ins element
+  occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+  %attrs;
+  %focus;
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+  %attrs;
+  >
+
+<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+  %coreattrs;
+  %events;
+  lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #REQUIRED
+  >
+
+<!ELEMENT br EMPTY>   <!-- forced line break -->
+<!ATTLIST br
+  %coreattrs;
+  >
+
+<!ELEMENT em %Inline;>   <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;>   <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;>   <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;>   <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;>  <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;>   <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;>   <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;>   <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;>   <!-- inlined quote -->
+<!ATTLIST q
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;>   <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;>   <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;>   <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;>   <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!--==================== Object ======================================-->
+<!--
+  object is used to embed objects as part of HTML pages.
+  param elements should precede other content. Parameters
+  can also be expressed as attribute/value pairs on the
+  object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+  %attrs;
+  declare     (declare)      #IMPLIED
+  classid     %URI;          #IMPLIED
+  codebase    %URI;          #IMPLIED
+  data        %URI;          #IMPLIED
+  type        %ContentType;  #IMPLIED
+  codetype    %ContentType;  #IMPLIED
+  archive     %UriList;      #IMPLIED
+  standby     %Text;         #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  >
+
+<!--
+  param is used to supply a named property value.
+  In XML it would seem natural to follow RDF and support an
+  abbreviated syntax where the param elements are replaced
+  by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+  id          ID             #IMPLIED
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  valuetype   (data|ref|object) "data"
+  type        %ContentType;  #IMPLIED
+  >
+
+<!--=================== Images ===========================================-->
+
+<!--
+   To avoid accessibility problems for people who aren't
+   able to see the image, you should provide a text
+   description using the alt and longdesc attributes.
+   In addition, avoid the use of server-side image maps.
+   Note that in this DTD there is no name attribute. That
+   is only available in the transitional and frameset DTD.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  %attrs;
+  src         %URI;          #REQUIRED
+  alt         %Text;         #REQUIRED
+  longdesc    %URI;          #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  ismap       (ismap)        #IMPLIED
+  >
+
+<!-- usemap points to a map element which may be in this document
+  or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+     separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+  %i18n;
+  %events;
+  id          ID             #REQUIRED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+  %attrs;
+  %focus;
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  href        %URI;          #IMPLIED
+  nohref      (nohref)       #IMPLIED
+  alt         %Text;         #REQUIRED
+  >
+
+<!--================ Forms ===============================================-->
+<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+  %attrs;
+  action      %URI;          #REQUIRED
+  method      (get|post)     "get"
+  enctype     %ContentType;  "application/x-www-form-urlencoded"
+  onsubmit    %Script;       #IMPLIED
+  onreset     %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  accept-charset %Charsets;  #IMPLIED
+  >
+
+<!--
+  Each label must not contain more than ONE field
+  Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+  %attrs;
+  for         IDREF          #IMPLIED
+  accesskey   %Character;    #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  >
+
+<!ENTITY % InputType
+  "(text | password | checkbox |
+    radio | submit | reset |
+    file | hidden | image | button)"
+   >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY>     <!-- form control -->
+<!ATTLIST input
+  %attrs;
+  %focus;
+  type        %InputType;    "text"
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  checked     (checked)      #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  size        CDATA          #IMPLIED
+  maxlength   %Number;       #IMPLIED
+  src         %URI;          #IMPLIED
+  alt         CDATA          #IMPLIED
+  usemap      %URI;          #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  >
+
+<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
+<!ATTLIST select
+  %attrs;
+  name        CDATA          #IMPLIED
+  size        %Number;       #IMPLIED
+  multiple    (multiple)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!ELEMENT optgroup (option)+>   <!-- option group -->
+<!ATTLIST optgroup
+  %attrs;
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #REQUIRED
+  >
+
+<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
+<!ATTLIST option
+  %attrs;
+  selected    (selected)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #IMPLIED
+  value       CDATA          #IMPLIED
+  >
+
+<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
+<!ATTLIST textarea
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  rows        %Number;       #REQUIRED
+  cols        %Number;       #REQUIRED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!--
+  The fieldset element is used to group form fields.
+  Only one legend element should occur in the content
+  and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+  %attrs;
+  >
+
+<!ELEMENT legend %Inline;>     <!-- fieldset label -->
+<!ATTLIST legend
+  %attrs;
+  accesskey   %Character;    #IMPLIED
+  >
+
+<!--
+ Content is %Flow; excluding a, form and form controls
+--> 
+<!ELEMENT button %button.content;>  <!-- push button -->
+<!ATTLIST button
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  type        (button|submit|reset) "submit"
+  disabled    (disabled)     #IMPLIED
+  >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+     "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+  
+<!-- horizontal alignment attributes for cell contents
+
+  char        alignment char, e.g. char=':'
+  charoff     offset for alignment char
+-->
+<!ENTITY % cellhalign
+  "align      (left|center|right|justify|char) #IMPLIED
+   char       %Character;    #IMPLIED
+   charoff    %Length;       #IMPLIED"
+  >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+  "valign     (top|middle|bottom|baseline) #IMPLIED"
+  >
+
+<!ELEMENT table
+     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption  %Inline;>
+<!ELEMENT thead    (tr)+>
+<!ELEMENT tfoot    (tr)+>
+<!ELEMENT tbody    (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col      EMPTY>
+<!ELEMENT tr       (th|td)+>
+<!ELEMENT th       %Flow;>
+<!ELEMENT td       %Flow;>
+
+<!ATTLIST table
+  %attrs;
+  summary     %Text;         #IMPLIED
+  width       %Length;       #IMPLIED
+  border      %Pixels;       #IMPLIED
+  frame       %TFrame;       #IMPLIED
+  rules       %TRules;       #IMPLIED
+  cellspacing %Length;       #IMPLIED
+  cellpadding %Length;       #IMPLIED
+  >
+
+<!ATTLIST caption
+  %attrs;
+  >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+     width=64        width in screen pixels
+     width=0.5*      relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+    Use thead to duplicate headers when breaking table
+    across page boundaries, or for static headers when
+    tbody sections are rendered in scrolling panel.
+
+    Use tfoot to duplicate footers when breaking table
+    across page boundaries, or for static footers when
+    tbody sections are rendered in scrolling panel.
+
+    Use multiple tbody sections when rules are needed
+    between groups of table rows.
+-->
+<!ATTLIST thead
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tfoot
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tbody
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tr
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST td
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  >
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-transitional.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1-transitional.dtd
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1201 @@
+<!--
+   Extensible HTML version 1.0 Transitional DTD
+
+   This is the same as HTML 4 Transitional except for
+   changes due to the differences between XML and SGML.
+
+   Namespace = http://www.w3.org/1999/xhtml
+
+   For further information, see: http://www.w3.org/TR/xhtml1
+
+   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+   All Rights Reserved. 
+
+   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";
+
+   $Revision: 1.1 $
+   $Date: 2003/09/08 04:54:33 $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+   "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+   "-//W3C//ENTITIES Symbols for XHTML//EN"
+   "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+   "-//W3C//ENTITIES Special for XHTML//EN"
+   "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+    <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+    <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+    <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+    <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+    <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+    <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+    <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+    <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+    <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+    <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+    <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+    <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+    <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+    <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+    <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+    Black  = #000000    Green  = #008000
+    Silver = #C0C0C0    Lime   = #00FF00
+    Gray   = #808080    Olive  = #808000
+    White  = #FFFFFF    Yellow = #FFFF00
+    Maroon = #800000    Navy   = #000080
+    Red    = #FF0000    Blue   = #0000FF
+    Purple = #800080    Teal   = #008080
+    Fuchsia= #FF00FF    Aqua   = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+  id       document-wide unique id
+  class    space separated list of classes
+  style    associated style info
+  title    advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id          ID             #IMPLIED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED"
+  >
+
+<!-- internationalization attributes
+  lang        language code (backwards compatible)
+  xml:lang    language code (as per XML 1.0 spec)
+  dir         direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #IMPLIED"
+  >
+
+<!-- attributes for common UI events
+  onclick     a pointer button was clicked
+  ondblclick  a pointer button was double clicked
+  onmousedown a pointer button was pressed down
+  onmouseup   a pointer button was released
+  onmousemove a pointer was moved onto the element
+  onmouseout  a pointer was moved away from the element
+  onkeypress  a key was pressed and released
+  onkeydown   a key was pressed down
+  onkeyup     a key was released
+-->
+<!ENTITY % events
+ "onclick     %Script;       #IMPLIED
+  ondblclick  %Script;       #IMPLIED
+  onmousedown %Script;       #IMPLIED
+  onmouseup   %Script;       #IMPLIED
+  onmouseover %Script;       #IMPLIED
+  onmousemove %Script;       #IMPLIED
+  onmouseout  %Script;       #IMPLIED
+  onkeypress  %Script;       #IMPLIED
+  onkeydown   %Script;       #IMPLIED
+  onkeyup     %Script;       #IMPLIED"
+  >
+
+<!-- attributes for elements that can get the focus
+  accesskey   accessibility key character
+  tabindex    position in tabbing order
+  onfocus     the element got the focus
+  onblur      the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey   %Character;    #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED"
+  >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+     align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+   "object | applet | img | map | iframe">
+       
+<!ENTITY % special.basic
+       "br | span | bdo">
+
+<!ENTITY % special
+   "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+                      | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+                   samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
+
+<!ENTITY % block
+    "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | 
%misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+     font, or basefont -->
+
+<!ENTITY % pre.content
+   "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+          %inline.forms; | %misc.inline;)*">
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+      table | br | span | bdo | object | applet | img | map |
+      %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+  %i18n;
+  id          ID             #IMPLIED
+  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
+  >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+     title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+     ((title, %head.misc;, (base, %head.misc;)?) |
+      (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+  %i18n;
+  id          ID             #IMPLIED
+  profile     %URI;          #IMPLIED
+  >
+
+<!-- The title element is not considered part of the flow of text.
+       It should be displayed, for example as the page header or
+       window title. Exactly one title is required per document.
+    -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title 
+  %i18n;
+  id          ID             #IMPLIED
+  >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+  id          ID             #IMPLIED
+  href        %URI;          #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+  %i18n;
+  id          ID             #IMPLIED
+  http-equiv  CDATA          #IMPLIED
+  name        CDATA          #IMPLIED
+  content     CDATA          #REQUIRED
+  scheme      CDATA          #IMPLIED
+  >
+
+<!--
+  Relationship values can be used in principle:
+
+   a) for document specific toolbars/menus when used
+      with the link element in document head e.g.
+        start, contents, previous, next, index, end, help
+   b) to link to a separate style sheet (rel="stylesheet")
+   c) to make a link to a script (rel="script")
+   d) by stylesheets to control how collections of
+      html nodes are rendered into printed documents
+   e) to make a link to a printable version of this document
+      e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+  %attrs;
+  charset     %Charset;      #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  type        %ContentType;  #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  media       %MediaDesc;    #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+  %i18n;
+  id          ID             #IMPLIED
+  type        %ContentType;  #REQUIRED
+  media       %MediaDesc;    #IMPLIED
+  title       %Text;         #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+  id          ID             #IMPLIED
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #REQUIRED
+  language    CDATA          #IMPLIED
+  src         %URI;          #IMPLIED
+  defer       (defer)        #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+  %attrs;
+  >
+
+<!--======================= Frames =======================================-->
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+  %coreattrs;
+  longdesc    %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  src         %URI;          #IMPLIED
+  frameborder (1|0)          "1"
+  marginwidth %Pixels;       #IMPLIED
+  marginheight %Pixels;      #IMPLIED
+  scrolling   (yes|no|auto)  "auto"
+  align       %ImgAlign;     #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes %Flow;>
+<!ATTLIST noframes
+  %attrs;
+  >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+  %attrs;
+  onload      %Script;       #IMPLIED
+  onunload    %Script;       #IMPLIED
+  background  %URI;          #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  text        %Color;        #IMPLIED
+  link        %Color;        #IMPLIED
+  vlink       %Color;        #IMPLIED
+  alink       %Color;        #IMPLIED
+  >
+
+<!ELEMENT div %Flow;>  <!-- generic language/style container -->
+<!ATTLIST div
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Headings =========================================-->
+
+<!--
+  There are six levels of headings from h1 (the most important)
+  to h6 (the least important).
+-->
+
+<!ELEMENT h1  %Inline;>
+<!ATTLIST h1
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+  %attrs;
+  type        %ULStyle;     #IMPLIED
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- Ordered list numbering style
+
+    1   arabic numbers      1, 2, 3, ...
+    a   lower alpha         a, b, c, ...
+    A   upper alpha         A, B, C, ...
+    i   lower roman         i, ii, iii, ...
+    I   upper roman         I, II, III, ...
+
+    The style is applied to the sequence number which by default
+    is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+  %attrs;
+  type        %OLStyle;      #IMPLIED
+  compact     (compact)      #IMPLIED
+  start       %Number;       #IMPLIED
+  >
+
+<!-- single column list (DEPRECATED) --> 
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+  %attrs;
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- multiple column list (DEPRECATED) --> 
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+  %attrs;
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+  %attrs;
+  type        %LIStyle;      #IMPLIED
+  value       %Number;       #IMPLIED
+  >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+  %attrs;
+  compact     (compact)      #IMPLIED
+  >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+  %attrs;
+  >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+  %attrs;
+  >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+  %attrs;
+  >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+  %attrs;
+  align       (left|center|right) #IMPLIED
+  noshade     (noshade)      #IMPLIED
+  size        %Pixels;       #IMPLIED
+  width       %Length;       #IMPLIED
+  >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding 
+        "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+  %attrs;
+  width       %Number;      #IMPLIED
+  xml:space   (preserve)    #FIXED 'preserve'
+  >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+  %attrs;
+  >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+  ins/del are allowed in block and inline content, but its
+  inappropriate to include block content within an ins element
+  occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+  %attrs;
+  %focus;
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+  %attrs;
+  >
+
+<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+  %coreattrs;
+  %events;
+  lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #REQUIRED
+  >
+
+<!ELEMENT br EMPTY>   <!-- forced line break -->
+<!ATTLIST br
+  %coreattrs;
+  clear       (left|all|right|none) "none"
+  >
+
+<!ELEMENT em %Inline;>   <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;>   <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;>   <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;>   <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;>  <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;>   <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;>   <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;>   <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;>   <!-- inlined quote -->
+<!ATTLIST q
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;>   <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;>   <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;>   <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;>   <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;>   <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;>   <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;>   <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY>  <!-- base font size -->
+<!ATTLIST basefont
+  id          ID             #IMPLIED
+  size        CDATA          #REQUIRED
+  color       %Color;        #IMPLIED
+  face        CDATA          #IMPLIED
+  >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+  %coreattrs;
+  %i18n;
+  size        CDATA          #IMPLIED
+  color       %Color;        #IMPLIED
+  face        CDATA          #IMPLIED
+  >
+
+<!--==================== Object ======================================-->
+<!--
+  object is used to embed objects as part of HTML pages.
+  param elements should precede other content. Parameters
+  can also be expressed as attribute/value pairs on the
+  object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+  %attrs;
+  declare     (declare)      #IMPLIED
+  classid     %URI;          #IMPLIED
+  codebase    %URI;          #IMPLIED
+  data        %URI;          #IMPLIED
+  type        %ContentType;  #IMPLIED
+  codetype    %ContentType;  #IMPLIED
+  archive     %UriList;      #IMPLIED
+  standby     %Text;         #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  border      %Pixels;       #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!--
+  param is used to supply a named property value.
+  In XML it would seem natural to follow RDF and support an
+  abbreviated syntax where the param elements are replaced
+  by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+  id          ID             #IMPLIED
+  name        CDATA          #REQUIRED
+  value       CDATA          #IMPLIED
+  valuetype   (data|ref|object) "data"
+  type        %ContentType;  #IMPLIED
+  >
+
+<!--=================== Java applet ==================================-->
+<!--
+  One of code or object attributes must be present.
+  Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+  %coreattrs;
+  codebase    %URI;          #IMPLIED
+  archive     CDATA          #IMPLIED
+  code        CDATA          #IMPLIED
+  object      CDATA          #IMPLIED
+  alt         %Text;         #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  width       %Length;       #REQUIRED
+  height      %Length;       #REQUIRED
+  align       %ImgAlign;     #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!--=================== Images ===========================================-->
+
+<!--
+   To avoid accessibility problems for people who aren't
+   able to see the image, you should provide a text
+   description using the alt and longdesc attributes.
+   In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  %attrs;
+  src         %URI;          #REQUIRED
+  alt         %Text;         #REQUIRED
+  name        NMTOKEN        #IMPLIED
+  longdesc    %URI;          #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  ismap       (ismap)        #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  border      %Length;       #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!-- usemap points to a map element which may be in this document
+  or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+     separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+  %i18n;
+  %events;
+  id          ID             #REQUIRED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED
+  name        CDATA          #IMPLIED
+  >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+  %attrs;
+  %focus;
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  href        %URI;          #IMPLIED
+  nohref      (nohref)       #IMPLIED
+  alt         %Text;         #REQUIRED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+  %attrs;
+  action      %URI;          #REQUIRED
+  method      (get|post)     "get"
+  name        NMTOKEN        #IMPLIED
+  enctype     %ContentType;  "application/x-www-form-urlencoded"
+  onsubmit    %Script;       #IMPLIED
+  onreset     %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  accept-charset %Charsets;  #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--
+  Each label must not contain more than ONE field
+  Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+  %attrs;
+  for         IDREF          #IMPLIED
+  accesskey   %Character;    #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  >
+
+<!ENTITY % InputType
+  "(text | password | checkbox |
+    radio | submit | reset |
+    file | hidden | image | button)"
+   >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY>     <!-- form control -->
+<!ATTLIST input
+  %attrs;
+  %focus;
+  type        %InputType;    "text"
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  checked     (checked)      #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  size        CDATA          #IMPLIED
+  maxlength   %Number;       #IMPLIED
+  src         %URI;          #IMPLIED
+  alt         CDATA          #IMPLIED
+  usemap      %URI;          #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  >
+
+<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
+<!ATTLIST select
+  %attrs;
+  name        CDATA          #IMPLIED
+  size        %Number;       #IMPLIED
+  multiple    (multiple)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!ELEMENT optgroup (option)+>   <!-- option group -->
+<!ATTLIST optgroup
+  %attrs;
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #REQUIRED
+  >
+
+<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
+<!ATTLIST option
+  %attrs;
+  selected    (selected)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #IMPLIED
+  value       CDATA          #IMPLIED
+  >
+
+<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
+<!ATTLIST textarea
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  rows        %Number;       #REQUIRED
+  cols        %Number;       #REQUIRED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!--
+  The fieldset element is used to group form fields.
+  Only one legend element should occur in the content
+  and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+  %attrs;
+  >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;>     <!-- fieldset label -->
+<!ATTLIST legend
+  %attrs;
+  accesskey   %Character;    #IMPLIED
+  align       %LAlign;       #IMPLIED
+  >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+--> 
+<!ELEMENT button %button.content;>  <!-- push button -->
+<!ATTLIST button
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  type        (button|submit|reset) "submit"
+  disabled    (disabled)     #IMPLIED
+  >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+  %coreattrs;
+  %i18n;
+  prompt      %Text;         #IMPLIED
+  >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+     "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+  
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+  char        alignment char, e.g. char=':'
+  charoff     offset for alignment char
+-->
+<!ENTITY % cellhalign
+  "align      (left|center|right|justify|char) #IMPLIED
+   char       %Character;    #IMPLIED
+   charoff    %Length;       #IMPLIED"
+  >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+  "valign     (top|middle|bottom|baseline) #IMPLIED"
+  >
+
+<!ELEMENT table
+     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption  %Inline;>
+<!ELEMENT thead    (tr)+>
+<!ELEMENT tfoot    (tr)+>
+<!ELEMENT tbody    (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col      EMPTY>
+<!ELEMENT tr       (th|td)+>
+<!ELEMENT th       %Flow;>
+<!ELEMENT td       %Flow;>
+
+<!ATTLIST table
+  %attrs;
+  summary     %Text;         #IMPLIED
+  width       %Length;       #IMPLIED
+  border      %Pixels;       #IMPLIED
+  frame       %TFrame;       #IMPLIED
+  rules       %TRules;       #IMPLIED
+  cellspacing %Length;       #IMPLIED
+  cellpadding %Length;       #IMPLIED
+  align       %TAlign;       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+  %attrs;
+  align       %CAlign;       #IMPLIED
+  >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+     width=64        width in screen pixels
+     width=0.5*      relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+    Use thead to duplicate headers when breaking table
+    across page boundaries, or for static headers when
+    tbody sections are rendered in scrolling panel.
+
+    Use tfoot to duplicate footers when breaking table
+    across page boundaries, or for static footers when
+    tbody sections are rendered in scrolling panel.
+
+    Use multiple tbody sections when rules are needed
+    between groups of table rows.
+-->
+<!ATTLIST thead
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tfoot
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tbody
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tr
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  bgcolor     %Color;        #IMPLIED
+  >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  width       %Length;       #IMPLIED
+  height      %Length;       #IMPLIED
+  >
+
+<!ATTLIST td
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  width       %Length;       #IMPLIED
+  height      %Length;       #IMPLIED
+  >
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1.dcl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/schema/w3c-dtd/xhtml1.dcl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,192 @@
+<!SGML "ISO 8879:1986 (WWW)"
+
+     -- SGML Declaration for XML 1.0 --
+
+     -- from: 
+        Final text of revised Web SGML Adaptations Annex (TC2) to ISO 8879:1986
+        ISO/IEC JTC1/SC34 N0029: 1998-12-06
+        Annex L.2 (informative): SGML Declaration for XML
+
+        changes made to accommodate validation are noted with 'VALID:'
+     --
+
+     CHARSET
+         BASESET
+             "ISO Registration Number 177//CHARSET
+              ISO/IEC 10646-1:1993 UCS-4 with implementation
+              level 3//ESC 2/5 2/15 4/6"
+         DESCSET
+                 0        9  UNUSED
+                 9        2       9
+                11        2  UNUSED
+                13        1      13
+                14       18  UNUSED
+                32       95      32
+               127        1  UNUSED
+               128       32  UNUSED
+               160    55136     160
+             55296     2048  UNUSED  -- surrogates --
+             57344     8190   57344
+             65534        2  UNUSED  -- FFFE and FFFF --
+             65536  1048576   65536
+
+     CAPACITY NONE  -- Capacities are not restricted in XML --
+
+     SCOPE DOCUMENT
+
+     SYNTAX
+         SHUNCHAR NONE
+         BASESET "ISO Registration Number 177//CHARSET
+                  ISO/IEC 10646-1:1993 UCS-4 with implementation
+                  level 3//ESC 2/5 2/15 4/6"
+         DESCSET
+             0 1114112 0
+         FUNCTION
+             RE    13
+             RS    10
+             SPACE 32
+             TAB   SEPCHAR 9
+         NAMING
+             LCNMSTRT ""
+             UCNMSTRT ""
+             NAMESTRT
+                 58 95 192-214 216-246 248-305 308-318 321-328
+                 330-382 384-451 461-496 500-501 506-535 592-680
+                 699-705 902 904-906 908 910-929 931-974 976-982
+                 986 988 990 992 994-1011 1025-1036 1038-1103
+                 1105-1116 1118-1153 1168-1220 1223-1224
+                 1227-1228 1232-1259 1262-1269 1272-1273
+                 1329-1366 1369 1377-1414 1488-1514 1520-1522
+                 1569-1594 1601-1610 1649-1719 1722-1726
+                 1728-1742 1744-1747 1749 1765-1766 2309-2361
+                 2365 2392-2401 2437-2444 2447-2448 2451-2472
+                 2474-2480 2482 2486-2489 2524-2525 2527-2529
+                 2544-2545 2565-2570 2575-2576 2579-2600
+                 2602-2608 2610-2611 2613-2614 2616-2617
+                 2649-2652 2654 2674-2676 2693-2699 2701
+                 2703-2705 2707-2728 2730-2736 2738-2739
+                 2741-2745 2749 2784 2821-2828 2831-2832
+                 2835-2856 2858-2864 2866-2867 2870-2873 2877
+                 2908-2909 2911-2913 2949-2954 2958-2960
+                 2962-2965 2969-2970 2972 2974-2975 2979-2980
+                 2984-2986 2990-2997 2999-3001 3077-3084
+                 3086-3088 3090-3112 3114-3123 3125-3129
+                 3168-3169 3205-3212 3214-3216 3218-3240
+                 3242-3251 3253-3257 3294 3296-3297 3333-3340
+                 3342-3344 3346-3368 3370-3385 3424-3425
+                 3585-3630 3632 3634-3635 3648-3653 3713-3714
+                 3716 3719-3720 3722 3725 3732-3735 3737-3743
+                 3745-3747 3749 3751 3754-3755 3757-3758 3760
+                 3762-3763 3773 3776-3780 3904-3911 3913-3945
+                 4256-4293 4304-4342 4352 4354-4355 4357-4359
+                 4361 4363-4364 4366-4370 4412 4414 4416 4428
+                 4430 4432 4436-4437 4441 4447-4449 4451 4453
+                 4455 4457 4461-4462 4466-4467 4469 4510 4520
+                 4523 4526-4527 4535-4536 4538 4540-4546 4587
+                 4592 4601 7680-7835 7840-7929 7936-7957
+                 7960-7965 7968-8005 8008-8013 8016-8023 8025
+                 8027 8029 8031-8061 8064-8116 8118-8124 8126
+                 8130-8132 8134-8140 8144-8147 8150-8155
+                 8160-8172 8178-8180 8182-8188 8486 8490-8491
+                 8494 8576-8578 12295 12321-12329 12353-12436
+                 12449-12538 12549-12588 19968-40869 44032-55203
+
+             LCNMCHAR ""
+             UCNMCHAR ""
+             NAMECHAR
+                 45-46 183 720-721 768-837 864-865 903 1155-1158
+                 1425-1441 1443-1465 1467-1469 1471 1473-1474
+                 1476 1600 1611-1618 1632-1641 1648 1750-1764
+                 1767-1768 1770-1773 1776-1785 2305-2307 2364
+                 2366-2381 2385-2388 2402-2403 2406-2415
+                 2433-2435 2492 2494-2500 2503-2504 2507-2509
+                 2519 2530-2531 2534-2543 2562 2620 2622-2626
+                 2631-2632 2635-2637 2662-2673 2689-2691 2748
+                 2750-2757 2759-2761 2763-2765 2790-2799
+                 2817-2819 2876 2878-2883 2887-2888 2891-2893
+                 2902-2903 2918-2927 2946-2947 3006-3010
+                 3014-3016 3018-3021 3031 3047-3055 3073-3075
+                 3134-3140 3142-3144 3146-3149 3157-3158
+                 3174-3183 3202-3203 3262-3268 3270-3272
+                 3274-3277 3285-3286 3302-3311 3330-3331
+                 3390-3395 3398-3400 3402-3405 3415 3430-3439
+                 3633 3636-3642 3654-3662 3664-3673 3761
+                 3764-3769 3771-3772 3782 3784-3789 3792-3801
+                 3864-3865 3872-3881 3893 3895 3897 3902-3903
+                 3953-3972 3974-3979 3984-3989 3991 3993-4013
+                 4017-4023 4025 8400-8412 8417 12293 12330-12335
+                 12337-12341 12441-12442 12445-12446 12540-12542
+
+             NAMECASE
+                 GENERAL NO
+                 ENTITY  NO
+         DELIM
+             GENERAL  SGMLREF
+             HCRO     "&#38;#x"
+                      -- Ampersand followed by "#x" (without quotes) --
+             NESTC    "/"
+             NET      ">"
+             PIC      "?>"
+             SHORTREF NONE
+
+         NAMES
+             SGMLREF
+
+         QUANTITY
+             NONE -- Quantities are not restricted in XML --
+
+         ENTITIES
+             "amp"  38
+             "lt"   60
+             "gt"   62
+             "quot" 34
+             "apos" 39
+
+     FEATURES
+         MINIMIZE
+             DATATAG NO
+             OMITTAG NO
+             RANK    NO
+             SHORTTAG
+                 STARTTAG
+                     EMPTY    NO
+                     UNCLOSED NO
+                     NETENABL IMMEDNET
+                 ENDTAG
+                     EMPTY    NO
+                     UNCLOSED NO
+                 ATTRIB
+                     DEFAULT  YES
+                     OMITNAME NO
+                     VALUE    NO
+             EMPTYNRM  YES
+             IMPLYDEF
+                 ATTLIST  NO  -- VALID: was YES --
+                 DOCTYPE  NO
+                 ELEMENT  NO  -- VALID: was YES --
+                 ENTITY   NO
+                 NOTATION NO  -- VALID: was YES --
+         LINK
+             SIMPLE   NO
+             IMPLICIT NO
+             EXPLICIT NO
+         OTHER
+             CONCUR   NO
+             SUBDOC   NO
+             FORMAL   NO
+             URN      NO
+             KEEPRSRE YES
+             VALIDITY TYPE -- VALID: was NOASSERT --
+             ENTITIES
+                 REF      ANY
+                 INTEGRAL YES
+
+     APPINFO NONE
+
+     SEEALSO "ISO 8879//NOTATION Extensible Markup Language (XML) 1.0//EN"
+>
+<!-- Id: $Id: xhtml1.dcl,v 1.1 2003/09/08 04:54:33 crossley Exp $ SMI
+     Revisions:
+#1999-04-09  changes for XML validation
+#2001-04-08  updated ISO registration number for UCS-4
+-->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/absolutize-linkmap.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/absolutize-linkmap.xsl
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<!--
+Stylesheet to recursively append all @href's in a tree. Eg, given as input:
+
+<site href="">
+  <community href="community/">
+    <faq href="faq.html">
+      <how_can_I_help href="#help"/>
+    </faq>
+  </community>
+</site>
+
+Output would be:
+
+<site href="">
+  <community href="community/">
+    <faq href="community/faq.html">
+      <how_can_I_help href="community/faq.html#help"/>
+    </faq>
+  </community>
+</site>
+
+This is applied to site.xml to generate the 'abs-linkmap' URIs in the sitemap.
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- Recursive template to collate @href's -->
+  <xsl:template name="absolutize">
+    <xsl:param name="node"/>
+    <!-- Only append ancestor hrefs if we're not a uri-scheme: URL -->
+    <xsl:if test="not(contains($node/@href, ':')) or 
contains(substring-before($node/@href, ':'), '/')">
+      <xsl:if test="$node/..">
+        <xsl:call-template name="absolutize">
+          <xsl:with-param name="node" select="$node/.."/>
+        </xsl:call-template>
+      </xsl:if>
+    </xsl:if>
+    <xsl:value-of select="$node/@href"/>
+
+  </xsl:template>
+
+  <xsl:template match="@href">
+    <xsl:attribute name="href">
+      <xsl:call-template name="absolutize">
+        <xsl:with-param name="node" select=".."/>
+      </xsl:call-template>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/book2cinclude.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/book2cinclude.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<!--
+Generates a skeleton doc-v20 file for the whole site with CInclude elements 
where content should be pulled in.
+Input is expected to be in standard book.xml format. @hrefs should be 
normalized, although unnormalized hrefs can be
+handled by uncommenting the relevant section.
+
[EMAIL PROTECTED]
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  xmlns:cinclude="http://apache.org/cocoon/include/1.0";>
+
+  <xsl:param name="title" select="''"/>
+  <xsl:param name="ignore" select="'jira-manual'"/>
+
+  <xsl:template match="book">
+    <document>
+      <header>
+        <title><xsl:value-of select="$title"/></title>
+      </header>
+      <body>
+        <xsl:apply-templates select="menu|menu-item"/>
+      </body>
+    </document>
+  </xsl:template>
+
+
+  <xsl:template match="menu">
+    <section>
+      <title><xsl:value-of select="@label"/></title>
+      <xsl:apply-templates/>
+    </section>
+  </xsl:template>
+
+  <xsl:template match="[EMAIL PROTECTED]'hidden']"/>  <!-- Ignore hidden items 
-->
+  <xsl:template match="menu-item[contains(@href, '#')]"/>  <!-- Ignore 
#frag-id items -->
+  <xsl:template match="menu-item[starts-with(@href, 'http:')]"/>  <!-- Ignore 
absolute http urls -->
+  <xsl:template match="menu-item[starts-with(@href, 'https:')]"/>  <!-- Ignore 
absolute https urls -->
+  <xsl:template match="menu-item[starts-with(@href, $ignore)]"/>  <!-- Ignore 
the aggregated pages -->
+
+  <!-- Recursive template to collate @href's -->
+  <xsl:template name="absolute-href">
+    <xsl:param name="node"/>
+    <!-- Only append ancestor hrefs if we're not a http(s): URL -->
+    <xsl:if test="not(starts-with($node/@href, 'http:') or 
starts-with($node/@href, 'https:'))">
+      <xsl:if test="$node/../@href">
+        <xsl:call-template name="absolute-href">
+          <xsl:with-param name="node" select="$node/.."/>
+        </xsl:call-template>
+      </xsl:if>
+    </xsl:if>
+    <xsl:value-of select="$node/@href"/>
+  </xsl:template>
+
+  <xsl:template match="menu-item">
+    <section>
+      <xsl:attribute name="id">
+        <xsl:text></xsl:text><xsl:value-of select="@href"/>
+      </xsl:attribute>
+      <cinclude:include>
+        <xsl:attribute name="src">
+          <xsl:text>cocoon://</xsl:text>
+          <!--  This isn't necessary if reading source from cocoon://book-*.xml
+          <xsl:call-template name="absolute-href">
+            <xsl:with-param name="node" select=".."/>
+          </xsl:call-template>
+          -->
+          <xsl:value-of select="concat(substring-before(@href, '.'), '.xml')"/>
+        </xsl:attribute>
+      </cinclude:include>
+    </section>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/doc2doc-uniqueids.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/doc2doc-uniqueids.xsl
       Thu Sep  9 10:04:36 2004
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  xmlns:cinclude="http://apache.org/cocoon/include/1.0";
+  exclude-result-prefixes="cinclude">
+
+  <xsl:key name="node-id" match="*" use="@id"/>
+
+  <!-- If we encounter a section with an @id, make that @id globally unique by
+  prefixing the id of the current document -->
+  <xsl:template match="section/document//@id">
+    <xsl:attribute name="id"><xsl:value-of 
select="concat(ancestor::section/@id, '#', .)"/></xsl:attribute>
+  </xsl:template>
+  
+  <!-- Make #fragment-id references inside each page globally unique -->
+  <xsl:template match="section/document//link/@href[starts-with(., '#')]">
+    <xsl:attribute name="href"><xsl:value-of select="concat('#', 
ancestor::section/@id, .)"/></xsl:attribute>
+  </xsl:template>
+
+  <!-- Translate relative links like 'index.html' to '#index.html' -->
+  <xsl:template match="section/document//link/@href[contains(., '.html')]">
+    <xsl:attribute name="href"><xsl:text>#</xsl:text><xsl:value-of 
select="."/></xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="section/document//img[starts-with(@src, 'my-images')]">
+    <!-- Zap my-images/** links, which break as they are not relative to the 
site root -->
+  </xsl:template>
+  <xsl:include href="../copyover.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/docs2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/docs2document.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:template match="section/document">
+      <title><xsl:value-of select="header/title"/></title>
+      <xsl:copy-of select="body/node()" />
+  </xsl:template>
+
+  <xsl:include href="../copyover.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/relativize-split-linkmap.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/aggregates/relativize-split-linkmap.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet is a variant of relativize-linkmap.xsl that handles the case
+where a set of nodes have been aggregated into the content for the current page
+($path).  Any node may be inside or outside the aggregation set.
+
+For nodes inside the aggregation set, links are prepended with '#' (to form an
+internal anchor).
+For nodes outside the aggregation set, links are made relative to the context
+root (either absolute or relative).
+
+For instance, if we have:
+
+<about label="About">
+  <index label="Index" href="index.html"/>
+  <who label="Who we are" href="who.html"/>
+  <dreams label="Dream list" href="dreams.html" tab="mytab"/>
+  <faq label="FAQs" href="faq.html"             tab="mytab"/>
+  <changes label="Changes" href="changes.html"/>
+  <todo label="Todo" href="todo.html"           tab="mytab"/>
+</about>
+
+Nodes 'dreams', 'faq' and 'todo' are inside the 'mytab' aggregation.  If $path
+was 'faq.html', then the generated linkmap would be:
+
+<about label="About">
+  <index label="Index" href="index.html"/>
+  <who label="Who we are" href="who.html"/>
+  <dreams label="Dream list" href="#dreams.html" tab="mytab"/>
+  <faq label="FAQs" href="#faq.html"             tab="mytab"/>
+  <changes label="Changes" href="changes.html"/>
+  <todo label="Todo" href="#todo.html"           tab="mytab"/>
+</about>
+
+Where links like '#dreams.html' are assumed to be anchors in the aggregated
+document.
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="path"/>
+  <xsl:param name="site-root" select="'http://localhost:8787/forrest/'"/>
+
+  <xsl:variable name="tab">
+    <xsl:value-of select="string(//*[starts-with(@href, $path)]/@tab)"/>
+  </xsl:variable>
+
+  <xsl:include href="../dotdots.xsl"/>
+
+  <!-- Path to site root, eg '../../' -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:template match="@href">
+
+    <xsl:attribute name="href">
+      <xsl:choose>
+        <xsl:when test="contains(., ':') and not(contains(substring-before(., 
':'), '/'))">
+          <xsl:value-of select="."/>
+        </xsl:when>
+        <xsl:when test="contains(., '.png') or
+          contains(., '.jpeg') or
+          contains(., '.jpg') or
+          contains(., '.gif') or
+          contains(., '.tif')">
+          <!-- Image links are always relative -->
+          <xsl:value-of select="$root"/><xsl:value-of select="."/>
+        </xsl:when>
+
+        <xsl:when test="$tab='' or ../@tab=$tab">
+          <xsl:value-of select="concat('#', .)"/>
+        </xsl:when>
+
+        <!-- PDFs can handle inline images, but everything else must become an
+        external link -->
+        <xsl:when test="contains($path, '.pdf')">
+
+          <!-- Links to outside a PDF are all absolute -->
+          <xsl:value-of select="concat($site-root, .)"/>
+
+        </xsl:when>
+        <xsl:otherwise>
+
+          <!-- Links outside a HTML are relative -->
+          <xsl:value-of select="$root"/><xsl:value-of select="."/>
+
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:include href="../copyover.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/bookv10.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/bookv10.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<xsl:preserve-space elements="*" />
+  
+  <xsl:output doctype-public="-//APACHE//DTD Cocoon Documentation Book 
V1.0//EN" doctype-system="book-cocoon-v10.dtd"/>
+  
+  <xsl:template match="/">
+        <xsl:apply-templates/>
+  </xsl:template>
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changes2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changes2document.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+ <xsl:import href="copyover.xsl"/>
+ 
+
+ <!-- FIXME (JJP):  bugzilla is hardwired -->
+ <xsl:variable name="bugzilla" 
select="'http://nagoya.apache.org/bugzilla/buglist.cgi?bug_id='"/>
+
+ <xsl:param name="bugtracking-url" select="$bugzilla"/>
+
+ <xsl:template match="/">
+  <xsl:apply-templates select="//changes"/>
+ </xsl:template>
+ 
+ <xsl:template match="changes">
+  <document>
+   <header>
+    <title>History of Changes</title>
+   </header>
+   <body>
+    <p><link href="changes.rss"><img src="images/rss.png" 
alt="RSS"/></link></p>    
+    <xsl:apply-templates/>
+   </body>
+  </document>
+ </xsl:template>
+
+ <xsl:template match="release">
+  <section id="[EMAIL PROTECTED]">
+   <title>Version <xsl:value-of select="@version"/> (<xsl:value-of 
select="@date"/>)</title>
+   <ul>
+    <xsl:apply-templates/>
+   </ul>
+  </section>
+ </xsl:template>
+
+ <xsl:template match="action">
+  <li>
+   <icon src="images/[EMAIL PROTECTED]" alt="[EMAIL PROTECTED]"/>
+   <xsl:apply-templates/>
+   <xsl:text>(</xsl:text><xsl:value-of select="@dev"/><xsl:text>)</xsl:text>
+
+   <xsl:if test="@due-to and @due-to!=''">
+    <xsl:text> Thanks to </xsl:text>
+    <xsl:choose>
+     <xsl:when test="@due-to-email and @due-to-email!=''">
+      <link href="mailto:[EMAIL PROTECTED]">
+       <xsl:value-of select="@due-to"/>
+      </link>
+     </xsl:when>
+     <xsl:otherwise>
+      <xsl:value-of select="@due-to"/>
+     </xsl:otherwise>
+    </xsl:choose>
+    <xsl:text>.</xsl:text>
+   </xsl:if>
+
+   <xsl:if test="@fixes-bug">
+     <xsl:text> Fixes </xsl:text>
+     <xsl:call-template name="print-bugs">
+       <xsl:with-param name="buglist" 
select="translate(normalize-space(@fixes-bug),' ','')"/>
+     </xsl:call-template>
+     <!--
+     <xsl:choose>
+       <xsl:when test="contains(@fixes-bug, ',')">
+         <!-<link 
href="{$bugtracking-url}{translate(normalize-space(@fixes-bug),' ','')}">->
+           <link href="{$bugtracking-url}">
+             <xsl:text>bugs </xsl:text><xsl:value-of 
select="normalize-space(@fixes-bug)"/>
+           </link>
+         </xsl:when>
+         <xsl:otherwise>
+           <link href="[EMAIL PROTECTED]">
+             <xsl:text>bug </xsl:text><xsl:value-of select="@fixes-bug"/>
+           </link>
+         </xsl:otherwise>
+       </xsl:choose>
+       -->
+       <xsl:text>.</xsl:text>
+     </xsl:if>
+   </li>
+ </xsl:template>
+
+ <!-- Print each bug id in a comma-separated list -->
+ <xsl:template name="print-bugs">
+   <xsl:param name="buglist"/>
+   <xsl:choose>
+     <xsl:when test="contains($buglist, ',')">
+       <xsl:variable name="current" select="substring-before($buglist, ',')"/>
+       <link href="{concat($bugtracking-url, $current)}">
+         <xsl:value-of select="$current"/>
+       </link>
+       <xsl:text>, </xsl:text>
+       <xsl:call-template name="print-bugs">
+         <xsl:with-param name="buglist" select="substring-after($buglist, 
',')"/>
+       </xsl:call-template>
+     </xsl:when>
+     <xsl:otherwise>
+       <link href="{concat($bugtracking-url, $buglist)}"><xsl:value-of 
select="$buglist"/></link>
+     </xsl:otherwise>
+   </xsl:choose>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changes2rss.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changes2rss.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="config-file" select="'../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+
+  <xsl:template match="status">
+
+    <xsl:variable name="changes-url"
+      select="concat($config/project-url, '/changes.html')"/>
+
+    <rss version="0.91">
+      <channel>
+        <title><xsl:value-of select="$config/project-name"/> Changes</title>
+
+        <link><xsl:value-of select="$changes-url"/></link>
+
+        <description><xsl:value-of select="$config/project-name"/> 
Changes</description>
+
+        <language>en-us</language>
+
+        <xsl:for-each select="changes/release[1]/action">
+          <item>
+            <title>
+              <xsl:value-of select="@context" />
+              <xsl:text> </xsl:text>
+              <xsl:value-of select="@type" />
+
+              <xsl:if test="@type='fix' and @fixes-bug">
+                (bug <xsl:value-of select="@fixes-bug" />)
+              </xsl:if>
+
+            </title>
+
+            <link><xsl:value-of select="$changes-url"/></link>
+
+            <description>
+              <xsl:value-of select="@context" />
+              <xsl:text> </xsl:text>
+              <xsl:value-of select="@type" />
+              by 
+              <xsl:value-of select="@dev" />
+              <xsl:if test="@type='fix' and @fixes-bug">
+                (fixes bug <xsl:value-of select="@fixes-bug" />)
+              </xsl:if>
+              :
+              <xsl:value-of select="." />
+              <xsl:if test="@due-to"> Thanks to <xsl:value-of select="@due-to" 
/>.</xsl:if> 
+            </description>
+          </item>
+        </xsl:for-each>
+      </channel>
+    </rss>
+  </xsl:template>
+</xsl:stylesheet>
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changesv10tochangesv11.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/changesv10tochangesv11.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<xsl:preserve-space elements="*" />
+  <!-- changes-v10.dtd to changes-v11.dtd transformation -->
+  
+  <xsl:template match="/">
+        <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="changes/@title">
+    <title><xsl:value-of select="."/></title>
+  </xsl:template>
+
+  <xsl:template match="link/@type | link/@actuate | link/@show |
+                       jump/@type | jump/@actuate | jump/@show |
+                       fork/@type | fork/@actuate | fork/@show"/>
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/copyover.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/copyover.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+  <xsl:template match="@*|*|text()|processing-instruction()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/directory2book.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/directory2book.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+
+<!-- Converts the output of the DirectoryGenerator to Forrest's book.xml
+format.  Typically this would be used to define a book.xml pipeline for a
+specific page.  Eg, in menu.xmap, define the DirectoryGenerator:
+
+<map:generators default="file">
+  <map:generator name="directory" 
src="org.apache.cocoon.generation.DirectoryGenerator" />
+</map:generators>
+
+And then define the book.xml matcher for a directory that you want to
+automatically generate a menu for (here wiki/):
+
+<map:match pattern="wiki/**book-*">
+  <map:generate type="directory" src="content/xdocs/wiki/{1}">
+    <map:parameter name="dateFormat" value="yyyy-MM-dd hh:mm" />
+    <map:parameter name="depth" value="5" />
+    <map:parameter name="exclude" value="[.][^x[^m][^l]|~$|^my-images$" />
+  </map:generate>
+  <map:transform src="resources/stylesheets/directory2book.xsl" />
+  <map:serialize type="xml"/>
+</map:match>
+
+
+-->
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  xmlns:dir="http://apache.org/cocoon/directory/2.0"; 
exclude-result-prefixes="dir">
+
+  <xsl:output doctype-system="book-cocoon-v10.dtd" 
doctype-public="-//APACHE//DTD Cocoon Documentation Book V1.0//EN"/>
+
+  <xsl:param name="expected-extension" select="'xml'"/>
+
+  <xsl:variable name="ext" select="concat('.', $expected-extension)"/>
+
+  <xsl:template match="/">
+    <book software="" title="" copyright="">
+      <!--
+      <menu label="Aggregates">
+        <menu-item label="Combined content" href="combined.html"/>
+      </menu>
+      -->
+      <xsl:apply-templates/>
+    </book>
+  </xsl:template>
+
+  <xsl:template match="dir:directory">
+    <menu label="{translate(@name,'-_',' ')}">
+      <xsl:apply-templates select="dir:file" />
+    </menu>
+      <!-- [descendant::dir:file] is to remove empty menu nodes -->
+      <xsl:apply-templates select="dir:directory [descendant::dir:file]" />
+  </xsl:template>
+
+  <xsl:template match="dir:file">
+    <menu-item label="{translate(substring-before(@name, $ext),'-_',' ')}">
+      <xsl:attribute name="href">
+      <xsl:variable name="path" />
+        <!-- [not (position()=last())] is to ignore the root node -->
+        <xsl:for-each select="ancestor::dir:directory [not 
(position()=last())]">
+          <xsl:variable name="path" select="concat($path, @name, '/')" />
+          <xsl:value-of select="$path"/>
+        </xsl:for-each>
+        <xsl:value-of select="concat(substring-before(@name, $ext), '.html')"/>
+      </xsl:attribute>
+    </menu-item>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/directory2revisions.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/directory2revisions.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+ xmlns:dir="http://apache.org/cocoon/directory/2.0";>
+ 
+ 
+ <xsl:param name="page" />
+ <xsl:variable name="revisionPage"><xsl:value-of 
select="concat('revision-',$page)" /></xsl:variable>
+
+  <xsl:template match="dir:directory">
+  <revisions>
+      <xsl:apply-templates select="dir:file" />
+  </revisions>
+  </xsl:template>
+
+  <xsl:template match="dir:file">
+  
+ <xsl:if test="starts-with(@name,$revisionPage)" >
+       <revision>
+         <xsl:attribute name="name"><xsl:value-of 
select="@name"/></xsl:attribute>
+         <xsl:attribute name="date"><xsl:value-of 
select="@date"/></xsl:attribute>
+       </revision>
+ </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docbook2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docbook2document.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,643 @@
+<?xml version="1.0"?>
+<!--
+A prototype Docbook-to-Forrest stylesheet.
+Volunteers are needed to improve this!
+
+Support for the range of Docbook tags is very patchy. If you need real
+Docbook support, then use Norm Walsh's stylesheets - see Forrest FAQ.
+
+Credit: original from the jakarta-avalon project
+Revision:
+ - [EMAIL PROTECTED] - Moving towards xml.apache.org/forrest document...not 
yet complete.
+ - [EMAIL PROTECTED] - Lots of fixups, notably the title now works, and 
footnotes work.
+
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
+
+      <xsl:template match="/">
+            <xsl:apply-templates select="book|chapter|revhistory|article"/>
+      </xsl:template>
+
+      <xsl:template match="/book">
+            <document>
+                  <header>
+                        <xsl:apply-templates select="bookinfo/title"/>
+                        <xsl:apply-templates select="bookinfo/subtitle"/>
+                        <authors>
+                              <xsl:apply-templates select="bookinfo/author"/>
+                        </authors>
+                        <!--
+                        <notice/>
+                        <abstract/>
+                        -->
+                  </header>
+                  <body>
+                        <xsl:apply-templates select="node()[ local-name() != 
'bookinfo']"/>
+                        <xsl:call-template name="apply-footnotes"/>
+                  </body>
+            </document>
+      </xsl:template>
+
+      <xsl:template match="/chapter">
+            <document>
+                  <header>
+                        <xsl:apply-templates select="title"/>
+                        <xsl:apply-templates select="subtitle"/>
+                        <authors>
+                              <xsl:apply-templates 
select="chapterinfo/authorgroup/author"/>
+                        </authors>
+                  </header>
+                  <body>
+                        <xsl:apply-templates select="node()[
+                              local-name() != 'title' and
+                              local-name() != 'subtitle' and
+                              local-name() != 'chapterinfo' 
+                              ]"/>
+                        <xsl:call-template name="apply-footnotes"/>
+                  </body>
+            </document>
+      </xsl:template>
+
+       <xsl:template match="/article">
+             <document>
+                   <header>
+                         <xsl:apply-templates 
select="articleinfo/title|title"/>
+                         <xsl:apply-templates 
select="articleinfo/subtitle|subtitle"/>
+                         <authors>
+                               <xsl:apply-templates 
select="articleinfo/author"/>
+                               <xsl:apply-templates 
select="articleinfo/corpauthor"/>
+                         </authors>
+                   </header>
+                   <body>
+                         <xsl:call-template name="extract-articleinfo"/>
+                         <xsl:apply-templates select="node()[
+                               local-name() != 'title' and
+                               local-name() != 'subtitle' and
+                               local-name() != 'articleinfo'
+                               ]"/>
+                         <xsl:call-template name="apply-footnotes"/>
+                   </body>
+             </document>
+       </xsl:template>
+
+      <xsl:template name="extract-articleinfo">
+          <xsl:if test="articleinfo/copyright">
+              <section id="pubinfo">
+                  <title>Publication Information</title>
+                  <xsl:if test="articleinfo/pubdate">
+                      <p>Date published:
+                          <xsl:value-of select="articleinfo/pubdate"/>
+                      </p>
+                  </xsl:if>
+                  <xsl:apply-templates select="articleinfo/copyright"/>
+              </section>
+          </xsl:if>
+      </xsl:template>
+
+      <xsl:template name="apply-footnotes">
+            <xsl:if test="//footnote">
+                  <section><title>Footnotes</title>
+                        <xsl:apply-templates select="//footnote" mode="base"/>
+                  </section>
+            </xsl:if>
+      </xsl:template>
+
+      <xsl:template match="author">
+            <xsl:element name="person">
+                  <xsl:if test="id"><xsl:attribute name="id"><xsl:value-of 
select="id"/></xsl:attribute></xsl:if>
+                  <xsl:attribute name="name">
+                        <xsl:if test="honorific"><xsl:value-of 
select="honorific"/>. </xsl:if>
+                        <xsl:if test="firstname"><xsl:value-of 
select="firstname"/></xsl:if>
+                        <xsl:text> </xsl:text><xsl:value-of select="surname"/>
+                        <xsl:if test="affiliation">
+                            <xsl:text> (</xsl:text>
+<!-- FIXME: horrid hack - there can be zero-or-more jobtitle -->
+                            <xsl:if test="affiliation/jobtitle">
+                                <xsl:value-of select="affiliation/jobtitle"/>
+                                <xsl:text>, </xsl:text>
+                            </xsl:if>
+                            <xsl:if test="affiliation/orgname">
+                                <xsl:value-of select="affiliation/orgname"/>
+                            </xsl:if>
+                            <xsl:text>)</xsl:text>
+                        </xsl:if>
+                  </xsl:attribute>
+                  <xsl:attribute name="email"><xsl:value-of 
select="address/email"/></xsl:attribute>
+            </xsl:element>
+      </xsl:template>
+      <xsl:template match="chapter">
+            <section>
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+      <xsl:template match="docinfo">
+            <xsl:apply-templates/>
+      </xsl:template>
+      <xsl:template match="cmdsynopsis">
+            <!--
+            <cmdsynopsis>
+                  <command>xindice add_collection</command>
+                  <arg choice="req">-c <replaceable>context</replaceable></arg>
+                  <arg choice="req">-n <replaceable>name</replaceable></arg>
+                  <arg choice="opt">-v <replaceable></replaceable></arg>
+            </cmdsynopsis>
+            -->
+            <p>
+                  <code>
+                        <xsl:value-of select="command"/>
+                        <xsl:apply-templates select="node()[ local-name() != 
'command' ]"/>
+                  </code>
+            </p>
+      </xsl:template>
+      <xsl:template match="arg">
+            <xsl:choose>
+                  <xsl:when test="@choice = 'req' ">
+                        <xsl:apply-templates/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                        [<xsl:apply-templates/>]
+                  </xsl:otherwise>
+            </xsl:choose>
+      </xsl:template>
+      <xsl:template match="replaceable">
+            (or <xsl:value-of select="."/>)
+      </xsl:template>
+      <xsl:template match="bridgehead">
+            <section>
+                  <title>
+                        <xsl:value-of select="."/>
+                  </title>
+            </section>
+      </xsl:template>
+      <xsl:template match="sect1|sect2|sect3|sect4|sect5">
+            <section>
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+       <xsl:template match="example">
+            <section>
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+      <xsl:template match="informaltable">
+            <table>
+                  <xsl:apply-templates/>
+            </table>
+      </xsl:template>
+      <xsl:template match="anchor">
+            <!--
+            <a name="{.}"/>
+            -->
+            <xsl:element name="link">
+                  <xsl:if test="@href">
+                        <xsl:attribute name="href"><xsl:value-of 
select="@href"/></xsl:attribute>
+                  </xsl:if>
+                  <xsl:attribute name="id"><xsl:value-of 
select="."/></xsl:attribute>
+            </xsl:element>
+      </xsl:template>
+      <xsl:template match="a">
+            <link href="[EMAIL PROTECTED]">
+                  <xsl:value-of select="."/>
+            </link>
+      </xsl:template>
+      <xsl:template match="subtitle">
+            <subtitle>
+                  <xsl:value-of select="."/>
+            </subtitle>
+      </xsl:template>
+      <xsl:template match="title">
+            <title>
+                  <xsl:value-of select="."/>
+            </title>
+      </xsl:template>
+      <xsl:template match="affiliation">
+            <li>
+                  <xsl:text>[</xsl:text>
+                  <xsl:value-of select="shortaffil"/>
+                  <xsl:text>] </xsl:text>
+                  <b>
+                        <xsl:value-of select="jobtitle"/>
+                  </b>
+                  <i>
+                        <xsl:value-of select="orgname"/>
+                        <xsl:if test="orgdiv">
+                              <xsl:text>/</xsl:text>
+                              <xsl:value-of select="orgdiv"/>
+                        </xsl:if>
+                  </i>
+            </li>
+      </xsl:template>
+      <xsl:template match="authorblurb">
+            <section title="Bio">
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+      <xsl:template 
match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
+      <xsl:template match="revhistory">
+            <document>
+                  <header>
+                        <title>Revision History</title>
+                  </header>
+                  <body>
+                        <section>
+                              <title>Revision History</title>
+                              <table>
+                                    <xsl:variable name="unique-revisions" 
select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
+                                    <xsl:variable name="base" select="."/>
+                                    <xsl:for-each select="$unique-revisions">
+                                          <tr>
+                                                <td>
+                                                      <b>Revision 
<xsl:value-of select="."/> 
+                                                            (<xsl:value-of 
select="$base/revision[revnumber=current()]/date"/>)
+                                                      </b>
+                                                </td>
+                                          </tr>
+                                          <tr>
+                                                <td>
+                                                      <font color="#000000" 
face="arial,helvetica,sanserif">
+                                                            <br/>
+                                                            <ul>
+                                                                  
<xsl:apply-templates select="$base/revision[revnumber=current()]"/>
+                                                            </ul>
+                                                      </font>
+                                                </td>
+                                          </tr>
+                                    </xsl:for-each>
+                              </table>
+                        </section>
+                  </body>
+            </document>
+      </xsl:template>
+
+      <xsl:template match="para">
+            <p><xsl:apply-templates/></p>
+      </xsl:template>
+
+      <xsl:template match="emphasis">
+            <em><xsl:apply-templates/></em>
+      </xsl:template>
+
+      <xsl:template match="firstterm">
+            <em><xsl:apply-templates/></em>
+      </xsl:template>
+
+      <xsl:template match="revision">
+            <li>
+                  <xsl:choose>
+                        <xsl:when test="@revisionflag='added'">
+                              <img align="absmiddle" alt="added" 
src="images/add.jpg"/>
+                        </xsl:when>
+                        <xsl:when test="@revisionflag='changed'">
+                              <img align="absmiddle" alt="changed" 
src="images/update.jpg"/>
+                        </xsl:when>
+                        <xsl:when test="@revisionflag='deleted'">
+                              <img align="absmiddle" alt="deleted" 
src="images/remove.jpg"/>
+                        </xsl:when>
+                        <xsl:when test="@revisionflag='off'">
+                              <img align="absmiddle" alt="off" 
src="images/fix.jpg"/>
+                        </xsl:when>
+                        <xsl:otherwise>
+                              <img align="absmiddle" alt="changed" 
src="images/update.jpg"/>
+                        </xsl:otherwise>
+                  </xsl:choose>
+                  <xsl:value-of select="revremark"/>
+                  <xsl:text> (</xsl:text>
+                  <xsl:value-of select="authorinitials"/>
+                  <xsl:text>)</xsl:text>
+            </li>
+      </xsl:template>
+      <xsl:template match="revnumber|revremark|authorinitials|date"/>
+      <xsl:template match="section">
+            <section>
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+      <xsl:template match="dedication">
+            <table>
+                  <tr>
+                        <td>
+                              <b>Dedication</b>
+                        </td>
+                  </tr>
+                  <tr>
+                        <td>
+                              <br/>
+                              <xsl:apply-templates/>
+                        </td>
+                  </tr>
+            </table>
+      </xsl:template>
+      <xsl:template match="edition|pubdate|year|holder"/>
+      <xsl:template match="copyright">
+            <p>Copyright &#x00A9;<xsl:value-of select="year"/> by 
<xsl:value-of select="holder"/>
+                <xsl:text> </xsl:text>
+                <i>All rights reserved.</i>
+            </p>
+      </xsl:template>
+      <xsl:template match="legalnotice">
+            <table>
+                  <tr>
+                        <td>
+                              <xsl:apply-templates/>
+                        </td>
+                  </tr>
+            </table>
+      </xsl:template>
+      <xsl:template match="programlisting">
+            <source>
+                  <xsl:apply-templates/>
+            </source>
+      </xsl:template>
+      <xsl:template match="screen">
+            <source>
+                  <xsl:apply-templates/>
+            </source>
+      </xsl:template>
+      <xsl:template match="orderedlist">
+            <ol>
+                  <xsl:apply-templates/>
+            </ol>
+      </xsl:template>
+      <xsl:template match="listitem">
+            <li>
+                  <xsl:apply-templates/>
+            </li>
+      </xsl:template>
+      <xsl:template match="itemizedlist">
+            <ul>
+                  <xsl:apply-templates/>
+            </ul>
+      </xsl:template>
+      <xsl:template match="command">
+            <code>
+                  <xsl:value-of select="."/>
+            </code>
+      </xsl:template>
+      <xsl:template match="computeroutput">
+            <code>
+                  <xsl:value-of select="."/>
+            </code>
+      </xsl:template>
+      <xsl:template match="varname">
+            <code>
+                  <xsl:value-of select="."/>
+            </code>
+      </xsl:template>
+      <xsl:template match="literal">
+            <code><xsl:value-of select="."/></code>
+      </xsl:template>
+      <xsl:template match="option">
+            <code><xsl:value-of select="."/></code>
+      </xsl:template>
+       <xsl:template match="constant">
+            <code><xsl:value-of select="."/></code>
+      </xsl:template>
+      <xsl:template match="trademark">
+            <xsl:apply-templates/>&#x2122;
+      </xsl:template>
+      <xsl:template match="filename">
+            <code>
+                  <xsl:value-of select="."/>
+            </code>
+      </xsl:template>
+      <xsl:template match="classname|function|parameter">
+            <code>
+                  <xsl:apply-templates/>
+                  <xsl:if test="name(.)='function'">
+                        <xsl:text>()</xsl:text>
+                  </xsl:if>
+            </code>
+      </xsl:template>
+      <xsl:template match="quote">
+            <xsl:text>"</xsl:text><xsl:apply-templates/><xsl:text>"</xsl:text>
+      </xsl:template>
+
+      <xsl:template match="blockquote">
+            <table>
+                  <xsl:if test="title">
+                        <tr>
+                              <td>
+                                    <xsl:value-of select="title"/>
+                              </td>
+                        </tr>
+                  </xsl:if>
+                  <tr>
+                        <td>
+                              <xsl:apply-templates/>
+                        </td>
+                  </tr>
+            </table>
+      </xsl:template>
+      <xsl:template match="warning">
+            <warning>
+                  <xsl:apply-templates/>
+            </warning>
+      </xsl:template>
+      <xsl:template match="ulink">
+            <xsl:element name="link">
+                  <xsl:attribute name="href"><xsl:choose><xsl:when 
test="@uri"><xsl:value-of 
select="@uri"/></xsl:when><xsl:otherwise><xsl:value-of 
select="@url"/></xsl:otherwise></xsl:choose></xsl:attribute>
+                  <xsl:apply-templates/>
+            </xsl:element>
+      </xsl:template>
+      <xsl:template match="footnote">
+            <xsl:variable name="footnote-id">
+                  <xsl:value-of select="count(preceding::footnote)+1"/>
+            </xsl:variable>
+            <anchor id="footnote-{$footnote-id}-ref"/>
+            <sup>
+                  <link href="#footnote-{$footnote-id}">
+                        <xsl:value-of select="$footnote-id"/>
+                  </link>
+            </sup>
+      </xsl:template>
+
+      <xsl:template match="footnote" mode="base">
+            <p>
+                  <xsl:variable name="footnote-id">
+                        <xsl:value-of select="count(preceding::footnote)+1"/>
+                  </xsl:variable>
+                  <anchor id="footnote-{$footnote-id}"/>
+                  <link href="#footnote-{$footnote-id}-ref">
+                        <xsl:value-of select="$footnote-id"/>
+                  </link><xsl:text>) </xsl:text>
+                  <!-- Most footnotes have a para nested; strip if there is 
only one-->
+                  <xsl:if test="not(para)"><xsl:apply-templates/></xsl:if>
+                  <xsl:if test="count(para)=1"><xsl:apply-templates
+                              select="para/node()"/></xsl:if>
+            </p>
+            <xsl:if test="count(para)>1"><xsl:apply-templates/></xsl:if>
+      </xsl:template>
+
+      <xsl:template match="figure">
+            <table>
+                  <tr>
+                        <td>
+                              <xsl:value-of select="title"/>
+                        </td>
+                  </tr>
+                  <xsl:apply-templates select="*[not(self::title)]"/>
+            </table>
+      </xsl:template>
+
+      <xsl:template match="mediaobject|imageobject">
+            <xsl:apply-templates/>
+      </xsl:template>
+
+      <xsl:template match="inlinegraphic">
+            <img alt="[EMAIL PROTECTED]" src="[EMAIL PROTECTED]"/>
+      </xsl:template>
+
+      <xsl:template match="graphic|imagedata">
+            <tr>
+                  <td>
+                        <img alt="[EMAIL PROTECTED]" src="[EMAIL PROTECTED]"/>
+                  </td>
+            </tr>
+            <xsl:if test="@srccredit">
+                  <tr>
+                        <td>
+                              <ul>
+                                    <li>
+                                          <xsl:value-of select="@srccredit"/>
+                                    </li>
+                              </ul>
+                        </td>
+                  </tr>
+            </xsl:if>
+      </xsl:template>
+      <xsl:template match="simplelist">
+            <ul>
+                  <xsl:apply-templates/>
+            </ul>
+      </xsl:template>
+      <xsl:template match="member">
+            <li>
+                  <xsl:apply-templates/>
+            </li>
+      </xsl:template>
+      <xsl:template match="table">
+            <table>
+                  <xsl:apply-templates/>
+            </table>
+      </xsl:template>
+      <xsl:template match="tgroup">
+            <xsl:apply-templates select="thead|tbody|tfoot"/>
+      </xsl:template>
+      <xsl:template match="thead">
+            <xsl:apply-templates mode="thead"/>
+      </xsl:template>
+      <xsl:template match="row" mode="thead">
+            <tr>
+              <xsl:apply-templates mode="thead"/>
+            </tr>
+      </xsl:template>
+      <xsl:template match="entry" mode="thead">
+            <th>
+                  <xsl:apply-templates/>
+            </th>
+      </xsl:template>
+      <xsl:template match="row">
+            <tr>
+                  <xsl:apply-templates/>
+            </tr>
+      </xsl:template>
+      <xsl:template match="tbody|tfoot">
+            <xsl:apply-templates/>
+      </xsl:template>
+      <xsl:template match="entry">
+            <td>
+                  <xsl:apply-templates/>
+            </td>
+      </xsl:template>
+      <xsl:template match="trademark">
+            <xsl:apply-templates/>
+            <sup>TM</sup>
+      </xsl:template>
+
+      <!-- Filched from Norm Walsh's inline.xsl -->
+      <xsl:template match="sgmltag">
+            <xsl:call-template name="format.sgmltag"/>
+      </xsl:template>
+
+      <xsl:template name="format.sgmltag">
+            <xsl:param name="class">
+                  <xsl:choose>
+                        <xsl:when test="@class">
+                              <xsl:value-of select="@class"/>
+                        </xsl:when>
+                        <xsl:otherwise>element</xsl:otherwise>
+                  </xsl:choose>
+            </xsl:param>
+
+            <tt class="sgmltag-{$class}">
+                  <xsl:choose>
+                        <xsl:when test="$class='attribute'">
+                              <xsl:apply-templates/>
+                        </xsl:when>
+                        <xsl:when test="$class='attvalue'">
+                              <xsl:apply-templates/>
+                        </xsl:when>
+                        <xsl:when test="$class='element'">
+                              <xsl:apply-templates/>
+                        </xsl:when>
+                        <xsl:when test="$class='endtag'">
+                              <xsl:text>&lt;/</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='genentity'">
+                              <xsl:text>&amp;</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='numcharref'">
+                              <xsl:text>&amp;#</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='paramentity'">
+                              <xsl:text>%</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='pi'">
+                              <xsl:text>&lt;?</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='xmlpi'">
+                              <xsl:text>&lt;?</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>?&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='starttag'">
+                              <xsl:text>&lt;</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='emptytag'">
+                              <xsl:text>&lt;</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>/&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='sgmlcomment'">
+                              <xsl:text>&lt;!--</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>--&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:otherwise>
+                              <xsl:apply-templates/>
+                        </xsl:otherwise>
+                  </xsl:choose>
+            </tt>
+      </xsl:template>
+
+
+
+      <xsl:template match="node()|@*" priority="-1">
+            <xsl:copy>
+                  <xsl:apply-templates select="node()|@*"/>
+            </xsl:copy>
+      </xsl:template>
+</xsl:stylesheet>
+<!-- vim: set ft=xml sw=6: -->

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docv10todocv11.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docv10todocv11.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<!-- <xsl:preserve-space elements="*" /> -->
+  <!-- document-v10.dtd to document-v11.dtd transformation -->
+
+
+  <!-- We should something similar, i.e. make sure the result of this 
transformation is validated against the v11 DTD
+  -->
+  <xsl:template match="/">
+    <xsl:choose>
+      <xsl:when test="document">
+        <!-- there exists a document element -->
+        <xsl:apply-templates/>
+      </xsl:when>
+      <xsl:otherwise>
+        <!-- no document element, presumably no header also, so I will 
generate one -->
+        <document>
+          <header>
+            <title><xsl:value-of select="s1[1]/@title"/></title>
+            <authors><person name="unknown" email="unknown"/></authors>
+          </header>
+          <body>
+            <xsl:choose>
+              <xsl:when test="count(s1)='1'">
+                <!-- only one s1 in the entire document, must be a hack to 
create a title -->
+                <xsl:choose>
+                  <xsl:when test="count(s1/s2)='1'">
+                    <!-- only one s2 inside that s1, unwrap the content of 
that s2 -->
+                    <xsl:apply-templates select="s1/s2/*"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <!-- in any case, we get rid of these s1/s2 elements -->
+                    <xsl:apply-templates select="s1/*"/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:apply-templates/>
+              </xsl:otherwise>
+            </xsl:choose>
+          </body>
+        </document>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  
+  <!-- no links allowed in em anymore -->
+  <xsl:template match="em[link]">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <!-- fixes sections -->
+  <xsl:template match="s1 | s2 | s3 | s4">
+    <section>
+      <xsl:apply-templates select="@*[name()!='title']"/>
+      <xsl:apply-templates select="@*[name()='title']"/>
+         <!-- apply title rule last. See 
http://sourceforge.net/forum/forum.php?thread_id=729070&forum_id=94027 -->
+      <xsl:apply-templates select="node()"/>
+    </section>
+  </xsl:template>
+
+  <xsl:template match="s1/@title | s2/@title | s3/@title | s4/@title">
+    <title><xsl:value-of select="."/></title>
+  </xsl:template>
+
+  <!-- dunnow what to do with connect - maybe just evaporize it? -->
+  <xsl:template match="connect">
+    <xsl:message terminate="no">The connect element isn't supported anymore in 
the document-v11.dtd, please fix your document.</xsl:message>
+    [[connect: <xsl:apply-templates/> ]]
+  </xsl:template>
+
+  <xsl:template match="link/@idref">
+    <xsl:message terminate="no">The link element has no idref attribute 
defined in the document-v11.dtd, please fix your document.</xsl:message>
+    [[link/@idref: <xsl:apply-templates/> ]]
+  </xsl:template>
+
+  <xsl:template match="link/@type | link/@actuate | link/@show |
+                       jump/@type | jump/@actuate | jump/@show |
+                       fork/@type | fork/@actuate | fork/@show"/>
+
+  <!-- 'simple lists' become unordered lists -->
+  <xsl:template match="sl">
+    <ul>
+      <xsl:apply-templates select="@*|node()"/>
+    </ul>
+  </xsl:template>
+        
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docv20todocv12.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/docv20todocv12.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+  <!-- document-v20x.dtd to document-v12.dtd transformation -->
+
+  <xsl:template match="/">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="a">
+    <link>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates select="node()"/>
+    </link>
+  </xsl:template>
+
+  <!--
+  <xsl:template match="s1/@title | s2/@title | s3/@title | s4/@title">
+    <title><xsl:value-of select="."/></title>
+  </xsl:template>
+  -->
+
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/dotdots.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/dotdots.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Contains the 'dotdots' template, which, given a path, will output a set of
+directory traversals to get back to the source directory. Handles both '/' and
+'\' directory separators.
+
+Examples:
+  Input                           Output 
+    index.html                    ""
+    dir/index.html                "../"
+    dir/subdir/index.html         "../../"
+    dir//index.html              "../"
+    dir/                          "../"
+    dir//                         "../"
+    \some\windows\path            "../../"
+    \some\windows\path\           "../../../"
+    \Program Files\mydir          "../"
+
+Cannot handle ..'s in the path, so don't expect 'dir/subdir/../index.html' to
+work.
+
[EMAIL PROTECTED]
+-->
+
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:template name="dotdots">
+    <xsl:param name="path"/>
+    <xsl:variable name="dirs" select="normalize-space(translate(concat($path, 
'x'), ' /\', '_  '))"/>
+    <!-- The above does the following:
+       o Adds a trailing character to the path. This prevents us having to deal
+         with the special case of ending with '/'
+       o Translates all directory separators to ' ', and normalize spaces,
+                cunningly eliminating duplicate '//'s. We also translate any 
real
+                spaces into _ to preserve them.
+    -->
+    <xsl:variable name="remainder" select="substring-after($dirs, ' ')"/>
+    <xsl:if test="$remainder">
+      <xsl:text>../</xsl:text>
+      <xsl:call-template name="dotdots">
+        <xsl:with-param name="path" select="translate($remainder, ' ', '/')"/>
+               <!-- Translate back to /'s because that's what the template 
expects. -->
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+<!--
+  Uncomment to test.
+  Usage: saxon dotdots.xsl dotdots.xsl path='/my/test/path'
+
+  <xsl:param name="path"/>
+  <xsl:template match="/">
+    <xsl:message>Path: <xsl:value-of select="$path"/></xsl:message>
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:template>
+ -->
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/dtdx2flat.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/dtdx2flat.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,29 @@
+<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
+
+ <xsl:template match='/'>
+  <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match='@*|dtd|attlist|attributeDecl|enumeration|notationDecl'>
+  <xsl:copy>
+   <xsl:apply-templates select='@*|*'/>
+  </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match='group[count(*)=1][group]'>
+  <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template 
match='contentModel|any|empty|group|pcdata|element|separator|occurrence'>
+  <xsl:copy>
+   <xsl:apply-templates select='@*|*'/>
+  </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="comment"/>
+
+ <xsl:template match='*'>
+  <xsl:apply-templates/>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faq2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faq2document.xsl
       Thu Sep  9 10:04:36 2004
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+ <xsl:import href="copyover.xsl"/>
+
+  <xsl:template match="faqs">
+   <document>
+    <header>
+     <title><xsl:value-of select="@title"/></title>
+    </header>
+    <body>
+      <section>
+       <title>Questions</title>
+       <ol>
+        <xsl:apply-templates select="faq|part" mode="index"/>
+       </ol>
+      </section>
+      <section>
+       <title>Answers</title>
+        <xsl:apply-templates select="faq|part"/>
+      </section>
+    </body>
+   </document>  
+  </xsl:template>
+
+  <xsl:template match="part" mode="index">
+    <li>
+      <strong>
+      <!-- Rely on <ol> numbering here -->
+      <!--<xsl:number level="multiple" count="faq|part" format="1.1. "/> -->
+       <xsl:apply-templates select="title"/></strong>
+       <ul>
+        <xsl:apply-templates select="faq|part" mode="index"/>
+       </ul><br />
+    </li>
+  </xsl:template>
+
+  <xsl:template match="faq" mode="index">
+    <li>
+         <xsl:attribute name="id">
+        <xsl:call-template name="generate-id"/><xsl:text>-menu</xsl:text>
+         </xsl:attribute>
+      <link>
+        <xsl:attribute name="href">
+          <xsl:text>#</xsl:text><xsl:call-template name="generate-id"/>
+        </xsl:attribute>
+               <!--
+                 IMHO adding this makes the tightly-packed menu less legible 
for
+                 little benefit (JT)
+           <xsl:number level="multiple" count="faq|part" format="1.1. "/>
+               -->
+        <xsl:apply-templates select="question" mode="index"/>
+      </link>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="part">
+    <xsl:variable name="id">
+      <xsl:call-template name="generate-id"/>
+    </xsl:variable>
+    <section id="{$id}">
+      <title>
+        <xsl:number level="multiple" count="faq|part" format="1.1. "/>
+        <xsl:value-of select="title"/>
+      </title>
+      <xsl:apply-templates select="faq|part"/>
+    </section>
+  </xsl:template>
+
+  <xsl:template match="faq">
+    <xsl:variable name="id">
+      <xsl:call-template name="generate-id"/>
+    </xsl:variable>
+
+    <section id="{$id}">
+      <title>
+        <xsl:number level="multiple" count="faq|part" format="1.1. "/>
+        <xsl:apply-templates select="question"/>
+      </title>
+      <xsl:apply-templates select="answer"/>
+    </section>
+  </xsl:template>
+
+  <xsl:template name="generate-id">
+    <xsl:choose>
+      <xsl:when test="@id">
+        <xsl:value-of select="@id"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="concat(concat(local-name(.), '-'), 
generate-id(.))"/>
+      </xsl:otherwise>
+  </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="question" mode="index">
+    <xsl:apply-templates select="node()[not(local-name()='elaboration')]"/>
+  </xsl:template>
+
+  <xsl:template match="question">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="answer">
+    <xsl:if test="count(p)>0"> 
+      <xsl:apply-templates/>
+    </xsl:if>
+    <xsl:if test="count(p)=0"> 
+      <p>
+        <xsl:apply-templates/>
+      </p>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="title">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faqv10tofaqv11.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faqv10tofaqv11.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<xsl:preserve-space elements="*" />
+  <!-- faq-v10.dtd to faq-v11.dtd transformation -->
+  
+  <xsl:template match="/">
+        <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="link/@idref">
+    <xsl:message terminate="no">The link element has no idref attribute 
defined in the document-v11.dtd, please fix your document.</xsl:message>
+    [[link/@idref: <xsl:value-of select="."/> ]]
+  </xsl:template>
+
+  <xsl:template match="link/@type | link/@actuate | link/@show |
+                       jump/@type | jump/@actuate | jump/@show |
+                       fork/@type | fork/@actuate | fork/@show"/>
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faqv20tofaqv12.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/faqv20tofaqv12.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+  <xsl:preserve-space elements="*" />
+  <!-- faq-v20x.dtd to faq-v12.dtd transformation -->
+
+  <xsl:template match="/">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="faqs">
+    <faqs>
+      <xsl:attribute name="title">
+        <xsl:value-of select="title"/>
+      </xsl:attribute>
+      <xsl:apply-templates/>
+    </faqs>
+  </xsl:template>
+
+  <xsl:template match="faqs/title"/>
+
+  <xsl:template match="faqsection">
+    <part>
+      <xsl:apply-templates select="node()|@*"/>
+    </part>
+  </xsl:template>
+
+  <xsl:template match="a">
+    <link>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates select="node()"/>
+    </link>
+  </xsl:template>
+
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/flat2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/flat2document.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,154 @@
+<?xml version='1.0'?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+<xsl:key name="attlistbyname" match="attlist" use="@ename"/>
+<xsl:key name="contentmodelbychildren" match="contentModel" 
use="descendant::element/@name"/>
+
+<xsl:template match="dtd">
+  <document>
+    <header>
+      <title>DTD documentation</title>
+      <subtitle>
+        <xsl:call-template name="trailingfilename">
+          <xsl:with-param name="string" select="@sysid"/>
+        </xsl:call-template>
+      </subtitle>
+    </header>
+    <body>
+      <section><title>Top-level element(s)</title>
+        <ul>
+          <xsl:for-each 
select="/dtd/contentModel[not(key('contentmodelbychildren', @ename))]">
+            <li>
+              <link href="[EMAIL PROTECTED]"><xsl:value-of 
select="@ename"/></link>
+            </li>
+          </xsl:for-each>
+        </ul>
+      </section>
+      <section><title>List of elements</title>
+        <ul>
+          <xsl:for-each select="contentModel">
+            <xsl:sort select="@ename"/>
+            <li>
+              <link href="[EMAIL PROTECTED]"><xsl:value-of 
select="@ename"/></link>
+            </li>
+          </xsl:for-each>
+        </ul>
+      </section>
+      <section>
+        <title>Element declarations</title>
+        <xsl:apply-templates select="contentModel"/>
+      </section>
+    </body>
+  </document>
+</xsl:template>
+
+<xsl:template match="contentModel">
+  <section id="[EMAIL PROTECTED]">
+      <table class="dtdElement" cellspacing="0" cellpadding="0" border="0">
+        <tr>
+          <td colspan="3"><span class="dtdTag"><xsl:value-of 
select="@ename"/></span></td>
+        </tr>
+        <tr>
+         <td valign="top" nowrap="nowrap"><b>Content model&#160;</b></td>
+         <td colspan="2" width="100%"><xsl:apply-templates/></td>
+        </tr>
+        <xsl:if test="key('attlistbyname',@ename)">
+          <tr>
+            <td colspan="3"><hr noshade="noshade" width="100%"/></td>
+          </tr>
+          <tr>
+            <td valign="top"><b>Attributes</b></td>
+            <td colspan="2" width="100%"><xsl:apply-templates 
select="key('attlistbyname',@ename)"/></td>
+          </tr>
+        </xsl:if>
+      <xsl:if test="key('contentmodelbychildren',@ename)">
+        <tr>
+          <td colspan="3"><hr noshade="noshade" width="100%"/></td>
+        </tr>
+        <tr>
+          <td valign="top" nowrap="nowrap"><b>Used inside</b></td>
+          <td width="100%">
+            <xsl:for-each select="key('contentmodelbychildren',@ename)">
+              <link href="[EMAIL PROTECTED]"><xsl:value-of 
select="@ename"/></link>
+              <xsl:if test="not(position() = last())"> | </xsl:if>
+            </xsl:for-each>
+          </td>
+        </tr>
+        <tr><td colspan="3">&#160;</td></tr>
+      </xsl:if>
+    </table>
+  </section>
+</xsl:template>
+
+<xsl:template match="empty">
+  EMPTY
+</xsl:template>
+
+<xsl:template match="pcdata">
+  #PCDATA
+</xsl:template>
+
+<xsl:template match="element">
+  <link href="[EMAIL PROTECTED]"><xsl:value-of select="@name"/></link>
+</xsl:template>
+
+<xsl:template match="group">
+  <xsl:text>( </xsl:text><xsl:apply-templates/><xsl:text> )</xsl:text>
+</xsl:template>
+
+<xsl:template match="separator">
+  <xsl:text> </xsl:text><xsl:value-of select="@type"/><xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template match="occurrence">
+  <xsl:text> </xsl:text><xsl:value-of select="@type"/>
+</xsl:template>
+
+<xsl:template match="attlist">
+  <table cellpadding="0" cellspacing="0" border="0" class="dtdElement">
+    <xsl:apply-templates/>
+  </table>
+</xsl:template>
+
+<xsl:template match="attributeDecl">
+  <tr>
+    <td valign="top"><xsl:if test="position() mod 2 != 0"><xsl:attribute 
name="bgcolor">#F1F7FF</xsl:attribute></xsl:if><xsl:value-of 
select="@aname"/></td>
+    <td><xsl:if test="position() mod 2 != 0"><xsl:attribute 
name="bgcolor">#F1F7FF</xsl:attribute></xsl:if>&#160;&#160;&#160;&#160;</td>
+    <td width="100%"><xsl:if test="position() mod 2 != 0"><xsl:attribute 
name="bgcolor">#F1F7FF</xsl:attribute></xsl:if>
+      <xsl:if test="not(enumeration)">
+        type: <xsl:value-of select="@atype"/><br/>
+      </xsl:if>
+      <xsl:if test="@required">
+        required attribute<br/>
+      </xsl:if>
+      <xsl:if test="@default">
+        default value: <xsl:value-of select="@default"/><br/>
+      </xsl:if>
+      <xsl:if test="@fixed">
+        fixed value: <xsl:value-of select="@default"/><br/>
+      </xsl:if>
+      <xsl:if test="enumeration">
+        possible values: <xsl:for-each select="enumeration">
+          <xsl:value-of select="@value"/><xsl:text> </xsl:text>
+        </xsl:for-each>
+        <br/>
+      </xsl:if>
+    </td>
+  </tr>
+</xsl:template>
+
+<xsl:template name="trailingfilename">
+  <xsl:param name="string"/>
+  <xsl:choose>
+    <xsl:when test="contains($string,'/')">
+      <xsl:call-template name="trailingfilename">
+        <xsl:with-param name="string" select="substring-after($string,'/')"/>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:value-of select="$string"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/howto2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/howto2document.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+ <xsl:import href="copyover.xsl"/>
+
+  <!-- Processing a raw howto without revisions -->
+  <xsl:template match="/howto">
+    <document>
+      <xsl:copy-of select="header"/>
+      <body>
+        <xsl:apply-templates/>
+      </body>
+    </document>
+  </xsl:template>
+
+  <!-- Processing a howto combined with revisions -->
+  <xsl:template match="/all">
+   <document>
+    <xsl:copy-of select="howto/header"/>
+     <body>
+        <xsl:apply-templates select="howto"/>
+        <xsl:apply-templates select="revisions"/>
+     </body>
+   </document>
+  </xsl:template>
+  
+  <xsl:template match="howto">
+    <xsl:if test="normalize-space(header/abstract)!=''">
+      <xsl:apply-templates select="header/abstract"/>
+    </xsl:if>
+     <xsl:apply-templates select="*[not(name()='header')]"/>
+  </xsl:template>
+  
+  <xsl:template match="howto/header/abstract">
+    <section id="Overview">
+     <title>Overview</title>
+     <p>
+      <xsl:apply-templates/>
+     </p>
+    </section>
+  </xsl:template>
+  
+  <xsl:template match="purpose | prerequisites | audience | steps | extension  
| faqs | tips | references | feedback ">
+    <xsl:variable name="title">
+      <xsl:choose>
+        <xsl:when test="normalize-space(@title)!=''">
+          <xsl:value-of select="@title"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="name()"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <section id="{$title}">
+        <title><xsl:value-of select="$title"/></title>
+     <xsl:apply-templates/>
+    </section>
+  </xsl:template>
+  
+  <xsl:template match="faq">
+    <section>
+     <title>
+      <xsl:value-of select="question"/>
+     </title>
+      <xsl:apply-templates select="answer" />
+    </section>
+  </xsl:template>
+  
+   <xsl:template match="answer">
+      <xsl:copy-of select="."/>
+    </xsl:template>
+    
+   <xsl:template match="question">
+    </xsl:template>
+  
+  <xsl:template match="revisions">
+    <section id="revisions">
+     <title>Revisions</title>
+    <p>Find a problem with this document? Consider contacting the mailing 
lists or submitting your own revision. For instructions, read the How To Submit 
a Revision.</p>
+      <xsl:if test="revision">
+        <ul>
+         <xsl:apply-templates select="revision"/>
+        </ul>
+      </xsl:if>
+    </section>
+  </xsl:template>
+  
+  <xsl:template match="revision">
+  <xsl:variable name="href"><xsl:value-of 
select="concat(substring-before(@name,'.xml'),'.html')" /></xsl:variable>
+   <li>Revision, <link href="{ $href}"><xsl:value-of 
select="@date"/></link></li>
+  </xsl:template>
+  
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/html2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/html2document.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,291 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+    <xsl:key name="h2s" match="h2" 
use="generate-id(preceding-sibling::h1[1])"/>
+    <xsl:key name="h3s" match="h3" 
use="generate-id(preceding-sibling::h2[1])"/>
+    <xsl:key name="h4s" match="h4" 
use="generate-id(preceding-sibling::h3[1])"/>
+    <xsl:key name="h5s" match="h5" 
use="generate-id(preceding-sibling::h4[1])"/>
+    <xsl:key name="h6s" match="h6" 
use="generate-id(preceding-sibling::h5[1])"/>
+
+    <xsl:template match="/">
+     <xsl:choose>
+          <xsl:when test="name(child::node())='html'">
+         <xsl:apply-templates/>
+          </xsl:when>
+            
+          <xsl:otherwise>
+            <document>
+             <header><title>Error in conversion</title></header>
+             <body>
+              <warning>This file is not in a html format, please convert 
manually.</warning>
+             </body>
+            </document>
+          </xsl:otherwise>
+     </xsl:choose>
+    </xsl:template>
+           
+    <xsl:template match="html">
+        <document>
+            <xsl:apply-templates/>
+        </document>
+    </xsl:template>
+
+    <xsl:template match="head">
+        <header>
+            <xsl:apply-templates/>
+        </header>
+    </xsl:template>
+        
+    <xsl:template match="meta">
+      <xsl:text disable-output-escaping = "yes"><![CDATA[ <!-- ]]></xsl:text>
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+      <xsl:text disable-output-escaping = "yes"><![CDATA[ --> ]]></xsl:text> 
+    </xsl:template>  
+    
+    <!--infer structure from sibling headings-->
+    <xsl:template match="body">
+       <body>
+         <xsl:for-each select="h1">
+           <section>
+             <title><xsl:apply-templates/></title>
+             <xsl:apply-templates select="following-sibling::*[1]" 
mode="next"/>
+             <xsl:for-each select="key('h2s',generate-id(.))">
+               <section>
+                 <title><xsl:apply-templates/></title>
+                 <xsl:apply-templates select="following-sibling::*[1]" 
mode="next"/>
+                 <xsl:for-each select="key('h3s',generate-id(.))">
+                   <section>
+                     <title><xsl:apply-templates/></title>
+                     <xsl:apply-templates select="following-sibling::*[1]"
+                                          mode="next"/>
+                     <xsl:for-each select="key('h4s',generate-id(.))">
+                       <section>
+                         <title><xsl:apply-templates/></title>
+                         <xsl:apply-templates select="following-sibling::*[1]"
+                                              mode="next"/>
+                         <xsl:for-each select="key('h5s',generate-id(.))">
+                           <section>
+                             <title><xsl:apply-templates/></title>
+                             <xsl:apply-templates 
select="following-sibling::*[1]"
+                                                  mode="next"/>
+                             <xsl:for-each select="key('h6s',generate-id(.))">
+                               <section>
+                                 <title><xsl:apply-templates/></title>
+                              <xsl:apply-templates 
select="following-sibling::*[1]" mode="next"/>
+                               </section>
+                             </xsl:for-each>
+                           </section>
+                         </xsl:for-each>
+                       </section>
+                     </xsl:for-each>
+                   </section>
+                 </xsl:for-each>
+               </section>
+             </xsl:for-each>
+           </section>
+         </xsl:for-each>
+       </body>
+    </xsl:template>
+
+    <!--process each sibling in order until the next heading level-->
+
+    <xsl:template match="*" mode="next">
+       <xsl:if test="not( translate( local-name(.),'123456','' ) = 'h' )">
+         <xsl:apply-templates select="."/>
+         <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
+       </xsl:if>
+    </xsl:template>
+      
+    <xsl:template match="P|p">
+        <p>
+          <xsl:apply-templates/>
+        </p>
+    </xsl:template>
+    
+    <xsl:template match="img">
+       <xsl:choose>
+       <xsl:when test="name(..)='section'">
+          <figure alt="[EMAIL PROTECTED]" src= "[EMAIL PROTECTED]"/>
+       </xsl:when>
+       <xsl:otherwise>
+          <img alt="[EMAIL PROTECTED]" src= "[EMAIL PROTECTED]"/>
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+    
+    <xsl:template match="source|blockquote">
+      <xsl:choose>
+       <xsl:when test="name(..)='p'">
+         <code>
+           <xsl:value-of select="." />
+         </code> 
+       </xsl:when>
+      
+       <xsl:otherwise>
+         <source>
+           <xsl:value-of select="." />
+         </source> 
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+
+  
+    <!-- convert a to link -->
+    <xsl:template match="a">
+      <xsl:if test="@name">
+        <!-- Attach an id to the current node -->
+        <xsl:attribute name="id"><xsl:value-of select="translate(@name, ' $', 
'__')"/></xsl:attribute>
+        <xsl:apply-templates/>
+      </xsl:if>
+      <xsl:if test="@href">
+        <link href="[EMAIL PROTECTED]">
+          <xsl:apply-templates/>
+        </link>
+      </xsl:if>
+    </xsl:template>
+    
+    <xsl:template match="@valign | @align"/>
+        
+    <xsl:template match="center">
+      <xsl:choose>
+       <xsl:when test="name(..)='p'">
+           <xsl:apply-templates/>
+       </xsl:when>
+      
+       <xsl:otherwise>
+         <p>
+           <xsl:apply-templates/>
+         </p> 
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+
+    <xsl:template match="ol">
+      <xsl:choose>
+       <xsl:when test="name(..)='p'">
+          <xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
+           <ol>
+            <xsl:apply-templates/>
+           </ol>
+          <xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
+       </xsl:when>
+       <xsl:otherwise>
+           <ol>
+            <xsl:apply-templates/>
+           </ol>
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+    
+    <xsl:template match="ul">
+      <xsl:choose>
+       <xsl:when test="name(..)='p'">
+          <xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
+           <ul>
+            <xsl:apply-templates/>
+           </ul>
+          <xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
+       </xsl:when>
+       <xsl:otherwise>
+           <ul>
+            <xsl:apply-templates/>
+           </ul>
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+        
+    <xsl:template match="b">
+      <strong>
+        <xsl:value-of select = "."/>
+      </strong>
+    </xsl:template>
+    
+    <xsl:template match="i">
+      <em>
+        <xsl:value-of select = "."/>
+      </em>
+    </xsl:template>
+
+    <xsl:template match="u">
+      <u>
+        <xsl:value-of select = "."/>
+      </u>
+    </xsl:template>
+    
+    <xsl:template match="table">
+      <table>
+            <xsl:apply-templates select="node()"/>
+      </table>
+    </xsl:template>
+    
+            
+    <xsl:template match="br">
+      <xsl:choose>
+           <xsl:when test="normalize-space(text())">
+                   
+                 <xsl:choose>
+                   <xsl:when test="name(..)='p'">
+                       <xsl:apply-templates/>
+                     <br/> 
+                   </xsl:when>
+                   <xsl:otherwise>
+                     <p>
+                   <xsl:apply-templates/>
+                     </p>
+                   </xsl:otherwise>
+              </xsl:choose>
+             
+           </xsl:when>
+           <xsl:otherwise>
+             <br/>
+           </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+    
+    <!-- Strip -->
+    <xsl:template match="font|div|big">
+      <xsl:apply-templates/>
+    </xsl:template>
+
+
+    <xsl:template match="span">
+                 <xsl:choose>
+                   <xsl:when test="contains(@style,'bold')">
+                      <strong>
+                       <xsl:apply-templates/>
+                      </strong>
+                   </xsl:when>
+                   <xsl:when test="contains(@style,'italic')">
+                      <em>
+                       <xsl:apply-templates/>
+                      </em>
+                   </xsl:when>
+                   <xsl:when test="contains(@style,'underline')">
+                      <u>
+                       <xsl:apply-templates/>
+                      </u>
+                   </xsl:when>
+                   <xsl:otherwise>
+                       <!-- Strip -->
+                   <xsl:apply-templates/>
+                   </xsl:otherwise>
+              </xsl:choose>
+    
+      <xsl:apply-templates/>
+    </xsl:template>
+        
+
+                
+    <xsl:template match="node()|@*" priority="-1">
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+    </xsl:template>
+
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/html2htmlbody.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/html2htmlbody.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!--
+Stylesheet which strips everything outside the <body> and replaces it with <div
+class="content">, making raw HTML suitable for merging with the Forrest tabs
+and menu.
+-->
+
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  version="1.0">
+
+  <xsl:import href="copyover.xsl"/>
+  <xsl:template match="/*[local-name()='html']">
+         <xsl:apply-templates select="*[local-name()='body']"/>
+  </xsl:template>
+
+  <xsl:template match="/*[local-name()='html']/*[local-name()='body']">
+    <div class="content">
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+</xsl:stylesheet>
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/page2html.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/page2html.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,146 @@
+<?xml version="1.0"?>
+
+<!--+
+    | Covert samples file to the HTML page. Uses styles/main.css stylesheet.
+    |
+    | Author: Nicola Ken Barozzi "[EMAIL PROTECTED]"
+    | Author: Vadim Gritsenko "[EMAIL PROTECTED]"
+    | Author: Christian Haul "[EMAIL PROTECTED]"
+    | CVS $Id: page2html.xsl,v 1.2 2003/07/05 13:03:52 jefft Exp $
+    +-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:xlink="http://www.w3.org/1999/xlink";>
+
+  <xsl:param name="contextPath" select="string('/cocoon')"/>
+
+ <xsl:template match="/">
+  <html>
+   <head>
+     <title>Apache Forrest</title>
+     <link rel="SHORTCUT ICON" href="favicon.ico"/>
+     <xsl:apply-templates select="document/header/style"/>
+     <xsl:apply-templates select="document/header/script"/>
+   </head>
+   <body>
+    <table border="0" cellspacing="2" cellpadding="2" align="center" 
width="100%">
+      <tr>
+        <td width="50%">
+          <h2><xsl:value-of select="document/header/title"/></h2>
+        </td>
+        <td width="25%">
+          <xsl:apply-templates select="document/header/tab"/>
+        </td>
+      </tr>
+    </table>
+
+    <p>
+     <xsl:choose>
+      <xsl:when test="document/body/row">
+       <table width="100%">
+        <xsl:apply-templates select="document/body/*"/>
+       </table>
+      </xsl:when>
+      <xsl:otherwise>
+       <xsl:apply-templates select="document/body/*"/>
+      </xsl:otherwise>
+     </xsl:choose>
+    </p>
+
+    <p class="copyright">
+      Copyright &#169; 1999-2003 <a href="http://www.apache.org/";>The Apache 
Software Foundation</a>.
+      All rights reserved.
+    </p>
+   </body>
+  </html>
+ </xsl:template>
+
+ <xsl:template match="style">
+  <link type="text/css" rel="stylesheet" href="[EMAIL PROTECTED]"/>
+ </xsl:template>
+ 
+ <xsl:template match="script">
+  <script type="text/javascript" src="[EMAIL PROTECTED]"/>
+ </xsl:template>
+ 
+ <xsl:template match="tab">
+  <a href="[EMAIL PROTECTED]"><i><xsl:value-of select="@title"/></i></a>&#160;
+ </xsl:template>
+ 
+ <xsl:template match="row">
+  <tr>
+   <xsl:apply-templates select="column"/>
+  </tr>
+ </xsl:template>
+ 
+ <xsl:template match="column">
+  <td valign="top">
+   <h4 class="samplesGroup"><xsl:value-of select="@title"/></h4>
+   <p class="samplesText"><xsl:apply-templates/></p>
+  </td> 
+ </xsl:template>
+
+ <xsl:template match="section">
+  <xsl:choose> <!-- stupid test for the hirachy deep -->
+   <xsl:when test="../../../section">
+    <h5><xsl:value-of select="title"/></h5>
+   </xsl:when>
+   <xsl:when test="../../section">
+    <h4><xsl:value-of select="title"/></h4>
+   </xsl:when>
+   <xsl:when test="../section">
+    <h4 class="samplesGroup"><xsl:value-of select="title"/></h4>
+   </xsl:when>
+  </xsl:choose>
+  <p>
+   <xsl:apply-templates select="*[name()!='title']"/>
+  </p>
+ </xsl:template>
+
+ <xsl:template match="source">
+  <div style="background: #b9d3ee; border: thin; border-color: black; 
border-style: solid; padding-left: 0.8em; 
+              padding-right: 0.8em; padding-top: 0px; padding-bottom: 0px; 
margin: 0.5ex 0px; clear: both;">
+  <pre>
+   <xsl:value-of select="."/>
+  </pre>
+  </div>
+ </xsl:template>
+ 
+ <xsl:template match="link">
+  <xsl:text> </xsl:text>
+  <a href="[EMAIL PROTECTED]">
+   <xsl:apply-templates/>
+  </a>
+  <xsl:text> </xsl:text>
+ </xsl:template>
+ 
+ <xsl:template match="strong">
+  <xsl:text> </xsl:text>
+  <b>
+   <xsl:apply-templates/>
+  </b>
+  <xsl:text> </xsl:text>
+ </xsl:template>
+ 
+ <xsl:template match="anchor">
+  <a name="[EMAIL PROTECTED]">
+   <xsl:apply-templates/>
+  </a>
+ </xsl:template>
+ 
+<!-- <xsl:template match="table">
+  <table border="1" cellspacing="3" cellpadding="3">
+   <xsl:apply-templates/>
+  </table>
+ </xsl:template> -->
+
+  <xsl:template match="para">
+   <p>
+     <xsl:apply-templates/>
+   </p>
+  </xsl:template>
+
+ <xsl:template match="*|@*|node()|text()" priority="-1">
+  <xsl:copy><xsl:apply-templates select="*|@*|node()|text()"/></xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/profile2page.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/profile2page.xsl
       Thu Sep  9 10:04:36 2004
@@ -0,0 +1,286 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
+                xmlns:profile="http://apache.org/cocoon/profiler/1.0";>
+
+ <xsl:import href="xml2html.xsl"/>
+
+ <xsl:param name="key"/>
+ <xsl:param name="result"/>
+ <xsl:param name="component"/>
+
+ <xsl:template match="/">
+  <document>
+   <header>
+   <title>Forrest Profiler</title>
+    <tab title="Back" href="index.html"/>
+   </header>
+   <body>
+    <xsl:choose>
+     <xsl:when test="$component!=''">
+      <xsl:apply-templates
+          
select="profile:profilerinfo/profile:pipeline/profile:result/profile:[EMAIL 
PROTECTED]"
+          mode="fragment"/>
+     </xsl:when>
+     <xsl:when test="$result!=''">
+      <xsl:apply-templates 
select="profile:profilerinfo/profile:pipeline/profile:result" mode="result"/>
+     </xsl:when>
+     <xsl:when test="$key!=''">
+      <xsl:apply-templates select="profile:profilerinfo/profile:pipeline" 
mode="results"/>
+     </xsl:when>
+     <xsl:otherwise>
+      <xsl:apply-templates select="profile:profilerinfo" mode="pipelines"/>
+     </xsl:otherwise>
+    </xsl:choose>
+
+   </body>
+  </document>
+ </xsl:template>
+
+ <xsl:template match="profile:profilerinfo" mode="pipelines">
+
+  <row>
+   <column title="Overview">
+
+    <table width="100%" cellspacing="0" cellpadding="5" align="left">
+     <font size="+0" face="arial,helvetica,sanserif" color="#000000">
+
+      <tr>
+       <td align="left"><b>URI</b></td>
+       <td align="left"><b>Average(Total time)</b></td>
+       <td align="left" colspan="10"><b>Last Results(Total time)</b></td>
+      </tr>
+
+      <xsl:for-each select="profile:pipeline">
+
+       <tr bgcolor="#FFFFFF">
+        <td>
+         <a href="[EMAIL PROTECTED]">
+          <font face="verdana"><strong><xsl:value-of 
select="@uri"/></strong></font>
+         </a>
+        </td>
+        <td>
+         <a href="[EMAIL PROTECTED]">
+          <xsl:value-of select="profile:average/@time"/> ms
+         </a>
+        </td>
+        <xsl:for-each select="profile:result">
+         <td>
+          <a href="?key={../@key}&amp;[EMAIL PROTECTED]">
+           <xsl:value-of select="@time"/> ms
+          </a>
+         </td>
+        </xsl:for-each>
+       </tr>
+
+      </xsl:for-each>
+
+     </font>
+    </table>
+
+   </column>
+  </row>
+
+ </xsl:template>
+
+ <xsl:template match="profile:pipeline" mode="results">
+
+  <row>
+   <column title="[EMAIL PROTECTED]">
+
+    <table width="100%" cellspacing="0" cellpadding="5" align="left">
+     <font size="+0" face="arial,helvetica,sanserif" color="#000000">
+ 
+      <tr>
+       <td align="left"><b>NN</b></td>
+       <td align="left"><b>Components(Role)</b></td>
+       <td align="left"><b>Average time</b></td>
+       <td align="left"><b>Lastest times</b></td>
+      </tr>
+
+      <xsl:for-each select="profile:average/profile:component">
+       <tr>
+
+        <xsl:variable name="pos" select="position()"/>
+        <td width="1%">
+         <xsl:value-of select="$pos"/>
+        </td>
+        <td width="10%">
+         <xsl:value-of select="@role"/>
+         <xsl:if test="@source">
+          (<xsl:value-of select="@source"/>)
+         </xsl:if>
+        </td>
+
+        <xsl:for-each 
select="../../profile:average/profile:component[position()=$pos]">
+         <td>
+          <xsl:value-of select="@time"/> ms
+         </td>
+        </xsl:for-each>
+ 
+        <xsl:for-each 
select="../../profile:result/profile:component[position()=$pos]">
+         <td>
+          <a href="?key={../../@key}&amp;result={../@index}&amp;[EMAIL 
PROTECTED]">
+           <xsl:value-of select="@time"/> ms
+          </a>
+         </td>
+        </xsl:for-each>
+
+       </tr>
+      </xsl:for-each>
+
+      <tr>
+       <td></td>
+       <td><b>Total time</b></td>
+       <td><b><xsl:value-of select="profile:result/@time"/> ms</b></td>
+       <xsl:for-each select="profile:result">
+        <td>
+         <b>
+          <xsl:value-of select="@time"/> ms
+         </b>
+        </td>
+       </xsl:for-each>
+      </tr>
+
+     </font>
+    </table>
+
+   </column>
+  </row>
+
+ </xsl:template>
+
+ <xsl:template match="profile:result" mode="result">
+
+  <row>
+   <column title="{../@uri}">
+
+    <table bgcolor="#ffffff" border="0" cellspacing="0" cellpadding="2"  
width="100%" align="center">
+
+     <tr>
+      <td align="left"><b>Components</b></td>
+      <td align="left"><b>Total time</b></td>
+      <td align="left"><b>Setup time</b></td>
+      <td align="left"><b>Processing time</b></td>
+     </tr>
+
+
+     <xsl:for-each select="profile:component">
+      <tr>
+       <td>
+        <a href="?key={../../@key}&amp;result={../@index}&amp;[EMAIL 
PROTECTED]">
+         <xsl:value-of select="@role"/>
+         <xsl:if test="@source">
+          (<xsl:value-of select="@source"/>)
+         </xsl:if>
+        </a>
+       </td>
+       <td>
+        <xsl:value-of select="@time"/> ms
+       </td>
+       <td>
+        <xsl:value-of select="@setup"/> ms
+       </td>
+       <td>
+        <xsl:value-of select="@processing"/> ms
+       </td>
+      </tr>
+     </xsl:for-each>
+
+    </table>
+
+   </column>
+
+  </row>
+
+  <row>
+
+   <column title="Request parameters">
+
+    <table width="100%" cellspacing="0" cellpadding="5" align="center">
+     <font size="+0" face="arial,helvetica,sanserif" color="#000000">
+
+      <tr>
+       <td align="left"><b>Name</b></td>
+       <td align="left"><b>Value</b></td>
+      </tr>
+
+      <xsl:for-each 
select="profile:environmentinfo/profile:request-parameters/profile:parameter">
+       <tr>
+        <td><xsl:value-of select="@name"/></td>
+        <td><xsl:value-of select="@value"/></td>
+       </tr>
+      </xsl:for-each>
+
+      <tr>
+       <td>&#160;</td>
+       <td>&#160;</td>
+      </tr>
+
+     </font>
+    </table>
+    
+   </column>
+
+  </row>
+
+  <row>
+
+   <column title="Session attributes">
+
+    <table width="100%" cellspacing="0" cellpadding="5" align="center">
+     <font size="+0" face="arial,helvetica,sanserif" color="#000000">
+
+      <tr>
+       <td align="left"><b>Name</b></td>
+       <td align="left"><b>Value</b></td>
+      </tr>
+  
+      <xsl:for-each 
select="profile:environmentinfo/profile:session-attributes/profile:attribute">
+       <tr>
+        <td><xsl:value-of select="@name"/></td>
+        <td><xsl:value-of select="@value"/></td>
+       </tr>
+      </xsl:for-each>
+
+      <tr>
+       <td>&#160;</td>
+       <td>&#160;</td>
+      </tr>
+
+     </font>
+    </table>
+
+   </column>
+  </row>
+
+ </xsl:template>
+
+ <xsl:template match="profile:component" mode="fragment">
+
+  <row>
+   <column>
+    <xsl:attribute name="title">
+     <xsl:value-of select="@role"/>
+     <xsl:if test="@source">
+      (<xsl:value-of select="@source"/>)
+     </xsl:if>
+    </xsl:attribute>
+
+    <xsl:choose>
+     <xsl:when test="profile:fragment">
+      <xsl:for-each select="profile:fragment">
+       <xsl:apply-templates mode="xml2html"/>
+      </xsl:for-each>
+     </xsl:when>
+     <xsl:otherwise>
+      <b>Fragment not available!</b>
+     </xsl:otherwise>
+    </xsl:choose>
+
+   </column>
+  </row>
+
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/project2text.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/project2text.xsl
       Thu Sep  9 10:04:36 2004
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<!--+
+    | Replace element for the value on the project descriptor 
+    | xmlns:for has to be replaced for the final version
+    |
+    | Author: Juan Jose Pablos "[EMAIL PROTECTED]"
+    | 
+    | CVS $\Id$
+    +-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:for="http://xml.apache.org/forrest"; version="1.0">
+
+<xsl:import href="copyover.xsl"/>
+
+<xsl:param name="config-file" select="'../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+
+<xsl:template match="for:project-name">
+    <xsl:value-of select="$config/project-name"/>
+  </xsl:template>
+
+<xsl:template match="for:group-name">
+    <xsl:value-of select="$config/group-name"/>
+  </xsl:template>
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/relativize-linkmap.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/relativize-linkmap.xsl
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<!--
+Stylesheet which makes site.xml links relative to the site root.
+
+If the current path ($path) is HTML, links with have ..'s added, to make the
+URIs relative to some root.  Eg, given an 'absolutized' file (from
+absolutize-linkmap.xsl):
+
+<site href="">
+  <community href="community/">
+    <faq href="community/faq.html">
+      <how_can_I_help href="community/faq.html#help"/>
+    </faq>
+  </community>
+</site>
+
+if $path was 'community/index.html', then '../' would be added to each href:
+
+<site href="../">
+  <community href="../community/">
+    <faq href="../community/faq.html">
+      <how_can_I_help href="../community/faq.html#help"/>
+    </faq>
+  </community>
+</site>
+
+If the current path is PDF, then an absolute URL to a site root ($site-root) is
+prepended.  In our example above, if $site-root were http://www.mysite.com/,
+the result would be:
+
+<site href="http://www.mysite.com/";>
+  <community href="http://www.mysite.com/community/";>
+    <faq href="http://www.mysite.com/community/faq.html";>
+      <how_can_I_help href="http://www.mysite.com/community/faq.html#help"/>
+    </faq>
+  </community>
+</site>
+
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="path"/>
+  <xsl:param name="site-root"/>
+
+  <xsl:include href="dotdots.xsl"/>
+
+  <!-- Path to site root, eg '../../' -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:template match="@href">
+
+    <xsl:attribute name="href">
+      <xsl:choose>
+        <xsl:when test="contains(., ':') and not(contains(substring-before(., 
':'), '/'))">
+          <xsl:value-of select="."/>
+        </xsl:when>
+        <xsl:when test="contains(., '.png') or
+          contains(., '.jpeg') or
+          contains(., '.jpg') or
+          contains(., '.gif') or
+          contains(., '.tif')">
+          <!-- Image links are always relative -->
+          <xsl:value-of select="$root"/><xsl:value-of select="."/>
+        </xsl:when>
+
+
+        <!-- PDFs can handle inline images, but everything else must become an
+        external link -->
+        <xsl:when test="contains($path, '.pdf')">
+
+          <!-- Links to outside a PDF are all absolute -->
+          <xsl:value-of select="concat($site-root, .)"/>
+
+        </xsl:when>
+        <xsl:otherwise>
+
+          <!-- Links outside a HTML are relative -->
+          <xsl:value-of select="$root"/><xsl:value-of select="."/>
+
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:include href="copyover.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/rssissues2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/rssissues2document.xsl
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+<xsl:template match="rss">
+  <document>
+    <header>
+      <title>Open issues</title>
+    </header>
+    <body>
+      <note>These are the open issues in our <link 
href="http://issues.cocoondev.org/jira/secure/BrowseProject.jspa?id=10000";>bug 
tracking system</link>.
+      They are regenerated on each Forrest run.</note>
+      <xsl:apply-templates select="channel/item"/>
+    </body>
+  </document>
+</xsl:template>
+
+<xsl:template match="item">
+  <section>
+    <title><xsl:value-of select="title" disable-output-escaping="yes"/></title>
+    <p><link href="{link}"><xsl:value-of select="link"/></link></p>
+    <p><xsl:value-of select="description" disable-output-escaping="yes"/></p>
+  </section>
+</xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2book.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2book.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+
+<!--
+Stylesheet for generating book.xml from a suitably hierarchical site.xml file.
+The project info is currently hardcoded, but since it isn't used anyway that
+isn't a major problem.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:f="http://apache.org/forrest/linkmap/1.0"; exclude-result-prefixes="f">
+
+  <xsl:param name="path"/>
+  <xsl:output doctype-system="book-cocoon-v10.dtd" 
doctype-public="-//APACHE//DTD Cocoon Documentation Book V1.0//EN"/>
+
+  <xsl:template match="/">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="f:site">
+    <book software="Forrest"
+      title="Apache Forrest"
+      copyright="2002 The Apache Software Foundation">
+      <xsl:apply-templates/>
+    </book>
+  </xsl:template>
+
+  <xsl:template match="*/*">
+    <xsl:choose>
+      <!-- No label, abandon the whole subtree -->
+      <xsl:when test="not(@label)">
+      </xsl:when>
+      <!-- Below here, everything has a label, and is therefore considered 
"for display" -->
+
+      <!-- No children -> must be a menu item -->
+      <!-- Has children, but they are not for display -> menu item -->
+      <xsl:when test="count(*) = 0 or count(*) > 0 and (not(*/@label))">
+        <menu-item label="[EMAIL PROTECTED]" href="[EMAIL PROTECTED]">
+          <xsl:if test="@description">
+            <xsl:attribute name="description">
+              <xsl:value-of select="@description"/>
+            </xsl:attribute>
+          </xsl:if>
+        </menu-item>
+      </xsl:when>
+
+      <!-- Anything else is considered a menu -->
+      <xsl:otherwise>
+        <menu label="[EMAIL PROTECTED]">
+          <xsl:if test="@href">
+            <xsl:attribute name="href">
+              <xsl:value-of select="@href"/>
+            </xsl:attribute>
+          </xsl:if>
+          <xsl:if test="@description">
+            <xsl:attribute name="description">
+              <xsl:value-of select="@description"/>
+            </xsl:attribute>
+          </xsl:if>
+
+          <xsl:apply-templates/>
+        </menu>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2site-normalizetabs.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2site-normalizetabs.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+Stylesheet to inherit @tab attributes if a node doesn't have one itself. Eg, 
given as input:
+
+<site href="">
+  <index href="index.html"/>
+  <community href="community/" tab="community">
+    <faq href="faq.html">
+      <how_can_I_help href="#help"/>
+    </faq>
+    <howto tab="howto">
+      <cvs href="cvs-howto.html"/>
+    </howto>
+  </community>
+</site>
+
+Output would be:
+
+<site href="">
+  <index href="index.html"/>
+  <community tab="community" href="community/">
+    <faq tab="community" href="faq.html">
+      <how_can_I_help tab="community" href="#help"/>
+    </faq>
+    <howto tab="howto">
+      <cvs tab="howto" href="cvs-howto.html"/>
+    </howto>
+  </community>
+</site>
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:l="http://apache.org/forrest/linkmap/1.0";>
+
+  <!-- Return a value for a node's @tab, either using an existing @tab or the 
first ancestor's -->
+  <xsl:template name="gettab">
+    <xsl:param name="node"/>
+    <xsl:choose>
+      <xsl:when test="$node/@tab">
+        <xsl:value-of select="$node/@tab"/>
+      </xsl:when>
+      <xsl:when test="$node/..">
+        <xsl:call-template name="gettab">
+          <xsl:with-param name="node" select="$node/.."/>
+        </xsl:call-template>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="//*">
+    <xsl:variable name="newtab">
+      <xsl:call-template name="gettab">
+        <xsl:with-param name="node" select="."/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:copy>
+      <!-- <xsl:if test="not(normalize-space($newtab)='')"> -->
+        <xsl:attribute name="tab">
+          <xsl:value-of select="$newtab"/>
+        </xsl:attribute>
+        <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2site-selectnode.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/site2site-selectnode.xsl
       Thu Sep  9 10:04:36 2004
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet selects a set of nodes with @tab equal to that of a node whose 
@href matches an input parameter.  Could
+probably be done with 2 lines of XQuery.
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:l="http://apache.org/forrest/linkmap/1.0";>
+
+  <xsl:param name="path" select="'index'"/>
+
+  <xsl:variable name="tab">
+    <xsl:value-of select="string(//*[starts-with(@href, $path)]/@tab)"/>
+  </xsl:variable>
+
+  <xsl:template match="/*">
+  <!--
+    <xsl:message>## path is <xsl:value-of select="$path"/></xsl:message>
+    <xsl:message>## tab is <xsl:value-of select="$tab"/></xsl:message>
+    -->
+    <xsl:copy>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+  <!-- Ignore external references, as they are only useful for link mapping, 
not
+  creating menus -->
+  <xsl:template match="l:external-refs"/>
+
+  <xsl:template match="*">
+    <xsl:choose>
+      <!-- Take out the first test to not duplicate other tabs' content in 
first menu -->
+      <xsl:when test="$tab='' or @tab=$tab">
+        <xsl:copy>
+          <xsl:apply-templates select="@*|node()"/>
+        </xsl:copy>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates select="*"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/text2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/text2document.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<!--+
+    | Transforms TextGenerator output to document format.
+    |
+    | CVS $Id: text2document.xsl,v 1.3 2003/07/30 08:37:54 cheche Exp $
+    +-->
+
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="filename"/>
+
+  <xsl:template match="/">
+    <document>
+      <header>
+        <title>
+          <xsl:value-of select="$filename"/>
+        </title>
+      </header>
+      <body>
+        <source>
+          <!-- &#13; is System.getProperty("line.separator") -->
+         <xsl:value-of select="translate(node(),'&#13;',' ')"/>
+        </source>
+      </body>
+    </document>
+  </xsl:template>
+ 
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/todo2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/todo2document.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+ <xsl:import href="copyover.xsl"/>
+
+ <xsl:template match="/">
+  <xsl:apply-templates select="//todo"/>
+ </xsl:template>
+
+ <xsl:template match="todo">
+  <document>
+   <header>
+    <title>Todo List</title>
+   </header>
+   <body>
+    <xsl:apply-templates/>
+   </body>
+  </document>
+ </xsl:template>
+
+ <xsl:template match="actions">
+  <section>
+   <title><xsl:value-of select="@priority"/></title>
+   <ul>
+    <xsl:for-each select="action">
+     <li>
+      <strong><xsl:text>[</xsl:text><xsl:value-of 
select="@context"/><xsl:text>]</xsl:text></strong><xsl:text> </xsl:text>
+      <xsl:apply-templates/>
+      <xsl:text> </xsl:text>&#8594;<xsl:text> </xsl:text><xsl:value-of 
select="@dev"/>
+     </li>
+    </xsl:for-each>
+   </ul>
+  </section>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/wiki2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/wiki2document.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,239 @@
+<?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";
+                exclude-result-prefixes="st">
+
+ <xsl:param name="name"/>
+
+ <xsl:template match="st:document">
+  <document>
+   <header>
+     <title>
+       <xsl:value-of select="$name"/>
+     </title>
+   </header>
+   <body>
+    <xsl:apply-templates select="st:paragraphs/st:paragraph/st:*" 
mode="paragraph"/>  
+    <xsl:apply-templates select="st:section"/>
+   </body>
+  </document>
+ </xsl:template>
+
+ <xsl:template match="st:section">
+  <section>
+   <title><xsl:value-of 
select="normalize-space(st:title/st:textsequence)"/></title>
+   <xsl:apply-templates select="st:paragraphs/st:paragraph/st:*" 
mode="paragraph"/>
+  </section>
+ </xsl:template>
+
+ <xsl:template match="st:source" mode="paragraph">
+  <source>
+   <xsl:value-of select="substring(.,4,string-length(.)-6)"/>
+  </source>
+ </xsl:template>
+
+ <xsl:template match="st:textsequence" mode="paragraph">
+  <p>
+   <xsl:apply-templates select="st:textblock/st:*|st:softbreak"/>
+  </p>
+ </xsl:template>
+
+ <xsl:template match="st:table" mode="paragraph"> 
+  <table>
+   <xsl:apply-templates select="st:tablehead|st:tablerows/st:tablecolumns"/>
+  </table>
+ </xsl:template>
+
+ <xsl:template match="st:tablehead"> 
+  <tr>
+   <xsl:apply-templates select="st:tabletitle"/>
+  </tr>
+ </xsl:template>
+
+ <xsl:template match="st:tabletitle">
+  <th>
+   <xsl:apply-templates select="st:textblock/st:*"/>
+  </th>
+ </xsl:template>
+
+ <xsl:template match="st:tablecolumns">
+  <tr>
+   <xsl:apply-templates select="st:tablecolumn"/>
+  </tr>
+ </xsl:template>
+
+ <xsl:template match="st:tablecolumn">
+  <td>
+   <xsl:apply-templates select="st:textblock/st:*"/>
+  </td>
+ </xsl:template>
+
+ <xsl:template match="st:text">
+  <xsl:value-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="st:softbreak">
+ <xsl:text> </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="st:link">
+  <xsl:choose>
+   <xsl:when test="contains(.,'|')">
+
+    <xsl:variable name="text" 
select="substring-after(substring-before(.,'|'),'[')"/>
+    <xsl:variable name="href" 
select="substring-before(substring-after(.,'|'),']')"/>
+
+    <xsl:choose>
+     <xsl:when test="string(number($href)) != 'NaN'">
+      <link href="#{$href}">
+       <xsl:value-of select="$text"/>
+      </link>
+    </xsl:when>
+
+    <xsl:when test="contains($href, '.png') or
+      contains($href, '.gif') or
+      contains($href, '.jpeg') or
+      contains($href, '.jpg')">
+      <xsl:choose>
+        <xsl:when test="contains($href, 'http://')">
+          <img src="{$href}" alt="{$text}"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <img src="images/{$href}" alt="{$text}"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:when>
+
+    <xsl:when test="starts-with($href,'http') or contains($href, '.html') or 
contains($href, '.pdf')">
+      <link href="{$href}">
+        <xsl:value-of select="$text"/>
+      </link>
+     </xsl:when>
+     <xsl:otherwise>
+      <link href="{$href}.html">
+       <xsl:value-of select="$text"/>
+      </link>
+     </xsl:otherwise>
+    </xsl:choose>
+
+   </xsl:when>
+   <xsl:otherwise>
+    <xsl:variable name="href" select="substring(.,2,string-length(.)-2)"/>
+    
+    <xsl:choose>
+      <xsl:when test="contains($href, '.png') or
+        contains($href, '.gif') or
+        contains($href, '.jpeg') or
+        contains($href, '.jpg')">
+        <xsl:choose>
+          <xsl:when test="contains($href, 'http://')">
+            <img src="{$href}" alt=""/>
+          </xsl:when>
+          <xsl:otherwise>
+            <img src="images/{$href}" alt=""/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+
+     <xsl:when test="string(number($href)) != 'NaN'">
+      <link href="#{$href}">
+       [<xsl:value-of select="$href"/>]
+      </link>
+     </xsl:when>
+     <xsl:when test="starts-with($href,'http')">
+      <link href="{$href}">
+       <xsl:value-of select="$href"/>
+      </link>
+     </xsl:when>
+     <xsl:otherwise>
+      <link href="{$href}.html">
+       <xsl:value-of select="$href"/>
+      </link>
+     </xsl:otherwise>
+    </xsl:choose>
+
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:anchor" >
+  <xsl:choose>
+   <xsl:when test="contains(.,'|')">
+    <anchor name="{substring-before(substring-after(.,'|#'),']')}">
+     <xsl:value-of select="substring-after(substring-before(.,'|'),'[')"/>
+    </anchor>
+   </xsl:when>
+   <xsl:otherwise>
+    <anchor name="{substring(.,3,string-length(.)-3)}"/>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:emblock">
+  <em><xsl:value-of select="st:text"/></em>
+ </xsl:template>
+
+ <xsl:template match="st:strongblock">
+  <strong><xsl:value-of select="st:text"/></strong>
+ </xsl:template>
+
+ <xsl:template match="st:codeblock">
+  <code><xsl:value-of select="st:text"/></code>
+ </xsl:template>
+
+ <xsl:template match="st:bulletedlist" mode="paragraph">
+  <ul>
+   <xsl:apply-templates select="st:bulletedlistitem"/>
+  </ul>
+ </xsl:template>
+
+ <xsl:template match="st:bulletedlistitem" >
+  <li>
+   <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="st:numberedlist1" mode="paragraph">
+  <ol>
+   <xsl:apply-templates select="st:numberedlistitem1|st:numberedlist2"/>
+  </ol>
+ </xsl:template>
+
+ <xsl:template match="st:numberedlistitem1" >
+  <li>
+   <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="st:numberedlist2" >
+  <ol>
+   <xsl:apply-templates select="st:numberedlistitem2|st:numberedlist3"/>
+  </ol>
+ </xsl:template>
+    
+ <xsl:template match="st:numberedlistitem2" >
+  <li>
+   <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="st:numberedlist3" >
+  <ol>
+   <xsl:apply-templates select="st:numberedlistitem3"/>
+  </ol>
+ </xsl:template>
+    
+ <xsl:template match="st:numberedlistitem3" >
+  <li>
+   <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
+  </li>
+ </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/stylesheets/wiki2html.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/wiki2html.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,158 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
+                xmlns:wiki="http://chaperon.sourceforge.net/grammar/wiki/1.0";>
+
+ <xsl:template match="wiki:wiki">
+    <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="//wiki">
+  <div>
+   <xsl:apply-templates select="paragraphs/paragraph"/>
+  </div>
+ </xsl:template>
+
+ <xsl:template match="wiki:paragraphs" >
+  <xsl:apply-templates/>
+ </xsl:template>
+ 
+ <xsl:template match="wiki:paragraph" >
+  <xsl:apply-templates 
select="wiki:bulletedlist|wiki:numberedlist1|wiki:numberedlist2|wiki:numberedlist3|wiki:headitem|wiki:footnote|wiki:textitem|wiki:LINE"/>
+ </xsl:template>
+
+ <xsl:template match="wiki:textitem" >
+  <p>
+   <xsl:apply-templates select="wiki:firstblock|wiki:textblock"/>
+  </p>
+ </xsl:template>
+
+ <xsl:template match="wiki:textblock" >
+  <xsl:apply-templates 
select="wiki:LINK|wiki:boldblock|wiki:italicblock|wiki:underlineblock|wiki:TEXT|wiki:note"/>
+ </xsl:template>
+
+ <xsl:template match="wiki:firstblock" >
+  <xsl:apply-templates 
select="wiki:LINK|wiki:boldblock|wiki:italicblock|wiki:underlineblock|wiki:TEXT"/>
+ </xsl:template>
+
+ <xsl:template match="wiki:LINE" >
+  <hr/>
+ </xsl:template>
+
+ <xsl:template match="wiki:bulletedlist" >
+  <ul>
+   <xsl:apply-templates select="wiki:bulletedlistitem"/>
+  </ul>
+ </xsl:template>
+
+ <xsl:template match="wiki:bulletedlistitem" >
+  <li>
+   <xsl:apply-templates select="wiki:textblock"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="wiki:numberedlist1" >
+  <ol>
+   <xsl:apply-templates select="wiki:numberedlistitem1|wiki:numberedlist2"/>
+  </ol>
+ </xsl:template>
+
+ <xsl:template match="wiki:numberedlistitem1" >
+  <li>
+   <xsl:apply-templates select="wiki:textblock"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="wiki:numberedlist2" >
+  <ol>
+   <xsl:apply-templates select="wiki:numberedlistitem2|wiki:numberedlist3"/>
+  </ol>
+ </xsl:template>
+    
+ <xsl:template match="wiki:numberedlistitem2" >
+  <li>
+   <xsl:apply-templates select="wiki:textblock"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="wiki:numberedlist3" >
+  <ol>
+   <xsl:apply-templates select="wiki:numberedlistitem3"/>
+  </ol>
+ </xsl:template>
+    
+ <xsl:template match="wiki:numberedlistitem3" >
+  <li>
+   <xsl:apply-templates select="wiki:textblock"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="wiki:headitem" >
+  <xsl:choose>
+   <xsl:when test="string-length(wiki:HEAD)=2">
+    <h2>
+     <xsl:apply-templates select="wiki:textblock"/>
+    </h2>
+   </xsl:when>
+   <xsl:when test="string-length(wiki:HEAD)=3">
+    <h3>
+     <xsl:apply-templates select="wiki:textblock"/>
+    </h3>
+   </xsl:when>
+   <xsl:otherwise>
+    <h1>
+     <xsl:apply-templates select="wiki:textblock"/>
+    </h1>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+
+ <xsl:template match="wiki:footnote" >
+  <a name="{normalize-space(wiki:note/wiki:TEXT|wiki:note/wiki:LINK)}">
+   [<xsl:apply-templates select="wiki:note/wiki:TEXT|wiki:note/wiki:LINK"/>]
+   <xsl:apply-templates select="wiki:textblock"/>
+  </a>
+ </xsl:template>
+
+ <xsl:template match="wiki:LINK" >
+  <a href="{normalize-space(.)}">
+   <xsl:value-of select="."/>
+  </a>
+ </xsl:template>
+
+ <xsl:template match="wiki:boldblock" >
+  <b>
+   <xsl:value-of select="wiki:TEXT"/>
+  </b>
+ </xsl:template>
+
+ <xsl:template match="wiki:italicblock" >
+  <i>
+   <xsl:value-of select="wiki:TEXT"/>
+  </i>
+ </xsl:template>
+
+ <xsl:template match="wiki:underlineblock" >
+  <u>
+   <xsl:value-of select="wiki:TEXT"/>
+  </u><xsl:text> </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="wiki:note" >
+  <a href="#{normalize-space(wiki:TEXT|wiki:LINK)}">
+   [<xsl:apply-templates select="wiki:TEXT|wiki:LINK"/>]
+  </a>
+ </xsl:template>
+
+ <xsl:template match="wiki:TEXT" >
+  <xsl:value-of select="."/>
+ </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/stylesheets/wiki2htmlpage.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/resources/stylesheets/wiki2htmlpage.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
+                xmlns:wiki="http://chaperon.sourceforge.net/grammar/wiki/1.0";>
+
+ <xsl:template match="/">
+  <html>
+   <body>
+    <xsl:apply-templates/>
+   </body>
+  </html>
+ </xsl:template>
+
+
+<!-- Identity transformation template -->                      
+<xsl:template match="@* | * | comment() | processing-instruction() | text()"> 
+       <xsl:copy> 
+               <xsl:apply-templates select="@* | * | comment() | 
processing-instruction() | text()"/> 
+       </xsl:copy> 
+</xsl:template> 
+    
+
+</xsl:stylesheet>

Added: incubator/beehive/trunk/site/build/tmp/context/revisions.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/revisions.xmap       Thu Sep 
 9 10:04:36 2004
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Support for HOWTO documents that want 'revisions'.  Revisions are XML snippets 
containing
+comments on the main XML file.  The main pipeline here automatically appends a 
page's
+revisions to the bottom.
+
+For example, in content/xdocs/community/howto/xmlform we have:
+
+howto-xmlform.xml
+revision-howto-xmlform-2002-05-20.xml
+revision-howto-xmlform-2002-05-25.xml
+
+The **/*.xml pipeline would append the revision-*.xml snippets to 
howto-xmlform.xml before
+serving it.
+
+Generates  :  Source XML
+Example URL:  http://localhost:8888/community/howto/xmlform/howto-xmlform.xml
+Used by    :  sitemap.xmap
+Uses       :  content/xdocs/**.xml, and content/xdocs/**/revision-*.xml
+
+$Revision: 1.10 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
+  <map:components>
+    <map:generators default="file">
+      <map:generator name="directory" 
src="org.apache.cocoon.generation.DirectoryGenerator" />
+    </map:generators>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <map:match pattern="**index.xml">
+        <map:generate src="content/xdocs/{0}" />
+        <map:transform type="idgen" />
+        <map:serialize type="xml"/>
+      </map:match>
+
+      <map:match pattern="**revision-*.xml">
+        <map:generate src="content/xdocs/{1}revision-{2}.xml" />
+        <map:transform type="idgen" />
+        <map:serialize type="xml"/>
+      </map:match>
+
+      <map:match pattern="**revisions-**">
+        <map:generate type="directory" src="content/xdocs/{1}">
+          <map:parameter name="dateFormat" value="yyyy-MM-dd hh:mm" />
+        </map:generate>
+        <map:transform src="resources/stylesheets/directory2revisions.xsl">
+          <map:parameter name="use-request-parameters" value="true" />
+          <map:parameter name="page" value="{2}" />
+        </map:transform>
+        <map:serialize type="xml" />
+      </map:match>
+
+      <map:match pattern="**/*.xml">
+        <map:aggregate element="all">
+          <map:part src="content/xdocs/{0}" />
+          <map:part src="cocoon:/{1}/revisions-{2}" />
+        </map:aggregate>
+        <map:transform src="resources/stylesheets/howto2document.xsl" />
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/sitemap.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/sitemap.xmap Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,377 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Default Forrest sitemap, defining the whole site.
+Delegates to the other *.xmap files.  See
+http://xml.apache.org/forrest/sitemap-ref.html
+
+$Revision: 1.117.2.1 $
+==================================================== -->
+
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
+  <map:components>
+    <map:generators default="file">
+      <map:generator name="file"      
src="org.apache.cocoon.generation.FileGenerator" />
+      <!--
+      <map:generator name="html"      
src="org.apache.cocoon.generation.HTMLGenerator">
+        <jtidy-config>jtidy.properties</jtidy-config>
+      </map:generator>
+      <map:generator name="directory" 
src="org.apache.cocoon.generation.DirectoryGenerator" />
+      -->
+    </map:generators>
+
+    <map:transformers default="xslt">
+      <!-- Generates @id attributes from <title> strings -->
+      <map:transformer name="idgen" 
src="org.apache.cocoon.transformation.IdGeneratorTransformer">
+        <element>//*[local-name() = 'section']</element>
+        <id>title/text()</id>
+      </map:transformer>
+
+      <!-- Rewrites links, e.g. transforming href="site:index" to 
href="../index.html" -->
+      <!-- See 
http://xml.apache.org/forrest/sitemap-ref.html#linkrewriting_impl -->
+      <map:transformer name="linkrewriter" 
logger="sitemap.transformer.linkrewriter" 
src="org.apache.cocoon.transformation.LinkRewriterTransformer">
+        <link-attrs>href src</link-attrs>
+        <schemes>site ext</schemes>
+
+        <input-module name="site">
+          <input-module name="linkmap">
+            <file src="{src}" reloadable="true" />
+          </input-module>
+          <prefix>/site//</prefix>
+          <suffix>/@href</suffix>
+        </input-module>
+        <input-module name="ext">
+          <input-module name="linkmap">
+            <file src="{src}" reloadable="true" />
+          </input-module>
+          <prefix>/site/external-refs//</prefix>
+          <suffix>/@href</suffix>
+        </input-module>
+      </map:transformer>
+
+      <map:transformer name="xpath" logger="sitemap.transformer.xpath" 
src="org.apache.cocoon.transformation.XPathTransformer" />
+      <map:transformer name="xslt" 
src="org.apache.cocoon.transformation.TraxTransformer" 
logger="sitemap.transformer.xslt" pool-max="32" pool-min="8" pool-grow="2">
+        <use-request-parameters>false</use-request-parameters>
+        <use-browser-capabilities-db>false</use-browser-capabilities-db>
+        <use-deli>false</use-deli>
+        
<transformer-factory>org.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
+        
<!--<transformer-factory>com.icl.saxon.TransformerFactoryImpl</transformer-factory>-->
+        
<!--<transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory>-->
+      </map:transformer>
+
+      <map:transformer name="xinclude" 
src="org.apache.cocoon.transformation.XIncludeTransformer" 
logger="sitemap.transformer.xinclude" pool-grow="2" pool-max="16" pool-min="2" 
/>
+    </map:transformers>
+
+    <map:readers default="resource">
+      <map:reader name="resource" 
src="org.apache.cocoon.reading.ResourceReader"/>
+    </map:readers>
+
+    <map:serializers default="html">
+      <map:serializer name="html" mime-type="text/html" 
src="org.apache.cocoon.serialization.HTMLSerializer">
+        <doctype-public>-//W3C//DTD HTML 4.01 Transitional//EN</doctype-public>
+        <doctype-system>http://www.w3.org/TR/html4/loose.dtd</doctype-system>
+      </map:serializer>
+
+      <map:serializer name="xml" mime-type="text/xml" 
src="org.apache.cocoon.serialization.XMLSerializer"/>
+      
+      <map:serializer name="xml-document" mime-type="text/xml" 
src="org.apache.cocoon.serialization.XMLSerializer">
+        <cdata-section-elements>source</cdata-section-elements>
+        <doctype-public>-//APACHE//DTD Documentation V1.2//EN</doctype-public>
+        <doctype-system>document-v12.dtd</doctype-system>
+      </map:serializer>
+
+      <map:serializer name="fo2pdf" 
src="org.apache.cocoon.serialization.FOPSerializer" mime-type="application/pdf" 
/>
+
+      <map:serializer name="links" 
src="org.apache.cocoon.serialization.LinkSerializer">
+        <encoding>ISO-8859-1</encoding>
+      </map:serializer>
+     <!--
+      <map:serializer mime-type="application/x-shockwave-flash" name="swf" 
src="org.apache.cocoon.serialization.SWFSerializer"/>
+      <map:serializer mime-type="application/msword" name="fo2rtf" 
src="org.apache.cocoon.serialization.RTFSerializer"/>
+      -->
+    </map:serializers>
+
+    <map:matchers default="wildcard">
+      <map:matcher name="wildcard" 
src="org.apache.cocoon.matching.WildcardURIMatcher"/>
+      <map:matcher name="regexp" 
src="org.apache.cocoon.matching.RegexpURIMatcher"/>
+    </map:matchers>
+
+    <map:selectors>
+      <map:selector logger="sitemap.selector.exists" name="exists" 
src="org.apache.cocoon.selection.ResourceExistsSelector" />
+    </map:selectors>
+
+    <map:pipes default="caching">
+      <map:pipe name="caching" 
src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/>
+      <!--
+      <map:pipe name="noncaching" 
src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/>
+      <map:pipe name="profile-caching" 
src="org.apache.cocoon.components.profiler.ProfilingCachingProcessingPipeline"/>
+      <map:pipe name="profile-noncaching" 
src="org.apache.cocoon.components.profiler.ProfilingNonCachingProcessingPipeline"/>
+      -->
+    </map:pipes>
+  </map:components>
+
+  <!-- NOTE: the 'links view' is no longer used to discover a page's links.
+       Instead of filterlinks.xsl, use cli.xconf include/exclude nodes to 
define which pages to render.
+  <map:views>
+    <map:view name="links" from-position="last">
+      <map:transform src="resources/stylesheets/filterlinks.xsl">
+        <map:parameter name="ctxbasedir" value="{realpath:.}/"/>
+      </map:transform>
+      <map:serialize type="links"/>
+    </map:view>
+  </map:views>
+  -->
+
+  <map:resources>
+    <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="nopdf" value="{nopdf}"/>
+        <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>
+
+  <!-- =========================== Pipelines ================================= 
-->
+  <map:pipelines>
+
+    <map:pipeline internal-only="false">
+
+      <!-- ============================================================ -->
+      <!-- SOURCE FORMATS                                               -->
+      <!--                 Raw XML sources, typically doc-v12 format    -->
+      <!-- ============================================================ -->
+      <!-- http://xml.apache.org/forrest/sitemap-ref.html#source_pipelines -->
+
+      <!-- Body content -->
+      <map:match pattern="**.xml">
+        <map:match pattern="changes.xml">
+          <map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="todo.xml">
+          <map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="**dtdx.xml">
+          <map:mount uri-prefix="" src="dtd.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="forrest-issues.xml">
+          <map:mount uri-prefix="" src="issues.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="**faq.xml">
+          <map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="community/**index.xml">
+          <map:mount uri-prefix="" src="forrest.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="community/*/**.xml">
+          <map:mount uri-prefix="" src="revisions.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="site.xml">
+          <map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" />
+        </map:match>
+
+        <!-- Default source types -->
+        <map:mount uri-prefix="" src="forrest.xmap" check-reload="yes" />
+
+      </map:match>
+
+      <!-- Menu content -->
+      <map:match pattern="abs-menulinks">
+        <map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
+      </map:match>
+
+      <map:match pattern="**menulinks-*">
+        <map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
+      </map:match>
+
+      <!-- Link maps -->
+      <map:match pattern="abs-linkmap">
+        <map:mount uri-prefix="" src="linkmap.xmap"/>
+      </map:match>
+
+      <map:match pattern="**linkmap-*">
+        <map:match pattern="linkmap-site.*">
+          <map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:mount uri-prefix="" src="linkmap.xmap" check-reload="yes" />
+      </map:match>
+
+    </map:pipeline>
+
+
+    <!-- ============================================================ -->
+    <!-- INTERMEDIATE FORMATS                                         -->
+    <!--                          Tabs, menus and body HTML.          -->
+    <!--                       Called from output format pipelines    -->
+    <!-- ============================================================ -->
+    <!-- http://xml.apache.org/forrest/sitemap-ref.html#intermediate_pipelines 
-->
+
+    <map:pipeline internal-only="false">
+
+      <!-- External matches -->
+      <!-- (HTML rendered directly from special formats) -->
+      <map:match pattern="**body-faq.html">
+        <map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
+      </map:match>
+
+      <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:transform type="linkrewriter" 
src="cocoon:/{1}linkmap-{2}.html"/>
+            <map:serialize type="xml" />
+          </map:when>
+        </map:select>
+      </map:match>
+
+      <!-- Default matches -->
+      <!-- (HTML rendered from doc-v11 intermediate format -->
+      <map:match pattern="**body-*.html">
+        <map:generate src="cocoon:/{1}{2}.xml"/>
+        <map:transform type="idgen"/>
+        <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="false"/>
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**menu-*.html">
+        <map:generate src="cocoon:/{1}book-{2}.html"/>
+        <map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="book2menu"/>
+          <map:parameter name="path" value="{1}{2}.html"/>
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**tab-*.html">
+        <map:generate src="content/xdocs/tabs.xml" />
+        <map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="tab2menu"/>
+          <map:parameter name="path" value="{1}{2}.html"/>
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**book-*.html">
+        <map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
+      </map:match>
+
+    </map:pipeline>
+
+
+    <map:pipeline internal-only="false">
+
+      <!-- ============================================================ -->
+      <!-- OUTPUT FORMATS                                               -->
+      <!--                  Serves content directly to the user         -->
+      <!-- +==========================================================+ -->
+      <!-- http://xml.apache.org/forrest/sitemap-ref.html#output_pipelines -->
+
+      <map:match type="regexp" pattern="^.+$">
+        <map:select type="exists">
+          <map:when test="content/{0}">
+            <map:mount uri-prefix="" src="raw.xmap" check-reload="yes" />
+          </map:when>
+        </map:select>
+      </map:match>
+
+      <map:match pattern="*.html">
+        <map:aggregate element="site">
+          <map:part src="cocoon:/tab-{0}"/>
+          <map:part src="cocoon:/menu-{0}"/>
+          <map:part src="cocoon:/body-{0}"/>
+        </map:aggregate>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="site2xhtml"/>
+          <map:parameter name="path" value="{0}"/>
+        </map:call>
+      </map:match>         
+
+      <map:match pattern="**/*.html">
+        <map:aggregate element="site">
+          <map:part src="cocoon:/{1}/tab-{2}.html"/>
+          <map:part src="cocoon:/{1}/menu-{2}.html"/>
+          <map:part src="cocoon:/{1}/body-{2}.html"/>
+        </map:aggregate>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="site2xhtml"/>
+          <map:parameter name="path" value="{0}"/>
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**faq.pdf">
+        <map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
+      </map:match>
+
+      <map:match type="regexp" pattern="^(.*?)([^/]*).pdf$">
+        <map:generate src="cocoon:/{1}{2}.xml"/>
+        <!-- <map:transform type="idgen"/> -->
+        <map:transform type="xinclude"/>
+        <map:transform type="linkrewriter" src="cocoon://{1}linkmap-{2}.pdf"/>
+        <map:transform src="skins/{forrest:skin}/xslt/fo/document2fo.xsl">
+          <map:parameter name="ctxbasedir" value="{realpath:.}/"/>
+          <map:parameter name="xmlbasedir" value="content/xdocs/{1}"/>
+        </map:transform>
+        <map:serialize type="fo2pdf"/>
+      </map:match>
+
+      <map:match pattern="**changes.rss">
+        <map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
+      </map:match>
+
+      <map:match pattern="profiler">
+        <map:mount uri-prefix="" src="profiler.xmap" check-reload="yes" />
+      </map:match>
+      <map:match pattern="**.js">
+        <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
+      </map:match>
+      <map:match pattern="**.css">
+        <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
+      </map:match>
+      <map:match pattern="**images**">
+        <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
+      </map:match>
+     <map:match pattern="**favicon.ico">
+        <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
+      </map:match>
+    </map:pipeline>
+
+
+
+    <!-- ============================================================ -->
+    <!-- REDIRECTS                                                    -->
+    <!-- ============================================================ -->
+    <map:pipeline internal-only="false">
+
+      <map:match pattern="">
+        <map:redirect-to uri="index.html" />
+      </map:match>
+      <map:match type="regexp" pattern="^.+/$">
+          <map:redirect-to uri="index.html"/>
+      </map:match>
+    </map:pipeline>
+
+
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/skinconf.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/skinconf.xml Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+
+<!--
+Skin configuration file. This file contains details of your project, which will
+be used to configure the chosen Forrest skin.
+-->
+
+<!DOCTYPE skinconfig [
+
+  <!ENTITY % links.att 'name CDATA #REQUIRED'>
+  <!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
+  <!ELEMENT skinconfig (disable-search?, disable-print-link?, 
disable-pdf-link?,
+  disable-xml-link?, disable-compliance-links?, searchsite-domain?, 
searchsite-name?,
+  project-name, project-url, project-logo, group-name?, group-url?, 
group-logo?,
+  host-url?, host-logo?, year?, vendor?, trail?, credits?)*>
+  <!ELEMENT credits (credit*)>
+  <!ELEMENT credit (name, url, image?, width?, height?)>
+  <!-- id uniquely identifies the tool, and role indicates its function -->
+  <!ATTLIST credit id   CDATA #IMPLIED
+                   role CDATA #IMPLIED>
+  <!ELEMENT disable-search (#PCDATA)>
+  <!ELEMENT disable-print-link (#PCDATA)>
+  <!ELEMENT disable-pdf-link (#PCDATA)>
+  <!ELEMENT disable-xml-link (#PCDATA)>    
+  <!ELEMENT disable-compliance-links (#PCDATA)>   
+  <!ELEMENT searchsite-domain (#PCDATA)>
+  <!ELEMENT searchsite-name (#PCDATA)>  
+  <!ELEMENT project-name (#PCDATA)>
+  <!ELEMENT project-url (#PCDATA)>
+  <!ELEMENT project-logo (#PCDATA)>
+  <!ELEMENT group-name (#PCDATA)>
+  <!ELEMENT group-url (#PCDATA)>
+  <!ELEMENT group-logo (#PCDATA)>
+  <!ELEMENT host-url (#PCDATA)>
+  <!ELEMENT host-logo (#PCDATA)>
+  <!ELEMENT year (#PCDATA)>
+  <!ELEMENT vendor (#PCDATA)>
+  <!ELEMENT trail (link1, link2, link3)>
+  <!ELEMENT link1 EMPTY>
+  <!-- Seems we can't use param entity refs until this is DTDified -->
+  <!ATTLIST link1 name CDATA #REQUIRED href CDATA #IMPLIED>
+  <!ELEMENT link2 EMPTY>
+  <!ATTLIST link2 name CDATA #REQUIRED href CDATA #IMPLIED>
+  <!ELEMENT link3 EMPTY>
+  <!ATTLIST link3 name CDATA #REQUIRED href CDATA #IMPLIED>
+  <!ELEMENT name (#PCDATA)>
+  <!ELEMENT url (#PCDATA)>
+  <!ELEMENT image (#PCDATA)>
+  <!ELEMENT width (#PCDATA)>
+  <!ELEMENT height (#PCDATA)>
+  ]>
+
+<skinconfig>
+  <!-- Do we want to disable the Google search box? -->
+  <disable-search>false</disable-search>
+  <!-- Do we want to disable the print link? -->
+  <disable-print-link>true</disable-print-link>  
+  <!-- Do we want to disable the PDF link? -->
+  <disable-pdf-link>true</disable-pdf-link>
+  <!-- Do we want to disable the xml source link? -->
+  <disable-xml-link>true</disable-xml-link>
+  <!-- Do we want to disable w3c compliance links? -->
+  <disable-compliance-links>true</disable-compliance-links>
+  
+  <searchsite-domain>incubator.apache.org</searchsite-domain>
+  <searchsite-name>Apache Beehive</searchsite-name>  
+
+  <!-- mandatory project logo
+       skin: forrest-site renders it at the top -->
+  <project-name>Apache Beehive</project-name>
+  <project-url>http://incubator.apache.org/beehive</project-url>
+  <project-logo>images/beehive_logo_wide.gif</project-logo>
+
+  <!-- optional group logo
+       skin: forrest-site renders it at the top-left corner -->
+  <group-name>Apache Incubator</group-name>
+  <group-url>http://incubator.apache.org/</group-url>
+  <group-logo>images/incubator-logo.gif</group-logo>
+
+  <!-- optional host logo (e.g. sourceforge logo)
+       skin: forrest-site renders it at the bottom-left corner -->
+  <host-url></host-url>
+  <host-logo></host-logo>
+
+  <!-- The following are used to construct a copyright statement -->
+  <year>2004</year>
+  <vendor>The Apache Software Foundation.</vendor>
+
+  <!-- Some skins use this to form a 'breadcrumb trail' of links. If you don't
+  want these, set the attributes to blank. The DTD purposefully requires them.
+  -->
+  <trail>
+    <link1 name="apache" href="http://www.apache.org/"/>
+    <link2 name="" href=""/>
+    <!-- <link2 name="beehive" href="http://incubator.apache.org/beehive"/> -->
+    <link3 name="" href=""/>
+  </trail>
+
+  <!-- Credits are typically rendered as a set of small clickable images in the
+  page footer -->
+  <credits>
+    <!-- credit>
+      <name>Built with Apache Forrest</name>
+      <url>http://xml.apache.org/forrest/</url>
+      <image>images/built-with-forrest-button.png</image>
+      <width>88</width>
+      <height>31</height>
+    </credit -->
+    <!-- A credit with @role='pdf' will have its name and url displayed in the
+    PDF page's footer. -->
+  </credits>
+</skinconfig>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/images/README.txt
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/images/README.txt   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,3 @@
+This directory is currently useless, as the sitemap only looks in
+skins/{forrest:skin}, so files must be kept in synch manually until this is
+fixed.

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

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/images/pdfdoc.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/images/printer.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/images/spacer.gif
==============================================================================
Binary file. No diff available.

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

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/images/xmldoc.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/document2fo.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/document2fo.xsl
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,705 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                version="1.0">
+
+  <xsl:output method="xml"/>
+  <xsl:param name="numbersections" select="'true'"/>
+
+  <!-- Section depth at which we stop numbering and just indent -->
+  <xsl:param name="numbering-max-depth" select="'3'"/>
+  <xsl:param name="ctxbasedir" select="."/>
+  <xsl:param name="xmlbasedir"/>
+  <xsl:include href="pdfoutline.xsl"/>
+  <xsl:include href="footerinfo.xsl"/>
+
+  <xsl:template match="/">
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>
+      <fo:layout-master-set>
+
+        <fo:simple-page-master master-name="first-page"
+          page-height="11in" 
+          page-width="8.5in"
+          margin-top="1in" 
+          margin-bottom="1in" 
+          margin-left="1.25in" 
+          margin-right="1in">
+          <fo:region-body
+            margin-top="0.5in"
+            margin-bottom=".5in"/>
+          <fo:region-after 
+            region-name="first-footer"
+            extent=".5in"
+            display-align="before"/>
+        </fo:simple-page-master>
+
+        <fo:simple-page-master master-name="even-page"
+          page-height="11in" 
+          page-width="8.5in"
+          margin-top="1in" 
+          margin-bottom="1in" 
+          margin-left="1.25in" 
+          margin-right="1in">
+          <fo:region-before
+            region-name="even-header"
+            extent="0.5in"
+            border-bottom="0.5pt solid"/>
+          <fo:region-body
+            margin-top="0.5in"
+            margin-bottom=".5in"/>
+          <fo:region-after 
+            region-name="even-footer"
+            extent=".5in"
+            display-align="before"/>
+        </fo:simple-page-master>
+
+        <fo:simple-page-master master-name="odd-page"
+          page-height="11in" 
+          page-width="8.5in"
+          margin-top="1in" 
+          margin-bottom="1in" 
+          margin-left="1.25in" 
+          margin-right="1in">
+          <fo:region-before
+            region-name="odd-header"
+            extent="0.5in"
+            border-bottom="0.5pt solid"/>
+          <fo:region-body
+            margin-top="0.5in"
+            margin-bottom=".5in"/>
+          <fo:region-after 
+            region-name="odd-footer"
+            extent=".5in"
+            display-align="before"/>
+        </fo:simple-page-master>
+
+        <fo:page-sequence-master master-name="book">
+          <fo:repeatable-page-master-alternatives>
+            <fo:conditional-page-master-reference
+              page-position="first"
+              master-reference="first-page"/>
+            <fo:conditional-page-master-reference
+              odd-or-even="odd"
+              master-reference="odd-page"/>
+            <fo:conditional-page-master-reference
+              odd-or-even="even"
+              master-reference="even-page"/>
+          </fo:repeatable-page-master-alternatives>
+        </fo:page-sequence-master>
+      </fo:layout-master-set>
+
+      <xsl:apply-templates select="/document" mode="outline"/>
+
+      <fo:page-sequence master-reference="book">
+        <fo:title><xsl:value-of select="document/header/title"/></fo:title>
+        <xsl:apply-templates/>
+      </fo:page-sequence>
+      
+    </fo:root>
+  </xsl:template>
+
+  <xsl:template match="document">
+    <fo:title><xsl:value-of select="header/title"/></fo:title>
+    
+    <fo:static-content flow-name="first-footer">
+      <fo:block
+        border-top="0.25pt solid"
+        padding-before="6pt"
+        text-align="center">
+        <xsl:apply-templates select="footer"/>
+      </fo:block>
+      <fo:block
+        text-align="start">
+        Page <fo:page-number/>
+      </fo:block>
+      <xsl:call-template name="info"/>
+    </fo:static-content>
+
+    <fo:static-content flow-name="even-header">
+      <fo:block
+        text-align="end"
+        font-style="italic">
+        <xsl:value-of select="header/title"/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="even-footer">
+      <fo:block
+        border-top="0.25pt solid"
+        padding-before="6pt"
+        text-align="center">
+        <xsl:apply-templates select="footer"/>
+      </fo:block>
+      <fo:block
+        text-align="end">
+        Page <fo:page-number/>
+      </fo:block>
+      <xsl:call-template name="info"/>
+    </fo:static-content>
+
+    <fo:static-content flow-name="odd-header">
+      <fo:block
+        text-align="start"
+        font-style="italic">
+        <xsl:value-of select="header/title"/>
+      </fo:block>
+    </fo:static-content>
+    
+    <fo:static-content flow-name="odd-footer">
+      <fo:block
+        border-top="0.25pt solid"
+        padding-before="6pt"
+        text-align="center">
+        <xsl:apply-templates select="footer"/>
+      </fo:block>
+      <fo:block
+        text-align="start">
+        Page <fo:page-number/>
+      </fo:block>
+      <xsl:call-template name="info"/>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block
+        padding-before="24pt"
+        padding-after="24pt"
+        font-size="24pt"
+        font-weight="bold"
+        id="{generate-id()}">
+
+        <xsl:value-of select="header/title"/>
+      </fo:block>
+      
+      <fo:block
+        text-align="justify"
+        padding-before="18pt"
+        padding-after="18pt">
+        <xsl:apply-templates/>
+      </fo:block>
+    </fo:flow>
+  </xsl:template>
+  
+  <xsl:template match="abstract">
+    <fo:block
+      font-size="12pt"
+      text-align="center"
+      space-before="20pt"
+      space-after="25pt"
+      width="7.5in"
+      font-family="serif"
+      font-style="italic">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+  
+  <xsl:template match="notice">
+    <fo:block
+      font-size="10pt"
+      text-align="left"
+      space-before="20pt"
+      width="7.5in"
+      font-family="serif"
+      border-top="0.25pt solid"
+      border-bottom="0.25pt solid"
+      padding-before="6pt"
+      padding-after="6pt">
+      NOTICE: <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="anchor">
+    <fo:block id="[EMAIL PROTECTED]"/>
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="section">
+    
+    <xsl:param name="level">0</xsl:param>
+
+    <xsl:variable name="size">
+      <xsl:choose>
+        <xsl:when test="number($level) = 1">
+          <xsl:value-of select="14"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="12"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    
+    <fo:block
+      font-family="serif"
+      font-size="{$size}pt"
+      font-weight="bold"
+      space-before="12pt"
+      space-after="4pt">
+
+      <xsl:attribute name="id">
+        <xsl:choose>
+          <xsl:when test="normalize-space(@id)!=''">
+            <xsl:value-of select="@id"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="generate-id()"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:attribute>
+
+      <xsl:if test="$numbersections = 'true' and number($level) &lt; 
$numbering-max-depth+1">
+        <xsl:number format="1.1.1.1.1.1.1" count="section" level="multiple"/>
+        <xsl:text>. </xsl:text>
+      </xsl:if>
+
+      <!-- For sections 4  or more nestings deep, indent instead of number -->
+      <xsl:if test="number($level) &gt; $numbering-max-depth+1">
+        <xsl:attribute name="start-indent">
+          <xsl:value-of select="4+number($level)"/><xsl:text>pt</xsl:text>
+        </xsl:attribute>
+      </xsl:if>
+
+      <xsl:value-of select="title"/>
+    </fo:block>
+    <xsl:apply-templates>
+      <xsl:with-param name="level" select="number($level)+1"/>
+    </xsl:apply-templates>
+    
+  </xsl:template>
+  
+  <xsl:template match="title">
+    <!-- do nothing as titles are handled in their parent templates -->
+  </xsl:template>
+  
+  <xsl:template match="subtitle">
+    <xsl:param name="level">0</xsl:param>
+    <xsl:variable name="size" select="16-(number($level)*1.5)"/>
+
+    <fo:block
+      font-weight="bold"
+      font-size="{$size}pt">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="authors">
+    <fo:block
+      space-before="20pt"
+      font-weight="bold"
+      font-size="9pt">
+      by
+      <xsl:for-each select="person">
+        <xsl:value-of select="@name"/>
+        <xsl:if test="not(position() = last())">, </xsl:if>
+      </xsl:for-each>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="p">
+    <fo:block
+      space-before="4pt"
+      space-after="4pt"
+      font-family="serif">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+  
+
+  <xsl:template match="source">
+    <fo:block
+      font-family="monospace"
+      font-size="10pt"
+      background-color="#f0f0f0"
+      white-space-collapse="false"
+      linefeed-treatment="preserve"
+      white-space-treatment="preserve"
+      wrap-option="no-wrap"
+      text-align="start">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+  
+  
+  <xsl:template match="ol|ul">
+    <fo:list-block 
+      provisional-distance-between-starts="18pt"
+      provisional-label-separation="3pt"
+      text-align="start">
+      <xsl:apply-templates/>
+    </fo:list-block>
+  </xsl:template>
+  
+  <xsl:template match="ol/li">
+    <fo:list-item>
+      <fo:list-item-label 
+        end-indent="label-end()">
+        <fo:block>
+          <xsl:number format="1."/>
+        </fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body 
+        start-indent="body-start()">
+        <fo:block
+          font-family="serif">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+
+  <!-- Emulate browser handling of these invalid combinations that our DTD
+  unfortunately allows -->
+  <xsl:template match="ul/ul | ul/ol | ol/ul | ol/ol">
+    <fo:list-item>
+      <fo:list-item-label end-indent="label-end()">
+        <fo:block></fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body start-indent="body-start()">
+        <fo:block font-family="serif">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+
+  <xsl:template match="ul/li">
+    <fo:list-item>
+      <fo:list-item-label end-indent="label-end()">
+        <fo:block>&#x2022;</fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body start-indent="body-start()">
+        <fo:block
+          font-family="serif">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+  
+  <xsl:template match="dl">
+    <fo:list-block
+      provisional-distance-between-starts="18pt"
+      provisional-label-separation="3pt"
+      text-align="start">
+      <xsl:apply-templates/>
+    </fo:list-block>
+  </xsl:template>
+  
+  <xsl:template match="dt">
+    <fo:list-item>
+      <fo:list-item-label end-indent="label-end()">
+        <fo:block></fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body start-indent="body-start()">
+        <fo:block
+          font-weight="bold">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+  
+  <xsl:template match="dd">
+    <fo:list-item>
+      <fo:list-item-label end-indent="label-end()">
+        <fo:block></fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body start-indent="body-start()">
+        <fo:block>
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+  
+  <xsl:template match="strong">
+    <fo:inline font-weight="bold"><xsl:apply-templates/></fo:inline>
+  </xsl:template>
+  
+  <xsl:template match="em">
+    <fo:inline font-style="italic"><xsl:apply-templates/></fo:inline>
+  </xsl:template>
+
+  <xsl:template match="code">
+    <fo:inline font-family="monospace"><xsl:apply-templates/></fo:inline>
+  </xsl:template>
+
+  <xsl:template match="warning">
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-weight="bold"
+      font-size="10pt"
+      font-family="serif"
+      space-before="10pt"
+      border-before-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#D00000"
+      background-color="#D00000"
+      color="#ffffff">
+      <xsl:choose>
+        <xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
+        <xsl:otherwise>Note: </xsl:otherwise>
+      </xsl:choose><xsl:value-of select="title"/>       
+    </fo:block>
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-family="serif"
+      font-size="8pt"
+      border-after-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#D00000"
+      background-color="#fff0f0"
+      padding-start="3pt"
+      padding-end="3pt"
+      padding-before="3pt"
+      padding-after="3pt"
+      space-after="10pt">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="note">
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-weight="bold"
+      font-size="10pt"
+      color="#ffffff"
+      font-family="serif"
+      space-before="10pt"
+      border-before-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#A0C9F5"
+      background-color="#A0C9F5">
+      <xsl:choose>
+        <xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
+        <xsl:otherwise>Note: </xsl:otherwise>
+      </xsl:choose><xsl:value-of select="title"/>
+    </fo:block>
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-family="serif"
+      font-size="8pt"
+      space-after="10pt"
+      border-after-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#A0C9F5"
+      background-color="#F0F0FF"
+      padding-start="3pt"
+      padding-end="3pt"
+      padding-before="3pt"
+      padding-after="3pt">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="fixme">
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-weight="bold"
+      font-size="10pt"
+      color="#FFFFFF"
+      font-family="serif"
+      space-before="10pt"
+      border-before-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#C6C650"
+      background-color="#C6C650">
+      FIXME (<xsl:value-of select="@author"/>): <xsl:value-of select="title"/>
+    </fo:block>
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-family="serif"
+      font-size="8pt"
+      space-after="10pt"
+      border-after-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#C6C650"
+      background-color="#FFF0F0"
+      padding-start="3pt"
+      padding-end="3pt"
+      padding-before="3pt"
+      padding-after="3pt">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="link">
+    <xsl:choose>
+      <xsl:when test="starts-with(@href, '#')">
+    <fo:basic-link color="blue" text-decoration="underline" 
internal-destination="{substring(@href,2)}">
+      <xsl:apply-templates/>
+    </fo:basic-link>
+      </xsl:when>
+      <xsl:otherwise>
+    <fo:basic-link color="blue" text-decoration="underline" 
external-destination="[EMAIL PROTECTED]"><xsl:apply-templates/></fo:basic-link>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="figure|img">
+    <fo:block text-align="center">
+      <xsl:if test="normalize-space(@id)!=''">
+          <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+      </xsl:if>
+
+      <!-- Make relative paths absolute -->
+      <xsl:variable name="imgpath">
+      <xsl:choose>
+        <xsl:when test="starts-with(string(@src), 'images/') or 
contains(string(@src), '../images')">
+          <xsl:value-of select="concat($ctxbasedir, 'resources/images/' , 
substring-after(@src, 'images'))"/>
+        </xsl:when>
+        <xsl:otherwise><xsl:value-of select="concat($ctxbasedir, $xmlbasedir, 
@src)"/></xsl:otherwise>
+      </xsl:choose>
+      </xsl:variable>
+      <fo:external-graphic src="{$imgpath}">
+        <xsl:if test="@height">
+          <xsl:attribute name="height"><xsl:value-of 
select="@height"/></xsl:attribute>
+        </xsl:if>
+        <xsl:if test="@width">
+          <xsl:attribute name="width"><xsl:value-of 
select="@width"/></xsl:attribute>
+        </xsl:if>
+      </fo:external-graphic>
+      <!-- alt text -->
+      <xsl:if test="normalize-space(@alt)!=''">
+          <fo:block><xsl:value-of select="@alt"/></fo:block>
+      </xsl:if>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="table">
+    <!-- FIXME: Apache FOP must have column widths specified at present,
+         this section can be removed when this limitation is removed from Fop. 
+         Unfortunately, this means that each column is a fixed width,
+         but at least the table displays! -->
+
+    <xsl:variable name="max-number-columns">
+      <xsl:for-each select="tr">
+        <xsl:sort select="count(td|th)" data-type="number" order="descending"/>
+        <xsl:if test="position() = 1">
+          <xsl:value-of select="count(td|th)"/>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+
+
+    <xsl:variable name="column-width">
+      <xsl:value-of select="6.25 div number($max-number-columns)"/>in
+    </xsl:variable>
+
+    <fo:table>
+                  
+      <fo:table-column>
+        <xsl:attribute name="column-width">
+          <xsl:value-of select="$column-width"/>
+        </xsl:attribute>
+
+        <xsl:attribute name="number-columns-repeated">
+          <xsl:value-of select="number($max-number-columns)"/>
+        </xsl:attribute>
+      </fo:table-column>
+
+      <!-- End of hack for Fop support (if removing this hack, remember 
+           you need the <fo:table> element) -->
+
+      <fo:table-body
+        font-size="10pt"
+        font-family="sans-serif">
+        <xsl:apply-templates select="tr"/>
+      </fo:table-body>
+    </fo:table>
+
+    <!-- FIXME: Apache Fop does not support the caption element yet.
+         This hack will display the table caption accordingly. -->
+    <xsl:if test="caption">
+      <fo:block
+        text-align="center"
+        font-weight="bold">
+        Table
+        <xsl:text> </xsl:text>
+        <xsl:number count="table" level="multiple"/>
+        <xsl:text>: </xsl:text>
+        <xsl:value-of select="caption"/>
+      </fo:block>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="tr">
+    <fo:table-row>
+      <xsl:apply-templates/>
+    </fo:table-row>
+  </xsl:template>
+
+  <xsl:template match="th">
+      <fo:table-cell
+        padding-before="4pt"
+        padding-after="4pt"
+        padding-start="4pt"
+        padding-end="4pt"
+        background-color="#A0C9F5">
+        <xsl:attribute name="number-columns-spanned">
+          <xsl:value-of select="@colspan"/>
+        </xsl:attribute>
+        <xsl:attribute name="number-rows-spanned">
+          <xsl:value-of select="@rowspan"/>
+        </xsl:attribute>
+        <fo:block
+          text-align="center">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:table-cell>
+  </xsl:template>
+
+  <xsl:template match="td">
+    <fo:table-cell
+      padding-before="4pt"
+      padding-after="4pt"
+      padding-start="4pt"
+      padding-end="4pt"
+      border="1pt solid #A0C9F5">
+      <xsl:attribute name="number-columns-spanned">
+          <xsl:value-of select="@colspan"/>
+        </xsl:attribute>
+        <xsl:attribute name="number-rows-spanned">
+          <xsl:value-of select="@rowspan"/>
+        </xsl:attribute>
+      <fo:block>
+        <xsl:apply-templates/>
+      </fo:block>
+    </fo:table-cell>
+  </xsl:template>
+
+  <xsl:template match="br">
+    <fo:block></fo:block>
+  </xsl:template>
+
+  <xsl:template match="legal">
+    <fo:inline
+      font-size="8pt">
+      <xsl:apply-templates/>
+    </fo:inline>
+  </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- Local Extensions section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="citation">
+   <fo:inline>
+     [<xsl:value-of select="@def"/>]
+   </fo:inline>
+ </xsl:template>
+
+
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/footerinfo.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/footerinfo.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                version="1.0">
+
+<!--
+Named template to generate a short message in the PDF footer, from text in
+skinconf.xml.  By default, the message is a copyright statement.  If a credit
+with @role='pdf' is present, that is used instead.  Eg:
+
+<credit role="pdf">
+  <name>Generated by Apache FOP 1.0-dev</name>
+  <url>http://xml.apache.org/forrest/fop/dev/</url>
+</credit>
+-->
+
+  <xsl:param name="config-file" select="'../../../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+
+  <xsl:template name="info">
+    <xsl:variable name="pdfcredit" select="$config/credits/[EMAIL PROTECTED] = 
'pdf']"/>
+    <xsl:variable name="text">
+      <xsl:if test="$pdfcredit">
+        <xsl:value-of select="$pdfcredit/name"/>
+      </xsl:if>
+      <xsl:if test="not($pdfcredit)">
+        <xsl:text>Copyright &#169; </xsl:text><xsl:value-of 
select="$config/year"/>&#160;<xsl:value-of
+          select="$config/vendor"/><xsl:text> All rights reserved.</xsl:text>
+      </xsl:if>
+    </xsl:variable>
+    <xsl:variable name="url" select="$pdfcredit/url"/>
+
+    <fo:block-container font-style="italic" absolute-position="absolute"
+      left="0pt" top="0pt" right="6.25in" bottom="150pt"
+      font-size="10pt">
+      <xsl:if test="not($url)">
+        <fo:block text-align="center" color="lightgrey">
+          <xsl:value-of select="$text"/>
+        </fo:block>
+      </xsl:if>
+      <xsl:if test="$url">
+        <fo:block text-align="center">
+          <fo:basic-link color="lightgrey"
+            external-destination="{$url}">
+            <xsl:value-of select="$text"/>
+          </fo:basic-link>
+        </fo:block>
+        <fo:block text-align="center">
+          <fo:basic-link color="lightgrey"
+            external-destination="{$url}">
+            <xsl:value-of select="$url"/>
+          </fo:basic-link>
+        </fo:block>
+      </xsl:if>
+    </fo:block-container>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/pdfoutline.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/fo/pdfoutline.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                xmlns:fox="http://xml.apache.org/fop/extensions";
+                version="1.0">
+
+<xsl:template match="document" mode="outline">
+      <xsl:apply-templates select="body/section" mode="outline"/>
+</xsl:template>
+
+<xsl:template match="section" mode="outline">
+  <fox:outline>
+    <xsl:attribute name="internal-destination">
+      <xsl:choose>
+        <xsl:when test="normalize-space(@id)!=''">
+          <xsl:value-of select="@id"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="generate-id()"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+    <fox:label>
+      <xsl:number format="1.1.1.1.1.1.1" count="section" level="multiple"/>
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="title"/>
+
+    </fox:label>
+    <xsl:apply-templates select="section" mode="outline"/>
+  </fox:outline>
+</xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/book2menu.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/book2menu.xsl
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+<!--
+book2menu.xsl generates the HTML menu. It outputs XML/HTML of the form:
+  <div class="menu">
+     ...
+  </div>
+which is then merged with other HTML by site2xhtml.xsl
+
+$Id: book2menu.xsl,v 1.11 2003/08/31 12:15:53 jefft Exp $
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- ================================================================ -->
+  <!-- These templates SHOULD be overridden                             -->
+  <!-- ================================================================ -->
+
+  <xsl:template name="selected">
+    <xsl:value-of select="@label"/>
+  </xsl:template>
+
+  <xsl:template name="unselected">
+    <a href="[EMAIL PROTECTED]">
+      <xsl:if test="@description">
+        <xsl:attribute name="title">
+          <xsl:value-of select="@description"/>
+        </xsl:attribute>
+      </xsl:if>
+      <xsl:value-of select="@label"/>
+    </a>
+  </xsl:template>
+
+  <xsl:template name="print-external">
+    <!-- Use apply-imports when overriding -->
+    <xsl:value-of select="@label"/>
+  </xsl:template>
+
+
+  <!-- ================================================================ -->
+  <!-- These templates CAN be overridden                                -->
+  <!-- ================================================================ -->
+
+  <!-- Eg, if tab href is 'index.html#foo', this will be called when index.html
+  is selected -->
+  <xsl:template name="selected-anchor">
+    <!-- By default, render as unselected so that it is clickable (takes user
+    to the anchor) -->
+    <xsl:call-template name="unselected"/>
+  </xsl:template>
+
+  <xsl:template name="unselected-anchor">
+    <xsl:call-template name="unselected"/>
+  </xsl:template>
+
+
+  <xsl:template match="book">
+    <xsl:apply-templates select="menu"/>
+  </xsl:template>
+
+
+  <xsl:template match="menu">
+    <div class="menu">
+      <xsl:call-template name="base-menu"/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="menu-item">
+    <!-- Use apply-imports when overriding -->
+
+    <xsl:variable name="href-nofrag">
+      <xsl:call-template name="path-nofrag">
+        <xsl:with-param name="path" select="@href"/>
+      </xsl:call-template>
+    </xsl:variable>
+
+    <xsl:variable name="node-path">
+      <xsl:call-template name="normalize">
+        <xsl:with-param name="path" select="concat($dirname, $href-nofrag)"/>
+      </xsl:call-template>
+    </xsl:variable>
+
+    <xsl:choose>
+      <!-- Compare with extensions stripped -->
+      <xsl:when test="$node-path = $path-nofrag">
+        <xsl:choose>
+          <xsl:when test="contains(@href, '#')">
+            <xsl:call-template name="selected-anchor"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:call-template name="selected"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:choose>
+          <xsl:when test="contains(@href, '#')">
+            <xsl:call-template name="unselected-anchor"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:call-template name="unselected"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- ================================================================ -->
+  <!-- These templates SHOULD NOT be overridden                         -->
+  <!-- ================================================================ -->
+
+
+  <xsl:param name="path"/>
+
+  <xsl:include href="pathutils.xsl"/>
+
+  <xsl:variable name="filename">
+    <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="path-nofrag">
+    <xsl:call-template name="path-nofrag">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="path-nofrag">
+    <xsl:call-template name="path-nofrag">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="dirname">
+    <xsl:call-template name="dirname">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:template match="external">
+    <li>
+      <xsl:choose>
+        <xsl:when test="starts-with(@href, $path-nofrag)">
+          <span class="externalSelected">
+            <xsl:call-template name="print-external"/>
+          </span>
+        </xsl:when>
+        <xsl:otherwise>
+          <a href="[EMAIL PROTECTED]" target="_blank"><xsl:value-of 
select="@label"/></a>
+        </xsl:otherwise>
+      </xsl:choose>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="[EMAIL PROTECTED]'hidden']"/>
+
+  <xsl:template match="[EMAIL PROTECTED]'hidden']"/>
+
+  <xsl:template name="base-menu">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/document2html.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/document2html.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,450 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet contains the majority of templates for converting documentv11
+to HTML.  It renders XML as HTML in this form:
+
+  <div class="content">
+   ...
+  </div>
+
+..which site2xhtml.xsl then combines with HTML from the index (book2menu.xsl)
+and tabs (tab2menu.xsl) to generate the final HTML.
+
+Section handling
+  - <a name/> anchors are added if the id attribute is specified
+
+$Id: document2html.xsl,v 1.32.2.2 2003/09/27 12:14:08 jefft Exp $
+-->
+<xsl:stylesheet version="1.0" 
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- the skinconf file -->
+  <xsl:param name="config-file" select="'../../../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+  
+  <!-- If true, a PDF link for this page will not be generated -->
+  <xsl:variable name="disable-pdf-link" select="$config/disable-pdf-link"/>
+  <!-- If true, a "print" link for this page will not be generated -->
+  <xsl:variable name="disable-print-link" select="$config/disable-print-link"/>
+  <!-- If true, an XML link for this page will not be generated -->
+  <xsl:variable name="disable-xml-link" select="$config/disable-xml-link"/>  
+  <!-- Get the section depth to use when generating the minitoc (default is 2) 
-->
+  <xsl:variable name="config-max-depth" select="$config/toc/@level"/>
+  <!-- Whether to obfuscate email links -->
+  <xsl:variable name="obfuscate-mail-links" 
select="$config/obfuscate-mail-links"/>
+
+  <xsl:variable name="max-depth">
+    <xsl:choose>
+      <xsl:when test="string-length($config-max-depth)&gt;0">
+        <xsl:value-of select="$config-max-depth"/>
+      </xsl:when>
+      <xsl:otherwise>2</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+    
+  <xsl:param name="notoc"/>
+  <xsl:param name="path"/>
+  <!-- <xsl:include href="split.xsl"/> -->
+  <xsl:include href="dotdots.xsl"/>
+  <xsl:include href="pathutils.xsl"/>
+
+  <!-- Path to site root, eg '../../' -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="filename-noext">
+    <xsl:call-template name="filename-noext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+ 
+  <xsl:variable name="skin-img-dir" select="concat(string($root), 
'skin/images')"/>
+
+  <xsl:template match="document">
+    <div class="content">
+      <table summary="" class="title">
+        <tr> 
+          <td valign="middle"> 
+            <xsl:if test="normalize-space(header/title)!=''">
+              <h1>
+                <xsl:value-of select="header/title"/>
+              </h1>
+            </xsl:if>
+          </td>
+          <xsl:call-template name="printlink"/> 
+          <xsl:call-template name="pdflink"/>
+          <xsl:call-template name="xmllink"/>
+        </tr>
+      </table>
+      <xsl:if test="normalize-space(header/subtitle)!=''">
+        <h3>
+          <xsl:value-of select="header/subtitle"/>
+        </h3>
+      </xsl:if>
+      <xsl:apply-templates select="header/type"/>
+      <xsl:apply-templates select="header/notice"/>
+      <xsl:apply-templates select="header/abstract"/>
+      <xsl:apply-templates select="body"/>
+      <div class="attribution">
+        <xsl:apply-templates select="header/authors"/>
+        <xsl:if test="header/authors and header/version">
+          <xsl:text>; </xsl:text>
+        </xsl:if>
+        <xsl:apply-templates select="header/version"/>
+      </div>
+    </div>
+  </xsl:template>
+
+  <!-- Generates the "printer friendly version" link -->
+  <xsl:template name="printlink">
+    <xsl:if test="$disable-print-link = 'false'"> 
+<script type="text/javascript" language="Javascript">
+function printit() {  
+if (window.print) {
+    window.print() ;  
+} else {
+    var WebBrowser = '&lt;OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" 
CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">&lt;/OBJECT>';
+document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
+    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    
WebBrowser1.outerHTML = "";  
+}
+}
+</script>
+
+<script type="text/javascript" language="Javascript">
+var NS = (navigator.appName == "Netscape");
+var VERSION = parseInt(navigator.appVersion);
+if (VERSION > 3) {
+    document.write('<td align="center" width="40" nowrap="nowrap">');
+    document.write('  <a href="javascript:printit()" class="dida">');
+    document.write('    <img class="skin" src="{$skin-img-dir}/printer.gif" 
alt="Print this Page"/><br />');
+    document.write('  print</a>');
+    document.write('</td>');
+}
+</script>
+
+    </xsl:if>
+  </xsl:template>
+
+  <!-- Generates the PDF link -->
+  <xsl:template name="pdflink">
+    <xsl:if test="not($config/disable-pdf-link) or $disable-pdf-link = 
'false'"> 
+      <td align="center" width="40" nowrap="nowrap"><a 
href="{$filename-noext}.pdf" class="dida">
+          <img class="skin" src="{$skin-img-dir}/pdfdoc.gif" alt="PDF"/><br/>
+          PDF</a>
+      </td>
+    </xsl:if>
+  </xsl:template>
+  
+
+  <!-- Generates the XML link -->
+  <xsl:template name="xmllink">
+    <xsl:if test="$disable-xml-link = 'false'">
+      <td align="center" width="40" nowrap="nowrap"><a 
href="{$filename-noext}.xml" class="dida">
+          <img class="skin" src="{$skin-img-dir}/xmldoc.gif" alt="xml"/><br/>
+          xml</a>
+      </td>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="body">
+    <xsl:if test="$max-depth&gt;0 and not($notoc='true')" >
+      <xsl:call-template name="minitoc">
+        <xsl:with-param name="tocroot" select="."/>
+        <xsl:with-param name="depth">1</xsl:with-param>
+      </xsl:call-template>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:template>
+
+
+  <!-- Generate a <a name="..."> tag for an @id -->
+  <xsl:template match="@id">
+    <xsl:if test="normalize-space(.)!=''">
+      <a name="{.}"/>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="section">
+    <!-- count the number of section in the ancestor-or-self axis to compute
+         the title element name later on -->
+    <xsl:variable name="sectiondepth" 
select="count(ancestor-or-self::section)"/>
+    <a name="{generate-id()}"/>
+    <xsl:apply-templates select="@id"/>
+    <!-- generate a title element, level 1 -> h3, level 2 -> h4 and so on... 
-->
+    <xsl:element name="{concat('h',$sectiondepth + 2)}">
+      <xsl:value-of select="title"/>
+      <xsl:if test="$notoc='true' and $sectiondepth = 3">
+        <span style="float: right"><a href="[EMAIL PROTECTED]">^</a></span>
+      </xsl:if>
+    </xsl:element>
+
+    <!-- Indent FAQ entry text 15 pixels -->
+    <xsl:variable name="indent">
+      <xsl:choose>
+        <xsl:when test="$notoc='true' and $sectiondepth = 3">
+          <xsl:text>15</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>0</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <div style="margin-left: {$indent} ; border: 2px">
+          <xsl:apply-templates select="*[not(self::title)]"/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="note | warning | fixme">
+    <xsl:apply-templates select="@id"/>
+    <div class="frame {local-name()}">
+      <div class="label">
+        <xsl:choose>
+          <xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
+          <xsl:when test="local-name() = 'note'">Note</xsl:when>
+          <xsl:when test="local-name() = 'warning'">Warning</xsl:when>
+          <xsl:otherwise>Fixme (<xsl:value-of 
select="@author"/>)</xsl:otherwise>
+        </xsl:choose>
+      </div>
+      <div class="content">
+        <xsl:apply-templates/>
+      </div>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="notice">
+    <div class="notice">
+    <!-- FIXME: i18n Transformer here -->
+    <xsl:text>Notice: </xsl:text>
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="link">
+    <xsl:apply-templates select="@id"/>
+    <xsl:choose>
+      <xsl:when test="$obfuscate-mail-links='true' and starts-with(@href, 
'mailto:') and contains(@href, '@')">
+        <xsl:variable name="mailto-1" select="substring-before(@href,'@')"/>
+        <xsl:variable name="mailto-2" select="substring-after(@href,'@')"/>
+          <a href="{$mailto-1}.at.{$mailto-2}">
+            <xsl:apply-templates/>
+          </a>
+       </xsl:when>
+       <xsl:otherwise>
+          <a href="[EMAIL PROTECTED]">
+            <xsl:apply-templates/>
+          </a>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="jump">
+    <xsl:apply-templates select="@id"/>
+    <a href="[EMAIL PROTECTED]" target="_top">
+      <xsl:apply-templates/>
+    </a>
+  </xsl:template>
+
+  <xsl:template match="fork">
+    <xsl:apply-templates select="@id"/>
+    <a href="[EMAIL PROTECTED]" target="_blank">
+      <xsl:apply-templates/>
+    </a>
+  </xsl:template>
+
+  <xsl:template match="[EMAIL PROTECTED]:space='preserve']">
+    <xsl:apply-templates select="@id"/>
+    <div class="pre">
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="source">
+    <xsl:apply-templates select="@id"/>
+    <pre class="code">
+<!-- Temporarily removed long-line-splitter ... gives out-of-memory problems 
-->
+      <xsl:apply-templates/>
+<!--
+    <xsl:call-template name="format">
+    <xsl:with-param select="." name="txt" /> 
+     <xsl:with-param name="width">80</xsl:with-param> 
+     </xsl:call-template>
+-->
+    </pre>
+  </xsl:template>
+
+  <xsl:template match="anchor">
+    <a name="[EMAIL PROTECTED]"/>
+  </xsl:template>
+
+  <xsl:template match="icon">
+    <xsl:apply-templates select="@id"/>
+    <img src="[EMAIL PROTECTED]" alt="[EMAIL PROTECTED]" class="icon">
+      <xsl:if test="@height">
+        <xsl:attribute name="height"><xsl:value-of 
select="@height"/></xsl:attribute>
+      </xsl:if>
+      <xsl:if test="@width">
+        <xsl:attribute name="width"><xsl:value-of 
select="@width"/></xsl:attribute>
+      </xsl:if>
+    </img>
+  </xsl:template>
+
+  <xsl:template match="code">
+    <xsl:apply-templates select="@id"/>
+    <span class="codefrag"><xsl:value-of select="."/></span>
+  </xsl:template>
+
+  <xsl:template match="figure">
+    <xsl:apply-templates select="@id"/>
+    <div align="center">
+      <img src="[EMAIL PROTECTED]" alt="[EMAIL PROTECTED]" class="figure">
+        <xsl:if test="@height">
+          <xsl:attribute name="height"><xsl:value-of 
select="@height"/></xsl:attribute>
+        </xsl:if>
+        <xsl:if test="@width">
+          <xsl:attribute name="width"><xsl:value-of 
select="@width"/></xsl:attribute>
+        </xsl:if>
+      </img>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="table">
+    <xsl:apply-templates select="@id"/>
+    <table cellpadding="4" cellspacing="1" class="ForrestTable">
+      <xsl:if test="@cellspacing"><xsl:attribute 
name="cellspacing"><xsl:value-of 
select="@cellspacing"/></xsl:attribute></xsl:if>
+      <xsl:if test="@cellpadding"><xsl:attribute 
name="cellpadding"><xsl:value-of 
select="@cellpadding"/></xsl:attribute></xsl:if>
+      <xsl:if test="@border"><xsl:attribute name="border"><xsl:value-of 
select="@border"/></xsl:attribute></xsl:if>
+      <xsl:if test="@class"><xsl:attribute name="class"><xsl:value-of 
select="@class"/></xsl:attribute></xsl:if>
+      <xsl:if test="@bgcolor"><xsl:attribute name="bgcolor"><xsl:value-of 
select="@bgcolor"/></xsl:attribute></xsl:if>
+      <xsl:apply-templates/>
+    </table>
+  </xsl:template>
+
+  <xsl:template match="acronym/@title">
+    <xsl:attribute name="title">
+      <xsl:value-of select="normalize-space(.)"/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template name="minitoc">  
+    <xsl:param name="tocroot"/>
+    <xsl:param name="depth"/>     
+    <xsl:if test="count($tocroot/section) > 0">
+      <ul class="minitoc">
+        <xsl:for-each select="$tocroot/section">
+          <li>
+            <xsl:call-template name="toclink"/>
+            <xsl:if test="$depth&lt;$max-depth">
+              <xsl:call-template name="minitoc">
+                <xsl:with-param name="tocroot" select="."/>
+                <xsl:with-param name="depth" select="$depth + 1"/>
+              </xsl:call-template>
+            </xsl:if>
+          </li>
+        </xsl:for-each>
+      </ul>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="toclink">
+    <xsl:variable name="tocitem" select="normalize-space(title)"/>
+    <xsl:if test="string-length($tocitem)>0">
+      <a>
+        <xsl:attribute name="href">
+          <xsl:text>#</xsl:text>
+          <xsl:if test="@id">
+            <xsl:value-of select="@id"/>
+          </xsl:if>
+        </xsl:attribute>
+        <xsl:value-of select="$tocitem"/>
+      </a>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="header/authors">
+    <xsl:for-each select="person">
+      <xsl:choose>
+        <xsl:when test="position()=1">by&#160;</xsl:when>
+        <xsl:otherwise>,&#160;</xsl:otherwise>
+      </xsl:choose>
+      <xsl:value-of select="@name"/>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template match="version">
+    <span class="version">
+      <xsl:apply-templates select="@major"/>
+      <xsl:apply-templates select="@minor"/>
+      <xsl:apply-templates select="@fix"/>
+      <xsl:apply-templates select="@tag"/>
+      <xsl:choose>
+        <xsl:when test="starts-with(., '$Revision: ')">
+          version <xsl:value-of select="substring(., 12, string-length(.) 
-11-2)"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="."/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </span>
+  </xsl:template>
+  
+  <xsl:template match="@major">
+     v<xsl:value-of select="."/>
+  </xsl:template>
+  
+  <xsl:template match="@minor">
+     <xsl:value-of select="concat('.',.)"/>
+  </xsl:template>
+  
+  <xsl:template match="@fix">
+     <xsl:value-of select="concat('.',.)"/>
+  </xsl:template>
+  
+  <xsl:template match="@tag">
+     <xsl:value-of select="concat('-',.)"/>
+  </xsl:template>
+
+  <xsl:template match="type">
+    <p class="type">
+    <!-- FIXME: i18n Transformer here -->
+    <xsl:text>Type: </xsl:text>
+    <xsl:value-of select="."/>
+    </p>
+  </xsl:template>
+
+  <xsl:template match="abstract">
+    <p>
+      <xsl:apply-templates/>
+    </p>
+  </xsl:template>
+
+  <xsl:template name="email">
+    <a>
+    <xsl:attribute name="href">
+      <xsl:choose>
+      <xsl:when test="$obfuscate-mail-links='true'">
+        <xsl:variable name="user" select="substring-before(@email,'@')"/>
+       <xsl:variable name="host" select="substring-after(@email,'@')"/>
+       <xsl:value-of select="concat('mailto:',$user,'.at.',$host)"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="concat('mailto:',@email)"/>
+      </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+       <xsl:value-of select="@name"/>
+    </a>
+  </xsl:template>
+
+  <xsl:template match="node()|@*" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+  
+</xsl:stylesheet>
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/dotdots.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/dotdots.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Contains the 'dotdots' template, which, given a path, will output a set of
+directory traversals to get back to the source directory. Handles both '/' and
+'\' directory separators.
+
+Examples:
+  Input                           Output 
+    index.html                    ""
+    dir/index.html                "../"
+    dir/subdir/index.html         "../../"
+    dir//index.html              "../"
+    dir/                          "../"
+    dir//                         "../"
+    \some\windows\path            "../../"
+    \some\windows\path\           "../../../"
+    \Program Files\mydir          "../"
+
+Cannot handle ..'s in the path, so don't expect 'dir/subdir/../index.html' to
+work.
+
[EMAIL PROTECTED]
+-->
+
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:template name="dotdots">
+    <xsl:param name="path"/>
+    <xsl:variable name="dirs" select="normalize-space(translate(concat($path, 
'x'), ' /\', '_  '))"/>
+    <!-- The above does the following:
+       o Adds a trailing character to the path. This prevents us having to deal
+         with the special case of ending with '/'
+       o Translates all directory separators to ' ', and normalize spaces,
+                cunningly eliminating duplicate '//'s. We also translate any 
real
+                spaces into _ to preserve them.
+    -->
+    <xsl:variable name="remainder" select="substring-after($dirs, ' ')"/>
+    <xsl:if test="$remainder">
+      <xsl:text>../</xsl:text>
+      <xsl:call-template name="dotdots">
+        <xsl:with-param name="path" select="translate($remainder, ' ', '/')"/>
+               <!-- Translate back to /'s because that's what the template 
expects. -->
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+<!--
+  Uncomment to test.
+  Usage: saxon dotdots.xsl dotdots.xsl path='/my/test/path'
+
+  <xsl:param name="path"/>
+  <xsl:template match="/">
+    <xsl:message>Path: <xsl:value-of select="$path"/></xsl:message>
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:template>
+ -->
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/pathutils.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/pathutils.xsl
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,224 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<!--
+PathUtils.xsl
+
+A set of XSLT templates useful for parsing URI paths:
+
+dirname: return the directory part of a path
+filename: return the file part of a path
+ext: return the last extension of the filename in a path
+filename-noext: return the file part of a path without its last extension
+
[EMAIL PROTECTED] Jeff Turner <[EMAIL PROTECTED]>
+$Id: pathutils.xsl,v 1.4 2003/04/02 13:38:30 jefft Exp $
+-->
+
+<!-- Returns the directory part of a path.  Equivalent to Unix 'dirname'.
+Examples:
+'' -> ''
+'foo/index.html' -> 'foo/'
+-->
+<xsl:template name="dirname">
+  <xsl:param name="path" />
+  <xsl:if test="contains($path, '/')">
+    <xsl:value-of select="concat(substring-before($path, '/'), '/')" />
+    <xsl:call-template name="dirname">
+      <xsl:with-param name="path"
+        select="substring-after($path, '/')" />
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+<!-- Normalized (..'s eliminated) version of 'dirname' -->
+<xsl:template name="dirname-nz">
+  <xsl:param name="path" />
+  <xsl:call-template name="normalize">
+    <xsl:with-param name="path">
+      <xsl:call-template name="dirname">
+        <xsl:with-param name="path" select="$path" />
+      </xsl:call-template>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+
+<!-- Returns the filename part of a path.  Equivalent to Unix 'basename'
+Examples:
+'index.html'  ->  'index.html' 
+'foo/bar/'  ->  '' 
+'foo/bar/index.html'  ->  'index.html' 
+-->
+<xsl:template name="filename">
+  <xsl:param name="path"/>
+  <xsl:choose>
+    <xsl:when test="contains($path, '/')">
+      <xsl:call-template name="filename">
+        <xsl:with-param name="path" select="substring-after($path, '/')"/>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:value-of select="$path"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- Returns the last extension of a filename in a path.
+Examples:
+'index.html'  ->  '.html' 
+'index.dtdx.html'  ->  '.html' 
+'foo/bar/'  ->  '' 
+'foo/bar/index.html'  ->  '.html' 
+'foo/bar/index'  ->  '' 
+-->
+<xsl:template name="ext">
+  <xsl:param name="path"/>
+  <xsl:param name="subflag"/> <!-- Outermost call? -->
+  <xsl:choose>
+    <xsl:when test="contains($path, '.')">
+      <xsl:call-template name="ext">
+        <xsl:with-param name="path" select="substring-after($path, '.')"/>
+        <xsl:with-param name="subflag" select="'sub'"/>
+      </xsl:call-template>
+    </xsl:when>
+    <!-- Handle extension-less filenames by returning '' -->
+    <xsl:when test="not($subflag) and not(contains($path, '.'))">
+      <xsl:text/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:value-of select="concat('.', $path)"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- Returns a filename of a path stripped of its last extension.
+Examples:
+'foo/bar/index.dtdx.html' -> 'index.dtdx'
+-->
+<xsl:template name="filename-noext">
+  <xsl:param name="path"/>
+  <xsl:variable name="filename">
+    <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:variable name="ext">
+    <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$filename"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:value-of select="substring($filename, 1, string-length($filename) - 
string-length($ext))"/>
+</xsl:template>
+
+<!-- Returns a path with the filename stripped of its last extension.
+Examples:
+'foo/bar/index.dtdx.html' -> 'foo/bar/index.dtdx'
+-->
+<xsl:template name="path-noext">
+  <xsl:param name="path"/>
+  <xsl:variable name="ext">
+    <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:value-of select="substring($path, 1, string-length($path) - 
string-length($ext))"/>
+</xsl:template>
+
+<!-- Normalized (..'s eliminated) version of 'path-noext' -->
+<xsl:template name="path-noext-nz">
+  <xsl:param name="path" />
+  <xsl:call-template name="normalize">
+    <xsl:with-param name="path">
+      <xsl:call-template name="path-noext">
+        <xsl:with-param name="path" select="$path" />
+      </xsl:call-template>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+<!-- Returns a path with any fragment identifier ('#...') stripped off
+Examples:
+'foo/bar/index.dtdx.html#blah' -> 'foo/bar/index.dtdx.html'
+-->
+<xsl:template name="path-nofrag">
+  <xsl:param name="path"/>
+  <xsl:if test="not(contains($path, '#'))">
+    <xsl:value-of select="$path"/>
+  </xsl:if>
+  <xsl:if test="contains($path, '#')">
+    <xsl:value-of select="substring-before($path, '#')"/>
+  </xsl:if>
+</xsl:template>
+
+
+
+<!-- Normalizes a path, converting '/' to '\' and eliminating ..'s
+Examples:
+'foo/bar/../baz/index.html' -> foo/baz/index.html'
+-->
+<xsl:template name="normalize">
+  <xsl:param name="path"/>
+  <xsl:variable name="path-" select="translate($path, '\', '/')"/>
+  <xsl:choose>
+    <xsl:when test="contains($path-, '/../')">
+
+      <xsl:variable name="pa" select="substring-before($path-, '/../')"/>
+      <xsl:variable name="th" select="substring-after($path-, '/../')"/>
+      <xsl:variable name="pa-">
+        <xsl:call-template name="dirname">
+          <xsl:with-param name="path" select="$pa"/>
+        </xsl:call-template>
+      </xsl:variable>
+      <xsl:variable name="pa-th" select="concat($pa-, $th)"/>
+      <xsl:call-template name="normalize">
+        <xsl:with-param name="path" select="$pa-th"/>
+      </xsl:call-template>
+    </xsl:when>
+
+    <xsl:otherwise>
+      <xsl:value-of select="$path-"/>
+    </xsl:otherwise>
+  </xsl:choose>
+
+</xsl:template>
+
+<!--
+Uncomment this to test.
+Usage: saxon pathutils.xsl pathutils.xsl path=foo/bar
+
+<xsl:param name="path" select="'/foo/bar/../baz/index.html'"/>
+<xsl:template match="/">
+  <xsl:message>
+    path           = <xsl:value-of select="$path"/>
+    normalize      = <xsl:call-template name="normalize">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    dirname        = <xsl:call-template name="dirname">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    dirname-nz     = <xsl:call-template name="dirname-nz">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    filename       = <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    ext            = <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    filename-noext = <xsl:call-template name="filename-noext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-noext     = <xsl:call-template name="path-noext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-noext-nz  = <xsl:call-template name="path-noext-nz">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-nofrag    = <xsl:call-template name="path-nofrag">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+ 
+  </xsl:message>
+</xsl:template>
+-->
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/renderlogo.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/renderlogo.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+A simple callable template that renders a logo for an entity. The logo will 
+be a hyperlink and may include an image (with width and height if specified)
+or else it will just include the specified text.
+
+Note that text and image are mandatory parts of the template.
+-->
+
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:template name="renderlogo">
+    <xsl:param name="name"/>
+    <xsl:param name="url"/>
+    <xsl:param name="logo"/>
+    <xsl:param name="width"/>
+    <xsl:param name="height"/>
+    <xsl:param name="root"/>
+    <xsl:param name="description"/>
+    <a href="{$url}">
+      <xsl:choose>
+        <xsl:when test="$logo and not($logo = '')">
+          <img alt="{$name}" class="logoImage" border="0">
+            <xsl:attribute name="src">
+             <xsl:if test="not(starts-with($logo, 'http://'))"><xsl:value-of 
select="$root"/></xsl:if>
+              <xsl:value-of select="$logo"/>
+            </xsl:attribute>
+            <xsl:if test="$width">
+              <xsl:attribute name="width"><xsl:value-of 
select="$width"/></xsl:attribute>
+            </xsl:if>
+            <xsl:if test="$height">
+              <xsl:attribute name="height"><xsl:value-of 
select="$height"/></xsl:attribute>
+            </xsl:if>
+            <xsl:if test="$description">
+              <xsl:attribute name="title"><xsl:value-of 
select="$description"/></xsl:attribute>
+            </xsl:if>
+         </img>
+        </xsl:when>
+        <xsl:otherwise><xsl:value-of select="$name"/></xsl:otherwise>
+      </xsl:choose>
+    </a>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/site2xhtml.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/site2xhtml.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<!--
+site2xhtml.xsl is the final stage in HTML page production.  It merges HTML from
+document2html.xsl, tab2menu.xsl and book2menu.xsl, and adds the site header,
+footer, searchbar, css etc.  As input, it takes XML of the form:
+
+<site>
+  <div class="menu">
+    ...
+  </div>
+  <div class="tab">
+    ...
+  </div>
+  <div class="content">
+    ...
+  </div>
+</site>
+
+$Id: site2xhtml.xsl,v 1.8 2003/09/02 13:13:21 cheche Exp $
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- Default skinconf.xml in the skins/ directory -->
+  <xsl:param name="config-file" select="'../../../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+  <xsl:param name="path"/>
+
+  <xsl:include href="dotdots.xsl"/>
+  <xsl:include href="pathutils.xsl"/>
+  <xsl:include href="renderlogo.xsl"/>
+
+  <!-- Path (..'s) to the root directory -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <!-- Source filename (eg 'foo.xml') of current page -->
+  <xsl:variable name="filename">
+    <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="skin-img-dir" select="concat(string($root), 
'skin/images')"/>
+  <xsl:variable name="spacer" select="concat($root, 
'skin/images/spacer.gif')"/>
+
+  <xsl:template match="site">
+    <html>
+      <head>
+        <title><xsl:value-of select="[EMAIL 
PROTECTED]'content']/table/tr/td/h1"/></title>
+      </head>
+      <body>
+        <xsl:if test="$config/group-url">
+          <xsl:call-template name="renderlogo">
+            <xsl:with-param name="name" select="$config/group-name"/>
+            <xsl:with-param name="url" select="$config/group-url"/>
+            <xsl:with-param name="logo" select="$config/group-logo"/>
+            <xsl:with-param name="root" select="$root"/>
+            <xsl:with-param name="description" 
select="$config/group-description"/>
+          </xsl:call-template>
+        </xsl:if>
+        <xsl:call-template name="renderlogo">
+          <xsl:with-param name="name" select="$config/project-name"/>
+          <xsl:with-param name="url" select="$config/project-url"/>
+          <xsl:with-param name="logo" select="$config/project-logo"/>
+          <xsl:with-param name="root" select="$root"/>
+          <xsl:with-param name="description" 
select="$config/project-description"/>
+        </xsl:call-template>
+        <xsl:comment>================= start Tabs 
==================</xsl:comment>
+        <xsl:apply-templates select="[EMAIL PROTECTED]'tab']"/>
+        <xsl:comment>================= end Tabs 
==================</xsl:comment>
+        <xsl:comment>================= start Menu items 
==================</xsl:comment>
+        <xsl:apply-templates select="[EMAIL PROTECTED]'menu']"/>
+        <xsl:comment>================= end Menu items 
==================</xsl:comment>
+        <xsl:comment>================= start 
Content==================</xsl:comment>
+        <xsl:apply-templates select="[EMAIL PROTECTED]'content']"/>
+        <xsl:comment>================= end 
Content==================</xsl:comment>
+
+        <xsl:comment>================= start Footer 
==================</xsl:comment>
+        Copyright &#169; <xsl:value-of 
select="$config/year"/>&#160;<xsl:value-of
+          select="$config/vendor"/> All rights reserved.
+        <script language="JavaScript" type="text/javascript"><![CDATA[<!--
+          document.write(" - "+"Last Published: " + document.lastModified);
+          //  -->]]></script>
+        <xsl:if test="$config/host-logo and not($config/host-logo = '')">
+          <a href="{$config/host-url}">
+            <xsl:call-template name="renderlogo">
+              <xsl:with-param name="name" select="$config/host-name"/>
+              <xsl:with-param name="url" select="$config/host-url"/>
+              <xsl:with-param name="logo" select="$config/host-logo"/>
+              <xsl:with-param name="root" select="$root"/>
+            </xsl:call-template>
+          </a>
+        </xsl:if>
+        <xsl:if test="$filename = 'index.html' and $config/credits">
+          <xsl:for-each select="$config/credits/credit[not(@role='pdf')]">
+            <xsl:call-template name="renderlogo">
+              <xsl:with-param name="name" select="name"/>
+              <xsl:with-param name="url" select="url"/>
+              <xsl:with-param name="logo" select="image"/>
+              <xsl:with-param name="root" select="$root"/>
+              <xsl:with-param name="width" select="width"/>
+              <xsl:with-param name="height" select="height"/>
+            </xsl:call-template>
+          </xsl:for-each>
+        </xsl:if>
+        <a href="http://validator.w3.org/check/referer";><img class="skin" 
border="0"
+            src="http://www.w3.org/Icons/valid-html401";
+            alt="Valid HTML 4.01!" height="31" width="88"/></a>
+      </body>
+    </html>
+  </xsl:template>
+
+  <!-- Add links to any standards-compliance logos -->
+  <xsl:template name="compliancy-logos">
+    <xsl:if test="$config/disable-compliance-links = 'false'">
+      <a href="http://validator.w3.org/check/referer";><img class="logoImage" 
+          src="{$skin-img-dir}/valid-html401.png"
+          alt="Valid HTML 4.01!" height="31" width="88"/></a>
+          
+      <a href="http://jigsaw.w3.org/css-validator/";><img class="logoImage" 
+          src="{$skin-img-dir}/vcss.png" 
+          alt="Valid CSS!" height="31" width="88"/></a>
+    </xsl:if>
+  </xsl:template>
+
+
+  <xsl:template match="node()|@*" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/split.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/split.xsl 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,141 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
+
+<!--
+ This stylesheet was taken from the XSLT FAQ http://www.dpawson.co.uk/xsl/
+ 
+ Comments and adaption to be used without normalize-space()
+  by Nicola Ken Barozzi [EMAIL PROTECTED]
+--> 
+
+<!--
+  Input:
+
+<doc>
+
+<para>
+ 123456 2345 343434 545454 43434 343 
+ 12345 343434 545454 43434 343 
+ 32345645 343434 545454 43434 343 
+ 3422222225 343434 545454 43434 343 
+ llllllllllllllllllllllooooooooooooooonnnnnnnnnnnggggggggg
+ 345 343434 545454 43434 343 
+</para>
+
+</doc>
+
+Output:
+
+<HTML>
+<BODY>
+<PRE>123456 2345 343434 545454 
+43434 343 12345 343434 545454 
+43434 343 32345645 343434 
+545454 43434 343 3422222225 
+343434 545454 43434 343 
+lllllllllllllllllllllloooooooo
+ooooooonnnnnnnnnnnggggggggg 
+345 343434 545454 43434 
+343
+</PRE>
+</BODY>
+</HTML>
+
+Fragment ised: 
+
+ <xsl:template match="/doc">
+ <HTML><BODY><PRE>
+    <xsl:call-template name="format">
+    <xsl:with-param select="normalize-space(para)" name="txt" /> 
+     <xsl:with-param name="width">30</xsl:with-param> 
+     </xsl:call-template>
+  </PRE></BODY></HTML>
+  </xsl:template>
+
+
+-->
+
+ <xsl:template match="/body">
+   <body>
+    <xsl:call-template name="format">
+    <xsl:with-param select="source" name="txt" /> 
+     <xsl:with-param name="width">40</xsl:with-param> 
+     </xsl:call-template>
+  </body>
+  </xsl:template>
+  
+  <xsl:template name="format">
+    <xsl:param name="txt" /> 
+    <xsl:param name="width" /> 
+
+    <!-- if there is still text left -->
+    <xsl:if test="$txt">
+    
+    <xsl:variable name = "pretxt" select = "substring($txt,0, $width)" />
+    
+    <xsl:choose>
+      <xsl:when test="contains($pretxt, '&#xA;')">
+        <xsl:value-of select="substring-before($pretxt, '&#xA;')"/>
+        <xsl:text>&#xA;</xsl:text> 
+        <xsl:call-template name="format">
+          <xsl:with-param name="txt" select="substring-after($txt,'&#xA;')"/>
+          <xsl:with-param select="$width" name="width" />           
+        </xsl:call-template>
+      </xsl:when>
+      
+      <xsl:otherwise>
+      <!-- get the width at which to break-->
+      <xsl:variable name="real-width">
+        <xsl:call-template name="tune-width">
+          <xsl:with-param select="$txt" name="txt" /> 
+          <xsl:with-param select="$width" name="width" /> 
+          <xsl:with-param select="$width" name="def" /> 
+        </xsl:call-template>
+      </xsl:variable>
+
+      <!-- output the first part of the broken string -->
+      <xsl:value-of select="substring($txt, 1, $real-width)" /> 
+
+      <!-- output a newline -->
+      <xsl:text>&#xA;</xsl:text> 
+
+      <!-- call itself with the remaining part of the text -->
+      <xsl:call-template name="format">
+       <xsl:with-param select="substring($txt,$real-width + 1)" name="txt" /> 
+       <xsl:with-param select="$width" name="width" /> 
+      </xsl:call-template>
+      </xsl:otherwise>
+      </xsl:choose>
+    </xsl:if>
+  </xsl:template>
+  
+   
+  <!-- used by template "format", it calculates the width at the given def 
+       
+       It starts at def length and comes back till it finds a space -->
+  <xsl:template name="tune-width">
+    <xsl:param name="txt" /> 
+    <xsl:param name="width" /> 
+    <xsl:param name="def" /> 
+
+    <xsl:choose>
+      <xsl:when test="$width = 0">
+       <xsl:value-of select="$def" /> 
+      </xsl:when>
+                 
+      <xsl:when test="substring($txt, $width, 1 ) = ' '">
+          <xsl:value-of select="$width" /> 
+       </xsl:when>
+       
+       <xsl:otherwise>
+         <!-- otherwise need to tune again, trying with $width - 1 -->
+         <xsl:call-template name="tune-width">
+           <xsl:with-param select="$width - 1" name="width" /> 
+           <xsl:with-param select="$txt" name="txt" /> 
+           <xsl:with-param select="$def" name="def" /> 
+         </xsl:call-template>
+       </xsl:otherwise>
+     </xsl:choose>
+
+  </xsl:template>
+
+  </xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/tab2menu.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/tab2menu.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,159 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet generates 'tabs' at the top left of the screen.  Tabs are
+visual indicators that a certain subsection of the URI space is being browsed.
+For example, if we had tabs with paths:
+
+Tab1:  ''
+Tab2:  'community'
+Tab3:  'community/howto'
+Tab4:  'community/howto/xmlform/index.html'
+
+Then if the current path was 'community/howto/foo', Tab3 would be highlighted.
+The rule is: the tab with the longest path that forms a prefix of the current
+path is enabled.
+
+The output of this stylesheet is HTML of the form:
+    <div class="tab">
+      ...
+    </div>
+
+which is then merged by site2xhtml.xsl
+
+$Id: tab2menu.xsl,v 1.9 2003/09/02 22:35:36 cheche Exp $
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- ================================================================ -->
+  <!-- These templates SHOULD be overridden                             -->
+  <!-- ================================================================ -->
+
+  <!-- Called before first tag -->
+  <xsl:template name="pre-separator">
+  </xsl:template>
+
+  <!-- Called after last tag -->
+  <xsl:template name="post-separator">
+  </xsl:template>
+
+  <!-- Called between tags -->
+  <xsl:template name="separator">
+    <xsl:text> | </xsl:text>
+  </xsl:template>
+
+  <!--
+  Note: sub-stylesheets can't do apply-imports here, because it would choose
+  the 'tags' template and infinitely recurse. Hence call-template used instead.
+  -->
+
+  <!-- Display a selected tab node -->
+  <xsl:template name="selected">
+    <xsl:call-template name="base-selected"/>
+  </xsl:template>
+
+  <!-- Display an unselected tab node -->
+  <xsl:template name="not-selected">
+    <xsl:call-template name="base-not-selected"/>
+  </xsl:template>
+
+
+  <!-- ================================================================ -->
+  <!-- These templates CAN be overridden                             -->
+  <!-- ================================================================ -->
+
+  <xsl:template match="tabs">
+    <div class="tab">
+      <xsl:call-template name="base-tabs"/>
+    </div>
+  </xsl:template>
+
+
+  <!-- ================================================================ -->
+  <!-- These templates SHOULD NOT be overridden                         -->
+  <!-- ================================================================ -->
+
+  <xsl:param name="path"/>
+
+  <xsl:include href="dotdots.xsl"/>
+  <xsl:include href="tabutils.xsl"/>
+
+  <!-- NOTE: Xalan has a bug (race condition?) where sometimes $root is only 
half-evaluated -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="skin-img-dir" select="concat(string($root), 
'skin/images')"/>
+
+  <!--
+    The longest path of any tab, whose path is a subset of the current URL.  
Ie,
+    the path of the 'current' tab.
+  -->
+  <xsl:variable name="longest-dir">
+    <xsl:call-template name="longest-dir">
+      <xsl:with-param name="tabfile" select="/"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="matching-id">
+    <xsl:call-template name="matching-id">
+      <xsl:with-param name="tabfile" select="/"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+
+  <!-- Called from tabs, after it has written the outer 'div class=tabs' and
+  any other HTML -->
+  <xsl:template name="base-tabs">
+    <xsl:call-template name="pre-separator"/>
+    <xsl:for-each select="//tab">
+      <xsl:if test="position()!=1"><xsl:call-template 
name="separator"/></xsl:if>
+      <xsl:apply-templates select="."/>
+    </xsl:for-each>
+    <xsl:call-template name="post-separator"/>
+  </xsl:template>
+
+
+  <xsl:template match="tab">
+    <xsl:choose>
+      <xsl:when test="@id and @id = $matching-id">
+        <xsl:call-template name="selected"/>
+      </xsl:when>
+      <xsl:when test="not(@id) and @dir = $longest-dir or @href = 
$longest-dir">
+        <xsl:call-template name="selected"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="not-selected"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Called from 'selected' -->
+  <xsl:template name="base-selected">
+    <a class="base-selected">
+      <xsl:attribute name="href">
+        <xsl:call-template name="calculate-tab-href">
+          <xsl:with-param name="tab" select="."/>
+          <xsl:with-param name="path" select="$path"/>
+        </xsl:call-template>
+      </xsl:attribute>
+        <xsl:value-of select="@label"/>
+    </a>
+  </xsl:template>
+
+  <!-- Called from 'not-selected' -->
+  <xsl:template name="base-not-selected">
+    <a class="base-not-selected">
+      <xsl:attribute name="href">
+        <xsl:call-template name="calculate-tab-href">
+          <xsl:with-param name="tab" select="."/>
+          <xsl:with-param name="path" select="$path"/>
+        </xsl:call-template>
+      </xsl:attribute>
+        <xsl:value-of select="@label"/>
+    </a>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/tabutils.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/common/xslt/html/tabutils.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+
+<!--
+Some callable templates useful when dealing with tab paths.  Mostly used in
+tab2menu.xsl
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="site-file" select="'cocoon://abs-menulinks'"/>
+  <xsl:variable name="site" select="document($site-file)"/>
+ 
+  <!-- Given the current path and a tabs.xml entry, returns a relative path to
+  the specified tab's URL.  When rendering a set of tabs, this template will be
+  called once per tab.
+  -->
+  <xsl:template name="calculate-tab-href">
+
+    <xsl:param name="dir_index" select="'index.html'"/>
+
+    <xsl:param name="tab"/> <!-- current 'tab' node -->
+    <xsl:param name="path" select="$path"/>
+
+    <xsl:if test="starts-with($tab/@href, 'http')">  <!-- Absolute URL -->
+      <xsl:value-of select="$tab/@href"/>
+    </xsl:if>
+    <xsl:if test="not(starts-with($tab/@href, 'http'))">  <!-- Root-relative 
path -->
+      <xsl:variable name="backpath">
+        <xsl:call-template name="dotdots">
+          <xsl:with-param name="path" select="$path"/>
+        </xsl:call-template>
+        <xsl:text>/</xsl:text>
+        <xsl:value-of select="$tab/@dir | $tab/@href"/>
+        <!-- If we obviously have a directory, add /index.html -->
+        <xsl:if test="$tab/@dir or substring($tab/@href, 
string-length($tab/@href),
+          string-length($tab/@href)) = '/'">
+          <xsl:text>/</xsl:text>
+          <xsl:if test="$tab/@indexfile">
+            <xsl:value-of select="$tab/@indexfile"/>
+          </xsl:if>
+          <xsl:if test="not(@indexfile)">
+            <xsl:value-of select="$dir_index"/>
+          </xsl:if>
+        </xsl:if>
+      </xsl:variable>
+
+      <xsl:value-of
+        select="translate(normalize-space(translate($backpath, ' /', '/ ')), ' 
/', '/ ')"/>
+      <!-- Link to backpath, normalizing slashes -->
+    </xsl:if>
+  </xsl:template>
+
+  <!--
+    The id of any tab, whose path is a subset of the current URL.  Ie,
+    the path of the 'current' tab.
+  -->
+  <xsl:template name="matching-id" 
xmlns:l="http://apache.org/forrest/linkmap/1.0";>
+    <xsl:value-of select="$site//*[starts-with(@href, $path)]/@tab"/>
+  </xsl:template>
+ 
+  <!--
+    The longest path of any tab, whose path is a subset of the current URL.  
Ie,
+    the path of the 'current' tab.
+  -->
+  <xsl:template name="longest-dir">
+    <xsl:param name="tabfile"/>
+    <xsl:for-each select="$tabfile/tabs/tab[starts-with($path, @dir|@href)]">
+      <xsl:sort select="string-length(@dir|@href)"
+        data-type="number" order="descending"/>
+      <xsl:if test="position()=1">
+        <xsl:value-of select="@dir|@href"/>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+
+</xsl:stylesheet>
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/css/page.css
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/css/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; }
+
+
[EMAIL PROTECTED] print {
+   .menu {
+     display: none;
+   }
+}

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

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

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

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

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/images/favicon.ico
==============================================================================
Binary file. No diff available.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/scripts/breadcrumbs-optimized.js
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/scripts/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/tmp/context/skins/forrest-site/scripts/breadcrumbs.js
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/scripts/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
+    [EMAIL PROTECTED]
+
+ 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>
+ *
+ [EMAIL PROTECTED]     <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> (main 
author)
+ [EMAIL PROTECTED]     <a href="mailto:[EMAIL PROTECTED]">Nicola Ken 
Barozzi</a> (integration in skin)
+ [EMAIL PROTECTED]    July 12, 2002
+ [EMAIL PROTECTED]    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/tmp/context/skins/forrest-site/xslt/fo/document2fo.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/fo/document2fo.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                version="1.0">
+
+<xsl:import href="../../../common/xslt/fo/document2fo.xsl"/>
+
+</xsl:stylesheet>
+
+

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/book2menu.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/book2menu.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!--
+book2menu.xsl generates the HTML menu.  See the imported book2menu.xsl for
+details.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:import href="../../../common/xslt/html/book2menu.xsl"/>
+
+  <xsl:template match="book">
+    <div class="menu">
+      <ul>
+        <xsl:apply-templates select="menu"/>
+      </ul>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="menu">
+    <li>
+      <font color="#CFDCED"><xsl:value-of select="@label"/></font>
+      <ul>
+        <xsl:apply-templates/>
+      </ul>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="[EMAIL PROTECTED]'hidden']"/>
+
+  <xsl:template match="menu-item">
+    <li>
+      <xsl:apply-imports/>
+    </li>
+  </xsl:template>
+
+  <xsl:template name="selected">
+    <span class="sel">
+      <font color="#ffcc00">
+        <xsl:value-of select="@label"/>
+      </font>
+    </span>
+  </xsl:template>
+
+  <xsl:template name="print-external">
+    <font color="#ffcc00">
+      <xsl:apply-imports/>
+    </font>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/document2html.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/document2html.xsl
       Thu Sep  9 10:04:36 2004
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet contains templates for converting documentv11 to HTML.  See the
+imported document2html.xsl for details.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:import href="../../../common/xslt/html/document2html.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/site2xhtml.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/site2xhtml.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,316 @@
+<?xml version="1.0"?>
+<!--
+site2xhtml.xsl is the final stage in HTML page production.  It merges HTML from
+document2html.xsl, tab2menu.xsl and book2menu.xsl, and adds the site header,
+footer, searchbar, css etc.  As input, it takes XML of the form:
+
+<site>
+  <div class="menu">
+    ...
+  </div>
+  <div class="tab">
+    ...
+  </div>
+  <div class="content">
+    ...
+  </div>
+</site>
+
+$Id: site2xhtml.xsl,v 1.22.2.1 2003/09/21 11:40:30 jefft Exp $
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:import href="../../../common/xslt/html/site2xhtml.xsl"/>
+ 
+  <xsl:variable name="header-color" select="'#294563'"/>
+  <xsl:variable name="menu-border" select="'#4C6C8F'"/>
+  <xsl:variable name="background-bars" select="'#CFDCED'"/>
+
+  <xsl:template match="site">
+    <html>
+      <head>
+        <title><xsl:value-of select="[EMAIL 
PROTECTED]'content']/table/tr/td/h1"/></title>
+        <link rel="stylesheet" href="{$root}skin/page.css" type="text/css"/>
+      </head>
+      <body bgcolor="#FFFFFF" text="#000000">
+    <xsl:comment>================= start Navigation Path 
==================</xsl:comment>
+    <table cellspacing="0" cellpadding="0" border="0" width="100%" 
summary="navigation path">
+      <tr>
+        <td height="20" bgcolor="{$background-bars}" valign="middle" 
nowrap="nowrap">
+          <img class="spacer" src="{$spacer}" alt="" width="5" height="1" />
+          <xsl:comment>===== breadcrumb trail (javascript-generated) 
====</xsl:comment>
+          <font face="Arial, Helvetica, Sans-serif" size="2">
+              <script type="text/javascript" language="JavaScript" 
src="{$root}skin/breadcrumbs.js"/>
+          </font>
+        </td>
+      </tr>
+      <tr>
+        <td height="2" bgcolor="{$menu-border}"><img class="spacer" 
src="{$spacer}" alt="" width="2" height="2" /></td>
+      </tr>
+    </table>
+    <xsl:comment>================= end Navigation Path 
==================</xsl:comment>
+
+    <!-- ================================= top bar with logo's and search box 
===================================  -->
+
+    <xsl:comment>================= start Banner 
==================</xsl:comment>
+    <table cellspacing="0" cellpadding="0" border="0" width="100%" 
summary="header with logos">
+      <tr>
+
+        <xsl:comment>================= start Group Logo 
==================</xsl:comment>
+        <td bgcolor="{$header-color}">
+          <xsl:if test="$config/group-url">
+            <xsl:call-template name="renderlogo">
+              <xsl:with-param name="name" select="$config/group-name"/>
+              <xsl:with-param name="url" select="$config/group-url"/>
+              <xsl:with-param name="logo" select="$config/group-logo"/>
+              <xsl:with-param name="root" select="$root"/>
+              <xsl:with-param name="description" 
select="$config/group-description"/>
+            </xsl:call-template>
+          </xsl:if>
+        </td>
+        <xsl:comment>================= end Group Logo 
==================</xsl:comment>
+        <xsl:comment>================= start Project Logo 
==================</xsl:comment>
+        <td bgcolor="{$header-color}" align="center" width="100%">
+          <xsl:call-template name="renderlogo">
+            <xsl:with-param name="name" select="$config/project-name"/>
+            <xsl:with-param name="url" select="$config/project-url"/>
+            <xsl:with-param name="logo" select="$config/project-logo"/>
+            <xsl:with-param name="root" select="$root"/>
+            <xsl:with-param name="description" 
select="$config/project-description"/>
+          </xsl:call-template>
+        </td>
+        <xsl:comment>================= end Project Logo 
==================</xsl:comment>
+
+        <xsl:comment>================= start Search 
==================</xsl:comment>
+        <td bgcolor="{$header-color}" rowspan="2" valign="top">
+          <xsl:if test="not($config/disable-search) or
+            $config/disable-search='false' and $config/searchsite-domain and
+            $config/searchsite-name">
+            <form method="get" action="http://www.google.com/search"; 
target="_blank">
+              <table bgcolor="{$menu-border}" cellpadding="0" cellspacing="0" 
border="0" summary="search">
+                <tr>
+                  <td colspan="3"><img class="spacer" src="{$spacer}" alt="" 
width="1" height="10" /></td>
+                </tr>
+                <tr>
+                  <td><img class="spacer" src="{$spacer}" alt="" width="1" 
height="1" /></td>
+                  <td nowrap="nowrap">
+                    <input type="hidden" name="sitesearch" 
value="{$config/searchsite-domain}"/>
+                    <input type="text" id="query" name="q" size="15"/>
+                    <img class="spacer" src="{$spacer}" alt="" width="5" 
height="1" />
+                    <input type="submit" value="Search" name="Search"/>
+                    <br />
+                    <font color="white" size="2" face="Arial, Helvetica, 
Sans-serif">
+                      the <xsl:value-of select="$config/searchsite-name"/> site
+                      <!-- setting search options off for the moment -->
+                      <!--
+                      <input type="radio" name="web" value="web"/>web 
site&#160;&#160;<input type="radio" name="mail" value="mail"/>mail lists
+                      -->
+                    </font>
+                  </td>
+                  <td><img class="spacer" src="{$spacer}" alt="" width="1" 
height="1" /></td>
+                </tr>
+                <tr>
+                  <td><img src="{$skin-img-dir}/search-left.gif" width="9" 
height="10" border="0" alt="" /></td>
+                  <td><img class="spacer" src="{$spacer}" alt="" width="1" 
height="1" /></td>
+                  <td><img src="{$skin-img-dir}/search-right.gif" width="9" 
height="10" border="0" alt="" /></td>
+                </tr>
+              </table>
+            </form>
+          </xsl:if>
+        </td>
+        <xsl:comment>================= start Search 
==================</xsl:comment>
+
+        <td bgcolor="{$header-color}"><img class="spacer" src="{$spacer}" 
alt="" width="10" height="10" /></td>
+      </tr>
+      <tr>
+        <td colspan="2" bgcolor="{$header-color}" valign="bottom">
+          <xsl:comment>================= start Tabs 
==================</xsl:comment>
+          <xsl:apply-templates select="[EMAIL PROTECTED]'tab']"/>
+          <xsl:comment>================= end Tabs 
==================</xsl:comment>
+        </td>
+        <td bgcolor="{$header-color}"><img class="spacer" src="{$spacer}" 
height="1" width="1" alt="" /></td>
+      </tr>
+      <tr>
+        <td colspan="4" bgcolor="{$menu-border}"><img class="spacer" 
src="{$spacer}" alt="" height="10" width="1" /></td>
+      </tr>
+    </table>
+    <xsl:comment>================= end Banner ==================</xsl:comment>
+
+    <xsl:comment>================= start Menu, NavBar, Content 
==================</xsl:comment>
+    <table cellspacing="0" cellpadding="0" border="0" width="100%" 
bgcolor="#ffffff" summary="page content">
+      <tr>
+        <td valign="top">
+          <xsl:if test="[EMAIL PROTECTED]'menu']/ul/li">
+            <xsl:call-template name="menu"/>
+        </xsl:if>
+        </td>
+        <td width="100%" valign="top">
+          <table cellspacing="0" cellpadding="0" border="0" width="100%" 
summary="content">
+
+            <xsl:comment>================= start middle NavBar 
==================</xsl:comment>
+            <tr><td bgcolor="{$header-color}" colspan="4"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td></tr>
+            <tr>
+              <td bgcolor="{$background-bars}" width="10" align="left"><img 
class="spacer" src="{$spacer}" alt="" height="1" width="10" /></td>
+              <td bgcolor="{$background-bars}" width="50%" align="left">
+                <!-- ============ Page number =========== -->
+                <font face="Arial, Helvetica, Sans-serif" size="3" 
color="{$menu-border}">
+                &#160;
+                <!-- <b>Page 1 of 5</b> -->
+                </font>
+                <img class="spacer" src="{$spacer}" alt="" height="8" 
width="10" />
+              </td>
+              <td bgcolor="{$background-bars}" width="50%" align="right">
+                <!-- ============ Page navigation =========== -->
+                <font face="Arial, Helvetica, Sans-serif" size="3" 
color="{$menu-border}">
+                &#160;
+                <!-- <b>&#171; prev&#160;&#160;<font 
size="4">[3]</font>&#160;&#160;next &#187;</b> -->
+                </font>
+                <img class="spacer" src="{$spacer}" alt="" height="8" 
width="10" />
+              </td>
+              <td bgcolor="{$background-bars}" width="10"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td>
+            </tr>
+            <tr><td bgcolor="{$header-color}" colspan="4"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td></tr>
+            <xsl:comment>================= end middle NavBar 
==================</xsl:comment>
+
+
+            <xsl:comment>================= start 
Content==================</xsl:comment>
+            <tr>
+              <td width="10" align="left"><img class="spacer" src="{$spacer}" 
alt="" height="1" width="10" /></td>
+              <td width="100%" align="left" colspan="2">
+                <xsl:apply-templates select="[EMAIL PROTECTED]'content']"/>
+              </td>
+              <td width="10"><img class="spacer" src="{$spacer}" alt="" 
height="1" width="10" /></td>
+            </tr>
+            <xsl:comment>================= end 
Content==================</xsl:comment>
+
+
+          </table>
+        </td>
+      </tr>
+    </table>
+    <xsl:comment>================= end Menu, NavBar, Content 
==================</xsl:comment>
+
+    <xsl:comment>================= start Footer 
==================</xsl:comment>
+    <table border="0" width="100%" cellpadding="0" cellspacing="0" 
summary="footer">
+      <tr>
+        <td bgcolor="{$menu-border}" height="1" colspan="2">
+          <img class="spacer" src="{$spacer}" alt="" width="1" height="1" />
+          <a href="{$skin-img-dir}/label.gif"/>
+          <a href="{$skin-img-dir}/page.gif"/>
+          <a href="{$skin-img-dir}/chapter.gif"/>
+          <a href="{$skin-img-dir}/chapter_open.gif"/>
+          <a href="{$skin-img-dir}/current.gif"/>
+          <a href="/favicon.ico"/>
+        </td>
+      </tr>
+      <tr>
+        <td align="center" class="copyright" bgcolor="{$background-bars}" 
colspan="2">
+          <font face="Arial, Helvetica, Sans-Serif" size="2">Copyright &#169;
+          <xsl:value-of select="$config/year"/>&#160;<xsl:value-of
+          select="$config/vendor"/> All rights reserved.<script 
language="JavaScript" type="text/javascript"><![CDATA[<!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  -->]]></script></font>
+        </td>
+      </tr>
+      <tr>
+        <td class="logos" bgcolor="{$background-bars}" align="left" 
colspan="2">
+          <xsl:if test="$filename = 'index.html'">
+            <div>
+              <!-- W3C logos -->
+              <xsl:call-template name="compliancy-logos"/>
+
+              <xsl:if test="$config/credits">
+                <img src="{$root}skin/images/spacer.gif" width="10" height="1" 
alt=""/>
+                <xsl:for-each 
select="$config/credits/credit[not(@role='pdf')]">
+                  <xsl:variable name="name" select="name"/>
+                  <xsl:variable name="url" select="url"/>
+                  <xsl:variable name="image" select="image"/>
+                  <xsl:variable name="width" select="width"/>
+                  <xsl:variable name="height" select="height"/>
+                  <a href="{$url}">
+                    <img alt="{$name} logo" border="0">
+                      <xsl:attribute name="src">
+                        <xsl:if test="not(starts-with($image, 
'http://'))"><xsl:value-of select="$root"/></xsl:if>
+                        <xsl:value-of select="$image"/>
+                      </xsl:attribute>
+                      <xsl:if test="$width"><xsl:attribute 
name="width"><xsl:value-of select="$width"/></xsl:attribute></xsl:if>
+                      <xsl:if test="$height"><xsl:attribute 
name="height"><xsl:value-of select="$height"/></xsl:attribute></xsl:if>
+                    </img>
+                    <img class="spacer" src="{$spacer}" alt="" width="5" 
height="1" />
+                  </a>
+                </xsl:for-each>
+              </xsl:if>
+            </div>
+          </xsl:if>
+        <xsl:if test="$config/host-logo and not($config/host-logo = '')">
+          <div class="host">
+            <img src="{$root}skin/images/spacer.gif" width="10" height="1" 
alt=""/>
+            <xsl:call-template name="renderlogo">
+              <xsl:with-param name="name" select="$config/host-name"/>
+              <xsl:with-param name="url" select="$config/host-url"/>
+              <xsl:with-param name="logo" select="$config/host-logo"/>
+              <xsl:with-param name="root" select="$root"/>
+            </xsl:call-template>
+          </div>
+        </xsl:if>
+
+        </td>
+      </tr>
+    </table>
+    <xsl:comment>================= end Footer ==================</xsl:comment>
+      </body>
+    </html>
+  </xsl:template>
+
+  <xsl:template name="menu">
+    <table cellpadding="0" cellspacing="0" border="0" summary="menu">
+      <tr>
+        <xsl:comment>================= start left top NavBar 
==================</xsl:comment>
+        <td valign="top" rowspan="3">
+          <table cellspacing="0" cellpadding="0" border="0" summary="blue 
line">
+            <tr><td bgcolor="{$header-color}"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td></tr>
+            <tr><td bgcolor="{$background-bars}"><font face="Arial, Helvetica, 
Sans-serif" size="4" color="{$menu-border}">&#160;</font></td></tr>
+            <tr><td bgcolor="{$header-color}"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td></tr>
+          </table>
+        </td>
+        <xsl:comment>================= end left top NavBar 
==================</xsl:comment>
+
+        <td bgcolor="{$header-color}"><img class="spacer" src="{$spacer}" 
alt="" height="1" width="1" /></td>
+        <td bgcolor="{$menu-border}" valign="bottom"><img class="spacer" 
src="{$spacer}" alt="" height="10" width="10" /></td>
+        <td bgcolor="{$menu-border}" valign="top" nowrap="nowrap">
+          <xsl:comment>================= start Menu items 
==================</xsl:comment>
+          <xsl:apply-templates select="[EMAIL PROTECTED]'menu']"/>
+          <xsl:comment>================= end Menu items 
==================</xsl:comment>
+        </td>
+        <td bgcolor="{$menu-border}" valign="bottom"><img class="spacer" 
src="{$spacer}" alt="" height="10" width="10" /></td>
+        <td bgcolor="{$header-color}"><img class="spacer" src="{$spacer}" 
alt="" height="1" width="1" /></td>
+      </tr>
+      <tr>
+        <!-- Menu: bottom left -->
+        <td bgcolor="{$menu-border}" rowspan="2" colspan="2" align="left" 
valign="bottom">
+          <img src="{$skin-img-dir}/menu-left.gif" alt="" border="0" 
width="10" height="10" />
+        </td>
+        <!-- Menu: bottom -->
+        <td bgcolor="{$menu-border}">
+          <img class="spacer" src="{$spacer}" alt="" width="10" height="10" />
+        </td>
+        <!-- Menu: bottom right -->
+        <td bgcolor="{$menu-border}" rowspan="2" colspan="2" align="right" 
valign="bottom">
+          <img src="{$skin-img-dir}/menu-right.gif" alt="" border="0" 
width="10" height="10" />
+        </td>
+      </tr>
+      <tr>
+        <td bgcolor="{$header-color}" height="1"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="1" /></td>
+      </tr>
+    </table>
+  </xsl:template>
+
+  <xsl:template match="node()|@*" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/tab2menu.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/tmp/context/skins/forrest-site/xslt/html/tab2menu.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet generates 'tabs' at the top left of the screen.
+See the imported tab2menu.xsl for details.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:import href="../../../common/xslt/html/tab2menu.xsl"/>
+
+  <xsl:template match="tabs">
+    <div class="tab">
+      <table cellspacing="0" cellpadding="0" border="0" summary="tab bar">
+        <tr>
+          <xsl:call-template name="base-tabs"/>
+        </tr>
+      </table>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="pre-separator">
+    <xsl:call-template name="separator"/>
+  </xsl:template>
+
+  <xsl:template name="post-separator">
+  </xsl:template>
+
+  <xsl:template name="separator">
+    <td width="6">
+      <img src="{$root}skin/images/spacer.gif" width="6" height="8" alt=""/>
+    </td>
+  </xsl:template>
+
+  <xsl:template name="selected">
+    <td valign="bottom">
+      <table cellspacing="0" cellpadding="0" border="0"  style="height: 1.8em" 
summary="selected tab">
+        <tr>
+          <td bgcolor="#4C6C8F" width="5" valign="top">
+            <img src="{$skin-img-dir}/tabSel-left.gif" alt="" width="5" 
height="5" />
+          </td>
+          <td bgcolor="#4C6C8F" valign="middle">
+            <font face="Arial, Helvetica, Sans-serif" size="2" color="#ffffff">
+              <b>
+                <xsl:call-template name="base-selected"/>
+              </b>
+            </font>
+          </td>
+          <td bgcolor="#4C6C8F" width="5" valign="top">
+            <img src="{$skin-img-dir}/tabSel-right.gif" alt="" width="5" 
height="5" />
+          </td>
+        </tr>
+      </table>
+    </td>
+  </xsl:template>
+
+  <xsl:template name="not-selected">
+    <td valign="bottom">
+      <table cellspacing="0" cellpadding="0" border="0" style="height: 1.6em" 
summary="non selected tab">
+        <tr>
+          <td bgcolor="#B2C4E0" width="5" valign="top">
+            <img src="{$skin-img-dir}/tab-left.gif" alt="" width="5" 
height="5" />
+          </td>
+          <td bgcolor="#B2C4E0" valign="middle">
+            <xsl:call-template name="base-not-selected"/>
+          </td>
+          <td bgcolor="#B2C4E0" width="5" valign="top">
+            <img src="{$skin-img-dir}/tab-right.gif" alt="" width="5" 
height="5" />
+          </td>
+        </tr>
+        <tr>
+          <td height="1" colspan="3">
+          </td>
+        </tr>
+      </table>
+    </td>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: incubator/beehive/trunk/site/build/tmp/context/status.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/status.xmap  Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Todo and changes pipelines, and anything else reporting the 'status' of the 
project.
+
+Note that the regular (forrest.xmap) pipeline will handle Todo or Changes XML 
files, so
+long as they have an appropriate DOCTYPE declaration.  This sitemap is purely 
for
+generating stuff from status.xml.
+
+Generates  :  Source XML for todo.xml, changes.xml.  Output HTML for 
changes.rss
+Example URL:  http://localhost:8888/changes.xml
+Used by    :  sitemap.xmap
+Uses       :  status.xml
+
+$Revision: 1.10 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
+  <map:components>
+    <map:generators default="file"/>
+    <map:serializers default="html">
+      <map:serializer name="rss091" mime-type="text/xml" 
src="org.apache.cocoon.serialization.XMLSerializer">
+        <doctype-public>-//Netscape Communications//DTD RSS 
0.91//EN</doctype-public>
+        
<doctype-system>http://my.netscape.com/publish/formats/rss-0.91.dtd</doctype-system>
+        <encoding>ISO-8859-1</encoding>
+      </map:serializer>
+    </map:serializers>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+    <map:selectors default="browser"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <map:match pattern="changes.xml">
+        <map:generate type="file" src="status.xml" />
+        <map:transform src="resources/stylesheets/changes2document.xsl" >
+         <map:parameter name="bugtracking-url" 
value="{defaults:bugtracking-url}"/>
+        </map:transform >
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+      <map:match pattern="changes.rss">
+        <map:generate src="status.xml" />
+        <map:transform src="resources/stylesheets/changes2rss.xsl" />
+        <map:serialize type="rss091" />
+      </map:match>
+
+      <map:match pattern="todo.xml">
+        <map:generate type="file" src="status.xml" />
+        <map:transform src="resources/stylesheets/todo2document.xsl" />
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/tmp/context/status.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/context/status.xml   Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<status>
+
+  <developers>
+    <person name="Joe Bloggs"      email="[EMAIL PROTECTED]"      id="JB" />
+    <!-- Add more people here -->
+  </developers>
+
+  <changes>
+    <!-- Add new releases here -->
+    <release version="0.1" date="unreleased">
+      <!-- Some action types have associated images. By default, images are
+      defined for 'add', 'fix', 'remove', 'update' and 'hack'. If you add
+      src/documentation/resources/images/<foo>.jpg images, these will
+      automatically be used for entries of type <foo>. -->
+
+      <action dev="JB" type="add" context="admin">
+        Initial Import
+      </action>
+      <!-- Sample action:
+      <action dev="JB" type="fix" due-to="Joe Contributor"
+          due-to-email="[EMAIL PROTECTED]" fixes-bug="123">
+          Fixed a bug in the Foo class.
+        </action>
+        -->
+    </release>
+  </changes>
+
+  <todo>
+    <actions priority="high">
+      <action context="docs" dev="JB">
+        Customize this template project with your project's details.  This
+        TODO list is generated from 'status.xml'.
+      </action>
+      <action context="docs" dev="JB">
+        Add lots of content.  XML content goes in
+        <code>src/documentation/content/xdocs</code>, or wherever the
+        <code>${project.xdocs-dir}</code> property (set in
+        <code>forrest.properties</code>) points.
+      </action>
+      <action context="feedback" dev="JB">
+        Mail <link
+          href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</link>
+        with feedback.
+      </action>
+    </actions>
+    <!-- Add todo items. @context is an arbitrary string. Eg:
+    <actions priority="high">
+      <action context="code" dev="SN">
+      </action>
+    </actions>
+    <actions priority="medium">
+      <action context="docs" dev="open">
+      </action>
+    </actions>
+    -->
+  </todo>
+
+</status>

Added: 
incubator/beehive/trunk/site/build/tmp/context/this-should-never-be-used/favicon.ico
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/skinfilters.properties
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/tmp/skinfilters.properties       Thu Sep 
 9 10:04:36 2004
@@ -0,0 +1,23 @@
+#Ant properties
+#Thu Sep 09 09:48:30 PDT 2004
+skinconfig.trail.link1.name=apache
+skinconfig.trail.link3.href=
+skinconfig.project-logo=images/beehive_logo_wide.gif
+skinconfig.disable-xml-link=true
+skinconfig.trail.link2.name=
+skinconfig.trail.link3.name=
+skinconfig.vendor=The Apache Software Foundation.
+skinconfig.project-url=http\://incubator.apache.org/beehive
+skinconfig.year=2004
+skinconfig.disable-pdf-link=true
+skinconfig.searchsite-name=Apache Beehive
+skinconfig.group-url=http\://incubator.apache.org/
+skinconfig.disable-print-link=true
+skinconfig.trail.link1.href=http\://www.apache.org/
+skinconfig.searchsite-domain=incubator.apache.org
+skinconfig.group-name=Apache Incubator
+skinconfig.disable-compliance-links=true
+skinconfig.disable-search=false
+skinconfig.trail.link2.href=
+skinconfig.project-name=Apache Beehive
+skinconfig.group-logo=images/incubator-logo.gif

Added: incubator/beehive/trunk/site/build/tmp/work/cache-dir/cocoon.dat
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/tmp/work/cache-dir/cocoon.idx
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/CatalogManager.properties
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/WEB-INF/classes/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/webapp/WEB-INF/classes/org/apache/cocoon/util/mime.types
==============================================================================

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/cli.xconf
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/WEB-INF/cocoon.xconf
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/WEB-INF/lib/avalon-framework-4.1.4.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/batik-1.5b4-fop.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/chaperon-2.1.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-asciiart-block-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-batik-block-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-chaperon-block-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-deprecated-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-fop-block-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-html-block-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-linkrewriter-block-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/cocoon-profiler-block-2.1.2.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/commons-cli-1.0.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/commons-collections-2.1.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/commons-jxpath-20030909.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/commons-lang-1.0.1.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-cli-1.0.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-component-1.1.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-concurrent-20020820.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-datasource-vm12-20021121.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-event-20030904.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-i18n-1.0.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-instrument-1.0.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-instrument-manager-1.0.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-instrument-manager-interfaces-1.0.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-io-1.1.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-logger-1.0.1.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-monitor-1.0.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-naming-1.0.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-pool-1.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-sourceresolve-20030715.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-store-20030825.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/excalibur-xmlutil-20030520.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/fop-0.20.5.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jakarta-oro-2.0.6.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jakarta-regexp-1.3.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jing-20020724.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jisp-2.5.1.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/jtidy-04aug2000r7-dev.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/logkit-1.2.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/lucene-1.2.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/nekodtd-0.1.6.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/nekodtd-dtd2xml.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/nekopull-0.2.3.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/placeholder
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/placeholder   Thu Sep 
 9 10:04:36 2004
@@ -0,0 +1 @@
+CVS happy

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/resolver-20030708.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/util.concurrent-1.3.2.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/xerces-xniWriter.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/xml-forrest-components.jar
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/WEB-INF/lib/xml-forrest-scratchpad.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/logkit.xconf
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/WEB-INF/logs/access.log
==============================================================================

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

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

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

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

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

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

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

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

Added: incubator/beehive/trunk/site/build/webapp/WEB-INF/web.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/WEB-INF/web.xml   Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--+
+    | This is the Cocoon web-app configurations file
+    +-->
+
+<!DOCTYPE web-app
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
+    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd";>
+
+<web-app>
+  <display-name>Forrest</display-name>
+  <description>Webapp generated by Forrest</description>
+  <servlet>
+    <servlet-name>Cocoon</servlet-name>
+    <display-name>Cocoon</display-name>
+    <description>Cocoon</description>
+
+    <!--
+      The regular servlet class (trusts the servlet container classloader)
+      -->
+    <servlet-class>org.apache.cocoon.servlet.CocoonServlet</servlet-class>
+
+    <!--
+      In cases you're facing class loading problems, you can alternatively
+      use the following servlet-class instead of the above one
+      
+      
<servlet-class>org.apache.cocoon.servlet.ParanoidCocoonServlet</servlet-class>
+    -->
+
+    <!--
+      This parameter tells cocoon to set the thread's context classloader to
+      its own classloader. If you experience strange classloader issues,
+      try setting this parameter to "true" or using ParanoidCocoonServlet.
+    -->
+    <init-param>
+      <param-name>init-classloader</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    
+    <!--
+      This parameter points to the main configuration file for Cocoon.
+      Note that the path is specified in absolute notation but it will be
+      resolved relative to the servlets webapp context path
+    -->
+    <init-param>
+      <param-name>configurations</param-name>
+      <param-value>/WEB-INF/cocoon.xconf</param-value>
+    </init-param>
+
+    <!--
+      This parameter indicates the configuration file of the LogKit management
+    -->
+    <init-param>
+      <param-name>logkit-config</param-name>
+      <param-value>/WEB-INF/logkit.xconf</param-value>
+    </init-param>
+
+    <!--
+      This parameter indicates the category id of the logger from the LogKit
+      configuration used by the CocoonServlet.
+    -->
+    <init-param>
+      <param-name>servlet-logger</param-name>
+      <param-value>access</param-value>
+    </init-param>
+
+    <!--
+      This parameter indicates the category id of the logger from the LogKit
+      management configuration for the Cocoon engine.
+      This logger is used for all components described in the cocoon.xconf
+      and sitemap.xmap file not having specified a logger with the
+      logger="..." attribute in the component configuration file.
+    -->
+    <init-param>
+      <param-name>cocoon-logger</param-name>
+      <param-value>core</param-value>
+    </init-param>
+
+    <!--
+      This parameter indicates the log level to use throughout startup of the 
system.
+      As soon as the logkit.xconf the setting of the logkit.xconf 
configuration is
+      used instead! Only for startup and if the logkit.xconf is not 
readable/available
+      this log level is of importance.
+
+      Available levels are:
+        DEBUG:        prints all level of log messages.
+        INFO:         prints all level of log messages except DEBUG ones.
+        WARN:         prints all level of log messages except DEBUG and INFO 
ones.
+        ERROR:        prints all level of log messages except DEBUG, INFO and 
WARN ones.
+        FATAL_ERROR: prints only log messages of this level
+    -->
+    <init-param>
+      <param-name>log-level</param-name>
+      <param-value>WARN</param-value>
+    </init-param>
+
+    <!--
+      Allow reinstantiating (reloading) of the cocoon instance. If this is
+      set to "yes" or "true", a new cocoon instance can be created using
+      the request parameter "cocoon-reload".
+    -->
+    <init-param>
+      <param-name>allow-reload</param-name>
+      <param-value>yes</param-value>
+    </init-param>
+
+    <!--
+      This parameter is used to list classes that should be loaded
+      at initialization time of the servlet.
+      For example, JDBC Drivers used need to be named here.
+      Additional entries may be inserted here during build depending on your 
+      build properties.
+    -->
+    <init-param>
+      <param-name>load-class</param-name>
+      <param-value>
+        <!-- For parent ComponentManager sample:
+        org.apache.cocoon.samples.parentcm.Configurator -->
+        <!-- For IBM WebSphere:
+        com.ibm.servlet.classloader.Handler -->
+      </param-value>
+    </init-param>
+
+    <!--
+      Causes all files in multipart requests to be processed.
+      Default is false for security reasons.  
+      Unsupported values will be interpreted as false.
+    -->
+    <init-param>
+      <param-name>enable-uploads</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    
+    <!--
+      This parameter allows to specify where Cocoon should put uploaded files.
+      The path specified can be either absolute or relative to the context 
+      path of the servlet. On windows platform, absolute directory must start
+      with volume: C:\Path\To\Upload\Directory
+
+      The default directory is "upload-dir" in the work-directory
+
+    <init-param>
+      <param-name>upload-directory</param-name>
+      <param-value>WEB-INF/work/upload-dir</param-value>
+    </init-param>
+    -->
+
+    <!--
+      Causes all files in multipart requests to be saved to upload-dir.
+      Default is true for security reasons.  
+      Unsupported values will be interpreted as false.
+    -->
+    <init-param>
+      <param-name>autosave-uploads</param-name>
+      <param-value>true</param-value>
+    </init-param>
+
+    <!--
+      Specify handling of name conflicts when saving uploaded files
+      to disk.  Acceptable values are deny, allow, rename (default).
+      Files are renamed x_filename where x is an integer value incremented
+      to make the new filename unique.
+    -->
+    <init-param>
+      <param-name>overwrite-uploads</param-name>
+      <param-value>rename</param-value>
+    </init-param>
+    
+    <!--
+      Specify maximum allowed size of the upload. Defaults to 10 Mb.
+
+    <init-param>
+      <param-name>upload-max-size</param-name>
+      <param-value>10000000</param-value>
+    </init-param>    
+    -->
+
+    <!--
+      This parameter allows to specify where Cocoon should create its page
+      and other objects cache. The path specified can be either absolute or
+      relative to the context path of the servlet. On windows platform,
+      absolute directory must start with volume: C:\Path\To\Cache\Directory
+      
+      The default directory is "cache-dir" in the work-directory
+
+    <init-param>
+      <param-name>cache-directory</param-name>
+      <param-value>WEB-INF/work/cache-dir</param-value>
+    </init-param>
+    -->
+
+    <!--
+      This parameter allows to specify where Cocoon should put it's
+      working files. The path specified is either absolute or relative
+      to the context path of the Cocoon servlet.  On windows platform,
+      absolute directory must start with volume: C:\Path\To\Work\Directory
+
+      The default directory is "cocoon-files" directory in the servlet
+      context's temp directory (context property 
javax.servlet.context.tempdir).
+
+    <init-param>
+      <param-name>work-directory</param-name>
+      <param-value>WEB-INF/work</param-value>
+    </init-param>
+    -->
+
+    <!--
+      This parameter allows to specify additional directories or jars
+      which Cocoon should put into it's own classpath.
+      Note that you must separate them using the platforms path.separator
+      (":" for *nix and ";" for Windows systems). Also note that absolute
+      pathes are take as such but relative pathes are rooted at the context
+      root of the Cocoon servlet.
+
+    <init-param>
+      <param-name>extra-classpath</param-name>
+      
<param-value>WEB-INF/extra-classes1:/[YOU-ABSOLUTE-PATH-TO]/own.jar</param-value>
+    </init-param>
+    -->
+
+    <!--
+      This parameter allows you to select the parent component manager.
+      The class will be instantiated via the constructor that takes a single
+      String as a parameter. That String will be equal to the text after the
+      '/'.
+
+      Cocoon honors the LogEnabled, Initializable and Disposable interfaces 
for this class,
+      if it implements them.
+
+      If you uncomment the following lines the parent CM is set to the Parent 
CM sample, which will look up
+      a configuration via JNDI at 
org/apache/cocoon/samples/parentcm/ParentCMConfiguration
+      and use it.
+    <init-param>
+      <param-name>parent-component-manager</param-name>
+      
<param-value>org.apache.cocoon.samples.parentcm.ParentComponentManager/org/apache/cocoon/samples/parentcm/ParentCMConfiguration</param-value>
+    </init-param>
+    -->
+
+    <!--
+      If you set this parameter to 'true' or 'yes', Cocoon will add processing
+      time to the end of each response. Value 'hide' adds processing time as 
an HTML
+      comment. By default, processing time is not added (corresponds to value 
'no').
+
+    <init-param>
+      <param-name>show-time</param-name>
+      <param-value>hide</param-value>
+    </init-param>
+    -->
+
+    <!--
+       If true or not set, this class will try to catch and handle all Cocoon 
exceptions.
+       If false, it will rethrow them to the servlet container.
+    -->
+    <init-param>
+      <param-name>manage-exceptions</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    
+    <!--
+       If true, Avalon Excalibur instrumentation will be enabled on all 
Instrumentable
+       components with Cocoon and your Cocoon application.
+
+    <init-param>
+      <param-name>enable-instrumentation</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    -->
+
+    <!--
+       This defines the location of the instrument manager configuration, only 
used
+       if the init-param enable-instrumentation is enabled.
+
+    <init-param>
+      <param-name>instrumentation-config</param-name>
+      <param-value>/WEB-INF/instrumentation.xconf</param-value>
+    </init-param>    
+    -->
+
+    <!--
+      Set encoding used by the container. If not set the ISO-8859-1 encoding 
will be assumed.
+    -->
+    <!--
+    <init-param>
+      <param-name>container-encoding</param-name>
+      <param-value>utf-8</param-value>
+    </init-param>
+    -->
+
+    <!--
+      Set form encoding. This will be the character set used to decode request 
parameters.
+      If not set the ISO-8859-1 encoding will be assumed. 
+    -->
+    <!--
+    <init-param>
+      <param-name>form-encoding</param-name>
+      <param-value>utf-8</param-value>
+    </init-param>
+    -->
+
+    <!--
+      This parameter allows you to startup Cocoon2 immediately after startup
+      of your servlet engine.
+    -->
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+
+  <!-- URL space mappings ============================================= -->
+
+  <!--
+    Cocoon handles all the URL space assigned to the webapp using its sitemap.
+    It is recommended to leave it unchanged. Under some circumstances though
+    (like integration with proprietary webapps or servlets) you might have
+    to change this parameter.
+  -->
+  <servlet-mapping>
+    <servlet-name>Cocoon</servlet-name>
+    <url-pattern>/</url-pattern>
+  </servlet-mapping>
+  
+  <!--
+    Some servlet engines (Tomcat) have defaults which are not overriden
+    by '/' mapping, but must be overriden explicitly.
+  -->
+  <servlet-mapping>
+    <servlet-name>Cocoon</servlet-name>
+    <url-pattern>*.jsp</url-pattern>
+  
+  </servlet-mapping>
+  <!--
+    Some servlet engines (WebLogic) have defaults which are not overriden
+    by '/' mapping, but must be overriden explicitly.
+  -->
+  <servlet-mapping>
+    <servlet-name>Cocoon</servlet-name>
+    <url-pattern>*.html</url-pattern>
+  </servlet-mapping>
+
+  <!-- various MIME type mappings ====================================== -->
+  
+  <mime-mapping>
+    <extension>css</extension>
+    <mime-type>text/css</mime-type>
+  </mime-mapping>
+
+  <mime-mapping>
+    <extension>xml</extension>
+    <mime-type>text/xml</mime-type>
+  </mime-mapping>
+
+  <mime-mapping>
+    <extension>xsl</extension>
+    <mime-type>text/xml</mime-type>
+  </mime-mapping>
+
+  <mime-mapping>
+    <extension>xconf</extension>
+    <mime-type>text/xml</mime-type>
+  </mime-mapping>
+
+  <mime-mapping>
+    <extension>xmap</extension>
+    <mime-type>text/xml</mime-type>
+  </mime-mapping>
+
+  <mime-mapping>
+    <extension>ent</extension>
+    <mime-type>text/plain</mime-type>
+  </mime-mapping>
+
+  <mime-mapping>
+    <extension>grm</extension>
+    <mime-type>text/plain</mime-type>
+  </mime-mapping>
+
+  <mime-mapping>
+    <extension>swf</extension>
+    <mime-type>application/x-shockwave-flash</mime-type>
+  </mime-mapping>
+
+</web-app>

Added: incubator/beehive/trunk/site/build/webapp/aggregate.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/ControlProgramming.pdf
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/site/build/webapp/content/ControlsOverview.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/ControlsProgramming.html
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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;
+
[EMAIL PROTECTED]
+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
+
[EMAIL PROTECTED]
+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;
+
[EMAIL PROTECTED]
+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;
+
[EMAIL PROTECTED]
+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>
[EMAIL PROTECTED] 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;
+
[EMAIL PROTECTED]
[EMAIL PROTECTED](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;
+
[EMAIL PROTECTED]
[EMAIL PROTECTED](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;
+
[EMAIL PROTECTED]
+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>
[EMAIL PROTECTED] 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.
+  */ 
[EMAIL PROTECTED]
+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.
+ */ 
[EMAIL PROTECTED]
+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/webapp/content/xdocs/contributors.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/xdocs/controls.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/xdocs/downloads.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/xdocs/faq.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/xdocs/index.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/xdocs/license.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/xdocs/mailinglists.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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:[email protected]";> Beehive 
Users List</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Subscribe</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/[EMAIL 
PROTECTED]"> Archives</fork></td>
+        </tr>
+        <tr>
+          <td><link href="mailto:[email protected]";> Beehive 
Developer List</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Subscribe</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/[EMAIL 
PROTECTED]"> Archives</fork></td>
+        </tr>
+        <tr>
+          <td><link href="mailto:[email protected]";> 
Beehive SVN/Wiki Change List</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Subscribe</link></td>
+          <td><link href="mailto:[EMAIL PROTECTED]"> Unsubscribe</link></td>
+          <td><fork href="http://nagoya.apache.org/eyebrowse/[EMAIL 
PROTECTED]"> Archives</fork></td>
+        </tr>
+       <tr>
+          <td><link href="mailto:[EMAIL PROTECTED]"> 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/webapp/content/xdocs/site.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/xdocs/tabs.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/content/xdocs/webservices.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/dtd.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/faq.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/forrest.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/issues.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/jettyconf.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/jtidy.properties
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/linkmap.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/menu.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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="//[EMAIL PROTECTED]'{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/webapp/profiler.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/raw.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/grammar-v20.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/grm.xgrm
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/grm.xlex
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/grm2xgrm.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/grm2xlex.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/lexicon-v20.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/link.xlex
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/regex.xgrm
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/regex.xlex
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/text4regex.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/wiki.grm
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/wiki.xgrm
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/grammars/wiki.xlex
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/images/ControlsOverview_1.gif
==============================================================================
Binary file. No diff available.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/CatalogManager.properties
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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/webapp/resources/schema/README
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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/webapp/resources/schema/catalog
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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 [email protected] 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/webapp/resources/schema/catalog.xcat
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/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 [email protected] 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/webapp/resources/schema/docbook/4.2/ChangeLog
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ChangeLog
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,232 @@
+2002-07-17  Norman Walsh <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * dbpoolx.mod: Add accidentally missing local.info.class to info.class
+
+2002-03-19  Norman Walsh <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * dbcentx.mod: Added marked sections around character set entity 
references
+
+2001-11-20  Norman Walsh <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * dbhierx.mod, dbpoolx.mod: Implemented RFE #456460
+
+2001-11-18  Norman Walsh <[EMAIL PROTECTED]>
+
+       * dbpoolx.mod: RFE #482817: Add errortext element
+
+2001-11-17  Norman Walsh <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
+
+       * dbpoolx.mod: branches:  1.5.2;
+       RFE #140: Allow multiple MsgExplan inside SimpleMsgEntry
+
+2000-11-12  <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
+
+       * 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/webapp/resources/schema/docbook/4.2/README
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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: [email protected]

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/calstblx.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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 [email protected] 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/webapp/resources/schema/docbook/4.2/catalog.xml
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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 [email protected] 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/webapp/resources/schema/docbook/4.2/dbcentx.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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 [email protected] 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/webapp/resources/schema/docbook/4.2/dbgenent.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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/webapp/resources/schema/docbook/4.2/dbhierx.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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 [email protected] 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/webapp/resources/schema/docbook/4.2/dbnotnx.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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 [email protected] 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/webapp/resources/schema/docbook/4.2/dbpoolx.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/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 [email protected] 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.element-->]]>
+
+<!ENTITY % errortype.attlist "INCLUDE">
+<![%errortype.attlist;[
+<!ATTLIST errortype
+               %common.attrib;
+               %errortype.role.attrib;
+               %local.errortype.attrib;
+>
+<!--end of errortype.attlist-->]]>
+<!--end of errortype.module-->]]>
+
+<!ENTITY % filename.module "INCLUDE">
+<![%filename.module;[
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+
+<!ENTITY % filename.element "INCLUDE">
+<![%filename.element;[
+<!ELEMENT filename %ho; (%cptr.char.mix;)*>
+<!--end of filename.element-->]]>
+
+<!-- Class: Type of filename the element names; no default -->
+<!-- Path: Search path (possibly system-specific) in which
+               file can be found -->
+
+
+<!ENTITY % filename.attlist "INCLUDE">
+<![%filename.attlist;[
+<!ATTLIST filename
+               class           (headerfile
+                                |partition
+                                |devicefile
+                                |libraryfile
+                                |directory
+                                |extension
+                               |symlink)       #IMPLIED
+               path            CDATA           #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %filename.role.attrib;
+               %local.filename.attrib;
+>
+<!--end of filename.attlist-->]]>
+<!--end of filename.module-->]]>
+
+<!ENTITY % function.module "INCLUDE">
+<![%function.module;[
+<!ENTITY % local.function.attrib "">
+<!ENTITY % function.role.attrib "%role.attrib;">
+
+<!ENTITY % function.element "INCLUDE">
+<![%function.element;[
+<!ELEMENT function %ho; (%cptr.char.mix;)*>
+<!--end of function.element-->]]>
+
+<!ENTITY % function.attlist "INCLUDE">
+<![%function.attlist;[
+<!ATTLIST function
+               %moreinfo.attrib;
+               %common.attrib;
+               %function.role.attrib;
+               %local.function.attrib;
+>
+<!--end of function.attlist-->]]>
+<!--end of function.module-->]]>
+
+<!ENTITY % guibutton.module "INCLUDE">
+<![%guibutton.module;[
+<!ENTITY % local.guibutton.attrib "">
+<!ENTITY % guibutton.role.attrib "%role.attrib;">
+
+<!ENTITY % guibutton.element "INCLUDE">
+<![%guibutton.element;[
+<!ELEMENT guibutton %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guibutton.element-->]]>
+
+<!ENTITY % guibutton.attlist "INCLUDE">
+<![%guibutton.attlist;[
+<!ATTLIST guibutton
+               %moreinfo.attrib;
+               %common.attrib;
+               %guibutton.role.attrib;
+               %local.guibutton.attrib;
+>
+<!--end of guibutton.attlist-->]]>
+<!--end of guibutton.module-->]]>
+
+<!ENTITY % guiicon.module "INCLUDE">
+<![%guiicon.module;[
+<!ENTITY % local.guiicon.attrib "">
+<!ENTITY % guiicon.role.attrib "%role.attrib;">
+
+<!ENTITY % guiicon.element "INCLUDE">
+<![%guiicon.element;[
+<!ELEMENT guiicon %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guiicon.element-->]]>
+
+<!ENTITY % guiicon.attlist "INCLUDE">
+<![%guiicon.attlist;[
+<!ATTLIST guiicon
+               %moreinfo.attrib;
+               %common.attrib;
+               %guiicon.role.attrib;
+               %local.guiicon.attrib;
+>
+<!--end of guiicon.attlist-->]]>
+<!--end of guiicon.module-->]]>
+
+<!ENTITY % guilabel.module "INCLUDE">
+<![%guilabel.module;[
+<!ENTITY % local.guilabel.attrib "">
+<!ENTITY % guilabel.role.attrib "%role.attrib;">
+
+<!ENTITY % guilabel.element "INCLUDE">
+<![%guilabel.element;[
+<!ELEMENT guilabel %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guilabel.element-->]]>
+
+<!ENTITY % guilabel.attlist "INCLUDE">
+<![%guilabel.attlist;[
+<!ATTLIST guilabel
+               %moreinfo.attrib;
+               %common.attrib;
+               %guilabel.role.attrib;
+               %local.guilabel.attrib;
+>
+<!--end of guilabel.attlist-->]]>
+<!--end of guilabel.module-->]]>
+
+<!ENTITY % guimenu.module "INCLUDE">
+<![%guimenu.module;[
+<!ENTITY % local.guimenu.attrib "">
+<!ENTITY % guimenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenu.element "INCLUDE">
+<![%guimenu.element;[
+<!ELEMENT guimenu %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guimenu.element-->]]>
+
+<!ENTITY % guimenu.attlist "INCLUDE">
+<![%guimenu.attlist;[
+<!ATTLIST guimenu
+               %moreinfo.attrib;
+               %common.attrib;
+               %guimenu.role.attrib;
+               %local.guimenu.attrib;
+>
+<!--end of guimenu.attlist-->]]>
+<!--end of guimenu.module-->]]>
+
+<!ENTITY % guimenuitem.module "INCLUDE">
+<![%guimenuitem.module;[
+<!ENTITY % local.guimenuitem.attrib "">
+<!ENTITY % guimenuitem.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenuitem.element "INCLUDE">
+<![%guimenuitem.element;[
+<!ELEMENT guimenuitem %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guimenuitem.element-->]]>
+
+<!ENTITY % guimenuitem.attlist "INCLUDE">
+<![%guimenuitem.attlist;[
+<!ATTLIST guimenuitem
+               %moreinfo.attrib;
+               %common.attrib;
+               %guimenuitem.role.attrib;
+               %local.guimenuitem.attrib;
+>
+<!--end of guimenuitem.attlist-->]]>
+<!--end of guimenuitem.module-->]]>
+
+<!ENTITY % guisubmenu.module "INCLUDE">
+<![%guisubmenu.module;[
+<!ENTITY % local.guisubmenu.attrib "">
+<!ENTITY % guisubmenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guisubmenu.element "INCLUDE">
+<![%guisubmenu.element;[
+<!ELEMENT guisubmenu %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of guisubmenu.element-->]]>
+
+<!ENTITY % guisubmenu.attlist "INCLUDE">
+<![%guisubmenu.attlist;[
+<!ATTLIST guisubmenu
+               %moreinfo.attrib;
+               %common.attrib;
+               %guisubmenu.role.attrib;
+               %local.guisubmenu.attrib;
+>
+<!--end of guisubmenu.attlist-->]]>
+<!--end of guisubmenu.module-->]]>
+
+<!ENTITY % hardware.module "INCLUDE">
+<![%hardware.module;[
+<!ENTITY % local.hardware.attrib "">
+<!ENTITY % hardware.role.attrib "%role.attrib;">
+
+<!ENTITY % hardware.element "INCLUDE">
+<![%hardware.element;[
+<!ELEMENT hardware %ho; (%cptr.char.mix;)*>
+<!--end of hardware.element-->]]>
+
+<!ENTITY % hardware.attlist "INCLUDE">
+<![%hardware.attlist;[
+<!ATTLIST hardware
+               %moreinfo.attrib;
+               %common.attrib;
+               %hardware.role.attrib;
+               %local.hardware.attrib;
+>
+<!--end of hardware.attlist-->]]>
+<!--end of hardware.module-->]]>
+
+<!ENTITY % interface.module "INCLUDE">
+<![%interface.module;[
+<!ENTITY % local.interface.attrib "">
+<!ENTITY % interface.role.attrib "%role.attrib;">
+
+<!ENTITY % interface.element "INCLUDE">
+<![%interface.element;[
+<!ELEMENT interface %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of interface.element-->]]>
+
+<!-- Class: Type of the Interface item; no default -->
+
+
+<!ENTITY % interface.attlist "INCLUDE">
+<![%interface.attlist;[
+<!ATTLIST interface
+               %moreinfo.attrib;
+               %common.attrib;
+               %interface.role.attrib;
+               %local.interface.attrib;
+>
+<!--end of interface.attlist-->]]>
+<!--end of interface.module-->]]>
+
+<!ENTITY % keycap.module "INCLUDE">
+<![%keycap.module;[
+<!ENTITY % local.keycap.attrib "">
+<!ENTITY % keycap.role.attrib "%role.attrib;">
+
+<!ENTITY % keycap.element "INCLUDE">
+<![%keycap.element;[
+<!ELEMENT keycap %ho; (%cptr.char.mix;)*>
+<!--end of keycap.element-->]]>
+
+<!ENTITY % keycap.attlist "INCLUDE">
+<![%keycap.attlist;[
+<!ATTLIST keycap
+               %moreinfo.attrib;
+               %common.attrib;
+               %keycap.role.attrib;
+               %local.keycap.attrib;
+>
+<!--end of keycap.attlist-->]]>
+<!--end of keycap.module-->]]>
+
+<!ENTITY % keycode.module "INCLUDE">
+<![%keycode.module;[
+<!ENTITY % local.keycode.attrib "">
+<!ENTITY % keycode.role.attrib "%role.attrib;">
+
+<!ENTITY % keycode.element "INCLUDE">
+<![%keycode.element;[
+<!ELEMENT keycode %ho; (%smallcptr.char.mix;)*>
+<!--end of keycode.element-->]]>
+
+<!ENTITY % keycode.attlist "INCLUDE">
+<![%keycode.attlist;[
+<!ATTLIST keycode
+               %common.attrib;
+               %keycode.role.attrib;
+               %local.keycode.attrib;
+>
+<!--end of keycode.attlist-->]]>
+<!--end of keycode.module-->]]>
+
+<!ENTITY % keycombo.module "INCLUDE">
+<![%keycombo.module;[
+<!ENTITY % local.keycombo.attrib "">
+<!ENTITY % keycombo.role.attrib "%role.attrib;">
+
+<!ENTITY % keycombo.element "INCLUDE">
+<![%keycombo.element;[
+<!ELEMENT keycombo %ho; ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of keycombo.element-->]]>
+
+<!ENTITY % keycombo.attlist "INCLUDE">
+<![%keycombo.attlist;[
+<!ATTLIST keycombo
+               %keyaction.attrib;
+               %moreinfo.attrib;
+               %common.attrib;
+               %keycombo.role.attrib;
+               %local.keycombo.attrib;
+>
+<!--end of keycombo.attlist-->]]>
+<!--end of keycombo.module-->]]>
+
+<!ENTITY % keysym.module "INCLUDE">
+<![%keysym.module;[
+<!ENTITY % local.keysym.attrib "">
+<!ENTITY % keysysm.role.attrib "%role.attrib;">
+
+<!ENTITY % keysym.element "INCLUDE">
+<![%keysym.element;[
+<!ELEMENT keysym %ho; (%smallcptr.char.mix;)*>
+<!--end of keysym.element-->]]>
+
+<!ENTITY % keysym.attlist "INCLUDE">
+<![%keysym.attlist;[
+<!ATTLIST keysym
+               %common.attrib;
+               %keysysm.role.attrib;
+               %local.keysym.attrib;
+>
+<!--end of keysym.attlist-->]]>
+<!--end of keysym.module-->]]>
+
+<!ENTITY % lineannotation.module "INCLUDE">
+<![%lineannotation.module;[
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+
+<!ENTITY % lineannotation.element "INCLUDE">
+<![%lineannotation.element;[
+<!ELEMENT lineannotation %ho; (%para.char.mix;)*>
+<!--end of lineannotation.element-->]]>
+
+<!ENTITY % lineannotation.attlist "INCLUDE">
+<![%lineannotation.attlist;[
+<!ATTLIST lineannotation
+               %common.attrib;
+               %lineannotation.role.attrib;
+               %local.lineannotation.attrib;
+>
+<!--end of lineannotation.attlist-->]]>
+<!--end of lineannotation.module-->]]>
+
+<!ENTITY % literal.module "INCLUDE">
+<![%literal.module;[
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+
+<!ENTITY % literal.element "INCLUDE">
+<![%literal.element;[
+<!ELEMENT literal %ho; (%cptr.char.mix;)*>
+<!--end of literal.element-->]]>
+
+<!ENTITY % literal.attlist "INCLUDE">
+<![%literal.attlist;[
+<!ATTLIST literal
+               %moreinfo.attrib;
+               %common.attrib;
+               %literal.role.attrib;
+               %local.literal.attrib;
+>
+<!--end of literal.attlist-->]]>
+<!--end of literal.module-->]]>
+
+<!ENTITY % constant.module "INCLUDE">
+<![ %constant.module; [
+<!ENTITY % local.constant.attrib "">
+<!ENTITY % constant.role.attrib "%role.attrib;">
+
+<!ENTITY % constant.element "INCLUDE">
+<![ %constant.element; [
+<!ELEMENT constant %ho; (%smallcptr.char.mix;)*>
+<!--end of constant.element-->]]>
+
+<!ENTITY % constant.attlist "INCLUDE">
+<![ %constant.attlist; [
+<!ATTLIST constant
+               class   (limit)         #IMPLIED
+               %common.attrib;
+               %constant.role.attrib;
+               %local.constant.attrib;
+>
+<!--end of constant.attlist-->]]>
+<!--end of constant.module-->]]>
+
+<!ENTITY % varname.module "INCLUDE">
+<![ %varname.module; [
+<!ENTITY % local.varname.attrib "">
+<!ENTITY % varname.role.attrib "%role.attrib;">
+
+<!ENTITY % varname.element "INCLUDE">
+<![ %varname.element; [
+<!ELEMENT varname %ho; (%smallcptr.char.mix;)*>
+<!--end of varname.element-->]]>
+
+<!ENTITY % varname.attlist "INCLUDE">
+<![ %varname.attlist; [
+<!ATTLIST varname
+               %common.attrib;
+               %varname.role.attrib;
+               %local.varname.attrib;
+>
+<!--end of varname.attlist-->]]>
+<!--end of varname.module-->]]>
+
+<!ENTITY % markup.module "INCLUDE">
+<![%markup.module;[
+<!ENTITY % local.markup.attrib "">
+<!ENTITY % markup.role.attrib "%role.attrib;">
+
+<!ENTITY % markup.element "INCLUDE">
+<![%markup.element;[
+<!ELEMENT markup %ho; (%smallcptr.char.mix;)*>
+<!--end of markup.element-->]]>
+
+<!ENTITY % markup.attlist "INCLUDE">
+<![%markup.attlist;[
+<!ATTLIST markup
+               %common.attrib;
+               %markup.role.attrib;
+               %local.markup.attrib;
+>
+<!--end of markup.attlist-->]]>
+<!--end of markup.module-->]]>
+
+<!ENTITY % medialabel.module "INCLUDE">
+<![%medialabel.module;[
+<!ENTITY % local.medialabel.attrib "">
+<!ENTITY % medialabel.role.attrib "%role.attrib;">
+
+<!ENTITY % medialabel.element "INCLUDE">
+<![%medialabel.element;[
+<!ELEMENT medialabel %ho; (%smallcptr.char.mix;)*>
+<!--end of medialabel.element-->]]>
+
+<!-- Class: Type of medium named by the element; no default -->
+
+
+<!ENTITY % medialabel.attlist "INCLUDE">
+<![%medialabel.attlist;[
+<!ATTLIST medialabel
+               class           (cartridge
+                               |cdrom
+                               |disk
+                               |tape)          #IMPLIED
+               %common.attrib;
+               %medialabel.role.attrib;
+               %local.medialabel.attrib;
+>
+<!--end of medialabel.attlist-->]]>
+<!--end of medialabel.module-->]]>
+
+<!ENTITY % menuchoice.content.module "INCLUDE">
+<![%menuchoice.content.module;[
+<!ENTITY % menuchoice.module "INCLUDE">
+<![%menuchoice.module;[
+<!ENTITY % local.menuchoice.attrib "">
+<!ENTITY % menuchoice.role.attrib "%role.attrib;">
+
+<!ENTITY % menuchoice.element "INCLUDE">
+<![%menuchoice.element;[
+<!ELEMENT menuchoice %ho; (shortcut?, (guibutton|guiicon|guilabel
+               |guimenu|guimenuitem|guisubmenu|interface)+)>
+<!--end of menuchoice.element-->]]>
+
+<!ENTITY % menuchoice.attlist "INCLUDE">
+<![%menuchoice.attlist;[
+<!ATTLIST menuchoice
+               %moreinfo.attrib;
+               %common.attrib;
+               %menuchoice.role.attrib;
+               %local.menuchoice.attrib;
+>
+<!--end of menuchoice.attlist-->]]>
+<!--end of menuchoice.module-->]]>
+
+<!ENTITY % shortcut.module "INCLUDE">
+<![%shortcut.module;[
+<!-- See also KeyCombo -->
+<!ENTITY % local.shortcut.attrib "">
+<!ENTITY % shortcut.role.attrib "%role.attrib;">
+
+<!ENTITY % shortcut.element "INCLUDE">
+<![%shortcut.element;[
+<!ELEMENT shortcut %ho; ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of shortcut.element-->]]>
+
+<!ENTITY % shortcut.attlist "INCLUDE">
+<![%shortcut.attlist;[
+<!ATTLIST shortcut
+               %keyaction.attrib;
+               %moreinfo.attrib;
+               %common.attrib;
+               %shortcut.role.attrib;
+               %local.shortcut.attrib;
+>
+<!--end of shortcut.attlist-->]]>
+<!--end of shortcut.module-->]]>
+<!--end of menuchoice.content.module-->]]>
+
+<!ENTITY % mousebutton.module "INCLUDE">
+<![%mousebutton.module;[
+<!ENTITY % local.mousebutton.attrib "">
+<!ENTITY % mousebutton.role.attrib "%role.attrib;">
+
+<!ENTITY % mousebutton.element "INCLUDE">
+<![%mousebutton.element;[
+<!ELEMENT mousebutton %ho; (%smallcptr.char.mix;)*>
+<!--end of mousebutton.element-->]]>
+
+<!ENTITY % mousebutton.attlist "INCLUDE">
+<![%mousebutton.attlist;[
+<!ATTLIST mousebutton
+               %moreinfo.attrib;
+               %common.attrib;
+               %mousebutton.role.attrib;
+               %local.mousebutton.attrib;
+>
+<!--end of mousebutton.attlist-->]]>
+<!--end of mousebutton.module-->]]>
+
+<!ENTITY % msgtext.module "INCLUDE">
+<![%msgtext.module;[
+<!ENTITY % local.msgtext.attrib "">
+<!ENTITY % msgtext.role.attrib "%role.attrib;">
+
+<!ENTITY % msgtext.element "INCLUDE">
+<![%msgtext.element;[
+<!ELEMENT msgtext %ho; ((%component.mix;)+)>
+<!--end of msgtext.element-->]]>
+
+<!ENTITY % msgtext.attlist "INCLUDE">
+<![%msgtext.attlist;[
+<!ATTLIST msgtext
+               %common.attrib;
+               %msgtext.role.attrib;
+               %local.msgtext.attrib;
+>
+<!--end of msgtext.attlist-->]]>
+<!--end of msgtext.module-->]]>
+
+<!ENTITY % option.module "INCLUDE">
+<![%option.module;[
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+
+<!ENTITY % option.element "INCLUDE">
+<![%option.element;[
+<!ELEMENT option %ho; (%cptr.char.mix;)*>
+<!--end of option.element-->]]>
+
+<!ENTITY % option.attlist "INCLUDE">
+<![%option.attlist;[
+<!ATTLIST option
+               %common.attrib;
+               %option.role.attrib;
+               %local.option.attrib;
+>
+<!--end of option.attlist-->]]>
+<!--end of option.module-->]]>
+
+<!ENTITY % optional.module "INCLUDE">
+<![%optional.module;[
+<!ENTITY % local.optional.attrib "">
+<!ENTITY % optional.role.attrib "%role.attrib;">
+
+<!ENTITY % optional.element "INCLUDE">
+<![%optional.element;[
+<!ELEMENT optional %ho; (%cptr.char.mix;)*>
+<!--end of optional.element-->]]>
+
+<!ENTITY % optional.attlist "INCLUDE">
+<![%optional.attlist;[
+<!ATTLIST optional
+               %common.attrib;
+               %optional.role.attrib;
+               %local.optional.attrib;
+>
+<!--end of optional.attlist-->]]>
+<!--end of optional.module-->]]>
+
+<!ENTITY % parameter.module "INCLUDE">
+<![%parameter.module;[
+<!ENTITY % local.parameter.attrib "">
+<!ENTITY % parameter.role.attrib "%role.attrib;">
+
+<!ENTITY % parameter.element "INCLUDE">
+<![%parameter.element;[
+<!ELEMENT parameter %ho; (%cptr.char.mix;)*>
+<!--end of parameter.element-->]]>
+
+<!-- Class: Type of the Parameter; no default -->
+
+
+<!ENTITY % parameter.attlist "INCLUDE">
+<![%parameter.attlist;[
+<!ATTLIST parameter
+               class           (command
+                               |function
+                               |option)        #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %parameter.role.attrib;
+               %local.parameter.attrib;
+>
+<!--end of parameter.attlist-->]]>
+<!--end of parameter.module-->]]>
+
+<!ENTITY % prompt.module "INCLUDE">
+<![%prompt.module;[
+<!ENTITY % local.prompt.attrib "">
+<!ENTITY % prompt.role.attrib "%role.attrib;">
+
+<!ENTITY % prompt.element "INCLUDE">
+<![%prompt.element;[
+<!ELEMENT prompt %ho; (%smallcptr.char.mix;|co)*>
+<!--end of prompt.element-->]]>
+
+<!ENTITY % prompt.attlist "INCLUDE">
+<![%prompt.attlist;[
+<!ATTLIST prompt
+               %moreinfo.attrib;
+               %common.attrib;
+               %prompt.role.attrib;
+               %local.prompt.attrib;
+>
+<!--end of prompt.attlist-->]]>
+<!--end of prompt.module-->]]>
+
+<!ENTITY % property.module "INCLUDE">
+<![%property.module;[
+<!ENTITY % local.property.attrib "">
+<!ENTITY % property.role.attrib "%role.attrib;">
+
+<!ENTITY % property.element "INCLUDE">
+<![%property.element;[
+<!ELEMENT property %ho; (%cptr.char.mix;)*>
+<!--end of property.element-->]]>
+
+<!ENTITY % property.attlist "INCLUDE">
+<![%property.attlist;[
+<!ATTLIST property
+               %moreinfo.attrib;
+               %common.attrib;
+               %property.role.attrib;
+               %local.property.attrib;
+>
+<!--end of property.attlist-->]]>
+<!--end of property.module-->]]>
+
+<!ENTITY % replaceable.module "INCLUDE">
+<![%replaceable.module;[
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+
+<!ENTITY % replaceable.element "INCLUDE">
+<![%replaceable.element;[
+<!ELEMENT replaceable %ho; (#PCDATA
+               | %link.char.class;
+               | optional
+               | %base.char.class;
+               | %other.char.class;
+               | inlinegraphic
+                | inlinemediaobject
+               | co)*>
+<!--end of replaceable.element-->]]>
+
+<!-- Class: Type of information the element represents; no
+               default -->
+
+
+<!ENTITY % replaceable.attlist "INCLUDE">
+<![%replaceable.attlist;[
+<!ATTLIST replaceable
+               class           (command
+                               |function
+                               |option
+                               |parameter)     #IMPLIED
+               %common.attrib;
+               %replaceable.role.attrib;
+               %local.replaceable.attrib;
+>
+<!--end of replaceable.attlist-->]]>
+<!--end of replaceable.module-->]]>
+
+<!ENTITY % returnvalue.module "INCLUDE">
+<![%returnvalue.module;[
+<!ENTITY % local.returnvalue.attrib "">
+<!ENTITY % returnvalue.role.attrib "%role.attrib;">
+
+<!ENTITY % returnvalue.element "INCLUDE">
+<![%returnvalue.element;[
+<!ELEMENT returnvalue %ho; (%smallcptr.char.mix;)*>
+<!--end of returnvalue.element-->]]>
+
+<!ENTITY % returnvalue.attlist "INCLUDE">
+<![%returnvalue.attlist;[
+<!ATTLIST returnvalue
+               %common.attrib;
+               %returnvalue.role.attrib;
+               %local.returnvalue.attrib;
+>
+<!--end of returnvalue.attlist-->]]>
+<!--end of returnvalue.module-->]]>
+
+<!ENTITY % sgmltag.module "INCLUDE">
+<![%sgmltag.module;[
+<!ENTITY % local.sgmltag.attrib "">
+<!ENTITY % sgmltag.role.attrib "%role.attrib;">
+
+<!ENTITY % sgmltag.element "INCLUDE">
+<![%sgmltag.element;[
+<!ELEMENT sgmltag %ho; (%smallcptr.char.mix;)*>
+<!--end of sgmltag.element-->]]>
+
+<!-- Class: Type of SGML construct the element names; no default -->
+
+
+<!ENTITY % sgmltag.attlist "INCLUDE">
+<![%sgmltag.attlist;[
+<!ATTLIST sgmltag
+               class           (attribute
+                               |attvalue
+                               |element
+                               |endtag
+                                |emptytag
+                               |genentity
+                               |numcharref
+                               |paramentity
+                               |pi
+                                |xmlpi
+                               |starttag
+                               |sgmlcomment)   #IMPLIED
+               %common.attrib;
+               %sgmltag.role.attrib;
+               %local.sgmltag.attrib;
+>
+<!--end of sgmltag.attlist-->]]>
+<!--end of sgmltag.module-->]]>
+
+<!ENTITY % structfield.module "INCLUDE">
+<![%structfield.module;[
+<!ENTITY % local.structfield.attrib "">
+<!ENTITY % structfield.role.attrib "%role.attrib;">
+
+<!ENTITY % structfield.element "INCLUDE">
+<![%structfield.element;[
+<!ELEMENT structfield %ho; (%smallcptr.char.mix;)*>
+<!--end of structfield.element-->]]>
+
+<!ENTITY % structfield.attlist "INCLUDE">
+<![%structfield.attlist;[
+<!ATTLIST structfield
+               %common.attrib;
+               %structfield.role.attrib;
+               %local.structfield.attrib;
+>
+<!--end of structfield.attlist-->]]>
+<!--end of structfield.module-->]]>
+
+<!ENTITY % structname.module "INCLUDE">
+<![%structname.module;[
+<!ENTITY % local.structname.attrib "">
+<!ENTITY % structname.role.attrib "%role.attrib;">
+
+<!ENTITY % structname.element "INCLUDE">
+<![%structname.element;[
+<!ELEMENT structname %ho; (%smallcptr.char.mix;)*>
+<!--end of structname.element-->]]>
+
+<!ENTITY % structname.attlist "INCLUDE">
+<![%structname.attlist;[
+<!ATTLIST structname
+               %common.attrib;
+               %structname.role.attrib;
+               %local.structname.attrib;
+>
+<!--end of structname.attlist-->]]>
+<!--end of structname.module-->]]>
+
+<!ENTITY % symbol.module "INCLUDE">
+<![%symbol.module;[
+<!ENTITY % local.symbol.attrib "">
+<!ENTITY % symbol.role.attrib "%role.attrib;">
+
+<!ENTITY % symbol.element "INCLUDE">
+<![%symbol.element;[
+<!ELEMENT symbol %ho; (%smallcptr.char.mix;)*>
+<!--end of symbol.element-->]]>
+
+<!-- Class: Type of symbol; no default -->
+
+
+<!ENTITY % symbol.attlist "INCLUDE">
+<![%symbol.attlist;[
+<!ATTLIST symbol
+               class           (limit)         #IMPLIED
+               %common.attrib;
+               %symbol.role.attrib;
+               %local.symbol.attrib;
+>
+<!--end of symbol.attlist-->]]>
+<!--end of symbol.module-->]]>
+
+<!ENTITY % systemitem.module "INCLUDE">
+<![%systemitem.module;[
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+
+<!ENTITY % systemitem.element "INCLUDE">
+<![%systemitem.element;[
+<!ELEMENT systemitem %ho; (%cptr.char.mix; | acronym | co)*>
+<!--end of systemitem.element-->]]>
+
+<!-- Class: Type of system item the element names; no default -->
+
+<!ENTITY % systemitem.attlist "INCLUDE">
+<![%systemitem.attlist;[
+<!ATTLIST systemitem
+               class   (constant
+                       |event
+                       |eventhandler
+                       |domainname
+                       |fqdomainname
+                       |ipaddress
+                       |netmask
+                       |etheraddress
+                       |groupname
+                       |library
+                       |macro
+                       |osname
+                       |filesystem
+                       |resource
+                       |systemname
+                       |username
+                       |newsgroup)     #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %systemitem.role.attrib;
+               %local.systemitem.attrib;
+>
+<!--end of systemitem.attlist-->]]>
+<!--end of systemitem.module-->]]>
+
+
+<!ENTITY % token.module "INCLUDE">
+<![%token.module;[
+<!ENTITY % local.token.attrib "">
+<!ENTITY % token.role.attrib "%role.attrib;">
+
+<!ENTITY % token.element "INCLUDE">
+<![%token.element;[
+<!ELEMENT token %ho; (%smallcptr.char.mix;)*>
+<!--end of token.element-->]]>
+
+<!ENTITY % token.attlist "INCLUDE">
+<![%token.attlist;[
+<!ATTLIST token
+               %common.attrib;
+               %token.role.attrib;
+               %local.token.attrib;
+>
+<!--end of token.attlist-->]]>
+<!--end of token.module-->]]>
+
+<!ENTITY % type.module "INCLUDE">
+<![%type.module;[
+<!ENTITY % local.type.attrib "">
+<!ENTITY % type.role.attrib "%role.attrib;">
+
+<!ENTITY % type.element "INCLUDE">
+<![%type.element;[
+<!ELEMENT type %ho; (%smallcptr.char.mix;)*>
+<!--end of type.element-->]]>
+
+<!ENTITY % type.attlist "INCLUDE">
+<![%type.attlist;[
+<!ATTLIST type
+               %common.attrib;
+               %type.role.attrib;
+               %local.type.attrib;
+>
+<!--end of type.attlist-->]]>
+<!--end of type.module-->]]>
+
+<!ENTITY % userinput.module "INCLUDE">
+<![%userinput.module;[
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+
+<!ENTITY % userinput.element "INCLUDE">
+<![%userinput.element;[
+<!ELEMENT userinput %ho; (%cptr.char.mix;|co)*>
+<!--end of userinput.element-->]]>
+
+<!ENTITY % userinput.attlist "INCLUDE">
+<![%userinput.attlist;[
+<!ATTLIST userinput
+               %moreinfo.attrib;
+               %common.attrib;
+               %userinput.role.attrib;
+               %local.userinput.attrib;
+>
+<!--end of userinput.attlist-->]]>
+<!--end of userinput.module-->]]>
+
+<!-- General words and phrases ............................................ -->
+
+<!ENTITY % abbrev.module "INCLUDE">
+<![%abbrev.module;[
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % abbrev.element "INCLUDE">
+<![%abbrev.element;[
+<!ELEMENT abbrev %ho; (%word.char.mix;)*>
+<!--end of abbrev.element-->]]>
+
+<!ENTITY % abbrev.attlist "INCLUDE">
+<![%abbrev.attlist;[
+<!ATTLIST abbrev
+               %common.attrib;
+               %abbrev.role.attrib;
+               %local.abbrev.attrib;
+>
+<!--end of abbrev.attlist-->]]>
+<!--end of abbrev.module-->]]>
+
+<!ENTITY % acronym.module "INCLUDE">
+<![%acronym.module;[
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+
+<!ENTITY % acronym.element "INCLUDE">
+<![%acronym.element;[
+<!ELEMENT acronym %ho; (%word.char.mix;)*
+               %acronym.exclusion;>
+<!--end of acronym.element-->]]>
+
+<!ENTITY % acronym.attlist "INCLUDE">
+<![%acronym.attlist;[
+<!ATTLIST acronym
+               %common.attrib;
+               %acronym.role.attrib;
+               %local.acronym.attrib;
+>
+<!--end of acronym.attlist-->]]>
+<!--end of acronym.module-->]]>
+
+<!ENTITY % citation.module "INCLUDE">
+<![%citation.module;[
+<!ENTITY % local.citation.attrib "">
+<!ENTITY % citation.role.attrib "%role.attrib;">
+
+<!ENTITY % citation.element "INCLUDE">
+<![%citation.element;[
+<!ELEMENT citation %ho; (%para.char.mix;)*>
+<!--end of citation.element-->]]>
+
+<!ENTITY % citation.attlist "INCLUDE">
+<![%citation.attlist;[
+<!ATTLIST citation
+               %common.attrib;
+               %citation.role.attrib;
+               %local.citation.attrib;
+>
+<!--end of citation.attlist-->]]>
+<!--end of citation.module-->]]>
+
+<!ENTITY % citerefentry.module "INCLUDE">
+<![%citerefentry.module;[
+<!ENTITY % local.citerefentry.attrib "">
+<!ENTITY % citerefentry.role.attrib "%role.attrib;">
+
+<!ENTITY % citerefentry.element "INCLUDE">
+<![%citerefentry.element;[
+<!ELEMENT citerefentry %ho; (refentrytitle, manvolnum?)>
+<!--end of citerefentry.element-->]]>
+
+<!ENTITY % citerefentry.attlist "INCLUDE">
+<![%citerefentry.attlist;[
+<!ATTLIST citerefentry
+               %common.attrib;
+               %citerefentry.role.attrib;
+               %local.citerefentry.attrib;
+>
+<!--end of citerefentry.attlist-->]]>
+<!--end of citerefentry.module-->]]>
+
+<!ENTITY % refentrytitle.module "INCLUDE">
+<![%refentrytitle.module;[
+<!ENTITY % local.refentrytitle.attrib "">
+<!ENTITY % refentrytitle.role.attrib "%role.attrib;">
+
+<!ENTITY % refentrytitle.element "INCLUDE">
+<![%refentrytitle.element;[
+<!ELEMENT refentrytitle %ho; (%para.char.mix;)*>
+<!--end of refentrytitle.element-->]]>
+
+<!ENTITY % refentrytitle.attlist "INCLUDE">
+<![%refentrytitle.attlist;[
+<!ATTLIST refentrytitle
+               %common.attrib;
+               %refentrytitle.role.attrib;
+               %local.refentrytitle.attrib;
+>
+<!--end of refentrytitle.attlist-->]]>
+<!--end of refentrytitle.module-->]]>
+
+<!ENTITY % manvolnum.module "INCLUDE">
+<![%manvolnum.module;[
+<!ENTITY % local.manvolnum.attrib "">
+<!ENTITY % namvolnum.role.attrib "%role.attrib;">
+
+<!ENTITY % manvolnum.element "INCLUDE">
+<![%manvolnum.element;[
+<!ELEMENT manvolnum %ho; (%word.char.mix;)*>
+<!--end of manvolnum.element-->]]>
+
+<!ENTITY % manvolnum.attlist "INCLUDE">
+<![%manvolnum.attlist;[
+<!ATTLIST manvolnum
+               %common.attrib;
+               %namvolnum.role.attrib;
+               %local.manvolnum.attrib;
+>
+<!--end of manvolnum.attlist-->]]>
+<!--end of manvolnum.module-->]]>
+
+<!ENTITY % citetitle.module "INCLUDE">
+<![%citetitle.module;[
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+
+<!ENTITY % citetitle.element "INCLUDE">
+<![%citetitle.element;[
+<!ELEMENT citetitle %ho; (%para.char.mix;)*>
+<!--end of citetitle.element-->]]>
+
+<!-- Pubwork: Genre of published work cited; no default -->
+
+
+<!ENTITY % citetitle.attlist "INCLUDE">
+<![%citetitle.attlist;[
+<!ATTLIST citetitle
+               pubwork         (article
+                               |book
+                               |chapter
+                               |part
+                               |refentry
+                               |section
+                               |journal
+                               |series
+                               |set
+                               |manuscript)    #IMPLIED
+               %common.attrib;
+               %citetitle.role.attrib;
+               %local.citetitle.attrib;
+>
+<!--end of citetitle.attlist-->]]>
+<!--end of citetitle.module-->]]>
+
+<!ENTITY % emphasis.module "INCLUDE">
+<![%emphasis.module;[
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+
+<!ENTITY % emphasis.element "INCLUDE">
+<![%emphasis.element;[
+<!ELEMENT emphasis %ho; (%para.char.mix;)*>
+<!--end of emphasis.element-->]]>
+
+<!ENTITY % emphasis.attlist "INCLUDE">
+<![%emphasis.attlist;[
+<!ATTLIST emphasis
+               %common.attrib;
+               %emphasis.role.attrib;
+               %local.emphasis.attrib;
+>
+<!--end of emphasis.attlist-->]]>
+<!--end of emphasis.module-->]]>
+
+<!ENTITY % firstterm.module "INCLUDE">
+<![%firstterm.module;[
+<!ENTITY % local.firstterm.attrib "">
+<!ENTITY % firstterm.role.attrib "%role.attrib;">
+
+<!ENTITY % firstterm.element "INCLUDE">
+<![%firstterm.element;[
+<!ELEMENT firstterm %ho; (%word.char.mix;)*>
+<!--end of firstterm.element-->]]>
+
+<!-- to GlossEntry or other explanation -->
+
+
+<!ENTITY % firstterm.attlist "INCLUDE">
+<![%firstterm.attlist;[
+<!ATTLIST firstterm
+               %linkend.attrib;                %common.attrib;
+               %firstterm.role.attrib;
+               %local.firstterm.attrib;
+>
+<!--end of firstterm.attlist-->]]>
+<!--end of firstterm.module-->]]>
+
+<!ENTITY % foreignphrase.module "INCLUDE">
+<![%foreignphrase.module;[
+<!ENTITY % local.foreignphrase.attrib "">
+<!ENTITY % foreignphrase.role.attrib "%role.attrib;">
+
+<!ENTITY % foreignphrase.element "INCLUDE">
+<![%foreignphrase.element;[
+<!ELEMENT foreignphrase %ho; (%para.char.mix;)*>
+<!--end of foreignphrase.element-->]]>
+
+<!ENTITY % foreignphrase.attlist "INCLUDE">
+<![%foreignphrase.attlist;[
+<!ATTLIST foreignphrase
+               %common.attrib;
+               %foreignphrase.role.attrib;
+               %local.foreignphrase.attrib;
+>
+<!--end of foreignphrase.attlist-->]]>
+<!--end of foreignphrase.module-->]]>
+
+<!ENTITY % glossterm.module "INCLUDE">
+<![%glossterm.module;[
+<!ENTITY % local.glossterm.attrib "">
+<!ENTITY % glossterm.role.attrib "%role.attrib;">
+
+<!ENTITY % glossterm.element "INCLUDE">
+<![%glossterm.element;[
+<!ELEMENT glossterm %ho; (%para.char.mix;)*
+               %glossterm.exclusion;>
+<!--end of glossterm.element-->]]>
+
+<!-- to GlossEntry if Glossterm used in text -->
+<!-- BaseForm: Provides the form of GlossTerm to be used
+               for indexing -->
+
+
+<!ENTITY % glossterm.attlist "INCLUDE">
+<![%glossterm.attlist;[
+<!ATTLIST glossterm
+               %linkend.attrib;                baseform        CDATA           
#IMPLIED
+               %common.attrib;
+               %glossterm.role.attrib;
+               %local.glossterm.attrib;
+>
+<!--end of glossterm.attlist-->]]>
+<!--end of glossterm.module-->]]>
+
+<!ENTITY % phrase.module "INCLUDE">
+<![%phrase.module;[
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+
+<!ENTITY % phrase.element "INCLUDE">
+<![%phrase.element;[
+<!ELEMENT phrase %ho; (%para.char.mix;)*>
+<!--end of phrase.element-->]]>
+
+<!ENTITY % phrase.attlist "INCLUDE">
+<![%phrase.attlist;[
+<!ATTLIST phrase
+               %common.attrib;
+               %phrase.role.attrib;
+               %local.phrase.attrib;
+>
+<!--end of phrase.attlist-->]]>
+<!--end of phrase.module-->]]>
+
+<!ENTITY % quote.module "INCLUDE">
+<![%quote.module;[
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+
+<!ENTITY % quote.element "INCLUDE">
+<![%quote.element;[
+<!ELEMENT quote %ho; (%para.char.mix;)*>
+<!--end of quote.element-->]]>
+
+<!ENTITY % quote.attlist "INCLUDE">
+<![%quote.attlist;[
+<!ATTLIST quote
+               %common.attrib;
+               %quote.role.attrib;
+               %local.quote.attrib;
+>
+<!--end of quote.attlist-->]]>
+<!--end of quote.module-->]]>
+
+<!ENTITY % ssscript.module "INCLUDE">
+<![%ssscript.module;[
+<!ENTITY % local.ssscript.attrib "">
+<!ENTITY % ssscript.role.attrib "%role.attrib;">
+
+<!ENTITY % subscript.element "INCLUDE">
+<![%subscript.element;[
+<!ELEMENT subscript %ho; (#PCDATA
+               | %link.char.class;
+               | emphasis
+               | replaceable
+               | symbol
+               | inlinegraphic
+                | inlinemediaobject
+               | %base.char.class;
+               | %other.char.class;)*
+               %ubiq.exclusion;>
+<!--end of subscript.element-->]]>
+
+<!ENTITY % subscript.attlist "INCLUDE">
+<![%subscript.attlist;[
+<!ATTLIST subscript
+               %common.attrib;
+               %ssscript.role.attrib;
+               %local.ssscript.attrib;
+>
+<!--end of subscript.attlist-->]]>
+
+<!ENTITY % superscript.element "INCLUDE">
+<![%superscript.element;[
+<!ELEMENT superscript %ho; (#PCDATA
+               | %link.char.class;
+               | emphasis
+               | replaceable
+               | symbol
+               | inlinegraphic
+                | inlinemediaobject
+               | %base.char.class;
+               | %other.char.class;)*
+               %ubiq.exclusion;>
+<!--end of superscript.element-->]]>
+
+<!ENTITY % superscript.attlist "INCLUDE">
+<![%superscript.attlist;[
+<!ATTLIST superscript
+               %common.attrib;
+               %ssscript.role.attrib;
+               %local.ssscript.attrib;
+>
+<!--end of superscript.attlist-->]]>
+<!--end of ssscript.module-->]]>
+
+<!ENTITY % trademark.module "INCLUDE">
+<![%trademark.module;[
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+
+<!ENTITY % trademark.element "INCLUDE">
+<![%trademark.element;[
+<!ELEMENT trademark %ho; (#PCDATA
+               | %link.char.class;
+               | %tech.char.class;
+               | %base.char.class;
+               | %other.char.class;
+               | inlinegraphic
+                | inlinemediaobject
+               | emphasis)*>
+<!--end of trademark.element-->]]>
+
+<!-- Class: More precisely identifies the item the element names -->
+
+
+<!ENTITY % trademark.attlist "INCLUDE">
+<![%trademark.attlist;[
+<!ATTLIST trademark
+               class           (service
+                               |trade
+                               |registered
+                               |copyright)     'trade'
+               %common.attrib;
+               %trademark.role.attrib;
+               %local.trademark.attrib;
+>
+<!--end of trademark.attlist-->]]>
+<!--end of trademark.module-->]]>
+
+<!ENTITY % wordasword.module "INCLUDE">
+<![%wordasword.module;[
+<!ENTITY % local.wordasword.attrib "">
+<!ENTITY % wordasword.role.attrib "%role.attrib;">
+
+<!ENTITY % wordasword.element "INCLUDE">
+<![%wordasword.element;[
+<!ELEMENT wordasword %ho; (%word.char.mix;)*>
+<!--end of wordasword.element-->]]>
+
+<!ENTITY % wordasword.attlist "INCLUDE">
+<![%wordasword.attlist;[
+<!ATTLIST wordasword
+               %common.attrib;
+               %wordasword.role.attrib;
+               %local.wordasword.attrib;
+>
+<!--end of wordasword.attlist-->]]>
+<!--end of wordasword.module-->]]>
+
+<!-- Links and cross-references ........................................... -->
+
+<!ENTITY % link.module "INCLUDE">
+<![%link.module;[
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+
+<!ENTITY % link.element "INCLUDE">
+<![%link.element;[
+<!ELEMENT link %ho; (%para.char.mix;)*
+               %links.exclusion;>
+<!--end of link.element-->]]>
+
+<!-- Endterm: ID of element containing text that is to be
+               fetched from elsewhere in the document to appear as
+               the content of this element -->
+<!-- to linked-to object -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % link.attlist "INCLUDE">
+<![%link.attlist;[
+<!ATTLIST link
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             type            CDATA           
#IMPLIED
+               %common.attrib;
+               %link.role.attrib;
+               %local.link.attrib;
+>
+<!--end of link.attlist-->]]>
+<!--end of link.module-->]]>
+
+<!ENTITY % olink.module "INCLUDE">
+<![%olink.module;[
+<!ENTITY % local.olink.attrib "">
+<!ENTITY % olink.role.attrib "%role.attrib;">
+
+<!ENTITY % olink.element "INCLUDE">
+<![%olink.element;[
+<!ELEMENT olink %ho; (%para.char.mix;)*
+               %links.exclusion;>
+<!--end of olink.element-->]]>
+
+<!-- TargetDocEnt: Name of an entity to be the target of the link -->
+<!-- LinkMode: ID of a ModeSpec containing instructions for
+               operating on the entity named by TargetDocEnt -->
+<!-- LocalInfo: Information that may be passed to ModeSpec -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % olink.attlist "INCLUDE">
+<![%olink.attlist;[
+<!ATTLIST olink
+               targetdocent    ENTITY          #IMPLIED
+               linkmode        IDREF           #IMPLIED
+               localinfo       CDATA           #IMPLIED
+               type            CDATA           #IMPLIED
+               targetdoc       CDATA           #IMPLIED
+               targetptr       CDATA           #IMPLIED
+               %common.attrib;
+               %olink.role.attrib;
+               %local.olink.attrib;
+>
+<!--end of olink.attlist-->]]>
+<!--end of olink.module-->]]>
+
+<!ENTITY % ulink.module "INCLUDE">
+<![%ulink.module;[
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+
+<!ENTITY % ulink.element "INCLUDE">
+<![%ulink.element;[
+<!ELEMENT ulink %ho; (%para.char.mix;)*
+               %links.exclusion;>
+<!--end of ulink.element-->]]>
+
+<!-- URL: uniform resource locator; the target of the ULink -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % ulink.attlist "INCLUDE">
+<![%ulink.attlist;[
+<!ATTLIST ulink
+               url             CDATA           #REQUIRED
+               type            CDATA           #IMPLIED
+               %common.attrib;
+               %ulink.role.attrib;
+               %local.ulink.attrib;
+>
+<!--end of ulink.attlist-->]]>
+<!--end of ulink.module-->]]>
+
+<!ENTITY % footnoteref.module "INCLUDE">
+<![%footnoteref.module;[
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+
+<!ENTITY % footnoteref.element "INCLUDE">
+<![%footnoteref.element;[
+<!ELEMENT footnoteref %ho; EMPTY>
+<!--end of footnoteref.element-->]]>
+
+<!-- to footnote content supplied elsewhere -->
+
+
+<!ENTITY % footnoteref.attlist "INCLUDE">
+<![%footnoteref.attlist;[
+<!ATTLIST footnoteref
+               %linkendreq.attrib;             %label.attrib;
+               %common.attrib;
+               %footnoteref.role.attrib;
+               %local.footnoteref.attrib;
+>
+<!--end of footnoteref.attlist-->]]>
+<!--end of footnoteref.module-->]]>
+
+<!ENTITY % xref.module "INCLUDE">
+<![%xref.module;[
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+
+<!ENTITY % xref.element "INCLUDE">
+<![%xref.element;[
+<!ELEMENT xref %ho; EMPTY>
+<!--end of xref.element-->]]>
+
+<!-- Endterm: ID of element containing text that is to be
+               fetched from elsewhere in the document to appear as
+               the content of this element -->
+<!-- to linked-to object -->
+
+
+<!ENTITY % xref.attlist "INCLUDE">
+<![%xref.attlist;[
+<!ATTLIST xref
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             %common.attrib;
+               %xref.role.attrib;
+               %local.xref.attrib;
+>
+<!--end of xref.attlist-->]]>
+<!--end of xref.module-->]]>
+
+<!-- Ubiquitous elements .................................................. -->
+
+<!ENTITY % anchor.module "INCLUDE">
+<![%anchor.module;[
+<!ENTITY % local.anchor.attrib "">
+<!ENTITY % anchor.role.attrib "%role.attrib;">
+
+<!ENTITY % anchor.element "INCLUDE">
+<![%anchor.element;[
+<!ELEMENT anchor %ho; EMPTY>
+<!--end of anchor.element-->]]>
+
+<!-- required -->
+<!-- replaces Lang -->
+
+
+<!ENTITY % anchor.attlist "INCLUDE">
+<![%anchor.attlist;[
+<!ATTLIST anchor
+               %idreq.attrib;          %pagenum.attrib;                
%remap.attrib;
+               %xreflabel.attrib;
+               %revisionflag.attrib;
+               %effectivity.attrib;
+               %anchor.role.attrib;
+               %local.anchor.attrib;
+>
+<!--end of anchor.attlist-->]]>
+<!--end of anchor.module-->]]>
+
+<!ENTITY % beginpage.module "INCLUDE">
+<![%beginpage.module;[
+<!ENTITY % local.beginpage.attrib "">
+<!ENTITY % beginpage.role.attrib "%role.attrib;">
+
+<!ENTITY % beginpage.element "INCLUDE">
+<![%beginpage.element;[
+<!ELEMENT beginpage %ho; EMPTY>
+<!--end of beginpage.element-->]]>
+
+<!-- PageNum: Number of page that begins at this point -->
+
+
+<!ENTITY % beginpage.attlist "INCLUDE">
+<![%beginpage.attlist;[
+<!ATTLIST beginpage
+               %pagenum.attrib;
+               %common.attrib;
+               %beginpage.role.attrib;
+               %local.beginpage.attrib;
+>
+<!--end of beginpage.attlist-->]]>
+<!--end of beginpage.module-->]]>
+
+<!-- IndexTerms appear in the text flow for generating or linking an
+     index. -->
+
+<!ENTITY % indexterm.content.module "INCLUDE">
+<![%indexterm.content.module;[
+<!ENTITY % indexterm.module "INCLUDE">
+<![%indexterm.module;[
+<!ENTITY % local.indexterm.attrib "">
+<!ENTITY % indexterm.role.attrib "%role.attrib;">
+
+<!ENTITY % indexterm.element "INCLUDE">
+<![%indexterm.element;[
+<!ELEMENT indexterm %ho; (primary?, ((secondary, ((tertiary, (see|seealso+)?)
+               | see | seealso+)?) | see | seealso+)?)
+                       %ubiq.exclusion;>
+<!--end of indexterm.element-->]]>
+
+<!-- Scope: Indicates which generated indices the IndexTerm
+               should appear in: Global (whole document set), Local (this
+               document only), or All (both) -->
+<!-- Significance: Whether this IndexTerm is the most pertinent
+               of its series (Preferred) or not (Normal, the default) -->
+<!-- Class: Indicates type of IndexTerm; default is Singular,
+               or EndOfRange if StartRef is supplied; StartOfRange value
+               must be supplied explicitly on starts of ranges -->
+<!-- StartRef: ID of the IndexTerm that starts the indexing
+               range ended by this IndexTerm -->
+<!-- Zone: IDs of the elements to which the IndexTerm applies,
+               and indicates that the IndexTerm applies to those entire
+               elements rather than the point at which the IndexTerm
+               occurs -->
+
+
+<!ENTITY % indexterm.attlist "INCLUDE">
+<![%indexterm.attlist;[
+<!ATTLIST indexterm
+               %pagenum.attrib;
+               scope           (all
+                               |global
+                               |local)         #IMPLIED
+               significance    (preferred
+                               |normal)        "normal"
+               class           (singular
+                               |startofrange
+                               |endofrange)    #IMPLIED
+               startref                IDREF           #IMPLIED
+               zone                    IDREFS          #IMPLIED
+               %common.attrib;
+               %indexterm.role.attrib;
+               %local.indexterm.attrib;
+>
+<!--end of indexterm.attlist-->]]>
+<!--end of indexterm.module-->]]>
+
+<!ENTITY % primsecter.module "INCLUDE">
+<![%primsecter.module;[
+<!ENTITY % local.primsecter.attrib "">
+<!ENTITY % primsecter.role.attrib "%role.attrib;">
+
+
+<!ENTITY % primary.element "INCLUDE">
+<![%primary.element;[
+<!ELEMENT primary %ho;   (%ndxterm.char.mix;)*>
+<!--end of primary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+               "fourteen" for an element containing "14" -->
+
+<!ENTITY % primary.attlist "INCLUDE">
+<![%primary.attlist;[
+<!ATTLIST primary
+               sortas          CDATA           #IMPLIED
+               %common.attrib;
+               %primsecter.role.attrib;
+               %local.primsecter.attrib;
+>
+<!--end of primary.attlist-->]]>
+
+
+<!ENTITY % secondary.element "INCLUDE">
+<![%secondary.element;[
+<!ELEMENT secondary %ho; (%ndxterm.char.mix;)*>
+<!--end of secondary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+               "fourteen" for an element containing "14" -->
+
+<!ENTITY % secondary.attlist "INCLUDE">
+<![%secondary.attlist;[
+<!ATTLIST secondary
+               sortas          CDATA           #IMPLIED
+               %common.attrib;
+               %primsecter.role.attrib;
+               %local.primsecter.attrib;
+>
+<!--end of secondary.attlist-->]]>
+
+
+<!ENTITY % tertiary.element "INCLUDE">
+<![%tertiary.element;[
+<!ELEMENT tertiary %ho;  (%ndxterm.char.mix;)*>
+<!--end of tertiary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+               "fourteen" for an element containing "14" -->
+
+<!ENTITY % tertiary.attlist "INCLUDE">
+<![%tertiary.attlist;[
+<!ATTLIST tertiary
+               sortas          CDATA           #IMPLIED
+               %common.attrib;
+               %primsecter.role.attrib;
+               %local.primsecter.attrib;
+>
+<!--end of tertiary.attlist-->]]>
+
+<!--end of primsecter.module-->]]>
+
+<!ENTITY % seeseealso.module "INCLUDE">
+<![%seeseealso.module;[
+<!ENTITY % local.seeseealso.attrib "">
+<!ENTITY % seeseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % see.element "INCLUDE">
+<![%see.element;[
+<!ELEMENT see %ho; (%ndxterm.char.mix;)*>
+<!--end of see.element-->]]>
+
+<!ENTITY % see.attlist "INCLUDE">
+<![%see.attlist;[
+<!ATTLIST see
+               %common.attrib;
+               %seeseealso.role.attrib;
+               %local.seeseealso.attrib;
+>
+<!--end of see.attlist-->]]>
+
+<!ENTITY % seealso.element "INCLUDE">
+<![%seealso.element;[
+<!ELEMENT seealso %ho; (%ndxterm.char.mix;)*>
+<!--end of seealso.element-->]]>
+
+<!ENTITY % seealso.attlist "INCLUDE">
+<![%seealso.attlist;[
+<!ATTLIST seealso
+               %common.attrib;
+               %seeseealso.role.attrib;
+               %local.seeseealso.attrib;
+>
+<!--end of seealso.attlist-->]]>
+<!--end of seeseealso.module-->]]>
+<!--end of indexterm.content.module-->]]>
+
+<!-- End of DocBook XML information pool module V4.2 ...................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/docbook.cat
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/docbook.cat
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,110 @@
+  -- ...................................................................... --
+  -- Catalog data for DocBook XML V4.2 .................................... --
+  -- File docbook.cat ..................................................... --
+
+  -- Please direct all questions, bug reports, or suggestions for
+     changes to the [email protected] 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"
+       "docbookx.dtd"
+
+  -- ...................................................................... --
+  -- DocBook modules ...................................................... --
+
+PUBLIC "-//OASIS//DTD DocBook CALS Table Model V4.2//EN"
+       "calstblx.dtd"
+
+PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+       "soextblx.dtd"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN"
+       "dbpoolx.mod"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+       "dbhierx.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
+       "dbgenent.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+       "dbnotnx.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
+       "dbcentx.mod"
+
+  -- ...................................................................... --
+  -- ISO entity sets ...................................................... --
+
+PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+       "ent/iso-dia.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+       "ent/iso-num.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+       "ent/iso-pub.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+       "ent/iso-tech.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+       "ent/iso-lat1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+       "ent/iso-lat2.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+       "ent/iso-grk1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+       "ent/iso-grk2.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+       "ent/iso-grk3.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+       "ent/iso-grk4.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+       "ent/iso-amsa.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+       "ent/iso-amsb.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+       "ent/iso-amsc.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+       "ent/iso-amsn.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+       "ent/iso-amso.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+       "ent/iso-amsr.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+       "ent/iso-box.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+       "ent/iso-cyr1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+       "ent/iso-cyr2.ent"
+
+  -- End of catalog data for DocBook XML V4.2 ............................. --
+  -- ...................................................................... --

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/docbookx.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/docbookx.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,165 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML DTD V4.2 ................................................. -->
+<!-- File docbookx.dtd .................................................... -->
+
+<!-- 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: docbookx.dtd,v 1.1 2003/02/14 11:14:26 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 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V4.2 of the DocBook DTD.
+     Please use the following formal public identifier to identify it:
+
+     "-//OASIS//DTD DocBook XML V4.2//EN"
+
+     For example, if your document's top-level element is Book, and
+     you are using DocBook directly, use the FPI in the DOCTYPE
+     declaration:
+
+     <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";
+                    [...]>
+
+     Or, if you have a higher-level driver file that customizes DocBook,
+     use the FPI in the parameter entity declaration:
+
+     <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
+     %DocBookDTD;
+
+     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.
+-->
+
+<!-- ...................................................................... -->
+<!-- Enable SGML features ................................................. -->
+
+<!ENTITY % sgml.features "IGNORE">
+<![%sgml.features;[
+<!ENTITY % xml.features "IGNORE">
+]]>
+<!ENTITY % xml.features "INCLUDE">
+
+<![%sgml.features;[
+<![%xml.features;[
+
+<!-- ERROR: Exactly one of xml.features and sgml.features must be turned on! 
-->
+<!ENTITY % dbnotn SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+<!ENTITY % dbcent SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+<!ENTITY % dbpool SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+<!ENTITY % dbhier SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+<!ENTITY % dbgenent SYSTEM 
"http://www.oasis-open.org/docbook/xml/configerror.txt";>
+
+]]>
+]]>
+
+<![%sgml.features;[
+<!ENTITY % ho "- O">
+<!ENTITY % hh "- -">
+]]>
+
+<![%xml.features;[
+<!ENTITY % ho "">
+<!ENTITY % hh "">
+]]>
+
+<!-- ...................................................................... -->
+<!-- Notation declarations ................................................ -->
+
+<!ENTITY % dbnotn.module "INCLUDE">
+<![%dbnotn.module;[
+<!ENTITY % dbnotn PUBLIC
+"-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+"dbnotnx.mod">
+%dbnotn;
+]]>
+
+<!-- ...................................................................... -->
+<!-- ISO character entity sets ............................................ -->
+
+<!ENTITY % dbcent.module "INCLUDE">
+<![%dbcent.module;[
+
+<![%sgml.features;[
+<!ENTITY euro "[euro  ]"><!-- euro sign, U+20AC NEW -->
+]]>
+<![%xml.features;[
+<!ENTITY euro "&#x20AC;"><!-- euro sign, U+20AC NEW -->
+]]>
+
+<!ENTITY % dbcent PUBLIC
+"-//OASIS//ENTITIES DocBook Character Entities V4.2//EN"
+"dbcentx.mod">
+%dbcent;
+]]>
+
+<!-- ...................................................................... -->
+<!-- DTD modules .......................................................... -->
+
+<!-- Information pool .............. -->
+
+<!ENTITY % dbpool.module "INCLUDE">
+<![ %dbpool.module; [
+<!ENTITY % dbpool PUBLIC
+"-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN"
+"dbpoolx.mod">
+%dbpool;
+]]>
+
+<!-- Redeclaration placeholder ..... -->
+
+<!ENTITY % intermod.redecl.module "IGNORE">
+<![%intermod.redecl.module;[
+<!-- Defining rdbmods here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbmods "">
+%rdbmods;
+<!--end of intermod.redecl.module-->]]>
+
+<!-- Document hierarchy ............ -->
+
+<!ENTITY % dbhier.module "INCLUDE">
+<![ %dbhier.module; [
+<!ENTITY % dbhier PUBLIC
+"-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+"dbhierx.mod">
+%dbhier;
+]]>
+
+<!-- ...................................................................... -->
+<!-- Other general entities ............................................... -->
+
+<!ENTITY % dbgenent.module "INCLUDE">
+<![ %dbgenent.module; [
+<!ENTITY % dbgenent PUBLIC
+"-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN"
+"dbgenent.mod">
+%dbgenent;
+]]>
+
+<!-- End of DocBook XML DTD V4.2 .......................................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsa.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsa.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,63 @@
+<!-- iso-amsa.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY cularr        "&#x21B6;"> <!-- ANTICLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY curarr        "&#x21B7;"> <!-- CLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY dArr  "&#x21D3;"> <!-- DOWNWARDS DOUBLE ARROW -->
+<!ENTITY darr2 "&#x21CA;"> <!-- DOWNWARDS PAIRED ARROWS -->
+<!ENTITY dharl "&#x21C3;"> <!-- DOWNWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY dharr "&#x21C2;"> <!-- DOWNWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY lAarr "&#x21DA;"> <!-- LEFTWARDS TRIPLE ARROW -->
+<!ENTITY Larr  "&#x219E;"> <!-- LEFTWARDS TWO HEADED ARROW -->
+<!ENTITY larr2 "&#x21C7;"> <!-- LEFTWARDS PAIRED ARROWS -->
+<!ENTITY larrhk        "&#x21A9;"> <!-- LEFTWARDS ARROW WITH HOOK -->
+<!ENTITY larrlp        "&#x21AB;"> <!-- LEFTWARDS ARROW WITH LOOP -->
+<!ENTITY larrtl        "&#x21A2;"> <!-- LEFTWARDS ARROW WITH TAIL -->
+<!ENTITY lhard "&#x21BD;"> <!-- LEFTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY lharu "&#x21BC;"> <!-- LEFTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY hArr  "&#x21D4;"> <!--  -->
+<!ENTITY harr  "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY lrarr2        "&#x21C6;"> <!-- LEFTWARDS ARROW OVER RIGHTWARDS ARROW 
-->
+<!ENTITY rlarr2        "&#x21C4;"> <!-- RIGHTWARDS ARROW OVER LEFTWARDS ARROW 
-->
+<!ENTITY harrw "&#x21AD;"> <!-- LEFT RIGHT WAVE ARROW -->
+<!ENTITY rlhar2        "&#x21CC;"> <!-- RIGHTWARDS HARPOON OVER LEFTWARDS 
HARPOON -->
+<!ENTITY lrhar2        "&#x21CB;"> <!-- LEFTWARDS HARPOON OVER RIGHTWARDS 
HARPOON -->
+<!ENTITY lsh   "&#x21B0;"> <!-- UPWARDS ARROW WITH TIP LEFTWARDS -->
+<!ENTITY map   "&#x21A6;"> <!-- RIGHTWARDS ARROW FROM BAR -->
+<!ENTITY mumap "&#x22B8;"> <!-- MULTIMAP -->
+<!ENTITY nearr "&#x2197;"> <!-- NORTH EAST ARROW -->
+<!ENTITY nlArr "&#x21CD;"> <!-- LEFTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nlarr "&#x219A;"> <!-- LEFTWARDS ARROW WITH STROKE -->
+<!ENTITY nhArr "&#x21CE;"> <!-- LEFT RIGHT DOUBLE ARROW WITH STROKE -->
+<!ENTITY nharr "&#x21AE;"> <!-- LEFT RIGHT ARROW WITH STROKE -->
+<!ENTITY nrarr "&#x219B;"> <!-- RIGHTWARDS ARROW WITH STROKE -->
+<!ENTITY nrArr "&#x21CF;"> <!-- RIGHTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nwarr "&#x2196;"> <!-- NORTH WEST ARROW -->
+<!ENTITY olarr "&#x21BA;"> <!-- ANTICLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY orarr "&#x21BB;"> <!-- CLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY rAarr "&#x21DB;"> <!-- RIGHTWARDS TRIPLE ARROW -->
+<!ENTITY Rarr  "&#x21A0;"> <!-- RIGHTWARDS TWO HEADED ARROW -->
+<!ENTITY rarr2 "&#x21C9;"> <!-- RIGHTWARDS PAIRED ARROWS -->
+<!ENTITY rarrhk        "&#x21AA;"> <!-- RIGHTWARDS ARROW WITH HOOK -->
+<!ENTITY rarrlp        "&#x21AC;"> <!-- RIGHTWARDS ARROW WITH LOOP -->
+<!ENTITY rarrtl        "&#x21A3;"> <!-- RIGHTWARDS ARROW WITH TAIL -->
+<!ENTITY rarrw "&#x219D;"> <!-- RIGHTWARDS SQUIGGLE ARROW -->
+<!ENTITY rhard "&#x21C1;"> <!-- RIGHTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY rharu "&#x21C0;"> <!-- RIGHTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY rsh   "&#x21B1;"> <!-- UPWARDS ARROW WITH TIP RIGHTWARDS -->
+<!ENTITY drarr "&#x2198;"> <!-- SOUTH EAST ARROW -->
+<!ENTITY dlarr "&#x2199;"> <!-- SOUTH WEST ARROW -->
+<!ENTITY uArr  "&#x21D1;"> <!-- UPWARDS DOUBLE ARROW -->
+<!ENTITY uarr2 "&#x21C8;"> <!-- UPWARDS PAIRED ARROWS -->
+<!ENTITY vArr  "&#x21D5;"> <!-- UP DOWN DOUBLE ARROW -->
+<!ENTITY varr  "&#x2195;"> <!-- UP DOWN ARROW -->
+<!ENTITY uharl "&#x21BF;"> <!-- UPWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY uharr "&#x21BE;"> <!-- UPWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY xlArr "&#x21D0;"> <!-- LEFTWARDS DOUBLE ARROW -->
+<!ENTITY xhArr "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY xharr "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+<!ENTITY xrArr "&#x21D2;"> <!-- RIGHTWARDS DOUBLE ARROW -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsb.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsb.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,49 @@
+<!-- iso-amsb.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY amalg "&#x2210;"> <!-- N-ARY COPRODUCT -->
+<!ENTITY Barwed        "&#x2306;"> <!-- PERSPECTIVE -->
+<!ENTITY barwed        "&#x22BC;"> <!-- NAND -->
+<!ENTITY Cap   "&#x22D2;"> <!-- DOUBLE INTERSECTION -->
+<!ENTITY Cup   "&#x22D3;"> <!-- DOUBLE UNION -->
+<!ENTITY cuvee "&#x22CE;"> <!-- CURLY LOGICAL OR -->
+<!ENTITY cuwed "&#x22CF;"> <!-- CURLY LOGICAL AND -->
+<!ENTITY diam  "&#x22C4;"> <!-- DIAMOND OPERATOR -->
+<!ENTITY divonx        "&#x22C7;"> <!-- DIVISION TIMES -->
+<!ENTITY intcal        "&#x22BA;"> <!-- INTERCALATE -->
+<!ENTITY lthree        "&#x22CB;"> <!-- LEFT SEMIDIRECT PRODUCT -->
+<!ENTITY ltimes        "&#x22C9;"> <!-- LEFT NORMAL FACTOR SEMIDIRECT PRODUCT 
-->
+<!ENTITY minusb        "&#x229F;"> <!-- SQUARED MINUS -->
+<!ENTITY oast  "&#x229B;"> <!-- CIRCLED ASTERISK OPERATOR -->
+<!ENTITY ocir  "&#x229A;"> <!-- CIRCLED RING OPERATOR -->
+<!ENTITY odash "&#x229D;"> <!-- CIRCLED DASH -->
+<!ENTITY odot  "&#x2299;"> <!-- CIRCLED DOT OPERATOR -->
+<!ENTITY ominus        "&#x2296;"> <!-- CIRCLED MINUS -->
+<!ENTITY oplus "&#x2295;"> <!-- CIRCLED PLUS -->
+<!ENTITY osol  "&#x2298;"> <!-- CIRCLED DIVISION SLASH -->
+<!ENTITY otimes        "&#x2297;"> <!-- CIRCLED TIMES -->
+<!ENTITY plusb "&#x229E;"> <!-- SQUARED PLUS -->
+<!ENTITY plusdo        "&#x2214;"> <!-- DOT PLUS -->
+<!ENTITY rthree        "&#x22CC;"> <!-- RIGHT SEMIDIRECT PRODUCT -->
+<!ENTITY rtimes        "&#x22CA;"> <!-- RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT 
-->
+<!ENTITY sdot  "&#x22C5;"> <!-- DOT OPERATOR -->
+<!ENTITY sdotb "&#x22A1;"> <!-- SQUARED DOT OPERATOR -->
+<!ENTITY setmn "&#x2216;"> <!-- SET MINUS -->
+<!ENTITY sqcap "&#x2293;"> <!-- SQUARE CAP -->
+<!ENTITY sqcup "&#x2294;"> <!-- SQUARE CUP -->
+<!ENTITY ssetmn        "&#x2216;"> <!-- SET MINUS -->
+<!ENTITY sstarf        "&#x22C6;"> <!-- STAR OPERATOR -->
+<!ENTITY timesb        "&#x22A0;"> <!-- SQUARED TIMES -->
+<!ENTITY top   "&#x22A4;"> <!-- DOWN TACK -->
+<!ENTITY uplus "&#x228E;"> <!-- MULTISET UNION -->
+<!ENTITY wreath        "&#x2240;"> <!-- WREATH PRODUCT -->
+<!ENTITY xcirc "&#x25CB;"> <!-- WHITE CIRCLE -->
+<!ENTITY xdtri "&#x25BD;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY xutri "&#x25B3;"> <!-- WHITE UP-POINTING TRIANGLE -->
+<!ENTITY coprod        "&#x2210;"> <!-- N-ARY COPRODUCT -->
+<!ENTITY prod  "&#x220F;"> <!-- N-ARY PRODUCT -->
+<!ENTITY sum   "&#x2211;"> <!-- N-ARY SUMMATION -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsc.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsc.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,15 @@
+<!-- iso-amsc.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY rceil "&#x2309;"> <!-- RIGHT CEILING -->
+<!ENTITY rfloor        "&#x230B;"> <!-- RIGHT FLOOR -->
+<!ENTITY rpargt        "&#xE291;"> <!--  -->
+<!ENTITY urcorn        "&#x231D;"> <!-- TOP RIGHT CORNER -->
+<!ENTITY drcorn        "&#x231F;"> <!-- BOTTOM RIGHT CORNER -->
+<!ENTITY lceil "&#x2308;"> <!-- LEFT CEILING -->
+<!ENTITY lfloor        "&#x230A;"> <!-- LEFT FLOOR -->
+<!--     lpargt        Unknown unicode character -->
+<!ENTITY ulcorn        "&#x231C;"> <!-- TOP LEFT CORNER -->
+<!ENTITY dlcorn        "&#x231E;"> <!-- BOTTOM LEFT CORNER -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsn.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsn.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,66 @@
+<!-- iso-amsn.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY gnap  "&#xE411;"> <!--  -->
+<!ENTITY gne   "&#x2269;"> <!--  -->
+<!ENTITY gnE   "&#x2269;"> <!--  -->
+<!ENTITY gnsim "&#x22E7;"> <!-- GREATER-THAN BUT NOT EQUIVALENT TO -->
+<!ENTITY gvnE  "&#x2269;"> <!-- GREATER-THAN BUT NOT EQUAL TO -->
+<!ENTITY lnap  "&#xE2A2;"> <!--  -->
+<!ENTITY lnE   "&#x2268;"> <!--  -->
+<!ENTITY lne   "&#x2268;"> <!--  -->
+<!ENTITY lnsim "&#x22E6;"> <!--  -->
+<!ENTITY lvnE  "&#x2268;"> <!-- LESS-THAN BUT NOT EQUAL TO -->
+<!ENTITY nap   "&#x2249;"> <!-- NOT ALMOST EQUAL TO -->
+<!ENTITY ncong "&#x2247;"> <!-- NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO -->
+<!ENTITY nequiv        "&#x2262;"> <!-- NOT IDENTICAL TO -->
+<!ENTITY ngE   "&#x2271;"> <!--  -->
+<!ENTITY nge   "&#x2271;"> <!-- NEITHER GREATER-THAN NOR EQUAL TO -->
+<!ENTITY nges  "&#x2271;"> <!--  -->
+<!ENTITY ngt   "&#x226F;"> <!-- NOT GREATER-THAN -->
+<!ENTITY nle   "&#x2270;"> <!-- NEITHER LESS-THAN NOR EQUAL TO -->
+<!ENTITY nlE   "&#x2270;"> <!--  -->
+<!ENTITY nles  "&#x2270;"> <!--  -->
+<!ENTITY nlt   "&#x226E;"> <!-- NOT LESS-THAN -->
+<!ENTITY nltri "&#x22EA;"> <!-- NOT NORMAL SUBGROUP OF -->
+<!ENTITY nltrie        "&#x22EC;"> <!-- NOT NORMAL SUBGROUP OF OR EQUAL TO -->
+<!ENTITY nmid  "&#x2224;"> <!-- DOES NOT DIVIDE -->
+<!ENTITY npar  "&#x2226;"> <!-- NOT PARALLEL TO -->
+<!ENTITY npr   "&#x2280;"> <!-- DOES NOT PRECEDE -->
+<!ENTITY npre  "&#x22E0;"> <!-- DOES NOT PRECEDE OR EQUAL -->
+<!ENTITY nrtri "&#x22EB;"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP -->
+<!ENTITY nrtrie        "&#x22ED;"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP OR 
EQUAL -->
+<!ENTITY nsc   "&#x2281;"> <!-- DOES NOT SUCCEED -->
+<!ENTITY nsce  "&#x22E1;"> <!-- DOES NOT SUCCEED OR EQUAL -->
+<!ENTITY nsim  "&#x2241;"> <!--  -->
+<!ENTITY nsime "&#x2244;"> <!--  -->
+<!ENTITY nsmid "&#xE2AA;"> <!--  -->
+<!ENTITY nspar "&#x2226;"> <!-- NOT PARALLEL TO -->
+<!ENTITY nsub  "&#x2284;"> <!-- NOT A SUBSET OF -->
+<!ENTITY nsube "&#x2288;"> <!--  -->
+<!ENTITY nsubE "&#x2288;"> <!--  -->
+<!ENTITY nsup  "&#x2285;"> <!-- NOT A SUPERSET OF -->
+<!ENTITY nsupE "&#x2289;"> <!--  -->
+<!ENTITY nsupe "&#x2289;"> <!--  -->
+<!ENTITY nvdash        "&#x22AC;"> <!-- DOES NOT PROVE -->
+<!ENTITY nvDash        "&#x22AD;"> <!-- NOT TRUE -->
+<!ENTITY nVDash        "&#x22AF;"> <!-- NEGATED DOUBLE VERTICAL BAR DOUBLE 
RIGHT TURNSTILE -->
+<!ENTITY nVdash        "&#x22AE;"> <!-- DOES NOT FORCE -->
+<!ENTITY prnap "&#x22E8;"> <!--  -->
+<!ENTITY prnE  "&#xE2B3;"> <!--  -->
+<!ENTITY prnsim        "&#x22E8;"> <!--  -->
+<!ENTITY scnap "&#x22E9;"> <!--  -->
+<!ENTITY scnE  "&#xE2B5;"> <!--  -->
+<!ENTITY scnsim        "&#x22E9;"> <!--  -->
+<!ENTITY subne "&#x228A;"> <!--  -->
+<!ENTITY subnE "&#x228A;"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY supne "&#x228B;"> <!--  -->
+<!ENTITY supnE "&#x228B;"> <!--  -->
+<!ENTITY vsubnE        "&#xE2B8;"> <!--  -->
+<!ENTITY vsubne        "&#x228A;"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsupne        "&#x228B;"> <!-- SUPERSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsupnE        "&#x228B;"> <!-- SUPERSET OF WITH NOT EQUAL TO -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amso.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amso.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,26 @@
+<!-- iso-amso.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY ang   "&#x2220;"> <!-- ANGLE -->
+<!ENTITY angmsd        "&#x2221;"> <!-- MEASURED ANGLE -->
+<!ENTITY beth  "&#x2136;"> <!-- BET SYMBOL -->
+<!ENTITY bprime        "&#x2035;"> <!-- REVERSED PRIME -->
+<!ENTITY comp  "&#x2201;"> <!-- COMPLEMENT -->
+<!ENTITY daleth        "&#x2138;"> <!-- DALET SYMBOL -->
+<!ENTITY ell   "&#x2113;"> <!-- SCRIPT SMALL L -->
+<!ENTITY empty "&#x2205;"> <!--  -->
+<!ENTITY gimel "&#x2137;"> <!-- GIMEL SYMBOL -->
+<!ENTITY image "&#x2111;"> <!-- BLACK-LETTER CAPITAL I -->
+<!ENTITY inodot        "&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
+<!--     jnodot        Unknown unicode character -->
+<!ENTITY nexist        "&#x2204;"> <!-- THERE DOES NOT EXIST -->
+<!ENTITY oS    "&#x24C8;"> <!-- CIRCLED LATIN CAPITAL LETTER S -->
+<!ENTITY planck        "&#x210F;"> <!-- PLANCK CONSTANT OVER TWO PI -->
+<!ENTITY real  "&#x211C;"> <!-- BLACK-LETTER CAPITAL R -->
+<!ENTITY sbsol "&#xFE68;"> <!-- SMALL REVERSE SOLIDUS -->
+<!ENTITY vprime        "&#x2032;"> <!-- PRIME -->
+<!ENTITY weierp        "&#x2118;"> <!-- SCRIPT CAPITAL P -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsr.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-amsr.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,91 @@
+<!-- iso-amsr.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY ape   "&#x224A;"> <!--  -->
+<!ENTITY asymp "&#x224D;"> <!-- EQUIVALENT TO -->
+<!ENTITY bcong "&#x224C;"> <!-- ALL EQUAL TO -->
+<!ENTITY bepsi "&#x220D;"> <!-- SMALL CONTAINS AS MEMBER -->
+<!ENTITY bowtie        "&#x22C8;"> <!--  -->
+<!ENTITY bsim  "&#x223D;"> <!--  -->
+<!ENTITY bsime "&#x22CD;"> <!--  -->
+<!ENTITY bump  "&#x224E;"> <!--  -->
+<!ENTITY bumpe "&#x224F;"> <!--  -->
+<!ENTITY cire  "&#x2257;"> <!--  -->
+<!ENTITY colone        "&#x2254;"> <!--  -->
+<!ENTITY cuepr "&#x22DE;"> <!--  -->
+<!ENTITY cuesc "&#x22DF;"> <!--  -->
+<!ENTITY cupre "&#x227C;"> <!--  -->
+<!ENTITY dashv "&#x22A3;"> <!--  -->
+<!ENTITY ecir  "&#x2256;"> <!--  -->
+<!ENTITY ecolon        "&#x2255;"> <!--  -->
+<!ENTITY eDot  "&#x2251;"> <!--  -->
+<!ENTITY esdot "&#x2250;"> <!--  -->
+<!ENTITY efDot "&#x2252;"> <!--  -->
+<!ENTITY egs   "&#x22DD;"> <!--  -->
+<!ENTITY els   "&#x22DC;"> <!--  -->
+<!ENTITY erDot "&#x2253;"> <!--  -->
+<!ENTITY fork  "&#x22D4;"> <!--  -->
+<!ENTITY frown "&#x2322;"> <!--  -->
+<!ENTITY gap   "&#x2273;"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY gsdot "&#x22D7;"> <!--  -->
+<!ENTITY gE    "&#x2267;"> <!--  -->
+<!ENTITY gel   "&#x22DB;"> <!--  -->
+<!ENTITY gEl   "&#x22DB;"> <!--  -->
+<!ENTITY ges   "&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
+<!ENTITY Gg    "&#x22D9;"> <!-- VERY MUCH GREATER-THAN -->
+<!ENTITY gl    "&#x2277;"> <!--  -->
+<!ENTITY gsim  "&#x2273;"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY Gt    "&#x226B;"> <!-- MUCH GREATER-THAN -->
+<!ENTITY lap   "&#x2272;"> <!-- LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY ldot  "&#x22D6;"> <!--  -->
+<!ENTITY lE    "&#x2266;"> <!--  -->
+<!ENTITY lEg   "&#x22DA;"> <!--  -->
+<!ENTITY leg   "&#x22DA;"> <!--  -->
+<!ENTITY les   "&#x2264;"> <!-- LESS-THAN OR EQUAL TO -->
+<!ENTITY lg    "&#x2276;"> <!-- LESS-THAN OR GREATER-THAN -->
+<!ENTITY Ll    "&#x22D8;"> <!--  -->
+<!ENTITY lsim  "&#x2272;"> <!-- LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY Lt    "&#x226A;"> <!-- MUCH LESS-THAN -->
+<!ENTITY ltrie "&#x22B4;"> <!--  -->
+<!ENTITY mid   "&#x2223;"> <!--  -->
+<!ENTITY models        "&#x22A7;"> <!-- MODELS -->
+<!ENTITY pr    "&#x227A;"> <!--  -->
+<!ENTITY prap  "&#x227E;"> <!--  -->
+<!ENTITY pre   "&#x227C;"> <!--  -->
+<!ENTITY prsim "&#x227E;"> <!--  -->
+<!ENTITY rtrie "&#x22B5;"> <!--  -->
+<!ENTITY samalg        "&#x2210;"> <!--  -->
+<!ENTITY sc    "&#x227B;"> <!--  -->
+<!ENTITY scap  "&#x227F;"> <!--  -->
+<!ENTITY sccue "&#x227D;"> <!--  -->
+<!ENTITY sce   "&#x227D;"> <!--  -->
+<!ENTITY scsim "&#x227F;"> <!--  -->
+<!ENTITY sfrown        "&#x2322;"> <!-- FROWN -->
+<!ENTITY smid  "&#xE301;"> <!--  -->
+<!ENTITY smile "&#x2323;"> <!--  -->
+<!ENTITY spar  "&#x2225;"> <!-- PARALLEL TO -->
+<!ENTITY sqsub "&#x228F;"> <!--  -->
+<!ENTITY sqsube        "&#x2291;"> <!--  -->
+<!ENTITY sqsup "&#x2290;"> <!--  -->
+<!ENTITY sqsupe        "&#x2292;"> <!--  -->
+<!ENTITY ssmile        "&#x2323;"> <!-- SMILE -->
+<!ENTITY Sub   "&#x22D0;"> <!--  -->
+<!ENTITY subE  "&#x2286;"> <!--  -->
+<!ENTITY Sup   "&#x22D1;"> <!--  -->
+<!ENTITY supE  "&#x2287;"> <!--  -->
+<!ENTITY thkap "&#x2248;"> <!-- ALMOST EQUAL TO -->
+<!ENTITY thksim        "&#x223C;"> <!-- TILDE OPERATOR -->
+<!ENTITY trie  "&#x225C;"> <!--  -->
+<!ENTITY twixt "&#x226C;"> <!-- BETWEEN -->
+<!ENTITY vdash "&#x22A2;"> <!--  -->
+<!ENTITY Vdash "&#x22A9;"> <!--  -->
+<!ENTITY vDash "&#x22A8;"> <!--  -->
+<!ENTITY veebar        "&#x22BB;"> <!--  -->
+<!ENTITY vltri "&#x22B2;"> <!--  -->
+<!ENTITY vprop "&#x221D;"> <!--  -->
+<!ENTITY vrtri "&#x22B3;"> <!--  -->
+<!ENTITY Vvdash        "&#x22AA;"> <!--  -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-box.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-box.ent
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,45 @@
+<!-- iso-box.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY boxh  "&#x2500;"> <!-- BOX DRAWINGS LIGHT HORIZONTAL -->
+<!ENTITY boxv  "&#x2502;"> <!-- BOX DRAWINGS LIGHT VERTICAL -->
+<!ENTITY boxur "&#x2514;"> <!-- BOX DRAWINGS LIGHT UP AND RIGHT -->
+<!ENTITY boxul "&#x2518;"> <!-- BOX DRAWINGS LIGHT UP AND LEFT -->
+<!ENTITY boxdl "&#x2510;"> <!-- BOX DRAWINGS LIGHT DOWN AND LEFT -->
+<!ENTITY boxdr "&#x250C;"> <!-- BOX DRAWINGS LIGHT DOWN AND RIGHT -->
+<!ENTITY boxvr "&#x251C;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND RIGHT -->
+<!ENTITY boxhu "&#x2534;"> <!-- BOX DRAWINGS LIGHT UP AND HORIZONTAL -->
+<!ENTITY boxvl "&#x2524;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND LEFT -->
+<!ENTITY boxhd "&#x252C;"> <!-- BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -->
+<!ENTITY boxvh "&#x253C;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -->
+<!ENTITY boxvR "&#x255E;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE 
-->
+<!ENTITY boxhU "&#x2567;"> <!-- BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE 
-->
+<!ENTITY boxvL "&#x2561;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE 
-->
+<!ENTITY boxhD "&#x2564;"> <!-- BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE 
-->
+<!ENTITY boxvH "&#x256A;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL 
DOUBLE -->
+<!ENTITY boxH  "&#x2550;"> <!-- BOX DRAWINGS DOUBLE HORIZONTAL -->
+<!ENTITY boxV  "&#x2551;"> <!-- BOX DRAWINGS DOUBLE VERTICAL -->
+<!ENTITY boxUR "&#x2558;"> <!-- BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxUL "&#x255B;"> <!-- BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxDL "&#x2555;"> <!-- BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxDR "&#x2552;"> <!-- BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxVR "&#x255F;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE 
-->
+<!ENTITY boxHU "&#x2568;"> <!-- BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE 
-->
+<!ENTITY boxVL "&#x2562;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE 
-->
+<!ENTITY boxHD "&#x2565;"> <!-- BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE 
-->
+<!ENTITY boxVH "&#x256B;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL 
SINGLE -->
+<!ENTITY boxVr "&#x2560;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -->
+<!ENTITY boxHu "&#x2569;"> <!-- BOX DRAWINGS DOUBLE UP AND HORIZONTAL -->
+<!ENTITY boxVl "&#x2563;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND LEFT -->
+<!ENTITY boxHd "&#x2566;"> <!-- BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -->
+<!ENTITY boxVh "&#x256C;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -->
+<!ENTITY boxuR "&#x2559;"> <!-- BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxUl "&#x255C;"> <!-- BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxdL "&#x2556;"> <!-- BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxDr "&#x2553;"> <!-- BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxUr "&#x255A;"> <!-- BOX DRAWINGS DOUBLE UP AND RIGHT -->
+<!ENTITY boxuL "&#x255D;"> <!-- BOX DRAWINGS DOUBLE UP AND LEFT -->
+<!ENTITY boxDl "&#x2557;"> <!-- BOX DRAWINGS DOUBLE DOWN AND LEFT -->
+<!ENTITY boxdR "&#x2554;"> <!-- BOX DRAWINGS DOUBLE DOWN AND RIGHT -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-cyr1.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-cyr1.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,72 @@
+<!-- iso-cyr1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY acy   "&#x0430;"> <!-- CYRILLIC SMALL LETTER A -->
+<!ENTITY Acy   "&#x0410;"> <!-- CYRILLIC CAPITAL LETTER A -->
+<!ENTITY bcy   "&#x0431;"> <!-- CYRILLIC SMALL LETTER BE -->
+<!ENTITY Bcy   "&#x0411;"> <!-- CYRILLIC CAPITAL LETTER BE -->
+<!ENTITY vcy   "&#x0432;"> <!-- CYRILLIC SMALL LETTER VE -->
+<!ENTITY Vcy   "&#x0412;"> <!-- CYRILLIC CAPITAL LETTER VE -->
+<!ENTITY gcy   "&#x0433;"> <!-- CYRILLIC SMALL LETTER GHE -->
+<!ENTITY Gcy   "&#x0413;"> <!-- CYRILLIC CAPITAL LETTER GHE -->
+<!ENTITY dcy   "&#x0434;"> <!-- CYRILLIC SMALL LETTER DE -->
+<!ENTITY Dcy   "&#x0414;"> <!-- CYRILLIC CAPITAL LETTER DE -->
+<!ENTITY iecy  "&#x0435;"> <!-- CYRILLIC SMALL LETTER IE -->
+<!ENTITY IEcy  "&#x0415;"> <!-- CYRILLIC CAPITAL LETTER IE -->
+<!ENTITY iocy  "&#x0451;"> <!-- CYRILLIC SMALL LETTER IO -->
+<!ENTITY IOcy  "&#x0401;"> <!-- CYRILLIC CAPITAL LETTER IO -->
+<!ENTITY zhcy  "&#x0436;"> <!-- CYRILLIC SMALL LETTER ZHE -->
+<!ENTITY ZHcy  "&#x0416;"> <!-- CYRILLIC CAPITAL LETTER ZHE -->
+<!ENTITY zcy   "&#x0437;"> <!-- CYRILLIC SMALL LETTER ZE -->
+<!ENTITY Zcy   "&#x0417;"> <!-- CYRILLIC CAPITAL LETTER ZE -->
+<!ENTITY icy   "&#x0438;"> <!-- CYRILLIC SMALL LETTER I -->
+<!ENTITY Icy   "&#x0418;"> <!-- CYRILLIC CAPITAL LETTER I -->
+<!ENTITY jcy   "&#x0439;"> <!-- CYRILLIC SMALL LETTER SHORT I -->
+<!ENTITY Jcy   "&#x0419;"> <!-- CYRILLIC CAPITAL LETTER SHORT I -->
+<!ENTITY kcy   "&#x043A;"> <!-- CYRILLIC SMALL LETTER KA -->
+<!ENTITY Kcy   "&#x041A;"> <!-- CYRILLIC CAPITAL LETTER KA -->
+<!ENTITY lcy   "&#x043B;"> <!-- CYRILLIC SMALL LETTER EL -->
+<!ENTITY Lcy   "&#x041B;"> <!-- CYRILLIC CAPITAL LETTER EL -->
+<!ENTITY mcy   "&#x043C;"> <!-- CYRILLIC SMALL LETTER EM -->
+<!ENTITY Mcy   "&#x041C;"> <!-- CYRILLIC CAPITAL LETTER EM -->
+<!ENTITY ncy   "&#x043D;"> <!-- CYRILLIC SMALL LETTER EN -->
+<!ENTITY Ncy   "&#x041D;"> <!-- CYRILLIC CAPITAL LETTER EN -->
+<!ENTITY ocy   "&#x043E;"> <!-- CYRILLIC SMALL LETTER O -->
+<!ENTITY Ocy   "&#x041E;"> <!-- CYRILLIC CAPITAL LETTER O -->
+<!ENTITY pcy   "&#x043F;"> <!-- CYRILLIC SMALL LETTER PE -->
+<!ENTITY Pcy   "&#x041F;"> <!-- CYRILLIC CAPITAL LETTER PE -->
+<!ENTITY rcy   "&#x0440;"> <!-- CYRILLIC SMALL LETTER ER -->
+<!ENTITY Rcy   "&#x0420;"> <!-- CYRILLIC CAPITAL LETTER ER -->
+<!ENTITY scy   "&#x0441;"> <!-- CYRILLIC SMALL LETTER ES -->
+<!ENTITY Scy   "&#x0421;"> <!-- CYRILLIC CAPITAL LETTER ES -->
+<!ENTITY tcy   "&#x0442;"> <!-- CYRILLIC SMALL LETTER TE -->
+<!ENTITY Tcy   "&#x0422;"> <!-- CYRILLIC CAPITAL LETTER TE -->
+<!ENTITY ucy   "&#x0443;"> <!-- CYRILLIC SMALL LETTER U -->
+<!ENTITY Ucy   "&#x0423;"> <!-- CYRILLIC CAPITAL LETTER U -->
+<!ENTITY fcy   "&#x0444;"> <!-- CYRILLIC SMALL LETTER EF -->
+<!ENTITY Fcy   "&#x0424;"> <!-- CYRILLIC CAPITAL LETTER EF -->
+<!ENTITY khcy  "&#x0445;"> <!-- CYRILLIC SMALL LETTER HA -->
+<!ENTITY KHcy  "&#x0425;"> <!-- CYRILLIC CAPITAL LETTER HA -->
+<!ENTITY tscy  "&#x0446;"> <!-- CYRILLIC SMALL LETTER TSE -->
+<!ENTITY TScy  "&#x0426;"> <!-- CYRILLIC CAPITAL LETTER TSE -->
+<!ENTITY chcy  "&#x0447;"> <!-- CYRILLIC SMALL LETTER CHE -->
+<!ENTITY CHcy  "&#x0427;"> <!-- CYRILLIC CAPITAL LETTER CHE -->
+<!ENTITY shcy  "&#x0448;"> <!-- CYRILLIC SMALL LETTER SHA -->
+<!ENTITY SHcy  "&#x0428;"> <!-- CYRILLIC CAPITAL LETTER SHA -->
+<!ENTITY shchcy        "&#x0449;"> <!-- CYRILLIC SMALL LETTER SHCHA -->
+<!ENTITY SHCHcy        "&#x0429;"> <!-- CYRILLIC CAPITAL LETTER SHCHA -->
+<!ENTITY hardcy        "&#x044A;"> <!-- CYRILLIC SMALL LETTER HARD SIGN -->
+<!ENTITY HARDcy        "&#x042A;"> <!-- CYRILLIC CAPITAL LETTER HARD SIGN -->
+<!ENTITY ycy   "&#x044B;"> <!-- CYRILLIC SMALL LETTER YERU -->
+<!ENTITY Ycy   "&#x042B;"> <!-- CYRILLIC CAPITAL LETTER YERU -->
+<!ENTITY softcy        "&#x044C;"> <!-- CYRILLIC SMALL LETTER SOFT SIGN -->
+<!ENTITY SOFTcy        "&#x042C;"> <!-- CYRILLIC CAPITAL LETTER SOFT SIGN -->
+<!ENTITY ecy   "&#x044D;"> <!-- CYRILLIC SMALL LETTER E -->
+<!ENTITY Ecy   "&#x042D;"> <!-- CYRILLIC CAPITAL LETTER E -->
+<!ENTITY yucy  "&#x044E;"> <!-- CYRILLIC SMALL LETTER YU -->
+<!ENTITY YUcy  "&#x042E;"> <!-- CYRILLIC CAPITAL LETTER YU -->
+<!ENTITY yacy  "&#x044F;"> <!-- CYRILLIC SMALL LETTER YA -->
+<!ENTITY YAcy  "&#x042F;"> <!-- CYRILLIC CAPITAL LETTER YA -->
+<!ENTITY numero        "&#x2116;"> <!-- NUMERO SIGN -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-cyr2.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-cyr2.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,31 @@
+<!-- iso-cyr2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY djcy  "&#x0452;"> <!-- CYRILLIC SMALL LETTER DJE -->
+<!ENTITY DJcy  "&#x0402;"> <!-- CYRILLIC CAPITAL LETTER DJE -->
+<!ENTITY gjcy  "&#x0453;"> <!-- CYRILLIC SMALL LETTER GJE -->
+<!ENTITY GJcy  "&#x0403;"> <!-- CYRILLIC CAPITAL LETTER GJE -->
+<!ENTITY jukcy "&#x0454;"> <!-- CYRILLIC SMALL LETTER UKRAINIAN IE -->
+<!ENTITY Jukcy "&#x0404;"> <!-- CYRILLIC CAPITAL LETTER UKRAINIAN IE -->
+<!ENTITY dscy  "&#x0455;"> <!-- CYRILLIC SMALL LETTER DZE -->
+<!ENTITY DScy  "&#x0405;"> <!-- CYRILLIC CAPITAL LETTER DZE -->
+<!ENTITY iukcy "&#x0456;"> <!-- CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 
-->
+<!ENTITY Iukcy "&#x0406;"> <!-- CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN 
I -->
+<!ENTITY yicy  "&#x0457;"> <!-- CYRILLIC SMALL LETTER YI -->
+<!ENTITY YIcy  "&#x0407;"> <!-- CYRILLIC CAPITAL LETTER YI -->
+<!ENTITY jsercy        "&#x0458;"> <!-- CYRILLIC SMALL LETTER JE -->
+<!ENTITY Jsercy        "&#x0408;"> <!-- CYRILLIC CAPITAL LETTER JE -->
+<!ENTITY ljcy  "&#x0459;"> <!-- CYRILLIC SMALL LETTER LJE -->
+<!ENTITY LJcy  "&#x0409;"> <!-- CYRILLIC CAPITAL LETTER LJE -->
+<!ENTITY njcy  "&#x045A;"> <!-- CYRILLIC SMALL LETTER NJE -->
+<!ENTITY NJcy  "&#x040A;"> <!-- CYRILLIC CAPITAL LETTER NJE -->
+<!ENTITY tshcy "&#x045B;"> <!-- CYRILLIC SMALL LETTER TSHE -->
+<!ENTITY TSHcy "&#x040B;"> <!-- CYRILLIC CAPITAL LETTER TSHE -->
+<!ENTITY kjcy  "&#x045C;"> <!-- CYRILLIC SMALL LETTER KJE -->
+<!ENTITY KJcy  "&#x040C;"> <!-- CYRILLIC CAPITAL LETTER KJE -->
+<!ENTITY ubrcy "&#x045E;"> <!-- CYRILLIC SMALL LETTER SHORT U -->
+<!ENTITY Ubrcy "&#x040E;"> <!-- CYRILLIC CAPITAL LETTER SHORT U -->
+<!ENTITY dzcy  "&#x045F;"> <!-- CYRILLIC SMALL LETTER DZHE -->
+<!ENTITY DZcy  "&#x040F;"> <!-- CYRILLIC CAPITAL LETTER DZHE -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-dia.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-dia.ent
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,19 @@
+<!-- iso-dia.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY acute "&#x00B4;"> <!-- ACUTE ACCENT -->
+<!ENTITY breve "&#x02D8;"> <!-- BREVE -->
+<!ENTITY caron "&#x02C7;"> <!-- CARON -->
+<!ENTITY cedil "&#x00B8;"> <!-- CEDILLA -->
+<!ENTITY circ  "&#x005E;"> <!-- RING OPERATOR -->
+<!ENTITY dblac "&#x02DD;"> <!-- DOUBLE ACUTE ACCENT -->
+<!ENTITY die   "&#x00A8;"> <!--  -->
+<!ENTITY dot   "&#x02D9;"> <!-- DOT ABOVE -->
+<!ENTITY grave "&#x0060;"> <!-- GRAVE ACCENT -->
+<!ENTITY macr  "&#x00AF;"> <!-- MACRON -->
+<!ENTITY ogon  "&#x02DB;"> <!-- OGONEK -->
+<!ENTITY ring  "&#x02DA;"> <!-- RING ABOVE -->
+<!ENTITY tilde "&#x02DC;"> <!-- TILDE -->
+<!ENTITY uml   "&#x00A8;"> <!--  -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk1.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk1.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,54 @@
+<!-- iso-grk1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY agr   "&#x03B1;"> <!--  -->
+<!ENTITY Agr   "&#x0391;"> <!-- GREEK CAPITAL LETTER ALPHA -->
+<!ENTITY bgr   "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY Bgr   "&#x0392;"> <!-- GREEK CAPITAL LETTER BETA -->
+<!ENTITY ggr   "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY Ggr   "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY dgr   "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY Dgr   "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY egr   "&#x03B5;"> <!--  -->
+<!ENTITY Egr   "&#x0395;"> <!-- GREEK CAPITAL LETTER EPSILON -->
+<!ENTITY zgr   "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY Zgr   "&#x0396;"> <!-- GREEK CAPITAL LETTER ZETA -->
+<!ENTITY eegr  "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY EEgr  "&#x0397;"> <!-- GREEK CAPITAL LETTER ETA -->
+<!ENTITY thgr  "&#x03B8;"> <!--  -->
+<!ENTITY THgr  "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY igr   "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY Igr   "&#x0399;"> <!-- GREEK CAPITAL LETTER IOTA -->
+<!ENTITY kgr   "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY Kgr   "&#x039A;"> <!-- GREEK CAPITAL LETTER KAPPA -->
+<!ENTITY lgr   "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY Lgr   "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY mgr   "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY Mgr   "&#x039C;"> <!-- GREEK CAPITAL LETTER MU -->
+<!ENTITY ngr   "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY Ngr   "&#x039D;"> <!-- GREEK CAPITAL LETTER NU -->
+<!ENTITY xgr   "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY Xgr   "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY ogr   "&#x03BF;"> <!-- GREEK SMALL LETTER OMICRON -->
+<!ENTITY Ogr   "&#x039F;"> <!-- GREEK CAPITAL LETTER OMICRON -->
+<!ENTITY pgr   "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY Pgr   "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY rgr   "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY Rgr   "&#x03A1;"> <!-- GREEK CAPITAL LETTER RHO -->
+<!ENTITY sgr   "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY Sgr   "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sfgr  "&#x03C2;"> <!--  -->
+<!ENTITY tgr   "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY Tgr   "&#x03A4;"> <!-- GREEK CAPITAL LETTER TAU -->
+<!ENTITY ugr   "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY Ugr   "&#x03A5;"> <!--  -->
+<!ENTITY phgr  "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY PHgr  "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY khgr  "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY KHgr  "&#x03A7;"> <!-- GREEK CAPITAL LETTER CHI -->
+<!ENTITY psgr  "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY PSgr  "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY ohgr  "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY OHgr  "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk2.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk2.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,25 @@
+<!-- iso-grk2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY aacgr "&#x03AC;"> <!-- GREEK SMALL LETTER ALPHA WITH TONOS -->
+<!ENTITY Aacgr "&#x0386;"> <!-- GREEK CAPITAL LETTER ALPHA WITH TONOS -->
+<!ENTITY eacgr "&#x03AD;"> <!-- GREEK SMALL LETTER EPSILON WITH TONOS -->
+<!ENTITY Eacgr "&#x0388;"> <!-- GREEK CAPITAL LETTER EPSILON WITH TONOS -->
+<!ENTITY eeacgr        "&#x03AE;"> <!-- GREEK SMALL LETTER ETA WITH TONOS -->
+<!ENTITY EEacgr        "&#x0389;"> <!-- GREEK CAPITAL LETTER ETA WITH TONOS -->
+<!ENTITY idigr "&#x03CA;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY Idigr "&#x03AA;"> <!-- GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY iacgr "&#x03AF;"> <!-- GREEK SMALL LETTER IOTA WITH TONOS -->
+<!ENTITY Iacgr "&#x038A;"> <!-- GREEK CAPITAL LETTER IOTA WITH TONOS -->
+<!ENTITY idiagr        "&#x0390;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA 
AND TONOS -->
+<!ENTITY oacgr "&#x03CC;"> <!-- GREEK SMALL LETTER OMICRON WITH TONOS -->
+<!ENTITY Oacgr "&#x038C;"> <!-- GREEK CAPITAL LETTER OMICRON WITH TONOS -->
+<!ENTITY udigr "&#x03CB;"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY Udigr "&#x03AB;"> <!-- GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY uacgr "&#x03CD;"> <!-- GREEK SMALL LETTER UPSILON WITH TONOS -->
+<!ENTITY Uacgr "&#x038E;"> <!-- GREEK CAPITAL LETTER UPSILON WITH TONOS -->
+<!ENTITY udiagr        "&#x03B0;"> <!-- GREEK SMALL LETTER UPSILON WITH 
DIALYTIKA AND TONOS -->
+<!ENTITY ohacgr        "&#x03CE;"> <!-- GREEK SMALL LETTER OMEGA WITH TONOS -->
+<!ENTITY OHacgr        "&#x038F;"> <!-- GREEK CAPITAL LETTER OMEGA WITH TONOS 
-->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk3.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk3.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,48 @@
+<!-- iso-grk3.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY alpha "&#x03B1;"> <!--  -->
+<!ENTITY beta  "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY gamma "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY Gamma "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY gammad        "&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
+<!ENTITY delta "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY Delta "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY epsi  "&#x220A;"> <!--  -->
+<!ENTITY epsiv "&#x03B5;"> <!--  -->
+<!ENTITY epsis "&#x220A;"> <!--  -->
+<!ENTITY zeta  "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY eta   "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY thetas        "&#x03B8;"> <!--  -->
+<!ENTITY Theta "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY thetav        "&#x03D1;"> <!--  -->
+<!ENTITY iota  "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY kappa "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY kappav        "&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
+<!ENTITY lambda        "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY Lambda        "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY mu    "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY nu    "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY xi    "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY Xi    "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY pi    "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY piv   "&#x03D6;"> <!-- GREEK PI SYMBOL -->
+<!ENTITY Pi    "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY rho   "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY rhov  "&#x03F1;"> <!-- GREEK RHO SYMBOL -->
+<!ENTITY sigma "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY Sigma "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sigmav        "&#x03C2;"> <!--  -->
+<!ENTITY tau   "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY upsi  "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY Upsi  "&#x03D2;"> <!--  -->
+<!ENTITY phis  "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY Phi   "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY phiv  "&#x03D5;"> <!-- GREEK PHI SYMBOL -->
+<!ENTITY chi   "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY psi   "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY Psi   "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY omega "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY Omega "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk4.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-grk4.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,48 @@
+<!-- iso-grk4.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY b.alpha       "&#x03B1;"> <!--  -->
+<!ENTITY b.beta        "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+<!ENTITY b.gamma       "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+<!ENTITY b.Gamma       "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY b.gammad      "&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
+<!ENTITY b.delta       "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+<!ENTITY b.Delta       "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+<!ENTITY b.epsi        "&#x03B5;"> <!--  -->
+<!ENTITY b.epsiv       "&#x03B5;"> <!--  -->
+<!ENTITY b.epsis       "&#x03B5;"> <!--  -->
+<!ENTITY b.zeta        "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+<!ENTITY b.eta "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+<!ENTITY b.thetas      "&#x03B8;"> <!--  -->
+<!ENTITY b.Theta       "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+<!ENTITY b.thetav      "&#x03D1;"> <!--  -->
+<!ENTITY b.iota        "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+<!ENTITY b.kappa       "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+<!ENTITY b.kappav      "&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
+<!ENTITY b.lambda      "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+<!ENTITY b.Lambda      "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY b.mu  "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+<!ENTITY b.nu  "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+<!ENTITY b.xi  "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+<!ENTITY b.Xi  "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+<!ENTITY b.pi  "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+<!ENTITY b.Pi  "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+<!ENTITY b.piv "&#x03D6;"> <!-- GREEK PI SYMBOL -->
+<!ENTITY b.rho "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+<!ENTITY b.rhov        "&#x03F1;"> <!-- GREEK RHO SYMBOL -->
+<!ENTITY b.sigma       "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+<!ENTITY b.Sigma       "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY b.sigmav      "&#x03C2;"> <!--  -->
+<!ENTITY b.tau "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+<!ENTITY b.upsi        "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+<!ENTITY b.Upsi        "&#x03D2;"> <!--  -->
+<!ENTITY b.phis        "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+<!ENTITY b.Phi "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+<!ENTITY b.phiv        "&#x03D5;"> <!-- GREEK PHI SYMBOL -->
+<!ENTITY b.chi "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+<!ENTITY b.psi "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+<!ENTITY b.Psi "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+<!ENTITY b.omega       "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+<!ENTITY b.Omega       "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-lat1.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-lat1.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,67 @@
+<!-- iso-lat1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY aacute        "&#x00E1;"> <!-- LATIN SMALL LETTER A WITH ACUTE -->
+<!ENTITY Aacute        "&#x00C1;"> <!-- LATIN CAPITAL LETTER A WITH ACUTE -->
+<!ENTITY acirc "&#x00E2;"> <!-- LATIN SMALL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY Acirc "&#x00C2;"> <!-- LATIN CAPITAL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY agrave        "&#x00E0;"> <!-- LATIN SMALL LETTER A WITH GRAVE -->
+<!ENTITY Agrave        "&#x00C0;"> <!-- LATIN CAPITAL LETTER A WITH GRAVE -->
+<!ENTITY aring "&#x00E5;"> <!-- LATIN SMALL LETTER A WITH RING ABOVE -->
+<!ENTITY Aring "&#x00C5;"> <!-- LATIN CAPITAL LETTER A WITH RING ABOVE -->
+<!ENTITY atilde        "&#x00E3;"> <!-- LATIN SMALL LETTER A WITH TILDE -->
+<!ENTITY Atilde        "&#x00C3;"> <!-- LATIN CAPITAL LETTER A WITH TILDE -->
+<!ENTITY auml  "&#x00E4;"> <!-- LATIN SMALL LETTER A WITH DIAERESIS -->
+<!ENTITY Auml  "&#x00C4;"> <!-- LATIN CAPITAL LETTER A WITH DIAERESIS -->
+<!ENTITY aelig "&#x00E6;"> <!-- LATIN SMALL LETTER AE -->
+<!ENTITY AElig "&#x00C6;"> <!-- LATIN CAPITAL LETTER AE -->
+<!ENTITY ccedil        "&#x00E7;"> <!-- LATIN SMALL LETTER C WITH CEDILLA -->
+<!ENTITY Ccedil        "&#x00C7;"> <!-- LATIN CAPITAL LETTER C WITH CEDILLA -->
+<!ENTITY eth   "&#x00F0;"> <!-- LATIN SMALL LETTER ETH -->
+<!ENTITY ETH   "&#x00D0;"> <!-- LATIN CAPITAL LETTER ETH -->
+<!ENTITY eacute        "&#x00E9;"> <!-- LATIN SMALL LETTER E WITH ACUTE -->
+<!ENTITY Eacute        "&#x00C9;"> <!-- LATIN CAPITAL LETTER E WITH ACUTE -->
+<!ENTITY ecirc "&#x00EA;"> <!-- LATIN SMALL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY Ecirc "&#x00CA;"> <!-- LATIN CAPITAL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY egrave        "&#x00E8;"> <!-- LATIN SMALL LETTER E WITH GRAVE -->
+<!ENTITY Egrave        "&#x00C8;"> <!-- LATIN CAPITAL LETTER E WITH GRAVE -->
+<!ENTITY euml  "&#x00EB;"> <!-- LATIN SMALL LETTER E WITH DIAERESIS -->
+<!ENTITY Euml  "&#x00CB;"> <!-- LATIN CAPITAL LETTER E WITH DIAERESIS -->
+<!ENTITY iacute        "&#x00ED;"> <!-- LATIN SMALL LETTER I WITH ACUTE -->
+<!ENTITY Iacute        "&#x00CD;"> <!-- LATIN CAPITAL LETTER I WITH ACUTE -->
+<!ENTITY icirc "&#x00EE;"> <!-- LATIN SMALL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY Icirc "&#x00CE;"> <!-- LATIN CAPITAL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY igrave        "&#x00EC;"> <!-- LATIN SMALL LETTER I WITH GRAVE -->
+<!ENTITY Igrave        "&#x00CC;"> <!-- LATIN CAPITAL LETTER I WITH GRAVE -->
+<!ENTITY iuml  "&#x00EF;"> <!-- LATIN SMALL LETTER I WITH DIAERESIS -->
+<!ENTITY Iuml  "&#x00CF;"> <!-- LATIN CAPITAL LETTER I WITH DIAERESIS -->
+<!ENTITY ntilde        "&#x00F1;"> <!-- LATIN SMALL LETTER N WITH TILDE -->
+<!ENTITY Ntilde        "&#x00D1;"> <!-- LATIN CAPITAL LETTER N WITH TILDE -->
+<!ENTITY oacute        "&#x00F3;"> <!-- LATIN SMALL LETTER O WITH ACUTE -->
+<!ENTITY Oacute        "&#x00D3;"> <!-- LATIN CAPITAL LETTER O WITH ACUTE -->
+<!ENTITY ocirc "&#x00F4;"> <!-- LATIN SMALL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY Ocirc "&#x00D4;"> <!-- LATIN CAPITAL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY ograve        "&#x00F2;"> <!-- LATIN SMALL LETTER O WITH GRAVE -->
+<!ENTITY Ograve        "&#x00D2;"> <!-- LATIN CAPITAL LETTER O WITH GRAVE -->
+<!ENTITY oslash        "&#x00F8;"> <!-- CIRCLED DIVISION SLASH -->
+<!ENTITY Oslash        "&#x00D8;"> <!-- LATIN CAPITAL LETTER O WITH STROKE -->
+<!ENTITY otilde        "&#x00F5;"> <!-- LATIN SMALL LETTER O WITH TILDE -->
+<!ENTITY Otilde        "&#x00D5;"> <!-- LATIN CAPITAL LETTER O WITH TILDE -->
+<!ENTITY ouml  "&#x00F6;"> <!-- LATIN SMALL LETTER O WITH DIAERESIS -->
+<!ENTITY Ouml  "&#x00D6;"> <!-- LATIN CAPITAL LETTER O WITH DIAERESIS -->
+<!ENTITY szlig "&#x00DF;"> <!-- LATIN SMALL LETTER SHARP S -->
+<!ENTITY thorn "&#x00FE;"> <!-- LATIN SMALL LETTER THORN -->
+<!ENTITY THORN "&#x00DE;"> <!-- LATIN CAPITAL LETTER THORN -->
+<!ENTITY uacute        "&#x00FA;"> <!-- LATIN SMALL LETTER U WITH ACUTE -->
+<!ENTITY Uacute        "&#x00DA;"> <!-- LATIN CAPITAL LETTER U WITH ACUTE -->
+<!ENTITY ucirc "&#x00FB;"> <!-- LATIN SMALL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY Ucirc "&#x00DB;"> <!-- LATIN CAPITAL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY ugrave        "&#x00F9;"> <!-- LATIN SMALL LETTER U WITH GRAVE -->
+<!ENTITY Ugrave        "&#x00D9;"> <!-- LATIN CAPITAL LETTER U WITH GRAVE -->
+<!ENTITY uuml  "&#x00FC;"> <!-- LATIN SMALL LETTER U WITH DIAERESIS -->
+<!ENTITY Uuml  "&#x00DC;"> <!-- LATIN CAPITAL LETTER U WITH DIAERESIS -->
+<!ENTITY yacute        "&#x00FD;"> <!-- LATIN SMALL LETTER Y WITH ACUTE -->
+<!ENTITY Yacute        "&#x00DD;"> <!-- LATIN CAPITAL LETTER Y WITH ACUTE -->
+<!ENTITY yuml  "&#x00FF;"> <!-- LATIN SMALL LETTER Y WITH DIAERESIS -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-lat2.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-lat2.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,126 @@
+<!-- iso-lat2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY abreve        "&#x0103;"> <!-- LATIN SMALL LETTER A WITH BREVE -->
+<!ENTITY Abreve        "&#x0102;"> <!-- LATIN CAPITAL LETTER A WITH BREVE -->
+<!ENTITY amacr "&#x0101;"> <!-- LATIN SMALL LETTER A WITH MACRON -->
+<!ENTITY Amacr "&#x0100;"> <!-- LATIN CAPITAL LETTER A WITH MACRON -->
+<!ENTITY aogon "&#x0105;"> <!-- LATIN SMALL LETTER A WITH OGONEK -->
+<!ENTITY Aogon "&#x0104;"> <!-- LATIN CAPITAL LETTER A WITH OGONEK -->
+<!ENTITY cacute        "&#x0107;"> <!-- LATIN SMALL LETTER C WITH ACUTE -->
+<!ENTITY Cacute        "&#x0106;"> <!-- LATIN CAPITAL LETTER C WITH ACUTE -->
+<!ENTITY ccaron        "&#x010D;"> <!-- LATIN SMALL LETTER C WITH CARON -->
+<!ENTITY Ccaron        "&#x010C;"> <!-- LATIN CAPITAL LETTER C WITH CARON -->
+<!ENTITY ccirc "&#x0109;"> <!-- LATIN SMALL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY Ccirc "&#x0108;"> <!-- LATIN CAPITAL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY cdot  "&#x010B;"> <!-- DOT OPERATOR -->
+<!ENTITY Cdot  "&#x010A;"> <!-- LATIN CAPITAL LETTER C WITH DOT ABOVE -->
+<!ENTITY dcaron        "&#x010F;"> <!-- LATIN SMALL LETTER D WITH CARON -->
+<!ENTITY Dcaron        "&#x010E;"> <!-- LATIN CAPITAL LETTER D WITH CARON -->
+<!ENTITY dstrok        "&#x0111;"> <!-- LATIN SMALL LETTER D WITH STROKE -->
+<!ENTITY Dstrok        "&#x0110;"> <!-- LATIN CAPITAL LETTER D WITH STROKE -->
+<!ENTITY ecaron        "&#x011B;"> <!-- LATIN SMALL LETTER E WITH CARON -->
+<!ENTITY Ecaron        "&#x011A;"> <!-- LATIN CAPITAL LETTER E WITH CARON -->
+<!ENTITY edot  "&#x0117;"> <!-- LATIN SMALL LETTER E WITH DOT ABOVE -->
+<!ENTITY Edot  "&#x0116;"> <!-- LATIN CAPITAL LETTER E WITH DOT ABOVE -->
+<!ENTITY emacr "&#x0113;"> <!-- LATIN SMALL LETTER E WITH MACRON -->
+<!ENTITY Emacr "&#x0112;"> <!-- LATIN CAPITAL LETTER E WITH MACRON -->
+<!ENTITY eogon "&#x0119;"> <!-- LATIN SMALL LETTER E WITH OGONEK -->
+<!ENTITY Eogon "&#x0118;"> <!-- LATIN CAPITAL LETTER E WITH OGONEK -->
+<!ENTITY gacute        "&#x01F5;"> <!-- LATIN SMALL LETTER G WITH ACUTE -->
+<!ENTITY gbreve        "&#x011F;"> <!-- LATIN SMALL LETTER G WITH BREVE -->
+<!ENTITY Gbreve        "&#x011E;"> <!-- LATIN CAPITAL LETTER G WITH BREVE -->
+<!ENTITY Gcedil        "&#x0122;"> <!-- LATIN CAPITAL LETTER G WITH CEDILLA -->
+<!ENTITY gcirc "&#x011D;"> <!-- LATIN SMALL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY Gcirc "&#x011C;"> <!-- LATIN CAPITAL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY gdot  "&#x0121;"> <!-- LATIN SMALL LETTER G WITH DOT ABOVE -->
+<!ENTITY Gdot  "&#x0120;"> <!-- LATIN CAPITAL LETTER G WITH DOT ABOVE -->
+<!ENTITY hcirc "&#x0125;"> <!-- LATIN SMALL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY Hcirc "&#x0124;"> <!-- LATIN CAPITAL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY hstrok        "&#x0127;"> <!-- LATIN SMALL LETTER H WITH STROKE -->
+<!ENTITY Hstrok        "&#x0126;"> <!-- LATIN CAPITAL LETTER H WITH STROKE -->
+<!ENTITY Idot  "&#x0130;"> <!-- LATIN CAPITAL LETTER I WITH DOT ABOVE -->
+<!ENTITY Imacr "&#x012A;"> <!-- LATIN CAPITAL LETTER I WITH MACRON -->
+<!ENTITY imacr "&#x012B;"> <!-- LATIN SMALL LETTER I WITH MACRON -->
+<!ENTITY ijlig "&#x0133;"> <!-- LATIN SMALL LIGATURE IJ -->
+<!ENTITY IJlig "&#x0132;"> <!-- LATIN CAPITAL LIGATURE IJ -->
+<!ENTITY inodot        "&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
+<!ENTITY iogon "&#x012F;"> <!-- LATIN SMALL LETTER I WITH OGONEK -->
+<!ENTITY Iogon "&#x012E;"> <!-- LATIN CAPITAL LETTER I WITH OGONEK -->
+<!ENTITY itilde        "&#x0129;"> <!-- LATIN SMALL LETTER I WITH TILDE -->
+<!ENTITY Itilde        "&#x0128;"> <!-- LATIN CAPITAL LETTER I WITH TILDE -->
+<!ENTITY jcirc "&#x0135;"> <!-- LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY Jcirc "&#x0134;"> <!-- LATIN CAPITAL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY kcedil        "&#x0137;"> <!-- LATIN SMALL LETTER K WITH CEDILLA -->
+<!ENTITY Kcedil        "&#x0136;"> <!-- LATIN CAPITAL LETTER K WITH CEDILLA -->
+<!ENTITY kgreen        "&#x0138;"> <!-- LATIN SMALL LETTER KRA -->
+<!ENTITY lacute        "&#x013A;"> <!-- LATIN SMALL LETTER L WITH ACUTE -->
+<!ENTITY Lacute        "&#x0139;"> <!-- LATIN CAPITAL LETTER L WITH ACUTE -->
+<!ENTITY lcaron        "&#x013E;"> <!-- LATIN SMALL LETTER L WITH CARON -->
+<!ENTITY Lcaron        "&#x013D;"> <!-- LATIN CAPITAL LETTER L WITH CARON -->
+<!ENTITY lcedil        "&#x013C;"> <!-- LATIN SMALL LETTER L WITH CEDILLA -->
+<!ENTITY Lcedil        "&#x013B;"> <!-- LATIN CAPITAL LETTER L WITH CEDILLA -->
+<!ENTITY lmidot        "&#x0140;"> <!-- LATIN SMALL LETTER L WITH MIDDLE DOT 
-->
+<!ENTITY Lmidot        "&#x013F;"> <!-- LATIN CAPITAL LETTER L WITH MIDDLE DOT 
-->
+<!ENTITY lstrok        "&#x0142;"> <!-- LATIN SMALL LETTER L WITH STROKE -->
+<!ENTITY Lstrok        "&#x0141;"> <!-- LATIN CAPITAL LETTER L WITH STROKE -->
+<!ENTITY nacute        "&#x0144;"> <!-- LATIN SMALL LETTER N WITH ACUTE -->
+<!ENTITY Nacute        "&#x0143;"> <!-- LATIN CAPITAL LETTER N WITH ACUTE -->
+<!ENTITY eng   "&#x014B;"> <!-- LATIN SMALL LETTER ENG -->
+<!ENTITY ENG   "&#x014A;"> <!-- LATIN CAPITAL LETTER ENG -->
+<!ENTITY napos "&#x0149;"> <!-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -->
+<!ENTITY ncaron        "&#x0148;"> <!-- LATIN SMALL LETTER N WITH CARON -->
+<!ENTITY Ncaron        "&#x0147;"> <!-- LATIN CAPITAL LETTER N WITH CARON -->
+<!ENTITY ncedil        "&#x0146;"> <!-- LATIN SMALL LETTER N WITH CEDILLA -->
+<!ENTITY Ncedil        "&#x0145;"> <!-- LATIN CAPITAL LETTER N WITH CEDILLA -->
+<!ENTITY odblac        "&#x0151;"> <!-- LATIN SMALL LETTER O WITH DOUBLE ACUTE 
-->
+<!ENTITY Odblac        "&#x0150;"> <!-- LATIN CAPITAL LETTER O WITH DOUBLE 
ACUTE -->
+<!ENTITY Omacr "&#x014C;"> <!-- LATIN CAPITAL LETTER O WITH MACRON -->
+<!ENTITY omacr "&#x014D;"> <!-- LATIN SMALL LETTER O WITH MACRON -->
+<!ENTITY oelig "&#x0153;"> <!-- LATIN SMALL LIGATURE OE -->
+<!ENTITY OElig "&#x0152;"> <!-- LATIN CAPITAL LIGATURE OE -->
+<!ENTITY racute        "&#x0155;"> <!-- LATIN SMALL LETTER R WITH ACUTE -->
+<!ENTITY Racute        "&#x0154;"> <!-- LATIN CAPITAL LETTER R WITH ACUTE -->
+<!ENTITY rcaron        "&#x0159;"> <!-- LATIN SMALL LETTER R WITH CARON -->
+<!ENTITY Rcaron        "&#x0158;"> <!-- LATIN CAPITAL LETTER R WITH CARON -->
+<!ENTITY rcedil        "&#x0157;"> <!-- LATIN SMALL LETTER R WITH CEDILLA -->
+<!ENTITY Rcedil        "&#x0156;"> <!-- LATIN CAPITAL LETTER R WITH CEDILLA -->
+<!ENTITY sacute        "&#x015B;"> <!-- LATIN SMALL LETTER S WITH ACUTE -->
+<!ENTITY Sacute        "&#x015A;"> <!-- LATIN CAPITAL LETTER S WITH ACUTE -->
+<!ENTITY scaron        "&#x0161;"> <!-- LATIN SMALL LETTER S WITH CARON -->
+<!ENTITY Scaron        "&#x0160;"> <!-- LATIN CAPITAL LETTER S WITH CARON -->
+<!ENTITY scedil        "&#x015F;"> <!-- LATIN SMALL LETTER S WITH CEDILLA -->
+<!ENTITY Scedil        "&#x015E;"> <!-- LATIN CAPITAL LETTER S WITH CEDILLA -->
+<!ENTITY scirc "&#x015D;"> <!-- LATIN SMALL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY Scirc "&#x015C;"> <!-- LATIN CAPITAL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY tcaron        "&#x0165;"> <!-- LATIN SMALL LETTER T WITH CARON -->
+<!ENTITY Tcaron        "&#x0164;"> <!-- LATIN CAPITAL LETTER T WITH CARON -->
+<!ENTITY tcedil        "&#x0163;"> <!-- LATIN SMALL LETTER T WITH CEDILLA -->
+<!ENTITY Tcedil        "&#x0162;"> <!-- LATIN CAPITAL LETTER T WITH CEDILLA -->
+<!ENTITY tstrok        "&#x0167;"> <!-- LATIN SMALL LETTER T WITH STROKE -->
+<!ENTITY Tstrok        "&#x0166;"> <!-- LATIN CAPITAL LETTER T WITH STROKE -->
+<!ENTITY ubreve        "&#x016D;"> <!-- LATIN SMALL LETTER U WITH BREVE -->
+<!ENTITY Ubreve        "&#x016C;"> <!-- LATIN CAPITAL LETTER U WITH BREVE -->
+<!ENTITY udblac        "&#x0171;"> <!-- LATIN SMALL LETTER U WITH DOUBLE ACUTE 
-->
+<!ENTITY Udblac        "&#x0170;"> <!-- LATIN CAPITAL LETTER U WITH DOUBLE 
ACUTE -->
+<!ENTITY umacr "&#x016B;"> <!-- LATIN SMALL LETTER U WITH MACRON -->
+<!ENTITY Umacr "&#x016A;"> <!-- LATIN CAPITAL LETTER U WITH MACRON -->
+<!ENTITY uogon "&#x0173;"> <!-- LATIN SMALL LETTER U WITH OGONEK -->
+<!ENTITY Uogon "&#x0172;"> <!-- LATIN CAPITAL LETTER U WITH OGONEK -->
+<!ENTITY uring "&#x016F;"> <!-- LATIN SMALL LETTER U WITH RING ABOVE -->
+<!ENTITY Uring "&#x016E;"> <!-- LATIN CAPITAL LETTER U WITH RING ABOVE -->
+<!ENTITY utilde        "&#x0169;"> <!-- LATIN SMALL LETTER U WITH TILDE -->
+<!ENTITY Utilde        "&#x0168;"> <!-- LATIN CAPITAL LETTER U WITH TILDE -->
+<!ENTITY wcirc "&#x0175;"> <!-- LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY Wcirc "&#x0174;"> <!-- LATIN CAPITAL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY ycirc "&#x0177;"> <!-- LATIN SMALL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Ycirc "&#x0176;"> <!-- LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Yuml  "&#x0178;"> <!-- LATIN CAPITAL LETTER Y WITH DIAERESIS -->
+<!ENTITY zacute        "&#x017A;"> <!-- LATIN SMALL LETTER Z WITH ACUTE -->
+<!ENTITY Zacute        "&#x0179;"> <!-- LATIN CAPITAL LETTER Z WITH ACUTE -->
+<!ENTITY zcaron        "&#x017E;"> <!-- LATIN SMALL LETTER Z WITH CARON -->
+<!ENTITY Zcaron        "&#x017D;"> <!-- LATIN CAPITAL LETTER Z WITH CARON -->
+<!ENTITY zdot  "&#x017C;"> <!-- LATIN SMALL LETTER Z WITH DOT ABOVE -->
+<!ENTITY Zdot  "&#x017B;"> <!-- LATIN CAPITAL LETTER Z WITH DOT ABOVE -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-num.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-num.ent
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,81 @@
+<!-- iso-num.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY half  "&#x00BD;"> <!-- VULGAR FRACTION ONE HALF -->
+<!ENTITY frac12        "&#x00BD;"> <!-- VULGAR FRACTION ONE HALF -->
+<!ENTITY frac14        "&#x00BC;"> <!-- VULGAR FRACTION ONE QUARTER -->
+<!ENTITY frac34        "&#x00BE;"> <!-- VULGAR FRACTION THREE QUARTERS -->
+<!ENTITY frac18        "&#x215B;"> <!--  -->
+<!ENTITY frac38        "&#x215C;"> <!--  -->
+<!ENTITY frac58        "&#x215D;"> <!--  -->
+<!ENTITY frac78        "&#x215E;"> <!--  -->
+<!ENTITY sup1  "&#x00B9;"> <!-- SUPERSCRIPT ONE -->
+<!ENTITY sup2  "&#x00B2;"> <!-- SUPERSCRIPT TWO -->
+<!ENTITY sup3  "&#x00B3;"> <!-- SUPERSCRIPT THREE -->
+<!ENTITY plus  "&#x002B;"> <!-- PLUS SIGN -->
+<!ENTITY plusmn        "&#x00B1;"> <!-- PLUS-MINUS SIGN -->
+<!ENTITY lt    "&#38;#60;"> <!-- LESS-THAN SIGN -->
+<!ENTITY equals        "&#x003D;"> <!-- EQUALS SIGN -->
+<!ENTITY gt    "&#x003E;"> <!-- GREATER-THAN SIGN -->
+<!ENTITY divide        "&#x00F7;"> <!-- DIVISION SIGN -->
+<!ENTITY times "&#x00D7;"> <!-- MULTIPLICATION SIGN -->
+<!ENTITY curren        "&#x00A4;"> <!-- CURRENCY SIGN -->
+<!ENTITY pound "&#x00A3;"> <!-- POUND SIGN -->
+<!ENTITY dollar        "&#x0024;"> <!-- DOLLAR SIGN -->
+<!ENTITY cent  "&#x00A2;"> <!-- CENT SIGN -->
+<!ENTITY yen   "&#x00A5;"> <!-- YEN SIGN -->
+<!ENTITY num   "&#x0023;"> <!-- NUMBER SIGN -->
+<!ENTITY percnt        "&#x0025;"> <!-- PERCENT SIGN -->
+<!ENTITY amp   "&#38;#38;"> <!-- AMPERSAND -->
+<!ENTITY ast   "&#x002A;"> <!-- ASTERISK OPERATOR -->
+<!ENTITY commat        "&#x0040;"> <!-- COMMERCIAL AT -->
+<!ENTITY lsqb  "&#x005B;"> <!-- LEFT SQUARE BRACKET -->
+<!ENTITY bsol  "&#x005C;"> <!-- REVERSE SOLIDUS -->
+<!ENTITY rsqb  "&#x005D;"> <!-- RIGHT SQUARE BRACKET -->
+<!ENTITY lcub  "&#x007B;"> <!-- LEFT CURLY BRACKET -->
+<!ENTITY horbar        "&#x2015;"> <!-- HORIZONTAL BAR -->
+<!ENTITY verbar        "&#x007C;"> <!-- VERTICAL LINE -->
+<!ENTITY rcub  "&#x007D;"> <!-- RIGHT CURLY BRACKET -->
+<!ENTITY micro "&#x00B5;"> <!-- MICRO SIGN -->
+<!ENTITY ohm   "&#x2126;"> <!-- OHM SIGN -->
+<!ENTITY deg   "&#x00B0;"> <!-- DEGREE SIGN -->
+<!ENTITY ordm  "&#x00BA;"> <!-- MASCULINE ORDINAL INDICATOR -->
+<!ENTITY ordf  "&#x00AA;"> <!-- FEMININE ORDINAL INDICATOR -->
+<!ENTITY sect  "&#x00A7;"> <!-- SECTION SIGN -->
+<!ENTITY para  "&#x00B6;"> <!-- PILCROW SIGN -->
+<!ENTITY middot        "&#x00B7;"> <!-- MIDDLE DOT -->
+<!ENTITY larr  "&#x2190;"> <!-- LEFTWARDS DOUBLE ARROW -->
+<!ENTITY rarr  "&#x2192;"> <!-- RIGHTWARDS DOUBLE ARROW -->
+<!ENTITY uarr  "&#x2191;"> <!-- UPWARDS ARROW -->
+<!ENTITY darr  "&#x2193;"> <!-- DOWNWARDS ARROW -->
+<!ENTITY copy  "&#x00A9;"> <!-- COPYRIGHT SIGN -->
+<!ENTITY reg   "&#x00AE;"> <!-- REG TRADE MARK SIGN -->
+<!ENTITY trade "&#x2122;"> <!-- TRADE MARK SIGN -->
+<!ENTITY brvbar        "&#x00A6;"> <!-- BROKEN BAR -->
+<!ENTITY not   "&#x00AC;"> <!-- NOT SIGN -->
+<!ENTITY sung  "&#x2669;"> <!--  -->
+<!ENTITY excl  "&#x0021;"> <!-- EXCLAMATION MARK -->
+<!ENTITY iexcl "&#x00A1;"> <!-- INVERTED EXCLAMATION MARK -->
+<!ENTITY quot  "&#x0022;"> <!-- QUOTATION MARK -->
+<!ENTITY apos  "&#x0027;"> <!-- APOSTROPHE -->
+<!ENTITY lpar  "&#x0028;"> <!-- LEFT PARENTHESIS -->
+<!ENTITY rpar  "&#x0029;"> <!-- RIGHT PARENTHESIS -->
+<!ENTITY comma "&#x002C;"> <!-- COMMA -->
+<!ENTITY lowbar        "&#x005F;"> <!-- LOW LINE -->
+<!ENTITY hyphen        "&#x002D;"> <!-- HYPHEN-MINUS -->
+<!ENTITY period        "&#x002E;"> <!-- FULL STOP -->
+<!ENTITY sol   "&#x002F;"> <!-- SOLIDUS -->
+<!ENTITY colon "&#x003A;"> <!-- COLON -->
+<!ENTITY semi  "&#x003B;"> <!-- SEMICOLON -->
+<!ENTITY quest "&#x003F;"> <!-- QUESTION MARK -->
+<!ENTITY iquest        "&#x00BF;"> <!-- INVERTED QUESTION MARK -->
+<!ENTITY laquo "&#x00AB;"> <!-- LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY raquo "&#x00BB;"> <!-- RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY lsquo "&#x2018;"> <!--  -->
+<!ENTITY rsquo "&#x2019;"> <!-- RIGHT SINGLE QUOTATION MARK -->
+<!ENTITY ldquo "&#x201C;"> <!--  -->
+<!ENTITY rdquo "&#x201D;"> <!-- RIGHT DOUBLE QUOTATION MARK -->
+<!ENTITY nbsp  "&#x00A0;"> <!-- NO-BREAK SPACE -->
+<!ENTITY shy   "&#x00AD;"> <!-- SOFT HYPHEN -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-pub.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-pub.ent
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,90 @@
+<!-- iso-pub.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz -->
+
+<!ENTITY emsp  "&#x2003;"> <!-- EM SPACE -->
+<!ENTITY ensp  "&#x2002;"> <!-- EN SPACE -->
+<!ENTITY emsp13        "&#x2004;"> <!-- THREE-PER-EM SPACE -->
+<!ENTITY emsp14        "&#x2005;"> <!-- FOUR-PER-EM SPACE -->
+<!ENTITY numsp "&#x2007;"> <!-- FIGURE SPACE -->
+<!ENTITY puncsp        "&#x2008;"> <!-- PUNCTUATION SPACE -->
+<!ENTITY thinsp        "&#x2009;"> <!-- THIN SPACE -->
+<!ENTITY hairsp        "&#x200A;"> <!-- HAIR SPACE -->
+<!ENTITY mdash "&#x2014;"> <!-- EM DASH -->
+<!ENTITY ndash "&#x2013;"> <!-- EN DASH -->
+<!ENTITY dash  "&#x2010;"> <!-- HYPHEN -->
+<!ENTITY blank "&#x2423;"> <!-- OPEN BOX -->
+<!ENTITY hellip        "&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
+<!ENTITY nldr  "&#x2025;"> <!-- TWO DOT LEADER -->
+<!ENTITY frac13        "&#x2153;"> <!-- VULGAR FRACTION ONE THIRD -->
+<!ENTITY frac23        "&#x2154;"> <!-- VULGAR FRACTION TWO THIRDS -->
+<!ENTITY frac15        "&#x2155;"> <!-- VULGAR FRACTION ONE FIFTH -->
+<!ENTITY frac25        "&#x2156;"> <!-- VULGAR FRACTION TWO FIFTHS -->
+<!ENTITY frac35        "&#x2157;"> <!-- VULGAR FRACTION THREE FIFTHS -->
+<!ENTITY frac45        "&#x2158;"> <!-- VULGAR FRACTION FOUR FIFTHS -->
+<!ENTITY frac16        "&#x2159;"> <!-- VULGAR FRACTION ONE SIXTH -->
+<!ENTITY frac56        "&#x215A;"> <!-- VULGAR FRACTION FIVE SIXTHS -->
+<!ENTITY incare        "&#x2105;"> <!-- CARE OF -->
+<!ENTITY block "&#x2588;"> <!-- FULL BLOCK -->
+<!ENTITY uhblk "&#x2580;"> <!-- UPPER HALF BLOCK -->
+<!ENTITY lhblk "&#x2584;"> <!-- LOWER HALF BLOCK -->
+<!ENTITY blk14 "&#x2591;"> <!-- LIGHT SHADE -->
+<!ENTITY blk12 "&#x2592;"> <!-- MEDIUM SHADE -->
+<!ENTITY blk34 "&#x2593;"> <!-- DARK SHADE -->
+<!ENTITY marker        "&#x25AE;"> <!-- BLACK VERTICAL RECTANGLE -->
+<!ENTITY cir   "&#x25CB;"> <!-- WHITE CIRCLE -->
+<!ENTITY squ   "&#x25A1;"> <!-- WHITE SQUARE -->
+<!ENTITY rect  "&#x25AD;"> <!-- WHITE RECTANGLE -->
+<!ENTITY utri  "&#x25B5;"> <!-- WHITE UP-POINTING TRIANGLE -->
+<!ENTITY dtri  "&#x25BF;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY star  "&#x22C6;"> <!-- STAR OPERATOR -->
+<!ENTITY bull  "&#x2022;"> <!-- BULLET -->
+<!ENTITY squf  "&#x25AA;"> <!--  -->
+<!ENTITY utrif "&#x25B4;"> <!-- BLACK UP-POINTING TRIANGLE -->
+<!ENTITY dtrif "&#x25BE;"> <!-- BLACK DOWN-POINTING TRIANGLE -->
+<!ENTITY ltrif "&#x25C2;"> <!-- BLACK LEFT-POINTING TRIANGLE -->
+<!ENTITY rtrif "&#x25B8;"> <!-- BLACK RIGHT-POINTING TRIANGLE -->
+<!ENTITY clubs "&#x2663;"> <!-- BLACK CLUB SUIT -->
+<!ENTITY diams "&#x2666;"> <!-- BLACK DIAMOND SUIT -->
+<!ENTITY hearts        "&#x2665;"> <!-- BLACK HEART SUIT -->
+<!ENTITY spades        "&#x2660;"> <!-- BLACK SPADE SUIT -->
+<!ENTITY malt  "&#x2720;"> <!-- MALTESE CROSS -->
+<!ENTITY dagger        "&#x2020;"> <!-- DAGGER -->
+<!ENTITY Dagger        "&#x2021;"> <!-- DOUBLE DAGGER -->
+<!ENTITY check "&#x2713;"> <!-- CHECK MARK -->
+<!ENTITY cross "&#x2717;"> <!-- BALLOT X -->
+<!ENTITY sharp "&#x266F;"> <!-- MUSIC SHARP SIGN -->
+<!ENTITY flat  "&#x266D;"> <!-- MUSIC FLAT SIGN -->
+<!ENTITY male  "&#x2642;"> <!-- MALE SIGN -->
+<!ENTITY female        "&#x2640;"> <!--  -->
+<!ENTITY phone "&#x260E;"> <!-- TELEPHONE SIGN -->
+<!ENTITY telrec        "&#x2315;"> <!-- TELEPHONE RECORDER -->
+<!ENTITY copysr        "&#x2117;"> <!-- SOUND RECORDING COPYRIGHT -->
+<!ENTITY caret "&#x2041;"> <!-- CARET -->
+<!ENTITY lsquor        "&#x201A;"> <!-- SINGLE LOW-9 QUOTATION MARK -->
+<!ENTITY ldquor        "&#x201E;"> <!-- DOUBLE LOW-9 QUOTATION MARK -->
+<!ENTITY fflig "&#xFB00;"> <!--  -->
+<!ENTITY filig "&#xFB01;"> <!--  -->
+<!--     fjlig Unknown unicode character -->
+<!ENTITY ffilig        "&#xFB03;"> <!--  -->
+<!ENTITY ffllig        "&#xFB04;"> <!--  -->
+<!ENTITY fllig "&#xFB02;"> <!--  -->
+<!ENTITY mldr  "&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
+<!ENTITY rdquor        "&#x201C;"> <!--  -->
+<!ENTITY rsquor        "&#x2018;"> <!--  -->
+<!ENTITY vellip        "&#x22EE;"> <!--  -->
+<!ENTITY hybull        "&#x2043;"> <!-- HYPHEN BULLET -->
+<!ENTITY loz   "&#x25CA;"> <!-- LOZENGE -->
+<!ENTITY lozf  "&#x2726;"> <!--  -->
+<!ENTITY ltri  "&#x25C3;"> <!-- WHITE LEFT-POINTING TRIANGLE -->
+<!ENTITY rtri  "&#x25B9;"> <!-- WHITE RIGHT-POINTING TRIANGLE -->
+<!ENTITY starf "&#x2605;"> <!-- BLACK STAR -->
+<!ENTITY natur "&#x266E;"> <!-- MUSIC NATURAL SIGN -->
+<!ENTITY rx    "&#x211E;"> <!-- PRESCRIPTION TAKE -->
+<!ENTITY sext  "&#x2736;"> <!-- SIX POINTED BLACK STAR -->
+<!ENTITY target        "&#x2316;"> <!-- POSITION INDICATOR -->
+<!ENTITY dlcrop        "&#x230D;"> <!-- BOTTOM LEFT CROP -->
+<!ENTITY drcrop        "&#x230C;"> <!-- BOTTOM RIGHT CROP -->
+<!ENTITY ulcrop        "&#x230F;"> <!-- TOP LEFT CROP -->
+<!ENTITY urcrop        "&#x230E;"> <!-- TOP RIGHT CROP -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-tech.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/ent/iso-tech.ent
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,69 @@
+<!-- iso-tech.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+
+<!-- Derived from the corresponding ISO 8879 standard entity set
+     and the Unicode character mappings provided by Sebastian Rahtz.
+     With additional derivations from
+     ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+
+<!ENTITY aleph "&#x2135;"> <!-- ALEF SYMBOL -->
+<!ENTITY and   "&#x2227;"> <!--  -->
+<!ENTITY ang90 "&#x221F;"> <!-- RIGHT ANGLE -->
+<!ENTITY angsph        "&#x2222;"> <!--  -->
+<!ENTITY ap    "&#x2248;"> <!--  -->
+<!ENTITY becaus        "&#x2235;"> <!-- BECAUSE -->
+<!ENTITY bottom        "&#x22A5;"> <!--  -->
+<!ENTITY cap   "&#x2229;"> <!--  -->
+<!ENTITY cong  "&#x2245;"> <!--  -->
+<!ENTITY conint        "&#x222E;"> <!--  -->
+<!ENTITY cup   "&#x222A;"> <!--  -->
+<!ENTITY equiv "&#x2261;"> <!--  -->
+<!ENTITY exist "&#x2203;"> <!--  -->
+<!ENTITY forall        "&#x2200;"> <!--  -->
+<!ENTITY fnof  "&#x0192;"> <!-- LATIN SMALL LETTER F WITH HOOK -->
+<!ENTITY ge    "&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
+<!ENTITY iff   "&#x21D4;"> <!-- LEFT RIGHT DOUBLE ARROW -->
+<!ENTITY infin "&#x221E;"> <!--  -->
+<!ENTITY int   "&#x222B;"> <!--  -->
+<!ENTITY isin  "&#x220A;"> <!--  -->
+<!ENTITY lang  "&#x3008;"> <!--  -->
+<!ENTITY lArr  "&#x21D0;"> <!-- LEFTWARDS ARROW -->
+<!ENTITY le    "&#x2264;"> <!--  -->
+<!ENTITY minus "&#x2212;"> <!-- MINUS SIGN -->
+<!ENTITY mnplus        "&#x2213;"> <!--  -->
+<!ENTITY nabla "&#x2207;"> <!-- NABLA -->
+<!ENTITY ne    "&#x2260;"> <!--  -->
+<!ENTITY ni    "&#x220D;"> <!--  -->
+<!ENTITY or    "&#x2228;"> <!--  -->
+<!ENTITY par   "&#x2225;"> <!-- PARALLEL TO -->
+<!ENTITY part  "&#x2202;"> <!--  -->
+<!ENTITY permil        "&#x2030;"> <!-- PER MILLE SIGN -->
+<!ENTITY perp  "&#x22A5;"> <!--  -->
+<!ENTITY prime "&#x2032;"> <!-- PRIME -->
+<!ENTITY Prime "&#x2033;"> <!-- DOUBLE PRIME -->
+<!ENTITY prop  "&#x221D;"> <!--  -->
+<!ENTITY radic "&#x221A;"> <!--  -->
+<!ENTITY rang  "&#x3009;"> <!--  -->
+<!ENTITY rArr  "&#x21D2;"> <!-- RIGHTWARDS ARROW -->
+<!ENTITY sim   "&#x223C;"> <!--  -->
+<!ENTITY sime  "&#x2243;"> <!--  -->
+<!ENTITY square        "&#x25A1;"> <!-- WHITE SQUARE -->
+<!ENTITY sub   "&#x2282;"> <!--  -->
+<!ENTITY sube  "&#x2286;"> <!--  -->
+<!ENTITY sup   "&#x2283;"> <!--  -->
+<!ENTITY supe  "&#x2287;"> <!--  -->
+<!ENTITY there4        "&#x2234;"> <!--  -->
+<!ENTITY Verbar        "&#x2016;"> <!-- DOUBLE VERTICAL LINE -->
+<!ENTITY angst "&#x212B;"> <!-- ANGSTROM SIGN -->
+<!ENTITY bernou        "&#x212C;"> <!-- SCRIPT CAPITAL B -->
+<!ENTITY compfn        "&#x2218;"> <!-- RING OPERATOR -->
+<!ENTITY Dot   "&#x00A8;"> <!--  -->
+<!ENTITY DotDot        "&#x20DC;"> <!-- COMBINING FOUR DOTS ABOVE -->
+<!ENTITY hamilt        "&#x210B;"> <!-- SCRIPT CAPITAL H -->
+<!ENTITY lagran        "&#x2112;"> <!-- SCRIPT CAPITAL L -->
+<!ENTITY lowast        "&#x2217;"> <!-- ASTERISK OPERATOR -->
+<!ENTITY notin "&#x2209;"> <!--  -->
+<!ENTITY order "&#x2134;"> <!-- SCRIPT SMALL O -->
+<!ENTITY phmmat        "&#x2133;"> <!-- SCRIPT CAPITAL M -->
+<!ENTITY tdot  "&#x20DB;"> <!-- COMBINING THREE DOTS ABOVE -->
+<!ENTITY tprime        "&#x2034;"> <!-- TRIPLE PRIME -->
+<!ENTITY wedgeq        "&#x2259;"> <!-- ESTIMATES -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/soextblx.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/docbook/4.2/soextblx.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,308 @@
+<!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE -->
+
+<!-- This set of declarations defines the XML version of the Exchange
+     Table Model as of the date shown in the Formal Public Identifier
+     (FPI) for this entity.
+
+     This set of declarations may be referred to using a public external
+     entity declaration and reference as shown in the following three
+     lines:
+
+     <!ENTITY % calstblx
+       PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
+       %calstblx;
+
+     If various parameter entities used within this set of declarations
+     are to be given non-default values, the appropriate declarations
+     should be given before calling in this package (i.e., before the
+     "%calstblx;" reference).
+-->
+
+<!-- The motivation for this XML version of the Exchange Table Model
+     is simply to create an XML version of the SGML Exchange Table
+     Model. By design, no effort has been made to "improve" the model.
+
+     This XML version incorporates the logical bare minimum changes
+     necessary to make the Exchange Table Model a valid XML DTD.
+-->
+
+<!-- The XML version of the Exchange Table Model differs from
+     the SGML version in the following ways:
+
+     The following parameter entities have been removed:
+
+       - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep
+         There are no exceptions in XML. The following normative statement
+         is made in lieu of exceptions: the exchange table model explicitly
+         forbids a table from occurring within another table. If the
+         content model of an entry includes a table element, then this
+         cannot be enforced by the DTD, but it is a deviation from the
+         exchange table model to include a table within a table.
+
+       - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att
+         The motivation for these elements was to change the table
+         header/footer elements. Since XML does not allow element declarations
+         to contain name groups, and the exchange table model does not
+         allow a table to contain footers, the continued presence of these
+         attributes seems unnecessary.
+
+     The following parameter entity has been added:
+
+       - tbl.thead.att
+         This entity parameterizes the attributes on thead. It replaces
+         the tbl.hdft.att parameter entity.
+
+     Other miscellaneous changes:
+
+       - Tag ommission indicators have been removed
+       - Comments have been removed from declarations
+       - NUMBER attributes have been changed to NMTOKEN
+       - NUTOKEN attributes have been to changed to NMTOKEN
+       - Removed the grouping characters around the content model
+         parameter entry for the 'entry' element. This is necessary
+         so that an entry can contain #PCDATA and be defined as an
+         optional, repeatable OR group beginning with #PCDATA.
+-->
+
+<!-- This entity includes a set of element and attribute declarations
+     that partially defines the Exchange table model.  However, the model
+     is not well-defined without the accompanying natural language
+     description of the semantics (meanings) of these various elements,
+     attributes, and attribute values.  The semantic writeup, also available
+     from SGML Open, should be used in conjunction with this entity.
+-->
+
+<!-- In order to use the Exchange table model, various parameter entity
+     declarations are required.  A brief description is as follows:
+
+     ENTITY NAME      WHERE USED              WHAT IT IS
+
+     %yesorno         In ATTLIST of:          An attribute declared value
+                      almost all elements     for a "boolean" attribute
+
+     %paracon         In content model of:    The "text" (logical content)
+                      <entry>                 of the model group for <entry>
+
+     %titles          In content model of:    The "title" part of the model
+                      table element           group for the table element
+
+     %tbl.table.name  In declaration of:      The name of the "table"
+                      table element           element
+
+     %tbl.table-titles.mdl In content model of: The model group for the title
+                      table elements          part of the content model for
+                                              table element
+
+     %tbl.table.mdl   In content model of:    The model group for the content
+                      table elements          model for table element,
+                                              often (and by default) defined
+                                              in terms of %tbl.table-titles.mdl
+                                              and tgroup
+
+     %tbl.table.att   In ATTLIST of:          Additional attributes on the
+                      table element           table element
+
+     %bodyatt         In ATTLIST of:          Additional attributes on the
+                      table element           table element (for backward
+                                              compatibility with the SGML
+                                              model)
+
+     %tbl.tgroup.mdl  In content model of:    The model group for the content
+                      <tgroup>                model for <tgroup>
+
+     %tbl.tgroup.att  In ATTLIST of:          Additional attributes on the
+                      <tgroup>                <tgroup> element
+
+     %tbl.thead.att   In ATTLIST of:          Additional attributes on the
+                      <thead>                 <thead> element
+
+     %tbl.tbody.att   In ATTLIST of:          Additional attributes on the
+                      <tbody>                 <tbody> element
+
+     %tbl.colspec.att In ATTLIST of:          Additional attributes on the
+                      <colspec>               <colspec> element
+
+     %tbl.row.mdl     In content model of:    The model group for the content
+                      <row>                   model for <row>
+
+     %tbl.row.att     In ATTLIST of:          Additional attributes on the
+                      <row>                   <row> element
+
+     %tbl.entry.mdl   In content model of:    The model group for the content
+                      <entry>                 model for <entry>
+
+     %tbl.entry.att   In ATTLIST of:          Additional attributes on the
+                      <entry>                 <entry> element
+
+     This set of declarations will use the default definitions shown below
+     for any of these parameter entities that are not declared before this
+     set of declarations is referenced.
+-->
+
+<!-- These definitions are not directly related to the table model, but are
+     used in the default CALS table model and may be defined elsewhere (and
+     prior to the inclusion of this table module) in the referencing DTD. -->
+
+<!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
+<!ENTITY % titles  'title?'>
+<!ENTITY % pcd "#PCDATA">
+<!ENTITY % paracon '%pcd;'> <!-- default for use in entry content -->
+
+<!--
+The parameter entities as defined below change and simplify the CALS table
+model as published (as part of the Example DTD) in MIL-HDBK-28001.  The
+resulting simplified DTD has support from the SGML Open vendors and is
+therefore more interoperable among different systems.
+
+These following declarations provide the Exchange default definitions
+for these entities.  However, these entities can 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.
+
+Note, however, that changes may have significant effect on the ability to
+interchange table information.  These changes may manifest themselves
+in useability, presentation, and possible structure information degradation.
+-->
+
+<!ENTITY % tbl.table.name       "table">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl   "tgroup+">
+<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att        "
+    pgwide      %yesorno;       #IMPLIED ">
+<!ENTITY % bodyatt              "">
+<!ENTITY % tbl.tgroup.mdl       "colspec*,thead?,tbody">
+<!ENTITY % tbl.tgroup.att       "">
+<!ENTITY % tbl.thead.att        "">
+<!ENTITY % tbl.tbody.att        "">
+<!ENTITY % tbl.colspec.att      "">
+<!ENTITY % tbl.row.mdl          "entry+">
+<!ENTITY % tbl.row.att          "">
+<!ENTITY % tbl.entry.mdl        "(%paracon;)*">
+<!ENTITY % tbl.entry.att        "">
+
+<!-- =====  Element and attribute declarations follow. =====  -->
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.table.name       "table"
+     ENTITY % tbl.table-titles.mdl "%titles;,"
+     ENTITY % tbl.table.mdl        "%tbl.table-titles; tgroup+"
+     ENTITY % tbl.table.att        "
+                        pgwide          %yesorno;       #IMPLIED "
+-->
+
+<!ELEMENT %tbl.table.name; (%tbl.table.mdl;)>
+
+<!ATTLIST %tbl.table.name;
+        frame           (top|bottom|topbot|all|sides|none)      #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        %tbl.table.att;
+        %bodyatt;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.tgroup.mdl    "colspec*,thead?,tbody"
+     ENTITY % tbl.tgroup.att    ""
+-->
+
+<!ELEMENT tgroup (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+        cols            NMTOKEN                                 #REQUIRED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        %tbl.tgroup.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.colspec.att   ""
+-->
+
+<!ELEMENT colspec EMPTY >
+
+<!ATTLIST colspec
+        colnum          NMTOKEN                                 #IMPLIED
+        colname         NMTOKEN                                 #IMPLIED
+        colwidth        CDATA                                   #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         NMTOKEN                                 #IMPLIED
+        %tbl.colspec.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.thead.att      ""
+-->
+
+<!ELEMENT thead (row+)>
+
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.thead.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.tbody.att     ""
+-->
+
+<!ELEMENT tbody (row+)>
+
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.tbody.att;
+>
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % tbl.row.mdl       "entry+"
+     ENTITY % tbl.row.att       ""
+-->
+
+<!ELEMENT row (%tbl.row.mdl;)>
+
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.row.att;
+>
+
+
+<!--
+     Default declarations previously defined in this entity and
+     referenced below include:
+     ENTITY % paracon           "#PCDATA"
+     ENTITY % tbl.entry.mdl     "(%paracon;)*"
+     ENTITY % tbl.entry.att     ""
+-->
+
+<!ELEMENT entry %tbl.entry.mdl;>
+
+<!ATTLIST entry
+        colname         NMTOKEN                                 #IMPLIED
+        namest          NMTOKEN                                 #IMPLIED
+        nameend         NMTOKEN                                 #IMPLIED
+        morerows        NMTOKEN                                 #IMPLIED
+        colsep          %yesorno;                               #IMPLIED
+        rowsep          %yesorno;                               #IMPLIED
+        align           (left|right|center|justify|char)        #IMPLIED
+        char            CDATA                                   #IMPLIED
+        charoff         NMTOKEN                                 #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %tbl.entry.att;
+>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/book-cocoon-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/book-cocoon-v10.dtd
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,70 @@
+<!-- ===================================================================
+     
+     Apache Cocoon Documentation Book DTD (Version 1.0)
+
+PURPOSE:
+This DTD defines the */book.xml documentation configuration files.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE book PUBLIC
+       "-//APACHE//DTD Cocoon Documentation Book Vx.yz//EN"
+       "book-cocoon-vxyz.dtd">
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:
+We need to replace this DTD with the proper one.
+We are only using this DTD to enable validation during "build docs"
+because every XML instance must declare its ruleset.
+
+This initial minimal DTD has been reverse-engineered from the structure
+of the current documents, e.g. 
+ documentation/xdocs/book.xml
+  
+AUTHORS:
+  David Crossley <[EMAIL PROTECTED]>
+  
+FIXME:
+  - find the proper DTD for book.xml
+
+CHANGE HISTORY:
+  20011031 Initial version. (DC)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+
+<!ELEMENT book (menu+)> 
+<!ELEMENT menu (menu-item|external)*>
+<!ELEMENT menu-item EMPTY>
+<!ELEMENT external EMPTY>
+<!ATTLIST book software CDATA #REQUIRED
+               title CDATA #REQUIRED
+               copyright CDATA #REQUIRED
+               xmlns:xlink CDATA #IMPLIED
+>
+<!ATTLIST menu label CDATA #REQUIRED
+>
+<!ATTLIST menu-item label CDATA #REQUIRED
+                    href CDATA #REQUIRED
+                    type (visible|hidden) "visible"
+>
+<!ATTLIST external  label CDATA #REQUIRED
+                    href CDATA #REQUIRED
+                    type (visible|hidden) "visible"
+>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v11.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v11.dtd  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,89 @@
+<!-- ===================================================================
+
+     Apache Changes DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development changes for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Changes Vx.y//EN"
+       "changes-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes both to give users indications of bugs that might
+  have been resolved, as well, and not less important, to provide credits
+  for the support given to the project. It is considered vital to provide
+  adequate payback using recognition and credits to let users and developers
+  feel part of the community, thus increasing development power.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020611 Initial version. (SN)
+  20020613 Include the module of ISO character entity sets (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Changes module -->
+<!-- =============================================================== -->
+
+<!ENTITY % changes PUBLIC
+    "-//APACHE//ENTITIES Changes V1.1//EN"
+    "changes-v11.mod">
+%changes;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v11.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v11.mod  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,67 @@
+<!-- ===================================================================
+
+     Apache Changes Module (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development changes for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % changes PUBLIC
+      "-//APACHE//ENTITIES Changes Vxy//EN"
+      "changes-vxy.mod">
+  %changes;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes both to give users indications of bugs that might
+  have been resolved, as well, and not less important, to provide credits
+  for the support given to the project. It is considered vital to provide
+  adequate payback using recognition and credits to let users and developers
+  feel part of the community, thus increasing development power.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+  20000316 Added bugfixing attribute. (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT changes (title?, devs?, release+)>
+<!ATTLIST changes %common.att;>
+
+    <!ELEMENT release (action+)>
+    <!ATTLIST release %common.att;
+                      version  CDATA  #REQUIRED
+                      date     CDATA  #REQUIRED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v12.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/changes-v12.dtd  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,91 @@
+<!-- ===================================================================
+
+     Apache Changes DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development changes for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Changes Vx.y//EN"
+       "changes-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes both to give users indications of bugs that might
+  have been resolved, as well, and not less important, to provide credits
+  for the support given to the project. It is considered vital to provide
+  adequate payback using recognition and credits to let users and developers
+  feel part of the community, thus increasing development power.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020611 Initial version. (SN)
+  20020613 Include the module of ISO character entity sets (DC)
+[Version 1.2]
+  20030424 Adopt the loosened content model from document-v12 (JT)
+
+COPYRIGHT:
+  Copyright (c) 2002-2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Changes module -->
+<!-- =============================================================== -->
+
+<!ENTITY % changes PUBLIC
+    "-//APACHE//ENTITIES Changes V1.1//EN"
+    "changes-v11.mod">
+%changes;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/common-charents-v10.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/common-charents-v10.mod
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,70 @@
+<!-- ===================================================================
+
+     Apache Common Character Entity Sets (Version 1.0)
+
+PURPOSE:
+  Common elements across all DTDs.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % common-charents PUBLIC
+      "-//APACHE//ENTITIES Common Character Entity Sets Vx.y//EN"
+      "common-charents-vxy.mod">
+  %common-charents;
+
+  where
+
+    x := major version
+    y := minor version
+
+AUTHORS:
+  David Crossley <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020613 Initial version. (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Common ISO character entity sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % ISOlat1 PUBLIC
+    "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+    "../entity/ISOlat1.pen">
+%ISOlat1;
+
+<!ENTITY % ISOpub PUBLIC
+    "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+    "../entity/ISOpub.pen">
+%ISOpub;
+
+<!ENTITY % ISOtech PUBLIC
+    "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+    "../entity/ISOtech.pen">
+%ISOtech;
+
+<!ENTITY % ISOnum PUBLIC
+    "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+    "../entity/ISOnum.pen">
+%ISOnum;
+
+<!ENTITY % ISOdia PUBLIC
+    "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+    "../entity/ISOdia.pen">
+%ISOdia;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/common-elems-v10.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/common-elems-v10.mod
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,64 @@
+<!-- ===================================================================
+
+     Apache Common Elements (Version 1.0)
+
+PURPOSE:
+  Common elements across DTDs
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % common PUBLIC
+      "-//APACHE//ENTITIES Common elements Vx.y//EN"
+      "common-elems-vxy.mod">
+  %common;
+
+  where
+
+    x := major version
+    y := minor version
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020611 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Common entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % types "add|remove|update|fix">
+<!ENTITY % contexts "build|docs|code|admin|design">
+
+<!-- =============================================================== -->
+<!-- Common elements -->
+<!-- =============================================================== -->
+
+<!ELEMENT devs (person+)>
+<!ATTLIST devs %common.att;>
+
+<!ELEMENT action (%content.mix;)*>
+<!ATTLIST action %common.att;
+          dev  IDREF  #REQUIRED
+          type (%types;)  #IMPLIED
+          context (%contexts;) #IMPLIED
+          due-to CDATA #IMPLIED
+          due-to-email CDATA #IMPLIED
+          fixes-bug CDATA #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/contributors-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/contributors-v10.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,68 @@
+<!-- ===================================================================
+
+     Apache Contributors DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple document listing the
+  contributors to a project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE contributors PUBLIC
+       "-//APACHE//DTD Contributors Vx.y//EN"
+       "contributors-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the common documentation elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//DTD Documentation V1.1//EN"
+    "document-v11.dtd">
+%document;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT contributors (header, (category | contributors)+)>
+<!ATTLIST contributors %common.att;>
+
+    <!ELEMENT category (title, contributor+) >
+    <!ATTLIST category %common.att;>
+
+    <!ELEMENT contributor (person, img?, bio)>
+    <!ATTLIST contributor %common.att;>
+
+        <!ELEMENT bio (%blocks;)*>
+        <!ATTLIST bio %common.att;>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v11.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v11.dtd 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,135 @@
+<!-- ===================================================================
+
+     Apache Documentation DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project. It has now been superceded by v1.2.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Documentation V1.1//EN"
+       "document-v11.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  Many of the design patterns used in this DTD were take from the
+  W3C XML Specification DTD edited by Eve Maler <[EMAIL PROTECTED]>.
+
+  Where possible, great care has been used to reuse HTML tag
+  names to reduce learning efforts and to allow HTML editors to be
+  used for complex authorings like tables and lists.
+
+EXTENSIBILITY:
+  This DTD includes several empty placeholders that can be used to
+  extend it. These placeholders are implemented with empty entities. Here
+  is the list of those empty entities and what they are used for:
+
+    - local.inline: this entity should contain extended definitions of
+                    elements that can be used 'inline', or directly inside
+                    the content. An example for this entity could be
+
+                        <!ENTITY % local.inline "|citation">
+
+    - local.blocks: this entity should contain extended definitions of
+                    elements that behave as 'blocks', thus can be visually
+                    rendered as areas on the canvas. An example for this
+                    entity could be:
+
+                        <!ENTITY % local.blocks "|poem">
+
+    - local.sections: this entity should contain extended definitions of
+                      elements that behave as 'sections', thus can be 
considered
+                      containers of block-level elements. An example for
+                      this entity could be:
+
+                        <!ENTITY % local.sections "|chapter">
+
+    - local.headers: this entity should contain extended definitions of
+                     elements that behave as parts of the document header.
+                     An example for this header could be:
+
+                        <!ENTITY % local.headers ", notes?">
+
+    - local.footers: this entity should contain extended definitions of
+                     elements that behave as parts of the document footer.
+                     An example for this header could be:
+
+                        <!ENTITY % local.footers ", annotations*">
+
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+  - should "form" tags be included?
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991121 Initial version. (SM)
+  19991123 Replaced "res" with more standard "strong" for emphasis. (SM)
+  19991124 Added "fork" element for window forking behavior. (SM)
+  19991124 Added "img-inline" element to separate from "img". (SM)
+  19991129 Removed "affiliation" from "author". (SM)
+  19991129 Made "author" empty and moved "name|email" as attributes. (SM)
+  19991215 Simplified table section. (SM)
+  19991215 Changed "img-block" in more friendly "figure". (SM)
+  20000125 Added the "icon" image. (SM)
+  20000126 Allowed "anchor" in all levels. (SM)
+  20000404 Removed the "role" attribute from common-xxx.att. (SM)
+  20000815 Allowed "code" inside "strong" and "em". (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities. (SM)
+  20011212 Removed xlink attributes since not used. (SM)
+  20011212 Removed "connect" since not required at this level. (SM)
+  20011218 Added "warning" as a block level object. (SM)
+  20011218 Removed explicitly numbered sections ("s1|s2|s3|s4"). (SM)
+  20011218 Added "section" element. (SM)
+  20011218 Allowed "body" to have blocks without a section. (SM)
+  20011218 Removed "sl" since not really different from "ul". (SM)
+  20020214 Moved empty placeholder entity declarations up front (SNS)
+  20020214 Corrected content model of content.mix parameter entity (SNS)
+  20020519 The DTDs are now modular so various parts can be re-used (SNS)
+  20020606 Made title into an child element of its parent instead of an 
attribute (SNS)
+  20020613 Move the declarations of ISO character entity sets to module (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002-2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v11.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v11.mod 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,421 @@
+<!-- ===================================================================
+
+     Apache Common Documentation elements (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It has now been superceded by v1.2.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % document PUBLIC
+      "-//APACHE//ENTITIES Documentation V1.1//EN"
+      "document-v11.mod">
+  %document;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Useful entities for increased DTD readability -->
+<!-- =============================================================== -->
+<!ENTITY % text "#PCDATA">
+<!-- Entities referred to later on are defined up front -->
+<!ENTITY % markup "strong|em|code|sub|sup">
+<!ENTITY % special-inline "br|img|icon|acronym">
+<!ENTITY % links "link|jump|fork">
+<!ENTITY % paragraphs "p|source|note|warning|fixme">
+<!ENTITY % tables "table">
+<!ENTITY % lists "ol|ul|dl">
+<!ENTITY % special-blocks "figure|anchor">
+<!-- =============================================================== -->
+<!-- Entities for general XML compliance -->
+<!-- =============================================================== -->
+<!-- Common attributes
+        Every element has an ID attribute (sometimes required,
+        but usually optional) for links. %common.att;
+        is for common attributes where the ID is optional, and
+        %common-idreq.att; is for common attributes where the
+        ID is required.
+-->
+<!ENTITY % common.att 'id                     ID              #IMPLIED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!-- xml:space attribute ===============================================
+        Indicates that the element contains white space
+        that the formatter or other application should retain,
+        as appropriate to its function.
+==================================================================== -->
+<!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
+<!-- def attribute =====================================================
+        Points to the element where the relevant definition can be
+        found, using the IDREF mechanism.  %def.att; is for optional
+        def attributes, and %def-req.att; is for required def
+        attributes.
+==================================================================== -->
+<!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
+<!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
+<!-- ref attribute =====================================================
+        Points to the element where more information can be found,
+        using the IDREF mechanism.  %ref.att; is for optional
+        ref attributes, and %ref-req.att; is for required ref
+        attributes.
+================================================================== -->
+<!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
+<!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- Entities for general usage -->
+<!-- =============================================================== -->
+<!-- Key attribute =====================================================
+        Optionally provides a sorting or indexing key, for cases when
+        the element content is inappropriate for this purpose.
+==================================================================== -->
+<!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
+<!-- Title attributes ==================================================
+        Indicates that the element requires to have a title attribute.
+==================================================================== -->
+<!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
+<!-- Name attributes ==================================================
+        Indicates that the element requires to have a name attribute.
+==================================================================== -->
+<!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
+<!-- Email attributes ==================================================
+        Indicates that the element requires to have an email attribute.
+==================================================================== -->
+<!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
+<!-- Link attributes ===================================================
+        Indicates that the element requires to have hyperlink attributes.
+==================================================================== -->
+<!ENTITY % link.att 'href      CDATA                         #IMPLIED
+         role      CDATA                         #IMPLIED
+         title     CDATA                         #IMPLIED '>
+<!-- =============================================================== -->
+<!-- General definitions -->
+<!-- =============================================================== -->
+<!-- A person is a general unparsed human entity -->
+<!ELEMENT person EMPTY>
+<!ATTLIST person
+  %common.att; 
+  %name.att; 
+  %email.att; 
+>
+<!-- =============================================================== -->
+<!-- Content definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.inline "">
+<!ENTITY % link-content.mix "%text;|%markup;|%special-inline; %local.inline;">
+<!ENTITY % content.mix "%link-content.mix;|%links;">
+<!-- ==================================================== -->
+<!-- Phrase Markup -->
+<!-- ==================================================== -->
+<!-- Strong (typically bold) -->
+<!ELEMENT strong (%text; | code)*>
+<!ATTLIST strong
+  %common.att; 
+>
+<!-- Emphasis (typically italic) -->
+<!ELEMENT em (%text; | code)*>
+<!ATTLIST em
+  %common.att; 
+>
+<!-- Code (typically monospaced) -->
+<!ELEMENT code (%text;)>
+<!ATTLIST code
+  %common.att; 
+>
+<!-- Superscript (typically smaller and higher) -->
+<!ELEMENT sup (%text;)>
+<!ATTLIST sup
+  %common.att; 
+>
+<!-- Subscript (typically smaller and lower) -->
+<!ELEMENT sub (%text;)>
+<!ATTLIST sub
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Hypertextual Links -->
+<!-- ==================================================== -->
+<!-- hyperlink (equivalent of <a ...>) -->
+<!ELEMENT link (%link-content.mix;)*>
+<!ATTLIST link
+  %common.att; 
+  %link.att; 
+>
+<!-- windows-replacing link (equivalent of <a ... target="_top">) -->
+<!ELEMENT jump (%link-content.mix;)*>
+<!ATTLIST jump
+  %common.att; 
+  %link.att; 
+>
+<!-- window-forking link (equivalent of <a ... target="_blank">) -->
+<!ELEMENT fork (%link-content.mix;)*>
+<!ATTLIST fork
+  %common.att; 
+  %link.att; 
+>
+
+<!-- ==================================================== -->
+<!-- Specials -->
+<!-- ==================================================== -->
+<!-- Breakline Object (typically forces line break) -->
+<!ELEMENT br EMPTY>
+<!ATTLIST br
+  %common.att; 
+>
+<!-- Image Object (typically an inlined image) -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  %common.att; 
+>
+<!-- Image Icon (typically an inlined image placed as graphical item) -->
+<!ELEMENT icon EMPTY>
+<!ATTLIST icon
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Acronym (in modern browsers, will have rollover text) -->
+<!ELEMENT acronym (%text;)*>
+<!ATTLIST acronym
+  title CDATA #REQUIRED
+  %common.att; 
+>
+
+<!-- =============================================================== -->
+<!-- Blocks definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.blocks "">
+<!ENTITY % blocks "%paragraphs;|%tables;|%lists;|%special-blocks; 
%local.blocks;">
+<!-- ==================================================== -->
+<!-- Paragraphs -->
+<!-- ==================================================== -->
+<!-- Text Paragraph (normally vertically space delimited. Space can be 
preserved.) -->
+<!ELEMENT p (%content.mix;)*>
+<!ATTLIST p
+  %common.att; 
+  xml:space (default|preserve) #IMPLIED
+>
+<!-- Source Paragraph (normally space is preserved) -->
+<!ELEMENT source (%content.mix;)*>
+<!ATTLIST source
+  %common.att; 
+  %xmlspace.att; 
+>
+<!-- Note Paragraph (normally shown encapsulated) -->
+<!ELEMENT note (%content.mix;)*>
+<!ATTLIST note
+  %common.att; 
+>
+<!-- Warning Paragraph (normally shown with eye-catching colors) -->
+<!ELEMENT warning (%content.mix;)*>
+<!ATTLIST warning
+  %common.att; 
+>
+<!-- Fixme Paragraph (normally not shown) -->
+<!ELEMENT fixme (%content.mix;)*>
+<!ATTLIST fixme
+  author CDATA #REQUIRED
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Tables -->
+<!-- ==================================================== -->
+<!-- Attributes that indicate the spanning of the table cell -->
+<!ENTITY % cell.span 'colspan CDATA "1"
+         rowspan CDATA "1"'>
+<!-- Table element -->
+<!ELEMENT table (caption?, tr+)>
+<!ATTLIST table
+  %common.att; 
+>
+<!-- The table title -->
+<!ELEMENT caption (%content.mix;)*>
+<!ATTLIST caption
+  %common.att; 
+>
+<!-- The table row element -->
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr
+  %common.att; 
+>
+<!-- The table row header element -->
+<!ELEMENT th (%content.mix;)*>
+<!ATTLIST th
+  %common.att; 
+  %cell.span; 
+>
+<!-- The table row description element -->
+<!ELEMENT td (%content.mix;)*>
+<!ATTLIST td
+  %common.att; 
+  %cell.span; 
+>
+<!-- ==================================================== -->
+<!-- Lists -->
+<!-- ==================================================== -->
+<!-- List item -->
+<!ELEMENT li (%content.mix; | %lists;)*>
+<!ATTLIST li
+  %common.att; 
+>
+<!-- Unordered list (typically bulleted) -->
+<!ELEMENT ul (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ul
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Ordered list (typically numbered) -->
+<!ELEMENT ol (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ol
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Definition list (typically two-column) -->
+<!ELEMENT dl (dt, dd)+>
+<!ATTLIST dl
+  %common.att; 
+>
+<!-- Definition term -->
+<!ELEMENT dt (%content.mix;)*>
+<!ATTLIST dt
+  %common.att; 
+>
+<!-- Definition description -->
+<!ELEMENT dd (%content.mix;)*>
+<!ATTLIST dd
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Special Blocks -->
+<!-- ==================================================== -->
+<!-- Image Block (typically a separated and centered image) -->
+<!ELEMENT figure EMPTY>
+<!ATTLIST figure
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  %common.att; 
+>
+<!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor
+  %common-idreq.att; 
+>
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<!ELEMENT document (header, body, footer?)>
+<!ATTLIST document
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Header -->
+<!-- ==================================================== -->
+<!ENTITY % local.headers "">
+<!ELEMENT header (title, subtitle?, version?, type?, authors?,
+                      notice*, abstract? %local.headers;)>
+<!ATTLIST header
+  %common.att; 
+>
+<!ELEMENT title (%text; | %markup;)*>
+<!ATTLIST title
+  %common.att; 
+>
+<!ELEMENT subtitle (%text; | %markup;)*>
+<!ATTLIST subtitle
+  %common.att; 
+>
+<!ELEMENT version (%text;)>
+<!ATTLIST version
+  %common.att;
+  major CDATA #IMPLIED
+  minor CDATA #IMPLIED
+  fix CDATA #IMPLIED
+  tag CDATA #IMPLIED
+>
+<!ELEMENT type (%text;)>
+<!ATTLIST type
+  %common.att; 
+>
+<!ELEMENT authors (person+)>
+<!ATTLIST authors
+  %common.att; 
+>
+<!ELEMENT notice (%content.mix;)*>
+<!ATTLIST notice
+  %common.att; 
+>
+<!ELEMENT abstract (%content.mix;)*>
+<!ATTLIST abstract
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Body -->
+<!-- ==================================================== -->
+<!ENTITY % local.sections "">
+<!ENTITY % sections "section %local.sections;">
+<!ELEMENT body (%sections; | %blocks;)+>
+<!ATTLIST body
+  %common.att; 
+>
+<!ELEMENT section (title, (%sections; | %blocks;)*)>
+<!ATTLIST section
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Footer -->
+<!-- ==================================================== -->
+<!ENTITY % local.footers "">
+<!ELEMENT footer (legal %local.footers;)>
+<!ELEMENT legal (%content.mix;)*>
+<!ATTLIST legal
+  %common.att; 
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v12.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v12.dtd 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,143 @@
+<!-- ===================================================================
+
+     Apache Documentation DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Documentation Vx.y//EN"
+       "document-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  Many of the design patterns used in this DTD were take from the
+  W3C XML Specification DTD edited by Eve Maler <[EMAIL PROTECTED]>.
+
+  Where possible, great care has been used to reuse HTML tag
+  names to reduce learning efforts and to allow HTML editors to be
+  used for complex authorings like tables and lists.
+
+EXTENSIBILITY:
+  This DTD includes several empty placeholders that can be used to
+  extend it. These placeholders are implemented with empty entities. Here
+  is the list of those empty entities and what they are used for:
+
+    - local.inline: this entity should contain extended definitions of
+                    elements that can be used 'inline', or directly inside
+                    the content. An example for this entity could be
+
+                        <!ENTITY % local.inline "|citation">
+
+    - local.blocks: this entity should contain extended definitions of
+                    elements that behave as 'blocks', thus can be visually
+                    rendered as areas on the canvas. An example for this
+                    entity could be:
+
+                        <!ENTITY % local.blocks "|poem">
+
+    - local.sections: this entity should contain extended definitions of
+                      elements that behave as 'sections', thus can be 
considered
+                      containers of block-level elements. An example for
+                      this entity could be:
+
+                        <!ENTITY % local.sections "|chapter">
+
+    - local.headers: this entity should contain extended definitions of
+                     elements that behave as parts of the document header.
+                     An example for this header could be:
+
+                        <!ENTITY % local.headers ", notes?">
+
+    - local.footers: this entity should contain extended definitions of
+                     elements that behave as parts of the document footer.
+                     An example for this header could be:
+
+                        <!ENTITY % local.footers ", annotations*">
+
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+  - should "form" tags be included?
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991121 Initial version. (SM)
+  19991123 Replaced "res" with more standard "strong" for emphasis. (SM)
+  19991124 Added "fork" element for window forking behavior. (SM)
+  19991124 Added "img-inline" element to separate from "img". (SM)
+  19991129 Removed "affiliation" from "author". (SM)
+  19991129 Made "author" empty and moved "name|email" as attributes. (SM)
+  19991215 Simplified table section. (SM)
+  19991215 Changed "img-block" in more friendly "figure". (SM)
+  20000125 Added the "icon" image. (SM)
+  20000126 Allowed "anchor" in all levels. (SM)
+  20000404 Removed the "role" attribute from common-xxx.att. (SM)
+  20000815 Allowed "code" inside "strong" and "em". (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities. (SM)
+  20011212 Removed xlink attributes since not used. (SM)
+  20011212 Removed "connect" since not required at this level. (SM)
+  20011218 Added "warning" as a block level object. (SM)
+  20011218 Removed explicitly numbered sections ("s1|s2|s3|s4"). (SM)
+  20011218 Added "section" element. (SM)
+  20011218 Allowed "body" to have blocks without a section. (SM)
+  20011218 Removed "sl" since not really different from "ul". (SM)
+  20020214 Moved empty placeholder entity declarations up front (SNS)
+  20020214 Corrected content model of content.mix parameter entity (SNS)
+  20020519 The DTDs are now modular so various parts can be re-used (SNS)
+  20020606 Made title into an child element of its parent instead of an 
attribute (SNS)
+  20020613 Move the declarations of ISO character entity sets to module (DC)
+[Version 1.2]
+  20030320 Make @href required for link elements. (SNS)
+  20030320 Allow links (link|jump|fork) and inline elements 
(br|img|icon|acronym) inside title. (SNS)
+  20030419 Allow inline content 
(strong|em|code|sub|sup|br|img|icon|acronym|link|jump|fork) in strong and em. 
(JT)
+  20030419 Allow paragraphs (p|source|note|warning|fixme), table and 
figure|anchor inside li. (JT)
+  20030419 Allow paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), 
table, figure|anchor inside dd. (JT)
+  20030419 Allow paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), 
table, figure|anchor inside tables (td|dh). (JT)
+
+
+COPYRIGHT:
+  Copyright (c) 2002,2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v12.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/document-v12.mod 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,427 @@
+<!-- ===================================================================
+
+     Apache Common Documentation elements (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % document PUBLIC
+      "-//APACHE//ENTITIES Documentation Vxy//EN"
+      "document-vxy.mod">
+  %document;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Useful entities for increased DTD readability -->
+<!-- =============================================================== -->
+<!ENTITY % text "#PCDATA">
+<!-- Entities referred to later on are defined up front -->
+<!ENTITY % markup "strong|em|code|sub|sup">
+<!ENTITY % special-inline "br|img|icon|acronym">
+<!ENTITY % links "link|jump|fork">
+<!ENTITY % paragraphs "p|source|note|warning|fixme">
+<!ENTITY % tables "table">
+<!ENTITY % lists "ol|ul|dl">
+<!ENTITY % special-blocks "figure|anchor">
+<!-- =============================================================== -->
+<!-- Entities for general XML compliance -->
+<!-- =============================================================== -->
+<!-- Common attributes
+        Every element has an ID attribute (sometimes required,
+        but usually optional) for links. %common.att;
+        is for common attributes where the ID is optional, and
+        %common-idreq.att; is for common attributes where the
+        ID is required.
+-->
+<!ENTITY % common.att 'id                     ID              #IMPLIED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!-- xml:space attribute ===============================================
+        Indicates that the element contains white space
+        that the formatter or other application should retain,
+        as appropriate to its function.
+==================================================================== -->
+<!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
+<!-- def attribute =====================================================
+        Points to the element where the relevant definition can be
+        found, using the IDREF mechanism.  %def.att; is for optional
+        def attributes, and %def-req.att; is for required def
+        attributes.
+==================================================================== -->
+<!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
+<!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
+<!-- ref attribute =====================================================
+        Points to the element where more information can be found,
+        using the IDREF mechanism.  %ref.att; is for optional
+        ref attributes, and %ref-req.att; is for required ref
+        attributes.
+================================================================== -->
+<!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
+<!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- Entities for general usage -->
+<!-- =============================================================== -->
+<!-- Key attribute =====================================================
+        Optionally provides a sorting or indexing key, for cases when
+        the element content is inappropriate for this purpose.
+==================================================================== -->
+<!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
+<!-- Title attributes ==================================================
+        Indicates that the element requires to have a title attribute.
+==================================================================== -->
+<!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
+<!-- Name attributes ==================================================
+        Indicates that the element requires to have a name attribute.
+==================================================================== -->
+<!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
+<!-- Email attributes ==================================================
+        Indicates that the element requires to have an email attribute.
+==================================================================== -->
+<!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
+<!-- Link attributes ===================================================
+        Indicates that the element requires to have hyperlink attributes.
+==================================================================== -->
+<!ENTITY % link.att 'href      CDATA             #REQUIRED
+         role      CDATA                         #IMPLIED
+         title     CDATA                         #IMPLIED '>
+<!-- =============================================================== -->
+<!-- General definitions -->
+<!-- =============================================================== -->
+<!-- A person is a general unparsed human entity -->
+<!ELEMENT person EMPTY>
+<!ATTLIST person
+  %common.att; 
+  %name.att; 
+  %email.att; 
+>
+<!-- =============================================================== -->
+<!-- Content definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.inline "">
+<!ENTITY % link-content.mix "%text;|%markup;|%special-inline; %local.inline;">
+<!ENTITY % content.mix "%link-content.mix;|%links;">
+<!-- ==================================================== -->
+<!-- Phrase Markup -->
+<!-- ==================================================== -->
+<!-- Strong (typically bold) -->
+<!ELEMENT strong (%content.mix;)*>
+<!ATTLIST strong
+  %common.att; 
+>
+<!-- Emphasis (typically italic) -->
+<!ELEMENT em (%content.mix;)*>
+<!ATTLIST em
+  %common.att; 
+>
+<!-- Code (typically monospaced) -->
+<!ELEMENT code (%text;)>
+<!ATTLIST code
+  %common.att; 
+>
+<!-- Superscript (typically smaller and higher) -->
+<!ELEMENT sup (%text;)>
+<!ATTLIST sup
+  %common.att; 
+>
+<!-- Subscript (typically smaller and lower) -->
+<!ELEMENT sub (%text;)>
+<!ATTLIST sub
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Hypertextual Links -->
+<!-- ==================================================== -->
+<!-- hyperlink (equivalent of <a ...>) -->
+<!ELEMENT link (%link-content.mix;)*>
+<!ATTLIST link
+  %common.att; 
+  %link.att; 
+>
+<!-- windows-replacing link (equivalent of <a ... target="_top">) -->
+<!ELEMENT jump (%link-content.mix;)*>
+<!ATTLIST jump
+  %common.att; 
+  %link.att; 
+>
+<!-- window-forking link (equivalent of <a ... target="_blank">) -->
+<!ELEMENT fork (%link-content.mix;)*>
+<!ATTLIST fork
+  %common.att; 
+  %link.att; 
+>
+
+<!-- ==================================================== -->
+<!-- Specials -->
+<!-- ==================================================== -->
+<!-- Breakline Object (typically forces line break) -->
+<!ELEMENT br EMPTY>
+<!ATTLIST br
+  %common.att; 
+>
+<!-- Image Object (typically an inlined image) -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  %common.att; 
+>
+<!-- Image Icon (typically an inlined image placed as graphical item) -->
+<!ELEMENT icon EMPTY>
+<!ATTLIST icon
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Acronym (in modern browsers, will have rollover text) -->
+<!ELEMENT acronym (%text;)*>
+<!ATTLIST acronym
+  title CDATA #REQUIRED
+  %common.att; 
+>
+
+<!-- =============================================================== -->
+<!-- Blocks definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.blocks "">
+<!ENTITY % blocks "%paragraphs;|%tables;|%lists;|%special-blocks; 
%local.blocks;">
+
+<!-- Flow mixes block and inline -->
+<!ENTITY % flow "%content.mix;|%blocks;">
+
+<!-- ==================================================== -->
+<!-- Paragraphs -->
+<!-- ==================================================== -->
+<!-- Text Paragraph (normally vertically space delimited. Space can be 
preserved.) -->
+<!ELEMENT p (%content.mix;)*>
+<!ATTLIST p
+  %common.att; 
+  xml:space (default|preserve) #IMPLIED
+>
+<!-- Source Paragraph (normally space is preserved) -->
+<!ELEMENT source (%content.mix;)*>
+<!ATTLIST source
+  %common.att; 
+  %xmlspace.att; 
+>
+<!-- Note Paragraph (normally shown encapsulated) -->
+<!ELEMENT note (%content.mix;)*>
+<!ATTLIST note
+  label CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Warning Paragraph (normally shown with eye-catching colors) -->
+<!ELEMENT warning (%content.mix;)*>
+<!ATTLIST warning
+  label CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Fixme Paragraph (normally not shown) -->
+<!ELEMENT fixme (%content.mix;)*>
+<!ATTLIST fixme
+  author CDATA #REQUIRED
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Tables -->
+<!-- ==================================================== -->
+<!-- Attributes that indicate the spanning of the table cell -->
+<!ENTITY % cell.span 'colspan CDATA "1"
+         rowspan CDATA "1"'>
+<!-- Table element -->
+<!ELEMENT table (caption?, tr+)>
+<!ATTLIST table
+  %common.att; 
+>
+<!-- The table title -->
+<!ELEMENT caption (%content.mix;)*>
+<!ATTLIST caption
+  %common.att; 
+>
+<!-- The table row element -->
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr
+  %common.att; 
+>
+<!-- The table row header element -->
+<!ELEMENT th (%flow;)*>
+<!ATTLIST th
+  %common.att; 
+  %cell.span; 
+>
+<!-- The table row description element -->
+<!ELEMENT td (%flow;)*>
+<!ATTLIST td
+  %common.att; 
+  %cell.span; 
+>
+<!-- ==================================================== -->
+<!-- Lists -->
+<!-- ==================================================== -->
+<!-- List item -->
+<!ELEMENT li (%flow;)*>
+<!ATTLIST li
+  %common.att; 
+>
+<!-- Unordered list (typically bulleted) -->
+<!ELEMENT ul (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ul
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Ordered list (typically numbered) -->
+<!ELEMENT ol (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ol
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Definition list (typically two-column) -->
+<!ELEMENT dl (dt, dd)+>
+<!ATTLIST dl
+  %common.att; 
+>
+<!-- Definition term -->
+<!ELEMENT dt (%content.mix;)*>
+<!ATTLIST dt
+  %common.att; 
+>
+<!-- Definition description -->
+<!ELEMENT dd (%flow; )*>
+<!ATTLIST dd
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Special Blocks -->
+<!-- ==================================================== -->
+<!-- Image Block (typically a separated and centered image) -->
+<!ELEMENT figure EMPTY>
+<!ATTLIST figure
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  align CDATA #IMPLIED
+  %common.att; 
+>
+<!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor
+  %common-idreq.att; 
+>
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<!ELEMENT document (header, body, footer?)>
+<!ATTLIST document
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Header -->
+<!-- ==================================================== -->
+<!ENTITY % local.headers "">
+<!ELEMENT header (title, subtitle?, version?, type?, authors?,
+                      notice*, abstract? %local.headers;)>
+<!ATTLIST header
+  %common.att; 
+>
+<!ELEMENT title (%text; | %markup; | %links; | %special-inline;)*>
+<!ATTLIST title
+  %common.att; 
+>
+<!ELEMENT subtitle (%text; | %markup;)*>
+<!ATTLIST subtitle
+  %common.att; 
+>
+<!ELEMENT version (%text;)>
+<!ATTLIST version
+  %common.att;
+  major CDATA #IMPLIED
+  minor CDATA #IMPLIED
+  fix CDATA #IMPLIED
+  tag CDATA #IMPLIED
+>
+<!ELEMENT type (%text;)>
+<!ATTLIST type
+  %common.att; 
+>
+<!ELEMENT authors (person+)>
+<!ATTLIST authors
+  %common.att; 
+>
+<!ELEMENT notice (%content.mix;)*>
+<!ATTLIST notice
+  %common.att; 
+>
+<!ELEMENT abstract (%content.mix;)*>
+<!ATTLIST abstract
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Body -->
+<!-- ==================================================== -->
+<!ENTITY % local.sections "">
+<!ENTITY % sections "section %local.sections;">
+<!ELEMENT body (%sections; | %blocks;)+>
+<!ATTLIST body
+  %common.att; 
+>
+<!ELEMENT section (title, (%sections; | %blocks;)*)>
+<!ATTLIST section
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Footer -->
+<!-- ==================================================== -->
+<!ENTITY % local.footers "">
+<!ELEMENT footer (legal %local.footers;)>
+<!ELEMENT legal (%content.mix;)*>
+<!ATTLIST legal
+  %common.att; 
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v11.dtd
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v11.dtd  
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,79 @@
+<!-- ===================================================================
+
+     Apache FAQ DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software FAQ's for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE faqs PUBLIC
+       "-//APACHE//DTD FAQ Vx.y//EN"
+       "faq-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  FAQs represent a powerful knowledge base and a very good way of solving
+  common user problems reducing messages on mail lists and reducing the effort
+  required for software installation and usage. Thid DTD want to be a common
+  format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to
+  be published in other formats as well as enhancing data interchange.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+  20011212 Used public identifiers for external entities (SM)
+  20020418 Added an (optional) 'part' element to create sections in a faq (SN)
+  20020613 Include the module of ISO character entity sets (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V1.1//EN"
+    "faq-v11.mod">
+%faq;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v11.mod
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v11.mod  
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,60 @@
+<!-- ===================================================================
+
+     Apache Faq module (Version 1.1)
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % faq PUBLIC
+      "-//APACHE//ENTITIES FAQ Vxy//EN"
+      "faq-vxy.mod">
+  %faq;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Element declarations -->
+<!-- =============================================================== -->
+
+<!ELEMENT faqs (authors?, (faq|part)+)>
+<!ATTLIST faqs %common.att;
+               %title.att;>
+
+    <!ELEMENT part (title, (faq | part)+) >
+    <!ATTLIST part %common.att;>
+
+    <!ELEMENT faq (question, answer)>
+    <!ATTLIST faq %common.att;>
+
+        <!ELEMENT question (%content.mix;)*>
+        <!ATTLIST question %common.att;>
+
+        <!ELEMENT answer (%blocks;)*>
+        <!ATTLIST answer author IDREF #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v12.dtd
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v12.dtd  
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,81 @@
+<!-- ===================================================================
+
+     Apache FAQ DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software FAQ's for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE faqs PUBLIC
+       "-//APACHE//DTD FAQ Vx.y//EN"
+       "faq-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  FAQs represent a powerful knowledge base and a very good way of solving
+  common user problems reducing messages on mail lists and reducing the effort
+  required for software installation and usage. Thid DTD want to be a common
+  format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to
+  be published in other formats as well as enhancing data interchange.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+  20011212 Used public identifiers for external entities (SM)
+  20020418 Added an (optional) 'part' element to create sections in a faq (SN)
+  20020613 Include the module of ISO character entity sets (DC)
+[Version 1.2]
+  20030424 Adopt the loosened content model from document-v12 (JT)
+
+COPYRIGHT:
+  Copyright (c) 2002-2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V1.1//EN"
+    "faq-v12.mod">
+%faq;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v12.mod
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/faq-v12.mod  
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,65 @@
+<!-- ===================================================================
+
+     Apache Faq module (Version 1.1)
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % faq PUBLIC
+      "-//APACHE//ENTITIES FAQ Vxy//EN"
+      "faq-vxy.mod">
+  %faq;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020608 Initial version. (SN)
+[Version 1.2]
+  20030505 Allow mixed content in <answer>, to match <question> (JT)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Element declarations -->
+<!-- =============================================================== -->
+
+<!ELEMENT faqs (authors?, (faq|part)+)>
+<!ATTLIST faqs %common.att;
+               %title.att;>
+
+    <!ELEMENT part (title, (faq | part)+) >
+    <!ATTLIST part %common.att;>
+
+    <!ELEMENT faq (question, answer)>
+    <!ATTLIST faq %common.att;>
+
+        <!ELEMENT question (%content.mix;|elaboration)*>
+        <!ATTLIST question %common.att;>
+
+        <!ELEMENT elaboration (%content.mix;)*>
+        <!ATTLIST elaboration %common.att;>
+
+        <!ELEMENT answer (%flow;)*>
+        <!ATTLIST answer author IDREF #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/howto-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/howto-v10.dtd    
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,111 @@
+<!-- ===================================================================
+
+     Apache How-To DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software How-Tos for use with the Apache projects.
+  It is an XML-compliant DTD and is maintained by the Apache XML project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD How-To Vx.y//EN"
+       "howto-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  How-Tos help software users accomplish a specific task with clear
+  and consise instructions.
+
+AUTHORS:
+  Diana Shannon <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  20020515 Initial version. (DS)
+  20020521 Added feedback element. (DS)
+  20020613 Include the module of ISO character entity sets (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Local entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % local.headers ", last-modified-content-date">
+
+<!-- =============================================================== -->
+<!-- Include other DTD modules and entity sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V1.1//EN"
+    "faq-v11.mod">
+%faq;
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT howto (header, audience?, purpose?, prerequisites?, steps,
+    extension?, faqs?, tips?, references?, feedback? )>
+<!ATTLIST howto %common.att;>
+
+
+    <!ELEMENT overview (%blocks;)* >
+    <!ATTLIST overview %title.att; %common.att;>
+
+    <!ELEMENT purpose (%blocks;)* >
+    <!ATTLIST purpose %title.att; %common.att;>
+
+    <!ELEMENT prerequisites (section | %blocks;)* >
+    <!ATTLIST prerequisites %title.att; %common.att;>
+
+    <!ELEMENT audience (%blocks;)* >
+    <!ATTLIST audience %title.att; %common.att;>
+
+    <!ELEMENT steps (section | %blocks;)* >
+    <!ATTLIST steps %title.att; %common.att;>
+
+    <!ELEMENT extension (%blocks;)* >
+    <!ATTLIST extension %title.att; %common.att;>
+
+    <!ELEMENT tips (section | %blocks;)* >
+    <!ATTLIST tips %title.att; %common.att;>
+
+    <!ELEMENT references (section | %blocks;)* >
+    <!ATTLIST references %title.att; %common.att;>
+
+    <!ELEMENT feedback (%blocks;)* >
+    <!ATTLIST feedback %title.att; %common.att;>
+
+    <!ELEMENT last-modified-content-date EMPTY >
+    <!ATTLIST last-modified-content-date date CDATA #REQUIRED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/howto-v12.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/howto-v12.dtd    
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,113 @@
+<!-- ===================================================================
+
+     Apache How-To DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software How-Tos for use with the Apache projects.
+  It is an XML-compliant DTD and is maintained by the Apache XML project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD How-To Vx.y//EN"
+       "howto-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  How-Tos help software users accomplish a specific task with clear
+  and consise instructions.
+
+AUTHORS:
+  Diana Shannon <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  20020515 Initial version. (DS)
+  20020521 Added feedback element. (DS)
+  20020613 Include the module of ISO character entity sets (DC)
+[Version 1.2]
+  20030424 Adopt the loosened content model from document-v12 (JT)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Local entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % local.headers ", last-modified-content-date">
+
+<!-- =============================================================== -->
+<!-- Include other DTD modules and entity sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V1.1//EN"
+    "faq-v11.mod">
+%faq;
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT howto (header, audience?, purpose?, prerequisites?, steps,
+    extension?, faqs?, tips?, references?, feedback? )>
+<!ATTLIST howto %common.att;>
+
+
+    <!ELEMENT overview (%blocks;)* >
+    <!ATTLIST overview %title.att; %common.att;>
+
+    <!ELEMENT purpose (%blocks;)* >
+    <!ATTLIST purpose %title.att; %common.att;>
+
+    <!ELEMENT prerequisites (section | %blocks;)* >
+    <!ATTLIST prerequisites %title.att; %common.att;>
+
+    <!ELEMENT audience (%blocks;)* >
+    <!ATTLIST audience %title.att; %common.att;>
+
+    <!ELEMENT steps (section | %blocks;)* >
+    <!ATTLIST steps %title.att; %common.att;>
+
+    <!ELEMENT extension (%blocks;)* >
+    <!ATTLIST extension %title.att; %common.att;>
+
+    <!ELEMENT tips (section | %blocks;)* >
+    <!ATTLIST tips %title.att; %common.att;>
+
+    <!ELEMENT references (section | %blocks;)* >
+    <!ATTLIST references %title.att; %common.att;>
+
+    <!ELEMENT feedback (%blocks;)* >
+    <!ATTLIST feedback %title.att; %common.att;>
+
+    <!ELEMENT last-modified-content-date EMPTY >
+    <!ATTLIST last-modified-content-date date CDATA #REQUIRED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/javadoc-v04draft.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/javadoc-v04draft.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,254 @@
+<!-- ===================================================================
+     
+     Apache JavaDoc DTD (version 0.4-draft)
+
+PURPOSE:
+  This DTD is designed to capture the output of JavaDoc as an XML document
+  through the use of the JavaDocXML Doclet. The hope is that by having the
+  JavaDoc documentation in an XML format, it will be easier for application
+  developers working with XML to treat their java source documentation in the
+  same way they treat any other XML document within their publication 
framework.
+  
+  This DTD should reflect the information contained within the RootDoc object 
+  passed to the JavaDocXML Doclet by JavaDoc. The RootDoc object and the rest 
+  of the javaDoc Doclet API is specified at
+  
+  http://java.sun.com/products/jdk/1.2/docs/tooldocs/javadoc/doclet/index.html
+  
+  The only information that appears to be difficult to derive from this DTD
+  that is easy to obtain from the RootDoc object is the information about 
+  serialization. However, this information should be derivable by manually 
+  looking for the correct serialization methods and other related structures.
+  
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD JavaDoc Vx.yz//EN"
+       "javadoc-vxyz.dtd">
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:  
+  The authors would like to thank the Cocoon's mail list subscribers for 
+  providing such great support and feedback for this DTD.
+  
+AUTHORS:
+  Kenneth Murphy <[EMAIL PROTECTED]>
+  
+FIXME:
+
+CHANGE HISTORY:
+  199909?? Original idea of XML doclet. (KM)
+  199910?? Initial version of this DTD. (KM)
+  19991129 Cleaned up DTD. (SM)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Common Attribute Entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % name 'name CDATA #REQUIRED'>
+<!ENTITY % dimension 'dimension CDATA #REQUIRED'>
+
+<!ENTITY % abstract 'abstract (true | false) "false"'>
+<!ENTITY % anonymous 'anonymous (true | false) "false"'>
+<!ENTITY % synthetic 'synthetic (true | false) "false"'>
+<!ENTITY % static 'static (true | false) "false"'>
+<!ENTITY % final 'final (true | false) "false"'>
+<!ENTITY % transient 'transient (true | false) "false"'>
+<!ENTITY % volatile 'volatile (true | false) "false"'>
+<!ENTITY % native 'native (true | false) "false"'>
+<!ENTITY % synchronized 'synchronized (true | false) "false"'>
+
+<!ENTITY % access 'access (private | package | protected | public) "package"'>
+<!ENTITY % class.access 'access (package | public) "package"'>
+
+<!ENTITY % extensibility 'extensibility (abstract | final | default) 
"default"'>
+
+
+<!-- =============================================================== -->
+<!-- Javadoc -->
+<!-- =============================================================== -->
+
+<!ELEMENT javadoc (package*, class*, interface*)>
+
+<!-- =============================================================== -->
+<!-- Package -->
+<!-- =============================================================== -->
+
+<!ELEMENT package (doc?, package*, class*, interface*)>
+<!ATTLIST package %name;>
+
+<!-- =============================================================== -->
+<!-- Class -->
+<!-- =============================================================== -->
+
+<!ELEMENT class (doc?,
+                 extends_class?,
+                 implements?,
+                 field*, 
+                 constructor*, 
+                 method*,
+                 innerclass*)>
+<!ATTLIST class
+          %name;
+          %extensibility;
+          %class.access;>
+
+<!ELEMENT extends_class (classref+)>
+          
+<!ELEMENT innerclass (doc?,
+                      extends?,
+                      implements?,
+                      field*, 
+                      constructor*, 
+                      method*)>
+<!ATTLIST innerclass
+          %name;
+          %access;
+          %abstract;
+          %anonymous;
+          %final;
+          %static;>
+          
+<!-- =============================================================== -->
+<!-- Interface -->
+<!-- =============================================================== -->
+          
+<!ELEMENT interface (doc?,
+                     extends_interface?,
+                     field*,
+                     method*)>
+<!ATTLIST interface
+          %name;
+          %access;>
+          
+<!ELEMENT extends_interface (interfaceref+)>
+
+<!-- =============================================================== -->
+<!-- Elements -->
+<!-- =============================================================== -->
+
+<!ELEMENT implements (interfaceref+)>
+
+<!ELEMENT throws (classref)+>
+
+<!ELEMENT classref EMPTY>
+<!ATTLIST classref %name;>
+          
+<!ELEMENT interfaceref EMPTY>
+<!ATTLIST interfaceref %name;>
+          
+<!ELEMENT methodref EMPTY>
+<!ATTLIST methodref %name;>
+          
+<!ELEMENT packageref EMPTY>
+<!ATTLIST packageref %name;>
+          
+<!ELEMENT primitive EMPTY>
+<!ATTLIST primitive
+          type (void | boolean | int | long | byte | short | double | float | 
char) #REQUIRED>
+          
+<!ELEMENT field (doc?, (classref | interfaceref | primitive))>
+<!ATTLIST field
+          %name;
+          %access;
+          %dimension;
+          %synthetic;
+          %static;
+          %final;
+          %transient;
+          %volatile;>
+          
+<!ELEMENT constructor (doc?, parameter*, throws*)>
+<!ATTLIST constructor
+          %name;
+          %access;
+          %synthetic;>
+          
+<!ELEMENT method (doc?, returns, parameter*, throws*)>
+<!ATTLIST method
+          %name;
+          %access;
+          %extensibility;
+          %native;
+          %synthetic;
+          %static;
+          %synchronized;>
+          
+<!ELEMENT returns (classref | interfaceref | primitive)>
+<!ATTLIST returns %dimension;>
+          
+<!ELEMENT parameter (classref | interfaceref | primitive)>
+<!ATTLIST parameter
+          %name;
+          %final;
+          %dimension;>
+          
+<!ELEMENT dimension (#PCDATA)>
+
+<!ELEMENT doc (#PCDATA | 
+               linktag |
+               authortag |
+               versiontag |
+               paramtag |
+               returntag |
+               exceptiontag |
+               throwstag |
+               seetag |
+               sincetag |
+               deprecatedtag |
+               serialtag |
+               serialfieldtag |
+               serialdatatag)*>
+               
+<!ELEMENT linktag (#PCDATA)>
+<!ATTLIST linktag
+          src CDATA #REQUIRED>
+          
+<!ELEMENT authortag (#PCDATA | linktag)*>
+
+<!ELEMENT versiontag (#PCDATA | linktag)*>
+
+<!ELEMENT paramtag (#PCDATA | linktag)*>
+<!ATTLIST paramtag %name;>
+          
+<!ELEMENT returntag (#PCDATA | linktag)*>
+
+<!ELEMENT exceptiontag (#PCDATA | classref | linktag)*>
+
+<!ELEMENT throwstag (#PCDATA | classref | linktag)*>
+
+<!ELEMENT seetag (#PCDATA | linktag)*>
+<!ATTLIST seetag
+          src CDATA #REQUIRED>
+          
+<!ELEMENT sincetag (#PCDATA | linktag)*>
+
+<!ELEMENT deprecatedtag (#PCDATA | linktag)*>
+
+<!ELEMENT serialtag (#PCDATA | linktag)*>
+
+<!ELEMENT serialfieldtag (#PCDATA | linktag)*>
+<!ATTLIST serialfieldtag
+          fieldname CDATA #REQUIRED
+          fieldtype CDATA #REQUIRED>
+          
+<!ELEMENT serialdatatag (#PCDATA | linktag)*>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/specification-v11.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/specification-v11.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,91 @@
+<!-- ===================================================================
+
+     Apache Specification DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software specifications for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Specification Vx.y//EN"
+       "specification-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+
+<!-- =============================================================== -->
+<!-- Extend the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!-- extend the local.xxx entities -->
+<!ENTITY % local.blocks "|bl">
+
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT specification (header?, body, appendices?, footer?)>
+<!ATTLIST specification %common.att;>
+
+    <!ELEMENT appendices (%sections;)+>
+    <!ATTLIST appendices %common.att;>
+
+<!-- =============================================================== -->
+<!-- Bibliography List -->
+<!-- =============================================================== -->
+
+    <!-- Bibliography list -->
+    <!ELEMENT bl (bi)+>
+    <!ATTLIST bl %common.att;>
+
+        <!-- Book item -->
+        <!ELEMENT bi EMPTY>
+        <!ATTLIST bi %common.att;
+                     %name.att;
+                     %link.att;
+                     authors CDATA #REQUIRED
+                     date    CDATA #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/tab-cocoon-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/tab-cocoon-v10.dtd
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,62 @@
+<!-- ===================================================================
+     
+     Apache Cocoon Documentation Tab DTD (Version 1.0)
+
+PURPOSE:
+This DTD defines the */tab.xml documentation configuration files.  Tabs are
+visual indicators that a certain subsection of the URI space is being browsed.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE tab PUBLIC
+       "-//APACHE//DTD Cocoon Documentation Tab Vx.yz//EN"
+       "tab-cocoon-vxyz.dtd">
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:
+  
+AUTHORS:
+  Bert Van Kets <[EMAIL PROTECTED]>
+  Jeff Turner <[EMAIL PROTECTED]>
+  
+FIXME:
+  - find the proper DTD for top.xml
+
+CHANGE HISTORY:
+  20030521 Add @id (JT)
+  20021102 Revised to allow either @dir or @href (JT)
+  20020506 Initial version. (BVK)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+<!ELEMENT tabs (tab)*>
+<!ELEMENT tab EMPTY>
+<!ATTLIST tabs
+  software CDATA #REQUIRED
+  title CDATA #REQUIRED
+  copyright CDATA #REQUIRED
+  xmlns:xlink CDATA #IMPLIED
+>
+<!ATTLIST tab
+  id CDATA #IMPLIED
+  label CDATA #REQUIRED
+  dir CDATA #IMPLIED
+  indexfile CDATA #IMPLIED
+  href CDATA #IMPLIED
+  type (visible | hidden) "visible"
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v11.dtd
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v11.dtd 
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,92 @@
+<!-- ===================================================================
+
+     Apache Todos DTD (Version 1.1)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development todo lists for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE todo PUBLIC
+       "-//APACHE//DTD Todo Vx.y//EN"
+       "todo-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes that need to be done, planned features, development
+  assignment, etc. in order to allow better work parallelization and create
+  an entry point for people that want to help. This DTD wants to provide
+  a solid foundation to provide such information and to allow it to be
+  published as well as distributed in a common format.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+  - do we need anymore working contexts? (SM)
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+  19991225 Added actions element for better structure (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+  20020613 Include the module of ISO character entity sets (DC)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Todo module -->
+<!-- =============================================================== -->
+
+<!ENTITY % todo PUBLIC
+    "-//APACHE//ENTITIES Todo V1.1//EN"
+    "todo-v11.mod">
+%todo;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v11.mod
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v11.mod 
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,72 @@
+<!-- ===================================================================
+
+     Apache Todos module (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development todo lists for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % todo PUBLIC
+      "-//APACHE//ENTITIES Todo Vxy//EN"
+      "todo-vxy.mod">
+  %todo;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes that need to be done, planned features, development
+  assignment, etc. in order to allow better work parallelization and create
+  an entry point for people that want to help. This DTD wants to provide
+  a solid foundation to provide such information and to allow it to be
+  published as well as distributed in a common format.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+  - do we need anymore working contexts? (SM)
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+  19991225 Added actions element for better structure (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Common entities -->
+<!-- =============================================================== -->
+<!ENTITY % priorities "showstopper|high|medium|low|wish|dream">
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+<!ELEMENT todo (title?, devs?, actions+)>
+<!ATTLIST todo
+  %common.att; 
+>
+
+<!ELEMENT actions (action+)>
+<!ATTLIST actions
+  %common.att; 
+  priority (%priorities;) #IMPLIED
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v12.dtd
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/todo-v12.dtd 
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,95 @@
+<!-- ===================================================================
+
+     Apache Todos DTD (Version 1.2)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development todo lists for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE todo PUBLIC
+       "-//APACHE//DTD Todo Vx.y//EN"
+       "todo-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes that need to be done, planned features, development
+  assignment, etc. in order to allow better work parallelization and create
+  an entry point for people that want to help. This DTD wants to provide
+  a solid foundation to provide such information and to allow it to be
+  published as well as distributed in a common format.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+  - do we need anymore working contexts? (SM)
+
+CHANGE HISTORY:
+[Version 1.0]
+  19991129 Initial version. (SM)
+  19991225 Added actions element for better structure (SM)
+[Version 1.1]
+  20011212 Used public identifiers for external entities (SM)
+  20020613 Include the module of ISO character entity sets (DC)
+[Version 1.2]
+  20030424 Adopt the loosened content model from document-v12 (JT)
+
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.2//EN"
+    "document-v12.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Todo module -->
+<!-- =============================================================== -->
+
+<!ENTITY % todo PUBLIC
+    "-//APACHE//ENTITIES Todo V1.1//EN"
+    "todo-v11.mod">
+%todo;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/README
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/README   
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,7 @@
+These are the deprecated document-v10 DTDs. Please use the current
+v11 DTDs instead. 
+
+There is an Ant task in Forrest scratchpad to automatically transform
+your v10 xdocs to v11 ...
+./build.sh scratchpad
+transform-v11

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/changes-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/changes-v10.dtd
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,91 @@
+<!-- ===================================================================
+
+     Apache Changes DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software development changes for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Changes Vx.yz//EN"
+       "http://xml.apache.org/DTD/changes-vxyz.dtd";>
+
+  where
+
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+
+NOTES:
+  It is important, expecially in open developped software projects, to keep
+  track of software changes both to give users indications of bugs that might
+  have been resolved, as well, and not less important, to provide credits
+  for the support given to the project. It is considered vital to provide
+  adequate payback using recognition and credits to let users and developers
+  feel part of the community, thus increasing development power.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+  20000316 Added bugfixing attribute. (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Extend the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!-- FIXME (SM): this is hardcoding. Find a better way of doing this
+     possibly using public identifiers -->
+<!ENTITY % document-dtd SYSTEM "document-v10.dtd">
+%document-dtd;
+
+<!-- =============================================================== -->
+<!-- Common entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % types "add|remove|update|fix">
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT changes (devs, release*)>
+<!ATTLIST changes %common.att;
+                  %title.att;>
+
+    <!ELEMENT devs (person+)>
+    <!ATTLIST devs %common.att;>
+
+    <!ELEMENT release (action+)>
+    <!ATTLIST release %common.att;
+                      version  CDATA  #REQUIRED
+                      date     CDATA  #REQUIRED>
+
+        <!ELEMENT action (%content.mix;)*>
+        <!ATTLIST action %common.att;
+                         dev  IDREF  #REQUIRED
+                         type (%types;)  #IMPLIED
+                         due-to CDATA #IMPLIED
+                         due-to-email CDATA #IMPLIED
+                         fixes-bug CDATA #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/characters.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/characters.ent
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,290 @@
+<!-- 
+     Portions (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- 
+     Character entity set.
+-->
+
+<!-- Latin A -->
+<!ENTITY nbsp     "&#160;">  <!-- U+00A0 ISOnum    - no-break space = 
non-breaking space                                   -->
+<!ENTITY iexcl    "&#161;">  <!-- U+00A1 ISOnum    - inverted exclamation mark 
                                            -->
+<!ENTITY cent     "&#162;">  <!-- U+00A2 ISOnum    - cent sign                 
                                            -->
+<!ENTITY pound    "&#163;">  <!-- U+00A3 ISOnum    - pound sign                
                                            -->
+<!ENTITY curren   "&#164;">  <!-- U+00A4 ISOnum    - currency sign             
                                            -->
+<!ENTITY yen      "&#165;">  <!-- U+00A5 ISOnum    - yen sign = yuan sign      
                                            -->
+<!ENTITY brvbar   "&#166;">  <!-- U+00A6 ISOnum    - broken bar = broken 
vertical bar                                      -->
+<!ENTITY sect     "&#167;">  <!-- U+00A7 ISOnum    - section sign              
                                            -->
+<!ENTITY uml      "&#168;">  <!-- U+00A8 ISOdia    - diaeresis = spacing 
diaeresis                                         -->
+<!ENTITY copy     "&#169;">  <!-- U+00A9 ISOnum    - copyright sign            
                                            -->
+<!ENTITY ordf     "&#170;">  <!-- U+00AA ISOnum    - feminine ordinal 
indicator                                            -->
+<!ENTITY laquo    "&#171;">  <!-- U+00AB ISOnum    - left-pointing double 
angle quotation mark = left pointing guillemet   -->
+<!ENTITY not      "&#172;">  <!-- U+00AC ISOnum    - not sign                  
                                            -->
+<!ENTITY shy      "&#173;">  <!-- U+00AD ISOnum    - soft hyphen = 
discretionary hyphen                                    -->
+<!ENTITY reg      "&#174;">  <!-- U+00AE ISOnum    - registered sign = 
registered trade mark sign                          -->
+<!ENTITY macr     "&#175;">  <!-- U+00AF ISOdia    - macron = spacing macron = 
overline = APL overbar                      -->
+<!ENTITY deg      "&#176;">  <!-- U+00B0 ISOnum    - degree sign               
                                            -->
+<!ENTITY plusmn   "&#177;">  <!-- U+00B1 ISOnum    - plus-minus sign = 
plus-or-minus sign                                  -->
+<!ENTITY sup2     "&#178;">  <!-- U+00B2 ISOnum    - superscript two = 
superscript digit two = squared                     -->
+<!ENTITY sup3     "&#179;">  <!-- U+00B3 ISOnum    - superscript three = 
superscript digit three = cubed                   -->
+<!ENTITY acute    "&#180;">  <!-- U+00B4 ISOdia    - acute accent = spacing 
acute                                          -->
+<!ENTITY micro    "&#181;">  <!-- U+00B5 ISOnum    - micro sign                
                                            -->
+<!ENTITY para     "&#182;">  <!-- U+00B6 ISOnum    - pilcrow sign = paragraph 
sign                                         -->
+<!ENTITY middot   "&#183;">  <!-- U+00B7 ISOnum    - middle dot = Georgian 
comma = Greek middle dot                        -->
+<!ENTITY cedil    "&#184;">  <!-- U+00B8 ISOdia    - cedilla = spacing cedilla 
                                            -->
+<!ENTITY sup1     "&#185;">  <!-- U+00B9 ISOnum    - superscript one = 
superscript digit one                               -->
+<!ENTITY ordm     "&#186;">  <!-- U+00BA ISOnum    - masculine ordinal 
indicator                                           -->
+<!ENTITY raquo    "&#187;">  <!-- U+00BB ISOnum    - right-pointing double 
angle quotation mark = right pointing guillemet -->
+<!ENTITY frac14   "&#188;">  <!-- U+00BC ISOnum    - vulgar fraction one 
quarter = fraction one quarter                    -->
+<!ENTITY frac12   "&#189;">  <!-- U+00BD ISOnum    - vulgar fraction one half 
= fraction one half                          -->
+<!ENTITY frac34   "&#190;">  <!-- U+00BE ISOnum    - vulgar fraction three 
quarters = fraction three quarters              -->
+<!ENTITY iquest   "&#191;">  <!-- U+00BF ISOnum    - inverted question mark = 
turned question mark                         -->
+<!ENTITY Agrave   "&#192;">  <!-- U+00C0 ISOlat1   - latin capital letter A 
with grave = latin capital letter A grave      -->
+<!ENTITY Aacute   "&#193;">  <!-- U+00C1 ISOlat1   - latin capital letter A 
with acute                                     -->
+<!ENTITY Acirc    "&#194;">  <!-- U+00C2 ISOlat1   - latin capital letter A 
with circumflex                                -->
+<!ENTITY Atilde   "&#195;">  <!-- U+00C3 ISOlat1   - latin capital letter A 
with tilde                                     -->
+<!ENTITY Auml     "&#196;">  <!-- U+00C4 ISOlat1   - latin capital letter A 
with diaeresis                                 -->
+<!ENTITY Aring    "&#197;">  <!-- U+00C5 ISOlat1   - latin capital letter A 
with ring above = latin capital letter A ring  -->
+<!ENTITY AElig    "&#198;">  <!-- U+00C6 ISOlat1   - latin capital letter AE = 
latin capital ligature AE                   -->
+<!ENTITY Ccedil   "&#199;">  <!-- U+00C7 ISOlat1   - latin capital letter C 
with cedilla                                   -->
+<!ENTITY Egrave   "&#200;">  <!-- U+00C8 ISOlat1   - latin capital letter E 
with grave                                     -->
+<!ENTITY Eacute   "&#201;">  <!-- U+00C9 ISOlat1   - latin capital letter E 
with acute                                     -->
+<!ENTITY Ecirc    "&#202;">  <!-- U+00CA ISOlat1   - latin capital letter E 
with circumflex                                -->
+<!ENTITY Euml     "&#203;">  <!-- U+00CB ISOlat1   - latin capital letter E 
with diaeresis                                 -->
+<!ENTITY Igrave   "&#204;">  <!-- U+00CC ISOlat1   - latin capital letter I 
with grave                                     -->
+<!ENTITY Iacute   "&#205;">  <!-- U+00CD ISOlat1   - latin capital letter I 
with acute                                     -->
+<!ENTITY Icirc    "&#206;">  <!-- U+00CE ISOlat1   - latin capital letter I 
with circumflex                                -->
+<!ENTITY Iuml     "&#207;">  <!-- U+00CF ISOlat1   - latin capital letter I 
with diaeresis                                 -->
+<!ENTITY ETH      "&#208;">  <!-- U+00D0 ISOlat1   - latin capital letter ETH  
                                            -->
+<!ENTITY Ntilde   "&#209;">  <!-- U+00D1 ISOlat1   - latin capital letter N 
with tilde                                     -->
+<!ENTITY Ograve   "&#210;">  <!-- U+00D2 ISOlat1   - latin capital letter O 
with grave                                     -->
+<!ENTITY Oacute   "&#211;">  <!-- U+00D3 ISOlat1   - latin capital letter O 
with acute                                     -->
+<!ENTITY Ocirc    "&#212;">  <!-- U+00D4 ISOlat1   - latin capital letter O 
with circumflex                                -->
+<!ENTITY Otilde   "&#213;">  <!-- U+00D5 ISOlat1   - latin capital letter O 
with tilde                                     -->
+<!ENTITY Ouml     "&#214;">  <!-- U+00D6 ISOlat1   - latin capital letter O 
with diaeresis                                 -->
+<!ENTITY times    "&#215;">  <!-- U+00D7 ISOnum    - multiplication sign       
                                            -->
+<!ENTITY Oslash   "&#216;">  <!-- U+00D8 ISOlat1   - latin capital letter O 
with stroke = latin capital letter O slash     -->
+<!ENTITY Ugrave   "&#217;">  <!-- U+00D9 ISOlat1   - latin capital letter U 
with grave                                     -->
+<!ENTITY Uacute   "&#218;">  <!-- U+00DA ISOlat1   - latin capital letter U 
with acute                                     -->
+<!ENTITY Ucirc    "&#219;">  <!-- U+00DB ISOlat1   - latin capital letter U 
with circumflex                                -->
+<!ENTITY Uuml     "&#220;">  <!-- U+00DC ISOlat1   - latin capital letter U 
with diaeresis                                 -->
+<!ENTITY Yacute   "&#221;">  <!-- U+00DD ISOlat1   - latin capital letter Y 
with acute                                     -->
+<!ENTITY THORN    "&#222;">  <!-- U+00DE ISOlat1   - latin capital letter 
THORN                                            -->
+<!ENTITY szlig    "&#223;">  <!-- U+00DF ISOlat1   - latin small letter sharp 
s = ess-zed                                  -->
+<!ENTITY agrave   "&#224;">  <!-- U+00E0 ISOlat1   - latin small letter a with 
grave = latin small letter a grave          -->
+<!ENTITY aacute   "&#225;">  <!-- U+00E1 ISOlat1   - latin small letter a with 
acute                                       -->
+<!ENTITY acirc    "&#226;">  <!-- U+00E2 ISOlat1   - latin small letter a with 
circumflex                                  -->
+<!ENTITY atilde   "&#227;">  <!-- U+00E3 ISOlat1   - latin small letter a with 
tilde                                       -->
+<!ENTITY auml     "&#228;">  <!-- U+00E4 ISOlat1   - latin small letter a with 
diaeresis                                   -->
+<!ENTITY aring    "&#229;">  <!-- U+00E5 ISOlat1   - latin small letter a with 
ring above = latin small letter a ring      -->
+<!ENTITY aelig    "&#230;">  <!-- U+00E6 ISOlat1   - latin small letter ae = 
latin small ligature ae                       -->
+<!ENTITY ccedil   "&#231;">  <!-- U+00E7 ISOlat1   - latin small letter c with 
cedilla                                     -->
+<!ENTITY egrave   "&#232;">  <!-- U+00E8 ISOlat1   - latin small letter e with 
grave                                       -->
+<!ENTITY eacute   "&#233;">  <!-- U+00E9 ISOlat1   - latin small letter e with 
acute                                       -->
+<!ENTITY ecirc    "&#234;">  <!-- U+00EA ISOlat1   - latin small letter e with 
circumflex                                  -->
+<!ENTITY euml     "&#235;">  <!-- U+00EB ISOlat1   - latin small letter e with 
diaeresis                                   -->
+<!ENTITY igrave   "&#236;">  <!-- U+00EC ISOlat1   - latin small letter i with 
grave                                       -->
+<!ENTITY iacute   "&#237;">  <!-- U+00ED ISOlat1   - latin small letter i with 
acute                                       -->
+<!ENTITY icirc    "&#238;">  <!-- U+00EE ISOlat1   - latin small letter i with 
circumflex                                  -->
+<!ENTITY iuml     "&#239;">  <!-- U+00EF ISOlat1   - latin small letter i with 
diaeresis                                   -->
+<!ENTITY eth      "&#240;">  <!-- U+00F0 ISOlat1   - latin small letter eth    
                                            -->
+<!ENTITY ntilde   "&#241;">  <!-- U+00F1 ISOlat1   - latin small letter n with 
tilde                                       -->
+<!ENTITY ograve   "&#242;">  <!-- U+00F2 ISOlat1   - latin small letter o with 
grave                                       -->
+<!ENTITY oacute   "&#243;">  <!-- U+00F3 ISOlat1   - latin small letter o with 
acute                                       -->
+<!ENTITY ocirc    "&#244;">  <!-- U+00F4 ISOlat1   - latin small letter o with 
circumflex                                  -->
+<!ENTITY otilde   "&#245;">  <!-- U+00F5 ISOlat1   - latin small letter o with 
tilde                                       -->
+<!ENTITY ouml     "&#246;">  <!-- U+00F6 ISOlat1   - latin small letter o with 
diaeresis                                   -->
+<!ENTITY divide   "&#247;">  <!-- U+00F7 ISOnum    - division sign             
                                            -->
+<!ENTITY oslash   "&#248;">  <!-- U+00F8 ISOlat1   - latin small letter o with 
stroke = latin small letter o slash         -->
+<!ENTITY ugrave   "&#249;">  <!-- U+00F9 ISOlat1   - latin small letter u with 
grave                                       -->
+<!ENTITY uacute   "&#250;">  <!-- U+00FA ISOlat1   - latin small letter u with 
acute                                       -->
+<!ENTITY ucirc    "&#251;">  <!-- U+00FB ISOlat1   - latin small letter u with 
circumflex                                  -->
+<!ENTITY uuml     "&#252;">  <!-- U+00FC ISOlat1   - latin small letter u with 
diaeresis                                   -->
+<!ENTITY yacute   "&#253;">  <!-- U+00FD ISOlat1   - latin small letter y with 
acute                                       -->
+<!ENTITY thorn    "&#254;">  <!-- U+00FE ISOlat1   - latin small letter thorn  
                                            -->
+<!ENTITY yuml     "&#255;">  <!-- U+00FF ISOlat1   - latin small letter y with 
diaeresis                                   -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig    "&#338;">  <!-- U+0152 ISOlat2   - latin capital ligature OE 
                                            -->
+<!ENTITY oelig    "&#339;">  <!-- U+0153 ISOlat2   - latin small ligature oe   
                                            -->
+
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron   "&#352;">  <!-- U+0160 ISOlat2   - latin capital letter S 
with caron                                     -->
+<!ENTITY scaron   "&#353;">  <!-- U+0161 ISOlat2   - latin small letter s with 
caron                                       -->
+<!ENTITY Yuml     "&#376;">  <!-- U+0178 ISOlat2   - latin capital letter Y 
with diaeresis                                 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ     "&#710;">  <!-- U+02C6 ISOpub    - modifier letter 
circumflex accent                                     -->
+<!ENTITY tilde    "&#732;">  <!-- U+02DC ISOdia    - small tilde               
                                            -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp     "&#8194;"> <!-- U+2002 ISOpub    - en space                  
                                            -->
+<!ENTITY emsp     "&#8195;"> <!-- U+2003 ISOpub    - em space                  
                                            -->
+<!ENTITY thinsp   "&#8201;"> <!-- U+2009 ISOpub    - thin space                
                                            -->
+<!ENTITY zwnj     "&#8204;"> <!-- U+200C RFC 2070  - zero width non-joiner     
                                            -->
+<!ENTITY zwj      "&#8205;"> <!-- U+200D RFC 2070  - zero width joiner         
                                            -->
+<!ENTITY lrm      "&#8206;"> <!-- U+200E RFC 2070  - left-to-right mark        
                                            -->
+<!ENTITY rlm      "&#8207;"> <!-- U+200F RFC 2070  - right-to-left mark        
                                            -->
+<!ENTITY ndash    "&#8211;"> <!-- U+2013 ISOpub    - en dash                   
                                            -->
+<!ENTITY mdash    "&#8212;"> <!-- U+2014 ISOpub    - em dash                   
                                            -->
+<!ENTITY lsquo    "&#8216;"> <!-- U+2018 ISOnum    - left single quotation 
mark                                            -->
+<!ENTITY rsquo    "&#8217;"> <!-- U+2019 ISOnum    - right single quotation 
mark                                           -->
+<!ENTITY sbquo    "&#8218;"> <!-- U+201A NEW       - single low-9 quotation 
mark                                           -->
+<!ENTITY ldquo    "&#8220;"> <!-- U+201C ISOnum    - left double quotation 
mark                                            -->
+<!ENTITY rdquo    "&#8221;"> <!-- U+201D ISOnum    - right double quotation 
mark,                                          -->
+<!ENTITY bdquo    "&#8222;"> <!-- U+201E NEW       - double low-9 quotation 
mark                                           -->
+<!ENTITY dagger   "&#8224;"> <!-- U+2020 ISOpub    - dagger                    
                                            -->
+<!ENTITY Dagger   "&#8225;"> <!-- U+2021 ISOpub    - double dagger             
                                            -->
+<!ENTITY permil   "&#8240;"> <!-- U+2030 ISOtech   - per mille sign            
                                            -->
+<!ENTITY lsaquo   "&#8249;"> <!-- U+2039 ISO prop. - single left-pointing 
angle quotation mark                             -->
+
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo   "&#8250;"> <!-- U+203A ISO prop. -   single right-pointing 
angle quotation mark                          -->
+
+<!-- rsaquo is proposed but not yet ISO standardized -->
+<!ENTITY euro     "&#8364;"> <!-- U+20AC NEW       -   euro sign               
                                            -->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof     "&#402;">  <!-- U+0192 ISOtech   - latin small f with hook = 
function = florin                           -->
+
+<!-- Greek -->
+<!ENTITY Alpha    "&#913;">  <!-- U+0391           - greek capital letter 
alpha                                            -->
+<!ENTITY Beta     "&#914;">  <!-- U+0392           - greek capital letter beta 
                                            -->
+<!ENTITY Gamma    "&#915;">  <!-- U+0393 ISOgrk3   - greek capital letter 
gamma                                            -->
+<!ENTITY Delta    "&#916;">  <!-- U+0394 ISOgrk3   - greek capital letter 
delta                                            -->
+<!ENTITY Epsilon  "&#917;">  <!-- U+0395           - greek capital letter 
epsilon                                          -->
+<!ENTITY Zeta     "&#918;">  <!-- U+0396           - greek capital letter zeta 
                                            -->
+<!ENTITY Eta      "&#919;">  <!-- U+0397           - greek capital letter eta  
                                            -->
+<!ENTITY Theta    "&#920;">  <!-- U+0398 ISOgrk3   - greek capital letter 
theta                                            -->
+<!ENTITY Iota     "&#921;">  <!-- U+0399           - greek capital letter iota 
                                            -->
+<!ENTITY Kappa    "&#922;">  <!-- U+039A           - greek capital letter 
kappa                                            -->
+<!ENTITY Lambda   "&#923;">  <!-- U+039B ISOgrk3   - greek capital letter 
lambda                                           -->
+<!ENTITY Mu       "&#924;">  <!-- U+039C           - greek capital letter mu   
                                            -->
+<!ENTITY Nu       "&#925;">  <!-- U+039D           - greek capital letter nu   
                                            -->
+<!ENTITY Xi       "&#926;">  <!-- U+039E ISOgrk3   - greek capital letter xi   
                                            -->
+<!ENTITY Omicron  "&#927;">  <!-- U+039F           - greek capital letter 
omicron                                          -->
+<!ENTITY Pi       "&#928;">  <!-- U+03A0 ISOgrk3   - greek capital letter pi   
                                            -->
+<!ENTITY Rho      "&#929;">  <!-- U+03A1           - greek capital letter rho  
                                            -->
+<!ENTITY Sigma    "&#931;">  <!-- U+03A3 ISOgrk3   - greek capital letter 
sigma                                            -->
+<!ENTITY Tau      "&#932;">  <!-- U+03A4           - greek capital letter tau  
                                            -->
+<!ENTITY Upsilon  "&#933;">  <!-- U+03A5 ISOgrk3   - greek capital letter 
upsilon                                          -->
+<!ENTITY Phi      "&#934;">  <!-- U+03A6 ISOgrk3   - greek capital letter phi  
                                            -->
+<!ENTITY Chi      "&#935;">  <!-- U+03A7           - greek capital letter chi  
                                            -->
+<!ENTITY Psi      "&#936;">  <!-- U+03A8 ISOgrk3   - greek capital letter psi  
                                            -->
+<!ENTITY Omega    "&#937;">  <!-- U+03A9 ISOgrk3   - greek capital letter 
omega                                            -->
+<!ENTITY alpha    "&#945;">  <!-- U+03B1 ISOgrk3   - greek small letter alpha  
                                            -->
+<!ENTITY beta     "&#946;">  <!-- U+03B2 ISOgrk3   - greek small letter beta   
                                            -->
+<!ENTITY gamma    "&#947;">  <!-- U+03B3 ISOgrk3   - greek small letter gamma  
                                            -->
+<!ENTITY delta    "&#948;">  <!-- U+03B4 ISOgrk3   - greek small letter delta  
                                            -->
+<!ENTITY epsilon  "&#949;">  <!-- U+03B5 ISOgrk3   - greek small letter 
epsilon                                            -->
+<!ENTITY zeta     "&#950;">  <!-- U+03B6 ISOgrk3   - greek small letter zeta   
                                            -->
+<!ENTITY eta      "&#951;">  <!-- U+03B7 ISOgrk3   - greek small letter eta    
                                            -->
+<!ENTITY theta    "&#952;">  <!-- U+03B8 ISOgrk3   - greek small letter theta  
                                            -->
+<!ENTITY iota     "&#953;">  <!-- U+03B9 ISOgrk3   - greek small letter iota   
                                            -->
+<!ENTITY kappa    "&#954;">  <!-- U+03BA ISOgrk3   - greek small letter kappa  
                                            -->
+<!ENTITY lambda   "&#955;">  <!-- U+03BB ISOgrk3   - greek small letter lambda 
                                            -->
+<!ENTITY mu       "&#956;">  <!-- U+03BC ISOgrk3   - greek small letter mu     
                                            -->
+<!ENTITY nu       "&#957;">  <!-- U+03BD ISOgrk3   - greek small letter nu     
                                            -->
+<!ENTITY xi       "&#958;">  <!-- U+03BE ISOgrk3   - greek small letter xi     
                                            -->
+<!ENTITY omicron  "&#959;">  <!-- U+03BF NEW       - greek small letter 
omicron                                            -->
+<!ENTITY pi       "&#960;">  <!-- U+03C0 ISOgrk3   - greek small letter pi     
                                            -->
+<!ENTITY rho      "&#961;">  <!-- U+03C1 ISOgrk3   - greek small letter rho    
                                            -->
+<!ENTITY sigmaf   "&#962;">  <!-- U+03C2 ISOgrk3   - greek small letter final 
sigma                                        -->
+<!ENTITY sigma    "&#963;">  <!-- U+03C3 ISOgrk3   - greek small letter sigma  
                                            -->
+<!ENTITY tau      "&#964;">  <!-- U+03C4 ISOgrk3   - greek small letter tau    
                                            -->
+<!ENTITY upsilon  "&#965;">  <!-- U+03C5 ISOgrk3   - greek small letter 
upsilon                                            -->
+<!ENTITY phi      "&#966;">  <!-- U+03C6 ISOgrk3   - greek small letter phi    
                                            -->
+<!ENTITY chi      "&#967;">  <!-- U+03C7 ISOgrk3   - greek small letter chi    
                                            -->
+<!ENTITY psi      "&#968;">  <!-- U+03C8 ISOgrk3   - greek small letter psi    
                                            -->
+<!ENTITY omega    "&#969;">  <!-- U+03C9 ISOgrk3   - greek small letter omega  
                                            -->
+<!ENTITY thetasym "&#977;">  <!-- U+03D1 NEW       - greek small letter theta 
symbol                                       -->
+<!ENTITY upsih    "&#978;">  <!-- U+03D2 NEW       - greek upsilon with hook 
symbol                                        -->
+<!ENTITY piv      "&#982;">  <!-- U+03D6 ISOgrk3   - greek pi symbol           
                                            -->
+
+<!-- General Punctuation -->
+<!ENTITY bull     "&#8226;"> <!-- U+2022 ISOpub    - bullet = black small 
circle                                           -->
+<!ENTITY hellip   "&#8230;"> <!-- U+2026 ISOpub    - horizontal ellipsis = 
three dot leader                                -->
+<!ENTITY prime    "&#8242;"> <!-- U+2032 ISOtech   - prime = minutes = feet    
                                            -->
+<!ENTITY Prime    "&#8243;"> <!-- U+2033 ISOtech   - double prime = seconds = 
inches                                       -->
+<!ENTITY oline    "&#8254;"> <!-- U+203E NEW       - overline = spacing 
overscore                                          -->
+<!ENTITY frasl    "&#8260;"> <!-- U+2044 NEW       - fraction slash            
                                            -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp   "&#8472;"> <!-- U+2118 ISOamso   - script capital P = power 
set = Weierstrass p                          -->
+<!ENTITY image    "&#8465;"> <!-- U+2111 ISOamso   - blackletter capital I = 
imaginary part                                -->
+<!ENTITY real     "&#8476;"> <!-- U+211C ISOamso   - blackletter capital R = 
real part symbol                              -->
+<!ENTITY trade    "&#8482;"> <!-- U+2122 ISOnum    - trade mark sign           
                                            -->
+<!ENTITY alefsym  "&#8501;"> <!-- U+2135 NEW       - alef symbol = first 
transfinite cardinal                              -->
+
+<!-- Arrows -->
+<!ENTITY larr     "&#8592;"> <!-- U+2190 ISOnum    - leftwards arrow           
                                            -->
+<!ENTITY uarr     "&#8593;"> <!-- U+2191 ISOnum    - upwards arrow             
                                            -->
+<!ENTITY rarr     "&#8594;"> <!-- U+2192 ISOnum    - rightwards arrow          
                                            -->
+<!ENTITY darr     "&#8595;"> <!-- U+2193 ISOnum    - downwards arrow           
                                            -->
+<!ENTITY harr     "&#8596;"> <!-- U+2194 ISOamsa   - left right arrow          
                                            -->
+<!ENTITY crarr    "&#8629;"> <!-- U+21B5 NEW       - downwards arrow with 
corner leftwards = carriage return               -->
+<!ENTITY lArr     "&#8656;"> <!-- U+21D0 ISOtech   - leftwards double arrow    
                                            -->
+<!ENTITY uArr     "&#8657;"> <!-- U+21D1 ISOamsa   - upwards double arrow      
                                            -->
+<!ENTITY rArr     "&#8658;"> <!-- U+21D2 ISOtech   - rightwards double arrow   
                                            -->
+<!ENTITY dArr     "&#8659;"> <!-- U+21D3 ISOamsa   - downwards double arrow    
                                            -->
+<!ENTITY hArr     "&#8660;"> <!-- U+21D4 ISOamsa   - left right double arrow   
                                            -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall   "&#8704;"> <!-- U+2200 ISOtech   - for all                   
                                            -->
+<!ENTITY part     "&#8706;"> <!-- U+2202 ISOtech   - partial differential      
                                            -->
+<!ENTITY exist    "&#8707;"> <!-- U+2203 ISOtech   - there exists              
                                            -->
+<!ENTITY empty    "&#8709;"> <!-- U+2205 ISOamso   - empty set = null set = 
diameter                                       -->
+<!ENTITY nabla    "&#8711;"> <!-- U+2207 ISOtech   - nabla = backward 
difference                                           -->
+<!ENTITY isin     "&#8712;"> <!-- U+2208 ISOtech   - element of                
                                            -->
+<!ENTITY notin    "&#8713;"> <!-- U+2209 ISOtech   - not an element of         
                                            -->
+<!ENTITY ni       "&#8715;"> <!-- U+220B ISOtech   - contains as member        
                                            -->
+<!ENTITY prod     "&#8719;"> <!-- U+220F ISOamsb   - n-ary product = product 
sign                                          -->
+<!ENTITY sum      "&#8721;"> <!-- U+2211 ISOamsb   - n-ary sumation            
                                            -->
+<!ENTITY minus    "&#8722;"> <!-- U+2212 ISOtech   - minus sign                
                                            -->
+<!ENTITY lowast   "&#8727;"> <!-- U+2217 ISOtech   - asterisk operator         
                                            -->
+<!ENTITY radic    "&#8730;"> <!-- U+221A ISOtech   - square root = radical 
sign                                            -->
+<!ENTITY prop     "&#8733;"> <!-- U+221D ISOtech   - proportional to           
                                            -->
+<!ENTITY infin    "&#8734;"> <!-- U+221E ISOtech   - infinity                  
                                            -->
+<!ENTITY ang      "&#8736;"> <!-- U+2220 ISOamso   - angle                     
                                            -->
+<!ENTITY and      "&#8743;"> <!-- U+2227 ISOtech   - logical and = wedge       
                                            -->
+<!ENTITY or       "&#8744;"> <!-- U+2228 ISOtech   - logical or = vee          
                                            -->
+<!ENTITY cap      "&#8745;"> <!-- U+2229 ISOtech   - intersection = cap        
                                            -->
+<!ENTITY cup      "&#8746;"> <!-- U+222A ISOtech   - union = cup               
                                            -->
+<!ENTITY int      "&#8747;"> <!-- U+222B ISOtech   - integral                  
                                            -->
+<!ENTITY there4   "&#8756;"> <!-- U+2234 ISOtech   - therefore                 
                                            -->
+<!ENTITY sim      "&#8764;"> <!-- U+223C ISOtech   - tilde operator = varies 
with = similar to                             -->
+<!ENTITY cong     "&#8773;"> <!-- U+2245 ISOtech   - approximately equal to    
                                            -->
+<!ENTITY asymp    "&#8776;"> <!-- U+2248 ISOamsr   - almost equal to = 
asymptotic to                                       -->
+<!ENTITY ne       "&#8800;"> <!-- U+2260 ISOtech   - not equal to              
                                            -->
+<!ENTITY equiv    "&#8801;"> <!-- U+2261 ISOtech   - identical to              
                                            -->
+<!ENTITY le       "&#8804;"> <!-- U+2264 ISOtech   - less-than or equal to     
                                            -->
+<!ENTITY ge       "&#8805;"> <!-- U+2265 ISOtech   - greater-than or equal to  
                                            -->
+<!ENTITY sub      "&#8834;"> <!-- U+2282 ISOtech   - subset of                 
                                            -->
+<!ENTITY sup      "&#8835;"> <!-- U+2283 ISOtech   - superset of               
                                            -->
+<!ENTITY nsub     "&#8836;"> <!-- U+2284 ISOamsn   - not a subset of           
                                            -->
+<!ENTITY sube     "&#8838;"> <!-- U+2286 ISOtech   - subset of or equal to     
                                            -->
+<!ENTITY supe     "&#8839;"> <!-- U+2287 ISOtech   - superset of or equal to   
                                            -->
+<!ENTITY oplus    "&#8853;"> <!-- U+2295 ISOamsb   - circled plus = direct sum 
                                            -->
+<!ENTITY otimes   "&#8855;"> <!-- U+2297 ISOamsb   - circled times = vector 
product                                        -->
+<!ENTITY perp     "&#8869;"> <!-- U+22A5 ISOtech   - up tack = orthogonal to = 
perpendicular                               -->
+<!ENTITY sdot     "&#8901;"> <!-- U+22C5 ISOamsb   - dot operator              
                                            -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil    "&#8968;"> <!-- U+2308 ISOamsc   - left ceiling = apl 
upstile                                            -->
+<!ENTITY rceil    "&#8969;"> <!-- U+2309 ISOamsc   - right ceiling             
                                            -->
+<!ENTITY lfloor   "&#8970;"> <!-- U+230A ISOamsc   - left floor = apl 
downstile                                            -->
+<!ENTITY rfloor   "&#8971;"> <!-- U+230B ISOamsc   - right floor               
                                            -->
+<!ENTITY lang     "&#9001;"> <!-- U+2329 ISOtech   - left-pointing angle 
bracket = bra                                     -->
+<!ENTITY rang     "&#9002;"> <!-- U+232A ISOtech   - right-pointing angle 
bracket = ket                                    -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz      "&#9674;"> <!-- U+25CA ISOpub    - lozenge                   
                                            -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades   "&#9824;"> <!-- U+2660 ISOpub    - black spade suit          
                                            -->
+<!ENTITY clubs    "&#9827;"> <!-- U+2663 ISOpub    - black club suit = 
shamrock                                            -->
+<!ENTITY hearts   "&#9829;"> <!-- U+2665 ISOpub    - black heart suit = 
valentine                                          -->
+<!ENTITY diams    "&#9830;"> <!-- U+2666 ISOpub    - black diamond suit        
                                            -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/document-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/document-v10.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,495 @@
+<!-- ===================================================================
+
+     Apache Documentation DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Documentation Vx.yz//EN"
+       "document-vxyz.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+
+NOTES:
+  Many of the design patterns used in this DTD were take from the
+  W3C XML Specification DTD edited by Eve Maler <[EMAIL PROTECTED]>.
+
+  Where possible, great care has been used to reutilize HTML tag
+  names to reduce learning efforts and to allow HTML editors to be
+  used for complex authorings like tables and lists.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+
+FIXME:
+  - how can we include char entities without hardwiring them?
+  - should "form" tags be included?
+  - should all style-free HTML 4.0 markup tags be included?
+  - how do we handle the idea of "soft" xlinks?
+  - should we add "soft" links to images?
+
+CHANGE HISTORY:
+  19991121 Initial version. (SM)
+  19991123 Replaced "res" with more standard "strong" for emphasis. (SM)
+  19991124 Added "fork" element for window forking behavior. (SM)
+  19991124 Added "img-inline" element to separate from "img". (SM)
+  19991129 Removed "affiliation" from "author". (SM)
+  19991129 Made "author" empty and moved "name|email" as attributes. (SM)
+  19991215 Simplified table section. (SM)
+  19991215 Changed "img-block" in more friendly "figure". (SM)
+  20000125 Added the "icon" image. (SM)
+  20000126 Allowed "anchor" in all levels. (SM)
+  20000404 Removed the "role" attribute from common-xxx.att. (SM)
+  20000815 Allowed "code" inside "strong" and "em". (SM)
+  20020223 Allowed "figure" at section level (SM)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Common character entities (included from external file) -->
+<!-- =============================================================== -->
+<!-- FIXME (SM): this is hardcoding. Find a better way of doing this
+     possibly using public identifiers of ISO latin char sets -->
+<!ENTITY % charEntity SYSTEM "characters.ent">
+%charEntity;
+<!-- =============================================================== -->
+<!-- Userful entitieis for increased DTD readability -->
+<!-- =============================================================== -->
+<!ENTITY % text "#PCDATA">
+<!-- =============================================================== -->
+<!-- Entities for general XML compliance -->
+<!-- =============================================================== -->
+<!-- Common attributes
+        Every element has an ID attribute (sometimes required,
+        but usually optional) for links. %common.att;
+        is for common attributes where the ID is optional, and
+        %common-idreq.att; is for common attributes where the
+        ID is required.
+-->
+<!ENTITY % common.att 'id                     ID              #IMPLIED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!-- xml:space attribute ===============================================
+        Indicates that the element contains white space
+        that the formatter or other application should retain,
+        as appropriate to its function.
+==================================================================== -->
+<!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
+<!-- def attribute =====================================================
+        Points to the element where the relevant definition can be
+        found, using the IDREF mechanism.  %def.att; is for optional
+        def attributes, and %def-req.att; is for required def
+        attributes.
+==================================================================== -->
+<!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
+<!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
+<!-- ref attribute =====================================================
+        Points to the element where more information can be found,
+        using the IDREF mechanism.  %ref.att; is for optional
+        ref attributes, and %ref-req.att; is for required ref
+        attributes.
+================================================================== -->
+<!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
+<!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- Entities for XLink compliance -->
+<!-- =============================================================== -->
+<!ENTITY % xlink-simple.att 'type      (simple|extended|locator|arc) #FIXED 
"simple"
+         href      CDATA                         #IMPLIED
+         role      CDATA                         #IMPLIED
+         title     CDATA                         #IMPLIED '>
+<!--    'xmlns     CDATA                         #FIXED 
"http://www.w3.org/XML/XLink/0.9"; -->
+<!-- FIXME: brain-dead IE5 has broken support for
+     namespace validation and since I use it for editing
+     I remove this for now -->
+<!ENTITY % xlink-user-replace.att 'show      (new|parsed|replace)   #FIXED 
"replace"
+         actuate   (user|auto)            #FIXED "user" '>
+<!ENTITY % xlink-user-new.att 'show      (new|parsed|replace)   #FIXED "new"
+         actuate   (user|auto)            #FIXED "user" '>
+<!ENTITY % xlink-auto-parsed.att 'show      (new|parsed|replace)   #FIXED 
"parsed"
+         actuate   (user|auto)            #FIXED "auto" '>
+<!-- FIXME (SM): XLink doesn't yet cover the idea of soft links so
+     introducing it here using the same namespace is _somewhat_
+     illegal. Should we create it own namespace?
+-->
+<!ENTITY % xlink-soft.att 'mode      (hard|soft)            #FIXED "soft" '>
+<!-- =============================================================== -->
+<!-- Entities for general usage -->
+<!-- =============================================================== -->
+<!-- Key attribute =====================================================
+        Optionally provides a sorting or indexing key, for cases when
+        the element content is inappropriate for this purpose.
+==================================================================== -->
+<!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
+<!-- Title attributes ==================================================
+        Indicates that the element requires to have a title.
+==================================================================== -->
+<!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
+<!-- Name attributes ==================================================
+        Indicates that the element requires to have a name.
+==================================================================== -->
+<!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
+<!-- Email attributes ==================================================
+        Indicates that the element requires to have an email.
+==================================================================== -->
+<!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- General definitions -->
+<!-- =============================================================== -->
+<!-- A person is a general human entity -->
+<!ELEMENT person EMPTY>
+<!ATTLIST person
+       %common.att; 
+       %name.att; 
+       %email.att; 
+>
+<!-- =============================================================== -->
+<!-- Content definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.content.mix "">
+<!ENTITY % markup "strong|em|code|sub|sup">
+<!ENTITY % links "link|connect|jump|fork|anchor">
+<!ENTITY % special "br|img|icon">
+<!ENTITY % link-content.mix "%text;|%markup;|%special;%local.content.mix;">
+<!ENTITY % content.mix "%link-content.mix;|%links;">
+<!-- ==================================================== -->
+<!-- Phrase Markup -->
+<!-- ==================================================== -->
+<!-- Code (typically monospaced) -->
+<!ELEMENT code (%text;)>
+<!ATTLIST code
+       %common.att; 
+>
+<!-- Strong (typically bold) -->
+<!ELEMENT strong (%text; | code)*>
+<!ATTLIST strong
+       %common.att; 
+>
+<!-- Emphasis (typically italic) -->
+<!ELEMENT em (%text; | code)*>
+<!ATTLIST em
+       %common.att; 
+>
+<!-- Superscript (typically smaller and higher) -->
+<!ELEMENT sup (%text;)>
+<!ATTLIST sup
+       %common.att; 
+>
+<!-- Subscript (typically smaller and lower) -->
+<!ELEMENT sub (%text;)>
+<!ATTLIST sub
+       %common.att; 
+>
+<!-- FIXME (SM): should we add these HTML 4.0 markups
+         which are style-free?
+
+          -dfn
+          -samp
+          -kbd
+          -var
+          -cite
+          -abbr
+          -acronym
+
+     -->
+<!-- ==================================================== -->
+<!-- Hypertextual Links -->
+<!-- ==================================================== -->
+<!-- hard replacing link (equivalent of <a ...>) -->
+<!ELEMENT link (%link-content.mix;)*>
+<!ATTLIST link
+       %common.att; 
+       %xlink-simple.att; 
+       %xlink-user-replace.att; 
+>
+<!-- Hard window replacing link (equivalent of <a ... target="_top">) -->
+<!ELEMENT jump (%link-content.mix;)*>
+<!ATTLIST jump
+       %common.att; 
+       %xlink-simple.att; 
+       %xlink-user-new.att; 
+>
+<!-- Hard window forking link (equivalent of <a ... target="_new">) -->
+<!ELEMENT fork (%link-content.mix;)*>
+<!ATTLIST fork
+       %common.att; 
+       %xlink-simple.att; 
+       %xlink-user-new.att; 
+>
+<!-- Anchor point (equivalent of <a name="...">) -->
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor
+       %common-idreq.att; 
+>
+<!-- Soft link between processed pages (no equivalent in HTML) -->
+<!ELEMENT connect (%link-content.mix;)*>
+<!ATTLIST connect
+       %common.att; 
+       %xlink-simple.att; 
+       %xlink-user-replace.att; 
+       %xlink-soft.att; 
+>
+<!-- ==================================================== -->
+<!-- Specials -->
+<!-- ==================================================== -->
+<!-- Breakline Object (typically forces line break) -->
+<!ELEMENT br EMPTY>
+<!ATTLIST br
+       %common.att; 
+>
+<!-- Image Object (typically an inlined image) -->
+<!-- FIXME (SM): should we have the notion of soft links even here
+         for inlined objects? -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+       src CDATA #REQUIRED
+       alt CDATA #REQUIRED
+       height CDATA #IMPLIED
+       width CDATA #IMPLIED
+       usemap CDATA #IMPLIED
+       ismap (ismap) #IMPLIED
+       %common.att; 
+>
+<!-- Image Icon (typically an inlined image placed as graphical item) -->
+<!-- FIXME (SM): should we have the notion of soft links even here
+         for inlined objects? -->
+<!ELEMENT icon EMPTY>
+<!ATTLIST icon
+       src CDATA #REQUIRED
+       alt CDATA #REQUIRED
+       height CDATA #IMPLIED
+       width CDATA #IMPLIED
+       %common.att; 
+>
+<!-- =============================================================== -->
+<!-- Blocks definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.blocks "">
+<!ENTITY % local.lists "">
+<!ENTITY % paragraphs "p|source|note|fixme|figure">
+<!ENTITY % tables "table">
+<!ENTITY % lists "ol|ul|sl|dl %local.lists;">
+<!ENTITY % blocks "anchor|%paragraphs;|%tables;|%lists; %local.blocks;">
+<!-- ==================================================== -->
+<!-- Paragraphs -->
+<!-- ==================================================== -->
+<!-- Text Paragraph (normally vertically space delimited) -->
+<!ELEMENT p (%content.mix;)*>
+<!ATTLIST p
+       %common.att; 
+>
+<!-- Source Paragraph (normally space is preserved) -->
+<!ELEMENT source (%content.mix;)*>
+<!ATTLIST source
+       %common.att; 
+       %xmlspace.att; 
+>
+<!-- Note Paragraph (normally shown encapsulated) -->
+<!ELEMENT note (%content.mix;)*>
+<!ATTLIST note
+       %common.att; 
+>
+<!-- Fixme Paragraph (normally not shown) -->
+<!ELEMENT fixme (%content.mix;)*>
+<!-- the "author" attribute should match the "key" attribute of the
+         <author> element -->
+<!ATTLIST fixme
+       author CDATA #REQUIRED
+       %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Tables -->
+<!-- ==================================================== -->
+<!-- Attributes that indicate the spanning of the table cell -->
+<!ENTITY % cell.span 'colspan CDATA "1"
+         rowspan CDATA "1"'>
+<!-- Table element -->
+<!ELEMENT table (caption?, tr+)>
+<!ATTLIST table
+       %common.att; 
+>
+<!-- The table title -->
+<!ELEMENT caption (%content.mix;)*>
+<!ATTLIST caption
+       %common.att; 
+>
+<!-- The table row element -->
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr
+       %common.att; 
+>
+<!-- The table row header element -->
+<!ELEMENT th (%content.mix;)*>
+<!ATTLIST th
+       %common.att; 
+       %cell.span; 
+>
+<!-- The table row description element -->
+<!ELEMENT td (%content.mix;)*>
+<!ATTLIST td
+       %common.att; 
+       %cell.span; 
+>
+<!-- ==================================================== -->
+<!-- Lists -->
+<!-- ==================================================== -->
+<!-- Unordered list (typically bulleted) -->
+<!ELEMENT ul (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ul
+       %common.att; 
+       spacing (normal | compact) #IMPLIED
+>
+<!-- Ordered list (typically numbered) -->
+<!ELEMENT ol (li | %lists;)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ol
+       %common.att; 
+       spacing (normal | compact) #IMPLIED
+>
+<!-- Simple list (typically with no mark) -->
+<!ELEMENT sl (li | %lists;)+>
+<!ATTLIST sl
+       %common.att; 
+>
+<!-- List item -->
+<!ELEMENT li (%content.mix; | %lists;)*>
+<!ATTLIST li
+       %common.att; 
+>
+<!-- Definition list (typically two-column) -->
+<!ELEMENT dl (dt, dd)+>
+<!ATTLIST dl
+       %common.att; 
+>
+<!-- Definition term -->
+<!ELEMENT dt (%content.mix;)*>
+<!ATTLIST dt
+       %common.att; 
+>
+<!-- Definition description -->
+<!ELEMENT dd (%content.mix;)*>
+<!ATTLIST dd
+       %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Special Blocks -->
+<!-- ==================================================== -->
+<!-- Image Block (typically a separated and centered image) -->
+<!-- FIXME (SM): should we have the notion of soft links even here
+         for inlined objects? -->
+<!ELEMENT figure EMPTY>
+<!ATTLIST figure
+       src CDATA #REQUIRED
+       alt CDATA #REQUIRED
+       height CDATA #IMPLIED
+       width CDATA #IMPLIED
+       usemap CDATA #IMPLIED
+       ismap (ismap) #IMPLIED
+       %common.att; 
+>
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<!ELEMENT document (header?, body, footer?)>
+<!ATTLIST document
+       %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Header -->
+<!-- ==================================================== -->
+<!ENTITY % local.headers "">
+<!ELEMENT header (title, subtitle?, version?, type?, authors,
+                      notice*, abstract? %local.headers;)>
+<!ATTLIST header
+       %common.att; 
+>
+<!ELEMENT title (%text;)>
+<!ATTLIST title
+       %common.att; 
+>
+<!ELEMENT subtitle (%text;)>
+<!ATTLIST subtitle
+       %common.att; 
+>
+<!ELEMENT version (%text;)>
+<!ATTLIST version
+       %common.att; 
+>
+<!ELEMENT type (%text;)>
+<!ATTLIST type
+       %common.att; 
+>
+<!ELEMENT authors (person+)>
+<!ATTLIST authors
+       %common.att; 
+>
+<!ELEMENT notice (%content.mix;)*>
+<!ATTLIST notice
+       %common.att; 
+>
+<!ELEMENT abstract (%content.mix;)*>
+<!ATTLIST abstract
+       %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Body -->
+<!-- ==================================================== -->
+<!ENTITY % local.sections "">
+<!ENTITY % sections "s1|anchor|figure %local.sections;">
+<!ELEMENT body (%sections;)+>
+<!ATTLIST body
+       %common.att; 
+>
+<!ELEMENT s1 (s2 | %blocks;)*>
+<!ATTLIST s1
+       %title.att; %common.att;
+>
+<!ELEMENT s2 (s3 | %blocks;)*>
+<!ATTLIST s2
+       %title.att; %common.att;
+>
+<!ELEMENT s3 (s4 | %blocks;)*>
+<!ATTLIST s3
+       %title.att; %common.att;
+>
+<!ELEMENT s4 (%blocks;)*>
+<!ATTLIST s4
+       %title.att; %common.att;
+>
+<!-- ==================================================== -->
+<!-- Footer -->
+<!-- ==================================================== -->
+<!ENTITY % local.footers "">
+<!ELEMENT footer (legal %local.footers;)>
+<!ELEMENT legal (%content.mix;)*>
+<!ATTLIST legal
+       %common.att; 
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/faq-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/faq-v10.dtd  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,77 @@
+<!-- ===================================================================
+     
+     Apache FAQ DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document 
+  type for software FAQ's for use with the Apache projects.  
+  It is an XML-compliant DTD and it's maintained by the Apache XML 
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD FAQ Vx.yz//EN"
+       "http://xml.apache.org/DTD/faq-vxyz.dtd";>
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:  
+  FAQs represent a powerful knowledge base and a very good way of solving
+  common user problems reducing messages on mail lists and reducing the effort
+  required for software installation and usage. Thid DTD want to be a common
+  format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to 
+  be published in other formats as well as enhancing data interchange.
+  
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  
+FIXME:
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Extend the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!-- FIXME (SM): this is hardcoding. Find a better way of doing this
+     possibly using public identifiers -->
+<!ENTITY % document-dtd SYSTEM "document-v10.dtd">
+%document-dtd;
+
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT faqs (authors?, faq)+>
+<!ATTLIST faqs %common.att; 
+               %title.att;>
+
+    <!ELEMENT faq (question, answer)>
+    <!ATTLIST faq %common.att;>
+    
+        <!ELEMENT question (%content.mix;)*>
+        <!ATTLIST question %common.att;>
+            
+        <!ELEMENT answer (%blocks;)*>
+        <!ATTLIST answer author IDREF #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/todo-v10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v10/todo-v10.dtd 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,90 @@
+<!-- ===================================================================
+     
+     Apache Todos DTD (Version 1.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document 
+  type for software development todo lists for use with the Apache projects.  
+  It is an XML-compliant DTD and it's maintained by the Apache XML 
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Todo Vx.yz//EN"
+       "todo-vxyz.dtd">
+
+  where 
+  
+    x := major version
+    y := minor version
+    z := status identifier (optional)
+      
+NOTES:  
+  It is important, expecially in open developped software projects, to keep
+  track of software changes that need to be done, planned features, development
+  assignment, etc. in order to allow better work parallelization and create
+  an entry point for people that want to help. This DTD wants to provide
+  a solid foundation to provide such information and to allow it to be
+  published as well as distributed in a common format.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  
+FIXME:
+  - do we need anymore working contexts? (SM)
+
+CHANGE HISTORY:
+  19991129 Initial version. (SM)
+  19991225 Added actions element for better structure (SM)
+    
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Extend the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!-- FIXME (SM): this is hardcoding. Find a better way of doing this
+     possibly using public identifiers -->
+<!ENTITY % document-dtd SYSTEM "document-v10.dtd">
+%document-dtd;
+
+<!-- =============================================================== -->
+<!-- Common entities -->
+<!-- =============================================================== -->
+
+<!ENTITY % priorities "showstopper|high|medium|low|wish|dream">
+
+<!ENTITY % contexts "build|docs|code|admin|design">
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ELEMENT todo (devs, actions*)>
+<!ATTLIST todo %common.att; 
+               %title.att;>
+
+    <!ELEMENT devs (person+)>
+    <!ATTLIST devs %common.att;>
+
+    <!ELEMENT actions (action+)>
+    <!ATTLIST actions %common.att;
+                     priority     (%priorities;)  #IMPLIED>
+
+        <!ELEMENT action (%content.mix;)*>
+        <!ATTLIST action %common.att;
+                         assigned-to  IDREF           #IMPLIED
+                         context      (%contexts;)    #REQUIRED>
+    
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/document-v20.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/document-v20.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,109 @@
+<!-- ===================================================================
+
+     Apache Documentation DTD (Version 2.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+  
+  The v2.x series of this DTD is an evolution of the 1.x series, incorporating
+  lessons learned. Various new much-needed elements have been added, some 
unused
+  features removed, and some renamed (link -> a). 2.x is not
+  backwards-compatible, although a stylesheet can probably do the conversion.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE document PUBLIC
+       "-//APACHE//DTD Documentation V2.1a//EN"
+       "document-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  Many of the design patterns used in this DTD were take from the
+  W3C XML Specification DTD edited by Eve Maler <[EMAIL PROTECTED]>.
+
+  Where possible, great care has been used to reuse HTML tag
+  names to reduce learning efforts and to allow HTML editors to be
+  used for complex authorings like tables and lists.
+
+EXTENSIBILITY:
+  This DTD includes several empty placeholders that can be used to
+  extend it. These placeholders are implemented with empty entities. Here
+  is the list of those empty entities and what they are used for:
+
+    - local.inline: this entity should contain extended definitions of
+                    elements that can be used 'inline', or directly inside
+                    the content. An example for this entity could be
+
+                        <!ENTITY % local.inline "|citation">
+
+    - local.blocks: this entity should contain extended definitions of
+                    elements that behave as 'blocks', thus can be visually
+                    rendered as areas on the canvas. An example for this
+                    entity could be:
+
+                        <!ENTITY % local.blocks "|poem">
+
+    - local.sections: this entity should contain extended definitions of
+                      elements that behave as 'sections', thus can be 
considered
+                      containers of block-level elements. An example for
+                      this entity could be:
+
+                        <!ENTITY % local.sections "|chapter">
+
+    - local.headers: this entity should contain extended definitions of
+                     elements that behave as parts of the document header.
+                     An example for this header could be:
+
+                        <!ENTITY % local.headers ", notes?">
+
+    - local.footers: this entity should contain extended definitions of
+                     elements that behave as parts of the document footer.
+                     An example for this header could be:
+
+                        <!ENTITY % local.footers ", annotations*">
+
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+  Jeff Turner <[EMAIL PROTECTED]>
+
+COPYRIGHT:
+  Copyright (c) 2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "../common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V2.0a//EN"
+    "document-v20.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/document-v20.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/document-v20.mod
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,436 @@
+<!-- ===================================================================
+
+     Apache Common Documentation elements (Version 2.0a)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software documentation for use with the Apache projects.
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % document PUBLIC
+      "-//APACHE//ENTITIES Documentation Vxy//EN"
+      "document-vxy.mod">
+  %document;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Steven Noels <[EMAIL PROTECTED]>
+  Jeff Turner <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 2.0a]
+  20030505  Add a meta element to the header, for generic metadata
+  20030505  Zap jump and fork, and rename 'link' to 'a' for better HTMLness
+  20030510  Fix bug which allowed nested lists like <ol><ol>. Now lists can 
only contain li's.
+
+
+COPYRIGHT:
+  Copyright (c) 2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- =============================================================== -->
+<!-- Useful entities for increased DTD readability -->
+<!-- =============================================================== -->
+<!ENTITY % text "#PCDATA">
+<!-- Entities referred to later on are defined up front -->
+<!ENTITY % markup "strong|em|code|sub|sup">
+<!ENTITY % special-inline "br|img|icon|acronym">
+<!ENTITY % links "a">
+<!ENTITY % paragraphs "p|source|note|warning|fixme">
+<!ENTITY % tables "table">
+<!ENTITY % lists "ol|ul|dl">
+<!ENTITY % special-blocks "figure|anchor">
+<!-- =============================================================== -->
+<!-- Entities for general XML compliance -->
+<!-- =============================================================== -->
+<!-- Common attributes
+        Every element has an ID attribute (sometimes required,
+        but usually optional) for links. %common.att;
+        is for common attributes where the ID is optional, and
+        %common-idreq.att; is for common attributes where the
+        ID is required.
+-->
+<!ENTITY % common.att 'id                     ID              #IMPLIED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
+         xml:lang               NMTOKEN         #IMPLIED'>
+<!-- xml:space attribute ===============================================
+        Indicates that the element contains white space
+        that the formatter or other application should retain,
+        as appropriate to its function.
+==================================================================== -->
+<!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
+<!-- def attribute =====================================================
+        Points to the element where the relevant definition can be
+        found, using the IDREF mechanism.  %def.att; is for optional
+        def attributes, and %def-req.att; is for required def
+        attributes.
+==================================================================== -->
+<!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
+<!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
+<!-- ref attribute =====================================================
+        Points to the element where more information can be found,
+        using the IDREF mechanism.  %ref.att; is for optional
+        ref attributes, and %ref-req.att; is for required ref
+        attributes.
+================================================================== -->
+<!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
+<!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
+<!-- =============================================================== -->
+<!-- Entities for general usage -->
+<!-- =============================================================== -->
+<!-- Key attribute =====================================================
+        Optionally provides a sorting or indexing key, for cases when
+        the element content is inappropriate for this purpose.
+==================================================================== -->
+<!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
+<!-- Title attributes ==================================================
+        Indicates that the element requires to have a title attribute.
+==================================================================== -->
+<!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
+<!-- Name attributes ==================================================
+        Indicates that the element requires to have a name attribute.
+==================================================================== -->
+<!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
+<!-- Email attributes ==================================================
+        Indicates that the element requires to have an email attribute.
+==================================================================== -->
+<!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
+<!-- Link attributes ===================================================
+        Indicates that the element requires to have hyperlink attributes.
+==================================================================== -->
+<!ENTITY % link.att 'href      CDATA             #REQUIRED
+                     title     CDATA             #IMPLIED'>
+<!-- =============================================================== -->
+<!-- General definitions -->
+<!-- =============================================================== -->
+<!-- A person is a general unparsed human entity -->
+<!ELEMENT person EMPTY>
+<!ATTLIST person
+  %common.att; 
+  %name.att; 
+  %email.att; 
+>
+<!-- =============================================================== -->
+<!-- Content definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.inline "">
+<!ENTITY % link-content.mix "%text;|%markup;|%special-inline; %local.inline;">
+<!ENTITY % content.mix "%link-content.mix;|%links;">
+<!-- ==================================================== -->
+<!-- Phrase Markup -->
+<!-- ==================================================== -->
+<!-- Strong (typically bold) -->
+<!ELEMENT strong (%content.mix;)*>
+<!ATTLIST strong
+  %common.att; 
+>
+<!-- Emphasis (typically italic) -->
+<!ELEMENT em (%content.mix;)*>
+<!ATTLIST em
+  %common.att; 
+>
+<!-- Code (typically monospaced) -->
+<!ELEMENT code (%text;)>
+<!ATTLIST code
+  %common.att; 
+>
+<!-- Superscript (typically smaller and higher) -->
+<!ELEMENT sup (%text;)>
+<!ATTLIST sup
+  %common.att; 
+>
+<!-- Subscript (typically smaller and lower) -->
+<!ELEMENT sub (%text;)>
+<!ATTLIST sub
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Hypertextual Links -->
+<!-- ==================================================== -->
+<!-- hyperlink (equivalent of <a ...>) -->
+<!-- http://www.w3.org/TR/xhtml2/mod-hypertext.html#s_hypertextmodule -->
+<!ELEMENT a (%link-content.mix;)*>
+<!ATTLIST a
+  %common.att; 
+  %link.att; 
+>
+<!-- windows-replacing link (equivalent of <a ... target="_top">) -->
+<!ELEMENT jump (%link-content.mix;)*>
+<!ATTLIST jump
+  %common.att; 
+  %link.att; 
+>
+<!-- window-forking link (equivalent of <a ... target="_blank">) -->
+<!ELEMENT fork (%link-content.mix;)*>
+<!ATTLIST fork
+  %common.att; 
+  %link.att; 
+>
+
+<!-- ==================================================== -->
+<!-- Specials -->
+<!-- ==================================================== -->
+<!-- Breakline Object (typically forces line break) -->
+<!ELEMENT br EMPTY>
+<!ATTLIST br
+  %common.att; 
+>
+<!-- Image Object (typically an inlined image) -->
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  %common.att; 
+>
+<!-- Image Icon (typically an inlined image placed as graphical item) -->
+<!ELEMENT icon EMPTY>
+<!ATTLIST icon
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  %common.att; 
+>
+<!-- Acronym (in modern browsers, will have rollover text) -->
+<!ELEMENT acronym (%text;)*>
+<!ATTLIST acronym
+  title CDATA #REQUIRED
+  %common.att; 
+>
+
+<!-- =============================================================== -->
+<!-- Blocks definitions -->
+<!-- =============================================================== -->
+<!ENTITY % local.blocks "">
+<!ENTITY % blocks "%paragraphs;|%tables;|%lists;|%special-blocks; 
%local.blocks;">
+
+<!-- Flow mixes block and inline -->
+<!ENTITY % flow "%content.mix;|%blocks;">
+
+<!-- ==================================================== -->
+<!-- Paragraphs -->
+<!-- ==================================================== -->
+<!-- Text Paragraph (normally vertically space delimited. Space can be 
preserved.) -->
+<!ELEMENT p (%content.mix;)*>
+<!ATTLIST p
+  %common.att; 
+  xml:space (default|preserve) #IMPLIED
+>
+<!-- Source Paragraph (normally space is preserved) -->
+<!ELEMENT source (%content.mix;)*>
+<!ATTLIST source
+  %common.att; 
+  %xmlspace.att; 
+>
+<!-- Note Paragraph (normally shown encapsulated) -->
+<!ELEMENT note (%content.mix;)*>
+<!ATTLIST note
+  %common.att; 
+>
+<!-- Warning Paragraph (normally shown with eye-catching colors) -->
+<!ELEMENT warning (%content.mix;)*>
+<!ATTLIST warning
+  %common.att; 
+>
+<!-- Fixme Paragraph (normally not shown) -->
+<!ELEMENT fixme (%content.mix;)*>
+<!ATTLIST fixme
+  author CDATA #REQUIRED
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Tables -->
+<!-- ==================================================== -->
+<!-- Attributes that indicate the spanning of the table cell -->
+<!ENTITY % cell.span 'colspan CDATA "1"
+         rowspan CDATA "1"'>
+<!-- Table element -->
+<!ELEMENT table (caption?, tr+)>
+<!ATTLIST table
+  %common.att; 
+>
+<!-- The table title -->
+<!ELEMENT caption (%content.mix;)*>
+<!ATTLIST caption
+  %common.att; 
+>
+<!-- The table row element -->
+<!ELEMENT tr (th | td)+>
+<!ATTLIST tr
+  %common.att; 
+>
+<!-- The table row header element -->
+<!ELEMENT th (%flow;)*>
+<!ATTLIST th
+  %common.att; 
+  %cell.span; 
+>
+<!-- The table row description element -->
+<!ELEMENT td (%flow;)*>
+<!ATTLIST td
+  %common.att; 
+  %cell.span; 
+>
+<!-- ==================================================== -->
+<!-- Lists -->
+<!-- ==================================================== -->
+<!-- List item -->
+<!ELEMENT li (%flow;)*>
+<!ATTLIST li
+  %common.att; 
+>
+<!-- Unordered list (typically bulleted) -->
+<!ELEMENT ul (li)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ul
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Ordered list (typically numbered) -->
+<!ELEMENT ol (li)+>
+<!--    spacing attribute:
+            Use "normal" to get normal vertical spacing for items;
+            use "compact" to get less spacing.  The default is dependent
+            on the stylesheet. -->
+<!ATTLIST ol
+  %common.att; 
+  spacing (normal | compact) #IMPLIED
+>
+<!-- Definition list (typically two-column) -->
+<!ELEMENT dl (dt, dd)+>
+<!ATTLIST dl
+  %common.att; 
+>
+<!-- Definition term -->
+<!ELEMENT dt (%content.mix;)*>
+<!ATTLIST dt
+  %common.att; 
+>
+<!-- Definition description -->
+<!ELEMENT dd (%flow; )*>
+<!ATTLIST dd
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Special Blocks -->
+<!-- ==================================================== -->
+<!-- Image Block (typically a separated and centered image) -->
+<!ELEMENT figure EMPTY>
+<!ATTLIST figure
+  src CDATA #REQUIRED
+  alt CDATA #REQUIRED
+  height CDATA #IMPLIED
+  width CDATA #IMPLIED
+  usemap CDATA #IMPLIED
+  ismap (ismap) #IMPLIED
+  align CDATA #IMPLIED
+  %common.att; 
+>
+<!-- anchor point (equivalent of <a name="...">, typically not rendered) -->
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor
+  %common-idreq.att; 
+>
+<!-- =============================================================== -->
+<!-- Document -->
+<!-- =============================================================== -->
+<!ELEMENT document (header, body, footer?)>
+<!ATTLIST document
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Header -->
+<!-- ==================================================== -->
+<!ENTITY % local.headers "">
+<!ELEMENT header (title, subtitle?, version?, type?, authors?,
+                      notice*, abstract?, meta* %local.headers;)>
+<!ATTLIST header
+  %common.att; 
+>
+<!ELEMENT title (%text; | %markup; | %links; | %special-inline;)*>
+<!ATTLIST title
+  %common.att; 
+>
+<!ELEMENT subtitle (%text; | %markup;)*>
+<!ATTLIST subtitle
+  %common.att; 
+>
+<!ELEMENT version (%text;)>
+<!ATTLIST version
+  %common.att;
+  major CDATA #IMPLIED
+  minor CDATA #IMPLIED
+  fix CDATA #IMPLIED
+  tag CDATA #IMPLIED
+>
+<!ELEMENT type (%text;)>
+<!ATTLIST type
+  %common.att; 
+>
+<!ELEMENT authors (person+)>
+<!ATTLIST authors
+  %common.att; 
+>
+<!ELEMENT notice (%content.mix;)*>
+<!ATTLIST notice
+  %common.att; 
+>
+<!ELEMENT abstract (%content.mix;)*>
+<!ATTLIST abstract
+  %common.att; 
+>
+<!-- See http://www.w3.org/TR/xhtml2/mod-meta.html#s_metamodule -->
+<!ELEMENT meta (#PCDATA)>
+<!ATTLIST meta
+  name NMTOKEN #REQUIRED
+  %common.att; 
+>
+
+<!-- ==================================================== -->
+<!-- Body -->
+<!-- ==================================================== -->
+<!ENTITY % local.sections "">
+<!ENTITY % sections "section %local.sections;">
+<!ELEMENT body (%sections; | %blocks;)+>
+<!ATTLIST body
+  %common.att; 
+>
+<!ELEMENT section (title, (%sections; | %blocks;)*)>
+<!ATTLIST section
+  %common.att; 
+>
+<!-- ==================================================== -->
+<!-- Footer -->
+<!-- ==================================================== -->
+<!ENTITY % local.footers "">
+<!ELEMENT footer (legal %local.footers;)>
+<!ELEMENT legal (%content.mix;)*>
+<!ATTLIST legal
+  %common.att; 
+>
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/faq-v20.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/faq-v20.dtd 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,74 @@
+<!-- ===================================================================
+
+     Apache FAQ DTD (Version 2.0)
+
+PURPOSE:
+  This DTD was developed to create a simple yet powerful document
+  type for software FAQ's for use with the Apache projects.
+  It is an XML-compliant DTD and it's maintained by the Apache XML
+  project.
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE faqs PUBLIC
+       "-//APACHE//DTD FAQ Vx.y//EN"
+       "faq-vxy.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+  FAQs represent a powerful knowledge base and a very good way of solving
+  common user problems reducing messages on mail lists and reducing the effort
+  required for software installation and usage. Thid DTD want to be a common
+  format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to
+  be published in other formats as well as enhancing data interchange.
+
+AUTHORS:
+  Stefano Mazzocchi <[EMAIL PROTECTED]>
+  Jeff Turner <[EMAIL PROTECTED]>
+
+See faq-v20.mod for the ChangeLog
+
+COPYRIGHT:
+  Copyright (c) 2002-2003 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V2.0a//EN"
+    "document-v20.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "../common-charents-v10.mod">
+%common-charents;
+
+<!-- =============================================================== -->
+<!-- Document Type Definition -->
+<!-- =============================================================== -->
+
+<!ENTITY % faq PUBLIC
+    "-//APACHE//ENTITIES FAQ V2.0a//EN"
+    "faq-v20.mod">
+%faq;
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/faq-v20.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/v20a/faq-v20.mod 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,63 @@
+<!-- ===================================================================
+
+     Apache Faq module (Version 2.0)
+
+TYPICAL INVOCATION:
+
+  <!ENTITY % faq PUBLIC
+      "-//APACHE//ENTITIES FAQ Vxy//EN"
+      "faq-vxy.mod">
+  %faq;
+
+  where
+
+    x := major version
+    y := minor version
+
+NOTES:
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 2.0a]
+  20030506 Changed <part> to <faqsection>
+  20030506 Changed @title on <faqs> to a nested <title> element
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Element declarations -->
+<!-- =============================================================== -->
+
+<!ELEMENT faqs (title?, authors?, (faq|faqsection)+)>
+<!ATTLIST faqs %common.att;>
+
+    <!ELEMENT faqsection (title, (faq | faqsection)+) >
+    <!ATTLIST faqsection %common.att;>
+
+    <!ELEMENT faq (question, answer)>
+    <!ATTLIST faq %common.att;>
+
+        <!ELEMENT question (%content.mix;|elaboration)*>
+        <!ATTLIST question %common.att;>
+
+        <!ELEMENT elaboration (%content.mix;)*>
+        <!ATTLIST elaboration %common.att;>
+
+        <!ELEMENT answer (%flow;)*>
+        <!ATTLIST answer author IDREF #IMPLIED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/xgump-draft.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/dtd/xgump-draft.dtd  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,174 @@
+<!-- ===================================================================
+
+     Apache XGump DTD (Version 1.0)
+
+PURPOSE:
+  Gump descriptor DTD
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE module PUBLIC
+       "-//APACHE//DTD Gump Descriptor Vx.y//EN"
+       "xgump-draft.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+AUTHORS:
+  Steven Noels <[EMAIL PROTECTED]>
+
+FIXME:
+* cannot yet include the module of ISO character entity sets because
+forrest.xgump has trouble with the catalog entity resolver at startup.
+
+CHANGE HISTORY:
+[Version 1.0]
+  20020611 Initial version. (SN)
+
+COPYRIGHT:
+  Copyright (c) 2002 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Include the Documentation DTD -->
+<!-- =============================================================== -->
+
+<!ENTITY % document PUBLIC
+    "-//APACHE//ENTITIES Documentation V1.1//EN"
+    "document-v11.mod">
+%document;
+
+<!-- =============================================================== -->
+<!-- Include the Common ISO Character Entity Sets -->
+<!-- =============================================================== -->
+
+<!--
+<!ENTITY % common-charents PUBLIC
+    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
+    "common-charents-v10.mod">
+%common-charents;
+-->
+
+<!-- =============================================================== -->
+<!-- Include the Common elements -->
+<!-- =============================================================== -->
+
+<!ENTITY % common PUBLIC
+    "-//APACHE//ENTITIES Common Elements V1.0//EN"
+    "common-elems-v10.mod">
+%common;
+
+<!-- =============================================================== -->
+<!-- Include the Todo module -->
+<!-- =============================================================== -->
+
+<!ENTITY % todo PUBLIC
+    "-//APACHE//ENTITIES Todo V1.1//EN"
+    "todo-v11.mod">
+%todo;
+
+<!-- =============================================================== -->
+<!-- Include the Changes module -->
+<!-- =============================================================== -->
+
+<!ENTITY % changes PUBLIC
+    "-//APACHE//ENTITIES Changes V1.1//EN"
+    "changes-v11.mod">
+%changes;
+
+<!-- =============================================================== -->
+<!-- Document type element -->
+<!-- =============================================================== -->
+
+<!ELEMENT module (url, forrest?, cvs, mailing-lists, description,
+                  detailed, what, why, who, todo, changes, licence,
+                  credits, project+)>
+<!ATTLIST module
+  name CDATA #REQUIRED>
+
+  <!ELEMENT url EMPTY>
+  <!ATTLIST url
+    href CDATA #REQUIRED>
+
+  <!ELEMENT forrest (skin)>
+  <!ATTLIST forrest
+    version CDATA #REQUIRED>
+
+    <!ELEMENT skin EMPTY>
+    <!ATTLIST skin
+      name CDATA #REQUIRED
+      style CDATA #REQUIRED>
+
+  <!ELEMENT cvs EMPTY>
+  <!ATTLIST cvs
+    repository CDATA #REQUIRED>
+
+  <!ELEMENT mailing-lists (mailing-list+)>
+
+    <!ELEMENT mailing-list EMPTY>
+    <!ATTLIST mailing-list
+      user CDATA #REQUIRED
+      mail CDATA #REQUIRED
+      subscribe CDATA #REQUIRED
+      unsubscribe CDATA #REQUIRED>
+
+  <!ELEMENT description (%content.mix;)*>
+
+  <!ELEMENT detailed (%blocks;)>
+
+  <!ELEMENT what (goal+)>
+
+    <!ELEMENT goal (%content.mix;)*>
+
+  <!ELEMENT why (%content.mix;)*>
+
+  <!ELEMENT who (person+)>
+
+  <!ELEMENT licence (%content.mix;)*>
+
+  <!ELEMENT credits (credit+)>
+
+    <!ELEMENT credit (%content.mix;)*>
+
+  <!ELEMENT project (url?, description?, version?, package?, ant?,
+                     depend*, work*, home, jar+, javadoc?)>
+  <!ATTLIST project name CDATA #REQUIRED>
+
+    <!ELEMENT package (#PCDATA)>
+
+    <!ELEMENT ant EMPTY>
+    <!ATTLIST ant
+      target CDATA #REQUIRED>
+
+    <!ELEMENT depend EMPTY>
+    <!ATTLIST depend
+      project CDATA #REQUIRED>
+
+    <!ELEMENT work EMPTY>
+    <!ATTLIST work
+      nested CDATA #REQUIRED>
+
+    <!ELEMENT home EMPTY>
+    <!ATTLIST home
+      nested CDATA #REQUIRED>
+
+    <!ELEMENT jar EMPTY>
+    <!ATTLIST jar
+      name CDATA #REQUIRED
+      id CDATA #IMPLIED>
+
+    <!ELEMENT javadoc EMPTY>
+    <!ATTLIST javadoc
+      parent CDATA #REQUIRED>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOdia.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOdia.pen    
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,34 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOdia PUBLIC
+       "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML">
+     %ISOdia;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     This entity set uses hexadecimal numeric character references. 
+          
+     Creator: Rick Jelliffe, Allette Systems
+     
+     Version: 1997-07-07
+-->
+
+<!ENTITY acute  "&#180;" ><!--=acute accent-->
+<!ENTITY breve  "&#x2D8;" ><!--=breve-->
+<!ENTITY caron  "&#x2C7;" ><!--=caron-->
+<!ENTITY cedil  "&#184;" ><!--=cedilla-->
+<!ENTITY circ   "^" ><!--=circumflex accent-->
+<!ENTITY dblac  "&#x2DD;" ><!--=double acute accent-->
+<!ENTITY die    "&#168;" ><!--=dieresis-->
+<!ENTITY dot    "&#x2D9;" ><!--=dot above-->
+<!ENTITY grave  "`" ><!--=grave accent-->
+<!ENTITY macr   "&#175;" ><!--=macron-->
+<!ENTITY ogon   "&#x2DB;" ><!--=ogonek-->
+<!ENTITY ring   "&#x2DA;" ><!--=ring-->
+<!ENTITY tilde  "&#x2DC;" ><!--=tilde-->
+<!ENTITY uml    "&#168;" ><!--=umlaut mark-->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOgrk1.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOgrk1.pen   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,74 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+    Creator: version from ISO 8879:1986
+    
+    Version: 0.21 1992-12-04
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOGRK1 PUBLIC
+       "ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML">
+     %ISOGRK1;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     
+     Creator: Rick Jelliffe, from HTMLlat1
+     
+     Version: 1997-07-07
+-->
+
+<!ENTITY agr     "&#945;" ><!--small alpha, Greek, U03B1 -->
+<!ENTITY Agr     "&#913;" ><!--capital Alpha, Greek, U0391 -->
+<!ENTITY bgr     "&#946;" ><!--small beta, Greek, U03B2 -->
+<!ENTITY Bgr     "&#914;" ><!--capital Beta, Greek, U0392 -->
+<!ENTITY ggr     "&#947;" ><!--small gamma, Greek, U03B3 -->
+<!ENTITY Ggr     "&#915;" ><!--capital Gamma, Greek, U0393 -->
+<!ENTITY dgr     "&#948;" ><!--small delta, Greek, U03B4 -->
+<!ENTITY Dgr     "&#916;" ><!--capital Delta, Greek, U0394 -->
+<!ENTITY egr     "&#949;" ><!--small epsilon, Greek, U03B5 -->
+<!ENTITY Egr     "&#917;" ><!--capital Epsilon, Greek, U0395 -->
+<!ENTITY zgr     "&#950;" ><!--small zeta, Greek, U03B6 -->
+<!ENTITY Zgr     "&#918;" ><!--capital Zeta, Greek, U0396 -->
+<!ENTITY eegr    "&#951;" ><!--small eta, Greek, U03B7 -->
+<!ENTITY EEgr    "&#919;" ><!--capital Eta, Greek, U0397 -->
+<!ENTITY thgr    "&#952;" ><!--small theta, Greek, U03B8 -->
+<!ENTITY THgr    "&#920;" ><!--capital Theta, Greek, U0398 -->
+<!ENTITY igr     "&#953;" ><!--small iota, Greek, U03B9 -->
+<!ENTITY Igr     "&#921;" ><!--capital Iota, Greek, U0399 -->
+<!ENTITY kgr     "&#954;" ><!--small kappa, Greek, U03BA -->
+<!ENTITY Kgr     "&#922;" ><!--capital Kappa, Greek, U039A -->
+<!ENTITY lgr     "&#955;" ><!--small lambda, Greek, U03BB -->
+<!ENTITY Lgr     "&#923;" ><!--capital Lambda, Greek, U039B -->
+<!ENTITY mgr     "&#956;" ><!--small mu, Greek, U03BC -->
+<!ENTITY Mgr     "&#924;" ><!--capital Mu, Greek, U039C -->
+<!ENTITY ngr     "&#957;" ><!--small nu, Greek, U03BD -->
+<!ENTITY Ngr     "&#925;" ><!--capital Nu, Greek, U039D -->
+<!ENTITY xgr     "&#958;" ><!--small xi, Greek, U03BE -->
+<!ENTITY Xgr     "&#926;" ><!--capital Xi, Greek, U039E -->
+<!ENTITY ogr     "&#959;" ><!--small omicron, Greek, U03BF -->
+<!ENTITY Ogr     "&#927;" ><!--capital Omicron, Greek, U039F -->
+<!ENTITY pgr     "&#960;" ><!--small pi, Greek, U03C0 -->
+<!ENTITY Pgr     "&#928;" ><!--capital Pi, Greek, U03A0 -->
+<!ENTITY rgr     "&#961;" ><!--small rho, Greek, U03C1 -->
+<!ENTITY Rgr     "&#929;" ><!--capital Rho, Greek, U03A1 -->
+<!ENTITY sfgr    "&#962;" ><!--final small sigma, Greek, U03C2 --> 
+<!ENTITY sgr     "&#963;" ><!--small sigma, Greek, U03C3 -->
+<!ENTITY Sgr     "&#931;" ><!--capital Sigma, Greek, U03A3 -->
+<!ENTITY tgr     "&#964;" ><!--small tau, Greek, U03C4 -->
+<!ENTITY Tgr     "&#932;" ><!--capital Tau, Greek, U03A4 -->
+<!ENTITY ugr     "&#965;" ><!--small upsilon, Greek, U03C5 -->
+<!ENTITY Ugr     "&#933;" ><!--capital Upsilon, Greek, U03A5 -->
+<!ENTITY phgr    "&#966;" ><!--small phi, Greek, U03C6 -->
+<!ENTITY PHgr    "&#934;" ><!--capital Phi, Greek, U03A6 -->
+<!ENTITY khgr    "&#967;" ><!--small chi, Greek, U03C7 -->
+<!ENTITY KHgr    "&#935;" ><!--capital Chi, Greek, U03A7 -->
+<!ENTITY psgr    "&#968;" ><!--small psi, Greek, U03C8 -->
+<!ENTITY PSgr    "&#936;" ><!--capital Psi, Greek, U03A8 -->
+<!ENTITY ohgr    "&#969;" ><!--small omega, Greek, U03C9 -->
+<!ENTITY OHgr    "&#937;" ><!--capital Omega, Greek, U03A9 -->
+ 
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOlat1.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOlat1.pen   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,79 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOlat1 PUBLIC
+       "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML">
+     %ISOlat1;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 8859-1 or ISO 10646 as its document character 
+     set. This includes XML documents and ISO HTML documents. 
+-->
+ 
+    <!ENTITY Agrave  "&#192;" ><!-- capital A, grave accent -->
+    <!ENTITY Aacute  "&#193;" ><!-- capital A, acute accent -->
+    <!ENTITY Acirc   "&#194;" ><!-- capital A, circumflex accent -->
+    <!ENTITY Atilde  "&#195;" ><!-- capital A, tilde -->
+    <!ENTITY Auml    "&#196;" ><!-- capital A, dieresis or umlaut mark -->
+    <!ENTITY Aring   "&#197;" ><!-- capital A, ring -->
+    <!ENTITY AElig   "&#198;" ><!-- capital AE diphthong (ligature) -->
+    <!ENTITY Ccedil  "&#199;" ><!-- capital C, cedilla -->
+    <!ENTITY Egrave  "&#200;" ><!-- capital E, grave accent -->
+    <!ENTITY Eacute  "&#201;" ><!-- capital E, acute accent -->
+    <!ENTITY Ecirc   "&#202;" ><!-- capital E, circumflex accent -->
+    <!ENTITY Euml    "&#203;" ><!-- capital E, dieresis or umlaut mark -->
+    <!ENTITY Igrave  "&#204;" ><!-- capital I, grave accent -->
+    <!ENTITY Iacute  "&#205;" ><!-- capital I, acute accent -->
+    <!ENTITY Icirc   "&#206;" ><!-- capital I, circumflex accent -->
+    <!ENTITY Iuml    "&#207;" ><!-- capital I, dieresis or umlaut mark -->
+    <!ENTITY ETH     "&#208;" ><!-- capital Eth, Icelandic -->
+    <!ENTITY Ntilde  "&#209;" ><!-- capital N, tilde -->
+    <!ENTITY Ograve  "&#210;" ><!-- capital O, grave accent -->
+    <!ENTITY Oacute  "&#211;" ><!-- capital O, acute accent -->
+    <!ENTITY Ocirc   "&#212;" ><!-- capital O, circumflex accent -->
+    <!ENTITY Otilde  "&#213;" ><!-- capital O, tilde -->
+    <!ENTITY Ouml    "&#214;" ><!-- capital O, dieresis or umlaut mark -->
+    <!ENTITY Oslash  "&#216;" ><!-- capital O, slash -->
+    <!ENTITY Ugrave  "&#217;" ><!-- capital U, grave accent -->
+    <!ENTITY Uacute  "&#218;" ><!-- capital U, acute accent -->
+    <!ENTITY Ucirc   "&#219;" ><!-- capital U, circumflex accent -->
+    <!ENTITY Uuml    "&#220;" ><!-- capital U, dieresis or umlaut mark -->
+    <!ENTITY Yacute  "&#221;" ><!-- capital Y, acute accent -->
+    <!ENTITY THORN   "&#222;" ><!-- capital THORN, Icelandic -->
+    <!ENTITY szlig   "&#223;" ><!-- small sharp s, German (sz ligature) -->
+    <!ENTITY agrave  "&#224;" ><!-- small a, grave accent -->   
+    <!ENTITY aacute  "&#225;" ><!-- small a, acute accent -->
+    <!ENTITY acirc   "&#226;" ><!-- small a, circumflex accent -->
+    <!ENTITY atilde  "&#227;" ><!-- small a, tilde -->
+    <!ENTITY auml    "&#228;" ><!-- small a, dieresis or umlaut mark -->
+    <!ENTITY aring   "&#229;" ><!-- small a, ring -->
+    <!ENTITY aelig   "&#230;" ><!-- small ae diphthong (ligature) -->
+    <!ENTITY ccedil  "&#231;" ><!-- small c, cedilla -->
+    <!ENTITY egrave  "&#232;" ><!-- small e, grave accent -->
+    <!ENTITY eacute  "&#233;" ><!-- small e, acute accent -->
+    <!ENTITY ecirc   "&#234;" ><!-- small e, circumflex accent -->
+    <!ENTITY euml    "&#235;" ><!-- small e, dieresis or umlaut mark -->
+    <!ENTITY igrave  "&#236;" ><!-- small i, grave accent -->
+    <!ENTITY iacute  "&#237;" ><!-- small i, acute accent -->
+    <!ENTITY icirc   "&#238;" ><!-- small i, circumflex accent -->
+    <!ENTITY iuml    "&#239;" ><!-- small i, dieresis or umlaut mark -->
+    <!ENTITY eth     "&#240;" ><!-- small eth, Icelandic -->
+    <!ENTITY ntilde  "&#241;" ><!-- small n, tilde -->
+    <!ENTITY ograve  "&#242;" ><!-- small o, grave accent -->
+    <!ENTITY oacute  "&#243;" ><!-- small o, acute accent -->
+    <!ENTITY ocirc   "&#244;" ><!-- small o, circumflex accent -->
+    <!ENTITY otilde  "&#245;" ><!-- small o, tilde -->
+    <!ENTITY ouml    "&#246;" ><!-- small o, dieresis or umlaut mark -->
+
+    <!ENTITY oslash  "&#248;" ><!-- small o, slash -->
+    <!ENTITY ugrave  "&#249;" ><!-- small u, grave accent -->
+    <!ENTITY uacute  "&#250;" ><!-- small u, acute accent -->
+    <!ENTITY ucirc   "&#251;" ><!-- small u, circumflex accent -->
+    <!ENTITY uuml    "&#252;" ><!-- small u, dieresis or umlaut mark -->
+    <!ENTITY yacute  "&#253;" ><!-- small y, acute accent -->
+    <!ENTITY thorn   "&#254;" ><!-- small thorn, Icelandic -->
+    <!ENTITY yuml    "&#255;" ><!-- small y, dieresis or umlaut mark -->
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOnum.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOnum.pen    
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,109 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOnum PUBLIC
+       "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML">
+     %ISOnum;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     This entity set uses hexadecimal numeric character references. 
+          
+     Creator: Rick Jelliffe, Allette Systems
+     
+     Version: 1997-07-07
+-->
+
+<!ENTITY half   "&#189;" ><!--=fraction one-half-->
+<!ENTITY frac12 "&#189;" ><!--=fraction one-half-->
+<!ENTITY frac14 "&#188;" ><!--=fraction one-quarter-->
+<!ENTITY frac34 "&#190;" ><!--=fraction three-quarters-->
+<!ENTITY frac18 "&#x215B;" > 
+    <!-- or "&#xB1;&#x202;&#x2044;&#x2088;" --><!--=fraction one-eighth-->
+<!ENTITY frac38 "&#x215C;" >
+    <!-- or "&#xB3;&#x2044;&#x2088;" --><!--=fraction three-eighths-->
+<!ENTITY frac58 "&#x215D;" >
+    <!-- or "&#x2075;&#x2044;&#x2088;" --><!--=fraction five-eighths-->
+<!ENTITY frac78 "&#x215E;" >
+    <!-- or "&#x2077;&#x2044;&#x2088;" --><!--=fraction seven-eighths-->
+
+<!ENTITY sup1   "&#185;" ><!--=superscript one-->
+<!ENTITY sup2   "&#178;" ><!--=superscript two-->
+<!ENTITY sup3   "&#179;" ><!--=superscript three-->
+
+<!ENTITY plus   "+" ><!--=plus sign B:-->
+<!ENTITY plusmn "&#xB1;" ><!--/pm B: =plus-or-minus sign-->
+<!ENTITY lt     "&#38;#60;"      ><!--=less-than sign R:-->
+<!ENTITY equals "="      ><!--=equals sign R:-->
+<!ENTITY gt     ">"      ><!--=greater-than sign R:-->
+<!ENTITY divide "&#247;" ><!--/div B: =divide sign-->
+<!ENTITY times  "&#215;" ><!--/times B: =multiply sign-->
+
+<!ENTITY curren "&#164;" ><!--=general currency sign-->
+<!ENTITY pound  "&#163;" ><!--=pound sign-->
+<!ENTITY dollar "$"      ><!--=dollar sign-->
+<!ENTITY cent   "&#162;" ><!--=cent sign-->
+<!ENTITY yen    "&#165;" ><!--/yen =yen sign-->
+
+<!ENTITY num    "#" ><!--=number sign-->
+<!ENTITY percnt "&#37;" ><!--=percent sign-->
+<!ENTITY amp    "&#38;#38;" ><!--=ampersand-->
+<!ENTITY ast    "*" ><!--/ast B: =asterisk-->
+<!ENTITY commat "@" ><!--=commercial at-->
+<!ENTITY lsqb   "[" ><!--/lbrack O: =left square bracket-->
+<!ENTITY bsol   "\" ><!--/backslash =reverse solidus-->
+<!ENTITY rsqb   "]" ><!--/rbrack C: =right square bracket-->
+<!ENTITY lcub   "{" ><!--/lbrace O: =left curly bracket-->
+<!ENTITY horbar "&#x2015;" ><!--=horizontal bar-->
+<!ENTITY verbar "|" ><!--/vert =vertical bar-->
+<!ENTITY rcub   "}" ><!--/rbrace C: =right curly bracket-->
+<!ENTITY micro  "&#181;" ><!--=micro sign-->
+<!ENTITY ohm    "&#2126;" ><!--=ohm sign-->
+<!ENTITY deg    "&#176;" ><!--=degree sign-->
+<!ENTITY ordm   "&#186;" ><!--=ordinal indicator, masculine-->
+<!ENTITY ordf   "&#170;" ><!--=ordinal indicator, feminine-->
+<!ENTITY sect   "&#167;" ><!--=section sign-->
+<!ENTITY para   "&#182;" ><!--=pilcrow (paragraph sign)-->
+<!ENTITY middot "&#183;" ><!--/centerdot B: =middle dot-->
+<!ENTITY larr   "&#x2190;" ><!--/leftarrow /gets A: =leftward arrow-->
+<!ENTITY rarr   "&#x2192;" ><!--/rightarrow /to A: =rightward arrow-->
+<!ENTITY uarr   "&#x2191;" ><!--/uparrow A: =upward arrow-->
+<!ENTITY darr   "&#x2193;" ><!--/downarrow A: =downward arrow-->
+<!ENTITY copy   "&#169;" ><!--=copyright sign-->
+<!ENTITY reg    "&#174;" ><!--/circledR =registered sign-->
+<!ENTITY trade  "&#8482;" ><!--=trade mark sign-->
+<!ENTITY brvbar "&#xA6;" ><!--=bren (vertical) bar-->
+<!ENTITY not    "&#xAC;" ><!--/neg /lnot =not sign-->
+<!ENTITY sung   "&#x266A;" ><!--=music note (sung text sign)-->
+
+<!ENTITY excl   "!" ><!--=exclamation mark-->
+<!ENTITY iexcl  "&#xA1;" ><!--=inverted exclamation mark-->
+<!ENTITY quot   '"' ><!--=quotation mark-->
+<!ENTITY apos   "'" ><!--=apostrophe-->
+<!ENTITY lpar   "(" ><!--O: =left parenthesis-->
+<!ENTITY rpar   ")" ><!--C: =right parenthesis-->
+<!ENTITY comma  "," ><!--P: =comma-->
+<!ENTITY lowbar "_" ><!--=low line-->
+<!ENTITY hyphen "&#x2010;" ><!--=hyphen-->
+<!ENTITY period "." ><!--=full stop, period-->
+<!ENTITY sol    "/" ><!--=solidus-->
+<!ENTITY colon  ":" ><!--/colon P:-->
+<!ENTITY semi   ";" ><!--=semicolon P:-->
+<!ENTITY quest  "?" ><!--=question mark-->
+<!ENTITY iquest "&#xBF;" ><!--=inverted question mark-->
+<!ENTITY laquo  "&#x2039;" ><!--=angle quotation mark, left
+ But note that Unicode 1 & Maler & el Andaloussi give &#xAB; -->
+<!ENTITY raquo  "&#x203A;" ><!--=angle quotation mark, right
+ But note that Unicode 1 & Maler & el Andaloussi give &#xBB; -->
+<!ENTITY lsquo  "&#x2018;" ><!--=single quotation mark, left-->
+<!ENTITY rsquo  "&#x2019;" ><!--=single quotation mark, right-->
+<!ENTITY ldquo  "&#x201C;" ><!--=double quotation mark, left-->
+<!ENTITY rdquo  "&#x201D;" ><!--=double quotation mark, right-->
+<!ENTITY nbsp   "&#160;" ><!--=no break (required) space-->
+<!ENTITY shy    "&#173;" ><!--=soft hyphen-->
+
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOpub.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOpub.pen    
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,110 @@
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOpub PUBLIC
+       "ISO 8879:1986//ENTITIES Publishing//EN//XML">
+     %ISOpub;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     This entity set uses hexadecimal numeric character references. 
+          
+     Creator: Rick Jelliffe, Allette Systems
+     
+     Version: 1997-07-07
+-->
+<!ENTITY emsp   "&#x2003;" ><!--=em space-->
+<!ENTITY ensp   "&#x2002;" ><!--=en space (1/2-em)-->
+<!ENTITY emsp13 "&#x2004;" ><!--=1/3-em space-->
+<!ENTITY emsp14 "&#x2005;" ><!--=1/4-em space-->
+<!ENTITY numsp  "&#x2007;" ><!--=digit space (width of a number)-->
+<!ENTITY puncsp "&#x2008;" ><!--=punctuation space (width of comma)-->
+<!ENTITY thinsp "&#x2009;" ><!--=thin space (1/6-em)-->
+<!ENTITY hairsp "&#x200A;" ><!--=hair space-->
+<!ENTITY mdash  "&#x2014;" ><!--=em dash-->
+<!ENTITY ndash  "&#x2013;" ><!--=en dash-->
+<!ENTITY dash   "&#x2010;" ><!--=hyphen (true graphic)-->
+<!ENTITY blank  "&#x2423;" ><!--=significant blank symbol-->
+<!ENTITY hellip "&#x2026;" ><!--=ellipsis (horizontal)-->
+<!ENTITY nldr   "&#x2025;" ><!--=double baseline dot (en leader)-->
+<!ENTITY frac13 "&#x2153;" ><!--=fraction one-third-->
+<!ENTITY frac23 "&#x2154;" ><!--=fraction two-thirds-->
+<!ENTITY frac15 "&#x2155;" ><!--=fraction one-fifth-->
+<!ENTITY frac25 "&#x2156;" ><!--=fraction two-fifths-->
+<!ENTITY frac35 "&#x2157;" ><!--=fraction three-fifths-->
+<!ENTITY frac45 "&#x2158;" ><!--=fraction four-fifths-->
+<!ENTITY frac16 "&#x2159;" ><!--=fraction one-sixth-->
+<!ENTITY frac56 "&#x215a;" ><!--=fraction five-sixths-->
+<!ENTITY incare "&#x2105;" ><!--=in-care-of symbol-->
+<!ENTITY block  "&#x2588;" ><!--=full block-->
+<!ENTITY uhblk  "&#x2580;" ><!--=upper half block-->
+<!ENTITY lhblk  "&#x2584;" ><!--=lower half block-->
+<!ENTITY blk14  "&#x2591;" ><!--=25% shaded block-->
+<!ENTITY blk12  "&#x2592;" ><!--=50% shaded block-->
+<!ENTITY blk34  "&#x2593;" ><!--=75% shaded block-->
+<!ENTITY marker "&#x25AE;" ><!--=histogram marker-->
+<!ENTITY cir    "&#x25CB;" ><!--/circ B: =circle, open-->
+<!ENTITY squ    "&#x25A1;" ><!--=square, open-->
+<!ENTITY rect   "&#x25AD;" ><!--=rectangle, open-->
+<!ENTITY utri   "&#x25B5;" ><!--/triangle =up triangle, open-->
+<!ENTITY dtri   "&#x25BF;" ><!--/triangledown =down triangle, open-->
+<!ENTITY star   "&#x2606;" ><!--=star, open-->
+<!ENTITY bull   "&#x2022;" ><!--/bullet B: =round bullet, filled-->
+<!ENTITY squf   "&#x25AA;" ><!--/blacksquare =sq bullet, filled-->
+<!ENTITY utrif  "&#x25B4;" ><!--/blacktriangle =up tri, filled-->
+<!ENTITY dtrif  "&#x25BE;" ><!--/blacktriangledown =dn tri, filled-->
+<!ENTITY ltrif  "&#x25C2;" ><!--/blacktriangleleft R: =l tri, filled-->
+<!ENTITY rtrif  "&#x25B8;" ><!--/blacktriangleright R: =r tri, filled-->
+<!ENTITY clubs  "&#x2663;" ><!--/clubsuit =club suit symbol-->
+<!ENTITY diams  "&#x2662;" ><!--/diamondsuit =diamond suit symbol-->
+<!ENTITY hearts "&#x2661;" ><!--/heartsuit =heart suit symbol-->
+<!ENTITY spades "&#x2660;" ><!--/spadesuit =spades suit symbol-->
+<!ENTITY malt   "&#x2720;" ><!--/maltese =maltese cross-->
+<!ENTITY dagger "&#x2020;" ><!--/dagger B: =dagger-->
+<!ENTITY Dagger "&#x2021;" ><!--/ddagger B: =double dagger-->
+<!ENTITY check  "&#x2713;" ><!--/checkmark =tick, check mark-->
+<!ENTITY cross  "&#x2717;" ><!--=ballot cross-->
+<!ENTITY sharp  "&#x266F;" ><!--/sharp =musical sharp-->
+<!ENTITY flat   "&#x266D;" ><!--/flat =musical flat-->
+<!ENTITY male   "&#x2642;" ><!--=male symbol-->
+<!ENTITY female "&#x2640;" ><!--=female symbol-->
+<!ENTITY phone  "&#x26E0;" ><!--=telephone symbol-->
+<!ENTITY telrec "&#x2315;" ><!--=telephone recorder symbol-->
+<!ENTITY copysr "&#x2117;" ><!--=sound recording copyright sign-->
+<!ENTITY caret  "&#x2041;" ><!--=caret (insertion mark)-->
+<!ENTITY lsquor "&#x201A;" ><!--=rising single quote, left (low)-->
+<!ENTITY ldquor "&#x201E;" ><!--=rising dbl quote, left (low)-->
+
+<!ENTITY fflig  "&#xFB00;" ><!--small ff ligature-->
+<!ENTITY filig  "&#xFB01;" ><!--small fi ligature-->
+<!ENTITY fjlig  "fj" ><!--small fj ligature-->
+<!ENTITY ffilig "&#xFB03;" ><!--small ffi ligature-->
+<!ENTITY ffllig "&#xFB04;" ><!--small ffl ligature-->
+<!ENTITY fllig  "&#xFB02;" ><!--small fl ligature-->
+
+<!ENTITY mldr   "&#x2025;" ><!--em leader-->
+<!ENTITY rdquor "&#x201D;" ><!--rising dbl quote, right (high)-->
+<!ENTITY rsquor "&#x2019;" ><!--rising single quote, right (high)-->
+<!ENTITY vellip "&#x22EE;" ><!--vertical ellipsis-->
+
+<!ENTITY hybull "&#x2043;" ><!--rectangle, filled (hyphen bullet)-->
+<!ENTITY loz    "&#x2727;" ><!--/lozenge - lozenge or total mark-->
+<!ENTITY lozf   "&#x2726;" ><!--/blacklozenge - lozenge, filled-->
+<!ENTITY ltri   "&#x25C3;" ><!--/triangleleft B: l triangle, open-->
+<!ENTITY rtri   "&#x25B9;" ><!--/triangleright B: r triangle, open-->
+<!ENTITY starf  "&#x2605;" ><!--/bigstar - star, filled-->
+
+<!ENTITY natur  "&#x266E;" ><!--/natural - music natural-->
+<!ENTITY rx     "&#x211E;" ><!--pharmaceutical prescription (Rx)-->
+<!ENTITY sext   "&#x2736;" ><!--sextile (6-pointed star)-->
+
+<!ENTITY target "&#x2316;" ><!--register mark or target-->
+<!ENTITY dlcrop "&#x230D;" ><!--downward left crop mark -->
+<!ENTITY drcrop "&#x230C;" ><!--downward right crop mark -->
+<!ENTITY ulcrop "&#x230F;" ><!--upward left crop mark -->
+<!ENTITY urcrop "&#x230E;" ><!--upward right crop mark -->
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOtech.pen
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/entity/ISOtech.pen   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,85 @@
+
+<!-- (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % ISOtech PUBLIC
+       "ISO 8879:1986//ENTITIES General Technical//EN//XML" 
+       "ISOtech.pen">
+     %ISOtech;
+-->
+<!-- This version of the entity set can be used with any SGML document
+     which uses ISO 10646 as its document character set. 
+     This includes XML documents and ISO HTML documents.
+     This entity set uses hexadecimal numeric character references. 
+          
+     Creator: Rick Jelliffe, Allette Systems
+     
+     Version: 1997-07-07
+-->
+<!ENTITY aleph  "&#x2135;" ><!--/aleph =aleph, Hebrew-->
+<!ENTITY and    "&#x2227;" ><!--/wedge /land B: =logical and-->
+<!ENTITY ang90  "&#x221F;" ><!--=right (90 degree) angle-->
+<!ENTITY angsph "&#x2222;" ><!--/sphericalangle =angle-spherical-->
+<!ENTITY ap     "&#x2249;" ><!--/approx R: =approximate-->
+<!ENTITY becaus "&#x2235;" ><!--/because R: =because-->
+<!ENTITY bottom "&#x22A5;" ><!--/bot B: =perpendicular-->
+<!ENTITY cap    "&#x2229;" ><!--/cap B: =intersection-->
+<!ENTITY cong   "&#x2245;" ><!--/cong R: =congruent with-->
+<!ENTITY conint "&#x222E;" ><!--/oint L: =contour integral operator-->
+<!ENTITY cup    "&#x222A;" ><!--/cup B: =union or logical sum-->
+<!ENTITY equiv  "&#x2261;" ><!--/equiv R: =identical with-->
+<!ENTITY exist  "&#x2203;" ><!--/exists =at least one exists-->
+<!ENTITY forall "&#x2200;" ><!--/forall =for all-->
+<!ENTITY fnof   "&#x192;" ><!--=function of (italic small f)-->
+<!ENTITY ge     "&#x2265;" ><!--/geq /ge R: =greater-than-or-equal-->
+<!ENTITY iff    "&#x21D4;" ><!--/iff =if and only if-->
+<!ENTITY infin  "&#x221E;" ><!--/infty =infinity-->
+<!ENTITY int    "&#x222B;" ><!--/int L: =integral operator-->
+<!ENTITY isin   "&#x2208;" ><!--/in R: =set membership-->
+<!ENTITY lang   "&#x2329;" ><!--/langle O: =left angle bracket-->
+<!ENTITY lArr   "&#x21D0;" ><!--/Leftarrow A: =is implied by-->
+<!ENTITY le     "&#x2264;" ><!--/leq /le R: =less-than-or-equal-->
+<!ENTITY minus  "-" ><!--B: =minus sign-->
+<!ENTITY mnplus "&#x2213;" ><!--/mp B: =minus-or-plus sign-->
+<!ENTITY nabla  "&#x2207;" ><!--/nabla =del, Hamilton operator-->
+<!ENTITY ne     "&#x2260;" ><!--/ne /neq R: =not equal-->
+<!ENTITY ni     "&#x220B;" ><!--/ni /owns R: =contains-->
+<!ENTITY or     "&#x2228;" ><!--/vee /lor B: =logical or-->
+<!ENTITY par    "&#x2225;" ><!--/parallel R: =parallel-->
+<!ENTITY part   "&#x2202;" ><!--/partial =partial differential-->
+<!ENTITY permil "&#x2030;" ><!--=per thousand-->
+<!ENTITY perp   "&#x22A5;" ><!--/perp R: =perpendicular-->
+<!ENTITY prime  "&#x2032;" ><!--/prime =prime or minute-->
+<!ENTITY Prime  "&#x2033;" ><!--=double prime or second-->
+<!ENTITY prop   "&#x221D;" ><!--/propto R: =is proportional to-->
+<!ENTITY radic  "&#x221A;" ><!--/surd =radical-->
+<!ENTITY rang   "&#x232A;" ><!--/rangle C: =right angle bracket-->
+<!ENTITY rArr   "&#x21D2;" ><!--/Rightarrow A: =implies-->
+<!ENTITY sim    "&#x223C;" ><!--/sim R: =similar-->
+<!ENTITY sime   "&#x2243;" ><!--/simeq R: =similar, equals-->
+<!ENTITY square "&#x25A1;" ><!--/square B: =square-->
+<!ENTITY sub    "&#x2282;" ><!--/subset R: =subset or is implied by-->
+<!ENTITY sube   "&#x2286;" ><!--/subseteq R: =subset, equals-->
+<!ENTITY sup    "&#x2283;" ><!--/supset R: =superset or implies-->
+<!ENTITY supe   "&#x2287;" ><!--/supseteq R: =superset, equals-->
+<!ENTITY there4 "&#x2234;" ><!--/therefore R: =therefore-->
+<!ENTITY Verbar "&#x2016;" ><!--/Vert =dbl vertical bar-->
+
+<!ENTITY angst  "&#x212B;" ><!--Angstrom =capital A, ring-->
+<!ENTITY bernou "&#x212C;" ><!--Bernoulli function (script capital B)-->
+<!ENTITY compfn "&#x2218;" ><!--B: composite function (small circle)-->
+<!ENTITY Dot    "&#xA8;" ><!--=dieresis or umlaut mark-->
+<!ENTITY DotDot "&#x20DC;" ><!--four dots above-->
+<!ENTITY hamilt "&#x210B;" ><!--Hamiltonian (script capital H)-->
+<!ENTITY lagran "&#x2112;" ><!--Lagrangian (script capital L)-->
+<!ENTITY lowast "&#x2217;" ><!--low asterisk-->
+<!ENTITY notin  "&#x2209;" ><!--N: negated set membership-->
+<!ENTITY order  "&#x2134;" ><!--order of (script small o)-->
+<!ENTITY phmmat "&#x2133;" ><!--physics M-matrix (script capital M)-->
+<!ENTITY tdot   "&#x20DB;" ><!--three dots above-->
+<!ENTITY tprime "&#x2034;" ><!--triple prime-->
+<!ENTITY wedgeq "&#x2259;" ><!--R: corresponds to (wedge, equals)-->
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/README.txt
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/README.txt   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,35 @@
+This directory contains XML schemas which describe the various XML formats used
+in Forrest.
+
+The schemas are written in RELAX NG, a schema language devised by James Clark,
+SGML boffin, XML inventor and all-round smart guy.
+
+RELAX NG is widely regarded to be the simplest, most powerful, and easy to
+learn schema language available.
+
+Relevant URLs:
+
+The RELAX NG "home page" at the OASIS RELAX NG Technical Committee:
+http://www.oasis-open.org/committees/relax-ng/
+
+The RELAX NG tutorial:
+       http://www.oasis-open.org/committees/relax-ng/tutorial.html
+
+The RELAX NG Compact Syntax spec (definition of the non-XML syntax
+used here *.rnx files):
+  http://www.oasis-open.org/committees/relax-ng/compact-20021121.html
+
+Jing RELAX NG validator in Java:
+       http://www.thaiopensource.com/relaxng/
+
+To run an XML file against a .rng schema using Jing, see the
+"validate-config" target in xml-forrest/build.xml or do this:
+
+java -jar $FORREST_HOME/WEB-INF/lib/jing.jar [.rng file] [.xml file]
+
+If you're running JDK 1.3.x or lower, you'll need to add
+$FORREST_HOME/lib/endorsed/*.jar to your classpath first.
+
+-- 
[EMAIL PROTECTED]
+$Id: README.txt,v 1.3 2003/01/22 06:39:34 crossley Exp $

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/book-v01.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/book-v01.rng 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";
+         xmlns="http://relaxng.org/ns/structure/1.0";
+         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0";>
+<!-- ===================================================================
+
+     Apache Cocoon Book RELAX NG grammar (Version 0.1)
+
+PURPOSE:
+  DRAFT RELAX NG grammar for the Cocoon book.xml configuration files.
+
+NOTES:
+
+AUTHORS:
+  David Crossley <[EMAIL PROTECTED]>
+
+FIXME:
+- 
+
+CHANGE HISTORY:
+20021030 V0.1 Initial RELAX NG grammar generated from book-cocoon-v10.dtd
+              using DTDinst (DC)
+     
+COPYRIGHT:
+  Copyright (c) 1999-2002 The Apache Software Foundation.
+  
+  Permission to copy in any form is granted provided this notice is 
+  included in all copies. Permission to redistribute is granted 
+  provided this file is distributed untouched in all its parts and 
+  included files.
+  
+==================================================================== -->
+  <define name="book">
+    <element name="book">
+      <ref name="attlist.book"/>
+      <oneOrMore>
+        <ref name="menu"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="menu">
+    <element name="menu">
+      <ref name="attlist.menu"/>
+      <zeroOrMore>
+        <choice>
+          <ref name="menu-item"/>
+          <ref name="external"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="menu-item">
+    <element name="menu-item">
+      <ref name="attlist.menu-item"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="external">
+    <element name="external">
+      <ref name="attlist.external"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.book" combine="interleave">
+    <attribute name="software"/>
+    <attribute name="title"/>
+    <attribute name="copyright"/>
+    <empty/>
+  </define>
+  <define name="attlist.menu" combine="interleave">
+    <attribute name="label"/>
+  </define>
+  <define name="attlist.menu-item" combine="interleave">
+    <attribute name="label"/>
+    <attribute name="href"/>
+    <optional>
+      <attribute name="type" a:defaultValue="visible">
+        <choice>
+          <value>visible</value>
+          <value>hidden</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <define name="attlist.external" combine="interleave">
+    <attribute name="label"/>
+    <attribute name="href"/>
+    <optional>
+      <attribute name="type" a:defaultValue="visible">
+        <choice>
+          <value>visible</value>
+          <value>hidden</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <start>
+    <choice>
+      <ref name="book"/>
+    </choice>
+  </start>
+</grammar>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/sitemap-v06.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/sitemap-v06.rng
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,2183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"; 
+         xmlns:sch="http://www.ascc.net/xml/schematron";
+         xmlns="http://relaxng.org/ns/structure/1.0"; 
+         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"; 
+         xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
+ <sch:ns uri="http://apache.org/cocoon/sitemap/1.0"; prefix="xmap"/>
+<!-- ===================================================================
+
+Apache Cocoon Sitemap RELAX NG grammar, with embedded Schematron rules
+Version 0.6
+
+PURPOSE:
+  DRAFT RELAX NG grammar for the Cocoon2 sitemap.xmap files.
+
+
+NOTES:
+* ATTENTION: The initial (v0.4) grammar was generated from sitemap-v04.dtd, 
+  which in turn was reverse-engineered by hand from the various
+  sitemap.xmap instances included in the current distribution. This is
+  just an attempt to document the existing rules for sitemap structure.
+  V0.5 has been enhanced to use stricter than were possible with the DTD.
+  A proper design process is still, still required.
+* Needed by XML editing tools for creation of reliable documents.
+* Can generate WXS from this grammar for the use of XML editors which
+  do not support RELAX NG.
+* The big questions (still) are: 
+  - What possibilities were missed because they were not included in the
+    default sitemaps?
+  - What in the default sitemap.xmap files is mandatory versus optional?
+  - What elements/attributes need their rules tightened?
+
+AUTHORS:
+  Jeffrey Ricker NG (Usonia Holdings) <[EMAIL PROTECTED]>
+  David Crossley <[EMAIL PROTECTED]>
+  Colin Paul Adams <[EMAIL PROTECTED]>
+  Bruno Dumon <[EMAIL PROTECTED]>
+  Nicola Ken Barozzi NKB<[EMAIL PROTECTED]>
+
+FIXME:
+- map:act is used in various contexts, so it has a loose definition
+- Completely rewrite this grammar looking from the application
+  point-of-view (do not rely on this temporary initial grammar)
+- align elements and attributes with sitemap*.xsl
+- review all xdocs/userdocs/generators/*.xml etc. and sync with this grammar
+- Add similar changes to those of 2002-11-29 for other component declarations
+  See Bruno email
+  http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=103847911212458
+
+CHANGE HISTORY:
+20010715 V0.1 Initial version of DTD. (RNG)
+20011106 V0.2 Reviewed all */sitemap.xmap and added definitions (DC)
+20011106 V0.2 All elements now have "map:" prefix. (DC)
+20011106 V0.2 Incorporated comments Bruno Dumon cocoon-dev 20010718 (DC)
+20011116 V0.2 Changes from label/view discussion cocoon-dev 20011115 (DC)
+20011219 V0.2 Deprecated 'redirect-to resource'. Added 'map:call resource'(CH)
+20021017 V0.3 Updated so validation works again (CPA)
+20021019 V0.3 Further changes made to cope with all current sitemaps (CPA)
+20021021 V0.4 General simplification by adding parameter entities (CPA)
+20021024 V0.4 RELAX NG grammar generated from sitemap-v04.dtd using DTDinst 
(DC)
+20021025 V0.5 Tightening of grammar rules which was not possible with DTD.
+              Also added datatypes. (CPA)
+20021030 V0.5 Added some missing bits: selector/browser, 
+              label.attr is temporarily string (DC)
+20021029 V0.5 Corrections to allow recent sitemap changes to validate
+              (rules needed loosening considerably to enable this). (CPA)
+20021030 V0.5 Additional checks on element contents. (CPA)
+20021106 V0.5 Map:selector declared to have any content. (CPA)
+20021114 V0.6 Initial set of Schematron rules added. (CPA)
+20021129 V0.6 map:select should be able to have map:parameter children. (BD)
+20021129 V0.6 map:action component declaration should allow any child elements
+              as additional configuration information. The exact contents
+              depends on the implementation of each action, and since users can
+              implement their own actions this content cannot be foreseen. (BD)
+20030212 V0.6 Add TagTransformer contents (VG)
+20030219 V0.6 Add new i18nTransformer contents <catalogues> (DC)
+20030730 V0.6 Added new htmlGenerator contents <catalogues> (NKB)
+
+====================================================================
+-->
+
+
+<!-- =============================================================== -->
+<!-- Common Attributes -->
+<!-- =============================================================== -->
+<!-- CPA: univeral attributes possessed by all elements -->
+<!-- CPA: id is for use by sitebuilder and others, but really it ought to be 
-->
+<!--      of type ID (I'm guessing) -->
+  <define name="universal.attr">
+    <optional>
+      <attribute name="id" >
+        <data type="string" />
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: the default attribute is common, and where it occurs is nearly 
always the same -->
+  <define name="default.attr">
+    <optional>
+      <attribute name="default">
+        <data type="string" /> 
+         <!-- CPA: in fact the default must always match the name attribute
+         of one of it's child elements. We will rely on a schematron schema to 
check
+         this (we cannot use ID/IDREF as there are multiple namespaces
+         e.g. map:generator uses a different namespace to
+         map:transformer) - NO - can't be done due to sitemap
+         inheritance -->
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: the name and src attributes are common, and where they occur
+          are always CDATA, but sometimes optional -->
+  <define name="src.attr">
+    <attribute name="src">
+      <data type="string"/>
+    </attribute>
+  </define>
+  <define name="optsrc.attr">
+    <optional>
+      <attribute name="src">
+      <data type="string"/>
+    </attribute>
+    </optional>
+  </define>
+
+  <define name="name.attr">
+    <attribute name="name">
+      <data type="string"/> <!-- CPA: see comment on default.attr -->
+    </attribute>
+  </define>
+  <define name="optname.attr">
+    <optional>
+    <attribute name="name">
+      <data type="string"/> <!-- CPA: see comment on default.attr -->
+    </attribute>
+    </optional>
+  </define>
+
+  <define name="uri.attr">
+    <attribute name="uri">
+      <data type="string"/>
+    </attribute>
+  </define>
+  <define name="opturi.attr">
+    <optional>
+      <attribute name="uri">
+      <data type="string"/>
+    </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: pool attributes from Excalibur's PoolableComponentHandler -->
+<!--      Defaults are set in cocoon.xconf -->
+  <define name="pool.attr">
+    <optional>
+      <attribute name="pool-max">
+        <data type="positiveInteger" />
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="pool-min">
+        <data type="nonNegativeInteger" />
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="pool-grow">
+        <data type="positiveInteger" />
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: logger attribute - default is set in cocoon.xconf -->
+  <define name="logger.attr">
+    <optional>
+      <attribute name="logger">
+        <data type="string" /> <!-- CPA: a Java class name -->
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: these three only occur together  -->
+<!-- they are used in AggregateNodeBuilder -->
+  <define name="aggregate.attr">
+    <optional>
+      <attribute name="element">
+        <data type="string" />
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="ns">
+        <data type="string" />
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="prefix">
+        <data type="string" />
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: attributes that occur more than once, and are always defined -->
+<!--      in the same way -->
+
+  <define name="value.attr">
+    <attribute name="value"/> 
+    <!-- CPA: I think we cannot restrict the datatype,
+              unless we do it on an element-by-element basis -->
+  </define>
+
+  <define name="mime.attr">
+    <optional>
+      <attribute name="mime-type"> 
+        <!-- restrict further in specific cases -->
+        <data type="string" /> <!-- CPA: tackle this in V0.6 -->
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="label.attr">
+    <optional>
+      <attribute name="label">
+        <data type="string"/> 
+<!-- DC: temporarily changed to "string" to avoid mass of validation errors
+        <data type="NMTOKEN"/> 
+-->
+        <!-- CPA: must match a component name , use schematron to enforce -->
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="type.attr">
+    <optional>
+      <attribute name="type">
+        <data type="string"/>
+      </attribute>
+    </optional>
+  </define>
+
+<!-- CPA: resource is used both in CallNodeBuilder and -->
+<!--      RedirectToNodeBuilder. It has no default -->
+  <define name="resource.attr">
+    <optional>
+      <attribute name="resource">
+        <data type="string" />
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="component.attr">
+    <ref name="label.attr"/>
+    <ref name="logger.attr"/>
+    <ref name="pool.attr"/>
+  </define>
+
+<!-- CPA: now for element contents -->
+
+  <define name="pipe.contents">
+    <zeroOrMore> <!-- CPA: look into this in V0.6 - I think, must use 
schematron -->
+      <choice>
+        <ref name="map.parameter"/>
+        <ref name="map.act"/>
+        <ref name="map.match"/>
+        <ref name="map.select"/>
+        <ref name="map.call"/>
+        <ref name="map.redirect-to"/>
+        <ref name="map.read"/>
+        <ref name="map.aggregate"/>
+        <ref name="map.generate"/>
+        <ref name="map.transform"/>
+        <ref name="map.serialize"/>
+        <ref name="map.mount"/>
+      </choice>
+    </zeroOrMore>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of HtmlGenerator.java -->
+  <define name="htmlGenerator.contents">
+    <optional><ref name="jtidy-config"/></optional>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of TraxTransformer.java -->
+  <define name="traxTransformer.contents">
+    <optional><ref name="use-request-parameters"/></optional>
+    <optional><ref name="use-cookies"/></optional>
+    <optional><ref name="use-browser-capabilities-db"/></optional>
+    <optional><ref name="use-session-info"/></optional>
+    <optional><ref name="use-deli"/></optional>
+    <optional><ref name="xslt-processor-role"/></optional>
+    <optional><ref name="transformer-factory"/></optional> 
+  </define>
+
+<!-- CPA: contents confirmed by inspection of I18nTransformer.java -->
+  <define name="i18nTransformer.contents">
+    <optional><ref name="catalogues"/></optional>
+    <optional><ref name="catalogue-name"/></optional>
+    <optional><ref name="catalogue-location"/></optional>
+    <optional><ref name="untranslated-text"/></optional>
+    <optional><ref name="cache-at-startup"/></optional>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of XSLTProcessorImpl.java -->
+<!--      N.B. these appear in the source as if they were parameter -->
+<!--      tags, so I'm not sure if this is perfectly correct. -->
+  <define name="xsltTransformer.contents">
+    <optional><ref name="use-store"/></optional>
+    <optional><ref name="incremental-processing"/></optional>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of EncodeURLTransformer.java -->
+  <define name="encodeURLTransformer.contents">
+    <optional><ref name="include-name"/></optional>
+    <optional><ref name="exclude-name"/></optional>
+  </define>
+
+  <define name="linkRewriterTransformer.contents">
+    <zeroOrMore>
+      <choice>
+        <element name="link-attrs"><text/></element>
+        <element name="schemes"><text/></element>
+        <element name="exclude-schemes"><text/></element>
+        <element name="bad-link-str"><text/></element>
+        <element name="input-module">
+          <ref name="anyAttribute"/>
+          <zeroOrMore>
+            <ref name="anyElement"/>
+          </zeroOrMore>
+        </element>
+      </choice>
+    </zeroOrMore>
+  </define>
+
+  <define name="IdGeneratorTransformer.contents">
+    <zeroOrMore>
+      <element name="element">
+        <text/>
+      </element>
+      <element name="id">
+        <text/>
+      </element>
+      <optional>
+        <element name="id-attr">
+          <text/>
+        </element>
+      </optional>
+    </zeroOrMore>
+  </define>
+
+<!-- CH: contents confirmed by inspection of Web3RfcTransformer.java -->
+  <define name="web3RfcTransformer.contents">
+    <optional><element name="system"><text/></element></optional>
+  </define>
+
+  <define name="simpleFormExtractTransformer.contents">
+    <optional>
+       <element name="output">
+          <ref name="name.attr"/>
+          <text/>
+       </element>
+    </optional>
+  </define>
+
+<!-- VG: contents of TagTransformer from the scratchpad -->
+  <define name="tagTransformer.contents">
+    <optional>
+       <element name="transformer-hint">
+          <text/>
+       </element>
+    </optional>
+  </define>
+
+<!-- CPA: contents confirmed by inspection of AbstractTextSerializer.java -->
+  <define name="textSerializer.contents">
+    <optional><ref name="cdata-section-elements"/></optional>
+    <optional><ref name="doctype-public"/></optional>
+    <optional><ref name="doctype-system"/></optional>
+    <optional><ref name="encoding"/></optional>
+    <optional><ref name="indent"/></optional>
+    <optional><ref name="media-type"/></optional>
+    <optional><ref name="method"/></optional>
+    <optional><ref name="omit-xml-declaration"/></optional>
+    <optional><ref name="standalone"/></optional>
+    <optional><ref name="version"/></optional>
+  </define>
+
+  <define name="svg2jpegSerializer.contents">
+    <optional>
+       <element name="parameter">
+          <attribute name="name"/>
+          <attribute name="type">
+            <value type="string">float</value>
+          </attribute>
+          <attribute name="value"/>
+       </element>
+    </optional>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Sitemap -->
+<!-- =============================================================== -->
+<!-- CPA: contents are all optional, as they can be inherited from the parent 
sitemap -->
+  <define name="map.sitemap">
+    <element name="map:sitemap" 
xmlns:map="http://apache.org/cocoon/sitemap/1.0"; >
+      <ref name="map.sitemap.attlist"/>
+      <interleave>
+        <optional>
+          <ref name="map.components"/>
+        </optional>
+        <optional>
+          <ref name="map.views"/>
+        </optional>
+        <optional>
+          <ref name="map.resources"/>
+        </optional>
+        <optional>
+          <ref name="map.action-sets"/>
+        </optional>
+        <zeroOrMore>
+          <ref name="map.flow"/>
+        </zeroOrMore>
+        <ref name="map.pipelines"/>
+      </interleave>
+    </element>
+  </define>
+  <define name="map.sitemap.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <empty/>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Components -->
+<!-- =============================================================== -->
+<!-- CPA: map:components are optional, as they can be inherited from the 
parent sitemap -->
+<!-- CPA: Notes on ComponentSelector.java: Flow-Interpreters are not mentioned 
-->
+<!-- CPA: now 0 or 1 of each, in any order -->
+  <define name="map.components">
+    <element name="map:components">
+      <ref name="map.components.attlist"/>
+      <interleave>
+        <optional>
+          <ref name="map.generators"/>
+        </optional>
+        <optional>
+          <ref name="map.transformers"/>
+        </optional>
+        <optional>
+          <ref name="map.readers"/>
+        </optional>
+        <optional>
+          <ref name="map.serializers"/>
+        </optional>
+        <optional>
+          <ref name="map.matchers"/>
+        </optional>
+        <optional>
+          <ref name="map.selectors"/>
+        </optional>
+        <optional>
+          <ref name="map.actions"/>
+        </optional>
+        <optional>
+          <ref name="map.flow-interpreters"/>
+        </optional>
+        <optional>
+          <ref name="map.pipes"/>
+        </optional>
+      </interleave>
+    </element>
+  </define>
+  <define name="map.components.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+<!-- Generators ======================================== -->
+  <define name="map.generators">
+    <element name="map:generators">
+      <ref name="map.generators.attlist"/>
+      <zeroOrMore> 
+        <ref name="map.generator"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.generators.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.generator">
+    <element name="map:generator">
+      <ref name="map.generator.attlist"/>
+      <interleave>
+        <ref name="htmlGenerator.contents"/>
+      </interleave>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.generator.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="jtidy-config">
+    <element name="jtidy-config">
+      <text/>
+    </element>
+  </define>
+
+<!-- Transformers ====================================== -->
+  <define name="map.transformers">
+    <element name="map:transformers">
+      <ref name="map.transformers.attlist"/>
+      <zeroOrMore>
+        <ref name="map.transformer"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.transformers.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+<!-- CPA: Some transformers have children, others take parameter -->
+<!--      children on the map:transform element -->
+<!--      SourceWritingTransformer.java appears to look for a -->
+<!--      serializer child, but there are no examples so I have TODO (V0.6) -->
+<!--      omitted it for now. mapping comes from castor -->
+
+  <define name="map.transformer">
+    <element name="map:transformer">
+      <ref name="map.transformer.attlist"/>
+        <interleave>
+          <ref name="traxTransformer.contents"/>
+          <ref name="xsltTransformer.contents"/>
+          <ref name="i18nTransformer.contents"/>
+          <ref name="encodeURLTransformer.contents"/>
+          <ref name="linkRewriterTransformer.contents"/>
+          <ref name="web3RfcTransformer.contents"/>
+          <ref name="simpleFormExtractTransformer.contents"/>
+          <ref name="tagTransformer.contents"/>
+          <ref name="IdGeneratorTransformer.contents"/>
+          <optional><ref name="mapping"/></optional>
+          <zeroOrMore>
+           <ref name="parameter"/>
+          </zeroOrMore>
+        </interleave>
+    </element>
+  </define>
+  <define name="map.transformer.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="mime.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="use-store">
+  <!-- CPA: from  XSLTProcessorImpl.java -->  
+    <element name="use-store" a:defaultValue="true" >
+      <ref name="use-store.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-store.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-request-parameters">
+  <!-- CPA: from TraxTransformer.java -->
+    <element name="use-request-parameters" a:defaultValue="false">
+      <ref name="use-request-parameters.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>      
+    </element>
+  </define>
+  <define name="use-request-parameters.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-browser-capabilities-db">
+    <element name="use-browser-capabilities-db"  a:defaultValue="false">
+      <ref name="use-browser-capabilities-db.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-browser-capabilities-db.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="catalogues">
+    <element name="catalogues">
+      <ref name="catalogues.attlist"/>
+      <oneOrMore>
+        <ref name="catalogue"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="catalogues.attlist" combine="interleave">
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="catalogue">
+    <element name="catalogue">
+      <ref name="catalogue.attlist"/>
+    </element>
+  </define>
+  <define name="catalogue.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <attribute name="location"/>
+  </define>
+
+  <define name="catalogue-name">
+    <element name="catalogue-name">
+      <ref name="catalogue-name.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="catalogue-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="catalogue-location">
+    <element name="catalogue-location">
+      <ref name="catalogue-location.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="catalogue-location.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-deli">
+  <!-- CPA: this parameter has disappeared from the source TODO: clarify -->
+    <element name="use-deli">
+      <ref name="use-deli.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-deli.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="xslt-processor-role">
+    <element name="xslt-processor-role">
+      <ref name="xslt-processor-role.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="xslt-processor-role.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="cache-at-startup">
+  <!-- CPA: from XMLResourceBundleFactory and I18nTransformer -->
+    <element name="cache-at-startup" a:defaultValue="false">
+      <ref name="cache-at-startup.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="cache-at-startup.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="mapping">
+    <element name="mapping">
+      <ref name="mapping.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="mapping.attlist" combine="interleave">
+    <empty/>
+  </define>
+
+<!-- Readers =========================================== -->
+  <define name="map.readers">
+    <element name="map:readers">
+      <ref name="map.readers.attlist"/>
+      <zeroOrMore>
+        <ref name="map.reader"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.readers.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.reader">
+    <element name="map:reader">
+      <ref name="map.reader.attlist"/>
+      <optional><ref name="database.reader.content"/></optional>
+      <zeroOrMore>
+       <ref name="parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.reader.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="database.reader.content">
+     <!-- FIXME is this complete ? -->
+     <optional><element name="use-connection"><data 
type="string"/></element></optional>
+  </define>
+
+<!-- Serializers ======================================= -->
+  <define name="map.serializers">
+    <element name="map:serializers">
+      <ref name="map.serializers.attlist"/>
+      <zeroOrMore>
+        <ref name="map.serializer"/>
+      </zeroOrMore>
+    </element>
+    <sch:pattern name="Test constraints on map:serialize">
+      <sch:rule context="xmap:serialize">
+       <sch:assert 
test="count(following-sibling::*[not(self::xmap:handle-errors)])=0">
+         map:serialize must be the last element in a pipeline (other than 
map:handle-errors).
+        </sch:assert>
+      </sch:rule>
+    </sch:pattern>
+  </define>
+  <define name="map.serializers.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+<!-- CPA: parameter is used by HSSFSerializer -->
+<!-- CPA: set-content-length is used by iTextSerializer -->
+  <define name="map.serializer">
+    <element name="map:serializer">
+      <ref name="map.serializer.attlist"/>
+      <optional><ref name="textSerializer.contents"/></optional>
+      <optional><ref name="svg2jpegSerializer.contents"/></optional>
+      <optional><ref name="set-content-length"/></optional>
+      <optional><ref name="buffer-size"/></optional>
+      <optional><ref name="user-config"/></optional>
+      <zeroOrMore>
+        <choice>
+          <ref name="parameter"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+<!-- RNG: are these the only children of serializer? -->
+<!-- CPA: No. Added buffer-size for slide and others - don't know -->
+<!--      where it comes from in the source -->
+<!-- CPA: mime-type changed from #REQUIRED to #IMPLIED, because of 
LinkSerializer -->
+  <define name="map.serializer.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="mime.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="cdata-section-elements">
+    <element name="cdata-section-elements">
+      <ref name="cdata-section-elements.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="cdata-section-elements.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="doctype-public">
+    <element name="doctype-public">
+      <ref name="doctype-public.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="doctype-public.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="doctype-system">
+    <element name="doctype-system">
+      <ref name="doctype-system.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="doctype-system.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="encoding">
+    <element name="encoding">
+      <ref name="encoding.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="encoding.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="omit-xml-declaration">
+    <element name="omit-xml-declaration">
+      <ref name="omit-xml-declaration.attlist"/>
+      <choice>
+        <value>yes</value>
+        <value>no</value>
+      </choice>
+    </element>
+  </define>
+  <define name="omit-xml-declaration.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="parameter">
+    <element name="parameter">
+      <ref name="parameter.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="parameter.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="value.attr"/>
+    <ref name="type.attr"/>
+  </define>
+
+  <define name="map.parameter">
+    <element name="map:parameter">
+      <ref name="map.parameter.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.parameter.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="value.attr"/>
+  </define>
+
+  <define name="buffer-size">
+    <element name="buffer-size">
+      <ref name="buffer-size.attlist"/>
+      <data type="positiveInteger" />
+    </element>
+  </define>
+  <define name="buffer-size.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="user-config">
+    <element name="user-config">
+      <ref name="user-config.attlist"/>
+    </element>
+  </define>
+  <define name="user-config.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="src.attr"/>
+  </define>
+
+<!-- Selectors ========================================= -->
+  <define name="map.selectors">
+    <element name="map:selectors">
+      <ref name="map.selectors.attlist"/>
+      <zeroOrMore>
+        <ref name="map.selector"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.selectors.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.selector">
+    <element name="map:selector">
+      <ref name="map.selector.attlist"/>
+      <zeroOrMore>
+        <ref name="anyElement"/>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="map.selector.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+<!-- CPA: elements currently used by map:selector s -->
+  <define name="browser">
+    <element name="browser">
+      <ref name="browser.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="browser.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <attribute name="useragent"/>
+  </define>
+
+  <define name="host">
+    <element name="host">
+      <ref name="host.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="host.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="value.attr"/>
+  </define>
+
+  <define name="cookie-name">
+    <element name="cookie-name">
+      <ref name="cookie-name.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="cookie-name.attlist" combine="interleave">
+    <empty/>
+  </define>
+
+<define name="anyElement">
+  <element>
+    <anyName/>
+    <zeroOrMore>
+      <choice>
+        <attribute>
+         <anyName/>
+       </attribute>
+        <text/>
+        <ref name="anyElement"/>
+      </choice>
+    </zeroOrMore>
+  </element>
+</define>
+
+  <define name="anyAttribute">
+    <zeroOrMore>
+      <attribute>
+        <anyName/>
+      </attribute>
+    </zeroOrMore>
+  </define>
+
+<!-- Matchers ========================================== -->
+  <define name="map.matchers">
+    <element name="map:matchers">
+      <ref name="map.matchers.attlist"/>
+      <zeroOrMore>
+        <ref name="map.matcher"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.matchers.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.matcher">
+    <element name="map:matcher">
+      <ref name="map.matcher.attlist"/>
+      <zeroOrMore>
+        <choice>
+          <ref name="attribute-name"/>
+          <ref name="parameter-name"/>
+          <ref name="header-name"/>
+          <ref name="input-module"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.matcher.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="attribute-name">
+    <element name="attribute-name">
+      <ref name="attribute-name.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="attribute-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="parameter-name">
+    <element name="parameter-name">
+      <ref name="parameter-name.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="parameter-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="header-name">
+    <element name="header-name">
+      <ref name="header-name.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="header-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="input-module">
+    <element name="input-module">
+      <ref name="input-module.attlist"/>
+      <zeroOrMore><ref name="anyElement"/></zeroOrMore>
+    </element>
+  </define>
+  <define name="input-module.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+  </define>
+
+<!-- Actions =========================================== -->
+  <define name="map.actions">
+    <element name="map:actions">
+      <ref name="map.actions.attlist"/>
+      <zeroOrMore>
+        <ref name="map.action"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.actions.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.action">
+    <element name="map:action">
+      <ref name="map.action.attlist"/>
+      <zeroOrMore>
+        <ref name="anyElement"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.action.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+<!-- Pipes ======================================== -->
+  <define name="map.pipes">
+    <element name="map:pipes">
+      <ref name="map.pipes.attlist"/>
+      <zeroOrMore> 
+        <ref name="map.pipe"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.pipes.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.pipe">
+    <element name="map:pipe">
+      <ref name="map.pipe.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.pipe.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <ref name="src.attr"/>
+    <ref name="component.attr"/>
+    <optional>
+       <ref name="autoCachingPoint"/>
+     </optional>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Views -->
+<!-- =============================================================== -->
+  <define name="map.views">
+    <element name="map:views">
+      <ref name="map.views.attlist"/>
+      <zeroOrMore>
+        <ref name="map.view"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.views.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="map.view">
+    <element name="map:view">
+      <ref name="map.view.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.view.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <optional>
+      <attribute name="from-label"/>
+    </optional>
+    <optional>
+      <attribute name="from-position" a:defaultValue="last">
+        <choice>
+          <value>first</value>
+          <value>last</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="map.serialize">
+    <element name="map:serialize">
+      <ref name="map.serialize.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+      <optional>
+        <ref name="encoding"/>
+      </optional>
+    </element>
+  </define>
+  <define name="map.serialize.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <ref name="mime.attr"/>
+    <ref name="label.attr"/>
+    <optional>
+      <attribute name="status-code"/>
+    </optional>
+    <ref name="optsrc.attr"/>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Resources -->
+<!-- =============================================================== -->
+  <define name="map.resources">
+    <element name="map:resources">
+      <ref name="map.resources.attlist"/>
+      <zeroOrMore>
+        <ref name="map.resource"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.resources.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="map.resource">
+    <element name="map:resource">
+      <ref name="map.resource.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.resource.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Action Sets -->
+<!-- =============================================================== -->
+  <define name="map.action-sets">
+    <element name="map:action-sets">
+      <ref name="map.action-sets.attlist"/>
+      <zeroOrMore>
+        <ref name="map.action-set"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.action-sets.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="map.action-set">
+    <element name="map:action-set">
+      <ref name="map.action-set.attlist"/>
+      <oneOrMore>
+        <ref name="map.act"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="map.action-set.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+  </define>
+
+  <define name="map.act">
+    <element name="map:act">
+      <ref name="map.act.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.act.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <optional>
+      <attribute name="action"/>
+    </optional>
+    <optional>
+      <attribute name="set"/>
+    </optional>
+    <ref name="optsrc.attr"/>
+  </define>
+
+<!-- =============================================================== -->
+<!-- Pipelines -->
+<!-- =============================================================== -->
+
+  <define name="map.pipelines">
+    <element name="map:pipelines">
+      <ref name="map.pipelines.attlist"/>
+      <optional>
+        <ref name="map.component-configurations"/>
+      </optional>
+      <zeroOrMore>
+        <ref name="map.pipeline"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.pipelines.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="default.attr"/>
+  </define>
+
+  <define name="map.pipeline">
+    <element name="map:pipeline">
+      <ref name="map.pipeline.attlist"/>
+      <optional>
+        <ref name="pipe.contents"/>
+        <zeroOrMore>
+          <ref name="map.handle-errors"/>
+        </zeroOrMore>
+      </optional>
+
+      <!-- Schematron rules for map:pipeline follow -->
+
+      <sch:pattern name="Test constraints on map:pipeline">
+        <sch:rule context="/xmap:sitemap/xmap:pipelines/xmap:pipeline">
+          <sch:assert test="(@src and @name) 
+                             or 
.//xmap:generate[not(ancestor::xmap:handle-errors)]
+                             or 
.//xmap:aggregate[not(ancestor::xmap:handle-errors)]
+                             or .//xmap:read[not(ancestor::xmap:handle-errors)]
+                             or 
.//xmap:mount[not(ancestor::xmap:handle-errors)]
+                             or 
.//xmap:redirect-to[not(ancestor::xmap:handle-errors)]
+                             or 
.//xmap:call[not(ancestor::xmap:handle-errors)]">
+            Pipeline with no 
map:generate|aggregate|act|mount|redirect-to|call, or src and name attributes, 
is illegal
+          </sch:assert>
+          <sch:assert 
test="not(.//*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                               and (local-name()='generate' or 
local-name()='aggregate' or local-name()='transform')
+                               and not(ancestor::xmap:handle-errors)])
+                            or 
.//*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                               and (local-name()='generate' or 
local-name()='aggregate' or local-name()='transform')
+                               and not(ancestor::xmap:handle-errors)]
+                                       
[following::*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                                                           and 
(local-name()='serialize' or local-name()='call')
+                                                           and 
not(ancestor::xmap:handle-errors)
+                                                    
]/ancestor::xmap:pipeline[. = current()]
+                                       ]">
+            Pipeline with map:generate|aggregate|transform must have 
map:serialize or map:call
+          </sch:assert>
+        </sch:rule>
+
+        <sch:rule 
context="/xmap:sitemap/xmap:pipelines/xmap:pipeline//*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                               and (local-name()='serialize' or 
local-name()='mount'  or local-name()='read'  
+                                    or local-name()='redirect-to' or 
local-name()='call') ]">
+          <sch:assert 
test="count(following-sibling::*[namespace-uri()=namespace-uri(/xmap:sitemap) 
+                   and local-name() != 'handle-errors'])=0">
+            Pipeline with component after 
map:serialize|read|mount|redirect-to|call is illegal 
+          </sch:assert>
+        </sch:rule>
+      </sch:pattern>
+    </element>
+  </define>
+  <define name="map.pipeline.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <optional>
+      <attribute name="internal-only"/>
+    </optional>
+    <ref name="optname.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="type.attr"/>
+    <ref name="component.attr"/>
+  </define>
+
+  <define name="map.match">
+    <element name="map:match">
+      <ref name="map.match.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+<!-- RNG: It seemed from the example that match should be defined as
+  match 
(map:mount*|map:redirect-to*|(map:generate*,map:transform*,map:serialize*)*|map:read*|map:aggregate*)
+  but I have no way of knowing. -->
+<!-- DC: Now map:act complicates the content model even further -->
+  <define name="map.match.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <attribute name="pattern"/>
+  </define>
+
+  <define name="map.select">
+    <element name="map:select">
+      <ref name="map.select.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+      <zeroOrMore>
+        <ref name="map.when"/>
+      </zeroOrMore>
+      <optional>
+        <ref name="map.otherwise"/>
+      </optional>
+    </element>
+      <sch:pattern name="Test constraints on map:match and map:select">
+        <sch:rule context="xmap:match|xmap:when|xmap:otherwise[*]">
+          <sch:assert test="*[namespace-uri()=namespace-uri(/xmap:sitemap)
+                                 and (local-name()='generate' or 
local-name()='transform'
+                                   or local-name()='serialize' or 
local-name()='aggregate'
+                                   or local-name()='read' or 
local-name()='redirect-to'
+                                   or local-name()='act' or 
local-name()='match' or local-name()='select' 
+                                   or local-name()='mount' or 
local-name()='call')
+                     ]">
+            map:match|select without direct components, or 
map:mount|redirect-to|call|act|match|select is illegal
+          </sch:assert>
+        </sch:rule>
+      </sch:pattern>
+  </define>
+  <define name="map.select.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+  </define>
+
+  <define name="map.when">
+    <element name="map:when">
+      <ref name="map.when.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.when.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="test"/>
+  </define>
+
+  <define name="map.otherwise">
+    <element name="map:otherwise">
+      <ref name="map.otherwise.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+  </define>
+  <define name="map.otherwise.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="autoCachingPoint">
+    <element name="autoCachingPoint">
+      <ref name="autoCachingPoint.attlist"/>
+      <choice>
+        <value>on</value>
+        <value>On</value>
+        <value>off</value>
+        <value>Off</value>
+      </choice>
+    </element>
+  </define>
+  <define name="autoCachingPoint.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="map.mount">
+    <element name="map:mount">
+      <ref name="map.mount.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.mount.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="uri-prefix"/>
+    <ref name="src.attr"/>
+    <optional>
+      <attribute name="reload-method" a:defaultValue="asynchron">
+        <choice>
+          <value>synchron</value>
+          <value>asynchron</value>
+        </choice>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="check-reload" a:defaultValue="no">
+        <choice>
+          <value>true</value>
+          <value>false</value>
+          <value>yes</value>
+          <value>no</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="map.redirect-to">
+    <element name="map:redirect-to">
+      <ref name="map.redirect-to.attlist"/>
+      <empty/>
+    </element>
+  </define>
+<!-- CH: redirects to resources are now deprecated -->
+<!-- CPA: attributes confirmed by inspection of RedirectToNodeBuilder -->
+  <define name="map.redirect-to.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="opturi.attr"/>
+    <ref name="resource.attr"/>
+    <optional>
+      <attribute name="target"/>
+    </optional>
+    <optional>
+      <attribute name="session" a:defaultValue="no">
+        <choice>
+          <value>true</value>
+          <value>false</value>
+          <value>yes</value>
+          <value>no</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+
+  <define name="map.call">
+    <element name="map:call">
+      <ref name="map.call.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="map.call.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+      <ref name="resource.attr"/>
+      <optional><attribute name="function"/></optional>
+      <optional><attribute name="continuation"/></optional>
+  </define>
+
+  <define name="map.generate">
+    <element name="map:generate">
+      <ref name="map.generate.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.generate.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="label.attr"/>
+  </define>
+
+  <define name="map.transform">
+    <element name="map:transform">
+      <ref name="map.transform.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.transform.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="label.attr"/>
+  </define>
+
+  <define name="map.read">
+    <element name="map:read">
+      <ref name="map.read.attlist"/>
+      <zeroOrMore>
+        <ref name="map.parameter"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.read.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="mime.attr"/>
+    <ref name="type.attr"/>
+  </define>
+
+  <define name="map.aggregate">
+    <element name="map:aggregate">
+      <ref name="map.aggregate.attlist"/>
+      <zeroOrMore>
+        <ref name="map.part"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="map.aggregate.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="aggregate.attr"/>
+    <ref name="label.attr"/>
+  </define>
+
+  <define name="map.part">
+    <element name="map:part">
+      <ref name="map.part.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.part.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="optsrc.attr"/>
+    <ref name="label.attr"/>
+    <ref name="aggregate.attr"/>
+    <optional>
+      <attribute name="strip-root"/>
+    </optional>
+  </define>
+
+  <define name="map.handle-errors">
+    <element name="map:handle-errors">
+      <ref name="map.handle-errors.attlist"/>
+      <ref name="pipe.contents"/>
+    </element>
+      <sch:pattern name="Test constraints on map:handle-errors">
+        <sch:rule context="xmap:handle-errors">
+          <sch:assert test="not(*[namespace-uri()=namespace-uri(/xmap:sitemap) 
+                   and (local-name()='generate' or local-name()='mount')])">
+            Error handler can't have: map:generate or map:mount.
+          </sch:assert>
+          <sch:assert test="*[namespace-uri()=namespace-uri(/xmap:sitemap) 
+                   and (local-name()='serialize' or local-name()='call')]">
+            Error handler must have map:serialize or map:call.
+          </sch:assert>
+        </sch:rule>
+        <sch:rule context="xmap:handle-errors//xmap:serialize">
+          <sch:assert 
test="not(following-sibling::*[namespace-uri()=namespace-uri(/xmap:sitemap)])">
+            Error handler can not have any components after map:serialize
+          </sch:assert>
+        </sch:rule>
+      </sch:pattern>
+  </define>
+
+  <define name="map.handle-errors.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="type.attr"/>
+  </define>
+
+  <define name="map.component-configurations">
+    <element name="map:component-configurations">
+      <ref name="map.component-configurations.attlist"/>
+      <optional>
+        <ref name="global-variables"/>
+      </optional>
+      <optional>
+        <ref name="authentication-manager"/>
+      </optional>
+    </element>
+  </define>
+  <define name="map.component-configurations.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+<!-- CPA: global-variables needs contents TODO -->
+  <define name="global-variables">
+    <element name="global-variables">
+      <ref name="global-variables.attlist"/>
+      <text/> <!-- CPA: can't find anywhere in source -->
+    </element>
+  </define>
+  <define name="global-variables.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="authentication-manager">
+    <element name="authentication-manager">
+      <ref name="authentication-manager.attlist"/>
+      <ref name="handlers"/>
+    </element>
+  </define>
+  <define name="authentication-manager.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="handlers">
+    <element name="handlers">
+      <ref name="handlers.attlist"/>
+      <oneOrMore>
+        <ref name="handler"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="handlers.attlist" combine="interleave">
+    <empty/>
+  </define>
+
+  <define name="handler">
+    <element name="handler">
+      <ref name="handler.attlist"/>
+      <ref name="redirect-to"/>
+      <ref name="authentication"/>
+      <optional>
+        <ref name="applications"/>
+      </optional>
+    </element>
+  </define>
+  <define name="handler.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+    <empty/>
+  </define>
+
+  <define name="redirect-to">
+    <element name="redirect-to">
+      <ref name="redirect-to.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="redirect-to.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="authentication">
+    <element name="authentication">
+      <ref name="authentication.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="authentication.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="applications">
+    <element name="applications">
+      <ref name="applications.attlist"/>
+      <oneOrMore>
+        <ref name="application"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="applications.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="application">
+    <element name="application">
+      <ref name="application.attlist"/>
+      <oneOrMore>
+        <ref name="configuration"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="application.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="loadondemand"/>
+    <ref name="name.attr"/>
+  </define>
+
+  <define name="configuration">
+    <element name="configuration">
+      <ref name="configuration.attlist"/>
+      <zeroOrMore> <!-- CPA: not sure - maybe interleave optionals? TODO -->
+        <choice>
+          <ref name="auth-redirect"/>
+          <ref name="portal-uri"/>
+          <ref name="profile-cache"/>
+          <ref name="default-coplet-timeout"/>
+          <ref name="profile"/>
+          <ref name="load-users"/>
+          <ref name="load-roles"/>
+          <ref name="new-user"/>
+          <ref name="new-role"/>
+          <ref name="change-user"/>
+          <ref name="delete-role"/>
+          <ref name="delete-user"/>
+          <ref name="process-coplets-parallel"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="configuration.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="name.attr"/>
+  </define>
+
+  <define name="auth-redirect">
+    <element name="auth-redirect">
+      <ref name="auth-redirect.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="auth-redirect.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="portal-uri">
+    <element name="portal-uri">
+      <ref name="portal-uri.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="portal-uri.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="profile-cache">
+    <element name="profile-cache">
+      <ref name="profile-cache.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="profile-cache.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="default-coplet-timeout">
+    <element name="default-coplet-timeout">
+      <ref name="default-coplet-timeout.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="default-coplet-timeout.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="process-coplets-parallel">
+    <element name="process-coplets-parallel">
+      <ref name="process-coplets-parallel.attlist"/>
+      <text/>
+    </element>
+  </define>
+  <define name="process-coplets-parallel.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="profile">
+    <element name="profile">
+      <ref name="profile.attlist"/>
+      <ref name="layout-base"/>
+      <ref name="coplet-base"/>
+      <ref name="coplet-base-save"/>
+      <ref name="type-base"/>
+      <ref name="admin-type-base"/>
+      <ref name="global-delta-load"/>
+      <ref name="global-delta-save"/>
+      <ref name="role-delta-load"/>
+      <ref name="role-delta-save"/>
+      <ref name="user-delta-load"/>
+      <ref name="user-delta-save"/>
+      <ref name="user-status-load"/>
+      <ref name="user-status-save"/>
+    </element>
+  </define>
+  <define name="profile.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="layout-base">
+    <element name="layout-base">
+      <ref name="layout-base.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="layout-base.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="coplet-base">
+    <element name="coplet-base">
+      <ref name="coplet-base.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="coplet-base.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="coplet-base-save">
+    <element name="coplet-base-save">
+      <ref name="coplet-base-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="coplet-base-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="type-base">
+    <element name="type-base">
+      <ref name="type-base.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="type-base.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="admin-type-base">
+    <element name="admin-type-base">
+      <ref name="admin-type-base.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="admin-type-base.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="global-delta-load">
+    <element name="global-delta-load">
+      <ref name="global-delta-load.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="global-delta-load.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="global-delta-save">
+    <element name="global-delta-save">
+      <ref name="global-delta-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="global-delta-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="role-delta-load">
+    <element name="role-delta-load">
+      <ref name="role-delta-load.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="role-delta-load.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="role-delta-save">
+    <element name="role-delta-save">
+      <ref name="role-delta-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="role-delta-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="user-delta-load">
+    <element name="user-delta-load">
+      <ref name="user-delta-load.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="user-delta-load.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="user-delta-save">
+    <element name="user-delta-save">
+      <ref name="user-delta-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="user-delta-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="user-status-load">
+    <element name="user-status-load">
+      <ref name="user-status-load.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="user-status-load.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="user-status-save">
+    <element name="user-status-save">
+      <ref name="user-status-save.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="user-status-save.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="load-users">
+    <element name="load-users">
+      <ref name="load-users.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="load-users.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+  <define name="load-roles">
+    <element name="load-roles">
+      <ref name="load-roles.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="load-roles.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="new-user">
+    <element name="new-user">
+      <ref name="new-user.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="new-user.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="new-role">
+    <element name="new-role">
+      <ref name="new-role.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="new-role.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="change-user">
+    <element name="change-user">
+      <ref name="change-user.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="change-user.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="delete-user">
+    <element name="delete-user">
+      <ref name="delete-user.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="delete-user.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="delete-role">
+    <element name="delete-role">
+      <ref name="delete-role.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="delete-role.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="uri.attr"/>
+  </define>
+
+  <define name="map.flow-interpreters">
+    <element name="map:flow-interpreters">
+      <ref name="map.flow-interpreters.attlist"/>
+      <empty/>
+<!-- CPA: presumably it should NOT be empty for non-default usage, so this -->
+<!--      needs correcting, but I cannot find source code that clarifies -->
+    </element>
+  </define>
+  <define name="map.flow-interpreters.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="default"/>
+  </define>
+
+  <define name="map.flow">
+    <element name="map:flow">
+      <ref name="map.flow.attlist"/>
+      <ref name="map.script"/>
+    </element>
+  </define>
+  <define name="map.flow.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <attribute name="language"/>
+  </define>
+
+  <define name="map.script">
+    <element name="map:script">
+      <ref name="map.script.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="map.script.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+    <ref name="src.attr"/>
+  </define>
+
+  <define name="include-name">
+    <element name="include-name">
+      <ref name="include-name.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="include-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="exclude-name">
+    <element name="exclude-name">
+      <ref name="exclude-name.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="exclude-name.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="method">
+    <element name="method">
+      <ref name="method.attlist"/>
+      <data type="string" /> 
+      <!-- CPA: should be xml, or html, or text or an expanded name -->
+    </element>
+  </define>
+  <define name="method.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-cookies">
+    <element name="use-cookies" a:defaultValue="false" >
+      <ref name="use-cookies.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-cookies.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="untranslated-text">
+    <element name="untranslated-text">
+      <ref name="untranslated-text.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="untranslated-text.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="media-type">
+    <element name="media-type">
+      <ref name="media-type.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="media-type.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="version">
+    <element name="version">
+      <ref name="version.attlist"/>
+      <data type="NMTOKEN" /> <!-- CPA: but actually a floating point version 
number -->
+    </element>
+  </define>
+  <define name="version.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="transformer-factory">
+    <element name="transformer-factory" a:defaultValue="default">
+      <ref name="transformer-factory.attlist"/>
+      <data type="string" />
+    </element>
+  </define>
+  <define name="transformer-factory.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="use-session-info">
+    <element name="use-session-info"  a:defaultValue="false" >
+      <ref name="use-session-info.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="use-session-info.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="incremental-processing">
+  <!-- CPA: from  XSLTProcessorImpl.java -->  
+    <element name="incremental-processing" a:defaultValue="false" >
+      <ref name="incremental-processing.attlist"/>
+      <choice>
+        <value>true</value>
+        <value>false</value>
+      </choice>
+    </element>
+  </define>
+  <define name="incremental-processing.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="indent">
+    <element name="indent">
+      <ref name="indent.attlist"/>
+      <choice>
+        <value>yes</value>
+        <value>no</value>
+      </choice>
+    </element>
+  </define>
+  <define name="indent.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="set-content-length">
+    <element name="set-content-length">
+      <ref name="set-content-length.attlist"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="set-content-length.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+  <define name="standalone">
+    <element name="standalone">
+      <ref name="standalone.attlist"/>
+      <choice>
+        <value>yes</value>
+        <value>no</value>
+      </choice>
+    </element>
+  </define>
+  <define name="standalone.attlist" combine="interleave">
+    <ref name="universal.attr"/>
+  </define>
+
+
+  <start>
+    <ref name="map.sitemap"/>
+  </start>
+</grammar>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/skinconf.rnc
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/skinconf.rnc 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,58 @@
+
+# Skin configuration file. This file contains details of your project, which
+# will be used to configure the chosen Forrest skin.
+
+start      = skinconfig
+
+skinconfig = element skinconfig {
+            (
+            element disable-search {xsd:boolean}?,   # Disable search feature. 
'true' or 'false'
+            element disable-print-link{xsd:boolean}?,   # Disable print link 
feature. 'true' or 'false'
+            element disable-pdf-link{xsd:boolean}?,   # Disable print link 
feature. 'true' or 'false'
+            element disable-xml-link{xsd:boolean}?,   # Disable print link 
feature. 'true' or 'false'
+            element disable-compliance-links {xsd:boolean}?,   # Disable 
standards-compliance logos
+            element obfuscate-mail-links {xsd:boolean}?,   # Render mailto: 
links unrecognisable by spam harvesters
+            element searchsite-domain {text}?,       # DNS domain to search. 
Eg 'xml.apache.org'
+            element searchsite-name {text}?,         # "Search the ... site"
+            element project-name {text},             # Eg 'Forrest'
+            element project-description {text}?,      # Eg 'XML 
standards-oriented project documentation framework'
+            element project-url {xsd:anyURI},    
+            element project-logo {text},             # Eg 
'images/project-logo.gif'
+            element group-name {text}?,              # Group/Organization 
owning project, eg 'Apache XML'
+            element group-description {text}?,       # 
+            element group-url {xsd:anyURI}?,
+            element group-logo {text}?,              # Eg images/group-logo.gif
+            element host-url {xsd:anyURI}?,          # Eg Sourceforge URL
+            element host-logo {text}?,
+            element year {text}?,                    # Used in Copyright
+            element vendor {text}?,                  # Used in Copyright
+            trail?,                                  # 'Breadcrumbs' trail in 
skins that support it
+            element toc {(attribute level {text})}?, # toc generation
+            credits?
+            )*
+           }
+
+trail   =  element trail {
+             element link1 { link_attrs },
+             element link2 { link_attrs },
+             element link3 { link_attrs }
+           }
+
+link_attrs = (attribute name {text}, attribute href {text}?)  # Leave these 
attributes blank if you don't want a trail
+
+
+## Credits are typically rendered as a set of small clickable images in the
+## page footer 
+credits = element credits { credit* }
+credit  = element credit {
+## Unique identifier, in case the skin has some special rendering for it
+            attribute id {text}?,
+## Role played by this creditee, eg 'pdf' for PDF generation
+                       attribute role {text}?,
+            element name {text},             # Eg 'Built with Apache Forrest'
+            element url {text},
+            element image {xsd:anyURI}?,     # Eg 
'images/built-with-forrest-button.png'
+            element width {xsd:nonNegativeInteger}?,
+            element height {xsd:nonNegativeInteger}?
+          }
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/any.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/any.rng
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+A RELAX NG schema that matches the (ANY) content type. Useful for prototyping,
+where you don't (yet) care what an element contains. Include it in another RNG
+schema with this line:
+
+<include href="any.rng"/>
+
+Taken from an email to XML-DEV by John Cowan, Subject "Re: [xml-dev] Quick
+RelaxNG question"
+
+$Revision: 1.1 $ $Date: 2002/11/07 06:37:02 $
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"; 
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";>
+  <start>
+    <element>
+      <anyName/>
+      <ref name="ANY"/>
+    </element>
+  </start>
+  <define name="ANY">
+    <interleave>
+      <zeroOrMore>
+        <attribute>
+          <anyName/>
+          <text/>
+        </attribute>
+      </zeroOrMore>
+      <zeroOrMore>
+        <element>
+          <anyName/>
+          <ref name="ANY"/>
+        </element>
+      </zeroOrMore>
+      <text/>
+    </interleave>
+  </define>
+</grammar>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/any.rnx
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/any.rnx
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,18 @@
+# A RELAX NG schema that matches any XML. Useful for prototyping, where you
+# don't (yet) care what an element contains. Include it in another RNG schema
+# with this line:
+# 
+# <include href="any.rng"/>  (.rng syntax)
+# or: 
+# include "any.rnx"          (.rnx syntax)
+# 
+# Taken from an email to XML-DEV by John Cowan, Subject "Re: [xml-dev] Quick
+# RelaxNG question"
+# 
+# $Revision: 1.1 $ $Date: 2002/11/07 06:37:02 $
+# Jeff Turner <[EMAIL PROTECTED]>
+
+# start = element * { any }
+
+any = attribute * { text }* |
+      element * { any }*

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/forrestbot.rng
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/forrestbot.rng
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"; 
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";>
+  <include href="any.rng"/>
+
+  <start>
+    <ref name="forrest-config"/>
+  </start>
+
+
+  <define name="forrest-config">
+    <element name="forrest-config">
+      <ref name="defaults"/>
+    </element>
+  </define>
+
+
+  <define name="defaults">
+    <element name="defaults">
+      <zeroOrMore>
+        <element>
+          <anyName/>
+          <optional>
+            <attribute name="type"/>
+          </optional>
+          <zeroOrMore>
+            <element>
+              <anyName/>
+              <ref name="ANY"/>
+            </element>
+          </zeroOrMore>
+        </element>
+      </zeroOrMore>
+      <!--
+      <ref name="ANY"/>
+      -->
+    </element>
+  </define>
+
+</grammar>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/forrestbot.rnx
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/unstable/forrestbot.rnx
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,19 @@
+# $Revision: 1.1 $ $Date: 2002/11/07 06:37:02 $
+# Jeff Turner <[EMAIL PROTECTED]>
+
+datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes";
+
+include "any.rnx"
+
+start =             forrest-config
+forrest-config =    element forrest-config {
+                      defaults,
+                      any
+                    }
+
+defaults =          element defaults {
+                      element * {
+                        attribute type {text}?,
+                        element * { any }*
+                      }*
+                    }

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/xslt.rng
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/relaxng/xslt.rng 
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,897 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Id: xslt.rng,v 1.9 2002/05/23 09:39:03 jjc Exp $ -->
+<!-- http://www.thaiopensource.com/relaxng/xslt.rng -->
+<!-- This was mostly generated from the syntax summary in the XSLT
+     Recommendation (using XSLT of course). -->
+<!-- Issues: this validates extension elements as literal result
+     elements, which is overly restrictive. -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0";
+         ns="http://www.w3.org/1999/XSL/Transform";
+         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";>
+   <start>
+      <choice>
+         <ref name="stylesheet.element"/>
+         <ref name="transform.element"/>
+         <ref name="literal-result-element-as-stylesheet"/>
+      </choice>
+   </start>
+   <define name="version">
+      <value>1.0</value>
+   </define>
+   <define name="top-level-elements.model">
+      <zeroOrMore>
+         <choice>
+            <ref name="top-level-element.category"/>
+            <ref name="top-level-extension"/>
+         </choice>
+      </zeroOrMore>
+   </define>
+   <define name="top-level-extension">
+      <element>
+         <anyName>
+            <except>
+               <nsName/>
+               <nsName ns=""/>
+            </except>
+         </anyName>
+         <grammar>
+            <start>
+              <ref name="any"/>
+            </start>
+            <define name="any">
+              <zeroOrMore>
+                 <choice>
+                    <attribute>
+                       <anyName/>
+                    </attribute>
+                    <text/>
+                    <element>
+                       <anyName/>
+                       <ref name="any"/>
+                    </element>
+                 </choice>
+              </zeroOrMore>
+            </define>
+         </grammar>
+      </element>
+   </define>
+   <define name="template.model">
+      <zeroOrMore>
+         <choice>
+            <ref name="instruction.category"/>
+            <ref name="literal-result-element"/>
+            <text/>
+         </choice>
+      </zeroOrMore>
+   </define>
+   <define name="literal-result-element-as-stylesheet">
+      <element>
+         <anyName>
+            <except>
+               <nsName/>
+            </except>
+         </anyName>
+         <attribute>
+            <name>version</name>
+            <ref name="version"/>
+         </attribute>
+         <ref name="literal-result-element-no-version.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="literal-result-element">
+      <element>
+         <anyName>
+            <except>
+               <nsName/>
+            </except>
+         </anyName>
+         <ref name="literal-result-element.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="literal-result-element.atts">
+      <ref name="literal-result-element-no-version.atts"/>
+      <optional>
+        <attribute>
+           <name>version</name>
+           <ref name="version"/>
+        </attribute>
+      </optional>
+   </define>
+   <define name="literal-result-element-no-version.atts">
+      <zeroOrMore>
+         <choice>
+            <attribute>
+              <anyName>
+                 <except>
+                    <nsName/>
+                 </except>
+              </anyName>
+               <ref name="avt.datatype"/>
+            </attribute>
+            <attribute>
+               <name>extension-element-prefixes</name>
+               <ref name="prefixes.datatype"/>
+           </attribute>
+            <attribute>
+               <name>exclude-result-prefixes</name>
+               <ref name="prefixes.datatype"/>
+           </attribute>
+            <attribute>
+               <name>use-attribute-sets</name>
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </choice>
+      </zeroOrMore>
+   </define>
+   <define name="top-level-element.category">
+      <choice>
+         <ref name="include.element"/>
+         <ref name="strip-space.element"/>
+         <ref name="preserve-space.element"/>
+         <ref name="template.element"/>
+         <ref name="namespace-alias.element"/>
+         <ref name="attribute-set.element"/>
+         <ref name="variable.element"/>
+         <ref name="param.element"/>
+         <ref name="key.element"/>
+         <ref name="decimal-format.element"/>
+         <ref name="output.element"/>
+      </choice>
+   </define>
+   <define name="instruction.category">
+      <choice>
+         <ref name="apply-templates.element"/>
+         <ref name="apply-imports.element"/>
+         <ref name="call-template.element"/>
+         <ref name="element.element"/>
+         <ref name="attribute.element"/>
+         <ref name="text.element"/>
+         <ref name="processing-instruction.element"/>
+         <ref name="comment.element"/>
+         <ref name="copy.element"/>
+         <ref name="value-of.element"/>
+         <ref name="number.element"/>
+         <ref name="for-each.element"/>
+         <ref name="if.element"/>
+         <ref name="choose.element"/>
+         <ref name="variable.element"/>
+         <ref name="copy-of.element"/>
+         <ref name="message.element"/>
+         <ref name="fallback.element"/>
+      </choice>
+   </define>
+   <define name="extension.atts">
+      <zeroOrMore>
+         <attribute>
+            <anyName>
+               <except>
+                  <nsName/>
+                  <nsName ns=""/>
+               </except>
+            </anyName>
+         </attribute>
+      </zeroOrMore>
+   </define>
+   <define name="stylesheet.element">
+      <element name="stylesheet">
+         <ref name="stylesheet.model"/>
+      </element>
+   </define>
+   <define name="transform.element">
+      <element name="transform">
+         <ref name="stylesheet.model"/>
+      </element>
+   </define>
+   <define name="stylesheet.model">
+      <ref name="extension.atts"/>
+      <optional>
+        <attribute name="id">
+           <data type="NCName"/>
+        </attribute>
+      </optional>
+      <optional>
+        <attribute name="extension-element-prefixes">
+            <ref name="prefixes.datatype"/>
+        </attribute>
+      </optional>
+      <optional>
+        <attribute name="exclude-result-prefixes">
+            <ref name="prefixes.datatype"/>
+        </attribute>
+      </optional>
+      <attribute name="version">
+        <ref name="version"/>
+      </attribute>
+      <group>
+        <zeroOrMore>
+           <ref name="import.element"/>
+        </zeroOrMore>
+        <ref name="top-level-elements.model"/>
+      </group>
+   </define>
+   <define name="include.element">
+      <element name="include">
+         <ref name="extension.atts"/>
+         <attribute name="href">
+            <data type="anyURI"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="import.element">
+      <element name="import">
+         <ref name="extension.atts"/>
+         <attribute name="href">
+            <data type="anyURI"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="strip-space.element">
+      <element name="strip-space">
+         <ref name="extension.atts"/>
+         <attribute name="elements">
+            <ref name="wildcards.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="preserve-space.element">
+      <element name="preserve-space">
+         <ref name="extension.atts"/>
+         <attribute name="elements">
+            <ref name="wildcards.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="template.element">
+      <element name="template">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="match">
+               <ref name="pattern.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="name">
+               <ref name="qname.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="priority">
+               <ref name="number.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="mode">
+               <ref name="qname.datatype"/>
+            </attribute>
+         </optional>
+         <group>
+            <zeroOrMore>
+               <ref name="param.element"/>
+            </zeroOrMore>
+            <ref name="template.model"/>
+         </group>
+      </element>
+   </define>
+   <define name="apply-templates.element">
+      <element name="apply-templates">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="mode">
+               <ref name="qname.datatype"/>
+            </attribute>
+         </optional>
+         <zeroOrMore>
+            <choice>
+               <ref name="sort.element"/>
+               <ref name="with-param.element"/>
+            </choice>
+         </zeroOrMore>
+      </element>
+   </define>
+   <define name="apply-imports.element">
+      <element name="apply-imports">
+         <ref name="extension.atts"/>
+      </element>
+   </define>
+   <define name="call-template.element">
+      <element name="call-template">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <zeroOrMore>
+            <ref name="with-param.element"/>
+         </zeroOrMore>
+      </element>
+   </define>
+   <define name="namespace-alias.element">
+      <element name="namespace-alias">
+         <ref name="extension.atts"/>
+         <attribute name="stylesheet-prefix">
+            <ref name="prefix.datatype"/>
+         </attribute>
+         <attribute name="result-prefix">
+            <ref name="prefix.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="element.element">
+      <element name="element">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <choice>
+               <ref name="qname.datatype"/>
+               <ref name="expr-avt.datatype"/>
+            </choice>
+         </attribute>
+         <optional>
+            <attribute name="namespace">
+               <choice>
+                  <data type="anyURI"/>
+                  <ref name="brace-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="use-attribute-sets">
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </optional>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="attribute.element">
+      <element name="attribute">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <choice>
+               <ref name="qname.datatype"/>
+               <ref name="expr-avt.datatype"/>
+            </choice>
+         </attribute>
+         <optional>
+            <attribute name="namespace">
+               <choice>
+                  <data type="anyURI"/>
+                  <ref name="brace-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="attribute-set.element">
+      <element name="attribute-set">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <optional>
+            <attribute name="use-attribute-sets">
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </optional>
+         <zeroOrMore>
+            <ref name="attribute.element"/>
+         </zeroOrMore>
+      </element>
+   </define>
+   <define name="text.element">
+      <element name="text">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="disable-output-escaping">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <text/>
+      </element>
+   </define>
+   <define name="processing-instruction.element">
+      <element name="processing-instruction">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <choice>
+               <data type="NCName"/>
+               <ref name="expr-avt.datatype"/>
+            </choice>
+         </attribute>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="comment.element">
+      <element name="comment">
+         <ref name="extension.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="copy.element">
+      <element name="copy">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="use-attribute-sets">
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </optional>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="value-of.element">
+      <element name="value-of">
+         <ref name="extension.atts"/>
+         <attribute name="select">
+            <ref name="expression.datatype"/>
+         </attribute>
+         <optional>
+            <attribute name="disable-output-escaping">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="number.element">
+      <element name="number">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="level">
+               <choice>
+                  <value type="string">single</value>
+                  <value type="string">multiple</value>
+                  <value type="string">any</value>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="count">
+               <ref name="pattern.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="from">
+               <ref name="pattern.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="value">
+               <ref name="expression.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="format">
+               <ref name="avt.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="lang">
+               <choice>
+                  <data type="NMTOKEN"/>
+                  <ref name="expr-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="letter-value">
+              <choice>
+                 <value type="string">alphabetic</value>
+                 <value type="string">traditional</value>
+                 <ref name="expr-avt.datatype"/>
+              </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="grouping-separator">
+               <choice>
+                  <ref name="char.datatype"/>
+                  <ref name="expr-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="grouping-size">
+               <choice>
+                  <ref name="number.datatype"/>
+                  <ref name="expr-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="for-each.element">
+      <element name="for-each">
+         <ref name="extension.atts"/>
+         <attribute name="select">
+            <ref name="expression.datatype"/>
+         </attribute>
+         <group>
+            <zeroOrMore>
+               <ref name="sort.element"/>
+            </zeroOrMore>
+            <ref name="template.model"/>
+         </group>
+      </element>
+   </define>
+   <define name="if.element">
+      <element name="if">
+         <ref name="extension.atts"/>
+         <attribute name="test">
+            <ref name="expression.datatype"/>
+         </attribute>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="choose.element">
+      <element name="choose">
+         <ref name="extension.atts"/>
+         <group>
+            <oneOrMore>
+               <ref name="when.element"/>
+            </oneOrMore>
+            <optional>
+               <ref name="otherwise.element"/>
+            </optional>
+         </group>
+      </element>
+   </define>
+   <define name="when.element">
+      <element name="when">
+         <ref name="extension.atts"/>
+         <attribute name="test">
+            <ref name="expression.datatype"/>
+         </attribute>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="otherwise.element">
+      <element name="otherwise">
+         <ref name="extension.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="sort.element">
+      <element name="sort">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="lang">
+               <choice>
+                  <data type="NMTOKEN"/>
+                  <ref name="expr-avt.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="data-type">
+              <choice>
+                 <value type="string">text</value>
+                 <value type="string">number</value>
+                 <ref name="qname-but-not-ncname.datatype"/>
+                 <ref name="expr-avt.datatype"/>
+              </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="order">
+              <choice>
+                 <value type="string">ascending</value>
+                 <value type="string">descending</value>
+                 <ref name="expr-avt.datatype"/>
+              </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="case-order">
+              <choice>
+                 <value type="string">upper-first</value>
+                 <value type="string">lower-first</value>
+                 <ref name="expr-avt.datatype"/>
+              </choice>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="variable.element">
+      <element name="variable">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <choice>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+            <ref name="template.model"/>
+         </choice>
+      </element>
+   </define>
+   <define name="param.element">
+      <element name="param">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <choice>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+            <ref name="template.model"/>
+         </choice>
+      </element>
+   </define>
+   <define name="copy-of.element">
+      <element name="copy-of">
+         <ref name="extension.atts"/>
+         <attribute name="select">
+            <ref name="expression.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="with-param.element">
+      <element name="with-param">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <choice>
+            <attribute name="select">
+               <ref name="expression.datatype"/>
+            </attribute>
+            <ref name="template.model"/>
+         </choice>
+      </element>
+   </define>
+   <define name="key.element">
+      <element name="key">
+         <ref name="extension.atts"/>
+         <attribute name="name">
+            <ref name="qname.datatype"/>
+         </attribute>
+         <attribute name="match">
+            <ref name="pattern.datatype"/>
+         </attribute>
+         <attribute name="use">
+            <ref name="expression.datatype"/>
+         </attribute>
+      </element>
+   </define>
+   <define name="decimal-format.element">
+      <element name="decimal-format">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="name">
+               <ref name="qname.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="decimal-separator">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="grouping-separator">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="infinity">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="minus-sign">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="NaN">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="percent">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="per-mille">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="zero-digit">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="digit">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="pattern-separator">
+               <ref name="char.datatype"/>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="message.element">
+      <element name="message">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="terminate">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="fallback.element">
+      <element name="fallback">
+         <ref name="extension.atts"/>
+         <ref name="template.model"/>
+      </element>
+   </define>
+   <define name="output.element">
+      <element name="output">
+         <ref name="extension.atts"/>
+         <optional>
+            <attribute name="method">
+               <choice>
+                  <value type="string">xml</value>
+                  <value type="string">html</value>
+                  <value type="string">text</value>
+                  <ref name="qname-but-not-ncname.datatype"/>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="version">
+               <data type="NMTOKEN"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="encoding">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="omit-xml-declaration">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="standalone">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="doctype-public">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="doctype-system">
+               <text/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="cdata-section-elements">
+               <ref name="qnames.datatype"/>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="indent">
+               <choice>
+                  <value type="string">yes</value>
+                  <value type="string">no</value>
+               </choice>
+            </attribute>
+         </optional>
+         <optional>
+            <attribute name="media-type">
+               <text/>
+            </attribute>
+         </optional>
+      </element>
+   </define>
+   <define name="prefixes.datatype">
+      <list>
+         <zeroOrMore>
+            <choice>
+               <data type="NCName"/>
+               <value>#default</value>
+            </choice>
+         </zeroOrMore>
+      </list>
+   </define>
+   <define name="prefix.datatype">
+      <choice>
+        <data type="NCName"/>
+        <value>#default</value>
+      </choice>
+   </define>
+   <define name="wildcards.datatype">
+      <list>
+         <zeroOrMore>
+           <choice>
+              <data type="QName"/>
+              <data type="token">
+                 <param name="pattern">\*|\i\c*:\*</param>
+              </data>
+           </choice>
+         </zeroOrMore>
+      </list> 
+   </define>
+   <define name="qname.datatype">
+      <data type="QName"/>
+   </define>
+   <define name="qnames.datatype">
+      <list>
+         <zeroOrMore>
+            <data type="QName"/>
+         </zeroOrMore>
+      </list>
+   </define>
+   <define name="char.datatype">
+      <data type="string">
+         <param name="length">1</param>
+      </data>
+   </define>
+   <define name="number.datatype">
+      <data type="decimal"/>
+   </define>
+   <define name="expression.datatype">
+      <text/>
+   </define>
+   <define name="pattern.datatype">
+      <text/>
+   </define>
+   <define name="qname-but-not-ncname.datatype">
+      <data type="QName">
+        <param name="pattern">.*:.*</param>
+      </data>
+   </define>
+   <!-- An AVT containing at least one expression. -->
+   <define name="expr-avt.datatype">
+      <data type="string">
+         <param 
name="pattern">([^\{\}]|\{\{|\}\})*\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\}([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+      </data>
+   </define>
+   <!-- An AVT containing at least one brace; ie where instantiated AVT
+        is not the same as the literal AVT. -->
+   <define name="brace-avt.datatype">
+      <data type="string">
+         <param 
name="pattern">[^\{\}]*(\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+      </data>
+   </define>
+   <define name="avt.datatype">
+      <data type="string">
+         <param 
name="pattern">([^\{\}]|\{\{|\}\}|\{([^&#34;'\{\}]|&#34;[^&#34;]*&#34;|'[^']*')+\})*</param>
+      </data>
+   </define>
+</grammar>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbcent.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbcent.mod
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,67 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook Character Entity Module V1.0 ...................... -->
+<!-- File sinclist.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: sdbcent.mod,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!ENTITY % ISOamsa.module "IGNORE">
+<!ENTITY % ISOamsb.module "IGNORE">
+<!ENTITY % ISOamsc.module "IGNORE">
+<!ENTITY % ISOamsn.module "IGNORE">
+<!ENTITY % ISOamso.module "IGNORE">
+<!ENTITY % ISOamsr.module "IGNORE">
+<!ENTITY % ISObox.module "IGNORE">
+<!ENTITY % ISOcyr1.module "IGNORE">
+<!ENTITY % ISOcyr2.module "IGNORE">
+<!ENTITY % ISOdia.module "IGNORE">
+<!ENTITY % ISOgrk1.module "IGNORE">
+<!ENTITY % ISOgrk2.module "IGNORE">
+<!ENTITY % ISOgrk3.module "IGNORE">
+<!ENTITY % ISOgrk4.module "IGNORE">
+<!ENTITY % ISOlat1.module "IGNORE">
+<!ENTITY % ISOlat2.module "IGNORE">
+<!ENTITY % ISOnum.module "IGNORE">
+<!ENTITY % ISOpub.module "IGNORE">
+<!ENTITY % ISOtech.module "IGNORE">
+
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+"../../xmlcharent/iso-lat1.ent">
+%ISOlat1;
+
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+"../../xmlcharent/iso-num.ent">
+%ISOnum;
+
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN//XML"
+"../../xmlcharent/iso-pub.ent">
+%ISOpub;
+
+<!-- End of Simplified DocBook Character Entity Module V1.0 ............... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbhier.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbhier.mod
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,89 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook Hierarchy V1.0 .................................... -->
+<!-- File sdbhier.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: sdbhier.mod,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+
+<!ENTITY % bookcomponent.content
+       "((%divcomponent.mix;)+, section*)
+       | section+">
+
+<![ %include.refentry; [
+
+<!ENTITY % local.refinline.char.mix "">
+<!ENTITY % refinline.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+               %local.refinline.char.mix;">
+
+<!ENTITY % local.refcomponent.mix "">
+<!ENTITY % refcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+
+<!ELEMENT refentry (refentryinfo?, refmeta?, (%link.char.class;)*,
+                    refnamediv, refsynopsisdiv?, refsect1+)>
+
+<!ELEMENT refentryinfo ((mediaobject | legalnotice
+               | subjectset | keywordset
+                | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refmeta (refentrytitle, manvolnum?, refmiscinfo*)>
+
+<!ELEMENT refsect1info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refsect2info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refsect3info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refsynopsisdivinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+
+<!ELEMENT refnamediv (refdescriptor?, refname+, refpurpose, refclass*,
+               (%link.char.class;)*)>
+
+]]>
+
+<!-- End of Simplified DocBook Hierarchy V1.0 ............................. -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbpool.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdbpool.mod
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,203 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook Information Pool V1.0 ............................. -->
+<!-- File sdbpool.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: sdbpool.mod,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.component.mix;">
+
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.sidebar.mix;">
+
+<!ENTITY % local.qandaset.mix "">
+<!ENTITY % qandaset.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.qandaset.mix;">
+
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.revdescription.mix;">
+
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.footnote.mix;">
+
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.example.mix;">
+
+<!ENTITY % local.highlights.mix "">
+<!ENTITY % highlights.mix
+               "%list.class;           |%admon.class;
+               |%para.class;
+               %local.highlights.mix;">
+
+<!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;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.admon.mix;">
+
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+               "%linespecific.class;
+                                       |%informal.class;
+               %local.figure.mix;">
+
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |mediaobject
+               %local.tabentry.mix;">
+
+<!ENTITY % local.glossdef.mix "">
+<!ENTITY % glossdef.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.glossdef.mix;">
+
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.legalnotice.mix;">
+
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.textobject.mix;">
+
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+               "                        %admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+                                       |%descobj.class;
+               %local.listpreamble.mix;">
+
+<!-- Character-level mixtures ............................................. -->
+
+<!ENTITY % ubiq.exclusion "">
+<!ENTITY % ubiq.inclusion "">
+
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+                                       |%inlineobj.char.class;
+               %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;
+                                       |%docinfo.char.class;
+                                       |%inlineobj.char.class;
+               %local.title.char.mix;">
+
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+               "#PCDATA
+               |%link.char.class;      |%tech.char.class;
+                                       |inlinemediaobject
+               %local.cptr.char.mix;">
+
+<!ENTITY % local.smallcptr.char.mix "">
+<!ENTITY % smallcptr.char.mix
+               "#PCDATA
+                                       |replaceable
+                                       |inlinemediaobject
+               %local.smallcptr.char.mix;">
+
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+               "#PCDATA
+                                       |acronym|emphasis|trademark
+               |%link.char.class;
+                                       |inlinemediaobject
+               %local.word.char.mix;">
+
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+               "#PCDATA
+               |%link.char.class;
+                                       |emphasis|trademark
+                                       |replaceable
+                                       |inlinemediaobject
+               %local.docinfo.char.mix;">
+
+<!ENTITY % tbl.table.excep "">
+<!ENTITY % tbl.table.mdl
+       "(title, (mediaobject+|tgroup+))">
+
+<!ENTITY % programlisting.content "%para.char.mix; | lineannotation">
+
+<!-- End of Simplified DocBook Information Pool V1.0 ...................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook-custom.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook-custom.dtd
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,409 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook DTD V1.0 .......................................... -->
+<!-- File sdocbook-custom.dtd ............................................. -->
+
+<!-- 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: sdocbook-custom.dtd,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V1.0 of the Simplified DocBook XML DTD.
+     Please use the following formal public identifier to identify it:
+
+     "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+
+     For example:
+
+     <!DOCTYPE article
+               PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+      "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd";
+     [...]>
+-->
+
+<!-- ...................................................................... -->
+
+<!ENTITY % include.refentry "IGNORE">
+<![ %include.refentry; [
+<!ENTITY % exclude.refentry "IGNORE">
+<!ENTITY % refentry.element "IGNORE">
+<!ENTITY % refmeta.element "IGNORE">
+<!ENTITY % refnamediv.element "IGNORE">
+]]>
+<!ENTITY % exclude.refentry "INCLUDE">
+
+<!ENTITY % sinclist SYSTEM "sinclist.mod">
+%sinclist;
+
+<!ENTITY % ndxterm.class "">
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+               "itemizedlist|orderedlist
+               |variablelist %local.list.class;">
+
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+               "note %local.admon.class;">
+
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+               "literallayout|programlisting %local.linespecific.class;">
+
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+               "para %local.para.class;">
+
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+               "blockquote
+               |mediaobject
+               |informaltable %local.informal.class;">
+
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+               "example|figure|table %local.formal.class;">
+
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+               "sidebar %local.compound.class;">
+
+<!ENTITY % local.genobj.class "">
+<!ENTITY % 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|citetitle|emphasis|footnote|phrase
+               |quote|trademark %local.gen.char.class;">
+
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+               "link|ulink %local.link.char.class;">
+
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+               "command|computeroutput
+               |email|filename
+               |literal
+               |option
+               |replaceable
+               |systemitem|userinput
+               %local.tech.char.class;">
+
+<!ENTITY % local.base.char.class "">
+<!ENTITY % base.char.class "">
+
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+               "author|corpauthor|othercredit
+               |revhistory
+               %local.docinfo.char.class;">
+
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+               "inlinemediaobject %local.inlineobj.char.class;">
+
+<!ENTITY % local.effectivity.attrib "">
+<!ENTITY % effectivity.attrib 
+       "%local.effectivity.attrib;"
+>
+
+<!ENTITY % local.common.attrib "">
+<!ENTITY % common.attrib
+       "id             ID              #IMPLIED
+       lang            CDATA           #IMPLIED
+       revisionflag    (changed
+                       |added
+                       |deleted
+                       |off)           #IMPLIED
+       %local.common.attrib;"
+>
+
+<!ENTITY % idreq.common.attrib
+       "id             ID              #REQUIRED
+       lang            CDATA           #IMPLIED
+       revisionflag    (changed
+                       |added
+                       |deleted
+                       |off)           #IMPLIED
+       %local.common.attrib;"
+>
+
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+               "honorific|firstname|surname|lineage|othername|affiliation
+               |authorblurb
+               %local.person.ident.mix;">
+
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+               "abbrev|abstract|author
+               |authorgroup|bibliomisc
+               |copyright|corpauthor|date|edition
+               |editor|issuenum
+               |othercredit
+               |pubdate|publishername
+               |releaseinfo|revhistory
+               |subtitle|title|titleabbrev|volumenum|citetitle
+               |%person.ident.mix;
+               %local.bibliocomponent.mix;">
+
+<!ENTITY % local.info.class "">
+<!ENTITY % info.class
+               "mediaobject | legalnotice
+                | subjectset | keywordset | %bibliocomponent.mix;
+                 %local.info.class;">
+
+<!ENTITY % dbpool.redecl.module "INCLUDE">
+<!ENTITY % rdbpool SYSTEM "sdbpool.mod">
+
+<!ENTITY % dbhier.redecl.module "INCLUDE">
+<!ENTITY % rdbhier SYSTEM "sdbhier.mod">
+
+<!ENTITY % sdbcent SYSTEM "sdbcent.mod">
+%sdbcent;
+
+<!ENTITY % docinfo.element "IGNORE">
+<!ENTITY % objectinfo.element "IGNORE">
+<!ENTITY % section.element "IGNORE">
+<!ENTITY % sectioninfo.element "IGNORE">
+<!ENTITY % authorgroup.element "IGNORE">
+<!ENTITY % author.element "IGNORE">
+<!ENTITY % editor.element "IGNORE">
+<!ENTITY % othercredit.element "IGNORE">
+<!ENTITY % para.element "IGNORE">
+<!ENTITY % informaltable.element "IGNORE">
+<!ENTITY % replaceable.element "IGNORE">
+<!ENTITY % trademark.element "IGNORE">
+<!ENTITY % article.element "IGNORE">
+<!ENTITY % articleinfo.element "IGNORE">
+<!ENTITY % appendix.element "IGNORE">
+<!ENTITY % appendixinfo.module "IGNORE">
+<!ENTITY % sidebar.element "IGNORE">
+<!ENTITY % programlisting.element "IGNORE">
+<!ENTITY % literallayout.element "IGNORE">
+<!ENTITY % itemizedlist.element "IGNORE">
+<!ENTITY % orderedlist.element "IGNORE">
+<!ENTITY % variablelist.element "IGNORE">
+<!ENTITY % example.element "IGNORE">
+<!ENTITY % figure.element "IGNORE">
+<!ENTITY % legalnotice.element "IGNORE">
+<!ENTITY % systemitem.element "IGNORE">
+<!ENTITY % computeroutput.element "IGNORE">
+<!ENTITY % userinput.element "IGNORE">
+
+<!ENTITY % cals.table.module "INCLUDE">
+<!ENTITY % docbook PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";
+>
+%docbook;
+
+<!ENTITY % simple.objectinfo.element "INCLUDE">
+<![%simple.objectinfo.element;[
+<!ELEMENT objectinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+]]>
+
+<!ENTITY % simple.section.element "INCLUDE">
+<![%simple.section.element;[
+<!ELEMENT section (sectioninfo?,
+                       (%sect.title.content;),
+                       (((%divcomponent.mix;)+, section*)
+                        | section+))>
+]]>
+
+<!ENTITY % simple.sectioninfo.element "INCLUDE">
+<![%simple.sectioninfo.element;[
+<!ELEMENT sectioninfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+]]>
+
+<!ENTITY % simple.authorgroup.element "INCLUDE">
+<![%simple.authorgroup.element;[
+<!ELEMENT authorgroup ((author|editor|corpauthor|othercredit)+)>
+]]>
+
+<!ENTITY % simple.author.element "INCLUDE">
+<![%simple.author.element;[
+<!ELEMENT author ((%person.ident.mix;)+)>
+]]>
+
+<!ENTITY % simple.editor.element "INCLUDE">
+<![%simple.editor.element;[
+<!ELEMENT editor ((%person.ident.mix;)+)>
+]]>
+
+<!ENTITY % simple.othercredit.element "INCLUDE">
+<![%simple.othercredit.element;[
+<!ELEMENT othercredit ((%person.ident.mix;)+)>
+]]>
+
+<!ENTITY % simple.affiliation.element "INCLUDE">
+<![%simple.affiliation.element;[
+<!ELEMENT affiliation (jobtitle?, orgname?)>
+]]>
+
+<!ENTITY % simple.para.element "INCLUDE">
+<![%simple.para.element;[
+<!ELEMENT para (%para.char.mix;)*>
+]]>
+
+<!ENTITY % simple.informaltable.element "INCLUDE">
+<![%simple.informaltable.element;[
+<!ELEMENT informaltable (mediaobject+|tgroup+) %tbl.table.excep;>
+]]>
+
+<!ENTITY % simple.replaceable.element "INCLUDE">
+<![%simple.replaceable.element;[
+<!ELEMENT replaceable (#PCDATA 
+               | %link.char.class; 
+               | inlinemediaobject)*>
+]]>
+
+<!ENTITY % simple.trademark.element "INCLUDE">
+<![%simple.trademark.element;[
+<!ELEMENT trademark (#PCDATA 
+               | %link.char.class; 
+               | %tech.char.class;
+               | inlinemediaobject
+               | emphasis)*>
+]]>
+
+<!ENTITY % simple.article.element "INCLUDE">
+<![%simple.article.element;[
+<!ELEMENT article ((%div.title.content;)?, articleinfo?,
+                      (%bookcomponent.content;),
+                      ((%appendix.class;)|bibliography)*)>
+]]>
+
+<!ENTITY % simple.articleinfo.element "INCLUDE">
+<![%simple.articleinfo.element;[
+<!ELEMENT articleinfo ((mediaobject | legalnotice
+       | subjectset | keywordset | %bibliocomponent.mix;)+)>
+]]>
+
+<!ENTITY % simple.appendix.element "INCLUDE">
+<![%simple.appendix.element;[
+<!ELEMENT appendix ((%bookcomponent.title.content;),
+               (%bookcomponent.content;))>
+]]>
+
+<!ENTITY % simple.bibliography.element "INCLUDE">
+<![%simple.bibliography.element;[
+<!ELEMENT bibliography ((%bookcomponent.title.content;)?,
+                        (%component.mix;)*,
+                        (bibliodiv+ | bibliomixed+))>
+]]>
+
+<!ENTITY % simple.bibliomixed.element "INCLUDE">
+<![%simple.bibliomixed.element;[
+<!ELEMENT bibliomixed (#PCDATA | %bibliocomponent.mix; | bibliomset)*>
+]]>
+
+<!ENTITY % simple.bibliodiv.element "INCLUDE">
+<![%simple.bibliodiv.element;[
+<!ELEMENT bibliodiv ((%sect.title.content;)?, (%component.mix;)*,
+               (bibliomixed)+)>
+]]>
+
+<!ENTITY % simple.sidebar.element "INCLUDE">
+<![%simple.sidebar.element;[
+<!ELEMENT sidebar ((%formalobject.title.content;)?,
+                   (%sidebar.mix;)+)>
+]]>
+
+<!ENTITY % simple.programlisting.element "INCLUDE">
+<![%simple.programlisting.element;[
+<!ELEMENT programlisting (%para.char.mix; | lineannotation)*>
+]]>
+
+<!ENTITY % simple.literallayout.element "INCLUDE">
+<![%simple.literallayout.element;[
+<!ELEMENT literallayout (%para.char.mix; | lineannotation)*>
+]]>
+
+<!ENTITY % simple.itemizedlist.element "INCLUDE">
+<![%simple.itemizedlist.element;[
+<!ELEMENT itemizedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+]]>
+
+<!ENTITY % simple.orderedlist.element "INCLUDE">
+<![%simple.orderedlist.element;[
+<!ELEMENT orderedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+]]>
+
+<!ENTITY % simple.variablelist.element "INCLUDE">
+<![%simple.variablelist.element;[
+<!ELEMENT variablelist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, varlistentry+)>
+]]>
+
+<!ENTITY % simple.example.element "INCLUDE">
+<![%simple.example.element;[
+<!ELEMENT example ((%formalobject.title.content;), (%example.mix;)+)
+               >
+]]>
+
+<!ENTITY % simple.figure.element "INCLUDE">
+<![%simple.figure.element;[
+<!ELEMENT figure ((%formalobject.title.content;),
+                       (%figure.mix; | %link.char.class;)+)>
+]]>
+
+<!ENTITY % simple.legalnotice.element "INCLUDE">
+<![%simple.legalnotice.element;[
+<!ELEMENT legalnotice (title?, (%legalnotice.mix;)+)
+               >
+]]>
+
+<!ENTITY % simple.systemitem.element "INCLUDE">
+<![%simple.systemitem.element;[
+<!ELEMENT systemitem (%cptr.char.mix; | acronym)*>
+]]>
+
+<!ENTITY % simple.computeroutput.element "INCLUDE">
+<![%simple.computeroutput.element;[
+<!ELEMENT computeroutput %ho; (%cptr.char.mix;)*>
+]]>
+
+<!ENTITY % simple.userinput.element "INCLUDE">
+<![%simple.userinput.element;[
+<!ELEMENT userinput %ho; (%cptr.char.mix;)*>
+]]>
+
+<!-- End of Simplified DocBook DTD V1.0 ................................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook.css
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook.css
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,679 @@
+abbrev
+{
+  display: inline;
+}
+
+abstract
+{
+  margin-left: 0.5in;
+  margin-right: 0.5in;
+  display: inline;
+}
+
+acronym
+{
+  display: inline;
+}
+
+address
+{
+  white-space: pre;
+  display: block;
+}
+
+anchor
+{
+  display: inline;
+}
+
+appendix
+{
+  display: block;
+}
+
+articleinfo
+{
+  display: none;
+}
+
+article
+{
+  display: block;
+}
+
+audiodata
+{
+  display: none;
+}
+
+audioobject
+{
+  display: none;
+}
+
+author
+{
+  display: inline;
+}
+
+authorgroup
+{
+  display: inline;
+}
+
+authorinitials
+{
+  display: inline;
+}
+
+bibliomisc
+{
+  display: inline;
+}
+
+bibliomset
+{
+  display: inline;
+}
+
+biblioset
+{
+  display: inline;
+}
+
+blockquote
+{
+  display: block;
+  margin-left: 0.5in;
+  margin-right: 0.5in;
+}
+
+caption
+{
+  display: none;
+}
+
+citetitle
+{
+  display: inline;
+  font-style: italic;
+}
+
+city
+{
+  display: inline;
+}
+
+colspec
+{
+  display: none;
+}
+
+command
+{
+  display: inline;
+  font-style: italic;
+}
+
+computeroutput
+{
+  display: inline;
+  font-family: monospace;
+}
+
+copyright
+{
+  display: inline;
+}
+
+corpauthor
+{
+  display: inline;
+}
+
+country
+{
+  display: inline;
+}
+
+date
+{
+  display: inline;
+}
+
+articleinfo
+{
+  display: none;
+}
+
+appendixinfo
+{
+  display: none;
+}
+
+edition
+{
+  display: inline;
+}
+
+editor
+{
+  display: inline;
+}
+
+email
+{
+  display: inline;
+  font-style: italic;
+}
+
+emphasis
+{
+  display: inline;
+  font-style: italic;
+}
+
+entry
+{
+  display: table-cell;
+}
+
+example
+{
+  display: block;
+}
+
+fax
+{
+  display: inline;
+}
+
+figure
+{
+  display: block;
+}
+
+filename
+{
+  display: inline;
+  font-style: italic;
+}
+
+firstname
+{
+  display: inline;
+}
+
+footnote
+{
+  display: inline;
+}
+
+holder
+{
+  display: inline;
+}
+
+honorific
+{
+  display: inline;
+}
+
+imagedata
+{
+  display: inline;
+}
+
+imageobject
+{
+  display: inline;
+}
+
+informaltable
+{
+  display: block;
+}
+
+inlinemediaobject
+{
+  display: inline;
+}
+
+isbn
+{
+  display: inline;
+}
+
+issn
+{
+  display: inline;
+}
+
+issuenum
+{
+  display: inline;
+}
+
+itemizedlist
+{
+  display: block;
+  list-style-type: disc;
+}
+
+keyword
+{
+  display: inline;
+}
+
+keywordset
+{
+  display: inline;
+}
+
+legalnotice
+{
+  display: inline;
+}
+
+lineage
+{
+  display: inline;
+}
+
+lineannotation
+{
+  display: inline;
+}
+
+link
+{
+  display: inline;
+}
+
+listitem
+{
+  display: list-item;
+}
+
+literal
+{
+  display: inline;
+}
+
+literallayout
+{
+  display: inline;
+}
+
+mediaobject
+{
+  display: inline;
+}
+
+member
+{
+  display: inline;
+}
+
+note
+{
+  display: inline;
+}
+
+objectinfo
+{
+  display: inline;
+}
+
+option
+{
+  display: inline;
+}
+
+orderedlist
+{
+  display: block;
+  list-style-type: decimal;
+}
+
+otheraddr
+{
+  display: inline;
+}
+
+othercredit
+{
+  display: inline;
+}
+
+othername
+{
+  display: inline;
+}
+
+pagenums
+{
+  display: inline;
+}
+
+para
+{
+  display: block;
+}
+
+phone
+{
+  display: inline;
+}
+
+phrase
+{
+  display: inline;
+}
+
+pob
+{
+  display: inline;
+}
+
+postcode
+{
+  display: inline;
+}
+
+printhistory
+{
+  display: inline;
+}
+
+procedure
+{
+  display: inline;
+}
+
+programlisting
+{
+  display: inline;
+}
+
+pubdate
+{
+  display: inline;
+}
+
+publisher
+{
+  display: inline;
+}
+
+publishername
+{
+  display: inline;
+}
+
+quote
+{
+  display: inline;
+}
+
+replaceable
+{
+  display: inline;
+}
+
+revhistory
+{
+  display: inline;
+}
+
+revision
+{
+  display: inline;
+}
+
+revnumber
+{
+  display: inline;
+}
+
+revremark
+{
+  display: inline;
+}
+
+row
+{
+  display: table-row;
+}
+
+section
+{
+  display: block;
+}
+
+sectioninfo
+{
+  display: none;
+}
+
+sidebar
+{
+  display: block;
+}
+
+simplelist
+{
+  display: inline;
+}
+
+state
+{
+  display: inline;
+}
+
+step
+{
+  display: inline;
+}
+
+street
+{
+  display: inline;
+}
+
+substeps
+{
+  display: inline;
+}
+
+subtitle
+{
+  display: inline;
+}
+
+surname
+{
+  display: inline;
+}
+
+systemitem
+{
+  display: inline;
+}
+
+tbody
+{
+  display: table-row-group;
+}
+
+term
+{
+  display: inline;
+}
+
+textobject
+{
+  display: inline;
+}
+
+tgroup
+{
+  display: table;
+}
+
+thead
+{
+  display: table-row-group;
+}
+
+title
+{
+  display: block;
+}
+
+article title
+{
+  font-size: 36pt;
+  font-weight: bold;
+  display: block;
+}
+
+section title
+{
+  font-size: 24pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section title
+{
+  font-size: 20pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section section title
+{
+  font-size: 18pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section section section title
+{
+  font-size: 16pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section section section section title
+{
+  font-size: 14pt;
+  font-weight: bold;
+  display: block;
+}
+
+section section section section section section title
+{
+  font-size: 12pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix title
+{
+  font-size: 24pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section title
+{
+  font-size: 22pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section section title
+{
+  font-size: 18pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section section section title
+{
+  font-size: 16pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section section section section title
+{
+  font-size: 14pt;
+  font-weight: bold;
+  display: block;
+}
+
+appendix section section section section section title
+{
+  font-size: 12pt;
+  font-weight: bold;
+  display: block;
+}
+
+titleabbrev
+{
+  display: none;
+}
+
+trademark
+{
+  display: inline;
+}
+
+ulink
+{
+  display: inline;
+}
+
+userinput
+{
+  display: inline;
+}
+
+variablelist
+{
+  display: inline;
+}
+
+varlistentry
+{
+  display: inline;
+}
+
+videodata
+{
+  display: inline;
+}
+
+videoobject
+{
+  display: inline;
+}
+
+volumenum
+{
+  display: inline;
+}
+
+xref
+{
+  display: inline;
+}
+
+year
+{
+  display: inline;
+}
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbook.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1664 @@
+<!-- *********************************************************************
+     *** THIS IS THE FLATTENED DTD. DO NOT EDIT THIS DTD BY HAND, EDIT ***
+     *** THE CUSTOMIZATION LAYER AND REGNERATE THE FLATTENED DTD! ********
+     ********************************************************************* -->
+
+<!-- ...................................................................... -->
+<!-- Simplified DocBook DTD V1.0 .......................................... -->
+<!-- File sdocbook-custom.dtd ............................................. -->
+
+<!-- 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: sdocbook.dtd,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V1.0 of the Simplified DocBook XML DTD.
+     Please use the following formal public identifier to identify it:
+
+     "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+
+     For example:
+
+     <!DOCTYPE article
+               PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
+      "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd";
+     [...]>
+-->
+
+<!-- ...................................................................... -->
+
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+               "itemizedlist|orderedlist
+               |variablelist %local.list.class;">
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+               "note %local.admon.class;">
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+               "literallayout|programlisting %local.linespecific.class;">
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+               "para %local.para.class;">
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+               "blockquote
+               |mediaobject
+               |informaltable %local.informal.class;">
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+               "example|figure|table %local.formal.class;">
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+               "sidebar %local.compound.class;">
+<!ENTITY % local.descobj.class "">
+<!ENTITY % descobj.class
+               "abstract|authorblurb|epigraph
+               %local.descobj.class;">
+<!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|citetitle|emphasis|footnote|phrase
+               |quote|trademark %local.gen.char.class;">
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+               "link|ulink %local.link.char.class;">
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+               "command|computeroutput
+               |email|filename
+               |literal
+               |option
+               |replaceable
+               |systemitem|userinput
+               %local.tech.char.class;">
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+               "author|corpauthor|othercredit
+               |revhistory
+               %local.docinfo.char.class;">
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+               "inlinemediaobject %local.inlineobj.char.class;">
+<!ENTITY % local.common.attrib "">
+<!ENTITY % common.attrib
+       "id             ID              #IMPLIED
+       lang            CDATA           #IMPLIED
+       revisionflag    (changed
+                       |added
+                       |deleted
+                       |off)           #IMPLIED
+       %local.common.attrib;"
+>
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+               "honorific|firstname|surname|lineage|othername|affiliation
+               |authorblurb
+               %local.person.ident.mix;">
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+               "abbrev|abstract|author
+               |authorgroup|bibliomisc
+               |copyright|corpauthor|date|edition
+               |editor|issuenum
+               |othercredit
+               |pubdate|publishername
+               |releaseinfo|revhistory
+               |subtitle|title|titleabbrev|volumenum|citetitle
+               |%person.ident.mix;
+               %local.bibliocomponent.mix;">
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.component.mix;">
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.sidebar.mix;">
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.revdescription.mix;">
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.footnote.mix;">
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.example.mix;">
+<!ENTITY % local.admon.mix "">
+<!ENTITY % admon.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.admon.mix;">
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+               "%linespecific.class;
+                                       |%informal.class;
+               %local.figure.mix;">
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |mediaobject
+               %local.tabentry.mix;">
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.legalnotice.mix;">
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.textobject.mix;">
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+               "                        %admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+                                       |%descobj.class;
+               %local.listpreamble.mix;">
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+                                       |%inlineobj.char.class;
+               %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;
+                                       |%docinfo.char.class;
+                                       |%inlineobj.char.class;
+               %local.title.char.mix;">
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+               "#PCDATA
+               |%link.char.class;      |%tech.char.class;
+                                       |inlinemediaobject
+               %local.cptr.char.mix;">
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+               "#PCDATA
+                                       |acronym|emphasis|trademark
+               |%link.char.class;
+                                       |inlinemediaobject
+               %local.word.char.mix;">
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+               "#PCDATA
+               |%link.char.class;
+                                       |emphasis|trademark
+                                       |replaceable
+                                       |inlinemediaobject
+               %local.docinfo.char.mix;">
+<!ENTITY % tbl.table.mdl
+       "(title, (mediaobject+|tgroup+))">
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+<!ENTITY % bookcomponent.content
+       "((%divcomponent.mix;)+, section*)
+       | section+">
+<!ENTITY aacute        "&#x00E1;">
+<!ENTITY Aacute        "&#x00C1;">
+<!ENTITY acirc "&#x00E2;">
+<!ENTITY Acirc "&#x00C2;">
+<!ENTITY agrave        "&#x00E0;">
+<!ENTITY Agrave        "&#x00C0;">
+<!ENTITY aring "&#x00E5;">
+<!ENTITY Aring "&#x00C5;">
+<!ENTITY atilde        "&#x00E3;">
+<!ENTITY Atilde        "&#x00C3;">
+<!ENTITY auml  "&#x00E4;">
+<!ENTITY Auml  "&#x00C4;">
+<!ENTITY aelig "&#x00E6;">
+<!ENTITY AElig "&#x00C6;">
+<!ENTITY ccedil        "&#x00E7;">
+<!ENTITY Ccedil        "&#x00C7;">
+<!ENTITY eth   "&#x00F0;">
+<!ENTITY ETH   "&#x00D0;">
+<!ENTITY eacute        "&#x00E9;">
+<!ENTITY Eacute        "&#x00C9;">
+<!ENTITY ecirc "&#x00EA;">
+<!ENTITY Ecirc "&#x00CA;">
+<!ENTITY egrave        "&#x00E8;">
+<!ENTITY Egrave        "&#x00C8;">
+<!ENTITY euml  "&#x00EB;">
+<!ENTITY Euml  "&#x00CB;">
+<!ENTITY iacute        "&#x00ED;">
+<!ENTITY Iacute        "&#x00CD;">
+<!ENTITY icirc "&#x00EE;">
+<!ENTITY Icirc "&#x00CE;">
+<!ENTITY igrave        "&#x00EC;">
+<!ENTITY Igrave        "&#x00CC;">
+<!ENTITY iuml  "&#x00EF;">
+<!ENTITY Iuml  "&#x00CF;">
+<!ENTITY ntilde        "&#x00F1;">
+<!ENTITY Ntilde        "&#x00D1;">
+<!ENTITY oacute        "&#x00F3;">
+<!ENTITY Oacute        "&#x00D3;">
+<!ENTITY ocirc "&#x00F4;">
+<!ENTITY Ocirc "&#x00D4;">
+<!ENTITY ograve        "&#x00F2;">
+<!ENTITY Ograve        "&#x00D2;">
+<!ENTITY oslash        "&#x00F8;">
+<!ENTITY Oslash        "&#x00D8;">
+<!ENTITY otilde        "&#x00F5;">
+<!ENTITY Otilde        "&#x00D5;">
+<!ENTITY ouml  "&#x00F6;">
+<!ENTITY Ouml  "&#x00D6;">
+<!ENTITY szlig "&#x00DF;">
+<!ENTITY thorn "&#x00FE;">
+<!ENTITY THORN "&#x00DE;">
+<!ENTITY uacute        "&#x00FA;">
+<!ENTITY Uacute        "&#x00DA;">
+<!ENTITY ucirc "&#x00FB;">
+<!ENTITY Ucirc "&#x00DB;">
+<!ENTITY ugrave        "&#x00F9;">
+<!ENTITY Ugrave        "&#x00D9;">
+<!ENTITY uuml  "&#x00FC;">
+<!ENTITY Uuml  "&#x00DC;">
+<!ENTITY yacute        "&#x00FD;">
+<!ENTITY Yacute        "&#x00DD;">
+<!ENTITY yuml  "&#x00FF;">
+<!ENTITY half  "&#x00BD;">
+<!ENTITY frac12        "&#x00BD;">
+<!ENTITY frac14        "&#x00BC;">
+<!ENTITY frac34        "&#x00BE;">
+<!ENTITY frac18        "&#x215B;">
+<!ENTITY frac38        "&#x215C;">
+<!ENTITY frac58        "&#x215D;">
+<!ENTITY frac78        "&#x215E;">
+<!ENTITY sup1  "&#x00B9;">
+<!ENTITY sup2  "&#x00B2;">
+<!ENTITY sup3  "&#x00B3;">
+<!ENTITY plus  "&#x002B;">
+<!ENTITY plusmn        "&#x00B1;">
+<!ENTITY lt    "&#38;#60;">
+<!ENTITY equals        "&#x003D;">
+<!ENTITY gt    "&#x003E;">
+<!ENTITY divide        "&#x00F7;">
+<!ENTITY times "&#x00D7;">
+<!ENTITY curren        "&#x00A4;">
+<!ENTITY pound "&#x00A3;">
+<!ENTITY dollar        "&#x0024;">
+<!ENTITY cent  "&#x00A2;">
+<!ENTITY yen   "&#x00A5;">
+<!ENTITY num   "&#x0023;">
+<!ENTITY percnt        "&#x0025;">
+<!ENTITY amp   "&#38;#38;">
+<!ENTITY ast   "&#x002A;">
+<!ENTITY commat        "&#x0040;">
+<!ENTITY lsqb  "&#x005B;">
+<!ENTITY bsol  "&#x005C;">
+<!ENTITY rsqb  "&#x005D;">
+<!ENTITY lcub  "&#x007B;">
+<!ENTITY horbar        "&#x2015;">
+<!ENTITY verbar        "&#x007C;">
+<!ENTITY rcub  "&#x007D;">
+<!ENTITY micro "&#x00B5;">
+<!ENTITY ohm   "&#x2126;">
+<!ENTITY deg   "&#x00B0;">
+<!ENTITY ordm  "&#x00BA;">
+<!ENTITY ordf  "&#x00AA;">
+<!ENTITY sect  "&#x00A7;">
+<!ENTITY para  "&#x00B6;">
+<!ENTITY middot        "&#x00B7;">
+<!ENTITY larr  "&#x2190;">
+<!ENTITY rarr  "&#x2192;">
+<!ENTITY uarr  "&#x2191;">
+<!ENTITY darr  "&#x2193;">
+<!ENTITY copy  "&#x00A9;">
+<!ENTITY reg   "&#x00AE;">
+<!ENTITY trade "&#x2122;">
+<!ENTITY brvbar        "&#x00A6;">
+<!ENTITY not   "&#x00AC;">
+<!ENTITY sung  "&#x2669;">
+<!ENTITY excl  "&#x0021;">
+<!ENTITY iexcl "&#x00A1;">
+<!ENTITY quot  "&#x0022;">
+<!ENTITY apos  "&#x0027;">
+<!ENTITY lpar  "&#x0028;">
+<!ENTITY rpar  "&#x0029;">
+<!ENTITY comma "&#x002C;">
+<!ENTITY lowbar        "&#x005F;">
+<!ENTITY hyphen        "&#x002D;">
+<!ENTITY period        "&#x002E;">
+<!ENTITY sol   "&#x002F;">
+<!ENTITY colon "&#x003A;">
+<!ENTITY semi  "&#x003B;">
+<!ENTITY quest "&#x003F;">
+<!ENTITY iquest        "&#x00BF;">
+<!ENTITY laquo "&#x00AB;">
+<!ENTITY raquo "&#x00BB;">
+<!ENTITY lsquo "&#x2018;">
+<!ENTITY rsquo "&#x2019;">
+<!ENTITY ldquo "&#x201C;">
+<!ENTITY rdquo "&#x201D;">
+<!ENTITY nbsp  "&#x00A0;">
+<!ENTITY shy   "&#x00AD;">
+<!ENTITY emsp  "&#x2003;">
+<!ENTITY ensp  "&#x2002;">
+<!ENTITY emsp13        "&#x2004;">
+<!ENTITY emsp14        "&#x2005;">
+<!ENTITY numsp "&#x2007;">
+<!ENTITY puncsp        "&#x2008;">
+<!ENTITY thinsp        "&#x2009;">
+<!ENTITY hairsp        "&#x200A;">
+<!ENTITY mdash "&#x2014;">
+<!ENTITY ndash "&#x2013;">
+<!ENTITY dash  "&#x2010;">
+<!ENTITY blank "&#x2423;">
+<!ENTITY hellip        "&#x2026;">
+<!ENTITY nldr  "&#x2025;">
+<!ENTITY frac13        "&#x2153;">
+<!ENTITY frac23        "&#x2154;">
+<!ENTITY frac15        "&#x2155;">
+<!ENTITY frac25        "&#x2156;">
+<!ENTITY frac35        "&#x2157;">
+<!ENTITY frac45        "&#x2158;">
+<!ENTITY frac16        "&#x2159;">
+<!ENTITY frac56        "&#x215A;">
+<!ENTITY incare        "&#x2105;">
+<!ENTITY block "&#x2588;">
+<!ENTITY uhblk "&#x2580;">
+<!ENTITY lhblk "&#x2584;">
+<!ENTITY blk14 "&#x2591;">
+<!ENTITY blk12 "&#x2592;">
+<!ENTITY blk34 "&#x2593;">
+<!ENTITY marker        "&#x25AE;">
+<!ENTITY cir   "&#x25CB;">
+<!ENTITY squ   "&#x25A1;">
+<!ENTITY rect  "&#x25AD;">
+<!ENTITY utri  "&#x25B5;">
+<!ENTITY dtri  "&#x25BF;">
+<!ENTITY star  "&#x22C6;">
+<!ENTITY bull  "&#x2022;">
+<!ENTITY squf  "&#x25AA;">
+<!ENTITY utrif "&#x25B4;">
+<!ENTITY dtrif "&#x25BE;">
+<!ENTITY ltrif "&#x25C2;">
+<!ENTITY rtrif "&#x25B8;">
+<!ENTITY clubs "&#x2663;">
+<!ENTITY diams "&#x2666;">
+<!ENTITY hearts        "&#x2665;">
+<!ENTITY spades        "&#x2660;">
+<!ENTITY malt  "&#x2720;">
+<!ENTITY dagger        "&#x2020;">
+<!ENTITY Dagger        "&#x2021;">
+<!ENTITY check "&#x2713;">
+<!ENTITY cross "&#x2717;">
+<!ENTITY sharp "&#x266F;">
+<!ENTITY flat  "&#x266D;">
+<!ENTITY male  "&#x2642;">
+<!ENTITY female        "&#x2640;">
+<!ENTITY phone "&#x260E;">
+<!ENTITY telrec        "&#x2315;">
+<!ENTITY copysr        "&#x2117;">
+<!ENTITY caret "&#x2041;">
+<!ENTITY lsquor        "&#x201A;">
+<!ENTITY ldquor        "&#x201E;">
+<!ENTITY fflig "&#xFB00;">
+<!ENTITY filig "&#xFB01;">
+<!ENTITY ffilig        "&#xFB03;">
+<!ENTITY ffllig        "&#xFB04;">
+<!ENTITY fllig "&#xFB02;">
+<!ENTITY mldr  "&#x2026;">
+<!ENTITY rdquor        "&#x201C;">
+<!ENTITY rsquor        "&#x2018;">
+<!ENTITY vellip        "&#x22EE;">
+<!ENTITY hybull        "&#x2043;">
+<!ENTITY loz   "&#x25CA;">
+<!ENTITY lozf  "&#x2726;">
+<!ENTITY ltri  "&#x25C3;">
+<!ENTITY rtri  "&#x25B9;">
+<!ENTITY starf "&#x2605;">
+<!ENTITY natur "&#x266E;">
+<!ENTITY rx    "&#x211E;">
+<!ENTITY sext  "&#x2736;">
+<!ENTITY target        "&#x2316;">
+<!ENTITY dlcrop        "&#x230D;">
+<!ENTITY drcrop        "&#x230C;">
+<!ENTITY ulcrop        "&#x230F;">
+<!ENTITY urcrop        "&#x230E;">
+<!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">
+<!NOTATION SVG         SYSTEM "http://www.w3.org/TR/SVG/";>
+<!NOTATION linespecific        SYSTEM "linespecific">
+<!ENTITY euro "&#x20AC;">
+<!ENTITY % yesorno.attvals     "CDATA">
+<!ENTITY % formalobject.title.content "title, titleabbrev?">
+<!ENTITY % local.mediaobject.mix "">
+<!ENTITY % mediaobject.mix
+               "videoobject|audioobject|imageobject|textobject 
%local.mediaobject.mix;">
+<!ENTITY % role.attrib
+       "role           CDATA           #IMPLIED">
+<!ENTITY % label.attrib
+       "label          CDATA           #IMPLIED">
+<!ENTITY % linespecific.attrib
+       "format         NOTATION
+                       (linespecific)  'linespecific'
+         linenumbering (numbered|unnumbered)   #IMPLIED">
+<!ENTITY % linkendreq.attrib
+       "linkend        IDREF           #REQUIRED">
+<!ENTITY % local.mark.attrib "">
+<!ENTITY % mark.attrib
+       "mark           CDATA           #IMPLIED
+       %local.mark.attrib;"
+>
+<!ENTITY % moreinfo.attrib
+       "moreinfo       (refentry|none) 'none'">
+<!ENTITY % pagenum.attrib
+       "pagenum        CDATA           #IMPLIED">
+<!ENTITY % local.status.attrib "">
+<!ENTITY % status.attrib
+       "status         CDATA           #IMPLIED
+       %local.status.attrib;"
+>
+<!ENTITY % width.attrib
+       "width          CDATA           #IMPLIED">
+<!ENTITY % local.title.attrib "">
+<!ENTITY % title.role.attrib "%role.attrib;">
+<!ELEMENT title  (%title.char.mix;)*>
+<!ATTLIST title
+               %pagenum.attrib;
+               %common.attrib;
+               %title.role.attrib;
+               %local.title.attrib;
+>
+<!ENTITY % local.titleabbrev.attrib "">
+<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
+<!ELEMENT titleabbrev  (%title.char.mix;)*>
+<!ATTLIST titleabbrev
+               %common.attrib;
+               %titleabbrev.role.attrib;
+               %local.titleabbrev.attrib;
+>
+<!ENTITY % local.subtitle.attrib "">
+<!ENTITY % subtitle.role.attrib "%role.attrib;">
+<!ELEMENT subtitle  (%title.char.mix;)*>
+<!ATTLIST subtitle
+               %common.attrib;
+               %subtitle.role.attrib;
+               %local.subtitle.attrib;
+>
+<!ENTITY % local.bibliomixed.attrib "">
+<!ENTITY % bibliomixed.role.attrib "%role.attrib;">
+<!ATTLIST bibliomixed
+               %common.attrib;
+               %bibliomixed.role.attrib;
+               %local.bibliomixed.attrib;
+>
+<!ENTITY % local.articleinfo.attrib "">
+<!ENTITY % articleinfo.role.attrib "%role.attrib;">
+<!ATTLIST articleinfo
+               %common.attrib;
+               %articleinfo.role.attrib;
+               %local.articleinfo.attrib;
+>
+<!ENTITY % bibliomset.role.attrib "%role.attrib;">
+<!ENTITY % local.bibliomset.attrib "">
+<!ELEMENT bibliomset  (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+                      >
+<!ATTLIST bibliomset
+               relation        CDATA           #IMPLIED
+               %common.attrib;
+               %bibliomset.role.attrib;
+               %local.bibliomset.attrib;
+>
+<!ENTITY % local.bibliomisc.attrib "">
+<!ENTITY % bibliomisc.role.attrib "%role.attrib;">
+<!ELEMENT bibliomisc  (%para.char.mix;)*>
+<!ATTLIST bibliomisc
+               %common.attrib;
+               %bibliomisc.role.attrib;
+               %local.bibliomisc.attrib;
+>
+<!ENTITY % local.subjectset.attrib "">
+<!ENTITY % subjectset.role.attrib "%role.attrib;">
+<!ELEMENT subjectset  (subject+)>
+<!ATTLIST subjectset
+               scheme          NMTOKEN         #IMPLIED
+               %common.attrib;
+               %subjectset.role.attrib;
+               %local.subjectset.attrib;
+>
+<!ENTITY % local.subject.attrib "">
+<!ENTITY % subject.role.attrib "%role.attrib;">
+<!ELEMENT subject  (subjectterm+)>
+<!ATTLIST subject
+               weight          CDATA           #IMPLIED
+               %common.attrib;
+               %subject.role.attrib;
+               %local.subject.attrib;
+>
+<!ENTITY % local.subjectterm.attrib "">
+<!ENTITY % subjectterm.role.attrib "%role.attrib;">
+<!ELEMENT subjectterm  (#PCDATA)>
+<!ATTLIST subjectterm
+               %common.attrib;
+               %subjectterm.role.attrib;
+               %local.subjectterm.attrib;
+>
+<!ENTITY % local.keywordset.attrib "">
+<!ENTITY % keywordset.role.attrib "%role.attrib;">
+<!ELEMENT keywordset  (keyword+)>
+<!ATTLIST keywordset
+               %common.attrib;
+               %keywordset.role.attrib;
+               %local.keywordset.attrib;
+>
+<!ENTITY % local.keyword.attrib "">
+<!ENTITY % keyword.role.attrib "%role.attrib;">
+<!ELEMENT keyword  (#PCDATA)>
+<!ATTLIST keyword
+               %common.attrib;
+               %keyword.role.attrib;
+               %local.keyword.attrib;
+>
+<!ENTITY % local.sidebar.attrib "">
+<!ENTITY % sidebar.role.attrib "%role.attrib;">
+<!ATTLIST sidebar
+               %common.attrib;
+               %sidebar.role.attrib;
+               %local.sidebar.attrib;
+>
+<!ENTITY % local.abstract.attrib "">
+<!ENTITY % abstract.role.attrib "%role.attrib;">
+<!ELEMENT abstract  (title?, (%para.class;)+)>
+<!ATTLIST abstract
+               %common.attrib;
+               %abstract.role.attrib;
+               %local.abstract.attrib;
+>
+<!ENTITY % local.authorblurb.attrib "">
+<!ENTITY % authorblurb.role.attrib "%role.attrib;">
+<!ELEMENT authorblurb  (title?, (%para.class;)+)>
+<!ATTLIST authorblurb
+               %common.attrib;
+               %authorblurb.role.attrib;
+               %local.authorblurb.attrib;
+>
+<!ENTITY % local.blockquote.attrib "">
+<!ENTITY % blockquote.role.attrib "%role.attrib;">
+<!ELEMENT blockquote  (title?, attribution?, (%component.mix;)+)
+                      >
+<!ATTLIST blockquote
+               %common.attrib;
+               %blockquote.role.attrib;
+               %local.blockquote.attrib;
+>
+<!ENTITY % local.attribution.attrib "">
+<!ENTITY % attribution.role.attrib "%role.attrib;">
+<!ELEMENT attribution  (%para.char.mix;)*>
+<!ATTLIST attribution
+               %common.attrib;
+               %attribution.role.attrib;
+               %local.attribution.attrib;
+>
+<!ENTITY % local.epigraph.attrib "">
+<!ENTITY % epigraph.role.attrib "%role.attrib;">
+<!ELEMENT epigraph  (attribution?, ((%para.class;)|literallayout)+)>
+<!ATTLIST epigraph
+               %common.attrib;
+               %epigraph.role.attrib;
+               %local.epigraph.attrib;
+>
+<!ENTITY % local.footnote.attrib "">
+<!ENTITY % footnote.role.attrib "%role.attrib;">
+<!ELEMENT footnote  ((%footnote.mix;)+)
+                      >
+<!ATTLIST footnote
+               %label.attrib;
+               %common.attrib;
+               %footnote.role.attrib;
+               %local.footnote.attrib;
+>
+<!ENTITY % local.para.attrib "">
+<!ENTITY % para.role.attrib "%role.attrib;">
+<!ATTLIST para
+               %common.attrib;
+               %para.role.attrib;
+               %local.para.attrib;
+>
+<!ENTITY % local.admon.attrib "">
+<!ENTITY % admon.role.attrib "%role.attrib;">
+<!ELEMENT note  (title?, (%admon.mix;)+)
+                      >
+<!ATTLIST note
+               %common.attrib;
+               %admon.role.attrib;
+               %local.admon.attrib;
+>
+<!ENTITY % local.itemizedlist.attrib "">
+<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
+<!ATTLIST itemizedlist         spacing         (normal
+                               |compact)       #IMPLIED
+               %mark.attrib;
+               %common.attrib;
+               %itemizedlist.role.attrib;
+               %local.itemizedlist.attrib;
+>
+<!ENTITY % local.orderedlist.attrib "">
+<!ENTITY % orderedlist.role.attrib "%role.attrib;">
+<!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;
+>
+<!ENTITY % local.listitem.attrib "">
+<!ENTITY % listitem.role.attrib "%role.attrib;">
+<!ELEMENT listitem  ((%component.mix;)+)>
+<!ATTLIST listitem
+               override        CDATA           #IMPLIED
+               %common.attrib;
+               %listitem.role.attrib;
+               %local.listitem.attrib;
+>
+<!ENTITY % local.variablelist.attrib "">
+<!ENTITY % variablelist.role.attrib "%role.attrib;">
+<!ATTLIST variablelist
+               termlength      CDATA           #IMPLIED
+               %common.attrib;
+               %variablelist.role.attrib;
+               %local.variablelist.attrib;
+>
+<!ENTITY % local.varlistentry.attrib "">
+<!ENTITY % varlistentry.role.attrib "%role.attrib;">
+<!ELEMENT varlistentry  (term+, listitem)>
+<!ATTLIST varlistentry
+               %common.attrib;
+               %varlistentry.role.attrib;
+               %local.varlistentry.attrib;
+>
+<!ENTITY % local.term.attrib "">
+<!ENTITY % term.role.attrib "%role.attrib;">
+<!ELEMENT term  (%para.char.mix;)*>
+<!ATTLIST term
+               %common.attrib;
+               %term.role.attrib;
+               %local.term.attrib;
+>
+<!ENTITY % local.example.attrib "">
+<!ENTITY % example.role.attrib "%role.attrib;">
+<!ATTLIST example
+               %label.attrib;
+               %width.attrib;
+               %common.attrib;
+               %example.role.attrib;
+               %local.example.attrib;
+>
+<!ENTITY % local.programlisting.attrib "">
+<!ENTITY % programlisting.role.attrib "%role.attrib;">
+<!ATTLIST programlisting
+               %width.attrib;
+               %linespecific.attrib;
+               %common.attrib;
+               %programlisting.role.attrib;
+               %local.programlisting.attrib;
+>
+<!ENTITY % local.literallayout.attrib "">
+<!ENTITY % literallayout.role.attrib "%role.attrib;">
+<!ATTLIST literallayout
+               %width.attrib;
+               %linespecific.attrib;
+               class   (monospaced|normal)     "normal"
+               %common.attrib;
+               %literallayout.role.attrib;
+               %local.literallayout.attrib;
+>
+<!ENTITY % local.figure.attrib "">
+<!ENTITY % figure.role.attrib "%role.attrib;">
+<!ATTLIST figure
+               float           %yesorno.attvals;       '0'
+               pgwide          %yesorno.attvals;       #IMPLIED
+               %label.attrib;
+               %common.attrib;
+               %figure.role.attrib;
+               %local.figure.attrib;
+>
+<!ENTITY % local.mediaobject.attrib "">
+<!ENTITY % mediaobject.role.attrib "%role.attrib;">
+<!ELEMENT mediaobject  (objectinfo?,
+                           (%mediaobject.mix;)+,
+                          caption?)>
+<!ATTLIST mediaobject
+               %common.attrib;
+               %mediaobject.role.attrib;
+               %local.mediaobject.attrib;
+>
+<!ENTITY % local.inlinemediaobject.attrib "">
+<!ENTITY % inlinemediaobject.role.attrib "%role.attrib;">
+<!ELEMENT inlinemediaobject  (objectinfo?,
+                                (%mediaobject.mix;)+)>
+<!ATTLIST inlinemediaobject
+               %common.attrib;
+               %inlinemediaobject.role.attrib;
+               %local.inlinemediaobject.attrib;
+>
+<!ENTITY % local.videoobject.attrib "">
+<!ENTITY % videoobject.role.attrib "%role.attrib;">
+<!ELEMENT videoobject  (objectinfo?, videodata)>
+<!ATTLIST videoobject
+               %common.attrib;
+               %videoobject.role.attrib;
+               %local.videoobject.attrib;
+>
+<!ENTITY % local.audioobject.attrib "">
+<!ENTITY % audioobject.role.attrib "%role.attrib;">
+<!ELEMENT audioobject  (objectinfo?, audiodata)>
+<!ATTLIST audioobject
+               %common.attrib;
+               %audioobject.role.attrib;
+               %local.audioobject.attrib;
+>
+<!ENTITY % local.imageobject.attrib "">
+<!ENTITY % imageobject.role.attrib "%role.attrib;">
+<!ELEMENT imageobject  (objectinfo?, imagedata)>
+<!ATTLIST imageobject
+               %common.attrib;
+               %imageobject.role.attrib;
+               %local.imageobject.attrib;
+>
+<!ENTITY % local.textobject.attrib "">
+<!ENTITY % textobject.role.attrib "%role.attrib;">
+<!ELEMENT textobject  (objectinfo?, (phrase|textdata|(%textobject.mix;)+))>
+<!ATTLIST textobject
+               %common.attrib;
+               %textobject.role.attrib;
+               %local.textobject.attrib;
+>
+<!ENTITY % local.objectinfo.attrib "">
+<!ENTITY % objectinfo.role.attrib "%role.attrib;">
+<!ATTLIST objectinfo
+               %common.attrib;
+               %objectinfo.role.attrib;
+               %local.objectinfo.attrib;
+>
+<!ENTITY % local.objectdata.attrib "">
+<!ENTITY % objectdata.attrib
+       "
+       entityref       ENTITY          #IMPLIED
+       fileref         CDATA           #IMPLIED
+       format          (%notation.class;)
+                                       #IMPLIED
+       srccredit       CDATA           #IMPLIED
+       %local.objectdata.attrib;"
+>
+<!ENTITY % local.videodata.attrib "">
+<!ENTITY % videodata.role.attrib "%role.attrib;">
+<!ELEMENT videodata  EMPTY>
+<!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;
+>
+<!ENTITY % local.audiodata.attrib "">
+<!ENTITY % audiodata.role.attrib "%role.attrib;">
+<!ELEMENT audiodata  EMPTY>
+<!ATTLIST audiodata
+               %objectdata.attrib;
+               %common.attrib;
+               %audiodata.role.attrib;
+               %local.audiodata.attrib;
+>
+<!ENTITY % local.imagedata.attrib "">
+<!ENTITY % imagedata.role.attrib "%role.attrib;">
+<!ELEMENT imagedata  EMPTY>
+<!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;
+>
+<!ENTITY % local.textdata.attrib "">
+<!ENTITY % textdata.role.attrib "%role.attrib;">
+<!ELEMENT textdata  EMPTY>
+<!ATTLIST textdata
+               encoding        CDATA   #IMPLIED
+               %objectdata.attrib;
+               %common.attrib;
+               %textdata.role.attrib;
+               %local.textdata.attrib;
+>
+<!ENTITY % local.caption.attrib "">
+<!ENTITY % caption.role.attrib "%role.attrib;">
+<!ELEMENT caption  (%textobject.mix;)*>
+<!ATTLIST caption
+               %common.attrib;
+               %caption.role.attrib;
+               %local.caption.attrib;
+>
+<!ENTITY % tables.role.attrib "%role.attrib;">
+<!ENTITY % bodyatt "%label.attrib;">
+<!ENTITY % secur
+       "%common.attrib;
+       %tables.role.attrib;">
+<!ENTITY % common.table.attribs
+       "%bodyatt;
+       %secur;">
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+<!ENTITY % yesorno 'CDATA'>
+<!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">
+<!ELEMENT table  (%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  (%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  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  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  (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT tfoot  (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT tbody  (row+)>
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT row  (%tbl.row.mdl;)>
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT entrytbl  (%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  (%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;
+>
+<!ENTITY % local.informaltable.attrib "">
+<!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;
+>
+<!ENTITY % local.affiliation.attrib "">
+<!ENTITY % affiliation.role.attrib "%role.attrib;">
+<!ATTLIST affiliation
+               %common.attrib;
+               %affiliation.role.attrib;
+               %local.affiliation.attrib;
+>
+<!ENTITY % local.jobtitle.attrib "">
+<!ENTITY % jobtitle.role.attrib "%role.attrib;">
+<!ELEMENT jobtitle  (%docinfo.char.mix;)*>
+<!ATTLIST jobtitle
+               %common.attrib;
+               %jobtitle.role.attrib;
+               %local.jobtitle.attrib;
+>
+<!ENTITY % local.author.attrib "">
+<!ENTITY % author.role.attrib "%role.attrib;">
+<!ATTLIST author
+               %common.attrib;
+               %author.role.attrib;
+               %local.author.attrib;
+>
+<!ENTITY % local.authorgroup.attrib "">
+<!ENTITY % authorgroup.role.attrib "%role.attrib;">
+<!ATTLIST authorgroup
+               %common.attrib;
+               %authorgroup.role.attrib;
+               %local.authorgroup.attrib;
+>
+<!ENTITY % local.authorinitials.attrib "">
+<!ENTITY % authorinitials.role.attrib "%role.attrib;">
+<!ELEMENT authorinitials  (%docinfo.char.mix;)*>
+<!ATTLIST authorinitials
+               %common.attrib;
+               %authorinitials.role.attrib;
+               %local.authorinitials.attrib;
+>
+<!ENTITY % local.copyright.attrib "">
+<!ENTITY % copyright.role.attrib "%role.attrib;">
+<!ELEMENT copyright  (year+, holder*)>
+<!ATTLIST copyright
+               %common.attrib;
+               %copyright.role.attrib;
+               %local.copyright.attrib;
+>
+<!ENTITY % local.year.attrib "">
+<!ENTITY % year.role.attrib "%role.attrib;">
+<!ELEMENT year  (%docinfo.char.mix;)*>
+<!ATTLIST year
+               %common.attrib;
+               %year.role.attrib;
+               %local.year.attrib;
+>
+<!ENTITY % local.holder.attrib "">
+<!ENTITY % holder.role.attrib "%role.attrib;">
+<!ELEMENT holder  (%docinfo.char.mix;)*>
+<!ATTLIST holder
+               %common.attrib;
+               %holder.role.attrib;
+               %local.holder.attrib;
+>
+<!ENTITY % local.corpauthor.attrib "">
+<!ENTITY % corpauthor.role.attrib "%role.attrib;">
+<!ELEMENT corpauthor  (%docinfo.char.mix;)*>
+<!ATTLIST corpauthor
+               %common.attrib;
+               %corpauthor.role.attrib;
+               %local.corpauthor.attrib;
+>
+<!ENTITY % local.date.attrib "">
+<!ENTITY % date.role.attrib "%role.attrib;">
+<!ELEMENT date  (%docinfo.char.mix;)*>
+<!ATTLIST date
+               %common.attrib;
+               %date.role.attrib;
+               %local.date.attrib;
+>
+<!ENTITY % local.edition.attrib "">
+<!ENTITY % edition.role.attrib "%role.attrib;">
+<!ELEMENT edition  (%docinfo.char.mix;)*>
+<!ATTLIST edition
+               %common.attrib;
+               %edition.role.attrib;
+               %local.edition.attrib;
+>
+<!ENTITY % local.editor.attrib "">
+<!ENTITY % editor.role.attrib "%role.attrib;">
+<!ATTLIST editor
+               %common.attrib;
+               %editor.role.attrib;
+               %local.editor.attrib;
+>
+<!ENTITY % local.issuenum.attrib "">
+<!ENTITY % issuenum.role.attrib "%role.attrib;">
+<!ELEMENT issuenum  (%docinfo.char.mix;)*>
+<!ATTLIST issuenum
+               %common.attrib;
+               %issuenum.role.attrib;
+               %local.issuenum.attrib;
+>
+<!ENTITY % local.legalnotice.attrib "">
+<!ENTITY % legalnotice.role.attrib "%role.attrib;">
+<!ATTLIST legalnotice
+               %common.attrib;
+               %legalnotice.role.attrib;
+               %local.legalnotice.attrib;
+>
+<!ENTITY % local.orgname.attrib "">
+<!ENTITY % orgname.role.attrib "%role.attrib;">
+<!ELEMENT orgname  (%docinfo.char.mix;)*>
+<!ATTLIST orgname
+               %common.attrib;
+               class   (corporation|nonprofit|consortium|informal|other)       
#IMPLIED
+               otherclass      CDATA                   #IMPLIED
+               %orgname.role.attrib;
+               %local.orgname.attrib;
+>
+<!ENTITY % local.othercredit.attrib "">
+<!ENTITY % othercredit.role.attrib "%role.attrib;">
+<!ATTLIST othercredit
+               %common.attrib;
+               %othercredit.role.attrib;
+               %local.othercredit.attrib;
+>
+<!ENTITY % local.firstname.attrib "">
+<!ENTITY % firstname.role.attrib "%role.attrib;">
+<!ELEMENT firstname  (%docinfo.char.mix;)*>
+<!ATTLIST firstname
+               %common.attrib;
+               %firstname.role.attrib;
+               %local.firstname.attrib;
+>
+<!ENTITY % local.honorific.attrib "">
+<!ENTITY % honorific.role.attrib "%role.attrib;">
+<!ELEMENT honorific  (%docinfo.char.mix;)*>
+<!ATTLIST honorific
+               %common.attrib;
+               %honorific.role.attrib;
+               %local.honorific.attrib;
+>
+<!ENTITY % local.lineage.attrib "">
+<!ENTITY % lineage.role.attrib "%role.attrib;">
+<!ELEMENT lineage  (%docinfo.char.mix;)*>
+<!ATTLIST lineage
+               %common.attrib;
+               %lineage.role.attrib;
+               %local.lineage.attrib;
+>
+<!ENTITY % local.othername.attrib "">
+<!ENTITY % othername.role.attrib "%role.attrib;">
+<!ELEMENT othername  (%docinfo.char.mix;)*>
+<!ATTLIST othername
+               %common.attrib;
+               %othername.role.attrib;
+               %local.othername.attrib;
+>
+<!ENTITY % local.surname.attrib "">
+<!ENTITY % surname.role.attrib "%role.attrib;">
+<!ELEMENT surname  (%docinfo.char.mix;)*>
+<!ATTLIST surname
+               %common.attrib;
+               %surname.role.attrib;
+               %local.surname.attrib;
+>
+<!ENTITY % local.pubdate.attrib "">
+<!ENTITY % pubdate.role.attrib "%role.attrib;">
+<!ELEMENT pubdate  (%docinfo.char.mix;)*>
+<!ATTLIST pubdate
+               %common.attrib;
+               %pubdate.role.attrib;
+               %local.pubdate.attrib;
+>
+<!ENTITY % local.publishername.attrib "">
+<!ENTITY % publishername.role.attrib "%role.attrib;">
+<!ELEMENT publishername  (%docinfo.char.mix;)*>
+<!ATTLIST publishername
+               %common.attrib;
+               %publishername.role.attrib;
+               %local.publishername.attrib;
+>
+<!ENTITY % local.releaseinfo.attrib "">
+<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
+<!ELEMENT releaseinfo  (%docinfo.char.mix;)*>
+<!ATTLIST releaseinfo
+               %common.attrib;
+               %releaseinfo.role.attrib;
+               %local.releaseinfo.attrib;
+>
+<!ENTITY % local.revhistory.attrib "">
+<!ENTITY % revhistory.role.attrib "%role.attrib;">
+<!ELEMENT revhistory  (revision+)>
+<!ATTLIST revhistory
+               %common.attrib;
+               %revhistory.role.attrib;
+               %local.revhistory.attrib;
+>
+<!ENTITY % local.revision.attrib "">
+<!ENTITY % revision.role.attrib "%role.attrib;">
+<!ELEMENT revision  (revnumber, date, authorinitials*,
+                    (revremark|revdescription)?)>
+<!ATTLIST revision
+               %common.attrib;
+               %revision.role.attrib;
+               %local.revision.attrib;
+>
+<!ENTITY % local.revnumber.attrib "">
+<!ENTITY % revnumber.role.attrib "%role.attrib;">
+<!ELEMENT revnumber  (%docinfo.char.mix;)*>
+<!ATTLIST revnumber
+               %common.attrib;
+               %revnumber.role.attrib;
+               %local.revnumber.attrib;
+>
+<!ENTITY % local.revremark.attrib "">
+<!ENTITY % revremark.role.attrib "%role.attrib;">
+<!ELEMENT revremark  (%docinfo.char.mix;)*>
+<!ATTLIST revremark
+               %common.attrib;
+               %revremark.role.attrib;
+               %local.revremark.attrib;
+>
+<!ENTITY % local.revdescription.attrib "">
+<!ENTITY % revdescription.role.attrib "%role.attrib;">
+<!ELEMENT revdescription  ((%revdescription.mix;)+)>
+<!ATTLIST revdescription
+               %common.attrib;
+               %revdescription.role.attrib;
+               %local.revdescription.attrib;
+>
+<!ENTITY % local.volumenum.attrib "">
+<!ENTITY % volumenum.role.attrib "%role.attrib;">
+<!ELEMENT volumenum  (%docinfo.char.mix;)*>
+<!ATTLIST volumenum
+               %common.attrib;
+               %volumenum.role.attrib;
+               %local.volumenum.attrib;
+>
+<!ENTITY % local.command.attrib "">
+<!ENTITY % command.role.attrib "%role.attrib;">
+<!ELEMENT command  (%cptr.char.mix;)*>
+<!ATTLIST command
+               %moreinfo.attrib;
+               %common.attrib;
+               %command.role.attrib;
+               %local.command.attrib;
+>
+<!ENTITY % local.computeroutput.attrib "">
+<!ENTITY % computeroutput.role.attrib "%role.attrib;">
+<!ATTLIST computeroutput
+               %moreinfo.attrib;
+               %common.attrib;
+               %computeroutput.role.attrib;
+               %local.computeroutput.attrib;
+>
+<!ENTITY % local.email.attrib "">
+<!ENTITY % email.role.attrib "%role.attrib;">
+<!ELEMENT email  (%docinfo.char.mix;)*>
+<!ATTLIST email
+               %common.attrib;
+               %email.role.attrib;
+               %local.email.attrib;
+>
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+<!ELEMENT filename  (%cptr.char.mix;)*>
+<!ATTLIST filename
+               class           (headerfile
+                                |partition
+                                |devicefile
+                                |libraryfile
+                                |directory
+                                |extension
+                               |symlink)       #IMPLIED
+               path            CDATA           #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %filename.role.attrib;
+               %local.filename.attrib;
+>
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+<!ELEMENT lineannotation  (%para.char.mix;)*>
+<!ATTLIST lineannotation
+               %common.attrib;
+               %lineannotation.role.attrib;
+               %local.lineannotation.attrib;
+>
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+<!ELEMENT literal  (%cptr.char.mix;)*>
+<!ATTLIST literal
+               %moreinfo.attrib;
+               %common.attrib;
+               %literal.role.attrib;
+               %local.literal.attrib;
+>
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+<!ELEMENT option  (%cptr.char.mix;)*>
+<!ATTLIST option
+               %common.attrib;
+               %option.role.attrib;
+               %local.option.attrib;
+>
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+<!ATTLIST replaceable
+               class           (command
+                               |function
+                               |option
+                               |parameter)     #IMPLIED
+               %common.attrib;
+               %replaceable.role.attrib;
+               %local.replaceable.attrib;
+>
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+<!ATTLIST systemitem
+               class   (constant
+                       |event
+                       |eventhandler
+                       |domainname
+                       |fqdomainname
+                       |ipaddress
+                       |netmask
+                       |etheraddress
+                       |groupname
+                       |library
+                       |macro
+                       |osname
+                       |filesystem
+                       |resource
+                       |systemname
+                       |username
+                       |newsgroup)     #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %systemitem.role.attrib;
+               %local.systemitem.attrib;
+>
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+<!ATTLIST userinput
+               %moreinfo.attrib;
+               %common.attrib;
+               %userinput.role.attrib;
+               %local.userinput.attrib;
+>
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+<!ELEMENT abbrev  (%word.char.mix;)*>
+<!ATTLIST abbrev
+               %common.attrib;
+               %abbrev.role.attrib;
+               %local.abbrev.attrib;
+>
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+<!ELEMENT acronym  (%word.char.mix;)*
+               >
+<!ATTLIST acronym
+               %common.attrib;
+               %acronym.role.attrib;
+               %local.acronym.attrib;
+>
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+<!ELEMENT citetitle  (%para.char.mix;)*>
+<!ATTLIST citetitle
+               pubwork         (article
+                               |book
+                               |chapter
+                               |part
+                               |refentry
+                               |section
+                               |journal
+                               |series
+                               |set
+                               |manuscript)    #IMPLIED
+               %common.attrib;
+               %citetitle.role.attrib;
+               %local.citetitle.attrib;
+>
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+<!ELEMENT emphasis  (%para.char.mix;)*>
+<!ATTLIST emphasis
+               %common.attrib;
+               %emphasis.role.attrib;
+               %local.emphasis.attrib;
+>
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+<!ELEMENT phrase  (%para.char.mix;)*>
+<!ATTLIST phrase
+               %common.attrib;
+               %phrase.role.attrib;
+               %local.phrase.attrib;
+>
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+<!ELEMENT quote  (%para.char.mix;)*>
+<!ATTLIST quote
+               %common.attrib;
+               %quote.role.attrib;
+               %local.quote.attrib;
+>
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+<!ATTLIST trademark
+               class           (service
+                               |trade
+                               |registered
+                               |copyright)     'trade'
+               %common.attrib;
+               %trademark.role.attrib;
+               %local.trademark.attrib;
+>
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+<!ELEMENT link  (%para.char.mix;)*
+               >
+<!ATTLIST link
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             type            CDATA           
#IMPLIED
+               %common.attrib;
+               %link.role.attrib;
+               %local.link.attrib;
+>
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+<!ELEMENT ulink  (%para.char.mix;)*
+               >
+<!ATTLIST ulink
+               url             CDATA           #REQUIRED
+               type            CDATA           #IMPLIED
+               %common.attrib;
+               %ulink.role.attrib;
+               %local.ulink.attrib;
+>
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+<!ELEMENT footnoteref  EMPTY>
+<!ATTLIST footnoteref
+               %linkendreq.attrib;             %label.attrib;
+               %common.attrib;
+               %footnoteref.role.attrib;
+               %local.footnoteref.attrib;
+>
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+<!ELEMENT xref  EMPTY>
+<!ATTLIST xref
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             %common.attrib;
+               %xref.role.attrib;
+               %local.xref.attrib;
+>
+<!ENTITY % local.appendix.class "">
+<!ENTITY % appendix.class      "appendix %local.appendix.class;">
+<!ENTITY % div.title.content
+       "title, subtitle?, titleabbrev?">
+<!ENTITY % bookcomponent.title.content
+       "title, subtitle?, titleabbrev?">
+<!ENTITY % sect.title.content
+       "title, subtitle?, titleabbrev?">
+<!ENTITY % local.appendix.attrib "">
+<!ENTITY % appendix.role.attrib "%role.attrib;">
+<!ATTLIST appendix
+               %label.attrib;
+               %status.attrib;
+               %common.attrib;
+               %appendix.role.attrib;
+               %local.appendix.attrib;
+>
+<!ENTITY % local.section.attrib "">
+<!ENTITY % section.role.attrib "%role.attrib;">
+<!ATTLIST section
+               %label.attrib;
+               %status.attrib;
+               %common.attrib;
+               %section.role.attrib;
+               %local.section.attrib;
+>
+<!ENTITY % local.bibliography.attrib "">
+<!ENTITY % bibliography.role.attrib "%role.attrib;">
+<!ATTLIST bibliography
+               %status.attrib;
+               %common.attrib;
+               %bibliography.role.attrib;
+               %local.bibliography.attrib;
+>
+<!ENTITY % local.bibliodiv.attrib "">
+<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
+<!ATTLIST bibliodiv
+               %status.attrib;
+               %common.attrib;
+               %bibliodiv.role.attrib;
+               %local.bibliodiv.attrib;
+>
+<!ENTITY % local.article.attrib "">
+<!ENTITY % article.role.attrib "%role.attrib;">
+<!ATTLIST article
+               class           (journalarticle
+                               |productsheet
+                               |whitepaper
+                               |techreport
+                                |specification
+                               |faq)           #IMPLIED
+               parentbook      IDREF           #IMPLIED
+               %status.attrib;
+               %common.attrib;
+               %article.role.attrib;
+               %local.article.attrib;
+>
+<!ELEMENT objectinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT section (sectioninfo?,
+                       (%sect.title.content;),
+                       (((%divcomponent.mix;)+, section*)
+                        | section+))>
+<!ELEMENT sectioninfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT authorgroup ((author|editor|corpauthor|othercredit)+)>
+<!ELEMENT author ((%person.ident.mix;)+)>
+<!ELEMENT editor ((%person.ident.mix;)+)>
+<!ELEMENT othercredit ((%person.ident.mix;)+)>
+<!ELEMENT affiliation (jobtitle?, orgname?)>
+<!ELEMENT para (%para.char.mix;)*>
+<!ELEMENT informaltable (mediaobject+|tgroup+) >
+<!ELEMENT replaceable (#PCDATA 
+               | %link.char.class; 
+               | inlinemediaobject)*>
+<!ELEMENT trademark (#PCDATA 
+               | %link.char.class; 
+               | %tech.char.class;
+               | inlinemediaobject
+               | emphasis)*>
+<!ELEMENT article ((%div.title.content;)?, articleinfo?,
+                      (%bookcomponent.content;),
+                      ((%appendix.class;)|bibliography)*)>
+<!ELEMENT articleinfo ((mediaobject | legalnotice
+       | subjectset | keywordset | %bibliocomponent.mix;)+)>
+<!ELEMENT appendix ((%bookcomponent.title.content;),
+               (%bookcomponent.content;))>
+<!ELEMENT bibliography ((%bookcomponent.title.content;)?,
+                        (%component.mix;)*,
+                        (bibliodiv+ | bibliomixed+))>
+<!ELEMENT bibliomixed (#PCDATA | %bibliocomponent.mix; | bibliomset)*>
+<!ELEMENT bibliodiv ((%sect.title.content;)?, (%component.mix;)*,
+               (bibliomixed)+)>
+<!ELEMENT sidebar ((%formalobject.title.content;)?,
+                   (%sidebar.mix;)+)>
+<!ELEMENT programlisting (%para.char.mix; | lineannotation)*>
+<!ELEMENT literallayout (%para.char.mix; | lineannotation)*>
+<!ELEMENT itemizedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+<!ELEMENT orderedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+<!ELEMENT variablelist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, varlistentry+)>
+<!ELEMENT example ((%formalobject.title.content;), (%example.mix;)+)
+               >
+<!ELEMENT figure ((%formalobject.title.content;),
+                       (%figure.mix; | %link.char.class;)+)>
+<!ELEMENT legalnotice (title?, (%legalnotice.mix;)+)
+               >
+<!ELEMENT systemitem (%cptr.char.mix; | acronym)*>
+<!ELEMENT computeroutput  (%cptr.char.mix;)*>
+<!ELEMENT userinput  (%cptr.char.mix;)*>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbookref-custom.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbookref-custom.dtd
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,60 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook RefEntry DTD V1.0 ................................. -->
+<!-- File sdocbookref-custom.dtd .......................................... -->
+
+<!-- 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: sdocbookref-custom.dtd,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V1.0 of the Simplified DocBook
+     RefEntry XML DTD. Please use the following formal public identifier
+     to identify it:
+
+     "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+
+     For example:
+
+     <!DOCTYPE article
+               PUBLIC "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+      "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbookref.dtd";
+     [...]>
+-->
+
+<!-- ...................................................................... -->
+
+<!ENTITY % include.refentry "INCLUDE">
+
+<!ENTITY % local.refclass.char.mix "">
+<!ENTITY % refclass.char.mix
+               "#PCDATA
+               %local.refclass.char.mix;">
+
+<!ENTITY % sdocbook-custom.dtd SYSTEM "sdocbook-custom.dtd">
+%sdocbook-custom.dtd;
+
+<!-- End of Simplified DocBook RefEntry DTD V1.0 .......................... -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbookref.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sdocbookref.dtd
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1824 @@
+<!-- *********************************************************************
+     *** THIS IS THE FLATTENED DTD. DO NOT EDIT THIS DTD BY HAND, EDIT ***
+     *** THE CUSTOMIZATION LAYER AND REGNERATE THE FLATTENED DTD! ********
+     ********************************************************************* -->
+
+<!-- ...................................................................... -->
+<!-- Simplified DocBook RefEntry DTD V1.0 ................................. -->
+<!-- File sdocbookref-custom.dtd .......................................... -->
+
+<!-- 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: sdocbookref.dtd,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V1.0 of the Simplified DocBook
+     RefEntry XML DTD. Please use the following formal public identifier
+     to identify it:
+
+     "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+
+     For example:
+
+     <!DOCTYPE article
+               PUBLIC "-//OASIS//DTD Simplified DocBook RefEntry XML V1.0//EN"
+      "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbookref.dtd";
+     [...]>
+-->
+
+<!-- ...................................................................... -->
+
+
+<!ENTITY % local.refclass.char.mix "">
+<!ENTITY % refclass.char.mix
+               "#PCDATA
+               %local.refclass.char.mix;">
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+               "itemizedlist|orderedlist
+               |variablelist %local.list.class;">
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+               "note %local.admon.class;">
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+               "literallayout|programlisting %local.linespecific.class;">
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+               "para %local.para.class;">
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+               "blockquote
+               |mediaobject
+               |informaltable %local.informal.class;">
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+               "example|figure|table %local.formal.class;">
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+               "sidebar %local.compound.class;">
+<!ENTITY % local.descobj.class "">
+<!ENTITY % descobj.class
+               "abstract|authorblurb|epigraph
+               %local.descobj.class;">
+<!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|citetitle|emphasis|footnote|phrase
+               |quote|trademark %local.gen.char.class;">
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+               "link|ulink %local.link.char.class;">
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+               "command|computeroutput
+               |email|filename
+               |literal
+               |option
+               |replaceable
+               |systemitem|userinput
+               %local.tech.char.class;">
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+               "author|corpauthor|othercredit
+               |revhistory
+               %local.docinfo.char.class;">
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+               "inlinemediaobject %local.inlineobj.char.class;">
+<!ENTITY % local.common.attrib "">
+<!ENTITY % common.attrib
+       "id             ID              #IMPLIED
+       lang            CDATA           #IMPLIED
+       revisionflag    (changed
+                       |added
+                       |deleted
+                       |off)           #IMPLIED
+       %local.common.attrib;"
+>
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+               "honorific|firstname|surname|lineage|othername|affiliation
+               |authorblurb
+               %local.person.ident.mix;">
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+               "abbrev|abstract|author
+               |authorgroup|bibliomisc
+               |copyright|corpauthor|date|edition
+               |editor|issuenum
+               |othercredit
+               |pubdate|publishername
+               |releaseinfo|revhistory
+               |subtitle|title|titleabbrev|volumenum|citetitle
+               |%person.ident.mix;
+               %local.bibliocomponent.mix;">
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.component.mix;">
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.sidebar.mix;">
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.revdescription.mix;">
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.footnote.mix;">
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               %local.example.mix;">
+<!ENTITY % local.admon.mix "">
+<!ENTITY % admon.mix
+               "%list.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;
+               %local.admon.mix;">
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+               "%linespecific.class;
+                                       |%informal.class;
+               %local.figure.mix;">
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |mediaobject
+               %local.tabentry.mix;">
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.legalnotice.mix;">
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |blockquote
+               %local.textobject.mix;">
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+               "                        %admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+                                       |%descobj.class;
+               %local.listpreamble.mix;">
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+                                       |%inlineobj.char.class;
+               %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;
+                                       |%docinfo.char.class;
+                                       |%inlineobj.char.class;
+               %local.title.char.mix;">
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+               "#PCDATA
+               |%link.char.class;      |%tech.char.class;
+                                       |inlinemediaobject
+               %local.cptr.char.mix;">
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+               "#PCDATA
+                                       |acronym|emphasis|trademark
+               |%link.char.class;
+                                       |inlinemediaobject
+               %local.word.char.mix;">
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+               "#PCDATA
+               |%link.char.class;
+                                       |emphasis|trademark
+                                       |replaceable
+                                       |inlinemediaobject
+               %local.docinfo.char.mix;">
+<!ENTITY % tbl.table.mdl
+       "(title, (mediaobject+|tgroup+))">
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+<!ENTITY % bookcomponent.content
+       "((%divcomponent.mix;)+, section*)
+       | section+">
+<!ENTITY % local.refinline.char.mix "">
+<!ENTITY % refinline.char.mix
+               "#PCDATA
+               |%xref.char.class;      |%gen.char.class;
+               |%link.char.class;      |%tech.char.class;
+               %local.refinline.char.mix;">
+<!ENTITY % local.refcomponent.mix "">
+<!ENTITY % refcomponent.mix
+               "%list.class;           |%admon.class;
+               |%linespecific.class;
+               |%para.class;           |%informal.class;
+               |%formal.class;         |%compound.class;
+                                       |%descobj.class;
+               %local.divcomponent.mix;">
+<!ELEMENT refentry (refentryinfo?, refmeta?, (%link.char.class;)*,
+                    refnamediv, refsynopsisdiv?, refsect1+)>
+<!ELEMENT refentryinfo ((mediaobject | legalnotice
+               | subjectset | keywordset
+                | %bibliocomponent.mix;)+)>
+<!ELEMENT refmeta (refentrytitle, manvolnum?, refmiscinfo*)>
+<!ELEMENT refsect1info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT refsect2info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT refsect3info ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT refsynopsisdivinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT refnamediv (refdescriptor?, refname+, refpurpose, refclass*,
+               (%link.char.class;)*)>
+<!ENTITY aacute        "&#x00E1;">
+<!ENTITY Aacute        "&#x00C1;">
+<!ENTITY acirc "&#x00E2;">
+<!ENTITY Acirc "&#x00C2;">
+<!ENTITY agrave        "&#x00E0;">
+<!ENTITY Agrave        "&#x00C0;">
+<!ENTITY aring "&#x00E5;">
+<!ENTITY Aring "&#x00C5;">
+<!ENTITY atilde        "&#x00E3;">
+<!ENTITY Atilde        "&#x00C3;">
+<!ENTITY auml  "&#x00E4;">
+<!ENTITY Auml  "&#x00C4;">
+<!ENTITY aelig "&#x00E6;">
+<!ENTITY AElig "&#x00C6;">
+<!ENTITY ccedil        "&#x00E7;">
+<!ENTITY Ccedil        "&#x00C7;">
+<!ENTITY eth   "&#x00F0;">
+<!ENTITY ETH   "&#x00D0;">
+<!ENTITY eacute        "&#x00E9;">
+<!ENTITY Eacute        "&#x00C9;">
+<!ENTITY ecirc "&#x00EA;">
+<!ENTITY Ecirc "&#x00CA;">
+<!ENTITY egrave        "&#x00E8;">
+<!ENTITY Egrave        "&#x00C8;">
+<!ENTITY euml  "&#x00EB;">
+<!ENTITY Euml  "&#x00CB;">
+<!ENTITY iacute        "&#x00ED;">
+<!ENTITY Iacute        "&#x00CD;">
+<!ENTITY icirc "&#x00EE;">
+<!ENTITY Icirc "&#x00CE;">
+<!ENTITY igrave        "&#x00EC;">
+<!ENTITY Igrave        "&#x00CC;">
+<!ENTITY iuml  "&#x00EF;">
+<!ENTITY Iuml  "&#x00CF;">
+<!ENTITY ntilde        "&#x00F1;">
+<!ENTITY Ntilde        "&#x00D1;">
+<!ENTITY oacute        "&#x00F3;">
+<!ENTITY Oacute        "&#x00D3;">
+<!ENTITY ocirc "&#x00F4;">
+<!ENTITY Ocirc "&#x00D4;">
+<!ENTITY ograve        "&#x00F2;">
+<!ENTITY Ograve        "&#x00D2;">
+<!ENTITY oslash        "&#x00F8;">
+<!ENTITY Oslash        "&#x00D8;">
+<!ENTITY otilde        "&#x00F5;">
+<!ENTITY Otilde        "&#x00D5;">
+<!ENTITY ouml  "&#x00F6;">
+<!ENTITY Ouml  "&#x00D6;">
+<!ENTITY szlig "&#x00DF;">
+<!ENTITY thorn "&#x00FE;">
+<!ENTITY THORN "&#x00DE;">
+<!ENTITY uacute        "&#x00FA;">
+<!ENTITY Uacute        "&#x00DA;">
+<!ENTITY ucirc "&#x00FB;">
+<!ENTITY Ucirc "&#x00DB;">
+<!ENTITY ugrave        "&#x00F9;">
+<!ENTITY Ugrave        "&#x00D9;">
+<!ENTITY uuml  "&#x00FC;">
+<!ENTITY Uuml  "&#x00DC;">
+<!ENTITY yacute        "&#x00FD;">
+<!ENTITY Yacute        "&#x00DD;">
+<!ENTITY yuml  "&#x00FF;">
+<!ENTITY half  "&#x00BD;">
+<!ENTITY frac12        "&#x00BD;">
+<!ENTITY frac14        "&#x00BC;">
+<!ENTITY frac34        "&#x00BE;">
+<!ENTITY frac18        "&#x215B;">
+<!ENTITY frac38        "&#x215C;">
+<!ENTITY frac58        "&#x215D;">
+<!ENTITY frac78        "&#x215E;">
+<!ENTITY sup1  "&#x00B9;">
+<!ENTITY sup2  "&#x00B2;">
+<!ENTITY sup3  "&#x00B3;">
+<!ENTITY plus  "&#x002B;">
+<!ENTITY plusmn        "&#x00B1;">
+<!ENTITY lt    "&#38;#60;">
+<!ENTITY equals        "&#x003D;">
+<!ENTITY gt    "&#x003E;">
+<!ENTITY divide        "&#x00F7;">
+<!ENTITY times "&#x00D7;">
+<!ENTITY curren        "&#x00A4;">
+<!ENTITY pound "&#x00A3;">
+<!ENTITY dollar        "&#x0024;">
+<!ENTITY cent  "&#x00A2;">
+<!ENTITY yen   "&#x00A5;">
+<!ENTITY num   "&#x0023;">
+<!ENTITY percnt        "&#x0025;">
+<!ENTITY amp   "&#38;#38;">
+<!ENTITY ast   "&#x002A;">
+<!ENTITY commat        "&#x0040;">
+<!ENTITY lsqb  "&#x005B;">
+<!ENTITY bsol  "&#x005C;">
+<!ENTITY rsqb  "&#x005D;">
+<!ENTITY lcub  "&#x007B;">
+<!ENTITY horbar        "&#x2015;">
+<!ENTITY verbar        "&#x007C;">
+<!ENTITY rcub  "&#x007D;">
+<!ENTITY micro "&#x00B5;">
+<!ENTITY ohm   "&#x2126;">
+<!ENTITY deg   "&#x00B0;">
+<!ENTITY ordm  "&#x00BA;">
+<!ENTITY ordf  "&#x00AA;">
+<!ENTITY sect  "&#x00A7;">
+<!ENTITY para  "&#x00B6;">
+<!ENTITY middot        "&#x00B7;">
+<!ENTITY larr  "&#x2190;">
+<!ENTITY rarr  "&#x2192;">
+<!ENTITY uarr  "&#x2191;">
+<!ENTITY darr  "&#x2193;">
+<!ENTITY copy  "&#x00A9;">
+<!ENTITY reg   "&#x00AE;">
+<!ENTITY trade "&#x2122;">
+<!ENTITY brvbar        "&#x00A6;">
+<!ENTITY not   "&#x00AC;">
+<!ENTITY sung  "&#x2669;">
+<!ENTITY excl  "&#x0021;">
+<!ENTITY iexcl "&#x00A1;">
+<!ENTITY quot  "&#x0022;">
+<!ENTITY apos  "&#x0027;">
+<!ENTITY lpar  "&#x0028;">
+<!ENTITY rpar  "&#x0029;">
+<!ENTITY comma "&#x002C;">
+<!ENTITY lowbar        "&#x005F;">
+<!ENTITY hyphen        "&#x002D;">
+<!ENTITY period        "&#x002E;">
+<!ENTITY sol   "&#x002F;">
+<!ENTITY colon "&#x003A;">
+<!ENTITY semi  "&#x003B;">
+<!ENTITY quest "&#x003F;">
+<!ENTITY iquest        "&#x00BF;">
+<!ENTITY laquo "&#x00AB;">
+<!ENTITY raquo "&#x00BB;">
+<!ENTITY lsquo "&#x2018;">
+<!ENTITY rsquo "&#x2019;">
+<!ENTITY ldquo "&#x201C;">
+<!ENTITY rdquo "&#x201D;">
+<!ENTITY nbsp  "&#x00A0;">
+<!ENTITY shy   "&#x00AD;">
+<!ENTITY emsp  "&#x2003;">
+<!ENTITY ensp  "&#x2002;">
+<!ENTITY emsp13        "&#x2004;">
+<!ENTITY emsp14        "&#x2005;">
+<!ENTITY numsp "&#x2007;">
+<!ENTITY puncsp        "&#x2008;">
+<!ENTITY thinsp        "&#x2009;">
+<!ENTITY hairsp        "&#x200A;">
+<!ENTITY mdash "&#x2014;">
+<!ENTITY ndash "&#x2013;">
+<!ENTITY dash  "&#x2010;">
+<!ENTITY blank "&#x2423;">
+<!ENTITY hellip        "&#x2026;">
+<!ENTITY nldr  "&#x2025;">
+<!ENTITY frac13        "&#x2153;">
+<!ENTITY frac23        "&#x2154;">
+<!ENTITY frac15        "&#x2155;">
+<!ENTITY frac25        "&#x2156;">
+<!ENTITY frac35        "&#x2157;">
+<!ENTITY frac45        "&#x2158;">
+<!ENTITY frac16        "&#x2159;">
+<!ENTITY frac56        "&#x215A;">
+<!ENTITY incare        "&#x2105;">
+<!ENTITY block "&#x2588;">
+<!ENTITY uhblk "&#x2580;">
+<!ENTITY lhblk "&#x2584;">
+<!ENTITY blk14 "&#x2591;">
+<!ENTITY blk12 "&#x2592;">
+<!ENTITY blk34 "&#x2593;">
+<!ENTITY marker        "&#x25AE;">
+<!ENTITY cir   "&#x25CB;">
+<!ENTITY squ   "&#x25A1;">
+<!ENTITY rect  "&#x25AD;">
+<!ENTITY utri  "&#x25B5;">
+<!ENTITY dtri  "&#x25BF;">
+<!ENTITY star  "&#x22C6;">
+<!ENTITY bull  "&#x2022;">
+<!ENTITY squf  "&#x25AA;">
+<!ENTITY utrif "&#x25B4;">
+<!ENTITY dtrif "&#x25BE;">
+<!ENTITY ltrif "&#x25C2;">
+<!ENTITY rtrif "&#x25B8;">
+<!ENTITY clubs "&#x2663;">
+<!ENTITY diams "&#x2666;">
+<!ENTITY hearts        "&#x2665;">
+<!ENTITY spades        "&#x2660;">
+<!ENTITY malt  "&#x2720;">
+<!ENTITY dagger        "&#x2020;">
+<!ENTITY Dagger        "&#x2021;">
+<!ENTITY check "&#x2713;">
+<!ENTITY cross "&#x2717;">
+<!ENTITY sharp "&#x266F;">
+<!ENTITY flat  "&#x266D;">
+<!ENTITY male  "&#x2642;">
+<!ENTITY female        "&#x2640;">
+<!ENTITY phone "&#x260E;">
+<!ENTITY telrec        "&#x2315;">
+<!ENTITY copysr        "&#x2117;">
+<!ENTITY caret "&#x2041;">
+<!ENTITY lsquor        "&#x201A;">
+<!ENTITY ldquor        "&#x201E;">
+<!ENTITY fflig "&#xFB00;">
+<!ENTITY filig "&#xFB01;">
+<!ENTITY ffilig        "&#xFB03;">
+<!ENTITY ffllig        "&#xFB04;">
+<!ENTITY fllig "&#xFB02;">
+<!ENTITY mldr  "&#x2026;">
+<!ENTITY rdquor        "&#x201C;">
+<!ENTITY rsquor        "&#x2018;">
+<!ENTITY vellip        "&#x22EE;">
+<!ENTITY hybull        "&#x2043;">
+<!ENTITY loz   "&#x25CA;">
+<!ENTITY lozf  "&#x2726;">
+<!ENTITY ltri  "&#x25C3;">
+<!ENTITY rtri  "&#x25B9;">
+<!ENTITY starf "&#x2605;">
+<!ENTITY natur "&#x266E;">
+<!ENTITY rx    "&#x211E;">
+<!ENTITY sext  "&#x2736;">
+<!ENTITY target        "&#x2316;">
+<!ENTITY dlcrop        "&#x230D;">
+<!ENTITY drcrop        "&#x230C;">
+<!ENTITY ulcrop        "&#x230F;">
+<!ENTITY urcrop        "&#x230E;">
+<!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">
+<!NOTATION SVG         SYSTEM "http://www.w3.org/TR/SVG/";>
+<!NOTATION linespecific        SYSTEM "linespecific">
+<!ENTITY euro "&#x20AC;">
+<!ENTITY % yesorno.attvals     "CDATA">
+<!ENTITY % formalobject.title.content "title, titleabbrev?">
+<!ENTITY % local.mediaobject.mix "">
+<!ENTITY % mediaobject.mix
+               "videoobject|audioobject|imageobject|textobject 
%local.mediaobject.mix;">
+<!ENTITY % role.attrib
+       "role           CDATA           #IMPLIED">
+<!ENTITY % label.attrib
+       "label          CDATA           #IMPLIED">
+<!ENTITY % linespecific.attrib
+       "format         NOTATION
+                       (linespecific)  'linespecific'
+         linenumbering (numbered|unnumbered)   #IMPLIED">
+<!ENTITY % linkendreq.attrib
+       "linkend        IDREF           #REQUIRED">
+<!ENTITY % local.mark.attrib "">
+<!ENTITY % mark.attrib
+       "mark           CDATA           #IMPLIED
+       %local.mark.attrib;"
+>
+<!ENTITY % moreinfo.attrib
+       "moreinfo       (refentry|none) 'none'">
+<!ENTITY % pagenum.attrib
+       "pagenum        CDATA           #IMPLIED">
+<!ENTITY % local.status.attrib "">
+<!ENTITY % status.attrib
+       "status         CDATA           #IMPLIED
+       %local.status.attrib;"
+>
+<!ENTITY % width.attrib
+       "width          CDATA           #IMPLIED">
+<!ENTITY % local.title.attrib "">
+<!ENTITY % title.role.attrib "%role.attrib;">
+<!ELEMENT title  (%title.char.mix;)*>
+<!ATTLIST title
+               %pagenum.attrib;
+               %common.attrib;
+               %title.role.attrib;
+               %local.title.attrib;
+>
+<!ENTITY % local.titleabbrev.attrib "">
+<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
+<!ELEMENT titleabbrev  (%title.char.mix;)*>
+<!ATTLIST titleabbrev
+               %common.attrib;
+               %titleabbrev.role.attrib;
+               %local.titleabbrev.attrib;
+>
+<!ENTITY % local.subtitle.attrib "">
+<!ENTITY % subtitle.role.attrib "%role.attrib;">
+<!ELEMENT subtitle  (%title.char.mix;)*>
+<!ATTLIST subtitle
+               %common.attrib;
+               %subtitle.role.attrib;
+               %local.subtitle.attrib;
+>
+<!ENTITY % local.bibliomixed.attrib "">
+<!ENTITY % bibliomixed.role.attrib "%role.attrib;">
+<!ATTLIST bibliomixed
+               %common.attrib;
+               %bibliomixed.role.attrib;
+               %local.bibliomixed.attrib;
+>
+<!ENTITY % local.articleinfo.attrib "">
+<!ENTITY % articleinfo.role.attrib "%role.attrib;">
+<!ATTLIST articleinfo
+               %common.attrib;
+               %articleinfo.role.attrib;
+               %local.articleinfo.attrib;
+>
+<!ENTITY % bibliomset.role.attrib "%role.attrib;">
+<!ENTITY % local.bibliomset.attrib "">
+<!ELEMENT bibliomset  (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+                      >
+<!ATTLIST bibliomset
+               relation        CDATA           #IMPLIED
+               %common.attrib;
+               %bibliomset.role.attrib;
+               %local.bibliomset.attrib;
+>
+<!ENTITY % local.bibliomisc.attrib "">
+<!ENTITY % bibliomisc.role.attrib "%role.attrib;">
+<!ELEMENT bibliomisc  (%para.char.mix;)*>
+<!ATTLIST bibliomisc
+               %common.attrib;
+               %bibliomisc.role.attrib;
+               %local.bibliomisc.attrib;
+>
+<!ENTITY % local.subjectset.attrib "">
+<!ENTITY % subjectset.role.attrib "%role.attrib;">
+<!ELEMENT subjectset  (subject+)>
+<!ATTLIST subjectset
+               scheme          NMTOKEN         #IMPLIED
+               %common.attrib;
+               %subjectset.role.attrib;
+               %local.subjectset.attrib;
+>
+<!ENTITY % local.subject.attrib "">
+<!ENTITY % subject.role.attrib "%role.attrib;">
+<!ELEMENT subject  (subjectterm+)>
+<!ATTLIST subject
+               weight          CDATA           #IMPLIED
+               %common.attrib;
+               %subject.role.attrib;
+               %local.subject.attrib;
+>
+<!ENTITY % local.subjectterm.attrib "">
+<!ENTITY % subjectterm.role.attrib "%role.attrib;">
+<!ELEMENT subjectterm  (#PCDATA)>
+<!ATTLIST subjectterm
+               %common.attrib;
+               %subjectterm.role.attrib;
+               %local.subjectterm.attrib;
+>
+<!ENTITY % local.keywordset.attrib "">
+<!ENTITY % keywordset.role.attrib "%role.attrib;">
+<!ELEMENT keywordset  (keyword+)>
+<!ATTLIST keywordset
+               %common.attrib;
+               %keywordset.role.attrib;
+               %local.keywordset.attrib;
+>
+<!ENTITY % local.keyword.attrib "">
+<!ENTITY % keyword.role.attrib "%role.attrib;">
+<!ELEMENT keyword  (#PCDATA)>
+<!ATTLIST keyword
+               %common.attrib;
+               %keyword.role.attrib;
+               %local.keyword.attrib;
+>
+<!ENTITY % local.sidebar.attrib "">
+<!ENTITY % sidebar.role.attrib "%role.attrib;">
+<!ATTLIST sidebar
+               %common.attrib;
+               %sidebar.role.attrib;
+               %local.sidebar.attrib;
+>
+<!ENTITY % local.abstract.attrib "">
+<!ENTITY % abstract.role.attrib "%role.attrib;">
+<!ELEMENT abstract  (title?, (%para.class;)+)>
+<!ATTLIST abstract
+               %common.attrib;
+               %abstract.role.attrib;
+               %local.abstract.attrib;
+>
+<!ENTITY % local.authorblurb.attrib "">
+<!ENTITY % authorblurb.role.attrib "%role.attrib;">
+<!ELEMENT authorblurb  (title?, (%para.class;)+)>
+<!ATTLIST authorblurb
+               %common.attrib;
+               %authorblurb.role.attrib;
+               %local.authorblurb.attrib;
+>
+<!ENTITY % local.blockquote.attrib "">
+<!ENTITY % blockquote.role.attrib "%role.attrib;">
+<!ELEMENT blockquote  (title?, attribution?, (%component.mix;)+)
+                      >
+<!ATTLIST blockquote
+               %common.attrib;
+               %blockquote.role.attrib;
+               %local.blockquote.attrib;
+>
+<!ENTITY % local.attribution.attrib "">
+<!ENTITY % attribution.role.attrib "%role.attrib;">
+<!ELEMENT attribution  (%para.char.mix;)*>
+<!ATTLIST attribution
+               %common.attrib;
+               %attribution.role.attrib;
+               %local.attribution.attrib;
+>
+<!ENTITY % local.epigraph.attrib "">
+<!ENTITY % epigraph.role.attrib "%role.attrib;">
+<!ELEMENT epigraph  (attribution?, ((%para.class;)|literallayout)+)>
+<!ATTLIST epigraph
+               %common.attrib;
+               %epigraph.role.attrib;
+               %local.epigraph.attrib;
+>
+<!ENTITY % local.footnote.attrib "">
+<!ENTITY % footnote.role.attrib "%role.attrib;">
+<!ELEMENT footnote  ((%footnote.mix;)+)
+                      >
+<!ATTLIST footnote
+               %label.attrib;
+               %common.attrib;
+               %footnote.role.attrib;
+               %local.footnote.attrib;
+>
+<!ENTITY % local.para.attrib "">
+<!ENTITY % para.role.attrib "%role.attrib;">
+<!ATTLIST para
+               %common.attrib;
+               %para.role.attrib;
+               %local.para.attrib;
+>
+<!ENTITY % local.admon.attrib "">
+<!ENTITY % admon.role.attrib "%role.attrib;">
+<!ELEMENT note  (title?, (%admon.mix;)+)
+                      >
+<!ATTLIST note
+               %common.attrib;
+               %admon.role.attrib;
+               %local.admon.attrib;
+>
+<!ENTITY % local.itemizedlist.attrib "">
+<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
+<!ATTLIST itemizedlist         spacing         (normal
+                               |compact)       #IMPLIED
+               %mark.attrib;
+               %common.attrib;
+               %itemizedlist.role.attrib;
+               %local.itemizedlist.attrib;
+>
+<!ENTITY % local.orderedlist.attrib "">
+<!ENTITY % orderedlist.role.attrib "%role.attrib;">
+<!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;
+>
+<!ENTITY % local.listitem.attrib "">
+<!ENTITY % listitem.role.attrib "%role.attrib;">
+<!ELEMENT listitem  ((%component.mix;)+)>
+<!ATTLIST listitem
+               override        CDATA           #IMPLIED
+               %common.attrib;
+               %listitem.role.attrib;
+               %local.listitem.attrib;
+>
+<!ENTITY % local.variablelist.attrib "">
+<!ENTITY % variablelist.role.attrib "%role.attrib;">
+<!ATTLIST variablelist
+               termlength      CDATA           #IMPLIED
+               %common.attrib;
+               %variablelist.role.attrib;
+               %local.variablelist.attrib;
+>
+<!ENTITY % local.varlistentry.attrib "">
+<!ENTITY % varlistentry.role.attrib "%role.attrib;">
+<!ELEMENT varlistentry  (term+, listitem)>
+<!ATTLIST varlistentry
+               %common.attrib;
+               %varlistentry.role.attrib;
+               %local.varlistentry.attrib;
+>
+<!ENTITY % local.term.attrib "">
+<!ENTITY % term.role.attrib "%role.attrib;">
+<!ELEMENT term  (%para.char.mix;)*>
+<!ATTLIST term
+               %common.attrib;
+               %term.role.attrib;
+               %local.term.attrib;
+>
+<!ENTITY % local.example.attrib "">
+<!ENTITY % example.role.attrib "%role.attrib;">
+<!ATTLIST example
+               %label.attrib;
+               %width.attrib;
+               %common.attrib;
+               %example.role.attrib;
+               %local.example.attrib;
+>
+<!ENTITY % local.programlisting.attrib "">
+<!ENTITY % programlisting.role.attrib "%role.attrib;">
+<!ATTLIST programlisting
+               %width.attrib;
+               %linespecific.attrib;
+               %common.attrib;
+               %programlisting.role.attrib;
+               %local.programlisting.attrib;
+>
+<!ENTITY % local.literallayout.attrib "">
+<!ENTITY % literallayout.role.attrib "%role.attrib;">
+<!ATTLIST literallayout
+               %width.attrib;
+               %linespecific.attrib;
+               class   (monospaced|normal)     "normal"
+               %common.attrib;
+               %literallayout.role.attrib;
+               %local.literallayout.attrib;
+>
+<!ENTITY % local.figure.attrib "">
+<!ENTITY % figure.role.attrib "%role.attrib;">
+<!ATTLIST figure
+               float           %yesorno.attvals;       '0'
+               pgwide          %yesorno.attvals;       #IMPLIED
+               %label.attrib;
+               %common.attrib;
+               %figure.role.attrib;
+               %local.figure.attrib;
+>
+<!ENTITY % local.mediaobject.attrib "">
+<!ENTITY % mediaobject.role.attrib "%role.attrib;">
+<!ELEMENT mediaobject  (objectinfo?,
+                           (%mediaobject.mix;)+,
+                          caption?)>
+<!ATTLIST mediaobject
+               %common.attrib;
+               %mediaobject.role.attrib;
+               %local.mediaobject.attrib;
+>
+<!ENTITY % local.inlinemediaobject.attrib "">
+<!ENTITY % inlinemediaobject.role.attrib "%role.attrib;">
+<!ELEMENT inlinemediaobject  (objectinfo?,
+                                (%mediaobject.mix;)+)>
+<!ATTLIST inlinemediaobject
+               %common.attrib;
+               %inlinemediaobject.role.attrib;
+               %local.inlinemediaobject.attrib;
+>
+<!ENTITY % local.videoobject.attrib "">
+<!ENTITY % videoobject.role.attrib "%role.attrib;">
+<!ELEMENT videoobject  (objectinfo?, videodata)>
+<!ATTLIST videoobject
+               %common.attrib;
+               %videoobject.role.attrib;
+               %local.videoobject.attrib;
+>
+<!ENTITY % local.audioobject.attrib "">
+<!ENTITY % audioobject.role.attrib "%role.attrib;">
+<!ELEMENT audioobject  (objectinfo?, audiodata)>
+<!ATTLIST audioobject
+               %common.attrib;
+               %audioobject.role.attrib;
+               %local.audioobject.attrib;
+>
+<!ENTITY % local.imageobject.attrib "">
+<!ENTITY % imageobject.role.attrib "%role.attrib;">
+<!ELEMENT imageobject  (objectinfo?, imagedata)>
+<!ATTLIST imageobject
+               %common.attrib;
+               %imageobject.role.attrib;
+               %local.imageobject.attrib;
+>
+<!ENTITY % local.textobject.attrib "">
+<!ENTITY % textobject.role.attrib "%role.attrib;">
+<!ELEMENT textobject  (objectinfo?, (phrase|textdata|(%textobject.mix;)+))>
+<!ATTLIST textobject
+               %common.attrib;
+               %textobject.role.attrib;
+               %local.textobject.attrib;
+>
+<!ENTITY % local.objectinfo.attrib "">
+<!ENTITY % objectinfo.role.attrib "%role.attrib;">
+<!ATTLIST objectinfo
+               %common.attrib;
+               %objectinfo.role.attrib;
+               %local.objectinfo.attrib;
+>
+<!ENTITY % local.objectdata.attrib "">
+<!ENTITY % objectdata.attrib
+       "
+       entityref       ENTITY          #IMPLIED
+       fileref         CDATA           #IMPLIED
+       format          (%notation.class;)
+                                       #IMPLIED
+       srccredit       CDATA           #IMPLIED
+       %local.objectdata.attrib;"
+>
+<!ENTITY % local.videodata.attrib "">
+<!ENTITY % videodata.role.attrib "%role.attrib;">
+<!ELEMENT videodata  EMPTY>
+<!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;
+>
+<!ENTITY % local.audiodata.attrib "">
+<!ENTITY % audiodata.role.attrib "%role.attrib;">
+<!ELEMENT audiodata  EMPTY>
+<!ATTLIST audiodata
+               %objectdata.attrib;
+               %common.attrib;
+               %audiodata.role.attrib;
+               %local.audiodata.attrib;
+>
+<!ENTITY % local.imagedata.attrib "">
+<!ENTITY % imagedata.role.attrib "%role.attrib;">
+<!ELEMENT imagedata  EMPTY>
+<!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;
+>
+<!ENTITY % local.textdata.attrib "">
+<!ENTITY % textdata.role.attrib "%role.attrib;">
+<!ELEMENT textdata  EMPTY>
+<!ATTLIST textdata
+               encoding        CDATA   #IMPLIED
+               %objectdata.attrib;
+               %common.attrib;
+               %textdata.role.attrib;
+               %local.textdata.attrib;
+>
+<!ENTITY % local.caption.attrib "">
+<!ENTITY % caption.role.attrib "%role.attrib;">
+<!ELEMENT caption  (%textobject.mix;)*>
+<!ATTLIST caption
+               %common.attrib;
+               %caption.role.attrib;
+               %local.caption.attrib;
+>
+<!ENTITY % tables.role.attrib "%role.attrib;">
+<!ENTITY % bodyatt "%label.attrib;">
+<!ENTITY % secur
+       "%common.attrib;
+       %tables.role.attrib;">
+<!ENTITY % common.table.attribs
+       "%bodyatt;
+       %secur;">
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+<!ENTITY % yesorno 'CDATA'>
+<!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">
+<!ELEMENT table  (%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  (%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  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  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  (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT tfoot  (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT tbody  (row+)>
+<!ATTLIST tbody
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT row  (%tbl.row.mdl;)>
+<!ATTLIST row
+        rowsep          %yesorno;                               #IMPLIED
+        valign          (top|middle|bottom)                     #IMPLIED
+        %secur;
+>
+<!ELEMENT entrytbl  (%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  (%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;
+>
+<!ENTITY % local.informaltable.attrib "">
+<!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;
+>
+<!ENTITY % local.affiliation.attrib "">
+<!ENTITY % affiliation.role.attrib "%role.attrib;">
+<!ATTLIST affiliation
+               %common.attrib;
+               %affiliation.role.attrib;
+               %local.affiliation.attrib;
+>
+<!ENTITY % local.jobtitle.attrib "">
+<!ENTITY % jobtitle.role.attrib "%role.attrib;">
+<!ELEMENT jobtitle  (%docinfo.char.mix;)*>
+<!ATTLIST jobtitle
+               %common.attrib;
+               %jobtitle.role.attrib;
+               %local.jobtitle.attrib;
+>
+<!ENTITY % local.author.attrib "">
+<!ENTITY % author.role.attrib "%role.attrib;">
+<!ATTLIST author
+               %common.attrib;
+               %author.role.attrib;
+               %local.author.attrib;
+>
+<!ENTITY % local.authorgroup.attrib "">
+<!ENTITY % authorgroup.role.attrib "%role.attrib;">
+<!ATTLIST authorgroup
+               %common.attrib;
+               %authorgroup.role.attrib;
+               %local.authorgroup.attrib;
+>
+<!ENTITY % local.authorinitials.attrib "">
+<!ENTITY % authorinitials.role.attrib "%role.attrib;">
+<!ELEMENT authorinitials  (%docinfo.char.mix;)*>
+<!ATTLIST authorinitials
+               %common.attrib;
+               %authorinitials.role.attrib;
+               %local.authorinitials.attrib;
+>
+<!ENTITY % local.copyright.attrib "">
+<!ENTITY % copyright.role.attrib "%role.attrib;">
+<!ELEMENT copyright  (year+, holder*)>
+<!ATTLIST copyright
+               %common.attrib;
+               %copyright.role.attrib;
+               %local.copyright.attrib;
+>
+<!ENTITY % local.year.attrib "">
+<!ENTITY % year.role.attrib "%role.attrib;">
+<!ELEMENT year  (%docinfo.char.mix;)*>
+<!ATTLIST year
+               %common.attrib;
+               %year.role.attrib;
+               %local.year.attrib;
+>
+<!ENTITY % local.holder.attrib "">
+<!ENTITY % holder.role.attrib "%role.attrib;">
+<!ELEMENT holder  (%docinfo.char.mix;)*>
+<!ATTLIST holder
+               %common.attrib;
+               %holder.role.attrib;
+               %local.holder.attrib;
+>
+<!ENTITY % local.corpauthor.attrib "">
+<!ENTITY % corpauthor.role.attrib "%role.attrib;">
+<!ELEMENT corpauthor  (%docinfo.char.mix;)*>
+<!ATTLIST corpauthor
+               %common.attrib;
+               %corpauthor.role.attrib;
+               %local.corpauthor.attrib;
+>
+<!ENTITY % local.date.attrib "">
+<!ENTITY % date.role.attrib "%role.attrib;">
+<!ELEMENT date  (%docinfo.char.mix;)*>
+<!ATTLIST date
+               %common.attrib;
+               %date.role.attrib;
+               %local.date.attrib;
+>
+<!ENTITY % local.edition.attrib "">
+<!ENTITY % edition.role.attrib "%role.attrib;">
+<!ELEMENT edition  (%docinfo.char.mix;)*>
+<!ATTLIST edition
+               %common.attrib;
+               %edition.role.attrib;
+               %local.edition.attrib;
+>
+<!ENTITY % local.editor.attrib "">
+<!ENTITY % editor.role.attrib "%role.attrib;">
+<!ATTLIST editor
+               %common.attrib;
+               %editor.role.attrib;
+               %local.editor.attrib;
+>
+<!ENTITY % local.issuenum.attrib "">
+<!ENTITY % issuenum.role.attrib "%role.attrib;">
+<!ELEMENT issuenum  (%docinfo.char.mix;)*>
+<!ATTLIST issuenum
+               %common.attrib;
+               %issuenum.role.attrib;
+               %local.issuenum.attrib;
+>
+<!ENTITY % local.legalnotice.attrib "">
+<!ENTITY % legalnotice.role.attrib "%role.attrib;">
+<!ATTLIST legalnotice
+               %common.attrib;
+               %legalnotice.role.attrib;
+               %local.legalnotice.attrib;
+>
+<!ENTITY % local.orgname.attrib "">
+<!ENTITY % orgname.role.attrib "%role.attrib;">
+<!ELEMENT orgname  (%docinfo.char.mix;)*>
+<!ATTLIST orgname
+               %common.attrib;
+               class   (corporation|nonprofit|consortium|informal|other)       
#IMPLIED
+               otherclass      CDATA                   #IMPLIED
+               %orgname.role.attrib;
+               %local.orgname.attrib;
+>
+<!ENTITY % local.othercredit.attrib "">
+<!ENTITY % othercredit.role.attrib "%role.attrib;">
+<!ATTLIST othercredit
+               %common.attrib;
+               %othercredit.role.attrib;
+               %local.othercredit.attrib;
+>
+<!ENTITY % local.firstname.attrib "">
+<!ENTITY % firstname.role.attrib "%role.attrib;">
+<!ELEMENT firstname  (%docinfo.char.mix;)*>
+<!ATTLIST firstname
+               %common.attrib;
+               %firstname.role.attrib;
+               %local.firstname.attrib;
+>
+<!ENTITY % local.honorific.attrib "">
+<!ENTITY % honorific.role.attrib "%role.attrib;">
+<!ELEMENT honorific  (%docinfo.char.mix;)*>
+<!ATTLIST honorific
+               %common.attrib;
+               %honorific.role.attrib;
+               %local.honorific.attrib;
+>
+<!ENTITY % local.lineage.attrib "">
+<!ENTITY % lineage.role.attrib "%role.attrib;">
+<!ELEMENT lineage  (%docinfo.char.mix;)*>
+<!ATTLIST lineage
+               %common.attrib;
+               %lineage.role.attrib;
+               %local.lineage.attrib;
+>
+<!ENTITY % local.othername.attrib "">
+<!ENTITY % othername.role.attrib "%role.attrib;">
+<!ELEMENT othername  (%docinfo.char.mix;)*>
+<!ATTLIST othername
+               %common.attrib;
+               %othername.role.attrib;
+               %local.othername.attrib;
+>
+<!ENTITY % local.surname.attrib "">
+<!ENTITY % surname.role.attrib "%role.attrib;">
+<!ELEMENT surname  (%docinfo.char.mix;)*>
+<!ATTLIST surname
+               %common.attrib;
+               %surname.role.attrib;
+               %local.surname.attrib;
+>
+<!ENTITY % local.pubdate.attrib "">
+<!ENTITY % pubdate.role.attrib "%role.attrib;">
+<!ELEMENT pubdate  (%docinfo.char.mix;)*>
+<!ATTLIST pubdate
+               %common.attrib;
+               %pubdate.role.attrib;
+               %local.pubdate.attrib;
+>
+<!ENTITY % local.publishername.attrib "">
+<!ENTITY % publishername.role.attrib "%role.attrib;">
+<!ELEMENT publishername  (%docinfo.char.mix;)*>
+<!ATTLIST publishername
+               %common.attrib;
+               %publishername.role.attrib;
+               %local.publishername.attrib;
+>
+<!ENTITY % local.releaseinfo.attrib "">
+<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
+<!ELEMENT releaseinfo  (%docinfo.char.mix;)*>
+<!ATTLIST releaseinfo
+               %common.attrib;
+               %releaseinfo.role.attrib;
+               %local.releaseinfo.attrib;
+>
+<!ENTITY % local.revhistory.attrib "">
+<!ENTITY % revhistory.role.attrib "%role.attrib;">
+<!ELEMENT revhistory  (revision+)>
+<!ATTLIST revhistory
+               %common.attrib;
+               %revhistory.role.attrib;
+               %local.revhistory.attrib;
+>
+<!ENTITY % local.revision.attrib "">
+<!ENTITY % revision.role.attrib "%role.attrib;">
+<!ELEMENT revision  (revnumber, date, authorinitials*,
+                    (revremark|revdescription)?)>
+<!ATTLIST revision
+               %common.attrib;
+               %revision.role.attrib;
+               %local.revision.attrib;
+>
+<!ENTITY % local.revnumber.attrib "">
+<!ENTITY % revnumber.role.attrib "%role.attrib;">
+<!ELEMENT revnumber  (%docinfo.char.mix;)*>
+<!ATTLIST revnumber
+               %common.attrib;
+               %revnumber.role.attrib;
+               %local.revnumber.attrib;
+>
+<!ENTITY % local.revremark.attrib "">
+<!ENTITY % revremark.role.attrib "%role.attrib;">
+<!ELEMENT revremark  (%docinfo.char.mix;)*>
+<!ATTLIST revremark
+               %common.attrib;
+               %revremark.role.attrib;
+               %local.revremark.attrib;
+>
+<!ENTITY % local.revdescription.attrib "">
+<!ENTITY % revdescription.role.attrib "%role.attrib;">
+<!ELEMENT revdescription  ((%revdescription.mix;)+)>
+<!ATTLIST revdescription
+               %common.attrib;
+               %revdescription.role.attrib;
+               %local.revdescription.attrib;
+>
+<!ENTITY % local.volumenum.attrib "">
+<!ENTITY % volumenum.role.attrib "%role.attrib;">
+<!ELEMENT volumenum  (%docinfo.char.mix;)*>
+<!ATTLIST volumenum
+               %common.attrib;
+               %volumenum.role.attrib;
+               %local.volumenum.attrib;
+>
+<!ENTITY % local.command.attrib "">
+<!ENTITY % command.role.attrib "%role.attrib;">
+<!ELEMENT command  (%cptr.char.mix;)*>
+<!ATTLIST command
+               %moreinfo.attrib;
+               %common.attrib;
+               %command.role.attrib;
+               %local.command.attrib;
+>
+<!ENTITY % local.computeroutput.attrib "">
+<!ENTITY % computeroutput.role.attrib "%role.attrib;">
+<!ATTLIST computeroutput
+               %moreinfo.attrib;
+               %common.attrib;
+               %computeroutput.role.attrib;
+               %local.computeroutput.attrib;
+>
+<!ENTITY % local.email.attrib "">
+<!ENTITY % email.role.attrib "%role.attrib;">
+<!ELEMENT email  (%docinfo.char.mix;)*>
+<!ATTLIST email
+               %common.attrib;
+               %email.role.attrib;
+               %local.email.attrib;
+>
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+<!ELEMENT filename  (%cptr.char.mix;)*>
+<!ATTLIST filename
+               class           (headerfile
+                                |partition
+                                |devicefile
+                                |libraryfile
+                                |directory
+                                |extension
+                               |symlink)       #IMPLIED
+               path            CDATA           #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %filename.role.attrib;
+               %local.filename.attrib;
+>
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+<!ELEMENT lineannotation  (%para.char.mix;)*>
+<!ATTLIST lineannotation
+               %common.attrib;
+               %lineannotation.role.attrib;
+               %local.lineannotation.attrib;
+>
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+<!ELEMENT literal  (%cptr.char.mix;)*>
+<!ATTLIST literal
+               %moreinfo.attrib;
+               %common.attrib;
+               %literal.role.attrib;
+               %local.literal.attrib;
+>
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+<!ELEMENT option  (%cptr.char.mix;)*>
+<!ATTLIST option
+               %common.attrib;
+               %option.role.attrib;
+               %local.option.attrib;
+>
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+<!ATTLIST replaceable
+               class           (command
+                               |function
+                               |option
+                               |parameter)     #IMPLIED
+               %common.attrib;
+               %replaceable.role.attrib;
+               %local.replaceable.attrib;
+>
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+<!ATTLIST systemitem
+               class   (constant
+                       |event
+                       |eventhandler
+                       |domainname
+                       |fqdomainname
+                       |ipaddress
+                       |netmask
+                       |etheraddress
+                       |groupname
+                       |library
+                       |macro
+                       |osname
+                       |filesystem
+                       |resource
+                       |systemname
+                       |username
+                       |newsgroup)     #IMPLIED
+               %moreinfo.attrib;
+               %common.attrib;
+               %systemitem.role.attrib;
+               %local.systemitem.attrib;
+>
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+<!ATTLIST userinput
+               %moreinfo.attrib;
+               %common.attrib;
+               %userinput.role.attrib;
+               %local.userinput.attrib;
+>
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+<!ELEMENT abbrev  (%word.char.mix;)*>
+<!ATTLIST abbrev
+               %common.attrib;
+               %abbrev.role.attrib;
+               %local.abbrev.attrib;
+>
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+<!ELEMENT acronym  (%word.char.mix;)*
+               >
+<!ATTLIST acronym
+               %common.attrib;
+               %acronym.role.attrib;
+               %local.acronym.attrib;
+>
+<!ENTITY % local.refentrytitle.attrib "">
+<!ENTITY % refentrytitle.role.attrib "%role.attrib;">
+<!ELEMENT refentrytitle  (%para.char.mix;)*>
+<!ATTLIST refentrytitle
+               %common.attrib;
+               %refentrytitle.role.attrib;
+               %local.refentrytitle.attrib;
+>
+<!ENTITY % local.manvolnum.attrib "">
+<!ENTITY % namvolnum.role.attrib "%role.attrib;">
+<!ELEMENT manvolnum  (%word.char.mix;)*>
+<!ATTLIST manvolnum
+               %common.attrib;
+               %namvolnum.role.attrib;
+               %local.manvolnum.attrib;
+>
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+<!ELEMENT citetitle  (%para.char.mix;)*>
+<!ATTLIST citetitle
+               pubwork         (article
+                               |book
+                               |chapter
+                               |part
+                               |refentry
+                               |section
+                               |journal
+                               |series
+                               |set
+                               |manuscript)    #IMPLIED
+               %common.attrib;
+               %citetitle.role.attrib;
+               %local.citetitle.attrib;
+>
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+<!ELEMENT emphasis  (%para.char.mix;)*>
+<!ATTLIST emphasis
+               %common.attrib;
+               %emphasis.role.attrib;
+               %local.emphasis.attrib;
+>
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+<!ELEMENT phrase  (%para.char.mix;)*>
+<!ATTLIST phrase
+               %common.attrib;
+               %phrase.role.attrib;
+               %local.phrase.attrib;
+>
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+<!ELEMENT quote  (%para.char.mix;)*>
+<!ATTLIST quote
+               %common.attrib;
+               %quote.role.attrib;
+               %local.quote.attrib;
+>
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+<!ATTLIST trademark
+               class           (service
+                               |trade
+                               |registered
+                               |copyright)     'trade'
+               %common.attrib;
+               %trademark.role.attrib;
+               %local.trademark.attrib;
+>
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+<!ELEMENT link  (%para.char.mix;)*
+               >
+<!ATTLIST link
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             type            CDATA           
#IMPLIED
+               %common.attrib;
+               %link.role.attrib;
+               %local.link.attrib;
+>
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+<!ELEMENT ulink  (%para.char.mix;)*
+               >
+<!ATTLIST ulink
+               url             CDATA           #REQUIRED
+               type            CDATA           #IMPLIED
+               %common.attrib;
+               %ulink.role.attrib;
+               %local.ulink.attrib;
+>
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+<!ELEMENT footnoteref  EMPTY>
+<!ATTLIST footnoteref
+               %linkendreq.attrib;             %label.attrib;
+               %common.attrib;
+               %footnoteref.role.attrib;
+               %local.footnoteref.attrib;
+>
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+<!ELEMENT xref  EMPTY>
+<!ATTLIST xref
+               endterm         IDREF           #IMPLIED
+               %linkendreq.attrib;             %common.attrib;
+               %xref.role.attrib;
+               %local.xref.attrib;
+>
+<!ENTITY % local.appendix.class "">
+<!ENTITY % appendix.class      "appendix %local.appendix.class;">
+<!ENTITY % local.refname.char.mix "">
+<!ENTITY % refname.char.mix
+               "#PCDATA
+               |%tech.char.class;
+               %local.refname.char.mix;">
+<!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 % local.appendix.attrib "">
+<!ENTITY % appendix.role.attrib "%role.attrib;">
+<!ATTLIST appendix
+               %label.attrib;
+               %status.attrib;
+               %common.attrib;
+               %appendix.role.attrib;
+               %local.appendix.attrib;
+>
+<!ENTITY % local.section.attrib "">
+<!ENTITY % section.role.attrib "%role.attrib;">
+<!ATTLIST section
+               %label.attrib;
+               %status.attrib;
+               %common.attrib;
+               %section.role.attrib;
+               %local.section.attrib;
+>
+<!ENTITY % local.bibliography.attrib "">
+<!ENTITY % bibliography.role.attrib "%role.attrib;">
+<!ATTLIST bibliography
+               %status.attrib;
+               %common.attrib;
+               %bibliography.role.attrib;
+               %local.bibliography.attrib;
+>
+<!ENTITY % local.bibliodiv.attrib "">
+<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
+<!ATTLIST bibliodiv
+               %status.attrib;
+               %common.attrib;
+               %bibliodiv.role.attrib;
+               %local.bibliodiv.attrib;
+>
+<!ENTITY % local.refentry.attrib "">
+<!ENTITY % refentry.role.attrib "%role.attrib;">
+<!ATTLIST refentry
+               %status.attrib;
+               %common.attrib;
+               %refentry.role.attrib;
+               %local.refentry.attrib;
+>
+<!ENTITY % local.refmeta.attrib "">
+<!ENTITY % refmeta.role.attrib "%role.attrib;">
+<!ATTLIST refmeta
+               %common.attrib;
+               %refmeta.role.attrib;
+               %local.refmeta.attrib;
+>
+<!ENTITY % local.refmiscinfo.attrib "">
+<!ENTITY % refmiscinfo.role.attrib "%role.attrib;">
+<!ELEMENT refmiscinfo  (%docinfo.char.mix;)*>
+<!ATTLIST refmiscinfo
+               class           CDATA           #IMPLIED
+               %common.attrib;
+               %refmiscinfo.role.attrib;
+               %local.refmiscinfo.attrib;
+>
+<!ENTITY % local.refnamediv.attrib "">
+<!ENTITY % refnamediv.role.attrib "%role.attrib;">
+<!ATTLIST refnamediv
+               %common.attrib;
+               %refnamediv.role.attrib;
+               %local.refnamediv.attrib;
+>
+<!ENTITY % local.refdescriptor.attrib "">
+<!ENTITY % refdescriptor.role.attrib "%role.attrib;">
+<!ELEMENT refdescriptor  (%refname.char.mix;)*>
+<!ATTLIST refdescriptor
+               %common.attrib;
+               %refdescriptor.role.attrib;
+               %local.refdescriptor.attrib;
+>
+<!ENTITY % local.refname.attrib "">
+<!ENTITY % refname.role.attrib "%role.attrib;">
+<!ELEMENT refname  (%refname.char.mix;)*>
+<!ATTLIST refname
+               %common.attrib;
+               %refname.role.attrib;
+               %local.refname.attrib;
+>
+<!ENTITY % local.refpurpose.attrib "">
+<!ENTITY % refpurpose.role.attrib "%role.attrib;">
+<!ELEMENT refpurpose  (%refinline.char.mix;)*>
+<!ATTLIST refpurpose
+               %common.attrib;
+               %refpurpose.role.attrib;
+               %local.refpurpose.attrib;
+>
+<!ENTITY % local.refclass.attrib "">
+<!ENTITY % refclass.role.attrib "%role.attrib;">
+<!ELEMENT refclass  (%refclass.char.mix;)*>
+<!ATTLIST refclass
+               %common.attrib;
+               %refclass.role.attrib;
+               %local.refclass.attrib;
+>
+<!ENTITY % local.refsynopsisdiv.attrib "">
+<!ENTITY % refsynopsisdiv.role.attrib "%role.attrib;">
+<!ELEMENT refsynopsisdiv  (refsynopsisdivinfo?, (%refsect.title.content;)?,
+               (((%refcomponent.mix;)+, refsect2*) | (refsect2+)))>
+<!ATTLIST refsynopsisdiv
+               %common.attrib;
+               %refsynopsisdiv.role.attrib;
+               %local.refsynopsisdiv.attrib;
+>
+<!ENTITY % local.refsect1.attrib "">
+<!ENTITY % refsect1.role.attrib "%role.attrib;">
+<!ELEMENT refsect1  (refsect1info?, (%refsect.title.content;),
+               (((%refcomponent.mix;)+, refsect2*) | refsect2+))>
+<!ATTLIST refsect1
+               %status.attrib;
+               %common.attrib;
+               %refsect1.role.attrib;
+               %local.refsect1.attrib;
+>
+<!ENTITY % local.refsect2.attrib "">
+<!ENTITY % refsect2.role.attrib "%role.attrib;">
+<!ELEMENT refsect2  (refsect2info?, (%refsect.title.content;),
+       (((%refcomponent.mix;)+, refsect3*) | refsect3+))>
+<!ATTLIST refsect2
+               %status.attrib;
+               %common.attrib;
+               %refsect2.role.attrib;
+               %local.refsect2.attrib;
+>
+<!ENTITY % local.refsect3.attrib "">
+<!ENTITY % refsect3.role.attrib "%role.attrib;">
+<!ELEMENT refsect3  (refsect3info?, (%refsect.title.content;),
+       (%refcomponent.mix;)+)>
+<!ATTLIST refsect3
+               %status.attrib;
+               %common.attrib;
+               %refsect3.role.attrib;
+               %local.refsect3.attrib;
+>
+<!ENTITY % local.article.attrib "">
+<!ENTITY % article.role.attrib "%role.attrib;">
+<!ATTLIST article
+               class           (journalarticle
+                               |productsheet
+                               |whitepaper
+                               |techreport
+                                |specification
+                               |faq)           #IMPLIED
+               parentbook      IDREF           #IMPLIED
+               %status.attrib;
+               %common.attrib;
+               %article.role.attrib;
+               %local.article.attrib;
+>
+<!ELEMENT objectinfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT section (sectioninfo?,
+                       (%sect.title.content;),
+                       (((%divcomponent.mix;)+, section*)
+                        | section+))>
+<!ELEMENT sectioninfo ((mediaobject | legalnotice
+       | keywordset | subjectset | %bibliocomponent.mix;)+)>
+<!ELEMENT authorgroup ((author|editor|corpauthor|othercredit)+)>
+<!ELEMENT author ((%person.ident.mix;)+)>
+<!ELEMENT editor ((%person.ident.mix;)+)>
+<!ELEMENT othercredit ((%person.ident.mix;)+)>
+<!ELEMENT affiliation (jobtitle?, orgname?)>
+<!ELEMENT para (%para.char.mix;)*>
+<!ELEMENT informaltable (mediaobject+|tgroup+) >
+<!ELEMENT replaceable (#PCDATA 
+               | %link.char.class; 
+               | inlinemediaobject)*>
+<!ELEMENT trademark (#PCDATA 
+               | %link.char.class; 
+               | %tech.char.class;
+               | inlinemediaobject
+               | emphasis)*>
+<!ELEMENT article ((%div.title.content;)?, articleinfo?,
+                      (%bookcomponent.content;),
+                      ((%appendix.class;)|bibliography)*)>
+<!ELEMENT articleinfo ((mediaobject | legalnotice
+       | subjectset | keywordset | %bibliocomponent.mix;)+)>
+<!ELEMENT appendix ((%bookcomponent.title.content;),
+               (%bookcomponent.content;))>
+<!ELEMENT bibliography ((%bookcomponent.title.content;)?,
+                        (%component.mix;)*,
+                        (bibliodiv+ | bibliomixed+))>
+<!ELEMENT bibliomixed (#PCDATA | %bibliocomponent.mix; | bibliomset)*>
+<!ELEMENT bibliodiv ((%sect.title.content;)?, (%component.mix;)*,
+               (bibliomixed)+)>
+<!ELEMENT sidebar ((%formalobject.title.content;)?,
+                   (%sidebar.mix;)+)>
+<!ELEMENT programlisting (%para.char.mix; | lineannotation)*>
+<!ELEMENT literallayout (%para.char.mix; | lineannotation)*>
+<!ELEMENT itemizedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+<!ELEMENT orderedlist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, listitem+)>
+<!ELEMENT variablelist ((%formalobject.title.content;)?,
+                           (%listpreamble.mix;)*, varlistentry+)>
+<!ELEMENT example ((%formalobject.title.content;), (%example.mix;)+)
+               >
+<!ELEMENT figure ((%formalobject.title.content;),
+                       (%figure.mix; | %link.char.class;)+)>
+<!ELEMENT legalnotice (title?, (%legalnotice.mix;)+)
+               >
+<!ELEMENT systemitem (%cptr.char.mix; | acronym)*>
+<!ELEMENT computeroutput  (%cptr.char.mix;)*>
+<!ELEMENT userinput  (%cptr.char.mix;)*>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sinclist.mod
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/sdocbook/1.0/sinclist.mod
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,317 @@
+<!-- ...................................................................... -->
+<!-- Simplified DocBook Include Module V1.0 ............................... -->
+<!-- File sinclist.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: sinclist.mod,v 1.1 2003/02/14 11:14:44 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 Simplified 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 [email protected] mailing list. For more
+     information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!ENTITY % biblioset.module "IGNORE">
+<!ENTITY % isbn.module "IGNORE">
+<!ENTITY % issn.module "IGNORE">
+<!ENTITY % pagenums.module "IGNORE">
+<!ENTITY % simplelist.content.module "IGNORE">
+<!ENTITY % anchor.module "IGNORE">
+<!ENTITY % procedure.content.module "IGNORE">
+<!ENTITY % publisher.module "IGNORE">
+<!ENTITY % printhistory.module "IGNORE">
+<!ENTITY % address.content.module "IGNORE">
+<!ENTITY % glossterm.module "IGNORE">
+<!ENTITY % bibliomixed.element "IGNORE">
+<!ENTITY % bibliography.element "IGNORE">
+<!ENTITY % bibliodiv.element "IGNORE">
+<!ENTITY % biblioentry.module "IGNORE">
+<!ENTITY % glossary.content.module "IGNORE">
+<!ENTITY % glossentry.content.module "IGNORE">
+<!ENTITY % ssscript.module "IGNORE">
+<!ENTITY % caution.element "IGNORE">
+<!ENTITY % caution.attlist "IGNORE">
+<!ENTITY % important.element "IGNORE">
+<!ENTITY % important.attlist "IGNORE">
+<!ENTITY % tip.element "IGNORE">
+<!ENTITY % tip.attlist "IGNORE">
+<!ENTITY % warning.element "IGNORE">
+<!ENTITY % warning.attlist "IGNORE">
+<!ENTITY % remark.module "IGNORE">
+<!ENTITY % otherinfo.module "IGNORE">
+<!ENTITY % set.content.module "IGNORE">
+<!ENTITY % set.module "IGNORE">
+<!ENTITY % setinfo.module "IGNORE">
+<!ENTITY % book.content.module "IGNORE">
+<!ENTITY % book.module "IGNORE">
+<!ENTITY % bookinfo.module "IGNORE">
+<!ENTITY % dedication.module "IGNORE">
+<!ENTITY % colophon.module "IGNORE">
+<!ENTITY % toc.content.module "IGNORE">
+<!ENTITY % toc.module "IGNORE">
+<!ENTITY % tocfront.module "IGNORE">
+<!ENTITY % tocentry.module "IGNORE">
+<!ENTITY % tocpart.module "IGNORE">
+<!ENTITY % tocchap.module "IGNORE">
+<!ENTITY % toclevel1.module "IGNORE">
+<!ENTITY % toclevel2.module "IGNORE">
+<!ENTITY % toclevel3.module "IGNORE">
+<!ENTITY % toclevel4.module "IGNORE">
+<!ENTITY % toclevel5.module "IGNORE">
+<!ENTITY % tocback.module "IGNORE">
+<!ENTITY % lot.content.module "IGNORE">
+<!ENTITY % lot.module "IGNORE">
+<!ENTITY % lotentry.module "IGNORE">
+<!ENTITY % chapter.module "IGNORE">
+<!ENTITY % part.module "IGNORE">
+<!ENTITY % preface.module "IGNORE">
+<!ENTITY % reference.module "IGNORE">
+<!ENTITY % partintro.module "IGNORE">
+<!ENTITY % sect1.module "IGNORE">
+<!ENTITY % sect2.module "IGNORE">
+<!ENTITY % sect3.module "IGNORE">
+<!ENTITY % sect4.module "IGNORE">
+<!ENTITY % sect5.module "IGNORE">
+<!ENTITY % simplesect.module "IGNORE">
+<!ENTITY % index.content.module "IGNORE">
+<!ENTITY % indexes.module "IGNORE">
+<!ENTITY % indexdiv.module "IGNORE">
+<!ENTITY % indexentry.module "IGNORE">
+<!ENTITY % primsecterie.module "IGNORE">
+<!ENTITY % seeie.module "IGNORE">
+<!ENTITY % seealsoie.module "IGNORE">
+
+<![ %exclude.refentry; [
+<!ENTITY % refentry.content.module "IGNORE">
+<!ENTITY % refentry.module "IGNORE">
+<!ENTITY % refmeta.module "IGNORE">
+<!ENTITY % refmiscinfo.module "IGNORE">
+<!ENTITY % refnamediv.module "IGNORE">
+<!ENTITY % refdescriptor.module "IGNORE">
+<!ENTITY % refname.module "IGNORE">
+<!ENTITY % refpurpose.module "IGNORE">
+<!ENTITY % refclass.module "IGNORE">
+<!ENTITY % refsynopsisdiv.module "IGNORE">
+<!ENTITY % refsect1.module "IGNORE">
+<!ENTITY % refsect2.module "IGNORE">
+<!ENTITY % refsect3.module "IGNORE">
+<!ENTITY % refentrytitle.module "IGNORE">
+<!ENTITY % manvolnum.module "IGNORE">
+]]>
+
+<!ENTITY % bookbiblio.module "IGNORE">
+<!ENTITY % seriesinfo.module "IGNORE">
+<!ENTITY % itermset.module "IGNORE">
+<!ENTITY % msgset.content.module "IGNORE">
+<!ENTITY % msgset.module "IGNORE">
+<!ENTITY % msgentry.module "IGNORE">
+<!ENTITY % msg.module "IGNORE">
+<!ENTITY % msgmain.module "IGNORE">
+<!ENTITY % msgsub.module "IGNORE">
+<!ENTITY % msgrel.module "IGNORE">
+<!ENTITY % msginfo.module "IGNORE">
+<!ENTITY % msglevel.module "IGNORE">
+<!ENTITY % msgorig.module "IGNORE">
+<!ENTITY % msgaud.module "IGNORE">
+<!ENTITY % msgexplan.module "IGNORE">
+<!ENTITY % qandaset.content.module "IGNORE">
+<!ENTITY % qandaset.module "IGNORE">
+<!ENTITY % qandadiv.module "IGNORE">
+<!ENTITY % qandaentry.module "IGNORE">
+<!ENTITY % question.module "IGNORE">
+<!ENTITY % answer.module "IGNORE">
+<!ENTITY % label.module "IGNORE">
+<!ENTITY % bridgehead.module "IGNORE">
+<!ENTITY % highlights.module "IGNORE">
+<!ENTITY % formalpara.module "IGNORE">
+<!ENTITY % simpara.module "IGNORE">
+<!ENTITY % glosslist.module "IGNORE">
+<!ENTITY % segmentedlist.content.module "IGNORE">
+<!ENTITY % segmentedlist.module "IGNORE">
+<!ENTITY % segtitle.module "IGNORE">
+<!ENTITY % seglistitem.module "IGNORE">
+<!ENTITY % seg.module "IGNORE">
+<!ENTITY % calloutlist.content.module "IGNORE">
+<!ENTITY % calloutlist.module "IGNORE">
+<!ENTITY % callout.module "IGNORE">
+<!ENTITY % informalexample.module "IGNORE">
+<!ENTITY % programlistingco.module "IGNORE">
+<!ENTITY % areaspec.content.module "IGNORE">
+<!ENTITY % areaspec.module "IGNORE">
+<!ENTITY % area.module "IGNORE">
+<!ENTITY % areaset.module "IGNORE">
+<!ENTITY % screenco.module "IGNORE">
+<!ENTITY % screen.module "IGNORE">
+<!ENTITY % screenshot.content.module "IGNORE">
+<!ENTITY % screenshot.module "IGNORE">
+<!ENTITY % screeninfo.module "IGNORE">
+<!ENTITY % informalfigure.module "IGNORE">
+<!ENTITY % graphicco.module "IGNORE">
+<!ENTITY % graphic.module "IGNORE">
+<!ENTITY % equation.module "IGNORE">
+<!ENTITY % informalequation.module "IGNORE">
+<!ENTITY % inlineequation.module "IGNORE">
+<!ENTITY % inlinegraphic.module "IGNORE">
+<!ENTITY % alt.module "IGNORE">
+<!ENTITY % synopsis.module "IGNORE">
+<!ENTITY % cmdsynopsis.content.module "IGNORE">
+<!ENTITY % cmdsynopsis.module "IGNORE">
+<!ENTITY % arg.module "IGNORE">
+<!ENTITY % group.module "IGNORE">
+<!ENTITY % sbr.module "IGNORE">
+<!ENTITY % synopfragmentref.module "IGNORE">
+<!ENTITY % synopfragment.module "IGNORE">
+<!ENTITY % funcsynopsis.content.module "IGNORE">
+<!ENTITY % funcsynopsis.module "IGNORE">
+<!ENTITY % funcsynopsisinfo.module "IGNORE">
+<!ENTITY % funcprototype.module "IGNORE">
+<!ENTITY % funcdef.module "IGNORE">
+<!ENTITY % void.module "IGNORE">
+<!ENTITY % varargs.module "IGNORE">
+<!ENTITY % paramdef.module "IGNORE">
+<!ENTITY % funcparams.module "IGNORE">
+<!ENTITY % ackno.module "IGNORE">
+<!ENTITY % affiliation.element "IGNORE">
+  <!ENTITY % shortaffil.module "IGNORE">
+  <!ENTITY % orgdiv.module "IGNORE">
+<!ENTITY % artpagenums.module "IGNORE">
+  <!ENTITY % collab.content.module "IGNORE">
+  <!ENTITY % collab.module "IGNORE">
+    <!ENTITY % collabname.module "IGNORE">
+<!ENTITY % confgroup.content.module "IGNORE">
+<!ENTITY % confgroup.module "IGNORE">
+  <!ENTITY % confdates.module "IGNORE">
+  <!ENTITY % conftitle.module "IGNORE">
+  <!ENTITY % confnum.module "IGNORE">
+  <!ENTITY % confsponsor.module "IGNORE">
+<!ENTITY % contractnum.module "IGNORE">
+<!ENTITY % contractsponsor.module "IGNORE">
+<!ENTITY % corpname.module "IGNORE">
+<!ENTITY % invpartnumber.module "IGNORE">
+<!ENTITY % modespec.module "IGNORE">
+  <!ENTITY % contrib.module "IGNORE">
+<!ENTITY % productname.module "IGNORE">
+<!ENTITY % productnumber.module "IGNORE">
+<!ENTITY % pubsnumber.module "IGNORE">
+<!ENTITY % seriesvolnums.module "IGNORE">
+<!ENTITY % accel.module "IGNORE">
+<!ENTITY % action.module "IGNORE">
+<!ENTITY % application.module "IGNORE">
+<!ENTITY % classname.module "IGNORE">
+<!ENTITY % co.module "IGNORE">
+<!ENTITY % database.module "IGNORE">
+<!ENTITY % envar.module "IGNORE">
+<!ENTITY % errorcode.module "IGNORE">
+<!ENTITY % errorname.module "IGNORE">
+<!ENTITY % errortype.module "IGNORE">
+<!ENTITY % function.module "IGNORE">
+<!ENTITY % guibutton.module "IGNORE">
+<!ENTITY % guiicon.module "IGNORE">
+<!ENTITY % guilabel.module "IGNORE">
+<!ENTITY % guimenu.module "IGNORE">
+<!ENTITY % guimenuitem.module "IGNORE">
+<!ENTITY % guisubmenu.module "IGNORE">
+<!ENTITY % hardware.module "IGNORE">
+<!ENTITY % interface.module "IGNORE">
+<!ENTITY % interfacedefinition.module "IGNORE">
+<!ENTITY % keycap.module "IGNORE">
+<!ENTITY % keycode.module "IGNORE">
+<!ENTITY % keycombo.module "IGNORE">
+<!ENTITY % keysym.module "IGNORE">
+<!ENTITY % constant.module "IGNORE">
+<!ENTITY % varname.module "IGNORE">
+<!ENTITY % markup.module "IGNORE">
+<!ENTITY % mediaobjectco.module "IGNORE">
+<!ENTITY % imageobjectco.module "IGNORE">
+<!ENTITY % medialabel.module "IGNORE">
+<!ENTITY % menuchoice.content.module "IGNORE">
+<!ENTITY % menuchoice.module "IGNORE">
+<!ENTITY % shortcut.module "IGNORE">
+<!ENTITY % mousebutton.module "IGNORE">
+<!ENTITY % msgtext.module "IGNORE">
+<!ENTITY % optional.module "IGNORE">
+<!ENTITY % parameter.module "IGNORE">
+<!ENTITY % prompt.module "IGNORE">
+<!ENTITY % property.module "IGNORE">
+<!ENTITY % returnvalue.module "IGNORE">
+<!ENTITY % sgmltag.module "IGNORE">
+<!ENTITY % structfield.module "IGNORE">
+<!ENTITY % structname.module "IGNORE">
+<!ENTITY % symbol.module "IGNORE">
+<!ENTITY % token.module "IGNORE">
+<!ENTITY % type.module "IGNORE">
+<!ENTITY % citation.module "IGNORE">
+<!ENTITY % citerefentry.module "IGNORE">
+<!ENTITY % firstterm.module "IGNORE">
+<!ENTITY % foreignphrase.module "IGNORE">
+<!ENTITY % wordasword.module "IGNORE">
+<!ENTITY % olink.module "IGNORE">
+<!ENTITY % footnoteref.module "INCLUDE">
+<!ENTITY % beginpage.module "IGNORE">
+<!ENTITY % indexterm.content.module "IGNORE">
+<!ENTITY % indexterm.module "IGNORE">
+<!ENTITY % primsecter.module "IGNORE">
+<!ENTITY % seeseealso.module "IGNORE">
+
+<!-- new in 4.0 -->
+<!ENTITY % classsynopsis.content.module "IGNORE">
+
+<!ENTITY % bibliographyinfo.module "IGNORE">
+<!ENTITY % chapterinfo.module "IGNORE">
+<!ENTITY % glossaryinfo.module "IGNORE">
+<!ENTITY % indexinfo.module "IGNORE">
+<!ENTITY % partinfo.module "IGNORE">
+<!ENTITY % prefaceinfo.module "IGNORE">
+<!ENTITY % refentryinfo.module "IGNORE">
+<!ENTITY % referenceinfo.module "IGNORE">
+<!ENTITY % refsect1info.module "IGNORE">
+<!ENTITY % refsect2info.module "IGNORE">
+<!ENTITY % refsect3info.module "IGNORE">
+<!ENTITY % refsynopsisdivinfo.module "IGNORE">
+<!ENTITY % sect1info.element "IGNORE">
+<!ENTITY % sect1info.attlist "IGNORE">
+<!ENTITY % sect2info.element "IGNORE">
+<!ENTITY % sect2info.attlist "IGNORE">
+<!ENTITY % sect3info.element "IGNORE">
+<!ENTITY % sect3info.attlist "IGNORE">
+<!ENTITY % sect4info.element "IGNORE">
+<!ENTITY % sect4info.attlist "IGNORE">
+<!ENTITY % sect5info.element "IGNORE">
+<!ENTITY % sect5info.attlist "IGNORE">
+<!ENTITY % sectioninfo.module "IGNORE">
+<!ENTITY % setindexinfo.module "IGNORE">
+<!ENTITY % sidebarinfo.module "IGNORE">
+
+<!-- new in 4.2 -->
+<!ENTITY % blockinfo.module "IGNORE">
+<!ENTITY % refsectioninfo.module "IGNORE">
+<!ENTITY % refsection.module "IGNORE">
+<!ENTITY % personname.module "IGNORE">
+<!ENTITY % personblurb.module "IGNORE">
+<!ENTITY % bibliocoverage.module "IGNORE">
+<!ENTITY % biblioid.module "IGNORE">
+<!ENTITY % bibliorelation.module "IGNORE">
+<!ENTITY % bibliosource.module "IGNORE">
+<!ENTITY % citebiblioid.module "IGNORE">
+<!ENTITY % coref.module "IGNORE">
+<!ENTITY % errortext.module "IGNORE">
+
+<!-- End of Simplified DocBook Include Module V1.0 ........................ -->
+<!-- ...................................................................... -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/catalog
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/catalog  
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,27 @@
+OVERRIDE       YES
+
+
+        -- Oasis entity catalog for Extensible HTML 1.0 --
+
+PUBLIC  "-//W3C//DTD XHTML 1.0 Strict//EN"        "xhtml1-strict.dtd"
+PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN"  "xhtml1-transitional.dtd"
+PUBLIC  "-//W3C//DTD XHTML 1.0 Frameset//EN"      "xhtml1-frameset.dtd"
+
+        -- ISO latin 1 entity set for Extensible HTML (XML 1.0 format) --
+
+PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml-lat1.ent"
+PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "xhtml-symbol.ent"
+PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "xhtml-special.ent"
+
+-- FIXME: What it is the purpose in the Forrest and Cocoon context --
+-- SGMLDECL "xhtml1.dcl" --
+
+
+
+        -- Scalable Vector Graphics and Styleable SVG --
+
+PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" "svg-20000303-stylable.dtd"
+PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN"   "svg-20000303-shared.dtd"
+PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN" "svg-20000303-exchange.dtd"
+
+PUBLIC "-//W3C//DTD SVG 1.0//EN"               "svg10.dtd"

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/catalog.xcat
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/catalog.xcat 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,39 @@
+<?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 W3C stuff like XHTML and SVG -->
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
+         prefer="public">
+
+<!-- Extensible HTML 1.0 -->
+<public publicId="-//W3C//DTD XHTML 1.0 Strict//EN"
+        uri="xhtml1-strict.dtd"/>
+<public publicId="-//W3C//DTD XHTML 1.0 Transitional//EN"
+        uri="xhtml1-transitional.dtd"/>
+<public publicId="-//W3C//DTD XHTML 1.0 Frameset//EN"
+        uri="xhtml1-frameset.dtd"/>
+
+<!-- ISO latin 1 entity set for Extensible HTML (XML 1.0 format) -->
+<public publicId="-//W3C//ENTITIES Latin 1 for XHTML//EN"
+        uri="xhtml-lat1.ent"/>
+<public publicId="-//W3C//ENTITIES Symbols for XHTML//EN"
+        uri="xhtml-symbol.ent"/>
+<public publicId="-//W3C//ENTITIES Special for XHTML//EN"
+        uri="xhtml-special.ent"/>
+
+<!-- FIXME: What it is the purpose in the Forrest and Cocoon context -->
+<!--
+<sgmldecl uri="xhtml1.dcl"/>
+-->
+
+<!-- Scalable Vector Graphics and Styleable SVG -->
+<public publicId="-//W3C//DTD SVG 20000303 Stylable//EN"
+        uri="svg-20000303-stylable.dtd"/>
+<public publicId="-//W3C//DTD SVG 20000303 Shared//EN"
+        uri="svg-20000303-shared.dtd"/>
+<public publicId="-//W3C//DTD SVG 20000303 Exchange//EN"
+        uri="svg-20000303-exchange.dtd"/>
+<public publicId="-//W3C//DTD SVG 1.0//EN"
+        uri="svg10.dtd"/>
+
+</catalog>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-exchange.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-exchange.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,59 @@
+<!--
+  This is the DTD for Exchange SVG. It adds various visual rendering 
attributes 
+  to the Shared DTD.
+
+  In most cases, authors should use the DTD for Stylable SVG.
+  The DTD for Exchange SVG is available for specific purposes
+  as described in the Exchange SVG chapter of the SVG specification.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2000/03/WD-SVG-20000303/
+
+  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For this working draft:
+
+    Namespaces:
+      Stylable SVG:     http://www.w3.org/2000/svg-20000303-stylable
+      Exchange SVG:   http://www.w3.org/2000/svg-20000303-exchange  
+
+    Public identifiers:
+      PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN"
+
+    URIs for the DTDs:
+      http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-shared.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd
+
+  Typical usage in the case of stand-alone Exchange SVG documents:
+
+<?xml version="1.0" ... ?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN" 
+  "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd";>
+<svg ...>
+ ...
+</svg>
+
+  Typical usage when Exchange SVG is embedded inline within a parent XML 
document:
+
+<?xml version="1.0" ... ?>
+<!DOCTYPE foo ... >
+<foo ...>
+ ...
+ <svg xmlns="http://www.w3.org/2000/svg-20000303-exchange"; ... >
+    ...
+ </svg>
+ ...
+</foo>
+-->
+
+
+<!ENTITY % StylableSVG "IGNORE" >
+<!ENTITY % ExchangeSVG "INCLUDE" >
+<!ENTITY % SVGNamespace "http://www.w3.org/2000/svg-20000303-exchange"; >
+<!ENTITY % Shared PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN" 
"svg-20000303-shared.dtd" >
+%Shared;
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-shared.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-shared.dtd
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1600 @@
+<!--
+  This is the Shared DTD for SVG 1.0 (draft 20000303). It contains the
+  element, attribute and entities definitions which are common to the 
+  DTD for Stylable SVG and the DTD for Exchange SVG.
+
+  The only purpose of the Shared DTD is to serve as a single definition for
+  the definitions of elements, attributes and entities that are common to
+  the DTD for Stylable SVG and the DTD for Exchange SVG.
+  The Shared DTD should not be used directly; instead, use either the
+  DTD for Stylable SVG or the DTD for Exchange SVG.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2000/03/WD-SVG-20000303/
+
+  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For this working draft:
+
+    Namespaces:
+      Stylable SVG:     http://www.w3.org/2000/svg-20000303-stylable
+      Exchange SVG:   http://www.w3.org/2000/svg-20000303-exchange  
+
+    Public identifiers:
+      PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN"
+
+    URIs for the DTDs:
+      http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-shared.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd
+-->
+
+
+<!--=================== Entity definitions ===================-->
+
+<!ENTITY % BaselineShiftValue "CDATA">
+    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', 
etc.) -->
+
+<!ENTITY % Boolean "(false | true)">
+    <!-- feature specification -->
+
+<!ENTITY % ClassList "CDATA">
+    <!-- list of classes -->
+
+<!ENTITY % ClipValue "CDATA">
+    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
+
+<!ENTITY % ClipPathValue "CDATA">
+    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % ClipFillRule "(evenodd | nonzero | inherit)">
+    <!-- 'clip-rule' or fill-rule property/attribute value -->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % Coordinate "CDATA">
+    <!-- a <coordinate> -->
+
+<!ENTITY % Coordinates "CDATA">
+    <!-- a list of <coordinate>s -->
+
+<!ENTITY % CSSColor "CDATA">
+    <!-- a <color> value, as per [CSS2-color] -->
+
+<!ENTITY % CursorValue "CDATA">
+    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
+
+<!ENTITY % EnableBackgroundValue "CDATA">
+    <!-- 'enable-background' property/attribute value (e.g., 'new', 
'accumulate') -->
+
+<!ENTITY % Feature "CDATA">
+    <!-- feature specification -->
+
+<!ENTITY % FilterValue "CDATA">
+    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % FontFamilyValue "CDATA">
+    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
+
+<!ENTITY % FontSizeValue "CDATA">
+    <!-- 'font-size' property/attribute value -->
+
+<!ENTITY % FontSizeAdjustValue "CDATA">
+    <!-- 'font-size-adjust' property/attribute value -->
+
+<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
+    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., 
<angle>) -->
+
+<!ENTITY % GlyphOrientationVerticalValue "CDATA">
+    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', 
<angle>) -->
+
+<!ENTITY % Integer "CDATA">
+    <!-- a <integer> -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC1766] -->
+
+<!ENTITY % LanguageCodes "CDATA">
+    <!-- comma-separated list of language codes, as per [RFC1766] -->
+
+<!ENTITY % Length "CDATA">
+    <!-- a <length> -->
+
+<!ENTITY % Lengths "CDATA">
+    <!-- a list of <length>s -->
+
+<!ENTITY % LinkTarget "NMTOKEN">
+    <!-- link to this target -->
+
+<!ENTITY % MarkerValue "CDATA">
+    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % MaskValue "CDATA">
+    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % Number "CDATA">
+    <!-- a <number> -->
+
+<!ENTITY % OpacityValue "CDATA">
+    <!-- opacity value (e.g., <number>) -->
+
+<!ENTITY % Paint "CDATA">
+    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
+
+<!ENTITY % PathData "CDATA">
+    <!-- a path data specification -->
+
+<!ENTITY % Points "CDATA">
+    <!-- a list of points -->
+
+<!ENTITY % PreserveAspectRatioSpec "CDATA">
+    <!-- 'preserveAspectRatio' attribute specification -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % SpacingValue "CDATA">
+    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., 
normal | <length>) -->
+
+<!ENTITY % StopColorValue "CDATA">
+    <!-- 'stop-color' property/attribute value  -->
+
+<!ENTITY % StrokeDashArrayValue "CDATA">
+    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of 
<number>s) -->
+
+<!ENTITY % StrokeDashOffsetValue "CDATA">
+    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) 
-->
+
+<!ENTITY % StrokeMiterLimitValue "CDATA">
+    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
+
+<!ENTITY % StrokeWidthValue "CDATA">
+    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
+
+<!ENTITY % StructuredText
+  "content CDATA #FIXED 'structured text'" >
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % SVGColor "CDATA">
+    <!-- An SVG color value (RGB plus optional ICC) -->
+
+<!ENTITY % TextDecorationValue "CDATA">
+    <!-- 'text-decoration' property/attribute value (e.g., 'none', 
'underline') -->
+
+<!ENTITY % TransformList "CDATA">
+    <!-- list of transforms -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [URI] -->
+
+<!ENTITY % ViewBoxSpec "CDATA">
+    <!-- 'viewBox' attribute specification -->
+
+<!-- This entity allows for at most one of desc and title,
+     supplied in any order -->
+<!ENTITY % descTitle
+          "((desc,title?)|(title,desc?)?)" >
+
+<!-- This entity allows for at most one of desc, title and defs,
+     supplied in any order -->
+<!ENTITY % descTitleDefs
+          "(((desc,((title,defs?)|(defs,title?))?)|
+              (title,((desc,defs?)|(defs,desc?))?)|
+              (defs,((desc,title?)|(title,desc?))?))?)" >
+
+<!-- All elements have an ID. -->
+<!ENTITY % stdAttrs
+ "id ID #IMPLIED" >
+
+<!-- Common attributes for elements that might contain character data content. 
-->
+<!ENTITY % langSpaceAttrs
+ "xml:lang %LanguageCode; #IMPLIED
+  xml:space (default|preserve) #IMPLIED" >
+
+<!-- Common attributes to check for system capabilities. -->
+<!ENTITY % testAttrs
+ "system-required %Feature; #IMPLIED
+  system-language %LanguageCodes; #IMPLIED" >
+
+<!-- For most uses of URI referencing:
+        standard XLink attributes other than xlink:href. -->
+<!ENTITY % xlinkRefAttrs
+ "xmlns:xlink CDATA #FIXED 'http://www.w3.org/2000/xlink/namespace/'
+  xlink:type (simple|extended|locator|arc) 'simple' 
+  xlink:role CDATA #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (new|embed|replace) 'embed'
+  xlink:actuate (onRequest|onLoad) 'onLoad'" >
+
+<!ENTITY % graphicsElementEvents
+  "onfocusin %Script; #IMPLIED
+   onfocusout %Script; #IMPLIED
+   onactivate %Script; #IMPLIED
+   onmousedown %Script; #IMPLIED
+   onmouseup %Script; #IMPLIED
+   onclick %Script; #IMPLIED
+   ondblclick %Script; #IMPLIED
+   onmouseover %Script; #IMPLIED
+   onmousemove %Script; #IMPLIED
+   onmouseout %Script; #IMPLIED
+   onkeydown %Script; #IMPLIED
+   onkeypress %Script; #IMPLIED
+   onkeyup %Script; #IMPLIED
+   onload %Script; #IMPLIED
+   onselect %Script; #IMPLIED" >
+
+<!ENTITY % documentEvents
+  "onresize %Script; #IMPLIED
+   onscroll %Script; #IMPLIED
+   onunload %Script; #IMPLIED
+   onzoom %Script; #IMPLIED
+   onerror %Script; #IMPLIED
+   onabort %Script; #IMPLIED " >
+
+
+<!-- Definitions of elements and attributes that only apply to Stylable SVG -->
+
+<!-- Stylable SVG has a 'style' element and puts a 'style' attribute on most 
elements. -->
+<![%StylableSVG;[
+  <!ENTITY % StylableSVG-StyleElement 
+    "|style" >
+
+  <!ENTITY % StylableSVG-StyleAttribute 
+    "style %StyleSheet; #IMPLIED" >
+]]>
+
+<!-- These elements and attributes are not available for Exchange SVG. -->
+<![%ExchangeSVG;[
+  <!-- For Exchange SVG only, the 'style' attribute and 'style' element 
+       are removed from most elements. -->
+  <!ENTITY % StylableSVG-StyleAttribute "" >
+  <!ENTITY % StylableSVG-StyleElement "" >
+]]>
+
+
+<!-- Definitions of attribute collections that only apply to Exchange SVG -->
+
+<![%ExchangeSVG;[
+  <!-- For Exchange SVG only, all container elements have these attributes. -->
+  <!ENTITY % ExchangeSVG-ContainerAttrs
+    "enable-background %EnableBackgroundValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, attributes on elements that can be filled or 
stroked. -->
+  <!ENTITY % ExchangeSVG-FillStrokeAttrs
+    "fill %Paint; #IMPLIED
+     fill-opacity %OpacityValue; #IMPLIED
+     fill-rule %ClipFillRule; #IMPLIED
+     stroke %Paint; #IMPLIED
+     stroke-dasharray %StrokeDashArrayValue; #IMPLIED
+     stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
+     stroke-linecap (butt | round | square | inherit) #IMPLIED
+     stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
+     stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
+     stroke-opacity %OpacityValue; #IMPLIED
+     stroke-width %StrokeWidthValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, all gradient elements have these attributes. -->
+  <!ENTITY % ExchangeSVG-GradientAttrs
+    "stop-color %StopColorValue; #IMPLIED
+     stop-opacity %OpacityValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, all graphics elements have these attributes. -->
+  <!ENTITY % ExchangeSVG-GraphicsAttrs
+    "clip-path %ClipPathValue; #IMPLIED
+     clip-rule %ClipFillRule; #IMPLIED
+     color %CSSColor; #IMPLIED
+     color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
+     color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) 
#IMPLIED
+     cursor %CursorValue; #IMPLIED
+     display (inline | block | list-item | run-in | compact | marker |
+              table | inline-table | table-row-group | table-header-group |
+              table-footer-group | table-row | table-column-group | 
table-column |
+              table-cell | table-caption | none | inherit) #IMPLIED
+     filter %FilterValue; #IMPLIED
+     image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) 
#IMPLIED
+     mask %MaskValue; #IMPLIED
+     opacity %OpacityValue; #IMPLIED
+     pointer-events (visiblePainted | visibleFill | visibleStroke | 
visibleFillStroke | visible |
+                     painted | fill | stroke | fillstroke | all | none | 
inherit) #IMPLIED
+     shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | 
inherit) #IMPLIED
+     text-rendering (auto | optimizeSpeed | optimizeLegibility | 
geometricPrecision | inherit) #IMPLIED
+     visibility (visible | hidden | inherit) #IMPLIED " >
+
+  <!-- For Exchange SVG only, container elements and certain graphics elements 
have these attributes. -->
+  <!ENTITY % ExchangeSVG-MarkerAttrs
+    "marker-start %MarkerValue; #IMPLIED
+     marker-mid %MarkerValue; #IMPLIED
+     marker-end %MarkerValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, all text container elements have these 
attributes. -->
+  <!ENTITY % ExchangeSVG-TextContainerAttrs
+    "baseline-identifier (baseline | top | before-edge | text-top | 
text-before-edge |
+                          middle | bottom | after-edge | text-bottom | 
text-after-edge |
+                          ideographic | lower | hanging | mathematical | 
inherit) #IMPLIED
+     baseline-shift %BaselineShiftValue; #IMPLIED
+     direction (ltr | rtl | inherit) #IMPLIED
+     font-family %FontFamilyValue; #IMPLIED
+     font-size %FontSizeValue; #IMPLIED
+     font-size-adjust %FontSizeAdjustValue; #IMPLIED
+     font-stretch (normal | wider | narrower | ultra-condensed | 
extra-condensed |
+                   condensed | semi-condensed | semi-expanded | expanded |
+                   extra-expanded | ultra-expanded | inherit) #IMPLIED
+     font-style (normal | italic | oblique | inherit) #IMPLIED
+     font-variant (normal | small-caps | inherit) #IMPLIED
+     font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
+                 400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED
+     glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
+     glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
+     letter-spacing %SpacingValue; #IMPLIED
+     text-decoration %TextDecorationValue; #IMPLIED
+     unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
+     word-spacing %SpacingValue; #IMPLIED " >
+
+  <!-- For Exchange SVG only, the 'text' element has these attributes. -->
+  <!ENTITY % ExchangeSVG-TextElementAttrs
+    "dominant-baseline (auto | autosense-script | no-change | reset|
+                        ideographic | lower | hanging | mathematical | inherit 
) #IMPLIED
+     text-anchor (start | middle | end | inherit) #IMPLIED
+     writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
+
+  <!-- For Exchange SVG only, all elements that establish viewports have these 
attributes. -->
+  <!ENTITY % ExchangeSVG-ViewportAttrs
+    "clip %ClipValue; #IMPLIED
+     overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
+
+  <!-- For Exchange SVG only, feFlood has these attributes. -->
+  <!ENTITY % ExchangeSVG-feFloodAttrs
+    "flood-color %SVGColor; #IMPLIED
+     flood-opacity %OpacityValue; #IMPLIED " >
+]]>
+
+<!-- These above Exchange SVG attribute collections 
+     are not available for Stylable SVG. -->
+<![%StylableSVG;[
+  <!ENTITY % ExchangeSVG-ContainerAttrs "" >
+  <!ENTITY % ExchangeSVG-FillStrokeAttrs "" >
+  <!ENTITY % ExchangeSVG-GradientAttrs "" >
+  <!ENTITY % ExchangeSVG-GraphicsAttrs "" >
+  <!ENTITY % ExchangeSVG-MarkerAttrs "" >
+  <!ENTITY % ExchangeSVG-TextContainerAttrs "" >
+  <!ENTITY % ExchangeSVG-TextElementAttrs "" >
+  <!ENTITY % ExchangeSVG-ViewportAttrs "" >
+  <!ENTITY % ExchangeSVG-feFloodAttrs "" >
+]]>
+
+
+<!-- Definitions of elements that only apply to Exchange SVG -->
+
+<!-- Exchange SVG has a corresponding XML version of the 
+     @font-face and @color-profile features available when SVG is styled with 
CSS. -->
+<![%ExchangeSVG;[
+  <!ENTITY % ExchangeSVG-ColorProfileElement 
+    "|color-profile" >
+
+  <!ENTITY % ExchangeSVG-FontFaceElement 
+    "|font-face" >
+]]>
+
+<!-- These elements are not available for Stylable SVG. -->
+<![%StylableSVG;[
+  <!ENTITY % ExchangeSVG-ColorProfileElement "" >
+  <!ENTITY % ExchangeSVG-FontFaceElement "" >
+]]>
+
+
+<!-- Allow for extending the DTD with internal subset for 
+     container and graphics elements -->
+<!ENTITY % ceExt "" >
+<!ENTITY % geExt "" >
+
+
+<!--========== Document Structure and Grouping ==========-->
+
+<!ENTITY % svgExt "" >
+<!ELEMENT svg (%descTitleDefs;,metadata?,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %StylableSVG-StyleElement;
+                   
%ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement;
+                   %ceExt;%svgExt;)*) >
+<!ATTLIST svg
+  xmlns CDATA #FIXED "%SVGNamespace;"
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %graphicsElementEvents;
+  %documentEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED 
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  enableZoomAndPanControls %Boolean; "true"
+  contentScriptType %ContentType; "text/ecmascript"
+  contentStyleType %ContentType; "text/css"
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+<!ENTITY % gExt "" >
+<!ELEMENT g (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %StylableSVG-StyleElement;
+                   
%ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement;
+                   %ceExt;%gExt;)*) >
+<!ATTLIST g
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % defsExt "" >
+<!ELEMENT defs (
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %StylableSVG-StyleElement;
+                   
%ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement;
+                   %ceExt;%defsExt;)* >
+<!ATTLIST defs
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+
+<!--=================== Shapes ===================-->
+
+<!ENTITY % pathExt "" >
+<!ELEMENT path 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%pathExt;)*) >
+<!ATTLIST path
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  d %PathData; #REQUIRED
+  length %Number; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs; >
+
+<!ENTITY % rectExt "" >
+<!ELEMENT rect 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%rectExt;)*) >
+<!ATTLIST rect
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  rx %Length; #IMPLIED
+  ry %Length; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs; >
+
+<!ENTITY % circleExt "" >
+<!ELEMENT circle 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%circleExt;)*) >
+<!ATTLIST circle
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  cx %Coordinate; "0"
+  cy %Coordinate; "0"
+  r %Length; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs; >
+
+<!ENTITY % ellipseExt "" >
+<!ELEMENT ellipse 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%ellipseExt;)*) >
+<!ATTLIST ellipse
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  cx %Coordinate; "0"
+  cy %Coordinate; "0"
+  rx %Length; #REQUIRED
+  ry %Length; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs; >
+
+<!ENTITY % lineExt "" >
+<!ELEMENT line 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%lineExt;)*) >
+<!ATTLIST line
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x1 %Coordinate; "0"
+  y1 %Coordinate; "0"
+  x2 %Coordinate; "0"
+  y2 %Coordinate; "0"
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs; >
+
+<!ENTITY % polylineExt "" >
+<!ELEMENT polyline 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polylineExt;)*) >
+<!ATTLIST polyline
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  points %Points; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs; >
+
+<!ENTITY % polygonExt "" >
+<!ELEMENT polygon 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polygonExt;)*) >
+<!ATTLIST polygon
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  points %Points; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs; >
+
+
+<!--=================== Text ===================-->
+
+<!ENTITY % textExt "" >
+<!ELEMENT text (#PCDATA|desc|title|
+                tspan|tref|textPath|altGlyph|a|animate|set|
+                animateMotion|animateColor|animateTransform
+                %geExt;%textExt;)* >
+<!ATTLIST text
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % tspanExt "" >
+<!ELEMENT tspan (#PCDATA|tspan|tref|altGlyph|a|animate|set|animateColor
+                %tspanExt;)* >
+<!ATTLIST tspan
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate CDATA #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-TextContainerAttrs; >
+
+<!ENTITY % trefExt "" >
+<!ELEMENT tref (animate|set|animateColor
+                %trefExt;)* >
+<!ATTLIST tref
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate CDATA #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-TextContainerAttrs; >
+
+<!ENTITY % textPathExt "" >
+<!ELEMENT textPath (#PCDATA|tspan|tref|altGlyph|a|animate|set|animateColor
+                %textPathExt;)* >
+<!ATTLIST textPath
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  startOffset CDATA "0"
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-TextContainerAttrs; >
+
+<!ENTITY % altGlyphExt "" >
+<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
+<!ATTLIST altGlyph
+  %stdAttrs;
+  %langSpaceAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED >
+
+<!ENTITY % altGlyphDefExt "" >
+<!ELEMENT altGlyphDef (glyphSub %altGlyphDefExt;)* >
+<!ATTLIST altGlyphDef
+  %stdAttrs; >
+
+<!ELEMENT glyphSub EMPTY >
+<!ATTLIST glyphSub
+  %stdAttrs;
+  font CDATA #REQUIRED
+  glyphRef CDATA #REQUIRED
+  format CDATA #REQUIRED >
+
+<!--=================== SVG Fonts ===================-->
+
+<!ENTITY % fontExt "" >
+<!ELEMENT font (%descTitle;,missing-glyph,(glyph|hkern|vkern
+                   %fontExt;)*) >
+<!ATTLIST font
+  %stdAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  font-style CDATA #IMPLIED
+  font-variant CDATA #IMPLIED
+  font-weight CDATA #IMPLIED
+  font-stretch CDATA #IMPLIED
+  unicode-range CDATA #IMPLIED
+  units-per-em %Number; #REQUIRED
+  panose-1 CDATA #IMPLIED
+  slope %Number; #IMPLIED
+  cap-height %Number; #REQUIRED
+  x-height %Number; #REQUIRED
+  accent-height %Number; #IMPLIED
+  ascent %Number; #REQUIRED
+  descent %Number; #REQUIRED
+  horiz-origin-x %Number; #IMPLIED
+  horiz-origin-y %Number; #IMPLIED
+  horiz-adv-x %Number; #REQUIRED
+  vert-origin-x %Number; #IMPLIED
+  vert-origin-y %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED
+  text-bottom %Number; #REQUIRED
+  baseline %Number; #REQUIRED
+  centerline %Number; #REQUIRED
+  mathline %Number; #REQUIRED
+  ideographic %Number; #REQUIRED
+  hanging %Number; #REQUIRED
+  topline %Number; #REQUIRED
+  text-top %Number; #REQUIRED
+  font-face-name CDATA #IMPLIED
+  underline-position %Number; #IMPLIED
+  underline-thickness %Number; #IMPLIED
+  strikethrough-position %Number; #IMPLIED
+  strikethrough-thickness %Number; #IMPLIED
+  overline-position %Number; #IMPLIED
+  overline-thickness %Number; #IMPLIED >
+
+<!ENTITY % glyphExt "" >
+<!ELEMENT glyph (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|g|switch
+                   %glyphExt;)*) >
+<!ATTLIST glyph
+  %stdAttrs;
+  unicode CDATA #REQUIRED
+  glyph-name CDATA #IMPLIED
+  vert-text-orient CDATA #IMPLIED
+  arabic CDATA #IMPLIED
+  han CDATA #IMPLIED
+  horiz-adv-x %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ENTITY % missing-glyphExt "" >
+<!ELEMENT missing-glyph (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|g|switch
+                   %missing-glyphExt;)*) >
+<!ATTLIST missing-glyph
+  %stdAttrs;
+  horiz-adv-x %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ELEMENT hkern EMPTY >
+<!ATTLIST hkern
+  %stdAttrs;
+  u1 CDATA #IMPLIED
+  g1 CDATA #IMPLIED
+  u2 CDATA #IMPLIED
+  g2 CDATA #IMPLIED
+  k %Number; #REQUIRED >
+
+<!ELEMENT vkern EMPTY >
+<!ATTLIST vkern
+  %stdAttrs;
+  u1 CDATA #IMPLIED
+  g1 CDATA #IMPLIED
+  u2 CDATA #IMPLIED
+  g2 CDATA #IMPLIED
+  k %Number; #REQUIRED >
+
+
+<!--=================== Graphics Referencing Elements ===================-->
+
+<!ENTITY % useExt "" >
+<!ELEMENT use 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%useExt;)*) >
+<!ATTLIST use
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+<!ENTITY % imageExt "" >
+<!ELEMENT image 
(%descTitle;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%imageExt;)*) >
+<!ATTLIST image
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+
+<!--=================== Symbols and Markers ===================-->
+
+<!ENTITY % symbolExt "" >
+<!ELEMENT symbol (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a
+                   %ceExt;%symbolExt;)*) >
+<!ATTLIST symbol
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % markerExt "" >
+<!ELEMENT marker (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a
+                   %ceExt;%markerExt;)*) >
+<!ATTLIST marker
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  refX %Coordinate; #IMPLIED
+  refY %Coordinate; #IMPLIED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  markerUnits (strokeWidth | userSpace | userSpaceOnUse) "strokeWidth"
+  markerWidth  %Length; "3"
+  markerHeight %Length; "3"
+  orient CDATA "0"
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+
+<!--========== Descriptions and Titles ==========-->
+
+<!ELEMENT desc (#PCDATA) >
+<!ATTLIST desc
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %StructuredText; >
+
+<!ELEMENT title (#PCDATA) >
+<!ATTLIST title
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %StructuredText; >
+
+
+<!--=================== Clipping and Masking ===================-->
+
+<!ENTITY % clipPathExt "" >
+<!ELEMENT clipPath (%descTitle;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     
use|animate|set|animateMotion|animateColor|animateTransform
+                     %ceExt;%clipPathExt;)*) >
+<!ATTLIST clipPath
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  clipPathUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace"
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % maskExt "" >
+<!ELEMENT mask (%descTitleDefs;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     use|image|svg|g|switch|a|
+                     animate|set|animateMotion|animateColor|animateTransform
+                     %ceExt;%maskExt;)*) >
+<!ATTLIST mask
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  maskUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace"
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+
+<!--=================== Gradients and Patterns ===================-->
+
+<!ENTITY % linearGradientExt "" >
+<!ELEMENT linearGradient (stop|animate|set|animateTransform
+                   %linearGradientExt;)* >
+<!ATTLIST linearGradient
+  %stdAttrs;
+  gradientUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace'
+  gradientTransform %TransformList; #IMPLIED
+  x1 %Coordinate; #IMPLIED
+  y1 %Coordinate; #IMPLIED
+  x2 %Coordinate; #IMPLIED
+  y2 %Coordinate; #IMPLIED
+  spreadMethod (pad | reflect | repeat) "pad"
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!ENTITY % radialGradientExt "" >
+<!ELEMENT radialGradient (stop|animate|set|animateTransform
+                   %radialGradientExt;)* >
+<!ATTLIST radialGradient
+  %stdAttrs;
+  gradientUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace'
+  gradientTransform %TransformList; #IMPLIED
+  cx %Coordinate; #IMPLIED
+  cy %Coordinate; #IMPLIED
+  r %Length; #IMPLIED
+  fx %Coordinate; #IMPLIED
+  fy %Coordinate; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!ENTITY % stopExt "" >
+<!ELEMENT stop (animate|set|animateColor
+                   %stopExt;)* >
+<!ATTLIST stop
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  offset %Length; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-GradientAttrs; >
+
+<!ENTITY % patternExt "" >
+<!ELEMENT pattern (%descTitleDefs;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     use|image|svg|g|switch|a
+                     %ceExt;%patternExt;)*) >
+<!ATTLIST pattern
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  patternUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace'
+  patternTransform %TransformList; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs; >
+
+
+
+<!--=================== Linking ===================-->
+
+<!ENTITY % aExt "" >
+<!ELEMENT a       (#PCDATA|desc|title|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a|
+                   tspan|tref|textPath|altGlyph
+                   %ceExt;%aExt;)* >
+<!ATTLIST a
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/2000/xlink/namespace/";
+  xlink:type (simple|extended|locator|arc) #FIXED "simple" 
+  xlink:role CDATA #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (new|embed|replace) 'replace'
+  xlink:actuate (onRequest|onLoad) #FIXED 'onRequest'
+  xlink:href %URI; #REQUIRED
+  target %LinkTarget; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % viewExt "" >
+<!ELEMENT view (%descTitle;%viewExt;) >
+<!ATTLIST view
+  %stdAttrs;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  enableZoomAndPanControls (true | false) "true" 
+  viewTarget CDATA #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!--=================== Animation ===================-->
+
+<!ENTITY % animTargetAttrs
+ "%xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  attributeName  CDATA  #REQUIRED
+  attributeType  CDATA  #IMPLIED" >
+
+<!ENTITY % animTimingAttrs
+ "begin CDATA #IMPLIED 
+  dur CDATA #IMPLIED
+  restart (always | never | whenNotActive) 'always'
+  repeatCount CDATA #IMPLIED 
+  repeatDur CDATA #IMPLIED
+  end CDATA #IMPLIED
+  fill (remove | freeze) 'remove'" >
+
+<!ENTITY % animValueAttrs
+ "calcMode (discrete | linear | evenPace | spline) 'linear'
+  values CDATA #IMPLIED
+  from CDATA #IMPLIED
+  to CDATA #IMPLIED
+  by CDATA #IMPLIED
+  keyTimes CDATA #IMPLIED
+  keySplines CDATA #IMPLIED" >
+
+<!ENTITY % animAdditionAttrs
+ "additive       (replace | sum) 'replace'
+  accumulate     (none | sum) 'none'" >
+
+<!ENTITY % animateExt "" >
+<!ELEMENT animate (%descTitle;%animateExt;) >
+<!ATTLIST animate
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animTargetAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs; >
+
+<!ENTITY % setExt "" >
+<!ELEMENT set (%descTitle;%setExt;) >
+<!ATTLIST set
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animTargetAttrs;
+  %animTimingAttrs;
+  to CDATA #IMPLIED >
+
+<!ENTITY % animateMotionExt "" >
+<!ELEMENT animateMotion (%descTitle;%animateMotionExt;) >
+<!ATTLIST animateMotion
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs;
+  path CDATA #IMPLIED
+  rotate CDATA #IMPLIED
+  origin CDATA #IMPLIED >
+
+<!ENTITY % animateColorExt "" >
+<!ELEMENT animateColor (%descTitle;%animateColorExt;) >
+<!ATTLIST animateColor
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animTargetAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs; >
+
+<!ENTITY % animateTransformExt "" >
+<!ELEMENT animateTransform (%descTitle;%animateTransformExt;) >
+<!ATTLIST animateTransform
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animTargetAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs;
+  type (translate | scale | rotate | skewX | skewY) "translate" >
+
+
+<!--========== Defining Scripts and Declaring Styles ==========-->
+
+<!ELEMENT script (#PCDATA) >
+<!ATTLIST script
+  %stdAttrs;
+  type %ContentType; #REQUIRED
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!-- Define the 'style' element for Stylable SVG.
+     This element is not available for Exchange SVG. -->
+<![%StylableSVG;[
+  <!ELEMENT style (#PCDATA) >
+  <!ATTLIST style 
+    %stdAttrs;
+    type %ContentType; #REQUIRED >
+]]>
+
+
+<!--==== (Exchange SVG Only) Defining color profiles and font faces ====-->
+
+<![%ExchangeSVG;[
+  <!ELEMENT color-profile (%descTitle;,color-profile-src) >
+  <!ATTLIST color-profile 
+    %stdAttrs;
+    name CDATA #REQUIRED
+    rendering-intent CDATA #IMPLIED >
+
+  <!ELEMENT color-profile-src EMPTY >
+  <!ATTLIST color-profile-src 
+    %stdAttrs;
+    %xlinkRefAttrs;
+    xlink:href %URI; #REQUIRED >
+
+  <!ELEMENT font-face (%descTitle;,font-face-src,(definition-src)?) >
+  <!ATTLIST font-face 
+    %stdAttrs;
+    font-family CDATA #IMPLIED
+    font-style CDATA #IMPLIED
+    font-variant CDATA #IMPLIED
+    font-weight CDATA #IMPLIED
+    font-stretch CDATA #IMPLIED
+    font-size CDATA #IMPLIED
+    unicode-range CDATA #IMPLIED
+    units-per-em %Number; #IMPLIED
+    panose-1 CDATA #IMPLIED
+    stemv %Number; #IMPLIED
+    stemh %Number; #IMPLIED
+    slope %Number; #IMPLIED
+    cap-height %Number; #IMPLIED
+    x-height %Number; #IMPLIED
+    ascent %Number; #IMPLIED
+    descent %Number; #IMPLIED
+    widths CDATA #IMPLIED
+    bbox CDATA #IMPLIED
+    baseline %Number; #IMPLIED
+    centerline %Number; #IMPLIED
+    mathline %Number; #IMPLIED
+    topline %Number; #IMPLIED >
+
+  <!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
+  <!ATTLIST font-face-src 
+    %stdAttrs; >
+
+  <!ELEMENT font-face-uri (font-face-format*) >
+  <!ATTLIST font-face-uri 
+    %stdAttrs;
+    %xlinkRefAttrs;
+    xlink:href %URI; #REQUIRED >
+
+  <!ELEMENT font-face-format EMPTY >
+  <!ATTLIST font-face-format 
+    %stdAttrs;
+    string CDATA #IMPLIED >
+
+  <!ELEMENT font-face-name EMPTY >
+  <!ATTLIST font-face-name 
+    %stdAttrs;
+    name CDATA #IMPLIED >
+
+  <!ELEMENT definition-src EMPTY >
+  <!ATTLIST definition-src 
+    %stdAttrs;
+    %xlinkRefAttrs;
+    xlink:href %URI; #REQUIRED >
+]]>
+
+
+<!--=================== Custom cursors ===================-->
+
+<!ELEMENT cursor (%descTitle;) >
+<!ATTLIST cursor
+  %stdAttrs;
+  %testAttrs;
+  x %Coordinate; "0"
+  y %Coordinate; "0"
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+
+<!--=================== Extensibility ===================-->
+
+<!ENTITY % switchExt "" >
+<!ELEMENT switch (%descTitleDefs;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a|foreignObject|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %ceExt;%switchExt;)*) >
+<!ATTLIST switch
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs; >
+
+<!ENTITY % foreignObjectExt "" >
+<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
+<!ATTLIST foreignObject
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs;
+  %StructuredText; >
+
+
+
+<!--=================== Metadata ===================-->
+
+<!ENTITY % metadataExt "" >
+<!ELEMENT metadata (#PCDATA %metadataExt;)* >
+<!ATTLIST metadata
+  %stdAttrs; >
+
+
+<!--============== Filter Effects ==============-->
+
+<!ENTITY % filter_primitive_attributes
+  "x %Coordinate; #IMPLIED
+   y %Coordinate; #IMPLIED
+   width %Length; #IMPLIED
+   height %Length; #IMPLIED
+   result CDATA #IMPLIED" >
+
+<!ENTITY % filter_primitive_attributes_with_in
+  "%filter_primitive_attributes;
+   in CDATA #IMPLIED">
+
+<!ENTITY % component_transfer_function_attributes
+  "type (identity | table | linear | gamma) #REQUIRED
+   tableValues CDATA #IMPLIED
+   slope %Number; #IMPLIED
+   intercept %Number; #IMPLIED
+   amplitude %Number; #IMPLIED
+   exponent %Number; #IMPLIED
+   offset %Number; #IMPLIED" >
+
+<!ENTITY % filterExt "" >
+<!ELEMENT filter (feBlend|feFlood|
+  feColorMatrix|feComponentTransfer|
+  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
+  feGaussianBlur|feImage|feMerge|
+  feMorphology|feOffset|feSpecularLighting|
+  feTile|feTurbulence|
+  animate|set
+  %filterExt;)* >
+<!ATTLIST filter
+  %stdAttrs;
+  %langSpaceAttrs;
+  filterUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace"
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  filterRes CDATA #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+<!ELEMENT feBlend (animate|set)* >
+<!ATTLIST feBlend
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  mode (normal | multiply | screen | darken | lighten) "normal"
+  in2 CDATA #REQUIRED >
+
+<!ELEMENT feColorMatrix (animate|set)* >
+<!ATTLIST feColorMatrix
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
+  values CDATA #IMPLIED >
+
+<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
+<!ATTLIST feComponentTransfer
+  %stdAttrs;
+  %filter_primitive_attributes_with_in; >
+
+<!ELEMENT feFuncR (animate|set)* >
+<!ATTLIST feFuncR
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncG (animate|set)* >
+<!ATTLIST feFuncG
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncB (animate|set)* >
+<!ATTLIST feFuncB
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncA (animate|set)* >
+<!ATTLIST feFuncA
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feComposite (animate|set)* >
+<!ATTLIST feComposite
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  operator (over | in | out | atop | xor | arithmetic) "over"
+  k1 %Integer; #IMPLIED
+  k2 %Integer; #IMPLIED
+  k3 %Integer; #IMPLIED
+  k4 %Integer; #IMPLIED
+  in2 CDATA #REQUIRED >
+
+<!ELEMENT feConvolveMatrix (animate|set)* >
+<!ATTLIST feConvolveMatrix
+  %filter_primitive_attributes_with_in;
+  order CDATA #REQUIRED
+  kernelMatrix CDATA #REQUIRED
+  divisor %Number; #IMPLIED
+  targetX %Integer; #IMPLIED
+  targetY %Integer; #IMPLIED
+  edgeMode (duplicate|wrap|none) "duplicate" 
+  kernelUnitLength CDATA #IMPLIED >
+
+<!ELEMENT feDiffuseLighting 
((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
+<!ATTLIST feDiffuseLighting
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  resultScale %Number; #IMPLIED
+  surfaceScale %Number; #IMPLIED
+  diffuseConstant %Number; #IMPLIED
+  lightColor %SVGColor; #IMPLIED >
+
+<!ELEMENT feDistantLight (animate|set)* >
+<!ATTLIST feDistantLight
+  %stdAttrs;
+  azimuth %Number; #IMPLIED
+  elevation %Number; #IMPLIED >
+
+<!ELEMENT fePointLight (animate|set)* >
+<!ATTLIST fePointLight
+  %stdAttrs;
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  z %Number; #IMPLIED >
+
+<!ELEMENT feSpotLight (animate|set)* >
+<!ATTLIST feSpotLight
+  %stdAttrs;
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  z %Number; #IMPLIED
+  pointsAtX %Number; #IMPLIED
+  pointsAtY %Number; #IMPLIED
+  pointsAtZ %Number; #IMPLIED
+  specularExponent %Number; #IMPLIED >
+
+<!ELEMENT feDisplacementMap (animate|set)* >
+<!ATTLIST feDisplacementMap
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  scale %Number; #IMPLIED
+  xChannelSelector (R | G | B | A) "A"
+  yChannelSelector (R | G | B | A) "A"
+  in2 CDATA #REQUIRED >
+
+<!ELEMENT feFlood (animate|set|animateColor)* >
+<!ATTLIST feFlood
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  style %StyleSheet; #IMPLIED
+  %ExchangeSVG-feFloodAttrs; >
+
+<!ELEMENT feGaussianBlur (animate|set)* >
+<!ATTLIST feGaussianBlur
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  stdDeviation CDATA #IMPLIED >
+
+<!ELEMENT feImage (animate|set|animateTransform)* >
+<!ATTLIST feImage
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  transform %TransformList; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %StylableSVG-StyleAttribute;
+  %ExchangeSVG-ContainerAttrs;
+  %ExchangeSVG-FillStrokeAttrs;
+  %ExchangeSVG-GradientAttrs;
+  %ExchangeSVG-GraphicsAttrs;
+  %ExchangeSVG-MarkerAttrs;
+  %ExchangeSVG-TextContainerAttrs;
+  %ExchangeSVG-TextElementAttrs;
+  %ExchangeSVG-ViewportAttrs;
+  %filter_primitive_attributes; >
+
+<!ELEMENT feMerge (feMergeNode)* >
+<!ATTLIST feMerge
+  %stdAttrs;
+  %filter_primitive_attributes; >
+
+<!ELEMENT feMergeNode (animate|set)* >
+<!ATTLIST feMergeNode
+  %stdAttrs;
+  in CDATA #IMPLIED >
+
+<!ELEMENT feMorphology (animate|set)* >
+<!ATTLIST feMorphology
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  operator (erode | dilate) "erode"
+  radius %Length; #IMPLIED >
+
+<!ELEMENT feOffset (animate|set)* >
+<!ATTLIST feOffset
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  dx %Length; #IMPLIED
+  dy %Length; #IMPLIED >
+
+<!ELEMENT feSpecularLighting 
((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
+<!ATTLIST feSpecularLighting
+  %stdAttrs;
+  %filter_primitive_attributes_with_in;
+  surfaceScale %Number; #IMPLIED
+  specularConstant %Number; #IMPLIED
+  specularExponent %Number; #IMPLIED
+  lightColor %SVGColor; #IMPLIED >
+
+<!ELEMENT feTile (animate|set)* >
+<!ATTLIST feTile
+  %stdAttrs;
+  %filter_primitive_attributes_with_in; >
+
+<!ELEMENT feTurbulence (animate|set)* >
+<!ATTLIST feTurbulence
+  %stdAttrs;
+  %filter_primitive_attributes;
+  baseFrequency CDATA #IMPLIED
+  numOctaves %Integer; #IMPLIED
+  seed %Number; #IMPLIED
+  stitchTiles (stitch | noStitch) "noStitch"
+  type (fractalNoise | turbulence) "turbulence" >
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-stylable.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg-20000303-stylable.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,59 @@
+<!--
+  This is the DTD for Stylable SVG. It adds a small number of 
+  elements and attributes to the Shared DTD for the purposes
+  of allowing SVG content to be styled.
+
+  In most cases, authors should use the DTD for Stylable SVG.
+  The DTD for Exchange SVG is available for specific purposes
+  as described in the Exchange SVG chapter of the SVG specification.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2000/03/WD-SVG-20000303/
+
+  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For this working draft:
+
+    Namespaces:
+      Stylable SVG:     http://www.w3.org/2000/svg-20000303-stylable
+      Exchange SVG:   http://www.w3.org/2000/svg-20000303-exchange  
+
+    Public identifiers:
+      PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
+      PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN"
+
+    URIs for the DTDs:
+      http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-shared.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd
+      
http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd
+
+  Typical usage in the case of stand-alone Stylable SVG documents:
+
+<?xml version="1.0" ... ?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" 
+  "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd";>
+<svg ...>
+ ...
+</svg>
+
+  Typical usage when Stylable SVG is embedded inline within a parent XML 
document:
+
+<?xml version="1.0" ... ?>
+<!DOCTYPE foo ... >
+<foo ...>
+ ...
+ <svg xmlns="http://www.w3.org/2000/svg-20000303-stylable"; ... >
+    ...
+ </svg>
+ ...
+</foo>
+-->
+
+<!ENTITY % StylableSVG "INCLUDE" >
+<!ENTITY % ExchangeSVG "IGNORE" >
+<!ENTITY % SVGNamespace "http://www.w3.org/2000/svg-20000303-stylable"; >
+<!ENTITY % Shared PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN" 
"svg-20000303-shared.dtd" >
+%Shared;
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg10.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/svg10.dtd    
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1704 @@
+<!-- =====================================================================
+  This is the DTD for SVG 1.0.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2001/REC-SVG-20010904/
+
+  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For SVG 1.0:
+
+    Namespace:
+      http://www.w3.org/2000/svg  
+
+    Public identifier:
+      PUBLIC "-//W3C//DTD SVG 1.0//EN"
+
+    URI for the DTD:
+      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
+============================================================================= 
-->
+
+
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Data types 
+     ============================================================== -->
+
+<!ENTITY % BaselineShiftValue "CDATA">
+    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', 
etc.) -->
+
+<!ENTITY % Boolean "(false | true)">
+    <!-- feature specification -->
+
+<!ENTITY % ClassList "CDATA">
+    <!-- list of classes -->
+
+<!ENTITY % ClipValue "CDATA">
+    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
+
+<!ENTITY % ClipPathValue "CDATA">
+    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
+    <!-- 'clip-rule' or fill-rule property/attribute value -->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % Coordinate "CDATA">
+    <!-- a <coordinate> -->
+
+<!ENTITY % Coordinates "CDATA">
+    <!-- a list of <coordinate>s -->
+
+<!ENTITY % Color "CDATA">
+    <!-- a <color> value -->
+
+<!ENTITY % CursorValue "CDATA">
+    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
+
+<!ENTITY % EnableBackgroundValue "CDATA">
+    <!-- 'enable-background' property/attribute value (e.g., 'new', 
'accumulate') -->
+
+<!ENTITY % ExtensionList "CDATA">
+    <!-- extension list specification -->
+
+<!ENTITY % FeatureList "CDATA">
+    <!-- feature list specification -->
+
+<!ENTITY % FilterValue "CDATA">
+    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % FontFamilyValue "CDATA">
+    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
+
+<!ENTITY % FontSizeValue "CDATA">
+    <!-- 'font-size' property/attribute value -->
+
+<!ENTITY % FontSizeAdjustValue "CDATA">
+    <!-- 'font-size-adjust' property/attribute value -->
+
+<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
+    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., 
<angle>) -->
+
+<!ENTITY % GlyphOrientationVerticalValue "CDATA">
+    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', 
<angle>) -->
+
+<!ENTITY % Integer "CDATA">
+    <!-- a <integer> -->
+
+<!ENTITY % KerningValue "CDATA">
+    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % LanguageCodes "CDATA">
+    <!-- comma-separated list of language codes, as per [RFC3066] -->
+
+<!ENTITY % Length "CDATA">
+    <!-- a <length> -->
+
+<!ENTITY % Lengths "CDATA">
+    <!-- a list of <length>s -->
+
+<!ENTITY % LinkTarget "NMTOKEN">
+    <!-- link to this target -->
+
+<!ENTITY % MarkerValue "CDATA">
+    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % MaskValue "CDATA">
+    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
+
+<!ENTITY % MediaDesc "CDATA">
+    <!-- comma-separated list of media descriptors. -->
+
+<!ENTITY % Number "CDATA">
+    <!-- a <number> -->
+
+<!ENTITY % NumberOptionalNumber "CDATA">
+    <!-- list of <number>s, but at least one and at most two -->
+
+<!ENTITY % NumberOrPercentage "CDATA">
+    <!-- a <number> or a  <percentage> -->
+
+<!ENTITY % Numbers "CDATA">
+    <!-- a list of <number>s -->
+
+<!ENTITY % OpacityValue "CDATA">
+    <!-- opacity value (e.g., <number>) -->
+
+<!ENTITY % Paint "CDATA">
+    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
+
+<!ENTITY % PathData "CDATA">
+    <!-- a path data specification -->
+
+<!ENTITY % Points "CDATA">
+    <!-- a list of points -->
+
+<!ENTITY % PreserveAspectRatioSpec "CDATA">
+    <!-- 'preserveAspectRatio' attribute specification -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % SpacingValue "CDATA">
+    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., 
normal | <length>) -->
+
+<!ENTITY % StrokeDashArrayValue "CDATA">
+    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of 
<number>s) -->
+
+<!ENTITY % StrokeDashOffsetValue "CDATA">
+    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) 
-->
+
+<!ENTITY % StrokeMiterLimitValue "CDATA">
+    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
+
+<!ENTITY % StrokeWidthValue "CDATA">
+    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
+
+<!ENTITY % StructuredText
+  "content CDATA #FIXED 'structured text'" >
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % SVGColor "CDATA">
+    <!-- An SVG color value (RGB plus optional ICC) -->
+
+<!ENTITY % Text "CDATA">
+    <!-- arbitrary text string -->
+
+<!ENTITY % TextDecorationValue "CDATA">
+    <!-- 'text-decoration' property/attribute value (e.g., 'none', 
'underline') -->
+
+<!ENTITY % TransformList "CDATA">
+    <!-- list of transforms -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [URI] -->
+
+<!ENTITY % ViewBoxSpec "CDATA">
+    <!-- 'viewBox' attribute specification -->
+
+
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Collections of common attributes 
+     ============================================================== -->
+
+<!-- All elements have an ID. -->
+<!ENTITY % stdAttrs
+ "id ID #IMPLIED
+  xml:base %URI; #IMPLIED" >
+
+<!-- Common attributes for elements that might contain character data content. 
-->
+<!ENTITY % langSpaceAttrs
+ "xml:lang %LanguageCode; #IMPLIED
+  xml:space (default|preserve) #IMPLIED" >
+
+<!-- Common attributes to check for system capabilities. -->
+<!ENTITY % testAttrs
+ "requiredFeatures %FeatureList; #IMPLIED
+  requiredExtensions %ExtensionList; #IMPLIED
+  systemLanguage %LanguageCodes; #IMPLIED" >
+
+<!-- For most uses of URI referencing:
+        standard XLink attributes other than xlink:href. -->
+<!ENTITY % xlinkRefAttrs
+ "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
+  xlink:type (simple) #FIXED 'simple' 
+  xlink:role %URI; #IMPLIED
+  xlink:arcrole %URI; #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (other) 'other'
+  xlink:actuate (onLoad) #FIXED 'onLoad'" >
+
+<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 
'embed' -->
+<!ENTITY % xlinkRefAttrsEmbed
+ "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
+  xlink:type (simple) #FIXED 'simple' 
+  xlink:role %URI; #IMPLIED
+  xlink:arcrole %URI; #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (embed) 'embed'
+  xlink:actuate (onLoad) #FIXED 'onLoad'" >
+
+<!ENTITY % graphicsElementEvents
+  "onfocusin %Script; #IMPLIED
+   onfocusout %Script; #IMPLIED
+   onactivate %Script; #IMPLIED
+   onclick %Script; #IMPLIED
+   onmousedown %Script; #IMPLIED
+   onmouseup %Script; #IMPLIED
+   onmouseover %Script; #IMPLIED
+   onmousemove %Script; #IMPLIED
+   onmouseout %Script; #IMPLIED
+   onload %Script; #IMPLIED" >
+
+<!ENTITY % documentEvents
+  "onunload %Script; #IMPLIED
+   onabort %Script; #IMPLIED
+   onerror %Script; #IMPLIED
+   onresize %Script; #IMPLIED
+   onscroll %Script; #IMPLIED
+   onzoom %Script; #IMPLIED" >
+
+<!ENTITY % animationEvents
+  "onbegin %Script; #IMPLIED
+   onend %Script; #IMPLIED
+   onrepeat %Script; #IMPLIED" >
+
+<!-- This entity allows for at most one of desc, title and metadata,
+     supplied in any order -->
+<!ENTITY % descTitleMetadata
+          "(((desc,((title,metadata?)|(metadata,title?))?)|
+          (title,((desc,metadata?)|(metadata,desc?))?)|
+          (metadata,((desc,title?)|(title,desc?))?))?)" >
+
+
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Collections of presentation attributes 
+     ============================================================== -->
+
+<!-- The following presentation attributes have to do with specifying color. 
-->
+<!ENTITY % PresentationAttributes-Color
+  "color %Color; #IMPLIED
+   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
+   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED 
" >
+
+<!-- The following presentation attributes apply to container elements. -->
+<!ENTITY % PresentationAttributes-Containers
+  "enable-background %EnableBackgroundValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to 'feFlood' elements. -->
+<!ENTITY % PresentationAttributes-feFlood
+  "flood-color %SVGColor; #IMPLIED
+   flood-opacity %OpacityValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to filling and stroking 
operations. -->
+<!ENTITY % PresentationAttributes-FillStroke
+  "fill %Paint; #IMPLIED
+   fill-opacity %OpacityValue; #IMPLIED
+   fill-rule %ClipFillRule; #IMPLIED
+   stroke %Paint; #IMPLIED
+   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
+   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
+   stroke-linecap (butt | round | square | inherit) #IMPLIED
+   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
+   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
+   stroke-opacity %OpacityValue; #IMPLIED
+   stroke-width %StrokeWidthValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to filter primitives. -->
+<!ENTITY % PresentationAttributes-FilterPrimitives
+  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >
+
+<!-- The following presentation attributes have to do with selecting a font to 
use. -->
+<!ENTITY % PresentationAttributes-FontSpecification
+  "font-family %FontFamilyValue; #IMPLIED
+   font-size %FontSizeValue; #IMPLIED
+   font-size-adjust %FontSizeAdjustValue; #IMPLIED
+   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed 
|
+                 condensed | semi-condensed | semi-expanded | expanded |
+                 extra-expanded | ultra-expanded | inherit) #IMPLIED
+   font-style (normal | italic | oblique | inherit) #IMPLIED
+   font-variant (normal | small-caps | inherit) #IMPLIED
+   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
+               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >
+
+<!-- The following presentation attributes apply to gradient 'stop' elements. 
-->
+<!ENTITY % PresentationAttributes-Gradients
+  "stop-color %SVGColor; #IMPLIED
+   stop-opacity %OpacityValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to graphics elements. -->
+<!ENTITY % PresentationAttributes-Graphics
+  "clip-path %ClipPathValue; #IMPLIED
+   clip-rule %ClipFillRule; #IMPLIED
+   cursor %CursorValue; #IMPLIED
+   display (inline | block | list-item | run-in | compact | marker |
+            table | inline-table | table-row-group | table-header-group |
+            table-footer-group | table-row | table-column-group | table-column 
|
+            table-cell | table-caption | none | inherit) #IMPLIED
+   filter %FilterValue; #IMPLIED
+   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
+   mask %MaskValue; #IMPLIED
+   opacity %OpacityValue; #IMPLIED
+   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
+                   painted | fill | stroke | all | none | inherit) #IMPLIED
+   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | 
inherit) #IMPLIED
+   text-rendering (auto | optimizeSpeed | optimizeLegibility | 
geometricPrecision | inherit) #IMPLIED
+   visibility (visible | hidden | inherit) #IMPLIED " >
+
+<!-- The following presentation attributes apply to 'image' elements. -->
+<!ENTITY % PresentationAttributes-Images
+  "color-profile CDATA #IMPLIED " >
+
+<!--The following presentation attributes apply to 'feDiffuseLighting' and 
'feSpecularLighting' elements. -->
+<!ENTITY % PresentationAttributes-LightingEffects
+  "lighting-color %SVGColor; #IMPLIED " >
+
+<!-- The following presentation attributes apply to marker operations. -->
+<!ENTITY % PresentationAttributes-Markers
+  "marker-start %MarkerValue; #IMPLIED
+   marker-mid %MarkerValue; #IMPLIED
+   marker-end %MarkerValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to text content elements. -->
+<!ENTITY % PresentationAttributes-TextContentElements
+  "alignment-baseline (baseline | top | before-edge | text-top | 
text-before-edge |
+                        middle | bottom | after-edge | text-bottom | 
text-after-edge |
+                        ideographic | lower | hanging | mathematical | 
inherit) #IMPLIED
+   baseline-shift %BaselineShiftValue; #IMPLIED
+   direction (ltr | rtl | inherit) #IMPLIED
+   dominant-baseline (auto | autosense-script | no-change | reset|
+                      ideographic | lower | hanging | mathematical | inherit ) 
#IMPLIED
+   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
+   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
+   kerning %KerningValue; #IMPLIED
+   letter-spacing %SpacingValue; #IMPLIED
+   text-anchor (start | middle | end | inherit) #IMPLIED
+   text-decoration %TextDecorationValue; #IMPLIED
+   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
+   word-spacing %SpacingValue; #IMPLIED " >
+
+<!-- The following presentation attributes apply to 'text' elements. -->
+<!ENTITY % PresentationAttributes-TextElements
+  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
+
+<!-- The following presentation attributes apply to elements that establish 
viewports. -->
+<!ENTITY % PresentationAttributes-Viewports
+  "clip %ClipValue; #IMPLIED
+   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
+
+<!--The following represents the complete list of presentation attributes. -->
+<!ENTITY % PresentationAttributes-All
+  "%PresentationAttributes-Color;
+   %PresentationAttributes-Containers;
+   %PresentationAttributes-feFlood;
+   %PresentationAttributes-FillStroke;
+   %PresentationAttributes-FilterPrimitives;
+   %PresentationAttributes-FontSpecification;
+   %PresentationAttributes-Gradients;
+   %PresentationAttributes-Graphics;
+   %PresentationAttributes-Images;
+   %PresentationAttributes-LightingEffects;
+   %PresentationAttributes-Markers;
+   %PresentationAttributes-TextContentElements;
+   %PresentationAttributes-TextElements;
+   %PresentationAttributes-Viewports;" >
+
+
+
+<!-- ==============================================================
+     ENTITY DECLARATIONS: DTD extensions 
+     ============================================================== -->
+
+<!-- Allow for extending the DTD with internal subset for 
+     container and graphics elements -->
+<!ENTITY % ceExt "" >
+<!ENTITY % geExt "" >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Document Structure 
+     ============================================================== -->
+
+<!ENTITY % svgExt "" >
+<!ELEMENT svg (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%svgExt;)* >
+<!ATTLIST svg
+  xmlns CDATA #FIXED "http://www.w3.org/2000/svg";
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink";
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED 
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  zoomAndPan (disable | magnify) 'magnify'
+  %graphicsElementEvents;
+  %documentEvents;
+  version %Number; #FIXED "1.0"
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  contentScriptType %ContentType; "text/ecmascript"
+  contentStyleType %ContentType; "text/css" >
+
+<!ENTITY % gExt "" >
+<!ELEMENT g (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%gExt;)* >
+<!ATTLIST g
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;  >
+
+<!ENTITY % defsExt "" >
+<!ELEMENT defs (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%defsExt;)* >
+<!ATTLIST defs
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;  >
+
+<!ENTITY % descExt "" >
+<!ELEMENT desc (#PCDATA %descExt;)* >
+<!ATTLIST desc
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %StructuredText; >
+
+<!ENTITY % titleExt "" >
+<!ELEMENT title (#PCDATA %titleExt;)* >
+<!ATTLIST title
+  %stdAttrs;
+  %langSpaceAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %StructuredText; >
+
+<!ENTITY % symbolExt "" >
+<!ELEMENT symbol (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%symbolExt;)* >
+<!ATTLIST symbol
+  %stdAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  %graphicsElementEvents; >
+
+<!ENTITY % useExt "" >
+<!ELEMENT use 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%useExt;)*) >
+<!ATTLIST use
+  %stdAttrs;
+  %xlinkRefAttrsEmbed;
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED >
+
+<!ENTITY % imageExt "" >
+<!ELEMENT image 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%imageExt;)*) >
+<!ATTLIST image
+  %stdAttrs;
+  %xlinkRefAttrsEmbed;
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Images;
+  %PresentationAttributes-Viewports;
+  transform %TransformList; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  %graphicsElementEvents;
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED >
+
+<!ENTITY % switchExt "" >
+<!ELEMENT switch (%descTitleMetadata;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a|foreignObject|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %ceExt;%switchExt;)*) >
+<!ATTLIST switch
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents; >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Styling 
+     ============================================================== -->
+
+<!ELEMENT style (#PCDATA) >
+<!ATTLIST style 
+  %stdAttrs;
+  xml:space (preserve) #FIXED "preserve"
+  type %ContentType; #REQUIRED
+  media %MediaDesc; #IMPLIED
+  title %Text; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Paths
+     ============================================================== -->
+
+<!ENTITY % pathExt "" >
+<!ELEMENT path 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%pathExt;)*) >
+<!ATTLIST path
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Markers;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  d %PathData; #REQUIRED
+  pathLength %Number; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Basic Shapes
+     ============================================================== -->
+
+<!ENTITY % rectExt "" >
+<!ELEMENT rect 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%rectExt;)*) >
+<!ATTLIST rect
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  rx %Length; #IMPLIED
+  ry %Length; #IMPLIED >
+
+<!ENTITY % circleExt "" >
+<!ELEMENT circle 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%circleExt;)*) >
+<!ATTLIST circle
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  cx %Coordinate; #IMPLIED
+  cy %Coordinate; #IMPLIED
+  r %Length; #REQUIRED >
+
+<!ENTITY % ellipseExt "" >
+<!ELEMENT ellipse 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%ellipseExt;)*) >
+<!ATTLIST ellipse
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  cx %Coordinate; #IMPLIED
+  cy %Coordinate; #IMPLIED
+  rx %Length; #REQUIRED
+  ry %Length; #REQUIRED >
+
+<!ENTITY % lineExt "" >
+<!ELEMENT line 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%lineExt;)*) >
+<!ATTLIST line
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Markers;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x1 %Coordinate; #IMPLIED
+  y1 %Coordinate; #IMPLIED
+  x2 %Coordinate; #IMPLIED
+  y2 %Coordinate; #IMPLIED >
+
+<!ENTITY % polylineExt "" >
+<!ELEMENT polyline 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polylineExt;)*) >
+<!ATTLIST polyline
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Markers;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  points %Points; #REQUIRED >
+
+<!ENTITY % polygonExt "" >
+<!ELEMENT polygon 
(%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polygonExt;)*) >
+<!ATTLIST polygon
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-Markers;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  points %Points; #REQUIRED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Text
+     ============================================================== -->
+
+<!ENTITY % textExt "" >
+<!ELEMENT text (#PCDATA|desc|title|metadata|
+                tspan|tref|textPath|altGlyph|a|animate|set|
+                animateMotion|animateColor|animateTransform
+                %geExt;%textExt;)* >
+<!ATTLIST text
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %PresentationAttributes-TextElements;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate %Numbers; #IMPLIED
+  textLength %Length; #IMPLIED
+  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
+
+<!ENTITY % tspanExt "" >
+<!ELEMENT tspan 
(#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
+                %tspanExt;)* >
+<!ATTLIST tspan
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %graphicsElementEvents;
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate %Numbers; #IMPLIED
+  textLength %Length; #IMPLIED
+  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
+
+<!ENTITY % trefExt "" >
+<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
+                %trefExt;)* >
+<!ATTLIST tref
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %graphicsElementEvents;
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate %Numbers; #IMPLIED
+  textLength %Length; #IMPLIED
+  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
+
+<!ENTITY % textPathExt "" >
+<!ELEMENT textPath 
(#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
+                %textPathExt;)* >
+<!ATTLIST textPath
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %langSpaceAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %graphicsElementEvents;
+  startOffset %Length; #IMPLIED
+  textLength %Length; #IMPLIED
+  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED
+  method (align|stretch) #IMPLIED
+  spacing (auto|exact) #IMPLIED >
+
+<!ENTITY % altGlyphExt "" >
+<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
+<!ATTLIST altGlyph
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED 
+  glyphRef CDATA #IMPLIED
+  format CDATA #IMPLIED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %graphicsElementEvents;
+  x %Coordinates; #IMPLIED
+  y %Coordinates; #IMPLIED
+  dx %Lengths; #IMPLIED
+  dy %Lengths; #IMPLIED
+  rotate %Numbers; #IMPLIED >
+
+<!ENTITY % altGlyphDefExt "" >
+<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
+<!ATTLIST altGlyphDef
+  %stdAttrs; >
+
+<!ENTITY % altGlyphItemExt "" >
+<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
+<!ATTLIST altGlyphItem
+  %stdAttrs; >
+
+<!ELEMENT glyphRef EMPTY >
+<!ATTLIST glyphRef
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-FontSpecification;
+  glyphRef CDATA #IMPLIED
+  format CDATA #IMPLIED
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  dx %Number; #IMPLIED
+  dy %Number; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker 
Symbols 
+     ============================================================== -->
+
+<!ENTITY % markerExt "" >
+<!ELEMENT marker (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%markerExt;)* >
+<!ATTLIST marker
+  %stdAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  refX %Coordinate; #IMPLIED
+  refY %Coordinate; #IMPLIED
+  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
+  markerWidth  %Length; #IMPLIED
+  markerHeight %Length; #IMPLIED
+  orient CDATA #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Color 
+     ============================================================== -->
+
+<!ELEMENT color-profile (%descTitleMetadata;) >
+<!ATTLIST color-profile 
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  local CDATA #IMPLIED  
+  name CDATA #REQUIRED
+  rendering-intent (auto | perceptual | relative-colorimetric | saturation | 
absolute-colorimetric) "auto" >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
+     ============================================================== -->
+
+<!ENTITY % linearGradientExt "" >
+<!ELEMENT linearGradient 
(%descTitleMetadata;,(stop|animate|set|animateTransform
+                   %linearGradientExt;)*) >
+<!ATTLIST linearGradient
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-Gradients;
+  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  gradientTransform %TransformList; #IMPLIED
+  x1 %Coordinate; #IMPLIED
+  y1 %Coordinate; #IMPLIED
+  x2 %Coordinate; #IMPLIED
+  y2 %Coordinate; #IMPLIED
+  spreadMethod (pad | reflect | repeat) #IMPLIED >
+
+
+<!ENTITY % radialGradientExt "" >
+<!ELEMENT radialGradient 
(%descTitleMetadata;,(stop|animate|set|animateTransform
+                   %radialGradientExt;)*) >
+<!ATTLIST radialGradient
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-Gradients;
+  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  gradientTransform %TransformList; #IMPLIED
+  cx %Coordinate; #IMPLIED
+  cy %Coordinate; #IMPLIED
+  r %Length; #IMPLIED
+  fx %Coordinate; #IMPLIED
+  fy %Coordinate; #IMPLIED
+  spreadMethod (pad | reflect | repeat) #IMPLIED >
+
+
+<!ENTITY % stopExt "" >
+<!ELEMENT stop (animate|set|animateColor
+                   %stopExt;)* >
+<!ATTLIST stop
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-Gradients;
+  offset %NumberOrPercentage; #REQUIRED >
+
+<!ENTITY % patternExt "" >
+<!ELEMENT pattern (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%patternExt;)* >
+<!ATTLIST pattern
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  patternTransform %TransformList; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
+     ============================================================== -->
+
+<!ENTITY % clipPathExt "" >
+<!ELEMENT clipPath (%descTitleMetadata;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     
use|animate|set|animateMotion|animateColor|animateTransform
+                     %ceExt;%clipPathExt;)*) >
+<!ATTLIST clipPath
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FillStroke;
+  %PresentationAttributes-FontSpecification;
+  %PresentationAttributes-Graphics;
+  %PresentationAttributes-TextContentElements;
+  %PresentationAttributes-TextElements;
+  transform %TransformList; #IMPLIED
+  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >
+
+<!ENTITY % maskExt "" >
+<!ELEMENT mask (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%maskExt;)*  >
+<!ATTLIST mask
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Filter Effects
+     ============================================================== -->
+
+<!ENTITY % filterExt "" >
+<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
+  feColorMatrix|feComponentTransfer|
+  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
+  feGaussianBlur|feImage|feMerge|
+  feMorphology|feOffset|feSpecularLighting|
+  feTile|feTurbulence|
+  animate|set
+  %filterExt;)*) >
+<!ATTLIST filter
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #IMPLIED
+  height %Length; #IMPLIED
+  filterRes %NumberOptionalNumber; #IMPLIED >
+
+<!ENTITY % filter_primitive_attributes
+  "x %Coordinate; #IMPLIED
+   y %Coordinate; #IMPLIED
+   width %Length; #IMPLIED
+   height %Length; #IMPLIED
+   result CDATA #IMPLIED" >
+
+<!ENTITY % filter_primitive_attributes_with_in
+  "%filter_primitive_attributes;
+   in CDATA #IMPLIED">
+
+<!ELEMENT feDistantLight (animate|set)* >
+<!ATTLIST feDistantLight
+  %stdAttrs;
+  azimuth %Number; #IMPLIED
+  elevation %Number; #IMPLIED >
+
+<!ELEMENT fePointLight (animate|set)* >
+<!ATTLIST fePointLight
+  %stdAttrs;
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  z %Number; #IMPLIED >
+
+<!ELEMENT feSpotLight (animate|set)* >
+<!ATTLIST feSpotLight
+  %stdAttrs;
+  x %Number; #IMPLIED
+  y %Number; #IMPLIED
+  z %Number; #IMPLIED
+  pointsAtX %Number; #IMPLIED
+  pointsAtY %Number; #IMPLIED
+  pointsAtZ %Number; #IMPLIED
+  specularExponent %Number; #IMPLIED
+  limitingConeAngle %Number; #IMPLIED >
+
+<!ELEMENT feBlend (animate|set)* >
+<!ATTLIST feBlend
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  in2 CDATA #REQUIRED
+  mode (normal | multiply | screen | darken | lighten) "normal" >
+
+<!ELEMENT feColorMatrix (animate|set)* >
+<!ATTLIST feColorMatrix
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
+  values CDATA #IMPLIED >
+
+<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
+<!ATTLIST feComponentTransfer
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in; >
+
+<!ENTITY % component_transfer_function_attributes
+  "type (identity | table | discrete | linear | gamma) #REQUIRED
+   tableValues CDATA #IMPLIED
+   slope %Number; #IMPLIED
+   intercept %Number; #IMPLIED
+   amplitude %Number; #IMPLIED
+   exponent %Number; #IMPLIED
+   offset %Number; #IMPLIED" >
+
+<!ELEMENT feFuncR (animate|set)* >
+<!ATTLIST feFuncR
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncG (animate|set)* >
+<!ATTLIST feFuncG
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncB (animate|set)* >
+<!ATTLIST feFuncB
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feFuncA (animate|set)* >
+<!ATTLIST feFuncA
+  %stdAttrs;
+  %component_transfer_function_attributes; >
+
+<!ELEMENT feComposite (animate|set)* >
+<!ATTLIST feComposite
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  in2 CDATA #REQUIRED
+  operator (over | in | out | atop | xor | arithmetic) "over"
+  k1 %Number; #IMPLIED
+  k2 %Number; #IMPLIED
+  k3 %Number; #IMPLIED
+  k4 %Number; #IMPLIED >
+
+<!ELEMENT feConvolveMatrix (animate|set)* >
+<!ATTLIST feConvolveMatrix
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  order %NumberOptionalNumber; #REQUIRED
+  kernelMatrix CDATA #REQUIRED
+  divisor %Number; #IMPLIED
+  bias %Number; #IMPLIED
+  targetX %Integer; #IMPLIED
+  targetY %Integer; #IMPLIED
+  edgeMode (duplicate|wrap|none) "duplicate" 
+  kernelUnitLength %NumberOptionalNumber; #IMPLIED 
+  preserveAlpha %Boolean; #IMPLIED >
+
+<!ELEMENT feDiffuseLighting 
((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
+<!ATTLIST feDiffuseLighting
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FilterPrimitives;
+  %PresentationAttributes-LightingEffects;
+  %filter_primitive_attributes_with_in;
+  surfaceScale %Number; #IMPLIED
+  diffuseConstant %Number; #IMPLIED 
+  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
+
+<!ELEMENT feDisplacementMap (animate|set)* >
+<!ATTLIST feDisplacementMap
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  in2 CDATA #REQUIRED
+  scale %Number; #IMPLIED
+  xChannelSelector (R | G | B | A) "A"
+  yChannelSelector (R | G | B | A) "A" >
+
+<!ELEMENT feFlood (animate|set|animateColor)* >
+<!ATTLIST feFlood
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-feFlood;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in; >
+
+<!ELEMENT feGaussianBlur (animate|set)* >
+<!ATTLIST feGaussianBlur
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  stdDeviation %NumberOptionalNumber; #IMPLIED >
+
+<!ELEMENT feImage (animate|set|animateTransform)* >
+<!ATTLIST feImage
+  %stdAttrs;
+  %xlinkRefAttrsEmbed;
+  xlink:href %URI; #REQUIRED
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  %filter_primitive_attributes;
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' >
+
+<!ELEMENT feMerge (feMergeNode)* >
+<!ATTLIST feMerge
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes; >
+
+<!ELEMENT feMergeNode (animate|set)* >
+<!ATTLIST feMergeNode
+  %stdAttrs;
+  in CDATA #IMPLIED >
+
+<!ELEMENT feMorphology (animate|set)* >
+<!ATTLIST feMorphology
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  operator (erode | dilate) "erode"
+  radius %NumberOptionalNumber; #IMPLIED >
+
+<!ELEMENT feOffset (animate|set)* >
+<!ATTLIST feOffset
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in;
+  dx %Number; #IMPLIED
+  dy %Number; #IMPLIED >
+
+<!ELEMENT feSpecularLighting 
((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
+<!ATTLIST feSpecularLighting
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-Color;
+  %PresentationAttributes-FilterPrimitives;
+  %PresentationAttributes-LightingEffects;
+  %filter_primitive_attributes_with_in;
+  surfaceScale %Number; #IMPLIED
+  specularConstant %Number; #IMPLIED
+  specularExponent %Number; #IMPLIED 
+  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
+
+<!ELEMENT feTile (animate|set)* >
+<!ATTLIST feTile
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes_with_in; >
+
+<!ELEMENT feTurbulence (animate|set)* >
+<!ATTLIST feTurbulence
+  %stdAttrs;
+  %PresentationAttributes-FilterPrimitives;
+  %filter_primitive_attributes;
+  baseFrequency %NumberOptionalNumber; #IMPLIED
+  numOctaves %Integer; #IMPLIED
+  seed %Number; #IMPLIED
+  stitchTiles (stitch | noStitch) "noStitch"
+  type (fractalNoise | turbulence) "turbulence" >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Interactivity 
+     ============================================================== -->
+
+<!ELEMENT cursor (%descTitleMetadata;) >
+<!ATTLIST cursor
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Linking
+     ============================================================== -->
+
+<!ENTITY % aExt "" >
+<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%aExt;)* >
+<!ATTLIST a
+  %stdAttrs;
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink";
+  xlink:type (simple) #FIXED "simple" 
+  xlink:role %URI; #IMPLIED
+  xlink:arcrole %URI; #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (new|replace) 'replace'
+  xlink:actuate (onRequest) #FIXED 'onRequest'
+  xlink:href %URI; #REQUIRED
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  target %LinkTarget; #IMPLIED >
+
+<!ENTITY % viewExt "" >
+<!ELEMENT view (%descTitleMetadata;%viewExt;) >
+<!ATTLIST view
+  %stdAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  viewBox %ViewBoxSpec; #IMPLIED
+  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
+  zoomAndPan (disable | magnify) 'magnify' 
+  viewTarget CDATA #IMPLIED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Scripting 
+     ============================================================== -->
+
+<!ELEMENT script (#PCDATA) >
+<!ATTLIST script
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED
+  externalResourcesRequired %Boolean; #IMPLIED
+  type %ContentType; #REQUIRED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Animation 
+     ============================================================== -->
+
+<!ENTITY % animElementAttrs
+ "%xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED" >
+
+<!ENTITY % animAttributeAttrs
+ "attributeName  CDATA  #REQUIRED
+  attributeType  CDATA  #IMPLIED" >
+
+<!ENTITY % animTimingAttrs
+ "begin CDATA #IMPLIED 
+  dur CDATA #IMPLIED
+  end CDATA #IMPLIED
+  min CDATA #IMPLIED
+  max CDATA #IMPLIED
+  restart (always | never | whenNotActive) 'always'
+  repeatCount CDATA #IMPLIED 
+  repeatDur CDATA #IMPLIED
+  fill (remove | freeze) 'remove'" >
+
+<!ENTITY % animValueAttrs
+ "calcMode (discrete | linear | paced | spline) 'linear'
+  values CDATA #IMPLIED
+  keyTimes CDATA #IMPLIED
+  keySplines CDATA #IMPLIED
+  from CDATA #IMPLIED
+  to CDATA #IMPLIED
+  by CDATA #IMPLIED" >
+
+<!ENTITY % animAdditionAttrs
+ "additive       (replace | sum) 'replace'
+  accumulate     (none | sum) 'none'" >
+
+<!ENTITY % animateExt "" >
+<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
+<!ATTLIST animate
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animAttributeAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs; >
+
+<!ENTITY % setExt "" >
+<!ELEMENT set (%descTitleMetadata;%setExt;) >
+<!ATTLIST set
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animAttributeAttrs;
+  %animTimingAttrs;
+  to CDATA #IMPLIED >
+
+<!ENTITY % animateMotionExt "" >
+<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
+<!ATTLIST animateMotion
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animTimingAttrs;
+  calcMode (discrete | linear | paced | spline) 'paced'
+  values CDATA #IMPLIED
+  keyTimes CDATA #IMPLIED
+  keySplines CDATA #IMPLIED
+  from CDATA #IMPLIED
+  to CDATA #IMPLIED
+  by CDATA #IMPLIED
+  %animAdditionAttrs;
+  path CDATA #IMPLIED
+  keyPoints CDATA #IMPLIED
+  rotate CDATA #IMPLIED
+  origin CDATA #IMPLIED >
+
+<!ENTITY % mpathExt "" >
+<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
+<!ATTLIST mpath
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED
+  externalResourcesRequired %Boolean; #IMPLIED >
+
+<!ENTITY % animateColorExt "" >
+<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
+<!ATTLIST animateColor
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animAttributeAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs; >
+
+<!ENTITY % animateTransformExt "" >
+<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
+<!ATTLIST animateTransform
+  %stdAttrs;
+  %testAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  %animationEvents;
+  %animElementAttrs;
+  %animAttributeAttrs;
+  %animTimingAttrs;
+  %animValueAttrs;
+  %animAdditionAttrs;
+  type (translate | scale | rotate | skewX | skewY) "translate" >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Fonts 
+     ============================================================== -->
+
+<!ENTITY % fontExt "" >
+<!ELEMENT font (%descTitleMetadata;,font-face,
+                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
+<!ATTLIST font
+  %stdAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  horiz-origin-x %Number; #IMPLIED
+  horiz-origin-y %Number; #IMPLIED
+  horiz-adv-x %Number; #REQUIRED
+  vert-origin-x %Number; #IMPLIED
+  vert-origin-y %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ENTITY % glyphExt "" >
+<!ELEMENT glyph (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %glyphExt;)* >
+<!ATTLIST glyph
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  unicode CDATA #IMPLIED
+  glyph-name CDATA #IMPLIED
+  d %PathData; #IMPLIED
+  orientation CDATA #IMPLIED
+  arabic-form CDATA #IMPLIED
+  lang %LanguageCodes; #IMPLIED
+  horiz-adv-x %Number; #IMPLIED
+  vert-origin-x %Number; #IMPLIED
+  vert-origin-y %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ENTITY % missing-glyphExt "" >
+<!ELEMENT missing-glyph (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %missing-glyphExt;)* >
+<!ATTLIST missing-glyph
+  %stdAttrs;
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  d %PathData; #IMPLIED
+  horiz-adv-x %Number; #IMPLIED
+  vert-origin-x %Number; #IMPLIED
+  vert-origin-y %Number; #IMPLIED
+  vert-adv-y %Number; #IMPLIED >
+
+<!ELEMENT hkern EMPTY >
+<!ATTLIST hkern
+  %stdAttrs;
+  u1 CDATA #IMPLIED
+  g1 CDATA #IMPLIED
+  u2 CDATA #IMPLIED
+  g2 CDATA #IMPLIED
+  k %Number; #REQUIRED >
+
+<!ELEMENT vkern EMPTY >
+<!ATTLIST vkern
+  %stdAttrs;
+  u1 CDATA #IMPLIED
+  g1 CDATA #IMPLIED
+  u2 CDATA #IMPLIED
+  g2 CDATA #IMPLIED
+  k %Number; #REQUIRED >
+
+<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
+<!ATTLIST font-face 
+  %stdAttrs;
+  font-family CDATA #IMPLIED
+  font-style CDATA #IMPLIED
+  font-variant CDATA #IMPLIED
+  font-weight CDATA #IMPLIED
+  font-stretch CDATA #IMPLIED
+  font-size CDATA #IMPLIED
+  unicode-range CDATA #IMPLIED
+  units-per-em %Number; #IMPLIED
+  panose-1 CDATA #IMPLIED
+  stemv %Number; #IMPLIED
+  stemh %Number; #IMPLIED
+  slope %Number; #IMPLIED
+  cap-height %Number; #IMPLIED
+  x-height %Number; #IMPLIED
+  accent-height %Number; #IMPLIED
+  ascent %Number; #IMPLIED
+  descent %Number; #IMPLIED
+  widths CDATA #IMPLIED
+  bbox CDATA #IMPLIED
+  ideographic %Number; #IMPLIED
+  alphabetic %Number; #IMPLIED
+  mathematical %Number; #IMPLIED
+  hanging %Number; #IMPLIED
+  v-ideographic %Number; #IMPLIED
+  v-alphabetic %Number; #IMPLIED
+  v-mathematical %Number; #IMPLIED
+  v-hanging %Number; #IMPLIED
+  underline-position %Number; #IMPLIED
+  underline-thickness %Number; #IMPLIED
+  strikethrough-position %Number; #IMPLIED
+  strikethrough-thickness %Number; #IMPLIED
+  overline-position %Number; #IMPLIED
+  overline-thickness %Number; #IMPLIED >
+
+<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
+<!ATTLIST font-face-src 
+  %stdAttrs; >
+
+<!ELEMENT font-face-uri (font-face-format*) >
+<!ATTLIST font-face-uri 
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED >
+
+<!ELEMENT font-face-format EMPTY >
+<!ATTLIST font-face-format 
+  %stdAttrs;
+  string CDATA #IMPLIED >
+
+<!ELEMENT font-face-name EMPTY >
+<!ATTLIST font-face-name 
+  %stdAttrs;
+  name CDATA #IMPLIED >
+
+<!ELEMENT definition-src EMPTY >
+<!ATTLIST definition-src 
+  %stdAttrs;
+  %xlinkRefAttrs;
+  xlink:href %URI; #REQUIRED >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Metadata 
+     ============================================================== -->
+
+<!ENTITY % metadataExt "" >
+<!ELEMENT metadata (#PCDATA %metadataExt;)* >
+<!ATTLIST metadata
+  %stdAttrs; >
+
+
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Extensibility 
+     ============================================================== -->
+
+<!ENTITY % foreignObjectExt "" >
+<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
+<!ATTLIST foreignObject
+  %stdAttrs;
+  %testAttrs;
+  %langSpaceAttrs;
+  externalResourcesRequired %Boolean; #IMPLIED
+  class %ClassList; #IMPLIED
+  style %StyleSheet; #IMPLIED
+  %PresentationAttributes-All;
+  transform %TransformList; #IMPLIED
+  %graphicsElementEvents;
+  x %Coordinate; #IMPLIED
+  y %Coordinate; #IMPLIED
+  width %Length; #REQUIRED
+  height %Length; #REQUIRED
+  %StructuredText; >

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-lat1.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-lat1.ent
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,196 @@
+<!-- Portions (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+    <!ENTITY % HTMLlat1 PUBLIC
+       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent";>
+    %HTMLlat1;
+-->
+
+<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
+                                  U+00A0 ISOnum -->
+<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
+<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
+<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
+<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
+<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
+<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
+                                  U+00A6 ISOnum -->
+<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
+<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
+                                  U+00A8 ISOdia -->
+<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
+<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
+<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
+                                  = left pointing guillemet, U+00AB ISOnum -->
+<!ENTITY not    "&#172;"> <!-- not sign = angled dash,
+                                  U+00AC ISOnum -->
+<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
+                                  U+00AD ISOnum -->
+<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
+                                  U+00AE ISOnum -->
+<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
+                                  = APL overbar, U+00AF ISOdia -->
+<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
+<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
+                                  U+00B1 ISOnum -->
+<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
+                                  = squared, U+00B2 ISOnum -->
+<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
+                                  = cubed, U+00B3 ISOnum -->
+<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
+                                  U+00B4 ISOdia -->
+<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
+<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
+                                  U+00B6 ISOnum -->
+<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
+                                  = Greek middle dot, U+00B7 ISOnum -->
+<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
+<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
+                                  U+00B9 ISOnum -->
+<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
+                                  U+00BA ISOnum -->
+<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
+                                  = right pointing guillemet, U+00BB ISOnum -->
+<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
+                                  = fraction one quarter, U+00BC ISOnum -->
+<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
+                                  = fraction one half, U+00BD ISOnum -->
+<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
+                                  = fraction three quarters, U+00BE ISOnum -->
+<!ENTITY iquest "&#191;"> <!-- inverted question mark
+                                  = turned question mark, U+00BF ISOnum -->
+<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
+                                  = latin capital letter A grave,
+                                  U+00C0 ISOlat1 -->
+<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
+                                  U+00C1 ISOlat1 -->
+<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
+                                  U+00C2 ISOlat1 -->
+<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
+                                  U+00C3 ISOlat1 -->
+<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
+                                  U+00C4 ISOlat1 -->
+<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
+                                  = latin capital letter A ring,
+                                  U+00C5 ISOlat1 -->
+<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
+                                  = latin capital ligature AE,
+                                  U+00C6 ISOlat1 -->
+<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
+                                  U+00C7 ISOlat1 -->
+<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
+                                  U+00C8 ISOlat1 -->
+<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
+                                  U+00C9 ISOlat1 -->
+<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
+                                  U+00CA ISOlat1 -->
+<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
+                                  U+00CB ISOlat1 -->
+<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
+                                  U+00CC ISOlat1 -->
+<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
+                                  U+00CD ISOlat1 -->
+<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
+                                  U+00CE ISOlat1 -->
+<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
+                                  U+00CF ISOlat1 -->
+<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
+<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
+                                  U+00D1 ISOlat1 -->
+<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
+                                  U+00D2 ISOlat1 -->
+<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
+                                  U+00D3 ISOlat1 -->
+<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
+                                  U+00D4 ISOlat1 -->
+<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
+                                  U+00D5 ISOlat1 -->
+<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
+                                  U+00D6 ISOlat1 -->
+<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
+<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
+                                  = latin capital letter O slash,
+                                  U+00D8 ISOlat1 -->
+<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
+                                  U+00D9 ISOlat1 -->
+<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
+                                  U+00DA ISOlat1 -->
+<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
+                                  U+00DB ISOlat1 -->
+<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
+                                  U+00DC ISOlat1 -->
+<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
+                                  U+00DD ISOlat1 -->
+<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
+                                  U+00DE ISOlat1 -->
+<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
+                                  U+00DF ISOlat1 -->
+<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
+                                  = latin small letter a grave,
+                                  U+00E0 ISOlat1 -->
+<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
+                                  U+00E1 ISOlat1 -->
+<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
+                                  U+00E2 ISOlat1 -->
+<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
+                                  U+00E3 ISOlat1 -->
+<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
+                                  U+00E4 ISOlat1 -->
+<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
+                                  = latin small letter a ring,
+                                  U+00E5 ISOlat1 -->
+<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
+                                  = latin small ligature ae, U+00E6 ISOlat1 -->
+<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
+                                  U+00E7 ISOlat1 -->
+<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
+                                  U+00E8 ISOlat1 -->
+<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
+                                  U+00E9 ISOlat1 -->
+<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
+                                  U+00EA ISOlat1 -->
+<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
+                                  U+00EB ISOlat1 -->
+<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
+                                  U+00EC ISOlat1 -->
+<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
+                                  U+00ED ISOlat1 -->
+<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
+                                  U+00EE ISOlat1 -->
+<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
+                                  U+00EF ISOlat1 -->
+<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
+<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
+                                  U+00F1 ISOlat1 -->
+<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
+                                  U+00F2 ISOlat1 -->
+<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
+                                  U+00F3 ISOlat1 -->
+<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
+                                  U+00F4 ISOlat1 -->
+<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
+                                  U+00F5 ISOlat1 -->
+<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
+                                  U+00F6 ISOlat1 -->
+<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
+<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
+                                  = latin small letter o slash,
+                                  U+00F8 ISOlat1 -->
+<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
+                                  U+00F9 ISOlat1 -->
+<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
+                                  U+00FA ISOlat1 -->
+<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
+                                  U+00FB ISOlat1 -->
+<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
+                                  U+00FC ISOlat1 -->
+<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
+                                  U+00FD ISOlat1 -->
+<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn,
+                                  U+00FE ISOlat1 -->
+<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
+                                  U+00FF ISOlat1 -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-special.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-special.ent
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,80 @@
+<!-- Special characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % HTMLspecial PUBLIC
+        "-//W3C//ENTITIES Special for XHTML//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent";>
+     %HTMLspecial;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+     New names (i.e., not in ISO 8879 list) do not clash with any
+     existing ISO 8879 entity names. ISO 10646 character numbers
+     are given for each character, in hex. values are decimal
+     conversions of the ISO 10646 values and refer to the document
+     character set. Names are Unicode names. 
+-->
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY quot    "&#34;"> <!--  quotation mark, U+0022 ISOnum -->
+<!ENTITY amp     "&#38;#38;"> <!--  ampersand, U+0026 ISOnum -->
+<!ENTITY lt      "&#38;#60;"> <!--  less-than sign, U+003C ISOnum -->
+<!ENTITY gt      "&#62;"> <!--  greater-than sign, U+003E ISOnum -->
+<!ENTITY apos   "&#39;"> <!--  apostrophe = APL quote, U+0027 ISOnum -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
+                                    U+0152 ISOlat2 -->
+<!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
+                                    U+0160 ISOlat2 -->
+<!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
+                                    U+0161 ISOlat2 -->
+<!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
+                                    U+0178 ISOlat2 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ    "&#710;"> <!--  modifier letter circumflex accent,
+                                    U+02C6 ISOpub -->
+<!ENTITY tilde   "&#732;"> <!--  small tilde, U+02DC ISOdia -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp    "&#8194;"> <!-- en space, U+2002 ISOpub -->
+<!ENTITY emsp    "&#8195;"> <!-- em space, U+2003 ISOpub -->
+<!ENTITY thinsp  "&#8201;"> <!-- thin space, U+2009 ISOpub -->
+<!ENTITY zwnj    "&#8204;"> <!-- zero width non-joiner,
+                                    U+200C NEW RFC 2070 -->
+<!ENTITY zwj     "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
+<!ENTITY lrm     "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
+<!ENTITY rlm     "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
+<!ENTITY ndash   "&#8211;"> <!-- en dash, U+2013 ISOpub -->
+<!ENTITY mdash   "&#8212;"> <!-- em dash, U+2014 ISOpub -->
+<!ENTITY lsquo   "&#8216;"> <!-- left single quotation mark,
+                                    U+2018 ISOnum -->
+<!ENTITY rsquo   "&#8217;"> <!-- right single quotation mark,
+                                    U+2019 ISOnum -->
+<!ENTITY sbquo   "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
+<!ENTITY ldquo   "&#8220;"> <!-- left double quotation mark,
+                                    U+201C ISOnum -->
+<!ENTITY rdquo   "&#8221;"> <!-- right double quotation mark,
+                                    U+201D ISOnum -->
+<!ENTITY bdquo   "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
+<!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
+<!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
+<!ENTITY permil  "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
+<!ENTITY lsaquo  "&#8249;"> <!-- single left-pointing angle quotation mark,
+                                    U+2039 ISO proposed -->
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo  "&#8250;"> <!-- single right-pointing angle quotation mark,
+                                    U+203A ISO proposed -->
+<!-- rsaquo is proposed but not yet ISO standardized -->
+
+<!-- Currency Symbols -->
+<!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-symbol.ent
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml-symbol.ent
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,237 @@
+<!-- Mathematical, Greek and Symbolic characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+     <!ENTITY % HTMLsymbol PUBLIC
+        "-//W3C//ENTITIES Symbols for XHTML//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent";>
+     %HTMLsymbol;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+     New names (i.e., not in ISO 8879 list) do not clash with any
+     existing ISO 8879 entity names. ISO 10646 character numbers
+     are given for each character, in hex. values are decimal
+     conversions of the ISO 10646 values and refer to the document
+     character set. Names are Unicode names. 
+-->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof     "&#402;"> <!-- latin small letter f with hook = function
+                                    = florin, U+0192 ISOtech -->
+
+<!-- Greek -->
+<!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
+<!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
+<!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
+                                    U+0393 ISOgrk3 -->
+<!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
+                                    U+0394 ISOgrk3 -->
+<!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
+<!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
+<!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
+<!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
+                                    U+0398 ISOgrk3 -->
+<!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
+<!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
+<!ENTITY Lambda   "&#923;"> <!-- greek capital letter lamda,
+                                    U+039B ISOgrk3 -->
+<!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
+<!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
+<!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
+<!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
+<!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
+<!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
+<!-- there is no Sigmaf, and no U+03A2 character either -->
+<!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
+                                    U+03A3 ISOgrk3 -->
+<!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
+<!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
+                                    U+03A5 ISOgrk3 -->
+<!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
+                                    U+03A6 ISOgrk3 -->
+<!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
+<!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
+                                    U+03A8 ISOgrk3 -->
+<!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
+                                    U+03A9 ISOgrk3 -->
+
+<!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
+                                    U+03B1 ISOgrk3 -->
+<!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
+<!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
+                                    U+03B3 ISOgrk3 -->
+<!ENTITY delta    "&#948;"> <!-- greek small letter delta,
+                                    U+03B4 ISOgrk3 -->
+<!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
+                                    U+03B5 ISOgrk3 -->
+<!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
+<!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
+<!ENTITY theta    "&#952;"> <!-- greek small letter theta,
+                                    U+03B8 ISOgrk3 -->
+<!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
+<!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
+                                    U+03BA ISOgrk3 -->
+<!ENTITY lambda   "&#955;"> <!-- greek small letter lamda,
+                                    U+03BB ISOgrk3 -->
+<!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
+<!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
+<!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
+<!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
+<!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
+<!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
+<!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
+                                    U+03C2 ISOgrk3 -->
+<!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
+                                    U+03C3 ISOgrk3 -->
+<!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
+<!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
+                                    U+03C5 ISOgrk3 -->
+<!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
+<!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
+<!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
+<!ENTITY omega    "&#969;"> <!-- greek small letter omega,
+                                    U+03C9 ISOgrk3 -->
+<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
+                                    U+03D1 NEW -->
+<!ENTITY upsih    "&#978;"> <!-- greek upsilon with hook symbol,
+                                    U+03D2 NEW -->
+<!ENTITY piv      "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
+
+<!-- General Punctuation -->
+<!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
+                                     U+2022 ISOpub  -->
+<!-- bullet is NOT the same as bullet operator, U+2219 -->
+<!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
+                                     U+2026 ISOpub  -->
+<!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
+<!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
+                                     U+2033 ISOtech -->
+<!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
+                                     U+203E NEW -->
+<!ENTITY frasl    "&#8260;"> <!-- fraction slash, U+2044 NEW -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
+                                     = Weierstrass p, U+2118 ISOamso -->
+<!ENTITY image    "&#8465;"> <!-- black-letter capital I = imaginary part,
+                                     U+2111 ISOamso -->
+<!ENTITY real     "&#8476;"> <!-- black-letter capital R = real part symbol,
+                                     U+211C ISOamso -->
+<!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
+<!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
+                                     U+2135 NEW -->
+<!-- alef symbol is NOT the same as hebrew letter alef,
+     U+05D0 although the same glyph could be used to depict both characters -->
+
+<!-- Arrows -->
+<!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
+<!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
+<!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
+<!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
+<!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
+<!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
+                                     = carriage return, U+21B5 NEW -->
+<!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
+<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
+    but also does not have any other character for that function. So lArr can
+    be used for 'is implied by' as ISOtech suggests -->
+<!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
+<!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
+                                     U+21D2 ISOtech -->
+<!-- Unicode does not say this is the 'implies' character but does not have 
+     another character with this function so rArr can be used for 'implies'
+     as ISOtech suggests -->
+<!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
+<!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
+                                     U+21D4 ISOamsa -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
+<!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
+<!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
+<!ENTITY empty    "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
+<!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
+                                     U+2207 ISOtech -->
+<!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
+<!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
+<!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
+<!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
+                                     U+220F ISOamsb -->
+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
+     the same glyph might be used for both -->
+<!ENTITY sum      "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
+     though the same glyph might be used for both -->
+<!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
+<!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
+<!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
+                                     U+221A ISOtech -->
+<!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
+<!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
+<!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
+<!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
+<!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
+<!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
+<!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
+<!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
+<!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
+<!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
+                                     U+223C ISOtech -->
+<!-- tilde operator is NOT the same character as the tilde, U+007E,
+     although the same glyph might be used to represent both  -->
+<!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
+<!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
+                                     U+2248 ISOamsr -->
+<!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
+<!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
+<!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
+<!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
+                                     U+2265 ISOtech -->
+<!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
+<!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
+<!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
+<!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
+<!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
+                                     U+2287 ISOtech -->
+<!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
+                                     U+2295 ISOamsb -->
+<!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
+                                     U+2297 ISOamsb -->
+<!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
+                                     U+22A5 ISOtech -->
+<!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
+<!-- dot operator is NOT the same character as U+00B7 middle dot -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil    "&#8968;"> <!-- left ceiling = APL upstile,
+                                     U+2308 ISOamsc  -->
+<!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
+<!ENTITY lfloor   "&#8970;"> <!-- left floor = APL downstile,
+                                     U+230A ISOamsc  -->
+<!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
+<!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
+                                     U+2329 ISOtech -->
+<!-- lang is NOT the same character as U+003C 'less than sign' 
+     or U+2039 'single left-pointing angle quotation mark' -->
+<!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
+                                     U+232A ISOtech -->
+<!-- rang is NOT the same character as U+003E 'greater than sign' 
+     or U+203A 'single right-pointing angle quotation mark' -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
+<!-- black here seems to mean filled as opposed to hollow -->
+<!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
+                                     U+2663 ISOpub -->
+<!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
+                                     U+2665 ISOpub -->
+<!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-frameset.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-frameset.dtd
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1235 @@
+<!--
+   Extensible HTML version 1.0 Frameset DTD
+
+   This is the same as HTML 4 Frameset except for
+   changes due to the differences between XML and SGML.
+
+   Namespace = http://www.w3.org/1999/xhtml
+
+   For further information, see: http://www.w3.org/TR/xhtml1
+
+   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+   All Rights Reserved. 
+
+   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+   PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd";
+
+   $Revision: 1.1 $
+   $Date: 2003/09/08 04:54:33 $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+   "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+   "-//W3C//ENTITIES Symbols for XHTML//EN"
+   "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+   "-//W3C//ENTITIES Special for XHTML//EN"
+   "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+    <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+    <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+    <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+    <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+    <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+    <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+    <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+    <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+    <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+    <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+    <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+    <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+    <!-- pixel, percentage, or relative -->
+
+<!ENTITY % MultiLengths "CDATA">
+    <!-- comma-separated list of MultiLength -->
+
+<!ENTITY % Pixels "CDATA">
+    <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+    <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+    Black  = #000000    Green  = #008000
+    Silver = #C0C0C0    Lime   = #00FF00
+    Gray   = #808080    Olive  = #808000
+    White  = #FFFFFF    Yellow = #FFFF00
+    Maroon = #800000    Navy   = #000080
+    Red    = #FF0000    Blue   = #0000FF
+    Purple = #800080    Teal   = #008080
+    Fuchsia= #FF00FF    Aqua   = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+  id       document-wide unique id
+  class    space separated list of classes
+  style    associated style info
+  title    advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id          ID             #IMPLIED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED"
+  >
+
+<!-- internationalization attributes
+  lang        language code (backwards compatible)
+  xml:lang    language code (as per XML 1.0 spec)
+  dir         direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #IMPLIED"
+  >
+
+<!-- attributes for common UI events
+  onclick     a pointer button was clicked
+  ondblclick  a pointer button was double clicked
+  onmousedown a pointer button was pressed down
+  onmouseup   a pointer button was released
+  onmousemove a pointer was moved onto the element
+  onmouseout  a pointer was moved away from the element
+  onkeypress  a key was pressed and released
+  onkeydown   a key was pressed down
+  onkeyup     a key was released
+-->
+<!ENTITY % events
+ "onclick     %Script;       #IMPLIED
+  ondblclick  %Script;       #IMPLIED
+  onmousedown %Script;       #IMPLIED
+  onmouseup   %Script;       #IMPLIED
+  onmouseover %Script;       #IMPLIED
+  onmousemove %Script;       #IMPLIED
+  onmouseout  %Script;       #IMPLIED
+  onkeypress  %Script;       #IMPLIED
+  onkeydown   %Script;       #IMPLIED
+  onkeyup     %Script;       #IMPLIED"
+  >
+
+<!-- attributes for elements that can get the focus
+  accesskey   accessibility key character
+  tabindex    position in tabbing order
+  onfocus     the element got the focus
+  onblur      the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey   %Character;    #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED"
+  >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+     align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+   "object | applet | img | map | iframe">
+       
+<!ENTITY % special.basic
+       "br | span | bdo">
+
+<!ENTITY % special
+   "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+                      | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+                   samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center">
+
+<!ENTITY % block
+    "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | 
%misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+     sub, sup, font, or basefont -->
+
+<!ENTITY % pre.content
+   "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+          %inline.forms; | %misc.inline;)*">
+
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+      table | br | span | bdo | object | applet | img | map |
+      %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, frameset)>
+<!ATTLIST html
+  %i18n;
+  id          ID             #IMPLIED
+  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
+  >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+     title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+     ((title, %head.misc;, (base, %head.misc;)?) |
+      (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+  %i18n;
+  id          ID             #IMPLIED
+  profile     %URI;          #IMPLIED
+  >
+
+<!-- The title element is not considered part of the flow of text.
+       It should be displayed, for example as the page header or
+       window title. Exactly one title is required per document.
+    -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title 
+  %i18n;
+  id          ID             #IMPLIED
+  >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+  id          ID             #IMPLIED
+  href        %URI;          #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+  %i18n;
+  id          ID             #IMPLIED
+  http-equiv  CDATA          #IMPLIED
+  name        CDATA          #IMPLIED
+  content     CDATA          #REQUIRED
+  scheme      CDATA          #IMPLIED
+  >
+
+<!--
+  Relationship values can be used in principle:
+
+   a) for document specific toolbars/menus when used
+      with the link element in document head e.g.
+        start, contents, previous, next, index, end, help
+   b) to link to a separate style sheet (rel="stylesheet")
+   c) to make a link to a script (rel="script")
+   d) by stylesheets to control how collections of
+      html nodes are rendered into printed documents
+   e) to make a link to a printable version of this document
+      e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+  %attrs;
+  charset     %Charset;      #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  type        %ContentType;  #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  media       %MediaDesc;    #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+  %i18n;
+  id          ID             #IMPLIED
+  type        %ContentType;  #REQUIRED
+  media       %MediaDesc;    #IMPLIED
+  title       %Text;         #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+  id          ID             #IMPLIED
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #REQUIRED
+  language    CDATA          #IMPLIED
+  src         %URI;          #IMPLIED
+  defer       (defer)        #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+  %attrs;
+  >
+
+<!--======================= Frames =======================================-->
+
+<!-- only one noframes element permitted per document -->
+
+<!ELEMENT frameset (frameset|frame|noframes)*>
+<!ATTLIST frameset
+  %coreattrs;
+  rows        %MultiLengths; #IMPLIED
+  cols        %MultiLengths; #IMPLIED
+  onload      %Script;       #IMPLIED
+  onunload    %Script;       #IMPLIED
+  >
+
+<!-- reserved frame names start with "_" otherwise starts with letter -->
+
+<!-- tiled window within frameset -->
+
+<!ELEMENT frame EMPTY>
+<!ATTLIST frame
+  %coreattrs;
+  longdesc    %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  src         %URI;          #IMPLIED
+  frameborder (1|0)          "1"
+  marginwidth %Pixels;       #IMPLIED
+  marginheight %Pixels;      #IMPLIED
+  noresize    (noresize)     #IMPLIED
+  scrolling   (yes|no|auto)  "auto"
+  >
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+  %coreattrs;
+  longdesc    %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  src         %URI;          #IMPLIED
+  frameborder (1|0)          "1"
+  marginwidth %Pixels;       #IMPLIED
+  marginheight %Pixels;      #IMPLIED
+  scrolling   (yes|no|auto)  "auto"
+  align       %ImgAlign;     #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes (body)>
+<!ATTLIST noframes
+  %attrs;
+  >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+  %attrs;
+  onload      %Script;       #IMPLIED
+  onunload    %Script;       #IMPLIED
+  background  %URI;          #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  text        %Color;        #IMPLIED
+  link        %Color;        #IMPLIED
+  vlink       %Color;        #IMPLIED
+  alink       %Color;        #IMPLIED
+  >
+
+<!ELEMENT div %Flow;>  <!-- generic language/style container -->
+<!ATTLIST div
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Headings =========================================-->
+
+<!--
+  There are six levels of headings from h1 (the most important)
+  to h6 (the least important).
+-->
+
+<!ELEMENT h1  %Inline;>
+<!ATTLIST h1
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+  %attrs;
+  type        %ULStyle;     #IMPLIED
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- Ordered list numbering style
+
+    1   arabic numbers      1, 2, 3, ...
+    a   lower alpha         a, b, c, ...
+    A   upper alpha         A, B, C, ...
+    i   lower roman         i, ii, iii, ...
+    I   upper roman         I, II, III, ...
+
+    The style is applied to the sequence number which by default
+    is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+  %attrs;
+  type        %OLStyle;      #IMPLIED
+  compact     (compact)      #IMPLIED
+  start       %Number;       #IMPLIED
+  >
+
+<!-- single column list (DEPRECATED) --> 
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+  %attrs;
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- multiple column list (DEPRECATED) --> 
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+  %attrs;
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+  %attrs;
+  type        %LIStyle;      #IMPLIED
+  value       %Number;       #IMPLIED
+  >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+  %attrs;
+  compact     (compact)      #IMPLIED
+  >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+  %attrs;
+  >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+  %attrs;
+  >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+  %attrs;
+  >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+  %attrs;
+  align       (left|center|right) #IMPLIED
+  noshade     (noshade)      #IMPLIED
+  size        %Pixels;       #IMPLIED
+  width       %Length;       #IMPLIED
+  >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding 
+        "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+  %attrs;
+  width       %Number;      #IMPLIED
+  xml:space   (preserve)    #FIXED 'preserve'
+  >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+  %attrs;
+  >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+
+<!--
+  ins/del are allowed in block and inline content, but its
+  inappropriate to include block content within an ins element
+  occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+  %attrs;
+  %focus;
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+  %attrs;
+  >
+
+<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+  %coreattrs;
+  %events;
+  lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #REQUIRED
+  >
+
+<!ELEMENT br EMPTY>   <!-- forced line break -->
+<!ATTLIST br
+  %coreattrs;
+  clear       (left|all|right|none) "none"
+  >
+
+<!ELEMENT em %Inline;>   <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;>   <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;>   <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;>   <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;>  <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;>   <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;>   <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;>   <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;>   <!-- inlined quote -->
+<!ATTLIST q
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;>   <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;>   <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;>   <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;>   <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;>   <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;>   <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;>   <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY>  <!-- base font size -->
+<!ATTLIST basefont
+  id          ID             #IMPLIED
+  size        CDATA          #REQUIRED
+  color       %Color;        #IMPLIED
+  face        CDATA          #IMPLIED
+  >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+  %coreattrs;
+  %i18n;
+  size        CDATA          #IMPLIED
+  color       %Color;        #IMPLIED
+  face        CDATA          #IMPLIED
+  >
+
+<!--==================== Object ======================================-->
+<!--
+  object is used to embed objects as part of HTML pages.
+  param elements should precede other content. Parameters
+  can also be expressed as attribute/value pairs on the
+  object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
+<!ATTLIST object
+  %attrs;
+  declare     (declare)      #IMPLIED
+  classid     %URI;          #IMPLIED
+  codebase    %URI;          #IMPLIED
+  data        %URI;          #IMPLIED
+  type        %ContentType;  #IMPLIED
+  codetype    %ContentType;  #IMPLIED
+  archive     %UriList;      #IMPLIED
+  standby     %Text;         #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  border      %Pixels;       #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!--
+  param is used to supply a named property value.
+  In XML it would seem natural to follow RDF and support an
+  abbreviated syntax where the param elements are replaced
+  by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+  id          ID             #IMPLIED
+  name        CDATA          #REQUIRED
+  value       CDATA          #IMPLIED
+  valuetype   (data|ref|object) "data"
+  type        %ContentType;  #IMPLIED
+  >
+
+<!--=================== Java applet ==================================-->
+<!--
+  One of code or object attributes must be present.
+  Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+  %coreattrs;
+  codebase    %URI;          #IMPLIED
+  archive     CDATA          #IMPLIED
+  code        CDATA          #IMPLIED
+  object      CDATA          #IMPLIED
+  alt         %Text;         #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  width       %Length;       #REQUIRED
+  height      %Length;       #REQUIRED
+  align       %ImgAlign;     #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!--=================== Images ===========================================-->
+
+<!--
+   To avoid accessibility problems for people who aren't
+   able to see the image, you should provide a text
+   description using the alt and longdesc attributes.
+   In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  %attrs;
+  src         %URI;          #REQUIRED
+  alt         %Text;         #REQUIRED
+  name        NMTOKEN        #IMPLIED
+  longdesc    %URI;          #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  ismap       (ismap)        #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  border      %Pixels;       #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!-- usemap points to a map element which may be in this document
+  or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+     separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+  %i18n;
+  %events;
+  id          ID             #REQUIRED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+  %attrs;
+  %focus;
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  href        %URI;          #IMPLIED
+  nohref      (nohref)       #IMPLIED
+  alt         %Text;         #REQUIRED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+  %attrs;
+  action      %URI;          #REQUIRED
+  method      (get|post)     "get"
+  name        NMTOKEN        #IMPLIED
+  enctype     %ContentType;  "application/x-www-form-urlencoded"
+  onsubmit    %Script;       #IMPLIED
+  onreset     %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  accept-charset %Charsets;  #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--
+  Each label must not contain more than ONE field
+  Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+  %attrs;
+  for         IDREF          #IMPLIED
+  accesskey   %Character;    #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  >
+
+<!ENTITY % InputType
+  "(text | password | checkbox |
+    radio | submit | reset |
+    file | hidden | image | button)"
+   >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY>     <!-- form control -->
+<!ATTLIST input
+  %attrs;
+  %focus;
+  type        %InputType;    "text"
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  checked     (checked)      #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  size        CDATA          #IMPLIED
+  maxlength   %Number;       #IMPLIED
+  src         %URI;          #IMPLIED
+  alt         CDATA          #IMPLIED
+  usemap      %URI;          #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  >
+
+<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
+<!ATTLIST select
+  %attrs;
+  name        CDATA          #IMPLIED
+  size        %Number;       #IMPLIED
+  multiple    (multiple)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!ELEMENT optgroup (option)+>   <!-- option group -->
+<!ATTLIST optgroup
+  %attrs;
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #REQUIRED
+  >
+
+<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
+<!ATTLIST option
+  %attrs;
+  selected    (selected)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #IMPLIED
+  value       CDATA          #IMPLIED
+  >
+
+<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
+<!ATTLIST textarea
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  rows        %Number;       #REQUIRED
+  cols        %Number;       #REQUIRED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!--
+  The fieldset element is used to group form fields.
+  Only one legend element should occur in the content
+  and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+  %attrs;
+  >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;>     <!-- fieldset label -->
+<!ATTLIST legend
+  %attrs;
+  accesskey   %Character;    #IMPLIED
+  align       %LAlign;       #IMPLIED
+  >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+--> 
+<!ELEMENT button %button.content;>  <!-- push button -->
+<!ATTLIST button
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  type        (button|submit|reset) "submit"
+  disabled    (disabled)     #IMPLIED
+  >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+  %coreattrs;
+  %i18n;
+  prompt      %Text;         #IMPLIED
+  >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+     "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+  
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+  char        alignment char, e.g. char=":"
+  charoff     offset for alignment char
+-->
+<!ENTITY % cellhalign
+  "align      (left|center|right|justify|char) #IMPLIED
+   char       %Character;    #IMPLIED
+   charoff    %Length;       #IMPLIED"
+  >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+  "valign     (top|middle|bottom|baseline) #IMPLIED"
+  >
+
+<!ELEMENT table
+     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption  %Inline;>
+<!ELEMENT thead    (tr)+>
+<!ELEMENT tfoot    (tr)+>
+<!ELEMENT tbody    (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col      EMPTY>
+<!ELEMENT tr       (th|td)+>
+<!ELEMENT th       %Flow;>
+<!ELEMENT td       %Flow;>
+
+<!ATTLIST table
+  %attrs;
+  summary     %Text;         #IMPLIED
+  width       %Length;       #IMPLIED
+  border      %Pixels;       #IMPLIED
+  frame       %TFrame;       #IMPLIED
+  rules       %TRules;       #IMPLIED
+  cellspacing %Length;       #IMPLIED
+  cellpadding %Length;       #IMPLIED
+  align       %TAlign;       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+  %attrs;
+  align       %CAlign;       #IMPLIED
+  >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+     width=64        width in screen pixels
+     width=0.5*      relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+    Use thead to duplicate headers when breaking table
+    across page boundaries, or for static headers when
+    tbody sections are rendered in scrolling panel.
+
+    Use tfoot to duplicate footers when breaking table
+    across page boundaries, or for static footers when
+    tbody sections are rendered in scrolling panel.
+
+    Use multiple tbody sections when rules are needed
+    between groups of table rows.
+-->
+<!ATTLIST thead
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tfoot
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tbody
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tr
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  bgcolor     %Color;        #IMPLIED
+  >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  width       %Pixels;       #IMPLIED
+  height      %Pixels;       #IMPLIED
+  >
+
+<!ATTLIST td
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  width       %Pixels;       #IMPLIED
+  height      %Pixels;       #IMPLIED
+  >
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-strict.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-strict.dtd
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,978 @@
+<!--
+   Extensible HTML version 1.0 Strict DTD
+
+   This is the same as HTML 4 Strict except for
+   changes due to the differences between XML and SGML.
+
+   Namespace = http://www.w3.org/1999/xhtml
+
+   For further information, see: http://www.w3.org/TR/xhtml1
+
+   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+   All Rights Reserved. 
+
+   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";
+
+   $Revision: 1.1 $
+   $Date: 2003/09/08 04:54:33 $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+   "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+   "-//W3C//ENTITIES Symbols for XHTML//EN"
+   "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+   "-//W3C//ENTITIES Special for XHTML//EN"
+   "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+    <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+    <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+    <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+    <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+    <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+    <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+    <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+    <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+    <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+    <!-- used for titles etc. -->
+
+<!ENTITY % Length "CDATA">
+    <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+    <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+    <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+    <!-- comma separated list of lengths -->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+  id       document-wide unique id
+  class    space separated list of classes
+  style    associated style info
+  title    advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id          ID             #IMPLIED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED"
+  >
+
+<!-- internationalization attributes
+  lang        language code (backwards compatible)
+  xml:lang    language code (as per XML 1.0 spec)
+  dir         direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #IMPLIED"
+  >
+
+<!-- attributes for common UI events
+  onclick     a pointer button was clicked
+  ondblclick  a pointer button was double clicked
+  onmousedown a pointer button was pressed down
+  onmouseup   a pointer button was released
+  onmousemove a pointer was moved onto the element
+  onmouseout  a pointer was moved away from the element
+  onkeypress  a key was pressed and released
+  onkeydown   a key was pressed down
+  onkeyup     a key was released
+-->
+<!ENTITY % events
+ "onclick     %Script;       #IMPLIED
+  ondblclick  %Script;       #IMPLIED
+  onmousedown %Script;       #IMPLIED
+  onmouseup   %Script;       #IMPLIED
+  onmouseover %Script;       #IMPLIED
+  onmousemove %Script;       #IMPLIED
+  onmouseout  %Script;       #IMPLIED
+  onkeypress  %Script;       #IMPLIED
+  onkeydown   %Script;       #IMPLIED
+  onkeyup     %Script;       #IMPLIED"
+  >
+
+<!-- attributes for elements that can get the focus
+  accesskey   accessibility key character
+  tabindex    position in tabbing order
+  onfocus     the element got the focus
+  onblur      the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey   %Character;    #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED"
+  >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.pre
+   "br | span | bdo | map">
+
+
+<!ENTITY % special
+   "%special.pre; | object | img ">
+
+<!ENTITY % fontstyle "tt | i | b | big | small ">
+
+<!ENTITY % phrase "em | strong | dfn | code | q |
+                   samp | kbd | var | cite | abbr | acronym | sub | sup ">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl">
+<!ENTITY % blocktext "pre | hr | blockquote | address">
+
+<!ENTITY % block
+     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
+
+<!ENTITY % Block "(%block; | form | %misc;)*">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | 
%misc.inline;)*">
+
+<!-- pre uses %Inline excluding big, small, sup or sup -->
+
+<!ENTITY % pre.content
+   "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
+      | %inline.forms;)*">
+
+<!-- form uses %Block; excluding form -->
+
+<!ENTITY % form.content "(%block; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form and form controls -->
+
+<!ENTITY % button.content
+   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+    table | %special; | %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+  %i18n;
+  id          ID             #IMPLIED
+  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
+  >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object)*">
+
+<!-- content model is %head.misc; combined with a single
+     title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+     ((title, %head.misc;, (base, %head.misc;)?) |
+      (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+  %i18n;
+  id          ID             #IMPLIED
+  profile     %URI;          #IMPLIED
+  >
+
+<!-- The title element is not considered part of the flow of text.
+       It should be displayed, for example as the page header or
+       window title. Exactly one title is required per document.
+    -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title 
+  %i18n;
+  id          ID             #IMPLIED
+  >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+  href        %URI;          #REQUIRED
+  id          ID             #IMPLIED
+  >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+  %i18n;
+  id          ID             #IMPLIED
+  http-equiv  CDATA          #IMPLIED
+  name        CDATA          #IMPLIED
+  content     CDATA          #REQUIRED
+  scheme      CDATA          #IMPLIED
+  >
+
+<!--
+  Relationship values can be used in principle:
+
+   a) for document specific toolbars/menus when used
+      with the link element in document head e.g.
+        start, contents, previous, next, index, end, help
+   b) to link to a separate style sheet (rel="stylesheet")
+   c) to make a link to a script (rel="script")
+   d) by stylesheets to control how collections of
+      html nodes are rendered into printed documents
+   e) to make a link to a printable version of this document
+      e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+  %attrs;
+  charset     %Charset;      #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  type        %ContentType;  #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  media       %MediaDesc;    #IMPLIED
+  >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+  %i18n;
+  id          ID             #IMPLIED
+  type        %ContentType;  #REQUIRED
+  media       %MediaDesc;    #IMPLIED
+  title       %Text;         #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+  id          ID             #IMPLIED
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #REQUIRED
+  src         %URI;          #IMPLIED
+  defer       (defer)        #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Block;>
+<!ATTLIST noscript
+  %attrs;
+  >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Block;>
+<!ATTLIST body
+  %attrs;
+  onload          %Script;   #IMPLIED
+  onunload        %Script;   #IMPLIED
+  >
+
+<!ELEMENT div %Flow;>  <!-- generic language/style container -->
+<!ATTLIST div
+  %attrs;
+  >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+  %attrs;
+  >
+
+<!--=================== Headings =========================================-->
+
+<!--
+  There are six levels of headings from h1 (the most important)
+  to h6 (the least important).
+-->
+
+<!ELEMENT h1  %Inline;>
+<!ATTLIST h1
+   %attrs;
+   >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+   %attrs;
+   >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+   %attrs;
+   >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+   %attrs;
+   >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+   %attrs;
+   >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+   %attrs;
+   >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+  %attrs;
+  >
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+  %attrs;
+  >
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+  %attrs;
+  >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+  %attrs;
+  >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+  %attrs;
+  >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+  %attrs;
+  >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address %Inline;>
+<!ATTLIST address
+  %attrs;
+  >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+  %attrs;
+  >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+  %attrs;
+  xml:space (preserve) #FIXED 'preserve'
+  >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Block;>
+<!ATTLIST blockquote
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+  ins/del are allowed in block and inline content, but its
+  inappropriate to include block content within an ins element
+  occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+  %attrs;
+  %focus;
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+  %attrs;
+  >
+
+<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+  %coreattrs;
+  %events;
+  lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #REQUIRED
+  >
+
+<!ELEMENT br EMPTY>   <!-- forced line break -->
+<!ATTLIST br
+  %coreattrs;
+  >
+
+<!ELEMENT em %Inline;>   <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;>   <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;>   <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;>   <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;>  <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;>   <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;>   <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;>   <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;>   <!-- inlined quote -->
+<!ATTLIST q
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;>   <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;>   <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;>   <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;>   <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!--==================== Object ======================================-->
+<!--
+  object is used to embed objects as part of HTML pages.
+  param elements should precede other content. Parameters
+  can also be expressed as attribute/value pairs on the
+  object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+  %attrs;
+  declare     (declare)      #IMPLIED
+  classid     %URI;          #IMPLIED
+  codebase    %URI;          #IMPLIED
+  data        %URI;          #IMPLIED
+  type        %ContentType;  #IMPLIED
+  codetype    %ContentType;  #IMPLIED
+  archive     %UriList;      #IMPLIED
+  standby     %Text;         #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  >
+
+<!--
+  param is used to supply a named property value.
+  In XML it would seem natural to follow RDF and support an
+  abbreviated syntax where the param elements are replaced
+  by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+  id          ID             #IMPLIED
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  valuetype   (data|ref|object) "data"
+  type        %ContentType;  #IMPLIED
+  >
+
+<!--=================== Images ===========================================-->
+
+<!--
+   To avoid accessibility problems for people who aren't
+   able to see the image, you should provide a text
+   description using the alt and longdesc attributes.
+   In addition, avoid the use of server-side image maps.
+   Note that in this DTD there is no name attribute. That
+   is only available in the transitional and frameset DTD.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  %attrs;
+  src         %URI;          #REQUIRED
+  alt         %Text;         #REQUIRED
+  longdesc    %URI;          #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  ismap       (ismap)        #IMPLIED
+  >
+
+<!-- usemap points to a map element which may be in this document
+  or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+     separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+  %i18n;
+  %events;
+  id          ID             #REQUIRED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+  %attrs;
+  %focus;
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  href        %URI;          #IMPLIED
+  nohref      (nohref)       #IMPLIED
+  alt         %Text;         #REQUIRED
+  >
+
+<!--================ Forms ===============================================-->
+<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+  %attrs;
+  action      %URI;          #REQUIRED
+  method      (get|post)     "get"
+  enctype     %ContentType;  "application/x-www-form-urlencoded"
+  onsubmit    %Script;       #IMPLIED
+  onreset     %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  accept-charset %Charsets;  #IMPLIED
+  >
+
+<!--
+  Each label must not contain more than ONE field
+  Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+  %attrs;
+  for         IDREF          #IMPLIED
+  accesskey   %Character;    #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  >
+
+<!ENTITY % InputType
+  "(text | password | checkbox |
+    radio | submit | reset |
+    file | hidden | image | button)"
+   >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY>     <!-- form control -->
+<!ATTLIST input
+  %attrs;
+  %focus;
+  type        %InputType;    "text"
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  checked     (checked)      #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  size        CDATA          #IMPLIED
+  maxlength   %Number;       #IMPLIED
+  src         %URI;          #IMPLIED
+  alt         CDATA          #IMPLIED
+  usemap      %URI;          #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  >
+
+<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
+<!ATTLIST select
+  %attrs;
+  name        CDATA          #IMPLIED
+  size        %Number;       #IMPLIED
+  multiple    (multiple)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!ELEMENT optgroup (option)+>   <!-- option group -->
+<!ATTLIST optgroup
+  %attrs;
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #REQUIRED
+  >
+
+<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
+<!ATTLIST option
+  %attrs;
+  selected    (selected)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #IMPLIED
+  value       CDATA          #IMPLIED
+  >
+
+<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
+<!ATTLIST textarea
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  rows        %Number;       #REQUIRED
+  cols        %Number;       #REQUIRED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!--
+  The fieldset element is used to group form fields.
+  Only one legend element should occur in the content
+  and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+  %attrs;
+  >
+
+<!ELEMENT legend %Inline;>     <!-- fieldset label -->
+<!ATTLIST legend
+  %attrs;
+  accesskey   %Character;    #IMPLIED
+  >
+
+<!--
+ Content is %Flow; excluding a, form and form controls
+--> 
+<!ELEMENT button %button.content;>  <!-- push button -->
+<!ATTLIST button
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  type        (button|submit|reset) "submit"
+  disabled    (disabled)     #IMPLIED
+  >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+     "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+  
+<!-- horizontal alignment attributes for cell contents
+
+  char        alignment char, e.g. char=':'
+  charoff     offset for alignment char
+-->
+<!ENTITY % cellhalign
+  "align      (left|center|right|justify|char) #IMPLIED
+   char       %Character;    #IMPLIED
+   charoff    %Length;       #IMPLIED"
+  >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+  "valign     (top|middle|bottom|baseline) #IMPLIED"
+  >
+
+<!ELEMENT table
+     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption  %Inline;>
+<!ELEMENT thead    (tr)+>
+<!ELEMENT tfoot    (tr)+>
+<!ELEMENT tbody    (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col      EMPTY>
+<!ELEMENT tr       (th|td)+>
+<!ELEMENT th       %Flow;>
+<!ELEMENT td       %Flow;>
+
+<!ATTLIST table
+  %attrs;
+  summary     %Text;         #IMPLIED
+  width       %Length;       #IMPLIED
+  border      %Pixels;       #IMPLIED
+  frame       %TFrame;       #IMPLIED
+  rules       %TRules;       #IMPLIED
+  cellspacing %Length;       #IMPLIED
+  cellpadding %Length;       #IMPLIED
+  >
+
+<!ATTLIST caption
+  %attrs;
+  >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+     width=64        width in screen pixels
+     width=0.5*      relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+    Use thead to duplicate headers when breaking table
+    across page boundaries, or for static headers when
+    tbody sections are rendered in scrolling panel.
+
+    Use tfoot to duplicate footers when breaking table
+    across page boundaries, or for static footers when
+    tbody sections are rendered in scrolling panel.
+
+    Use multiple tbody sections when rules are needed
+    between groups of table rows.
+-->
+<!ATTLIST thead
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tfoot
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tbody
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tr
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST td
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  >
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-transitional.dtd
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1-transitional.dtd
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,1201 @@
+<!--
+   Extensible HTML version 1.0 Transitional DTD
+
+   This is the same as HTML 4 Transitional except for
+   changes due to the differences between XML and SGML.
+
+   Namespace = http://www.w3.org/1999/xhtml
+
+   For further information, see: http://www.w3.org/TR/xhtml1
+
+   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+   All Rights Reserved. 
+
+   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";
+
+   $Revision: 1.1 $
+   $Date: 2003/09/08 04:54:33 $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+   "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+   "-//W3C//ENTITIES Symbols for XHTML//EN"
+   "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+   "-//W3C//ENTITIES Special for XHTML//EN"
+   "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+    <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+    <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+    <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+    <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+    <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+    <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+    <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+    <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+    <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+    <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+    <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+    <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+    <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+    <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+    <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+    <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+    <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+    <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+    <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+    <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+    Black  = #000000    Green  = #008000
+    Silver = #C0C0C0    Lime   = #00FF00
+    Gray   = #808080    Olive  = #808000
+    White  = #FFFFFF    Yellow = #FFFF00
+    Maroon = #800000    Navy   = #000080
+    Red    = #FF0000    Blue   = #0000FF
+    Purple = #800080    Teal   = #008080
+    Fuchsia= #FF00FF    Aqua   = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+  id       document-wide unique id
+  class    space separated list of classes
+  style    associated style info
+  title    advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id          ID             #IMPLIED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED"
+  >
+
+<!-- internationalization attributes
+  lang        language code (backwards compatible)
+  xml:lang    language code (as per XML 1.0 spec)
+  dir         direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #IMPLIED"
+  >
+
+<!-- attributes for common UI events
+  onclick     a pointer button was clicked
+  ondblclick  a pointer button was double clicked
+  onmousedown a pointer button was pressed down
+  onmouseup   a pointer button was released
+  onmousemove a pointer was moved onto the element
+  onmouseout  a pointer was moved away from the element
+  onkeypress  a key was pressed and released
+  onkeydown   a key was pressed down
+  onkeyup     a key was released
+-->
+<!ENTITY % events
+ "onclick     %Script;       #IMPLIED
+  ondblclick  %Script;       #IMPLIED
+  onmousedown %Script;       #IMPLIED
+  onmouseup   %Script;       #IMPLIED
+  onmouseover %Script;       #IMPLIED
+  onmousemove %Script;       #IMPLIED
+  onmouseout  %Script;       #IMPLIED
+  onkeypress  %Script;       #IMPLIED
+  onkeydown   %Script;       #IMPLIED
+  onkeyup     %Script;       #IMPLIED"
+  >
+
+<!-- attributes for elements that can get the focus
+  accesskey   accessibility key character
+  tabindex    position in tabbing order
+  onfocus     the element got the focus
+  onblur      the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey   %Character;    #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED"
+  >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+     align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+   "object | applet | img | map | iframe">
+       
+<!ENTITY % special.basic
+       "br | span | bdo">
+
+<!ENTITY % special
+   "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+                      | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+                   samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
+
+<!ENTITY % block
+    "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | 
%misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+     font, or basefont -->
+
+<!ENTITY % pre.content
+   "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+          %inline.forms; | %misc.inline;)*">
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+      table | br | span | bdo | object | applet | img | map |
+      %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+  %i18n;
+  id          ID             #IMPLIED
+  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
+  >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+     title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+     ((title, %head.misc;, (base, %head.misc;)?) |
+      (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+  %i18n;
+  id          ID             #IMPLIED
+  profile     %URI;          #IMPLIED
+  >
+
+<!-- The title element is not considered part of the flow of text.
+       It should be displayed, for example as the page header or
+       window title. Exactly one title is required per document.
+    -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title 
+  %i18n;
+  id          ID             #IMPLIED
+  >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+  id          ID             #IMPLIED
+  href        %URI;          #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+  %i18n;
+  id          ID             #IMPLIED
+  http-equiv  CDATA          #IMPLIED
+  name        CDATA          #IMPLIED
+  content     CDATA          #REQUIRED
+  scheme      CDATA          #IMPLIED
+  >
+
+<!--
+  Relationship values can be used in principle:
+
+   a) for document specific toolbars/menus when used
+      with the link element in document head e.g.
+        start, contents, previous, next, index, end, help
+   b) to link to a separate style sheet (rel="stylesheet")
+   c) to make a link to a script (rel="script")
+   d) by stylesheets to control how collections of
+      html nodes are rendered into printed documents
+   e) to make a link to a printable version of this document
+      e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+  %attrs;
+  charset     %Charset;      #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  type        %ContentType;  #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  media       %MediaDesc;    #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+  %i18n;
+  id          ID             #IMPLIED
+  type        %ContentType;  #REQUIRED
+  media       %MediaDesc;    #IMPLIED
+  title       %Text;         #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+  id          ID             #IMPLIED
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #REQUIRED
+  language    CDATA          #IMPLIED
+  src         %URI;          #IMPLIED
+  defer       (defer)        #IMPLIED
+  xml:space   (preserve)     #FIXED 'preserve'
+  >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+  %attrs;
+  >
+
+<!--======================= Frames =======================================-->
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+  %coreattrs;
+  longdesc    %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  src         %URI;          #IMPLIED
+  frameborder (1|0)          "1"
+  marginwidth %Pixels;       #IMPLIED
+  marginheight %Pixels;      #IMPLIED
+  scrolling   (yes|no|auto)  "auto"
+  align       %ImgAlign;     #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes %Flow;>
+<!ATTLIST noframes
+  %attrs;
+  >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+  %attrs;
+  onload      %Script;       #IMPLIED
+  onunload    %Script;       #IMPLIED
+  background  %URI;          #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  text        %Color;        #IMPLIED
+  link        %Color;        #IMPLIED
+  vlink       %Color;        #IMPLIED
+  alink       %Color;        #IMPLIED
+  >
+
+<!ELEMENT div %Flow;>  <!-- generic language/style container -->
+<!ATTLIST div
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Headings =========================================-->
+
+<!--
+  There are six levels of headings from h1 (the most important)
+  to h6 (the least important).
+-->
+
+<!ELEMENT h1  %Inline;>
+<!ATTLIST h1
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+  %attrs;
+  %TextAlign;
+  >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+  %attrs;
+  %TextAlign;
+  >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+  %attrs;
+  type        %ULStyle;     #IMPLIED
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- Ordered list numbering style
+
+    1   arabic numbers      1, 2, 3, ...
+    a   lower alpha         a, b, c, ...
+    A   upper alpha         A, B, C, ...
+    i   lower roman         i, ii, iii, ...
+    I   upper roman         I, II, III, ...
+
+    The style is applied to the sequence number which by default
+    is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+  %attrs;
+  type        %OLStyle;      #IMPLIED
+  compact     (compact)      #IMPLIED
+  start       %Number;       #IMPLIED
+  >
+
+<!-- single column list (DEPRECATED) --> 
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+  %attrs;
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- multiple column list (DEPRECATED) --> 
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+  %attrs;
+  compact     (compact)     #IMPLIED
+  >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+  %attrs;
+  type        %LIStyle;      #IMPLIED
+  value       %Number;       #IMPLIED
+  >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+  %attrs;
+  compact     (compact)      #IMPLIED
+  >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+  %attrs;
+  >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+  %attrs;
+  >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+  %attrs;
+  >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+  %attrs;
+  align       (left|center|right) #IMPLIED
+  noshade     (noshade)      #IMPLIED
+  size        %Pixels;       #IMPLIED
+  width       %Length;       #IMPLIED
+  >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding 
+        "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+  %attrs;
+  width       %Number;      #IMPLIED
+  xml:space   (preserve)    #FIXED 'preserve'
+  >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+  %attrs;
+  >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+  ins/del are allowed in block and inline content, but its
+  inappropriate to include block content within an ins element
+  occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+  %attrs;
+  cite        %URI;          #IMPLIED
+  datetime    %Datetime;     #IMPLIED
+  >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+  %attrs;
+  %focus;
+  charset     %Charset;      #IMPLIED
+  type        %ContentType;  #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  href        %URI;          #IMPLIED
+  hreflang    %LanguageCode; #IMPLIED
+  rel         %LinkTypes;    #IMPLIED
+  rev         %LinkTypes;    #IMPLIED
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+  %attrs;
+  >
+
+<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+  %coreattrs;
+  %events;
+  lang        %LanguageCode; #IMPLIED
+  xml:lang    %LanguageCode; #IMPLIED
+  dir         (ltr|rtl)      #REQUIRED
+  >
+
+<!ELEMENT br EMPTY>   <!-- forced line break -->
+<!ATTLIST br
+  %coreattrs;
+  clear       (left|all|right|none) "none"
+  >
+
+<!ELEMENT em %Inline;>   <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;>   <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;>   <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;>   <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;>  <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;>   <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;>   <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;>   <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;>   <!-- inlined quote -->
+<!ATTLIST q
+  %attrs;
+  cite        %URI;          #IMPLIED
+  >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;>   <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;>   <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;>   <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;>   <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;>   <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;>   <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;>   <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY>  <!-- base font size -->
+<!ATTLIST basefont
+  id          ID             #IMPLIED
+  size        CDATA          #REQUIRED
+  color       %Color;        #IMPLIED
+  face        CDATA          #IMPLIED
+  >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+  %coreattrs;
+  %i18n;
+  size        CDATA          #IMPLIED
+  color       %Color;        #IMPLIED
+  face        CDATA          #IMPLIED
+  >
+
+<!--==================== Object ======================================-->
+<!--
+  object is used to embed objects as part of HTML pages.
+  param elements should precede other content. Parameters
+  can also be expressed as attribute/value pairs on the
+  object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+  %attrs;
+  declare     (declare)      #IMPLIED
+  classid     %URI;          #IMPLIED
+  codebase    %URI;          #IMPLIED
+  data        %URI;          #IMPLIED
+  type        %ContentType;  #IMPLIED
+  codetype    %ContentType;  #IMPLIED
+  archive     %UriList;      #IMPLIED
+  standby     %Text;         #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  border      %Pixels;       #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!--
+  param is used to supply a named property value.
+  In XML it would seem natural to follow RDF and support an
+  abbreviated syntax where the param elements are replaced
+  by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+  id          ID             #IMPLIED
+  name        CDATA          #REQUIRED
+  value       CDATA          #IMPLIED
+  valuetype   (data|ref|object) "data"
+  type        %ContentType;  #IMPLIED
+  >
+
+<!--=================== Java applet ==================================-->
+<!--
+  One of code or object attributes must be present.
+  Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+  %coreattrs;
+  codebase    %URI;          #IMPLIED
+  archive     CDATA          #IMPLIED
+  code        CDATA          #IMPLIED
+  object      CDATA          #IMPLIED
+  alt         %Text;         #IMPLIED
+  name        NMTOKEN        #IMPLIED
+  width       %Length;       #REQUIRED
+  height      %Length;       #REQUIRED
+  align       %ImgAlign;     #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!--=================== Images ===========================================-->
+
+<!--
+   To avoid accessibility problems for people who aren't
+   able to see the image, you should provide a text
+   description using the alt and longdesc attributes.
+   In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+  %attrs;
+  src         %URI;          #REQUIRED
+  alt         %Text;         #REQUIRED
+  name        NMTOKEN        #IMPLIED
+  longdesc    %URI;          #IMPLIED
+  height      %Length;       #IMPLIED
+  width       %Length;       #IMPLIED
+  usemap      %URI;          #IMPLIED
+  ismap       (ismap)        #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  border      %Length;       #IMPLIED
+  hspace      %Pixels;       #IMPLIED
+  vspace      %Pixels;       #IMPLIED
+  >
+
+<!-- usemap points to a map element which may be in this document
+  or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+     separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+  %i18n;
+  %events;
+  id          ID             #REQUIRED
+  class       CDATA          #IMPLIED
+  style       %StyleSheet;   #IMPLIED
+  title       %Text;         #IMPLIED
+  name        CDATA          #IMPLIED
+  >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+  %attrs;
+  %focus;
+  shape       %Shape;        "rect"
+  coords      %Coords;       #IMPLIED
+  href        %URI;          #IMPLIED
+  nohref      (nohref)       #IMPLIED
+  alt         %Text;         #REQUIRED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+  %attrs;
+  action      %URI;          #REQUIRED
+  method      (get|post)     "get"
+  name        NMTOKEN        #IMPLIED
+  enctype     %ContentType;  "application/x-www-form-urlencoded"
+  onsubmit    %Script;       #IMPLIED
+  onreset     %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  accept-charset %Charsets;  #IMPLIED
+  target      %FrameTarget;  #IMPLIED
+  >
+
+<!--
+  Each label must not contain more than ONE field
+  Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+  %attrs;
+  for         IDREF          #IMPLIED
+  accesskey   %Character;    #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  >
+
+<!ENTITY % InputType
+  "(text | password | checkbox |
+    radio | submit | reset |
+    file | hidden | image | button)"
+   >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY>     <!-- form control -->
+<!ATTLIST input
+  %attrs;
+  %focus;
+  type        %InputType;    "text"
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  checked     (checked)      #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  size        CDATA          #IMPLIED
+  maxlength   %Number;       #IMPLIED
+  src         %URI;          #IMPLIED
+  alt         CDATA          #IMPLIED
+  usemap      %URI;          #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  accept      %ContentTypes; #IMPLIED
+  align       %ImgAlign;     #IMPLIED
+  >
+
+<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
+<!ATTLIST select
+  %attrs;
+  name        CDATA          #IMPLIED
+  size        %Number;       #IMPLIED
+  multiple    (multiple)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  tabindex    %Number;       #IMPLIED
+  onfocus     %Script;       #IMPLIED
+  onblur      %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!ELEMENT optgroup (option)+>   <!-- option group -->
+<!ATTLIST optgroup
+  %attrs;
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #REQUIRED
+  >
+
+<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
+<!ATTLIST option
+  %attrs;
+  selected    (selected)     #IMPLIED
+  disabled    (disabled)     #IMPLIED
+  label       %Text;         #IMPLIED
+  value       CDATA          #IMPLIED
+  >
+
+<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
+<!ATTLIST textarea
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  rows        %Number;       #REQUIRED
+  cols        %Number;       #REQUIRED
+  disabled    (disabled)     #IMPLIED
+  readonly    (readonly)     #IMPLIED
+  onselect    %Script;       #IMPLIED
+  onchange    %Script;       #IMPLIED
+  >
+
+<!--
+  The fieldset element is used to group form fields.
+  Only one legend element should occur in the content
+  and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+  %attrs;
+  >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;>     <!-- fieldset label -->
+<!ATTLIST legend
+  %attrs;
+  accesskey   %Character;    #IMPLIED
+  align       %LAlign;       #IMPLIED
+  >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+--> 
+<!ELEMENT button %button.content;>  <!-- push button -->
+<!ATTLIST button
+  %attrs;
+  %focus;
+  name        CDATA          #IMPLIED
+  value       CDATA          #IMPLIED
+  type        (button|submit|reset) "submit"
+  disabled    (disabled)     #IMPLIED
+  >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+  %coreattrs;
+  %i18n;
+  prompt      %Text;         #IMPLIED
+  >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+     "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+  
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+  char        alignment char, e.g. char=':'
+  charoff     offset for alignment char
+-->
+<!ENTITY % cellhalign
+  "align      (left|center|right|justify|char) #IMPLIED
+   char       %Character;    #IMPLIED
+   charoff    %Length;       #IMPLIED"
+  >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+  "valign     (top|middle|bottom|baseline) #IMPLIED"
+  >
+
+<!ELEMENT table
+     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption  %Inline;>
+<!ELEMENT thead    (tr)+>
+<!ELEMENT tfoot    (tr)+>
+<!ELEMENT tbody    (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col      EMPTY>
+<!ELEMENT tr       (th|td)+>
+<!ELEMENT th       %Flow;>
+<!ELEMENT td       %Flow;>
+
+<!ATTLIST table
+  %attrs;
+  summary     %Text;         #IMPLIED
+  width       %Length;       #IMPLIED
+  border      %Pixels;       #IMPLIED
+  frame       %TFrame;       #IMPLIED
+  rules       %TRules;       #IMPLIED
+  cellspacing %Length;       #IMPLIED
+  cellpadding %Length;       #IMPLIED
+  align       %TAlign;       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+  %attrs;
+  align       %CAlign;       #IMPLIED
+  >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+     width=64        width in screen pixels
+     width=0.5*      relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+  %attrs;
+  span        %Number;       "1"
+  width       %MultiLength;  #IMPLIED
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!--
+    Use thead to duplicate headers when breaking table
+    across page boundaries, or for static headers when
+    tbody sections are rendered in scrolling panel.
+
+    Use tfoot to duplicate footers when breaking table
+    across page boundaries, or for static footers when
+    tbody sections are rendered in scrolling panel.
+
+    Use multiple tbody sections when rules are needed
+    between groups of table rows.
+-->
+<!ATTLIST thead
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tfoot
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tbody
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  >
+
+<!ATTLIST tr
+  %attrs;
+  %cellhalign;
+  %cellvalign;
+  bgcolor     %Color;        #IMPLIED
+  >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  width       %Length;       #IMPLIED
+  height      %Length;       #IMPLIED
+  >
+
+<!ATTLIST td
+  %attrs;
+  abbr        %Text;         #IMPLIED
+  axis        CDATA          #IMPLIED
+  headers     IDREFS         #IMPLIED
+  scope       %Scope;        #IMPLIED
+  rowspan     %Number;       "1"
+  colspan     %Number;       "1"
+  %cellhalign;
+  %cellvalign;
+  nowrap      (nowrap)       #IMPLIED
+  bgcolor     %Color;        #IMPLIED
+  width       %Length;       #IMPLIED
+  height      %Length;       #IMPLIED
+  >
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1.dcl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/schema/w3c-dtd/xhtml1.dcl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,192 @@
+<!SGML "ISO 8879:1986 (WWW)"
+
+     -- SGML Declaration for XML 1.0 --
+
+     -- from: 
+        Final text of revised Web SGML Adaptations Annex (TC2) to ISO 8879:1986
+        ISO/IEC JTC1/SC34 N0029: 1998-12-06
+        Annex L.2 (informative): SGML Declaration for XML
+
+        changes made to accommodate validation are noted with 'VALID:'
+     --
+
+     CHARSET
+         BASESET
+             "ISO Registration Number 177//CHARSET
+              ISO/IEC 10646-1:1993 UCS-4 with implementation
+              level 3//ESC 2/5 2/15 4/6"
+         DESCSET
+                 0        9  UNUSED
+                 9        2       9
+                11        2  UNUSED
+                13        1      13
+                14       18  UNUSED
+                32       95      32
+               127        1  UNUSED
+               128       32  UNUSED
+               160    55136     160
+             55296     2048  UNUSED  -- surrogates --
+             57344     8190   57344
+             65534        2  UNUSED  -- FFFE and FFFF --
+             65536  1048576   65536
+
+     CAPACITY NONE  -- Capacities are not restricted in XML --
+
+     SCOPE DOCUMENT
+
+     SYNTAX
+         SHUNCHAR NONE
+         BASESET "ISO Registration Number 177//CHARSET
+                  ISO/IEC 10646-1:1993 UCS-4 with implementation
+                  level 3//ESC 2/5 2/15 4/6"
+         DESCSET
+             0 1114112 0
+         FUNCTION
+             RE    13
+             RS    10
+             SPACE 32
+             TAB   SEPCHAR 9
+         NAMING
+             LCNMSTRT ""
+             UCNMSTRT ""
+             NAMESTRT
+                 58 95 192-214 216-246 248-305 308-318 321-328
+                 330-382 384-451 461-496 500-501 506-535 592-680
+                 699-705 902 904-906 908 910-929 931-974 976-982
+                 986 988 990 992 994-1011 1025-1036 1038-1103
+                 1105-1116 1118-1153 1168-1220 1223-1224
+                 1227-1228 1232-1259 1262-1269 1272-1273
+                 1329-1366 1369 1377-1414 1488-1514 1520-1522
+                 1569-1594 1601-1610 1649-1719 1722-1726
+                 1728-1742 1744-1747 1749 1765-1766 2309-2361
+                 2365 2392-2401 2437-2444 2447-2448 2451-2472
+                 2474-2480 2482 2486-2489 2524-2525 2527-2529
+                 2544-2545 2565-2570 2575-2576 2579-2600
+                 2602-2608 2610-2611 2613-2614 2616-2617
+                 2649-2652 2654 2674-2676 2693-2699 2701
+                 2703-2705 2707-2728 2730-2736 2738-2739
+                 2741-2745 2749 2784 2821-2828 2831-2832
+                 2835-2856 2858-2864 2866-2867 2870-2873 2877
+                 2908-2909 2911-2913 2949-2954 2958-2960
+                 2962-2965 2969-2970 2972 2974-2975 2979-2980
+                 2984-2986 2990-2997 2999-3001 3077-3084
+                 3086-3088 3090-3112 3114-3123 3125-3129
+                 3168-3169 3205-3212 3214-3216 3218-3240
+                 3242-3251 3253-3257 3294 3296-3297 3333-3340
+                 3342-3344 3346-3368 3370-3385 3424-3425
+                 3585-3630 3632 3634-3635 3648-3653 3713-3714
+                 3716 3719-3720 3722 3725 3732-3735 3737-3743
+                 3745-3747 3749 3751 3754-3755 3757-3758 3760
+                 3762-3763 3773 3776-3780 3904-3911 3913-3945
+                 4256-4293 4304-4342 4352 4354-4355 4357-4359
+                 4361 4363-4364 4366-4370 4412 4414 4416 4428
+                 4430 4432 4436-4437 4441 4447-4449 4451 4453
+                 4455 4457 4461-4462 4466-4467 4469 4510 4520
+                 4523 4526-4527 4535-4536 4538 4540-4546 4587
+                 4592 4601 7680-7835 7840-7929 7936-7957
+                 7960-7965 7968-8005 8008-8013 8016-8023 8025
+                 8027 8029 8031-8061 8064-8116 8118-8124 8126
+                 8130-8132 8134-8140 8144-8147 8150-8155
+                 8160-8172 8178-8180 8182-8188 8486 8490-8491
+                 8494 8576-8578 12295 12321-12329 12353-12436
+                 12449-12538 12549-12588 19968-40869 44032-55203
+
+             LCNMCHAR ""
+             UCNMCHAR ""
+             NAMECHAR
+                 45-46 183 720-721 768-837 864-865 903 1155-1158
+                 1425-1441 1443-1465 1467-1469 1471 1473-1474
+                 1476 1600 1611-1618 1632-1641 1648 1750-1764
+                 1767-1768 1770-1773 1776-1785 2305-2307 2364
+                 2366-2381 2385-2388 2402-2403 2406-2415
+                 2433-2435 2492 2494-2500 2503-2504 2507-2509
+                 2519 2530-2531 2534-2543 2562 2620 2622-2626
+                 2631-2632 2635-2637 2662-2673 2689-2691 2748
+                 2750-2757 2759-2761 2763-2765 2790-2799
+                 2817-2819 2876 2878-2883 2887-2888 2891-2893
+                 2902-2903 2918-2927 2946-2947 3006-3010
+                 3014-3016 3018-3021 3031 3047-3055 3073-3075
+                 3134-3140 3142-3144 3146-3149 3157-3158
+                 3174-3183 3202-3203 3262-3268 3270-3272
+                 3274-3277 3285-3286 3302-3311 3330-3331
+                 3390-3395 3398-3400 3402-3405 3415 3430-3439
+                 3633 3636-3642 3654-3662 3664-3673 3761
+                 3764-3769 3771-3772 3782 3784-3789 3792-3801
+                 3864-3865 3872-3881 3893 3895 3897 3902-3903
+                 3953-3972 3974-3979 3984-3989 3991 3993-4013
+                 4017-4023 4025 8400-8412 8417 12293 12330-12335
+                 12337-12341 12441-12442 12445-12446 12540-12542
+
+             NAMECASE
+                 GENERAL NO
+                 ENTITY  NO
+         DELIM
+             GENERAL  SGMLREF
+             HCRO     "&#38;#x"
+                      -- Ampersand followed by "#x" (without quotes) --
+             NESTC    "/"
+             NET      ">"
+             PIC      "?>"
+             SHORTREF NONE
+
+         NAMES
+             SGMLREF
+
+         QUANTITY
+             NONE -- Quantities are not restricted in XML --
+
+         ENTITIES
+             "amp"  38
+             "lt"   60
+             "gt"   62
+             "quot" 34
+             "apos" 39
+
+     FEATURES
+         MINIMIZE
+             DATATAG NO
+             OMITTAG NO
+             RANK    NO
+             SHORTTAG
+                 STARTTAG
+                     EMPTY    NO
+                     UNCLOSED NO
+                     NETENABL IMMEDNET
+                 ENDTAG
+                     EMPTY    NO
+                     UNCLOSED NO
+                 ATTRIB
+                     DEFAULT  YES
+                     OMITNAME NO
+                     VALUE    NO
+             EMPTYNRM  YES
+             IMPLYDEF
+                 ATTLIST  NO  -- VALID: was YES --
+                 DOCTYPE  NO
+                 ELEMENT  NO  -- VALID: was YES --
+                 ENTITY   NO
+                 NOTATION NO  -- VALID: was YES --
+         LINK
+             SIMPLE   NO
+             IMPLICIT NO
+             EXPLICIT NO
+         OTHER
+             CONCUR   NO
+             SUBDOC   NO
+             FORMAL   NO
+             URN      NO
+             KEEPRSRE YES
+             VALIDITY TYPE -- VALID: was NOASSERT --
+             ENTITIES
+                 REF      ANY
+                 INTEGRAL YES
+
+     APPINFO NONE
+
+     SEEALSO "ISO 8879//NOTATION Extensible Markup Language (XML) 1.0//EN"
+>
+<!-- Id: $Id: xhtml1.dcl,v 1.1 2003/09/08 04:54:33 crossley Exp $ SMI
+     Revisions:
+#1999-04-09  changes for XML validation
+#2001-04-08  updated ISO registration number for UCS-4
+-->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/absolutize-linkmap.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/absolutize-linkmap.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<!--
+Stylesheet to recursively append all @href's in a tree. Eg, given as input:
+
+<site href="">
+  <community href="community/">
+    <faq href="faq.html">
+      <how_can_I_help href="#help"/>
+    </faq>
+  </community>
+</site>
+
+Output would be:
+
+<site href="">
+  <community href="community/">
+    <faq href="community/faq.html">
+      <how_can_I_help href="community/faq.html#help"/>
+    </faq>
+  </community>
+</site>
+
+This is applied to site.xml to generate the 'abs-linkmap' URIs in the sitemap.
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- Recursive template to collate @href's -->
+  <xsl:template name="absolutize">
+    <xsl:param name="node"/>
+    <!-- Only append ancestor hrefs if we're not a uri-scheme: URL -->
+    <xsl:if test="not(contains($node/@href, ':')) or 
contains(substring-before($node/@href, ':'), '/')">
+      <xsl:if test="$node/..">
+        <xsl:call-template name="absolutize">
+          <xsl:with-param name="node" select="$node/.."/>
+        </xsl:call-template>
+      </xsl:if>
+    </xsl:if>
+    <xsl:value-of select="$node/@href"/>
+
+  </xsl:template>
+
+  <xsl:template match="@href">
+    <xsl:attribute name="href">
+      <xsl:call-template name="absolutize">
+        <xsl:with-param name="node" select=".."/>
+      </xsl:call-template>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/book2cinclude.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/book2cinclude.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<!--
+Generates a skeleton doc-v20 file for the whole site with CInclude elements 
where content should be pulled in.
+Input is expected to be in standard book.xml format. @hrefs should be 
normalized, although unnormalized hrefs can be
+handled by uncommenting the relevant section.
+
[EMAIL PROTECTED]
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  xmlns:cinclude="http://apache.org/cocoon/include/1.0";>
+
+  <xsl:param name="title" select="''"/>
+  <xsl:param name="ignore" select="'jira-manual'"/>
+
+  <xsl:template match="book">
+    <document>
+      <header>
+        <title><xsl:value-of select="$title"/></title>
+      </header>
+      <body>
+        <xsl:apply-templates select="menu|menu-item"/>
+      </body>
+    </document>
+  </xsl:template>
+
+
+  <xsl:template match="menu">
+    <section>
+      <title><xsl:value-of select="@label"/></title>
+      <xsl:apply-templates/>
+    </section>
+  </xsl:template>
+
+  <xsl:template match="[EMAIL PROTECTED]'hidden']"/>  <!-- Ignore hidden items 
-->
+  <xsl:template match="menu-item[contains(@href, '#')]"/>  <!-- Ignore 
#frag-id items -->
+  <xsl:template match="menu-item[starts-with(@href, 'http:')]"/>  <!-- Ignore 
absolute http urls -->
+  <xsl:template match="menu-item[starts-with(@href, 'https:')]"/>  <!-- Ignore 
absolute https urls -->
+  <xsl:template match="menu-item[starts-with(@href, $ignore)]"/>  <!-- Ignore 
the aggregated pages -->
+
+  <!-- Recursive template to collate @href's -->
+  <xsl:template name="absolute-href">
+    <xsl:param name="node"/>
+    <!-- Only append ancestor hrefs if we're not a http(s): URL -->
+    <xsl:if test="not(starts-with($node/@href, 'http:') or 
starts-with($node/@href, 'https:'))">
+      <xsl:if test="$node/../@href">
+        <xsl:call-template name="absolute-href">
+          <xsl:with-param name="node" select="$node/.."/>
+        </xsl:call-template>
+      </xsl:if>
+    </xsl:if>
+    <xsl:value-of select="$node/@href"/>
+  </xsl:template>
+
+  <xsl:template match="menu-item">
+    <section>
+      <xsl:attribute name="id">
+        <xsl:text></xsl:text><xsl:value-of select="@href"/>
+      </xsl:attribute>
+      <cinclude:include>
+        <xsl:attribute name="src">
+          <xsl:text>cocoon://</xsl:text>
+          <!--  This isn't necessary if reading source from cocoon://book-*.xml
+          <xsl:call-template name="absolute-href">
+            <xsl:with-param name="node" select=".."/>
+          </xsl:call-template>
+          -->
+          <xsl:value-of select="concat(substring-before(@href, '.'), '.xml')"/>
+        </xsl:attribute>
+      </cinclude:include>
+    </section>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/doc2doc-uniqueids.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/doc2doc-uniqueids.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  xmlns:cinclude="http://apache.org/cocoon/include/1.0";
+  exclude-result-prefixes="cinclude">
+
+  <xsl:key name="node-id" match="*" use="@id"/>
+
+  <!-- If we encounter a section with an @id, make that @id globally unique by
+  prefixing the id of the current document -->
+  <xsl:template match="section/document//@id">
+    <xsl:attribute name="id"><xsl:value-of 
select="concat(ancestor::section/@id, '#', .)"/></xsl:attribute>
+  </xsl:template>
+  
+  <!-- Make #fragment-id references inside each page globally unique -->
+  <xsl:template match="section/document//link/@href[starts-with(., '#')]">
+    <xsl:attribute name="href"><xsl:value-of select="concat('#', 
ancestor::section/@id, .)"/></xsl:attribute>
+  </xsl:template>
+
+  <!-- Translate relative links like 'index.html' to '#index.html' -->
+  <xsl:template match="section/document//link/@href[contains(., '.html')]">
+    <xsl:attribute name="href"><xsl:text>#</xsl:text><xsl:value-of 
select="."/></xsl:attribute>
+  </xsl:template>
+
+  <xsl:template match="section/document//img[starts-with(@src, 'my-images')]">
+    <!-- Zap my-images/** links, which break as they are not relative to the 
site root -->
+  </xsl:template>
+  <xsl:include href="../copyover.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/docs2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/docs2document.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:template match="section/document">
+      <title><xsl:value-of select="header/title"/></title>
+      <xsl:copy-of select="body/node()" />
+  </xsl:template>
+
+  <xsl:include href="../copyover.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/relativize-split-linkmap.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/aggregates/relativize-split-linkmap.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet is a variant of relativize-linkmap.xsl that handles the case
+where a set of nodes have been aggregated into the content for the current page
+($path).  Any node may be inside or outside the aggregation set.
+
+For nodes inside the aggregation set, links are prepended with '#' (to form an
+internal anchor).
+For nodes outside the aggregation set, links are made relative to the context
+root (either absolute or relative).
+
+For instance, if we have:
+
+<about label="About">
+  <index label="Index" href="index.html"/>
+  <who label="Who we are" href="who.html"/>
+  <dreams label="Dream list" href="dreams.html" tab="mytab"/>
+  <faq label="FAQs" href="faq.html"             tab="mytab"/>
+  <changes label="Changes" href="changes.html"/>
+  <todo label="Todo" href="todo.html"           tab="mytab"/>
+</about>
+
+Nodes 'dreams', 'faq' and 'todo' are inside the 'mytab' aggregation.  If $path
+was 'faq.html', then the generated linkmap would be:
+
+<about label="About">
+  <index label="Index" href="index.html"/>
+  <who label="Who we are" href="who.html"/>
+  <dreams label="Dream list" href="#dreams.html" tab="mytab"/>
+  <faq label="FAQs" href="#faq.html"             tab="mytab"/>
+  <changes label="Changes" href="changes.html"/>
+  <todo label="Todo" href="#todo.html"           tab="mytab"/>
+</about>
+
+Where links like '#dreams.html' are assumed to be anchors in the aggregated
+document.
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="path"/>
+  <xsl:param name="site-root" select="'http://localhost:8787/forrest/'"/>
+
+  <xsl:variable name="tab">
+    <xsl:value-of select="string(//*[starts-with(@href, $path)]/@tab)"/>
+  </xsl:variable>
+
+  <xsl:include href="../dotdots.xsl"/>
+
+  <!-- Path to site root, eg '../../' -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:template match="@href">
+
+    <xsl:attribute name="href">
+      <xsl:choose>
+        <xsl:when test="contains(., ':') and not(contains(substring-before(., 
':'), '/'))">
+          <xsl:value-of select="."/>
+        </xsl:when>
+        <xsl:when test="contains(., '.png') or
+          contains(., '.jpeg') or
+          contains(., '.jpg') or
+          contains(., '.gif') or
+          contains(., '.tif')">
+          <!-- Image links are always relative -->
+          <xsl:value-of select="$root"/><xsl:value-of select="."/>
+        </xsl:when>
+
+        <xsl:when test="$tab='' or ../@tab=$tab">
+          <xsl:value-of select="concat('#', .)"/>
+        </xsl:when>
+
+        <!-- PDFs can handle inline images, but everything else must become an
+        external link -->
+        <xsl:when test="contains($path, '.pdf')">
+
+          <!-- Links to outside a PDF are all absolute -->
+          <xsl:value-of select="concat($site-root, .)"/>
+
+        </xsl:when>
+        <xsl:otherwise>
+
+          <!-- Links outside a HTML are relative -->
+          <xsl:value-of select="$root"/><xsl:value-of select="."/>
+
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:include href="../copyover.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/bookv10.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/stylesheets/bookv10.xsl 
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<xsl:preserve-space elements="*" />
+  
+  <xsl:output doctype-public="-//APACHE//DTD Cocoon Documentation Book 
V1.0//EN" doctype-system="book-cocoon-v10.dtd"/>
+  
+  <xsl:template match="/">
+        <xsl:apply-templates/>
+  </xsl:template>
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changes2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changes2document.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+ <xsl:import href="copyover.xsl"/>
+ 
+
+ <!-- FIXME (JJP):  bugzilla is hardwired -->
+ <xsl:variable name="bugzilla" 
select="'http://nagoya.apache.org/bugzilla/buglist.cgi?bug_id='"/>
+
+ <xsl:param name="bugtracking-url" select="$bugzilla"/>
+
+ <xsl:template match="/">
+  <xsl:apply-templates select="//changes"/>
+ </xsl:template>
+ 
+ <xsl:template match="changes">
+  <document>
+   <header>
+    <title>History of Changes</title>
+   </header>
+   <body>
+    <p><link href="changes.rss"><img src="images/rss.png" 
alt="RSS"/></link></p>    
+    <xsl:apply-templates/>
+   </body>
+  </document>
+ </xsl:template>
+
+ <xsl:template match="release">
+  <section id="[EMAIL PROTECTED]">
+   <title>Version <xsl:value-of select="@version"/> (<xsl:value-of 
select="@date"/>)</title>
+   <ul>
+    <xsl:apply-templates/>
+   </ul>
+  </section>
+ </xsl:template>
+
+ <xsl:template match="action">
+  <li>
+   <icon src="images/[EMAIL PROTECTED]" alt="[EMAIL PROTECTED]"/>
+   <xsl:apply-templates/>
+   <xsl:text>(</xsl:text><xsl:value-of select="@dev"/><xsl:text>)</xsl:text>
+
+   <xsl:if test="@due-to and @due-to!=''">
+    <xsl:text> Thanks to </xsl:text>
+    <xsl:choose>
+     <xsl:when test="@due-to-email and @due-to-email!=''">
+      <link href="mailto:[EMAIL PROTECTED]">
+       <xsl:value-of select="@due-to"/>
+      </link>
+     </xsl:when>
+     <xsl:otherwise>
+      <xsl:value-of select="@due-to"/>
+     </xsl:otherwise>
+    </xsl:choose>
+    <xsl:text>.</xsl:text>
+   </xsl:if>
+
+   <xsl:if test="@fixes-bug">
+     <xsl:text> Fixes </xsl:text>
+     <xsl:call-template name="print-bugs">
+       <xsl:with-param name="buglist" 
select="translate(normalize-space(@fixes-bug),' ','')"/>
+     </xsl:call-template>
+     <!--
+     <xsl:choose>
+       <xsl:when test="contains(@fixes-bug, ',')">
+         <!-<link 
href="{$bugtracking-url}{translate(normalize-space(@fixes-bug),' ','')}">->
+           <link href="{$bugtracking-url}">
+             <xsl:text>bugs </xsl:text><xsl:value-of 
select="normalize-space(@fixes-bug)"/>
+           </link>
+         </xsl:when>
+         <xsl:otherwise>
+           <link href="[EMAIL PROTECTED]">
+             <xsl:text>bug </xsl:text><xsl:value-of select="@fixes-bug"/>
+           </link>
+         </xsl:otherwise>
+       </xsl:choose>
+       -->
+       <xsl:text>.</xsl:text>
+     </xsl:if>
+   </li>
+ </xsl:template>
+
+ <!-- Print each bug id in a comma-separated list -->
+ <xsl:template name="print-bugs">
+   <xsl:param name="buglist"/>
+   <xsl:choose>
+     <xsl:when test="contains($buglist, ',')">
+       <xsl:variable name="current" select="substring-before($buglist, ',')"/>
+       <link href="{concat($bugtracking-url, $current)}">
+         <xsl:value-of select="$current"/>
+       </link>
+       <xsl:text>, </xsl:text>
+       <xsl:call-template name="print-bugs">
+         <xsl:with-param name="buglist" select="substring-after($buglist, 
',')"/>
+       </xsl:call-template>
+     </xsl:when>
+     <xsl:otherwise>
+       <link href="{concat($bugtracking-url, $buglist)}"><xsl:value-of 
select="$buglist"/></link>
+     </xsl:otherwise>
+   </xsl:choose>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changes2rss.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changes2rss.xsl 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="config-file" select="'../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+
+  <xsl:template match="status">
+
+    <xsl:variable name="changes-url"
+      select="concat($config/project-url, '/changes.html')"/>
+
+    <rss version="0.91">
+      <channel>
+        <title><xsl:value-of select="$config/project-name"/> Changes</title>
+
+        <link><xsl:value-of select="$changes-url"/></link>
+
+        <description><xsl:value-of select="$config/project-name"/> 
Changes</description>
+
+        <language>en-us</language>
+
+        <xsl:for-each select="changes/release[1]/action">
+          <item>
+            <title>
+              <xsl:value-of select="@context" />
+              <xsl:text> </xsl:text>
+              <xsl:value-of select="@type" />
+
+              <xsl:if test="@type='fix' and @fixes-bug">
+                (bug <xsl:value-of select="@fixes-bug" />)
+              </xsl:if>
+
+            </title>
+
+            <link><xsl:value-of select="$changes-url"/></link>
+
+            <description>
+              <xsl:value-of select="@context" />
+              <xsl:text> </xsl:text>
+              <xsl:value-of select="@type" />
+              by 
+              <xsl:value-of select="@dev" />
+              <xsl:if test="@type='fix' and @fixes-bug">
+                (fixes bug <xsl:value-of select="@fixes-bug" />)
+              </xsl:if>
+              :
+              <xsl:value-of select="." />
+              <xsl:if test="@due-to"> Thanks to <xsl:value-of select="@due-to" 
/>.</xsl:if> 
+            </description>
+          </item>
+        </xsl:for-each>
+      </channel>
+    </rss>
+  </xsl:template>
+</xsl:stylesheet>
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changesv10tochangesv11.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/changesv10tochangesv11.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<xsl:preserve-space elements="*" />
+  <!-- changes-v10.dtd to changes-v11.dtd transformation -->
+  
+  <xsl:template match="/">
+        <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="changes/@title">
+    <title><xsl:value-of select="."/></title>
+  </xsl:template>
+
+  <xsl:template match="link/@type | link/@actuate | link/@show |
+                       jump/@type | jump/@actuate | jump/@show |
+                       fork/@type | fork/@actuate | fork/@show"/>
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/copyover.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/copyover.xsl    
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+  <xsl:template match="@*|*|text()|processing-instruction()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/directory2book.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/directory2book.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+
+<!-- Converts the output of the DirectoryGenerator to Forrest's book.xml
+format.  Typically this would be used to define a book.xml pipeline for a
+specific page.  Eg, in menu.xmap, define the DirectoryGenerator:
+
+<map:generators default="file">
+  <map:generator name="directory" 
src="org.apache.cocoon.generation.DirectoryGenerator" />
+</map:generators>
+
+And then define the book.xml matcher for a directory that you want to
+automatically generate a menu for (here wiki/):
+
+<map:match pattern="wiki/**book-*">
+  <map:generate type="directory" src="content/xdocs/wiki/{1}">
+    <map:parameter name="dateFormat" value="yyyy-MM-dd hh:mm" />
+    <map:parameter name="depth" value="5" />
+    <map:parameter name="exclude" value="[.][^x[^m][^l]|~$|^my-images$" />
+  </map:generate>
+  <map:transform src="resources/stylesheets/directory2book.xsl" />
+  <map:serialize type="xml"/>
+</map:match>
+
+
+-->
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  xmlns:dir="http://apache.org/cocoon/directory/2.0"; 
exclude-result-prefixes="dir">
+
+  <xsl:output doctype-system="book-cocoon-v10.dtd" 
doctype-public="-//APACHE//DTD Cocoon Documentation Book V1.0//EN"/>
+
+  <xsl:param name="expected-extension" select="'xml'"/>
+
+  <xsl:variable name="ext" select="concat('.', $expected-extension)"/>
+
+  <xsl:template match="/">
+    <book software="" title="" copyright="">
+      <!--
+      <menu label="Aggregates">
+        <menu-item label="Combined content" href="combined.html"/>
+      </menu>
+      -->
+      <xsl:apply-templates/>
+    </book>
+  </xsl:template>
+
+  <xsl:template match="dir:directory">
+    <menu label="{translate(@name,'-_',' ')}">
+      <xsl:apply-templates select="dir:file" />
+    </menu>
+      <!-- [descendant::dir:file] is to remove empty menu nodes -->
+      <xsl:apply-templates select="dir:directory [descendant::dir:file]" />
+  </xsl:template>
+
+  <xsl:template match="dir:file">
+    <menu-item label="{translate(substring-before(@name, $ext),'-_',' ')}">
+      <xsl:attribute name="href">
+      <xsl:variable name="path" />
+        <!-- [not (position()=last())] is to ignore the root node -->
+        <xsl:for-each select="ancestor::dir:directory [not 
(position()=last())]">
+          <xsl:variable name="path" select="concat($path, @name, '/')" />
+          <xsl:value-of select="$path"/>
+        </xsl:for-each>
+        <xsl:value-of select="concat(substring-before(@name, $ext), '.html')"/>
+      </xsl:attribute>
+    </menu-item>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/directory2revisions.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/directory2revisions.xsl
     Thu Sep  9 10:04:36 2004
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+ xmlns:dir="http://apache.org/cocoon/directory/2.0";>
+ 
+ 
+ <xsl:param name="page" />
+ <xsl:variable name="revisionPage"><xsl:value-of 
select="concat('revision-',$page)" /></xsl:variable>
+
+  <xsl:template match="dir:directory">
+  <revisions>
+      <xsl:apply-templates select="dir:file" />
+  </revisions>
+  </xsl:template>
+
+  <xsl:template match="dir:file">
+  
+ <xsl:if test="starts-with(@name,$revisionPage)" >
+       <revision>
+         <xsl:attribute name="name"><xsl:value-of 
select="@name"/></xsl:attribute>
+         <xsl:attribute name="date"><xsl:value-of 
select="@date"/></xsl:attribute>
+       </revision>
+ </xsl:if>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docbook2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docbook2document.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,643 @@
+<?xml version="1.0"?>
+<!--
+A prototype Docbook-to-Forrest stylesheet.
+Volunteers are needed to improve this!
+
+Support for the range of Docbook tags is very patchy. If you need real
+Docbook support, then use Norm Walsh's stylesheets - see Forrest FAQ.
+
+Credit: original from the jakarta-avalon project
+Revision:
+ - [EMAIL PROTECTED] - Moving towards xml.apache.org/forrest document...not 
yet complete.
+ - [EMAIL PROTECTED] - Lots of fixups, notably the title now works, and 
footnotes work.
+
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
+
+      <xsl:template match="/">
+            <xsl:apply-templates select="book|chapter|revhistory|article"/>
+      </xsl:template>
+
+      <xsl:template match="/book">
+            <document>
+                  <header>
+                        <xsl:apply-templates select="bookinfo/title"/>
+                        <xsl:apply-templates select="bookinfo/subtitle"/>
+                        <authors>
+                              <xsl:apply-templates select="bookinfo/author"/>
+                        </authors>
+                        <!--
+                        <notice/>
+                        <abstract/>
+                        -->
+                  </header>
+                  <body>
+                        <xsl:apply-templates select="node()[ local-name() != 
'bookinfo']"/>
+                        <xsl:call-template name="apply-footnotes"/>
+                  </body>
+            </document>
+      </xsl:template>
+
+      <xsl:template match="/chapter">
+            <document>
+                  <header>
+                        <xsl:apply-templates select="title"/>
+                        <xsl:apply-templates select="subtitle"/>
+                        <authors>
+                              <xsl:apply-templates 
select="chapterinfo/authorgroup/author"/>
+                        </authors>
+                  </header>
+                  <body>
+                        <xsl:apply-templates select="node()[
+                              local-name() != 'title' and
+                              local-name() != 'subtitle' and
+                              local-name() != 'chapterinfo' 
+                              ]"/>
+                        <xsl:call-template name="apply-footnotes"/>
+                  </body>
+            </document>
+      </xsl:template>
+
+       <xsl:template match="/article">
+             <document>
+                   <header>
+                         <xsl:apply-templates 
select="articleinfo/title|title"/>
+                         <xsl:apply-templates 
select="articleinfo/subtitle|subtitle"/>
+                         <authors>
+                               <xsl:apply-templates 
select="articleinfo/author"/>
+                               <xsl:apply-templates 
select="articleinfo/corpauthor"/>
+                         </authors>
+                   </header>
+                   <body>
+                         <xsl:call-template name="extract-articleinfo"/>
+                         <xsl:apply-templates select="node()[
+                               local-name() != 'title' and
+                               local-name() != 'subtitle' and
+                               local-name() != 'articleinfo'
+                               ]"/>
+                         <xsl:call-template name="apply-footnotes"/>
+                   </body>
+             </document>
+       </xsl:template>
+
+      <xsl:template name="extract-articleinfo">
+          <xsl:if test="articleinfo/copyright">
+              <section id="pubinfo">
+                  <title>Publication Information</title>
+                  <xsl:if test="articleinfo/pubdate">
+                      <p>Date published:
+                          <xsl:value-of select="articleinfo/pubdate"/>
+                      </p>
+                  </xsl:if>
+                  <xsl:apply-templates select="articleinfo/copyright"/>
+              </section>
+          </xsl:if>
+      </xsl:template>
+
+      <xsl:template name="apply-footnotes">
+            <xsl:if test="//footnote">
+                  <section><title>Footnotes</title>
+                        <xsl:apply-templates select="//footnote" mode="base"/>
+                  </section>
+            </xsl:if>
+      </xsl:template>
+
+      <xsl:template match="author">
+            <xsl:element name="person">
+                  <xsl:if test="id"><xsl:attribute name="id"><xsl:value-of 
select="id"/></xsl:attribute></xsl:if>
+                  <xsl:attribute name="name">
+                        <xsl:if test="honorific"><xsl:value-of 
select="honorific"/>. </xsl:if>
+                        <xsl:if test="firstname"><xsl:value-of 
select="firstname"/></xsl:if>
+                        <xsl:text> </xsl:text><xsl:value-of select="surname"/>
+                        <xsl:if test="affiliation">
+                            <xsl:text> (</xsl:text>
+<!-- FIXME: horrid hack - there can be zero-or-more jobtitle -->
+                            <xsl:if test="affiliation/jobtitle">
+                                <xsl:value-of select="affiliation/jobtitle"/>
+                                <xsl:text>, </xsl:text>
+                            </xsl:if>
+                            <xsl:if test="affiliation/orgname">
+                                <xsl:value-of select="affiliation/orgname"/>
+                            </xsl:if>
+                            <xsl:text>)</xsl:text>
+                        </xsl:if>
+                  </xsl:attribute>
+                  <xsl:attribute name="email"><xsl:value-of 
select="address/email"/></xsl:attribute>
+            </xsl:element>
+      </xsl:template>
+      <xsl:template match="chapter">
+            <section>
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+      <xsl:template match="docinfo">
+            <xsl:apply-templates/>
+      </xsl:template>
+      <xsl:template match="cmdsynopsis">
+            <!--
+            <cmdsynopsis>
+                  <command>xindice add_collection</command>
+                  <arg choice="req">-c <replaceable>context</replaceable></arg>
+                  <arg choice="req">-n <replaceable>name</replaceable></arg>
+                  <arg choice="opt">-v <replaceable></replaceable></arg>
+            </cmdsynopsis>
+            -->
+            <p>
+                  <code>
+                        <xsl:value-of select="command"/>
+                        <xsl:apply-templates select="node()[ local-name() != 
'command' ]"/>
+                  </code>
+            </p>
+      </xsl:template>
+      <xsl:template match="arg">
+            <xsl:choose>
+                  <xsl:when test="@choice = 'req' ">
+                        <xsl:apply-templates/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                        [<xsl:apply-templates/>]
+                  </xsl:otherwise>
+            </xsl:choose>
+      </xsl:template>
+      <xsl:template match="replaceable">
+            (or <xsl:value-of select="."/>)
+      </xsl:template>
+      <xsl:template match="bridgehead">
+            <section>
+                  <title>
+                        <xsl:value-of select="."/>
+                  </title>
+            </section>
+      </xsl:template>
+      <xsl:template match="sect1|sect2|sect3|sect4|sect5">
+            <section>
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+       <xsl:template match="example">
+            <section>
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+      <xsl:template match="informaltable">
+            <table>
+                  <xsl:apply-templates/>
+            </table>
+      </xsl:template>
+      <xsl:template match="anchor">
+            <!--
+            <a name="{.}"/>
+            -->
+            <xsl:element name="link">
+                  <xsl:if test="@href">
+                        <xsl:attribute name="href"><xsl:value-of 
select="@href"/></xsl:attribute>
+                  </xsl:if>
+                  <xsl:attribute name="id"><xsl:value-of 
select="."/></xsl:attribute>
+            </xsl:element>
+      </xsl:template>
+      <xsl:template match="a">
+            <link href="[EMAIL PROTECTED]">
+                  <xsl:value-of select="."/>
+            </link>
+      </xsl:template>
+      <xsl:template match="subtitle">
+            <subtitle>
+                  <xsl:value-of select="."/>
+            </subtitle>
+      </xsl:template>
+      <xsl:template match="title">
+            <title>
+                  <xsl:value-of select="."/>
+            </title>
+      </xsl:template>
+      <xsl:template match="affiliation">
+            <li>
+                  <xsl:text>[</xsl:text>
+                  <xsl:value-of select="shortaffil"/>
+                  <xsl:text>] </xsl:text>
+                  <b>
+                        <xsl:value-of select="jobtitle"/>
+                  </b>
+                  <i>
+                        <xsl:value-of select="orgname"/>
+                        <xsl:if test="orgdiv">
+                              <xsl:text>/</xsl:text>
+                              <xsl:value-of select="orgdiv"/>
+                        </xsl:if>
+                  </i>
+            </li>
+      </xsl:template>
+      <xsl:template match="authorblurb">
+            <section title="Bio">
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+      <xsl:template 
match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
+      <xsl:template match="revhistory">
+            <document>
+                  <header>
+                        <title>Revision History</title>
+                  </header>
+                  <body>
+                        <section>
+                              <title>Revision History</title>
+                              <table>
+                                    <xsl:variable name="unique-revisions" 
select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
+                                    <xsl:variable name="base" select="."/>
+                                    <xsl:for-each select="$unique-revisions">
+                                          <tr>
+                                                <td>
+                                                      <b>Revision 
<xsl:value-of select="."/> 
+                                                            (<xsl:value-of 
select="$base/revision[revnumber=current()]/date"/>)
+                                                      </b>
+                                                </td>
+                                          </tr>
+                                          <tr>
+                                                <td>
+                                                      <font color="#000000" 
face="arial,helvetica,sanserif">
+                                                            <br/>
+                                                            <ul>
+                                                                  
<xsl:apply-templates select="$base/revision[revnumber=current()]"/>
+                                                            </ul>
+                                                      </font>
+                                                </td>
+                                          </tr>
+                                    </xsl:for-each>
+                              </table>
+                        </section>
+                  </body>
+            </document>
+      </xsl:template>
+
+      <xsl:template match="para">
+            <p><xsl:apply-templates/></p>
+      </xsl:template>
+
+      <xsl:template match="emphasis">
+            <em><xsl:apply-templates/></em>
+      </xsl:template>
+
+      <xsl:template match="firstterm">
+            <em><xsl:apply-templates/></em>
+      </xsl:template>
+
+      <xsl:template match="revision">
+            <li>
+                  <xsl:choose>
+                        <xsl:when test="@revisionflag='added'">
+                              <img align="absmiddle" alt="added" 
src="images/add.jpg"/>
+                        </xsl:when>
+                        <xsl:when test="@revisionflag='changed'">
+                              <img align="absmiddle" alt="changed" 
src="images/update.jpg"/>
+                        </xsl:when>
+                        <xsl:when test="@revisionflag='deleted'">
+                              <img align="absmiddle" alt="deleted" 
src="images/remove.jpg"/>
+                        </xsl:when>
+                        <xsl:when test="@revisionflag='off'">
+                              <img align="absmiddle" alt="off" 
src="images/fix.jpg"/>
+                        </xsl:when>
+                        <xsl:otherwise>
+                              <img align="absmiddle" alt="changed" 
src="images/update.jpg"/>
+                        </xsl:otherwise>
+                  </xsl:choose>
+                  <xsl:value-of select="revremark"/>
+                  <xsl:text> (</xsl:text>
+                  <xsl:value-of select="authorinitials"/>
+                  <xsl:text>)</xsl:text>
+            </li>
+      </xsl:template>
+      <xsl:template match="revnumber|revremark|authorinitials|date"/>
+      <xsl:template match="section">
+            <section>
+                  <xsl:apply-templates/>
+            </section>
+      </xsl:template>
+      <xsl:template match="dedication">
+            <table>
+                  <tr>
+                        <td>
+                              <b>Dedication</b>
+                        </td>
+                  </tr>
+                  <tr>
+                        <td>
+                              <br/>
+                              <xsl:apply-templates/>
+                        </td>
+                  </tr>
+            </table>
+      </xsl:template>
+      <xsl:template match="edition|pubdate|year|holder"/>
+      <xsl:template match="copyright">
+            <p>Copyright &#x00A9;<xsl:value-of select="year"/> by 
<xsl:value-of select="holder"/>
+                <xsl:text> </xsl:text>
+                <i>All rights reserved.</i>
+            </p>
+      </xsl:template>
+      <xsl:template match="legalnotice">
+            <table>
+                  <tr>
+                        <td>
+                              <xsl:apply-templates/>
+                        </td>
+                  </tr>
+            </table>
+      </xsl:template>
+      <xsl:template match="programlisting">
+            <source>
+                  <xsl:apply-templates/>
+            </source>
+      </xsl:template>
+      <xsl:template match="screen">
+            <source>
+                  <xsl:apply-templates/>
+            </source>
+      </xsl:template>
+      <xsl:template match="orderedlist">
+            <ol>
+                  <xsl:apply-templates/>
+            </ol>
+      </xsl:template>
+      <xsl:template match="listitem">
+            <li>
+                  <xsl:apply-templates/>
+            </li>
+      </xsl:template>
+      <xsl:template match="itemizedlist">
+            <ul>
+                  <xsl:apply-templates/>
+            </ul>
+      </xsl:template>
+      <xsl:template match="command">
+            <code>
+                  <xsl:value-of select="."/>
+            </code>
+      </xsl:template>
+      <xsl:template match="computeroutput">
+            <code>
+                  <xsl:value-of select="."/>
+            </code>
+      </xsl:template>
+      <xsl:template match="varname">
+            <code>
+                  <xsl:value-of select="."/>
+            </code>
+      </xsl:template>
+      <xsl:template match="literal">
+            <code><xsl:value-of select="."/></code>
+      </xsl:template>
+      <xsl:template match="option">
+            <code><xsl:value-of select="."/></code>
+      </xsl:template>
+       <xsl:template match="constant">
+            <code><xsl:value-of select="."/></code>
+      </xsl:template>
+      <xsl:template match="trademark">
+            <xsl:apply-templates/>&#x2122;
+      </xsl:template>
+      <xsl:template match="filename">
+            <code>
+                  <xsl:value-of select="."/>
+            </code>
+      </xsl:template>
+      <xsl:template match="classname|function|parameter">
+            <code>
+                  <xsl:apply-templates/>
+                  <xsl:if test="name(.)='function'">
+                        <xsl:text>()</xsl:text>
+                  </xsl:if>
+            </code>
+      </xsl:template>
+      <xsl:template match="quote">
+            <xsl:text>"</xsl:text><xsl:apply-templates/><xsl:text>"</xsl:text>
+      </xsl:template>
+
+      <xsl:template match="blockquote">
+            <table>
+                  <xsl:if test="title">
+                        <tr>
+                              <td>
+                                    <xsl:value-of select="title"/>
+                              </td>
+                        </tr>
+                  </xsl:if>
+                  <tr>
+                        <td>
+                              <xsl:apply-templates/>
+                        </td>
+                  </tr>
+            </table>
+      </xsl:template>
+      <xsl:template match="warning">
+            <warning>
+                  <xsl:apply-templates/>
+            </warning>
+      </xsl:template>
+      <xsl:template match="ulink">
+            <xsl:element name="link">
+                  <xsl:attribute name="href"><xsl:choose><xsl:when 
test="@uri"><xsl:value-of 
select="@uri"/></xsl:when><xsl:otherwise><xsl:value-of 
select="@url"/></xsl:otherwise></xsl:choose></xsl:attribute>
+                  <xsl:apply-templates/>
+            </xsl:element>
+      </xsl:template>
+      <xsl:template match="footnote">
+            <xsl:variable name="footnote-id">
+                  <xsl:value-of select="count(preceding::footnote)+1"/>
+            </xsl:variable>
+            <anchor id="footnote-{$footnote-id}-ref"/>
+            <sup>
+                  <link href="#footnote-{$footnote-id}">
+                        <xsl:value-of select="$footnote-id"/>
+                  </link>
+            </sup>
+      </xsl:template>
+
+      <xsl:template match="footnote" mode="base">
+            <p>
+                  <xsl:variable name="footnote-id">
+                        <xsl:value-of select="count(preceding::footnote)+1"/>
+                  </xsl:variable>
+                  <anchor id="footnote-{$footnote-id}"/>
+                  <link href="#footnote-{$footnote-id}-ref">
+                        <xsl:value-of select="$footnote-id"/>
+                  </link><xsl:text>) </xsl:text>
+                  <!-- Most footnotes have a para nested; strip if there is 
only one-->
+                  <xsl:if test="not(para)"><xsl:apply-templates/></xsl:if>
+                  <xsl:if test="count(para)=1"><xsl:apply-templates
+                              select="para/node()"/></xsl:if>
+            </p>
+            <xsl:if test="count(para)>1"><xsl:apply-templates/></xsl:if>
+      </xsl:template>
+
+      <xsl:template match="figure">
+            <table>
+                  <tr>
+                        <td>
+                              <xsl:value-of select="title"/>
+                        </td>
+                  </tr>
+                  <xsl:apply-templates select="*[not(self::title)]"/>
+            </table>
+      </xsl:template>
+
+      <xsl:template match="mediaobject|imageobject">
+            <xsl:apply-templates/>
+      </xsl:template>
+
+      <xsl:template match="inlinegraphic">
+            <img alt="[EMAIL PROTECTED]" src="[EMAIL PROTECTED]"/>
+      </xsl:template>
+
+      <xsl:template match="graphic|imagedata">
+            <tr>
+                  <td>
+                        <img alt="[EMAIL PROTECTED]" src="[EMAIL PROTECTED]"/>
+                  </td>
+            </tr>
+            <xsl:if test="@srccredit">
+                  <tr>
+                        <td>
+                              <ul>
+                                    <li>
+                                          <xsl:value-of select="@srccredit"/>
+                                    </li>
+                              </ul>
+                        </td>
+                  </tr>
+            </xsl:if>
+      </xsl:template>
+      <xsl:template match="simplelist">
+            <ul>
+                  <xsl:apply-templates/>
+            </ul>
+      </xsl:template>
+      <xsl:template match="member">
+            <li>
+                  <xsl:apply-templates/>
+            </li>
+      </xsl:template>
+      <xsl:template match="table">
+            <table>
+                  <xsl:apply-templates/>
+            </table>
+      </xsl:template>
+      <xsl:template match="tgroup">
+            <xsl:apply-templates select="thead|tbody|tfoot"/>
+      </xsl:template>
+      <xsl:template match="thead">
+            <xsl:apply-templates mode="thead"/>
+      </xsl:template>
+      <xsl:template match="row" mode="thead">
+            <tr>
+              <xsl:apply-templates mode="thead"/>
+            </tr>
+      </xsl:template>
+      <xsl:template match="entry" mode="thead">
+            <th>
+                  <xsl:apply-templates/>
+            </th>
+      </xsl:template>
+      <xsl:template match="row">
+            <tr>
+                  <xsl:apply-templates/>
+            </tr>
+      </xsl:template>
+      <xsl:template match="tbody|tfoot">
+            <xsl:apply-templates/>
+      </xsl:template>
+      <xsl:template match="entry">
+            <td>
+                  <xsl:apply-templates/>
+            </td>
+      </xsl:template>
+      <xsl:template match="trademark">
+            <xsl:apply-templates/>
+            <sup>TM</sup>
+      </xsl:template>
+
+      <!-- Filched from Norm Walsh's inline.xsl -->
+      <xsl:template match="sgmltag">
+            <xsl:call-template name="format.sgmltag"/>
+      </xsl:template>
+
+      <xsl:template name="format.sgmltag">
+            <xsl:param name="class">
+                  <xsl:choose>
+                        <xsl:when test="@class">
+                              <xsl:value-of select="@class"/>
+                        </xsl:when>
+                        <xsl:otherwise>element</xsl:otherwise>
+                  </xsl:choose>
+            </xsl:param>
+
+            <tt class="sgmltag-{$class}">
+                  <xsl:choose>
+                        <xsl:when test="$class='attribute'">
+                              <xsl:apply-templates/>
+                        </xsl:when>
+                        <xsl:when test="$class='attvalue'">
+                              <xsl:apply-templates/>
+                        </xsl:when>
+                        <xsl:when test="$class='element'">
+                              <xsl:apply-templates/>
+                        </xsl:when>
+                        <xsl:when test="$class='endtag'">
+                              <xsl:text>&lt;/</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='genentity'">
+                              <xsl:text>&amp;</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='numcharref'">
+                              <xsl:text>&amp;#</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='paramentity'">
+                              <xsl:text>%</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='pi'">
+                              <xsl:text>&lt;?</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='xmlpi'">
+                              <xsl:text>&lt;?</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>?&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='starttag'">
+                              <xsl:text>&lt;</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='emptytag'">
+                              <xsl:text>&lt;</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>/&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:when test="$class='sgmlcomment'">
+                              <xsl:text>&lt;!--</xsl:text>
+                              <xsl:apply-templates/>
+                              <xsl:text>--&gt;</xsl:text>
+                        </xsl:when>
+                        <xsl:otherwise>
+                              <xsl:apply-templates/>
+                        </xsl:otherwise>
+                  </xsl:choose>
+            </tt>
+      </xsl:template>
+
+
+
+      <xsl:template match="node()|@*" priority="-1">
+            <xsl:copy>
+                  <xsl:apply-templates select="node()|@*"/>
+            </xsl:copy>
+      </xsl:template>
+</xsl:stylesheet>
+<!-- vim: set ft=xml sw=6: -->

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docv10todocv11.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docv10todocv11.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<!-- <xsl:preserve-space elements="*" /> -->
+  <!-- document-v10.dtd to document-v11.dtd transformation -->
+
+
+  <!-- We should something similar, i.e. make sure the result of this 
transformation is validated against the v11 DTD
+  -->
+  <xsl:template match="/">
+    <xsl:choose>
+      <xsl:when test="document">
+        <!-- there exists a document element -->
+        <xsl:apply-templates/>
+      </xsl:when>
+      <xsl:otherwise>
+        <!-- no document element, presumably no header also, so I will 
generate one -->
+        <document>
+          <header>
+            <title><xsl:value-of select="s1[1]/@title"/></title>
+            <authors><person name="unknown" email="unknown"/></authors>
+          </header>
+          <body>
+            <xsl:choose>
+              <xsl:when test="count(s1)='1'">
+                <!-- only one s1 in the entire document, must be a hack to 
create a title -->
+                <xsl:choose>
+                  <xsl:when test="count(s1/s2)='1'">
+                    <!-- only one s2 inside that s1, unwrap the content of 
that s2 -->
+                    <xsl:apply-templates select="s1/s2/*"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <!-- in any case, we get rid of these s1/s2 elements -->
+                    <xsl:apply-templates select="s1/*"/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:apply-templates/>
+              </xsl:otherwise>
+            </xsl:choose>
+          </body>
+        </document>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  
+  <!-- no links allowed in em anymore -->
+  <xsl:template match="em[link]">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <!-- fixes sections -->
+  <xsl:template match="s1 | s2 | s3 | s4">
+    <section>
+      <xsl:apply-templates select="@*[name()!='title']"/>
+      <xsl:apply-templates select="@*[name()='title']"/>
+         <!-- apply title rule last. See 
http://sourceforge.net/forum/forum.php?thread_id=729070&forum_id=94027 -->
+      <xsl:apply-templates select="node()"/>
+    </section>
+  </xsl:template>
+
+  <xsl:template match="s1/@title | s2/@title | s3/@title | s4/@title">
+    <title><xsl:value-of select="."/></title>
+  </xsl:template>
+
+  <!-- dunnow what to do with connect - maybe just evaporize it? -->
+  <xsl:template match="connect">
+    <xsl:message terminate="no">The connect element isn't supported anymore in 
the document-v11.dtd, please fix your document.</xsl:message>
+    [[connect: <xsl:apply-templates/> ]]
+  </xsl:template>
+
+  <xsl:template match="link/@idref">
+    <xsl:message terminate="no">The link element has no idref attribute 
defined in the document-v11.dtd, please fix your document.</xsl:message>
+    [[link/@idref: <xsl:apply-templates/> ]]
+  </xsl:template>
+
+  <xsl:template match="link/@type | link/@actuate | link/@show |
+                       jump/@type | jump/@actuate | jump/@show |
+                       fork/@type | fork/@actuate | fork/@show"/>
+
+  <!-- 'simple lists' become unordered lists -->
+  <xsl:template match="sl">
+    <ul>
+      <xsl:apply-templates select="@*|node()"/>
+    </ul>
+  </xsl:template>
+        
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docv20todocv12.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/docv20todocv12.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+  <!-- document-v20x.dtd to document-v12.dtd transformation -->
+
+  <xsl:template match="/">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="a">
+    <link>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates select="node()"/>
+    </link>
+  </xsl:template>
+
+  <!--
+  <xsl:template match="s1/@title | s2/@title | s3/@title | s4/@title">
+    <title><xsl:value-of select="."/></title>
+  </xsl:template>
+  -->
+
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/dotdots.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/resources/stylesheets/dotdots.xsl 
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Contains the 'dotdots' template, which, given a path, will output a set of
+directory traversals to get back to the source directory. Handles both '/' and
+'\' directory separators.
+
+Examples:
+  Input                           Output 
+    index.html                    ""
+    dir/index.html                "../"
+    dir/subdir/index.html         "../../"
+    dir//index.html              "../"
+    dir/                          "../"
+    dir//                         "../"
+    \some\windows\path            "../../"
+    \some\windows\path\           "../../../"
+    \Program Files\mydir          "../"
+
+Cannot handle ..'s in the path, so don't expect 'dir/subdir/../index.html' to
+work.
+
[EMAIL PROTECTED]
+-->
+
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:template name="dotdots">
+    <xsl:param name="path"/>
+    <xsl:variable name="dirs" select="normalize-space(translate(concat($path, 
'x'), ' /\', '_  '))"/>
+    <!-- The above does the following:
+       o Adds a trailing character to the path. This prevents us having to deal
+         with the special case of ending with '/'
+       o Translates all directory separators to ' ', and normalize spaces,
+                cunningly eliminating duplicate '//'s. We also translate any 
real
+                spaces into _ to preserve them.
+    -->
+    <xsl:variable name="remainder" select="substring-after($dirs, ' ')"/>
+    <xsl:if test="$remainder">
+      <xsl:text>../</xsl:text>
+      <xsl:call-template name="dotdots">
+        <xsl:with-param name="path" select="translate($remainder, ' ', '/')"/>
+               <!-- Translate back to /'s because that's what the template 
expects. -->
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+<!--
+  Uncomment to test.
+  Usage: saxon dotdots.xsl dotdots.xsl path='/my/test/path'
+
+  <xsl:param name="path"/>
+  <xsl:template match="/">
+    <xsl:message>Path: <xsl:value-of select="$path"/></xsl:message>
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:template>
+ -->
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/dtdx2flat.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/dtdx2flat.xsl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,29 @@
+<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
+
+ <xsl:template match='/'>
+  <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match='@*|dtd|attlist|attributeDecl|enumeration|notationDecl'>
+  <xsl:copy>
+   <xsl:apply-templates select='@*|*'/>
+  </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match='group[count(*)=1][group]'>
+  <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template 
match='contentModel|any|empty|group|pcdata|element|separator|occurrence'>
+  <xsl:copy>
+   <xsl:apply-templates select='@*|*'/>
+  </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="comment"/>
+
+ <xsl:template match='*'>
+  <xsl:apply-templates/>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faq2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faq2document.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+ <xsl:import href="copyover.xsl"/>
+
+  <xsl:template match="faqs">
+   <document>
+    <header>
+     <title><xsl:value-of select="@title"/></title>
+    </header>
+    <body>
+      <section>
+       <title>Questions</title>
+       <ol>
+        <xsl:apply-templates select="faq|part" mode="index"/>
+       </ol>
+      </section>
+      <section>
+       <title>Answers</title>
+        <xsl:apply-templates select="faq|part"/>
+      </section>
+    </body>
+   </document>  
+  </xsl:template>
+
+  <xsl:template match="part" mode="index">
+    <li>
+      <strong>
+      <!-- Rely on <ol> numbering here -->
+      <!--<xsl:number level="multiple" count="faq|part" format="1.1. "/> -->
+       <xsl:apply-templates select="title"/></strong>
+       <ul>
+        <xsl:apply-templates select="faq|part" mode="index"/>
+       </ul><br />
+    </li>
+  </xsl:template>
+
+  <xsl:template match="faq" mode="index">
+    <li>
+         <xsl:attribute name="id">
+        <xsl:call-template name="generate-id"/><xsl:text>-menu</xsl:text>
+         </xsl:attribute>
+      <link>
+        <xsl:attribute name="href">
+          <xsl:text>#</xsl:text><xsl:call-template name="generate-id"/>
+        </xsl:attribute>
+               <!--
+                 IMHO adding this makes the tightly-packed menu less legible 
for
+                 little benefit (JT)
+           <xsl:number level="multiple" count="faq|part" format="1.1. "/>
+               -->
+        <xsl:apply-templates select="question" mode="index"/>
+      </link>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="part">
+    <xsl:variable name="id">
+      <xsl:call-template name="generate-id"/>
+    </xsl:variable>
+    <section id="{$id}">
+      <title>
+        <xsl:number level="multiple" count="faq|part" format="1.1. "/>
+        <xsl:value-of select="title"/>
+      </title>
+      <xsl:apply-templates select="faq|part"/>
+    </section>
+  </xsl:template>
+
+  <xsl:template match="faq">
+    <xsl:variable name="id">
+      <xsl:call-template name="generate-id"/>
+    </xsl:variable>
+
+    <section id="{$id}">
+      <title>
+        <xsl:number level="multiple" count="faq|part" format="1.1. "/>
+        <xsl:apply-templates select="question"/>
+      </title>
+      <xsl:apply-templates select="answer"/>
+    </section>
+  </xsl:template>
+
+  <xsl:template name="generate-id">
+    <xsl:choose>
+      <xsl:when test="@id">
+        <xsl:value-of select="@id"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="concat(concat(local-name(.), '-'), 
generate-id(.))"/>
+      </xsl:otherwise>
+  </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="question" mode="index">
+    <xsl:apply-templates select="node()[not(local-name()='elaboration')]"/>
+  </xsl:template>
+
+  <xsl:template match="question">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="answer">
+    <xsl:if test="count(p)>0"> 
+      <xsl:apply-templates/>
+    </xsl:if>
+    <xsl:if test="count(p)=0"> 
+      <p>
+        <xsl:apply-templates/>
+      </p>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="title">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faqv10tofaqv11.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faqv10tofaqv11.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<xsl:preserve-space elements="*" />
+  <!-- faq-v10.dtd to faq-v11.dtd transformation -->
+  
+  <xsl:template match="/">
+        <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="link/@idref">
+    <xsl:message terminate="no">The link element has no idref attribute 
defined in the document-v11.dtd, please fix your document.</xsl:message>
+    [[link/@idref: <xsl:value-of select="."/> ]]
+  </xsl:template>
+
+  <xsl:template match="link/@type | link/@actuate | link/@show |
+                       jump/@type | jump/@actuate | jump/@show |
+                       fork/@type | fork/@actuate | fork/@show"/>
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faqv20tofaqv12.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/faqv20tofaqv12.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+  <xsl:preserve-space elements="*" />
+  <!-- faq-v20x.dtd to faq-v12.dtd transformation -->
+
+  <xsl:template match="/">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="faqs">
+    <faqs>
+      <xsl:attribute name="title">
+        <xsl:value-of select="title"/>
+      </xsl:attribute>
+      <xsl:apply-templates/>
+    </faqs>
+  </xsl:template>
+
+  <xsl:template match="faqs/title"/>
+
+  <xsl:template match="faqsection">
+    <part>
+      <xsl:apply-templates select="node()|@*"/>
+    </part>
+  </xsl:template>
+
+  <xsl:template match="a">
+    <link>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates select="node()"/>
+    </link>
+  </xsl:template>
+
+
+  <!-- the obligatory copy-everything -->
+  <xsl:template match="node() | @*">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/flat2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/flat2document.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,154 @@
+<?xml version='1.0'?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+<xsl:key name="attlistbyname" match="attlist" use="@ename"/>
+<xsl:key name="contentmodelbychildren" match="contentModel" 
use="descendant::element/@name"/>
+
+<xsl:template match="dtd">
+  <document>
+    <header>
+      <title>DTD documentation</title>
+      <subtitle>
+        <xsl:call-template name="trailingfilename">
+          <xsl:with-param name="string" select="@sysid"/>
+        </xsl:call-template>
+      </subtitle>
+    </header>
+    <body>
+      <section><title>Top-level element(s)</title>
+        <ul>
+          <xsl:for-each 
select="/dtd/contentModel[not(key('contentmodelbychildren', @ename))]">
+            <li>
+              <link href="[EMAIL PROTECTED]"><xsl:value-of 
select="@ename"/></link>
+            </li>
+          </xsl:for-each>
+        </ul>
+      </section>
+      <section><title>List of elements</title>
+        <ul>
+          <xsl:for-each select="contentModel">
+            <xsl:sort select="@ename"/>
+            <li>
+              <link href="[EMAIL PROTECTED]"><xsl:value-of 
select="@ename"/></link>
+            </li>
+          </xsl:for-each>
+        </ul>
+      </section>
+      <section>
+        <title>Element declarations</title>
+        <xsl:apply-templates select="contentModel"/>
+      </section>
+    </body>
+  </document>
+</xsl:template>
+
+<xsl:template match="contentModel">
+  <section id="[EMAIL PROTECTED]">
+      <table class="dtdElement" cellspacing="0" cellpadding="0" border="0">
+        <tr>
+          <td colspan="3"><span class="dtdTag"><xsl:value-of 
select="@ename"/></span></td>
+        </tr>
+        <tr>
+         <td valign="top" nowrap="nowrap"><b>Content model&#160;</b></td>
+         <td colspan="2" width="100%"><xsl:apply-templates/></td>
+        </tr>
+        <xsl:if test="key('attlistbyname',@ename)">
+          <tr>
+            <td colspan="3"><hr noshade="noshade" width="100%"/></td>
+          </tr>
+          <tr>
+            <td valign="top"><b>Attributes</b></td>
+            <td colspan="2" width="100%"><xsl:apply-templates 
select="key('attlistbyname',@ename)"/></td>
+          </tr>
+        </xsl:if>
+      <xsl:if test="key('contentmodelbychildren',@ename)">
+        <tr>
+          <td colspan="3"><hr noshade="noshade" width="100%"/></td>
+        </tr>
+        <tr>
+          <td valign="top" nowrap="nowrap"><b>Used inside</b></td>
+          <td width="100%">
+            <xsl:for-each select="key('contentmodelbychildren',@ename)">
+              <link href="[EMAIL PROTECTED]"><xsl:value-of 
select="@ename"/></link>
+              <xsl:if test="not(position() = last())"> | </xsl:if>
+            </xsl:for-each>
+          </td>
+        </tr>
+        <tr><td colspan="3">&#160;</td></tr>
+      </xsl:if>
+    </table>
+  </section>
+</xsl:template>
+
+<xsl:template match="empty">
+  EMPTY
+</xsl:template>
+
+<xsl:template match="pcdata">
+  #PCDATA
+</xsl:template>
+
+<xsl:template match="element">
+  <link href="[EMAIL PROTECTED]"><xsl:value-of select="@name"/></link>
+</xsl:template>
+
+<xsl:template match="group">
+  <xsl:text>( </xsl:text><xsl:apply-templates/><xsl:text> )</xsl:text>
+</xsl:template>
+
+<xsl:template match="separator">
+  <xsl:text> </xsl:text><xsl:value-of select="@type"/><xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template match="occurrence">
+  <xsl:text> </xsl:text><xsl:value-of select="@type"/>
+</xsl:template>
+
+<xsl:template match="attlist">
+  <table cellpadding="0" cellspacing="0" border="0" class="dtdElement">
+    <xsl:apply-templates/>
+  </table>
+</xsl:template>
+
+<xsl:template match="attributeDecl">
+  <tr>
+    <td valign="top"><xsl:if test="position() mod 2 != 0"><xsl:attribute 
name="bgcolor">#F1F7FF</xsl:attribute></xsl:if><xsl:value-of 
select="@aname"/></td>
+    <td><xsl:if test="position() mod 2 != 0"><xsl:attribute 
name="bgcolor">#F1F7FF</xsl:attribute></xsl:if>&#160;&#160;&#160;&#160;</td>
+    <td width="100%"><xsl:if test="position() mod 2 != 0"><xsl:attribute 
name="bgcolor">#F1F7FF</xsl:attribute></xsl:if>
+      <xsl:if test="not(enumeration)">
+        type: <xsl:value-of select="@atype"/><br/>
+      </xsl:if>
+      <xsl:if test="@required">
+        required attribute<br/>
+      </xsl:if>
+      <xsl:if test="@default">
+        default value: <xsl:value-of select="@default"/><br/>
+      </xsl:if>
+      <xsl:if test="@fixed">
+        fixed value: <xsl:value-of select="@default"/><br/>
+      </xsl:if>
+      <xsl:if test="enumeration">
+        possible values: <xsl:for-each select="enumeration">
+          <xsl:value-of select="@value"/><xsl:text> </xsl:text>
+        </xsl:for-each>
+        <br/>
+      </xsl:if>
+    </td>
+  </tr>
+</xsl:template>
+
+<xsl:template name="trailingfilename">
+  <xsl:param name="string"/>
+  <xsl:choose>
+    <xsl:when test="contains($string,'/')">
+      <xsl:call-template name="trailingfilename">
+        <xsl:with-param name="string" select="substring-after($string,'/')"/>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:value-of select="$string"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/howto2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/howto2document.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+ <xsl:import href="copyover.xsl"/>
+
+  <!-- Processing a raw howto without revisions -->
+  <xsl:template match="/howto">
+    <document>
+      <xsl:copy-of select="header"/>
+      <body>
+        <xsl:apply-templates/>
+      </body>
+    </document>
+  </xsl:template>
+
+  <!-- Processing a howto combined with revisions -->
+  <xsl:template match="/all">
+   <document>
+    <xsl:copy-of select="howto/header"/>
+     <body>
+        <xsl:apply-templates select="howto"/>
+        <xsl:apply-templates select="revisions"/>
+     </body>
+   </document>
+  </xsl:template>
+  
+  <xsl:template match="howto">
+    <xsl:if test="normalize-space(header/abstract)!=''">
+      <xsl:apply-templates select="header/abstract"/>
+    </xsl:if>
+     <xsl:apply-templates select="*[not(name()='header')]"/>
+  </xsl:template>
+  
+  <xsl:template match="howto/header/abstract">
+    <section id="Overview">
+     <title>Overview</title>
+     <p>
+      <xsl:apply-templates/>
+     </p>
+    </section>
+  </xsl:template>
+  
+  <xsl:template match="purpose | prerequisites | audience | steps | extension  
| faqs | tips | references | feedback ">
+    <xsl:variable name="title">
+      <xsl:choose>
+        <xsl:when test="normalize-space(@title)!=''">
+          <xsl:value-of select="@title"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="name()"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <section id="{$title}">
+        <title><xsl:value-of select="$title"/></title>
+     <xsl:apply-templates/>
+    </section>
+  </xsl:template>
+  
+  <xsl:template match="faq">
+    <section>
+     <title>
+      <xsl:value-of select="question"/>
+     </title>
+      <xsl:apply-templates select="answer" />
+    </section>
+  </xsl:template>
+  
+   <xsl:template match="answer">
+      <xsl:copy-of select="."/>
+    </xsl:template>
+    
+   <xsl:template match="question">
+    </xsl:template>
+  
+  <xsl:template match="revisions">
+    <section id="revisions">
+     <title>Revisions</title>
+    <p>Find a problem with this document? Consider contacting the mailing 
lists or submitting your own revision. For instructions, read the How To Submit 
a Revision.</p>
+      <xsl:if test="revision">
+        <ul>
+         <xsl:apply-templates select="revision"/>
+        </ul>
+      </xsl:if>
+    </section>
+  </xsl:template>
+  
+  <xsl:template match="revision">
+  <xsl:variable name="href"><xsl:value-of 
select="concat(substring-before(@name,'.xml'),'.html')" /></xsl:variable>
+   <li>Revision, <link href="{ $href}"><xsl:value-of 
select="@date"/></link></li>
+  </xsl:template>
+  
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/html2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/html2document.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,291 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+    <xsl:key name="h2s" match="h2" 
use="generate-id(preceding-sibling::h1[1])"/>
+    <xsl:key name="h3s" match="h3" 
use="generate-id(preceding-sibling::h2[1])"/>
+    <xsl:key name="h4s" match="h4" 
use="generate-id(preceding-sibling::h3[1])"/>
+    <xsl:key name="h5s" match="h5" 
use="generate-id(preceding-sibling::h4[1])"/>
+    <xsl:key name="h6s" match="h6" 
use="generate-id(preceding-sibling::h5[1])"/>
+
+    <xsl:template match="/">
+     <xsl:choose>
+          <xsl:when test="name(child::node())='html'">
+         <xsl:apply-templates/>
+          </xsl:when>
+            
+          <xsl:otherwise>
+            <document>
+             <header><title>Error in conversion</title></header>
+             <body>
+              <warning>This file is not in a html format, please convert 
manually.</warning>
+             </body>
+            </document>
+          </xsl:otherwise>
+     </xsl:choose>
+    </xsl:template>
+           
+    <xsl:template match="html">
+        <document>
+            <xsl:apply-templates/>
+        </document>
+    </xsl:template>
+
+    <xsl:template match="head">
+        <header>
+            <xsl:apply-templates/>
+        </header>
+    </xsl:template>
+        
+    <xsl:template match="meta">
+      <xsl:text disable-output-escaping = "yes"><![CDATA[ <!-- ]]></xsl:text>
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+      <xsl:text disable-output-escaping = "yes"><![CDATA[ --> ]]></xsl:text> 
+    </xsl:template>  
+    
+    <!--infer structure from sibling headings-->
+    <xsl:template match="body">
+       <body>
+         <xsl:for-each select="h1">
+           <section>
+             <title><xsl:apply-templates/></title>
+             <xsl:apply-templates select="following-sibling::*[1]" 
mode="next"/>
+             <xsl:for-each select="key('h2s',generate-id(.))">
+               <section>
+                 <title><xsl:apply-templates/></title>
+                 <xsl:apply-templates select="following-sibling::*[1]" 
mode="next"/>
+                 <xsl:for-each select="key('h3s',generate-id(.))">
+                   <section>
+                     <title><xsl:apply-templates/></title>
+                     <xsl:apply-templates select="following-sibling::*[1]"
+                                          mode="next"/>
+                     <xsl:for-each select="key('h4s',generate-id(.))">
+                       <section>
+                         <title><xsl:apply-templates/></title>
+                         <xsl:apply-templates select="following-sibling::*[1]"
+                                              mode="next"/>
+                         <xsl:for-each select="key('h5s',generate-id(.))">
+                           <section>
+                             <title><xsl:apply-templates/></title>
+                             <xsl:apply-templates 
select="following-sibling::*[1]"
+                                                  mode="next"/>
+                             <xsl:for-each select="key('h6s',generate-id(.))">
+                               <section>
+                                 <title><xsl:apply-templates/></title>
+                              <xsl:apply-templates 
select="following-sibling::*[1]" mode="next"/>
+                               </section>
+                             </xsl:for-each>
+                           </section>
+                         </xsl:for-each>
+                       </section>
+                     </xsl:for-each>
+                   </section>
+                 </xsl:for-each>
+               </section>
+             </xsl:for-each>
+           </section>
+         </xsl:for-each>
+       </body>
+    </xsl:template>
+
+    <!--process each sibling in order until the next heading level-->
+
+    <xsl:template match="*" mode="next">
+       <xsl:if test="not( translate( local-name(.),'123456','' ) = 'h' )">
+         <xsl:apply-templates select="."/>
+         <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
+       </xsl:if>
+    </xsl:template>
+      
+    <xsl:template match="P|p">
+        <p>
+          <xsl:apply-templates/>
+        </p>
+    </xsl:template>
+    
+    <xsl:template match="img">
+       <xsl:choose>
+       <xsl:when test="name(..)='section'">
+          <figure alt="[EMAIL PROTECTED]" src= "[EMAIL PROTECTED]"/>
+       </xsl:when>
+       <xsl:otherwise>
+          <img alt="[EMAIL PROTECTED]" src= "[EMAIL PROTECTED]"/>
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+    
+    <xsl:template match="source|blockquote">
+      <xsl:choose>
+       <xsl:when test="name(..)='p'">
+         <code>
+           <xsl:value-of select="." />
+         </code> 
+       </xsl:when>
+      
+       <xsl:otherwise>
+         <source>
+           <xsl:value-of select="." />
+         </source> 
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+
+  
+    <!-- convert a to link -->
+    <xsl:template match="a">
+      <xsl:if test="@name">
+        <!-- Attach an id to the current node -->
+        <xsl:attribute name="id"><xsl:value-of select="translate(@name, ' $', 
'__')"/></xsl:attribute>
+        <xsl:apply-templates/>
+      </xsl:if>
+      <xsl:if test="@href">
+        <link href="[EMAIL PROTECTED]">
+          <xsl:apply-templates/>
+        </link>
+      </xsl:if>
+    </xsl:template>
+    
+    <xsl:template match="@valign | @align"/>
+        
+    <xsl:template match="center">
+      <xsl:choose>
+       <xsl:when test="name(..)='p'">
+           <xsl:apply-templates/>
+       </xsl:when>
+      
+       <xsl:otherwise>
+         <p>
+           <xsl:apply-templates/>
+         </p> 
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+
+    <xsl:template match="ol">
+      <xsl:choose>
+       <xsl:when test="name(..)='p'">
+          <xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
+           <ol>
+            <xsl:apply-templates/>
+           </ol>
+          <xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
+       </xsl:when>
+       <xsl:otherwise>
+           <ol>
+            <xsl:apply-templates/>
+           </ol>
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+    
+    <xsl:template match="ul">
+      <xsl:choose>
+       <xsl:when test="name(..)='p'">
+          <xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
+           <ul>
+            <xsl:apply-templates/>
+           </ul>
+          <xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
+       </xsl:when>
+       <xsl:otherwise>
+           <ul>
+            <xsl:apply-templates/>
+           </ul>
+       </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+        
+    <xsl:template match="b">
+      <strong>
+        <xsl:value-of select = "."/>
+      </strong>
+    </xsl:template>
+    
+    <xsl:template match="i">
+      <em>
+        <xsl:value-of select = "."/>
+      </em>
+    </xsl:template>
+
+    <xsl:template match="u">
+      <u>
+        <xsl:value-of select = "."/>
+      </u>
+    </xsl:template>
+    
+    <xsl:template match="table">
+      <table>
+            <xsl:apply-templates select="node()"/>
+      </table>
+    </xsl:template>
+    
+            
+    <xsl:template match="br">
+      <xsl:choose>
+           <xsl:when test="normalize-space(text())">
+                   
+                 <xsl:choose>
+                   <xsl:when test="name(..)='p'">
+                       <xsl:apply-templates/>
+                     <br/> 
+                   </xsl:when>
+                   <xsl:otherwise>
+                     <p>
+                   <xsl:apply-templates/>
+                     </p>
+                   </xsl:otherwise>
+              </xsl:choose>
+             
+           </xsl:when>
+           <xsl:otherwise>
+             <br/>
+           </xsl:otherwise>
+       </xsl:choose>
+    </xsl:template>
+    
+    <!-- Strip -->
+    <xsl:template match="font|div|big">
+      <xsl:apply-templates/>
+    </xsl:template>
+
+
+    <xsl:template match="span">
+                 <xsl:choose>
+                   <xsl:when test="contains(@style,'bold')">
+                      <strong>
+                       <xsl:apply-templates/>
+                      </strong>
+                   </xsl:when>
+                   <xsl:when test="contains(@style,'italic')">
+                      <em>
+                       <xsl:apply-templates/>
+                      </em>
+                   </xsl:when>
+                   <xsl:when test="contains(@style,'underline')">
+                      <u>
+                       <xsl:apply-templates/>
+                      </u>
+                   </xsl:when>
+                   <xsl:otherwise>
+                       <!-- Strip -->
+                   <xsl:apply-templates/>
+                   </xsl:otherwise>
+              </xsl:choose>
+    
+      <xsl:apply-templates/>
+    </xsl:template>
+        
+
+                
+    <xsl:template match="node()|@*" priority="-1">
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+    </xsl:template>
+
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/html2htmlbody.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/html2htmlbody.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!--
+Stylesheet which strips everything outside the <body> and replaces it with <div
+class="content">, making raw HTML suitable for merging with the Forrest tabs
+and menu.
+-->
+
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  version="1.0">
+
+  <xsl:import href="copyover.xsl"/>
+  <xsl:template match="/*[local-name()='html']">
+         <xsl:apply-templates select="*[local-name()='body']"/>
+  </xsl:template>
+
+  <xsl:template match="/*[local-name()='html']/*[local-name()='body']">
+    <div class="content">
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+</xsl:stylesheet>
+

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/page2html.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/page2html.xsl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,146 @@
+<?xml version="1.0"?>
+
+<!--+
+    | Covert samples file to the HTML page. Uses styles/main.css stylesheet.
+    |
+    | Author: Nicola Ken Barozzi "[EMAIL PROTECTED]"
+    | Author: Vadim Gritsenko "[EMAIL PROTECTED]"
+    | Author: Christian Haul "[EMAIL PROTECTED]"
+    | CVS $Id: page2html.xsl,v 1.2 2003/07/05 13:03:52 jefft Exp $
+    +-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:xlink="http://www.w3.org/1999/xlink";>
+
+  <xsl:param name="contextPath" select="string('/cocoon')"/>
+
+ <xsl:template match="/">
+  <html>
+   <head>
+     <title>Apache Forrest</title>
+     <link rel="SHORTCUT ICON" href="favicon.ico"/>
+     <xsl:apply-templates select="document/header/style"/>
+     <xsl:apply-templates select="document/header/script"/>
+   </head>
+   <body>
+    <table border="0" cellspacing="2" cellpadding="2" align="center" 
width="100%">
+      <tr>
+        <td width="50%">
+          <h2><xsl:value-of select="document/header/title"/></h2>
+        </td>
+        <td width="25%">
+          <xsl:apply-templates select="document/header/tab"/>
+        </td>
+      </tr>
+    </table>
+
+    <p>
+     <xsl:choose>
+      <xsl:when test="document/body/row">
+       <table width="100%">
+        <xsl:apply-templates select="document/body/*"/>
+       </table>
+      </xsl:when>
+      <xsl:otherwise>
+       <xsl:apply-templates select="document/body/*"/>
+      </xsl:otherwise>
+     </xsl:choose>
+    </p>
+
+    <p class="copyright">
+      Copyright &#169; 1999-2003 <a href="http://www.apache.org/";>The Apache 
Software Foundation</a>.
+      All rights reserved.
+    </p>
+   </body>
+  </html>
+ </xsl:template>
+
+ <xsl:template match="style">
+  <link type="text/css" rel="stylesheet" href="[EMAIL PROTECTED]"/>
+ </xsl:template>
+ 
+ <xsl:template match="script">
+  <script type="text/javascript" src="[EMAIL PROTECTED]"/>
+ </xsl:template>
+ 
+ <xsl:template match="tab">
+  <a href="[EMAIL PROTECTED]"><i><xsl:value-of select="@title"/></i></a>&#160;
+ </xsl:template>
+ 
+ <xsl:template match="row">
+  <tr>
+   <xsl:apply-templates select="column"/>
+  </tr>
+ </xsl:template>
+ 
+ <xsl:template match="column">
+  <td valign="top">
+   <h4 class="samplesGroup"><xsl:value-of select="@title"/></h4>
+   <p class="samplesText"><xsl:apply-templates/></p>
+  </td> 
+ </xsl:template>
+
+ <xsl:template match="section">
+  <xsl:choose> <!-- stupid test for the hirachy deep -->
+   <xsl:when test="../../../section">
+    <h5><xsl:value-of select="title"/></h5>
+   </xsl:when>
+   <xsl:when test="../../section">
+    <h4><xsl:value-of select="title"/></h4>
+   </xsl:when>
+   <xsl:when test="../section">
+    <h4 class="samplesGroup"><xsl:value-of select="title"/></h4>
+   </xsl:when>
+  </xsl:choose>
+  <p>
+   <xsl:apply-templates select="*[name()!='title']"/>
+  </p>
+ </xsl:template>
+
+ <xsl:template match="source">
+  <div style="background: #b9d3ee; border: thin; border-color: black; 
border-style: solid; padding-left: 0.8em; 
+              padding-right: 0.8em; padding-top: 0px; padding-bottom: 0px; 
margin: 0.5ex 0px; clear: both;">
+  <pre>
+   <xsl:value-of select="."/>
+  </pre>
+  </div>
+ </xsl:template>
+ 
+ <xsl:template match="link">
+  <xsl:text> </xsl:text>
+  <a href="[EMAIL PROTECTED]">
+   <xsl:apply-templates/>
+  </a>
+  <xsl:text> </xsl:text>
+ </xsl:template>
+ 
+ <xsl:template match="strong">
+  <xsl:text> </xsl:text>
+  <b>
+   <xsl:apply-templates/>
+  </b>
+  <xsl:text> </xsl:text>
+ </xsl:template>
+ 
+ <xsl:template match="anchor">
+  <a name="[EMAIL PROTECTED]">
+   <xsl:apply-templates/>
+  </a>
+ </xsl:template>
+ 
+<!-- <xsl:template match="table">
+  <table border="1" cellspacing="3" cellpadding="3">
+   <xsl:apply-templates/>
+  </table>
+ </xsl:template> -->
+
+  <xsl:template match="para">
+   <p>
+     <xsl:apply-templates/>
+   </p>
+  </xsl:template>
+
+ <xsl:template match="*|@*|node()|text()" priority="-1">
+  <xsl:copy><xsl:apply-templates select="*|@*|node()|text()"/></xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/profile2page.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/profile2page.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,286 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
+                xmlns:profile="http://apache.org/cocoon/profiler/1.0";>
+
+ <xsl:import href="xml2html.xsl"/>
+
+ <xsl:param name="key"/>
+ <xsl:param name="result"/>
+ <xsl:param name="component"/>
+
+ <xsl:template match="/">
+  <document>
+   <header>
+   <title>Forrest Profiler</title>
+    <tab title="Back" href="index.html"/>
+   </header>
+   <body>
+    <xsl:choose>
+     <xsl:when test="$component!=''">
+      <xsl:apply-templates
+          
select="profile:profilerinfo/profile:pipeline/profile:result/profile:[EMAIL 
PROTECTED]"
+          mode="fragment"/>
+     </xsl:when>
+     <xsl:when test="$result!=''">
+      <xsl:apply-templates 
select="profile:profilerinfo/profile:pipeline/profile:result" mode="result"/>
+     </xsl:when>
+     <xsl:when test="$key!=''">
+      <xsl:apply-templates select="profile:profilerinfo/profile:pipeline" 
mode="results"/>
+     </xsl:when>
+     <xsl:otherwise>
+      <xsl:apply-templates select="profile:profilerinfo" mode="pipelines"/>
+     </xsl:otherwise>
+    </xsl:choose>
+
+   </body>
+  </document>
+ </xsl:template>
+
+ <xsl:template match="profile:profilerinfo" mode="pipelines">
+
+  <row>
+   <column title="Overview">
+
+    <table width="100%" cellspacing="0" cellpadding="5" align="left">
+     <font size="+0" face="arial,helvetica,sanserif" color="#000000">
+
+      <tr>
+       <td align="left"><b>URI</b></td>
+       <td align="left"><b>Average(Total time)</b></td>
+       <td align="left" colspan="10"><b>Last Results(Total time)</b></td>
+      </tr>
+
+      <xsl:for-each select="profile:pipeline">
+
+       <tr bgcolor="#FFFFFF">
+        <td>
+         <a href="[EMAIL PROTECTED]">
+          <font face="verdana"><strong><xsl:value-of 
select="@uri"/></strong></font>
+         </a>
+        </td>
+        <td>
+         <a href="[EMAIL PROTECTED]">
+          <xsl:value-of select="profile:average/@time"/> ms
+         </a>
+        </td>
+        <xsl:for-each select="profile:result">
+         <td>
+          <a href="?key={../@key}&amp;[EMAIL PROTECTED]">
+           <xsl:value-of select="@time"/> ms
+          </a>
+         </td>
+        </xsl:for-each>
+       </tr>
+
+      </xsl:for-each>
+
+     </font>
+    </table>
+
+   </column>
+  </row>
+
+ </xsl:template>
+
+ <xsl:template match="profile:pipeline" mode="results">
+
+  <row>
+   <column title="[EMAIL PROTECTED]">
+
+    <table width="100%" cellspacing="0" cellpadding="5" align="left">
+     <font size="+0" face="arial,helvetica,sanserif" color="#000000">
+ 
+      <tr>
+       <td align="left"><b>NN</b></td>
+       <td align="left"><b>Components(Role)</b></td>
+       <td align="left"><b>Average time</b></td>
+       <td align="left"><b>Lastest times</b></td>
+      </tr>
+
+      <xsl:for-each select="profile:average/profile:component">
+       <tr>
+
+        <xsl:variable name="pos" select="position()"/>
+        <td width="1%">
+         <xsl:value-of select="$pos"/>
+        </td>
+        <td width="10%">
+         <xsl:value-of select="@role"/>
+         <xsl:if test="@source">
+          (<xsl:value-of select="@source"/>)
+         </xsl:if>
+        </td>
+
+        <xsl:for-each 
select="../../profile:average/profile:component[position()=$pos]">
+         <td>
+          <xsl:value-of select="@time"/> ms
+         </td>
+        </xsl:for-each>
+ 
+        <xsl:for-each 
select="../../profile:result/profile:component[position()=$pos]">
+         <td>
+          <a href="?key={../../@key}&amp;result={../@index}&amp;[EMAIL 
PROTECTED]">
+           <xsl:value-of select="@time"/> ms
+          </a>
+         </td>
+        </xsl:for-each>
+
+       </tr>
+      </xsl:for-each>
+
+      <tr>
+       <td></td>
+       <td><b>Total time</b></td>
+       <td><b><xsl:value-of select="profile:result/@time"/> ms</b></td>
+       <xsl:for-each select="profile:result">
+        <td>
+         <b>
+          <xsl:value-of select="@time"/> ms
+         </b>
+        </td>
+       </xsl:for-each>
+      </tr>
+
+     </font>
+    </table>
+
+   </column>
+  </row>
+
+ </xsl:template>
+
+ <xsl:template match="profile:result" mode="result">
+
+  <row>
+   <column title="{../@uri}">
+
+    <table bgcolor="#ffffff" border="0" cellspacing="0" cellpadding="2"  
width="100%" align="center">
+
+     <tr>
+      <td align="left"><b>Components</b></td>
+      <td align="left"><b>Total time</b></td>
+      <td align="left"><b>Setup time</b></td>
+      <td align="left"><b>Processing time</b></td>
+     </tr>
+
+
+     <xsl:for-each select="profile:component">
+      <tr>
+       <td>
+        <a href="?key={../../@key}&amp;result={../@index}&amp;[EMAIL 
PROTECTED]">
+         <xsl:value-of select="@role"/>
+         <xsl:if test="@source">
+          (<xsl:value-of select="@source"/>)
+         </xsl:if>
+        </a>
+       </td>
+       <td>
+        <xsl:value-of select="@time"/> ms
+       </td>
+       <td>
+        <xsl:value-of select="@setup"/> ms
+       </td>
+       <td>
+        <xsl:value-of select="@processing"/> ms
+       </td>
+      </tr>
+     </xsl:for-each>
+
+    </table>
+
+   </column>
+
+  </row>
+
+  <row>
+
+   <column title="Request parameters">
+
+    <table width="100%" cellspacing="0" cellpadding="5" align="center">
+     <font size="+0" face="arial,helvetica,sanserif" color="#000000">
+
+      <tr>
+       <td align="left"><b>Name</b></td>
+       <td align="left"><b>Value</b></td>
+      </tr>
+
+      <xsl:for-each 
select="profile:environmentinfo/profile:request-parameters/profile:parameter">
+       <tr>
+        <td><xsl:value-of select="@name"/></td>
+        <td><xsl:value-of select="@value"/></td>
+       </tr>
+      </xsl:for-each>
+
+      <tr>
+       <td>&#160;</td>
+       <td>&#160;</td>
+      </tr>
+
+     </font>
+    </table>
+    
+   </column>
+
+  </row>
+
+  <row>
+
+   <column title="Session attributes">
+
+    <table width="100%" cellspacing="0" cellpadding="5" align="center">
+     <font size="+0" face="arial,helvetica,sanserif" color="#000000">
+
+      <tr>
+       <td align="left"><b>Name</b></td>
+       <td align="left"><b>Value</b></td>
+      </tr>
+  
+      <xsl:for-each 
select="profile:environmentinfo/profile:session-attributes/profile:attribute">
+       <tr>
+        <td><xsl:value-of select="@name"/></td>
+        <td><xsl:value-of select="@value"/></td>
+       </tr>
+      </xsl:for-each>
+
+      <tr>
+       <td>&#160;</td>
+       <td>&#160;</td>
+      </tr>
+
+     </font>
+    </table>
+
+   </column>
+  </row>
+
+ </xsl:template>
+
+ <xsl:template match="profile:component" mode="fragment">
+
+  <row>
+   <column>
+    <xsl:attribute name="title">
+     <xsl:value-of select="@role"/>
+     <xsl:if test="@source">
+      (<xsl:value-of select="@source"/>)
+     </xsl:if>
+    </xsl:attribute>
+
+    <xsl:choose>
+     <xsl:when test="profile:fragment">
+      <xsl:for-each select="profile:fragment">
+       <xsl:apply-templates mode="xml2html"/>
+      </xsl:for-each>
+     </xsl:when>
+     <xsl:otherwise>
+      <b>Fragment not available!</b>
+     </xsl:otherwise>
+    </xsl:choose>
+
+   </column>
+  </row>
+
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/project2text.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/project2text.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<!--+
+    | Replace element for the value on the project descriptor 
+    | xmlns:for has to be replaced for the final version
+    |
+    | Author: Juan Jose Pablos "[EMAIL PROTECTED]"
+    | 
+    | CVS $\Id$
+    +-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:for="http://xml.apache.org/forrest"; version="1.0">
+
+<xsl:import href="copyover.xsl"/>
+
+<xsl:param name="config-file" select="'../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+
+<xsl:template match="for:project-name">
+    <xsl:value-of select="$config/project-name"/>
+  </xsl:template>
+
+<xsl:template match="for:group-name">
+    <xsl:value-of select="$config/group-name"/>
+  </xsl:template>
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/relativize-linkmap.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/relativize-linkmap.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<!--
+Stylesheet which makes site.xml links relative to the site root.
+
+If the current path ($path) is HTML, links with have ..'s added, to make the
+URIs relative to some root.  Eg, given an 'absolutized' file (from
+absolutize-linkmap.xsl):
+
+<site href="">
+  <community href="community/">
+    <faq href="community/faq.html">
+      <how_can_I_help href="community/faq.html#help"/>
+    </faq>
+  </community>
+</site>
+
+if $path was 'community/index.html', then '../' would be added to each href:
+
+<site href="../">
+  <community href="../community/">
+    <faq href="../community/faq.html">
+      <how_can_I_help href="../community/faq.html#help"/>
+    </faq>
+  </community>
+</site>
+
+If the current path is PDF, then an absolute URL to a site root ($site-root) is
+prepended.  In our example above, if $site-root were http://www.mysite.com/,
+the result would be:
+
+<site href="http://www.mysite.com/";>
+  <community href="http://www.mysite.com/community/";>
+    <faq href="http://www.mysite.com/community/faq.html";>
+      <how_can_I_help href="http://www.mysite.com/community/faq.html#help"/>
+    </faq>
+  </community>
+</site>
+
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="path"/>
+  <xsl:param name="site-root"/>
+
+  <xsl:include href="dotdots.xsl"/>
+
+  <!-- Path to site root, eg '../../' -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:template match="@href">
+
+    <xsl:attribute name="href">
+      <xsl:choose>
+        <xsl:when test="contains(., ':') and not(contains(substring-before(., 
':'), '/'))">
+          <xsl:value-of select="."/>
+        </xsl:when>
+        <xsl:when test="contains(., '.png') or
+          contains(., '.jpeg') or
+          contains(., '.jpg') or
+          contains(., '.gif') or
+          contains(., '.tif')">
+          <!-- Image links are always relative -->
+          <xsl:value-of select="$root"/><xsl:value-of select="."/>
+        </xsl:when>
+
+
+        <!-- PDFs can handle inline images, but everything else must become an
+        external link -->
+        <xsl:when test="contains($path, '.pdf')">
+
+          <!-- Links to outside a PDF are all absolute -->
+          <xsl:value-of select="concat($site-root, .)"/>
+
+        </xsl:when>
+        <xsl:otherwise>
+
+          <!-- Links outside a HTML are relative -->
+          <xsl:value-of select="$root"/><xsl:value-of select="."/>
+
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:include href="copyover.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/rssissues2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/rssissues2document.xsl
      Thu Sep  9 10:04:36 2004
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+<xsl:template match="rss">
+  <document>
+    <header>
+      <title>Open issues</title>
+    </header>
+    <body>
+      <note>These are the open issues in our <link 
href="http://issues.cocoondev.org/jira/secure/BrowseProject.jspa?id=10000";>bug 
tracking system</link>.
+      They are regenerated on each Forrest run.</note>
+      <xsl:apply-templates select="channel/item"/>
+    </body>
+  </document>
+</xsl:template>
+
+<xsl:template match="item">
+  <section>
+    <title><xsl:value-of select="title" disable-output-escaping="yes"/></title>
+    <p><link href="{link}"><xsl:value-of select="link"/></link></p>
+    <p><xsl:value-of select="description" disable-output-escaping="yes"/></p>
+  </section>
+</xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2book.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2book.xsl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+
+<!--
+Stylesheet for generating book.xml from a suitably hierarchical site.xml file.
+The project info is currently hardcoded, but since it isn't used anyway that
+isn't a major problem.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:f="http://apache.org/forrest/linkmap/1.0"; exclude-result-prefixes="f">
+
+  <xsl:param name="path"/>
+  <xsl:output doctype-system="book-cocoon-v10.dtd" 
doctype-public="-//APACHE//DTD Cocoon Documentation Book V1.0//EN"/>
+
+  <xsl:template match="/">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="f:site">
+    <book software="Forrest"
+      title="Apache Forrest"
+      copyright="2002 The Apache Software Foundation">
+      <xsl:apply-templates/>
+    </book>
+  </xsl:template>
+
+  <xsl:template match="*/*">
+    <xsl:choose>
+      <!-- No label, abandon the whole subtree -->
+      <xsl:when test="not(@label)">
+      </xsl:when>
+      <!-- Below here, everything has a label, and is therefore considered 
"for display" -->
+
+      <!-- No children -> must be a menu item -->
+      <!-- Has children, but they are not for display -> menu item -->
+      <xsl:when test="count(*) = 0 or count(*) > 0 and (not(*/@label))">
+        <menu-item label="[EMAIL PROTECTED]" href="[EMAIL PROTECTED]">
+          <xsl:if test="@description">
+            <xsl:attribute name="description">
+              <xsl:value-of select="@description"/>
+            </xsl:attribute>
+          </xsl:if>
+        </menu-item>
+      </xsl:when>
+
+      <!-- Anything else is considered a menu -->
+      <xsl:otherwise>
+        <menu label="[EMAIL PROTECTED]">
+          <xsl:if test="@href">
+            <xsl:attribute name="href">
+              <xsl:value-of select="@href"/>
+            </xsl:attribute>
+          </xsl:if>
+          <xsl:if test="@description">
+            <xsl:attribute name="description">
+              <xsl:value-of select="@description"/>
+            </xsl:attribute>
+          </xsl:if>
+
+          <xsl:apply-templates/>
+        </menu>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2site-normalizetabs.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2site-normalizetabs.xsl
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+Stylesheet to inherit @tab attributes if a node doesn't have one itself. Eg, 
given as input:
+
+<site href="">
+  <index href="index.html"/>
+  <community href="community/" tab="community">
+    <faq href="faq.html">
+      <how_can_I_help href="#help"/>
+    </faq>
+    <howto tab="howto">
+      <cvs href="cvs-howto.html"/>
+    </howto>
+  </community>
+</site>
+
+Output would be:
+
+<site href="">
+  <index href="index.html"/>
+  <community tab="community" href="community/">
+    <faq tab="community" href="faq.html">
+      <how_can_I_help tab="community" href="#help"/>
+    </faq>
+    <howto tab="howto">
+      <cvs tab="howto" href="cvs-howto.html"/>
+    </howto>
+  </community>
+</site>
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:l="http://apache.org/forrest/linkmap/1.0";>
+
+  <!-- Return a value for a node's @tab, either using an existing @tab or the 
first ancestor's -->
+  <xsl:template name="gettab">
+    <xsl:param name="node"/>
+    <xsl:choose>
+      <xsl:when test="$node/@tab">
+        <xsl:value-of select="$node/@tab"/>
+      </xsl:when>
+      <xsl:when test="$node/..">
+        <xsl:call-template name="gettab">
+          <xsl:with-param name="node" select="$node/.."/>
+        </xsl:call-template>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="//*">
+    <xsl:variable name="newtab">
+      <xsl:call-template name="gettab">
+        <xsl:with-param name="node" select="."/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:copy>
+      <!-- <xsl:if test="not(normalize-space($newtab)='')"> -->
+        <xsl:attribute name="tab">
+          <xsl:value-of select="$newtab"/>
+        </xsl:attribute>
+        <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2site-selectnode.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/site2site-selectnode.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet selects a set of nodes with @tab equal to that of a node whose 
@href matches an input parameter.  Could
+probably be done with 2 lines of XQuery.
+
+Jeff Turner <[EMAIL PROTECTED]>
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:l="http://apache.org/forrest/linkmap/1.0";>
+
+  <xsl:param name="path" select="'index'"/>
+
+  <xsl:variable name="tab">
+    <xsl:value-of select="string(//*[starts-with(@href, $path)]/@tab)"/>
+  </xsl:variable>
+
+  <xsl:template match="/*">
+  <!--
+    <xsl:message>## path is <xsl:value-of select="$path"/></xsl:message>
+    <xsl:message>## tab is <xsl:value-of select="$tab"/></xsl:message>
+    -->
+    <xsl:copy>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+  <!-- Ignore external references, as they are only useful for link mapping, 
not
+  creating menus -->
+  <xsl:template match="l:external-refs"/>
+
+  <xsl:template match="*">
+    <xsl:choose>
+      <!-- Take out the first test to not duplicate other tabs' content in 
first menu -->
+      <xsl:when test="$tab='' or @tab=$tab">
+        <xsl:copy>
+          <xsl:apply-templates select="@*|node()"/>
+        </xsl:copy>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates select="*"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="@*|node()" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/text2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/text2document.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<!--+
+    | Transforms TextGenerator output to document format.
+    |
+    | CVS $Id: text2document.xsl,v 1.3 2003/07/30 08:37:54 cheche Exp $
+    +-->
+
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="filename"/>
+
+  <xsl:template match="/">
+    <document>
+      <header>
+        <title>
+          <xsl:value-of select="$filename"/>
+        </title>
+      </header>
+      <body>
+        <source>
+          <!-- &#13; is System.getProperty("line.separator") -->
+         <xsl:value-of select="translate(node(),'&#13;',' ')"/>
+        </source>
+      </body>
+    </document>
+  </xsl:template>
+ 
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/todo2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/todo2document.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    version="1.0">
+
+ <xsl:import href="copyover.xsl"/>
+
+ <xsl:template match="/">
+  <xsl:apply-templates select="//todo"/>
+ </xsl:template>
+
+ <xsl:template match="todo">
+  <document>
+   <header>
+    <title>Todo List</title>
+   </header>
+   <body>
+    <xsl:apply-templates/>
+   </body>
+  </document>
+ </xsl:template>
+
+ <xsl:template match="actions">
+  <section>
+   <title><xsl:value-of select="@priority"/></title>
+   <ul>
+    <xsl:for-each select="action">
+     <li>
+      <strong><xsl:text>[</xsl:text><xsl:value-of 
select="@context"/><xsl:text>]</xsl:text></strong><xsl:text> </xsl:text>
+      <xsl:apply-templates/>
+      <xsl:text> </xsl:text>&#8594;<xsl:text> </xsl:text><xsl:value-of 
select="@dev"/>
+     </li>
+    </xsl:for-each>
+   </ul>
+  </section>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/wiki2document.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/wiki2document.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,239 @@
+<?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";
+                exclude-result-prefixes="st">
+
+ <xsl:param name="name"/>
+
+ <xsl:template match="st:document">
+  <document>
+   <header>
+     <title>
+       <xsl:value-of select="$name"/>
+     </title>
+   </header>
+   <body>
+    <xsl:apply-templates select="st:paragraphs/st:paragraph/st:*" 
mode="paragraph"/>  
+    <xsl:apply-templates select="st:section"/>
+   </body>
+  </document>
+ </xsl:template>
+
+ <xsl:template match="st:section">
+  <section>
+   <title><xsl:value-of 
select="normalize-space(st:title/st:textsequence)"/></title>
+   <xsl:apply-templates select="st:paragraphs/st:paragraph/st:*" 
mode="paragraph"/>
+  </section>
+ </xsl:template>
+
+ <xsl:template match="st:source" mode="paragraph">
+  <source>
+   <xsl:value-of select="substring(.,4,string-length(.)-6)"/>
+  </source>
+ </xsl:template>
+
+ <xsl:template match="st:textsequence" mode="paragraph">
+  <p>
+   <xsl:apply-templates select="st:textblock/st:*|st:softbreak"/>
+  </p>
+ </xsl:template>
+
+ <xsl:template match="st:table" mode="paragraph"> 
+  <table>
+   <xsl:apply-templates select="st:tablehead|st:tablerows/st:tablecolumns"/>
+  </table>
+ </xsl:template>
+
+ <xsl:template match="st:tablehead"> 
+  <tr>
+   <xsl:apply-templates select="st:tabletitle"/>
+  </tr>
+ </xsl:template>
+
+ <xsl:template match="st:tabletitle">
+  <th>
+   <xsl:apply-templates select="st:textblock/st:*"/>
+  </th>
+ </xsl:template>
+
+ <xsl:template match="st:tablecolumns">
+  <tr>
+   <xsl:apply-templates select="st:tablecolumn"/>
+  </tr>
+ </xsl:template>
+
+ <xsl:template match="st:tablecolumn">
+  <td>
+   <xsl:apply-templates select="st:textblock/st:*"/>
+  </td>
+ </xsl:template>
+
+ <xsl:template match="st:text">
+  <xsl:value-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="st:softbreak">
+ <xsl:text> </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="st:link">
+  <xsl:choose>
+   <xsl:when test="contains(.,'|')">
+
+    <xsl:variable name="text" 
select="substring-after(substring-before(.,'|'),'[')"/>
+    <xsl:variable name="href" 
select="substring-before(substring-after(.,'|'),']')"/>
+
+    <xsl:choose>
+     <xsl:when test="string(number($href)) != 'NaN'">
+      <link href="#{$href}">
+       <xsl:value-of select="$text"/>
+      </link>
+    </xsl:when>
+
+    <xsl:when test="contains($href, '.png') or
+      contains($href, '.gif') or
+      contains($href, '.jpeg') or
+      contains($href, '.jpg')">
+      <xsl:choose>
+        <xsl:when test="contains($href, 'http://')">
+          <img src="{$href}" alt="{$text}"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <img src="images/{$href}" alt="{$text}"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:when>
+
+    <xsl:when test="starts-with($href,'http') or contains($href, '.html') or 
contains($href, '.pdf')">
+      <link href="{$href}">
+        <xsl:value-of select="$text"/>
+      </link>
+     </xsl:when>
+     <xsl:otherwise>
+      <link href="{$href}.html">
+       <xsl:value-of select="$text"/>
+      </link>
+     </xsl:otherwise>
+    </xsl:choose>
+
+   </xsl:when>
+   <xsl:otherwise>
+    <xsl:variable name="href" select="substring(.,2,string-length(.)-2)"/>
+    
+    <xsl:choose>
+      <xsl:when test="contains($href, '.png') or
+        contains($href, '.gif') or
+        contains($href, '.jpeg') or
+        contains($href, '.jpg')">
+        <xsl:choose>
+          <xsl:when test="contains($href, 'http://')">
+            <img src="{$href}" alt=""/>
+          </xsl:when>
+          <xsl:otherwise>
+            <img src="images/{$href}" alt=""/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+
+     <xsl:when test="string(number($href)) != 'NaN'">
+      <link href="#{$href}">
+       [<xsl:value-of select="$href"/>]
+      </link>
+     </xsl:when>
+     <xsl:when test="starts-with($href,'http')">
+      <link href="{$href}">
+       <xsl:value-of select="$href"/>
+      </link>
+     </xsl:when>
+     <xsl:otherwise>
+      <link href="{$href}.html">
+       <xsl:value-of select="$href"/>
+      </link>
+     </xsl:otherwise>
+    </xsl:choose>
+
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:anchor" >
+  <xsl:choose>
+   <xsl:when test="contains(.,'|')">
+    <anchor name="{substring-before(substring-after(.,'|#'),']')}">
+     <xsl:value-of select="substring-after(substring-before(.,'|'),'[')"/>
+    </anchor>
+   </xsl:when>
+   <xsl:otherwise>
+    <anchor name="{substring(.,3,string-length(.)-3)}"/>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="st:emblock">
+  <em><xsl:value-of select="st:text"/></em>
+ </xsl:template>
+
+ <xsl:template match="st:strongblock">
+  <strong><xsl:value-of select="st:text"/></strong>
+ </xsl:template>
+
+ <xsl:template match="st:codeblock">
+  <code><xsl:value-of select="st:text"/></code>
+ </xsl:template>
+
+ <xsl:template match="st:bulletedlist" mode="paragraph">
+  <ul>
+   <xsl:apply-templates select="st:bulletedlistitem"/>
+  </ul>
+ </xsl:template>
+
+ <xsl:template match="st:bulletedlistitem" >
+  <li>
+   <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="st:numberedlist1" mode="paragraph">
+  <ol>
+   <xsl:apply-templates select="st:numberedlistitem1|st:numberedlist2"/>
+  </ol>
+ </xsl:template>
+
+ <xsl:template match="st:numberedlistitem1" >
+  <li>
+   <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="st:numberedlist2" >
+  <ol>
+   <xsl:apply-templates select="st:numberedlistitem2|st:numberedlist3"/>
+  </ol>
+ </xsl:template>
+    
+ <xsl:template match="st:numberedlistitem2" >
+  <li>
+   <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="st:numberedlist3" >
+  <ol>
+   <xsl:apply-templates select="st:numberedlistitem3"/>
+  </ol>
+ </xsl:template>
+    
+ <xsl:template match="st:numberedlistitem3" >
+  <li>
+   <xsl:apply-templates select="st:textsequence/st:textblock/st:*"/>
+  </li>
+ </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/webapp/resources/stylesheets/wiki2html.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/wiki2html.xsl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,158 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
+                xmlns:wiki="http://chaperon.sourceforge.net/grammar/wiki/1.0";>
+
+ <xsl:template match="wiki:wiki">
+    <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="//wiki">
+  <div>
+   <xsl:apply-templates select="paragraphs/paragraph"/>
+  </div>
+ </xsl:template>
+
+ <xsl:template match="wiki:paragraphs" >
+  <xsl:apply-templates/>
+ </xsl:template>
+ 
+ <xsl:template match="wiki:paragraph" >
+  <xsl:apply-templates 
select="wiki:bulletedlist|wiki:numberedlist1|wiki:numberedlist2|wiki:numberedlist3|wiki:headitem|wiki:footnote|wiki:textitem|wiki:LINE"/>
+ </xsl:template>
+
+ <xsl:template match="wiki:textitem" >
+  <p>
+   <xsl:apply-templates select="wiki:firstblock|wiki:textblock"/>
+  </p>
+ </xsl:template>
+
+ <xsl:template match="wiki:textblock" >
+  <xsl:apply-templates 
select="wiki:LINK|wiki:boldblock|wiki:italicblock|wiki:underlineblock|wiki:TEXT|wiki:note"/>
+ </xsl:template>
+
+ <xsl:template match="wiki:firstblock" >
+  <xsl:apply-templates 
select="wiki:LINK|wiki:boldblock|wiki:italicblock|wiki:underlineblock|wiki:TEXT"/>
+ </xsl:template>
+
+ <xsl:template match="wiki:LINE" >
+  <hr/>
+ </xsl:template>
+
+ <xsl:template match="wiki:bulletedlist" >
+  <ul>
+   <xsl:apply-templates select="wiki:bulletedlistitem"/>
+  </ul>
+ </xsl:template>
+
+ <xsl:template match="wiki:bulletedlistitem" >
+  <li>
+   <xsl:apply-templates select="wiki:textblock"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="wiki:numberedlist1" >
+  <ol>
+   <xsl:apply-templates select="wiki:numberedlistitem1|wiki:numberedlist2"/>
+  </ol>
+ </xsl:template>
+
+ <xsl:template match="wiki:numberedlistitem1" >
+  <li>
+   <xsl:apply-templates select="wiki:textblock"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="wiki:numberedlist2" >
+  <ol>
+   <xsl:apply-templates select="wiki:numberedlistitem2|wiki:numberedlist3"/>
+  </ol>
+ </xsl:template>
+    
+ <xsl:template match="wiki:numberedlistitem2" >
+  <li>
+   <xsl:apply-templates select="wiki:textblock"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="wiki:numberedlist3" >
+  <ol>
+   <xsl:apply-templates select="wiki:numberedlistitem3"/>
+  </ol>
+ </xsl:template>
+    
+ <xsl:template match="wiki:numberedlistitem3" >
+  <li>
+   <xsl:apply-templates select="wiki:textblock"/>
+  </li>
+ </xsl:template>
+
+ <xsl:template match="wiki:headitem" >
+  <xsl:choose>
+   <xsl:when test="string-length(wiki:HEAD)=2">
+    <h2>
+     <xsl:apply-templates select="wiki:textblock"/>
+    </h2>
+   </xsl:when>
+   <xsl:when test="string-length(wiki:HEAD)=3">
+    <h3>
+     <xsl:apply-templates select="wiki:textblock"/>
+    </h3>
+   </xsl:when>
+   <xsl:otherwise>
+    <h1>
+     <xsl:apply-templates select="wiki:textblock"/>
+    </h1>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:template>
+
+
+ <xsl:template match="wiki:footnote" >
+  <a name="{normalize-space(wiki:note/wiki:TEXT|wiki:note/wiki:LINK)}">
+   [<xsl:apply-templates select="wiki:note/wiki:TEXT|wiki:note/wiki:LINK"/>]
+   <xsl:apply-templates select="wiki:textblock"/>
+  </a>
+ </xsl:template>
+
+ <xsl:template match="wiki:LINK" >
+  <a href="{normalize-space(.)}">
+   <xsl:value-of select="."/>
+  </a>
+ </xsl:template>
+
+ <xsl:template match="wiki:boldblock" >
+  <b>
+   <xsl:value-of select="wiki:TEXT"/>
+  </b>
+ </xsl:template>
+
+ <xsl:template match="wiki:italicblock" >
+  <i>
+   <xsl:value-of select="wiki:TEXT"/>
+  </i>
+ </xsl:template>
+
+ <xsl:template match="wiki:underlineblock" >
+  <u>
+   <xsl:value-of select="wiki:TEXT"/>
+  </u><xsl:text> </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="wiki:note" >
+  <a href="#{normalize-space(wiki:TEXT|wiki:LINK)}">
+   [<xsl:apply-templates select="wiki:TEXT|wiki:LINK"/>]
+  </a>
+ </xsl:template>
+
+ <xsl:template match="wiki:TEXT" >
+  <xsl:value-of select="."/>
+ </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/webapp/resources/stylesheets/wiki2htmlpage.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/resources/stylesheets/wiki2htmlpage.xsl
   Thu Sep  9 10:04:36 2004
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
+                xmlns:wiki="http://chaperon.sourceforge.net/grammar/wiki/1.0";>
+
+ <xsl:template match="/">
+  <html>
+   <body>
+    <xsl:apply-templates/>
+   </body>
+  </html>
+ </xsl:template>
+
+
+<!-- Identity transformation template -->                      
+<xsl:template match="@* | * | comment() | processing-instruction() | text()"> 
+       <xsl:copy> 
+               <xsl:apply-templates select="@* | * | comment() | 
processing-instruction() | text()"/> 
+       </xsl:copy> 
+</xsl:template> 
+    
+
+</xsl:stylesheet>

Added: incubator/beehive/trunk/site/build/webapp/revisions.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/revisions.xmap    Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Support for HOWTO documents that want 'revisions'.  Revisions are XML snippets 
containing
+comments on the main XML file.  The main pipeline here automatically appends a 
page's
+revisions to the bottom.
+
+For example, in content/xdocs/community/howto/xmlform we have:
+
+howto-xmlform.xml
+revision-howto-xmlform-2002-05-20.xml
+revision-howto-xmlform-2002-05-25.xml
+
+The **/*.xml pipeline would append the revision-*.xml snippets to 
howto-xmlform.xml before
+serving it.
+
+Generates  :  Source XML
+Example URL:  http://localhost:8888/community/howto/xmlform/howto-xmlform.xml
+Used by    :  sitemap.xmap
+Uses       :  content/xdocs/**.xml, and content/xdocs/**/revision-*.xml
+
+$Revision: 1.10 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
+  <map:components>
+    <map:generators default="file">
+      <map:generator name="directory" 
src="org.apache.cocoon.generation.DirectoryGenerator" />
+    </map:generators>
+    <map:serializers default="html"/>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <map:match pattern="**index.xml">
+        <map:generate src="content/xdocs/{0}" />
+        <map:transform type="idgen" />
+        <map:serialize type="xml"/>
+      </map:match>
+
+      <map:match pattern="**revision-*.xml">
+        <map:generate src="content/xdocs/{1}revision-{2}.xml" />
+        <map:transform type="idgen" />
+        <map:serialize type="xml"/>
+      </map:match>
+
+      <map:match pattern="**revisions-**">
+        <map:generate type="directory" src="content/xdocs/{1}">
+          <map:parameter name="dateFormat" value="yyyy-MM-dd hh:mm" />
+        </map:generate>
+        <map:transform src="resources/stylesheets/directory2revisions.xsl">
+          <map:parameter name="use-request-parameters" value="true" />
+          <map:parameter name="page" value="{2}" />
+        </map:transform>
+        <map:serialize type="xml" />
+      </map:match>
+
+      <map:match pattern="**/*.xml">
+        <map:aggregate element="all">
+          <map:part src="content/xdocs/{0}" />
+          <map:part src="cocoon:/{1}/revisions-{2}" />
+        </map:aggregate>
+        <map:transform src="resources/stylesheets/howto2document.xsl" />
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/webapp/sitemap.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/sitemap.xmap      Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,377 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Default Forrest sitemap, defining the whole site.
+Delegates to the other *.xmap files.  See
+http://xml.apache.org/forrest/sitemap-ref.html
+
+$Revision: 1.117.2.1 $
+==================================================== -->
+
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
+  <map:components>
+    <map:generators default="file">
+      <map:generator name="file"      
src="org.apache.cocoon.generation.FileGenerator" />
+      <!--
+      <map:generator name="html"      
src="org.apache.cocoon.generation.HTMLGenerator">
+        <jtidy-config>jtidy.properties</jtidy-config>
+      </map:generator>
+      <map:generator name="directory" 
src="org.apache.cocoon.generation.DirectoryGenerator" />
+      -->
+    </map:generators>
+
+    <map:transformers default="xslt">
+      <!-- Generates @id attributes from <title> strings -->
+      <map:transformer name="idgen" 
src="org.apache.cocoon.transformation.IdGeneratorTransformer">
+        <element>//*[local-name() = 'section']</element>
+        <id>title/text()</id>
+      </map:transformer>
+
+      <!-- Rewrites links, e.g. transforming href="site:index" to 
href="../index.html" -->
+      <!-- See 
http://xml.apache.org/forrest/sitemap-ref.html#linkrewriting_impl -->
+      <map:transformer name="linkrewriter" 
logger="sitemap.transformer.linkrewriter" 
src="org.apache.cocoon.transformation.LinkRewriterTransformer">
+        <link-attrs>href src</link-attrs>
+        <schemes>site ext</schemes>
+
+        <input-module name="site">
+          <input-module name="linkmap">
+            <file src="{src}" reloadable="true" />
+          </input-module>
+          <prefix>/site//</prefix>
+          <suffix>/@href</suffix>
+        </input-module>
+        <input-module name="ext">
+          <input-module name="linkmap">
+            <file src="{src}" reloadable="true" />
+          </input-module>
+          <prefix>/site/external-refs//</prefix>
+          <suffix>/@href</suffix>
+        </input-module>
+      </map:transformer>
+
+      <map:transformer name="xpath" logger="sitemap.transformer.xpath" 
src="org.apache.cocoon.transformation.XPathTransformer" />
+      <map:transformer name="xslt" 
src="org.apache.cocoon.transformation.TraxTransformer" 
logger="sitemap.transformer.xslt" pool-max="32" pool-min="8" pool-grow="2">
+        <use-request-parameters>false</use-request-parameters>
+        <use-browser-capabilities-db>false</use-browser-capabilities-db>
+        <use-deli>false</use-deli>
+        
<transformer-factory>org.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
+        
<!--<transformer-factory>com.icl.saxon.TransformerFactoryImpl</transformer-factory>-->
+        
<!--<transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory>-->
+      </map:transformer>
+
+      <map:transformer name="xinclude" 
src="org.apache.cocoon.transformation.XIncludeTransformer" 
logger="sitemap.transformer.xinclude" pool-grow="2" pool-max="16" pool-min="2" 
/>
+    </map:transformers>
+
+    <map:readers default="resource">
+      <map:reader name="resource" 
src="org.apache.cocoon.reading.ResourceReader"/>
+    </map:readers>
+
+    <map:serializers default="html">
+      <map:serializer name="html" mime-type="text/html" 
src="org.apache.cocoon.serialization.HTMLSerializer">
+        <doctype-public>-//W3C//DTD HTML 4.01 Transitional//EN</doctype-public>
+        <doctype-system>http://www.w3.org/TR/html4/loose.dtd</doctype-system>
+      </map:serializer>
+
+      <map:serializer name="xml" mime-type="text/xml" 
src="org.apache.cocoon.serialization.XMLSerializer"/>
+      
+      <map:serializer name="xml-document" mime-type="text/xml" 
src="org.apache.cocoon.serialization.XMLSerializer">
+        <cdata-section-elements>source</cdata-section-elements>
+        <doctype-public>-//APACHE//DTD Documentation V1.2//EN</doctype-public>
+        <doctype-system>document-v12.dtd</doctype-system>
+      </map:serializer>
+
+      <map:serializer name="fo2pdf" 
src="org.apache.cocoon.serialization.FOPSerializer" mime-type="application/pdf" 
/>
+
+      <map:serializer name="links" 
src="org.apache.cocoon.serialization.LinkSerializer">
+        <encoding>ISO-8859-1</encoding>
+      </map:serializer>
+     <!--
+      <map:serializer mime-type="application/x-shockwave-flash" name="swf" 
src="org.apache.cocoon.serialization.SWFSerializer"/>
+      <map:serializer mime-type="application/msword" name="fo2rtf" 
src="org.apache.cocoon.serialization.RTFSerializer"/>
+      -->
+    </map:serializers>
+
+    <map:matchers default="wildcard">
+      <map:matcher name="wildcard" 
src="org.apache.cocoon.matching.WildcardURIMatcher"/>
+      <map:matcher name="regexp" 
src="org.apache.cocoon.matching.RegexpURIMatcher"/>
+    </map:matchers>
+
+    <map:selectors>
+      <map:selector logger="sitemap.selector.exists" name="exists" 
src="org.apache.cocoon.selection.ResourceExistsSelector" />
+    </map:selectors>
+
+    <map:pipes default="caching">
+      <map:pipe name="caching" 
src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/>
+      <!--
+      <map:pipe name="noncaching" 
src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/>
+      <map:pipe name="profile-caching" 
src="org.apache.cocoon.components.profiler.ProfilingCachingProcessingPipeline"/>
+      <map:pipe name="profile-noncaching" 
src="org.apache.cocoon.components.profiler.ProfilingNonCachingProcessingPipeline"/>
+      -->
+    </map:pipes>
+  </map:components>
+
+  <!-- NOTE: the 'links view' is no longer used to discover a page's links.
+       Instead of filterlinks.xsl, use cli.xconf include/exclude nodes to 
define which pages to render.
+  <map:views>
+    <map:view name="links" from-position="last">
+      <map:transform src="resources/stylesheets/filterlinks.xsl">
+        <map:parameter name="ctxbasedir" value="{realpath:.}/"/>
+      </map:transform>
+      <map:serialize type="links"/>
+    </map:view>
+  </map:views>
+  -->
+
+  <map:resources>
+    <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="nopdf" value="{nopdf}"/>
+        <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>
+
+  <!-- =========================== Pipelines ================================= 
-->
+  <map:pipelines>
+
+    <map:pipeline internal-only="false">
+
+      <!-- ============================================================ -->
+      <!-- SOURCE FORMATS                                               -->
+      <!--                 Raw XML sources, typically doc-v12 format    -->
+      <!-- ============================================================ -->
+      <!-- http://xml.apache.org/forrest/sitemap-ref.html#source_pipelines -->
+
+      <!-- Body content -->
+      <map:match pattern="**.xml">
+        <map:match pattern="changes.xml">
+          <map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="todo.xml">
+          <map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="**dtdx.xml">
+          <map:mount uri-prefix="" src="dtd.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="forrest-issues.xml">
+          <map:mount uri-prefix="" src="issues.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="**faq.xml">
+          <map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="community/**index.xml">
+          <map:mount uri-prefix="" src="forrest.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="community/*/**.xml">
+          <map:mount uri-prefix="" src="revisions.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:match pattern="site.xml">
+          <map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" />
+        </map:match>
+
+        <!-- Default source types -->
+        <map:mount uri-prefix="" src="forrest.xmap" check-reload="yes" />
+
+      </map:match>
+
+      <!-- Menu content -->
+      <map:match pattern="abs-menulinks">
+        <map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
+      </map:match>
+
+      <map:match pattern="**menulinks-*">
+        <map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
+      </map:match>
+
+      <!-- Link maps -->
+      <map:match pattern="abs-linkmap">
+        <map:mount uri-prefix="" src="linkmap.xmap"/>
+      </map:match>
+
+      <map:match pattern="**linkmap-*">
+        <map:match pattern="linkmap-site.*">
+          <map:mount uri-prefix="" src="aggregate.xmap" check-reload="yes" />
+        </map:match>
+
+        <map:mount uri-prefix="" src="linkmap.xmap" check-reload="yes" />
+      </map:match>
+
+    </map:pipeline>
+
+
+    <!-- ============================================================ -->
+    <!-- INTERMEDIATE FORMATS                                         -->
+    <!--                          Tabs, menus and body HTML.          -->
+    <!--                       Called from output format pipelines    -->
+    <!-- ============================================================ -->
+    <!-- http://xml.apache.org/forrest/sitemap-ref.html#intermediate_pipelines 
-->
+
+    <map:pipeline internal-only="false">
+
+      <!-- External matches -->
+      <!-- (HTML rendered directly from special formats) -->
+      <map:match pattern="**body-faq.html">
+        <map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
+      </map:match>
+
+      <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:transform type="linkrewriter" 
src="cocoon:/{1}linkmap-{2}.html"/>
+            <map:serialize type="xml" />
+          </map:when>
+        </map:select>
+      </map:match>
+
+      <!-- Default matches -->
+      <!-- (HTML rendered from doc-v11 intermediate format -->
+      <map:match pattern="**body-*.html">
+        <map:generate src="cocoon:/{1}{2}.xml"/>
+        <map:transform type="idgen"/>
+        <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="false"/>
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**menu-*.html">
+        <map:generate src="cocoon:/{1}book-{2}.html"/>
+        <map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="book2menu"/>
+          <map:parameter name="path" value="{1}{2}.html"/>
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**tab-*.html">
+        <map:generate src="content/xdocs/tabs.xml" />
+        <map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="tab2menu"/>
+          <map:parameter name="path" value="{1}{2}.html"/>
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**book-*.html">
+        <map:mount uri-prefix="" src="menu.xmap" check-reload="yes" />
+      </map:match>
+
+    </map:pipeline>
+
+
+    <map:pipeline internal-only="false">
+
+      <!-- ============================================================ -->
+      <!-- OUTPUT FORMATS                                               -->
+      <!--                  Serves content directly to the user         -->
+      <!-- +==========================================================+ -->
+      <!-- http://xml.apache.org/forrest/sitemap-ref.html#output_pipelines -->
+
+      <map:match type="regexp" pattern="^.+$">
+        <map:select type="exists">
+          <map:when test="content/{0}">
+            <map:mount uri-prefix="" src="raw.xmap" check-reload="yes" />
+          </map:when>
+        </map:select>
+      </map:match>
+
+      <map:match pattern="*.html">
+        <map:aggregate element="site">
+          <map:part src="cocoon:/tab-{0}"/>
+          <map:part src="cocoon:/menu-{0}"/>
+          <map:part src="cocoon:/body-{0}"/>
+        </map:aggregate>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="site2xhtml"/>
+          <map:parameter name="path" value="{0}"/>
+        </map:call>
+      </map:match>         
+
+      <map:match pattern="**/*.html">
+        <map:aggregate element="site">
+          <map:part src="cocoon:/{1}/tab-{2}.html"/>
+          <map:part src="cocoon:/{1}/menu-{2}.html"/>
+          <map:part src="cocoon:/{1}/body-{2}.html"/>
+        </map:aggregate>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="site2xhtml"/>
+          <map:parameter name="path" value="{0}"/>
+        </map:call>
+      </map:match>
+
+      <map:match pattern="**faq.pdf">
+        <map:mount uri-prefix="" src="faq.xmap" check-reload="yes" />
+      </map:match>
+
+      <map:match type="regexp" pattern="^(.*?)([^/]*).pdf$">
+        <map:generate src="cocoon:/{1}{2}.xml"/>
+        <!-- <map:transform type="idgen"/> -->
+        <map:transform type="xinclude"/>
+        <map:transform type="linkrewriter" src="cocoon://{1}linkmap-{2}.pdf"/>
+        <map:transform src="skins/{forrest:skin}/xslt/fo/document2fo.xsl">
+          <map:parameter name="ctxbasedir" value="{realpath:.}/"/>
+          <map:parameter name="xmlbasedir" value="content/xdocs/{1}"/>
+        </map:transform>
+        <map:serialize type="fo2pdf"/>
+      </map:match>
+
+      <map:match pattern="**changes.rss">
+        <map:mount uri-prefix="" src="status.xmap" check-reload="yes" />
+      </map:match>
+
+      <map:match pattern="profiler">
+        <map:mount uri-prefix="" src="profiler.xmap" check-reload="yes" />
+      </map:match>
+      <map:match pattern="**.js">
+        <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
+      </map:match>
+      <map:match pattern="**.css">
+        <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
+      </map:match>
+      <map:match pattern="**images**">
+        <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
+      </map:match>
+     <map:match pattern="**favicon.ico">
+        <map:mount uri-prefix="" src="resources.xmap" check-reload="yes" />
+      </map:match>
+    </map:pipeline>
+
+
+
+    <!-- ============================================================ -->
+    <!-- REDIRECTS                                                    -->
+    <!-- ============================================================ -->
+    <map:pipeline internal-only="false">
+
+      <map:match pattern="">
+        <map:redirect-to uri="index.html" />
+      </map:match>
+      <map:match type="regexp" pattern="^.+/$">
+          <map:redirect-to uri="index.html"/>
+      </map:match>
+    </map:pipeline>
+
+
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/webapp/skinconf.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/skinconf.xml      Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+
+<!--
+Skin configuration file. This file contains details of your project, which will
+be used to configure the chosen Forrest skin.
+-->
+
+<!DOCTYPE skinconfig [
+
+  <!ENTITY % links.att 'name CDATA #REQUIRED'>
+  <!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
+  <!ELEMENT skinconfig (disable-search?, disable-print-link?, 
disable-pdf-link?,
+  disable-xml-link?, disable-compliance-links?, searchsite-domain?, 
searchsite-name?,
+  project-name, project-url, project-logo, group-name?, group-url?, 
group-logo?,
+  host-url?, host-logo?, year?, vendor?, trail?, credits?)*>
+  <!ELEMENT credits (credit*)>
+  <!ELEMENT credit (name, url, image?, width?, height?)>
+  <!-- id uniquely identifies the tool, and role indicates its function -->
+  <!ATTLIST credit id   CDATA #IMPLIED
+                   role CDATA #IMPLIED>
+  <!ELEMENT disable-search (#PCDATA)>
+  <!ELEMENT disable-print-link (#PCDATA)>
+  <!ELEMENT disable-pdf-link (#PCDATA)>
+  <!ELEMENT disable-xml-link (#PCDATA)>    
+  <!ELEMENT disable-compliance-links (#PCDATA)>   
+  <!ELEMENT searchsite-domain (#PCDATA)>
+  <!ELEMENT searchsite-name (#PCDATA)>  
+  <!ELEMENT project-name (#PCDATA)>
+  <!ELEMENT project-url (#PCDATA)>
+  <!ELEMENT project-logo (#PCDATA)>
+  <!ELEMENT group-name (#PCDATA)>
+  <!ELEMENT group-url (#PCDATA)>
+  <!ELEMENT group-logo (#PCDATA)>
+  <!ELEMENT host-url (#PCDATA)>
+  <!ELEMENT host-logo (#PCDATA)>
+  <!ELEMENT year (#PCDATA)>
+  <!ELEMENT vendor (#PCDATA)>
+  <!ELEMENT trail (link1, link2, link3)>
+  <!ELEMENT link1 EMPTY>
+  <!-- Seems we can't use param entity refs until this is DTDified -->
+  <!ATTLIST link1 name CDATA #REQUIRED href CDATA #IMPLIED>
+  <!ELEMENT link2 EMPTY>
+  <!ATTLIST link2 name CDATA #REQUIRED href CDATA #IMPLIED>
+  <!ELEMENT link3 EMPTY>
+  <!ATTLIST link3 name CDATA #REQUIRED href CDATA #IMPLIED>
+  <!ELEMENT name (#PCDATA)>
+  <!ELEMENT url (#PCDATA)>
+  <!ELEMENT image (#PCDATA)>
+  <!ELEMENT width (#PCDATA)>
+  <!ELEMENT height (#PCDATA)>
+  ]>
+
+<skinconfig>
+  <!-- Do we want to disable the Google search box? -->
+  <disable-search>false</disable-search>
+  <!-- Do we want to disable the print link? -->
+  <disable-print-link>true</disable-print-link>  
+  <!-- Do we want to disable the PDF link? -->
+  <disable-pdf-link>true</disable-pdf-link>
+  <!-- Do we want to disable the xml source link? -->
+  <disable-xml-link>true</disable-xml-link>
+  <!-- Do we want to disable w3c compliance links? -->
+  <disable-compliance-links>true</disable-compliance-links>
+  
+  <searchsite-domain>incubator.apache.org</searchsite-domain>
+  <searchsite-name>Apache Beehive</searchsite-name>  
+
+  <!-- mandatory project logo
+       skin: forrest-site renders it at the top -->
+  <project-name>Apache Beehive</project-name>
+  <project-url>http://incubator.apache.org/beehive</project-url>
+  <project-logo>images/beehive_logo_wide.gif</project-logo>
+
+  <!-- optional group logo
+       skin: forrest-site renders it at the top-left corner -->
+  <group-name>Apache Incubator</group-name>
+  <group-url>http://incubator.apache.org/</group-url>
+  <group-logo>images/incubator-logo.gif</group-logo>
+
+  <!-- optional host logo (e.g. sourceforge logo)
+       skin: forrest-site renders it at the bottom-left corner -->
+  <host-url></host-url>
+  <host-logo></host-logo>
+
+  <!-- The following are used to construct a copyright statement -->
+  <year>2004</year>
+  <vendor>The Apache Software Foundation.</vendor>
+
+  <!-- Some skins use this to form a 'breadcrumb trail' of links. If you don't
+  want these, set the attributes to blank. The DTD purposefully requires them.
+  -->
+  <trail>
+    <link1 name="apache" href="http://www.apache.org/"/>
+    <link2 name="" href=""/>
+    <!-- <link2 name="beehive" href="http://incubator.apache.org/beehive"/> -->
+    <link3 name="" href=""/>
+  </trail>
+
+  <!-- Credits are typically rendered as a set of small clickable images in the
+  page footer -->
+  <credits>
+    <!-- credit>
+      <name>Built with Apache Forrest</name>
+      <url>http://xml.apache.org/forrest/</url>
+      <image>images/built-with-forrest-button.png</image>
+      <width>88</width>
+      <height>31</height>
+    </credit -->
+    <!-- A credit with @role='pdf' will have its name and url displayed in the
+    PDF page's footer. -->
+  </credits>
+</skinconfig>

Added: incubator/beehive/trunk/site/build/webapp/skins/common/images/README.txt
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/skins/common/images/README.txt    
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,3 @@
+This directory is currently useless, as the sitemap only looks in
+skins/{forrest:skin}, so files must be kept in synch manually until this is
+fixed.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/images/built-with-forrest-button.png
==============================================================================
Binary file. No diff available.

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

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

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

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

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

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/document2fo.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/document2fo.xsl  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,705 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                version="1.0">
+
+  <xsl:output method="xml"/>
+  <xsl:param name="numbersections" select="'true'"/>
+
+  <!-- Section depth at which we stop numbering and just indent -->
+  <xsl:param name="numbering-max-depth" select="'3'"/>
+  <xsl:param name="ctxbasedir" select="."/>
+  <xsl:param name="xmlbasedir"/>
+  <xsl:include href="pdfoutline.xsl"/>
+  <xsl:include href="footerinfo.xsl"/>
+
+  <xsl:template match="/">
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>
+      <fo:layout-master-set>
+
+        <fo:simple-page-master master-name="first-page"
+          page-height="11in" 
+          page-width="8.5in"
+          margin-top="1in" 
+          margin-bottom="1in" 
+          margin-left="1.25in" 
+          margin-right="1in">
+          <fo:region-body
+            margin-top="0.5in"
+            margin-bottom=".5in"/>
+          <fo:region-after 
+            region-name="first-footer"
+            extent=".5in"
+            display-align="before"/>
+        </fo:simple-page-master>
+
+        <fo:simple-page-master master-name="even-page"
+          page-height="11in" 
+          page-width="8.5in"
+          margin-top="1in" 
+          margin-bottom="1in" 
+          margin-left="1.25in" 
+          margin-right="1in">
+          <fo:region-before
+            region-name="even-header"
+            extent="0.5in"
+            border-bottom="0.5pt solid"/>
+          <fo:region-body
+            margin-top="0.5in"
+            margin-bottom=".5in"/>
+          <fo:region-after 
+            region-name="even-footer"
+            extent=".5in"
+            display-align="before"/>
+        </fo:simple-page-master>
+
+        <fo:simple-page-master master-name="odd-page"
+          page-height="11in" 
+          page-width="8.5in"
+          margin-top="1in" 
+          margin-bottom="1in" 
+          margin-left="1.25in" 
+          margin-right="1in">
+          <fo:region-before
+            region-name="odd-header"
+            extent="0.5in"
+            border-bottom="0.5pt solid"/>
+          <fo:region-body
+            margin-top="0.5in"
+            margin-bottom=".5in"/>
+          <fo:region-after 
+            region-name="odd-footer"
+            extent=".5in"
+            display-align="before"/>
+        </fo:simple-page-master>
+
+        <fo:page-sequence-master master-name="book">
+          <fo:repeatable-page-master-alternatives>
+            <fo:conditional-page-master-reference
+              page-position="first"
+              master-reference="first-page"/>
+            <fo:conditional-page-master-reference
+              odd-or-even="odd"
+              master-reference="odd-page"/>
+            <fo:conditional-page-master-reference
+              odd-or-even="even"
+              master-reference="even-page"/>
+          </fo:repeatable-page-master-alternatives>
+        </fo:page-sequence-master>
+      </fo:layout-master-set>
+
+      <xsl:apply-templates select="/document" mode="outline"/>
+
+      <fo:page-sequence master-reference="book">
+        <fo:title><xsl:value-of select="document/header/title"/></fo:title>
+        <xsl:apply-templates/>
+      </fo:page-sequence>
+      
+    </fo:root>
+  </xsl:template>
+
+  <xsl:template match="document">
+    <fo:title><xsl:value-of select="header/title"/></fo:title>
+    
+    <fo:static-content flow-name="first-footer">
+      <fo:block
+        border-top="0.25pt solid"
+        padding-before="6pt"
+        text-align="center">
+        <xsl:apply-templates select="footer"/>
+      </fo:block>
+      <fo:block
+        text-align="start">
+        Page <fo:page-number/>
+      </fo:block>
+      <xsl:call-template name="info"/>
+    </fo:static-content>
+
+    <fo:static-content flow-name="even-header">
+      <fo:block
+        text-align="end"
+        font-style="italic">
+        <xsl:value-of select="header/title"/>
+      </fo:block>
+    </fo:static-content>
+
+    <fo:static-content flow-name="even-footer">
+      <fo:block
+        border-top="0.25pt solid"
+        padding-before="6pt"
+        text-align="center">
+        <xsl:apply-templates select="footer"/>
+      </fo:block>
+      <fo:block
+        text-align="end">
+        Page <fo:page-number/>
+      </fo:block>
+      <xsl:call-template name="info"/>
+    </fo:static-content>
+
+    <fo:static-content flow-name="odd-header">
+      <fo:block
+        text-align="start"
+        font-style="italic">
+        <xsl:value-of select="header/title"/>
+      </fo:block>
+    </fo:static-content>
+    
+    <fo:static-content flow-name="odd-footer">
+      <fo:block
+        border-top="0.25pt solid"
+        padding-before="6pt"
+        text-align="center">
+        <xsl:apply-templates select="footer"/>
+      </fo:block>
+      <fo:block
+        text-align="start">
+        Page <fo:page-number/>
+      </fo:block>
+      <xsl:call-template name="info"/>
+    </fo:static-content>
+
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block
+        padding-before="24pt"
+        padding-after="24pt"
+        font-size="24pt"
+        font-weight="bold"
+        id="{generate-id()}">
+
+        <xsl:value-of select="header/title"/>
+      </fo:block>
+      
+      <fo:block
+        text-align="justify"
+        padding-before="18pt"
+        padding-after="18pt">
+        <xsl:apply-templates/>
+      </fo:block>
+    </fo:flow>
+  </xsl:template>
+  
+  <xsl:template match="abstract">
+    <fo:block
+      font-size="12pt"
+      text-align="center"
+      space-before="20pt"
+      space-after="25pt"
+      width="7.5in"
+      font-family="serif"
+      font-style="italic">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+  
+  <xsl:template match="notice">
+    <fo:block
+      font-size="10pt"
+      text-align="left"
+      space-before="20pt"
+      width="7.5in"
+      font-family="serif"
+      border-top="0.25pt solid"
+      border-bottom="0.25pt solid"
+      padding-before="6pt"
+      padding-after="6pt">
+      NOTICE: <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="anchor">
+    <fo:block id="[EMAIL PROTECTED]"/>
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="section">
+    
+    <xsl:param name="level">0</xsl:param>
+
+    <xsl:variable name="size">
+      <xsl:choose>
+        <xsl:when test="number($level) = 1">
+          <xsl:value-of select="14"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="12"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    
+    <fo:block
+      font-family="serif"
+      font-size="{$size}pt"
+      font-weight="bold"
+      space-before="12pt"
+      space-after="4pt">
+
+      <xsl:attribute name="id">
+        <xsl:choose>
+          <xsl:when test="normalize-space(@id)!=''">
+            <xsl:value-of select="@id"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="generate-id()"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:attribute>
+
+      <xsl:if test="$numbersections = 'true' and number($level) &lt; 
$numbering-max-depth+1">
+        <xsl:number format="1.1.1.1.1.1.1" count="section" level="multiple"/>
+        <xsl:text>. </xsl:text>
+      </xsl:if>
+
+      <!-- For sections 4  or more nestings deep, indent instead of number -->
+      <xsl:if test="number($level) &gt; $numbering-max-depth+1">
+        <xsl:attribute name="start-indent">
+          <xsl:value-of select="4+number($level)"/><xsl:text>pt</xsl:text>
+        </xsl:attribute>
+      </xsl:if>
+
+      <xsl:value-of select="title"/>
+    </fo:block>
+    <xsl:apply-templates>
+      <xsl:with-param name="level" select="number($level)+1"/>
+    </xsl:apply-templates>
+    
+  </xsl:template>
+  
+  <xsl:template match="title">
+    <!-- do nothing as titles are handled in their parent templates -->
+  </xsl:template>
+  
+  <xsl:template match="subtitle">
+    <xsl:param name="level">0</xsl:param>
+    <xsl:variable name="size" select="16-(number($level)*1.5)"/>
+
+    <fo:block
+      font-weight="bold"
+      font-size="{$size}pt">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="authors">
+    <fo:block
+      space-before="20pt"
+      font-weight="bold"
+      font-size="9pt">
+      by
+      <xsl:for-each select="person">
+        <xsl:value-of select="@name"/>
+        <xsl:if test="not(position() = last())">, </xsl:if>
+      </xsl:for-each>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="p">
+    <fo:block
+      space-before="4pt"
+      space-after="4pt"
+      font-family="serif">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+  
+
+  <xsl:template match="source">
+    <fo:block
+      font-family="monospace"
+      font-size="10pt"
+      background-color="#f0f0f0"
+      white-space-collapse="false"
+      linefeed-treatment="preserve"
+      white-space-treatment="preserve"
+      wrap-option="no-wrap"
+      text-align="start">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+  
+  
+  <xsl:template match="ol|ul">
+    <fo:list-block 
+      provisional-distance-between-starts="18pt"
+      provisional-label-separation="3pt"
+      text-align="start">
+      <xsl:apply-templates/>
+    </fo:list-block>
+  </xsl:template>
+  
+  <xsl:template match="ol/li">
+    <fo:list-item>
+      <fo:list-item-label 
+        end-indent="label-end()">
+        <fo:block>
+          <xsl:number format="1."/>
+        </fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body 
+        start-indent="body-start()">
+        <fo:block
+          font-family="serif">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+
+  <!-- Emulate browser handling of these invalid combinations that our DTD
+  unfortunately allows -->
+  <xsl:template match="ul/ul | ul/ol | ol/ul | ol/ol">
+    <fo:list-item>
+      <fo:list-item-label end-indent="label-end()">
+        <fo:block></fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body start-indent="body-start()">
+        <fo:block font-family="serif">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+
+  <xsl:template match="ul/li">
+    <fo:list-item>
+      <fo:list-item-label end-indent="label-end()">
+        <fo:block>&#x2022;</fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body start-indent="body-start()">
+        <fo:block
+          font-family="serif">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+  
+  <xsl:template match="dl">
+    <fo:list-block
+      provisional-distance-between-starts="18pt"
+      provisional-label-separation="3pt"
+      text-align="start">
+      <xsl:apply-templates/>
+    </fo:list-block>
+  </xsl:template>
+  
+  <xsl:template match="dt">
+    <fo:list-item>
+      <fo:list-item-label end-indent="label-end()">
+        <fo:block></fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body start-indent="body-start()">
+        <fo:block
+          font-weight="bold">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+  
+  <xsl:template match="dd">
+    <fo:list-item>
+      <fo:list-item-label end-indent="label-end()">
+        <fo:block></fo:block>
+      </fo:list-item-label>
+      <fo:list-item-body start-indent="body-start()">
+        <fo:block>
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:list-item-body>
+    </fo:list-item>
+  </xsl:template>
+  
+  <xsl:template match="strong">
+    <fo:inline font-weight="bold"><xsl:apply-templates/></fo:inline>
+  </xsl:template>
+  
+  <xsl:template match="em">
+    <fo:inline font-style="italic"><xsl:apply-templates/></fo:inline>
+  </xsl:template>
+
+  <xsl:template match="code">
+    <fo:inline font-family="monospace"><xsl:apply-templates/></fo:inline>
+  </xsl:template>
+
+  <xsl:template match="warning">
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-weight="bold"
+      font-size="10pt"
+      font-family="serif"
+      space-before="10pt"
+      border-before-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#D00000"
+      background-color="#D00000"
+      color="#ffffff">
+      <xsl:choose>
+        <xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
+        <xsl:otherwise>Note: </xsl:otherwise>
+      </xsl:choose><xsl:value-of select="title"/>       
+    </fo:block>
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-family="serif"
+      font-size="8pt"
+      border-after-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#D00000"
+      background-color="#fff0f0"
+      padding-start="3pt"
+      padding-end="3pt"
+      padding-before="3pt"
+      padding-after="3pt"
+      space-after="10pt">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="note">
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-weight="bold"
+      font-size="10pt"
+      color="#ffffff"
+      font-family="serif"
+      space-before="10pt"
+      border-before-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#A0C9F5"
+      background-color="#A0C9F5">
+      <xsl:choose>
+        <xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
+        <xsl:otherwise>Note: </xsl:otherwise>
+      </xsl:choose><xsl:value-of select="title"/>
+    </fo:block>
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-family="serif"
+      font-size="8pt"
+      space-after="10pt"
+      border-after-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#A0C9F5"
+      background-color="#F0F0FF"
+      padding-start="3pt"
+      padding-end="3pt"
+      padding-before="3pt"
+      padding-after="3pt">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="fixme">
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-weight="bold"
+      font-size="10pt"
+      color="#FFFFFF"
+      font-family="serif"
+      space-before="10pt"
+      border-before-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#C6C650"
+      background-color="#C6C650">
+      FIXME (<xsl:value-of select="@author"/>): <xsl:value-of select="title"/>
+    </fo:block>
+    <fo:block
+      margin-left="0.25in"
+      margin-right="0.25in"
+      font-family="serif"
+      font-size="8pt"
+      space-after="10pt"
+      border-after-style="solid"
+      border-start-style="solid"
+      border-end-style="solid"
+      border-color="#C6C650"
+      background-color="#FFF0F0"
+      padding-start="3pt"
+      padding-end="3pt"
+      padding-before="3pt"
+      padding-after="3pt">
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="link">
+    <xsl:choose>
+      <xsl:when test="starts-with(@href, '#')">
+    <fo:basic-link color="blue" text-decoration="underline" 
internal-destination="{substring(@href,2)}">
+      <xsl:apply-templates/>
+    </fo:basic-link>
+      </xsl:when>
+      <xsl:otherwise>
+    <fo:basic-link color="blue" text-decoration="underline" 
external-destination="[EMAIL PROTECTED]"><xsl:apply-templates/></fo:basic-link>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="figure|img">
+    <fo:block text-align="center">
+      <xsl:if test="normalize-space(@id)!=''">
+          <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
+      </xsl:if>
+
+      <!-- Make relative paths absolute -->
+      <xsl:variable name="imgpath">
+      <xsl:choose>
+        <xsl:when test="starts-with(string(@src), 'images/') or 
contains(string(@src), '../images')">
+          <xsl:value-of select="concat($ctxbasedir, 'resources/images/' , 
substring-after(@src, 'images'))"/>
+        </xsl:when>
+        <xsl:otherwise><xsl:value-of select="concat($ctxbasedir, $xmlbasedir, 
@src)"/></xsl:otherwise>
+      </xsl:choose>
+      </xsl:variable>
+      <fo:external-graphic src="{$imgpath}">
+        <xsl:if test="@height">
+          <xsl:attribute name="height"><xsl:value-of 
select="@height"/></xsl:attribute>
+        </xsl:if>
+        <xsl:if test="@width">
+          <xsl:attribute name="width"><xsl:value-of 
select="@width"/></xsl:attribute>
+        </xsl:if>
+      </fo:external-graphic>
+      <!-- alt text -->
+      <xsl:if test="normalize-space(@alt)!=''">
+          <fo:block><xsl:value-of select="@alt"/></fo:block>
+      </xsl:if>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="table">
+    <!-- FIXME: Apache FOP must have column widths specified at present,
+         this section can be removed when this limitation is removed from Fop. 
+         Unfortunately, this means that each column is a fixed width,
+         but at least the table displays! -->
+
+    <xsl:variable name="max-number-columns">
+      <xsl:for-each select="tr">
+        <xsl:sort select="count(td|th)" data-type="number" order="descending"/>
+        <xsl:if test="position() = 1">
+          <xsl:value-of select="count(td|th)"/>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+
+
+    <xsl:variable name="column-width">
+      <xsl:value-of select="6.25 div number($max-number-columns)"/>in
+    </xsl:variable>
+
+    <fo:table>
+                  
+      <fo:table-column>
+        <xsl:attribute name="column-width">
+          <xsl:value-of select="$column-width"/>
+        </xsl:attribute>
+
+        <xsl:attribute name="number-columns-repeated">
+          <xsl:value-of select="number($max-number-columns)"/>
+        </xsl:attribute>
+      </fo:table-column>
+
+      <!-- End of hack for Fop support (if removing this hack, remember 
+           you need the <fo:table> element) -->
+
+      <fo:table-body
+        font-size="10pt"
+        font-family="sans-serif">
+        <xsl:apply-templates select="tr"/>
+      </fo:table-body>
+    </fo:table>
+
+    <!-- FIXME: Apache Fop does not support the caption element yet.
+         This hack will display the table caption accordingly. -->
+    <xsl:if test="caption">
+      <fo:block
+        text-align="center"
+        font-weight="bold">
+        Table
+        <xsl:text> </xsl:text>
+        <xsl:number count="table" level="multiple"/>
+        <xsl:text>: </xsl:text>
+        <xsl:value-of select="caption"/>
+      </fo:block>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="tr">
+    <fo:table-row>
+      <xsl:apply-templates/>
+    </fo:table-row>
+  </xsl:template>
+
+  <xsl:template match="th">
+      <fo:table-cell
+        padding-before="4pt"
+        padding-after="4pt"
+        padding-start="4pt"
+        padding-end="4pt"
+        background-color="#A0C9F5">
+        <xsl:attribute name="number-columns-spanned">
+          <xsl:value-of select="@colspan"/>
+        </xsl:attribute>
+        <xsl:attribute name="number-rows-spanned">
+          <xsl:value-of select="@rowspan"/>
+        </xsl:attribute>
+        <fo:block
+          text-align="center">
+          <xsl:apply-templates/>
+        </fo:block>
+      </fo:table-cell>
+  </xsl:template>
+
+  <xsl:template match="td">
+    <fo:table-cell
+      padding-before="4pt"
+      padding-after="4pt"
+      padding-start="4pt"
+      padding-end="4pt"
+      border="1pt solid #A0C9F5">
+      <xsl:attribute name="number-columns-spanned">
+          <xsl:value-of select="@colspan"/>
+        </xsl:attribute>
+        <xsl:attribute name="number-rows-spanned">
+          <xsl:value-of select="@rowspan"/>
+        </xsl:attribute>
+      <fo:block>
+        <xsl:apply-templates/>
+      </fo:block>
+    </fo:table-cell>
+  </xsl:template>
+
+  <xsl:template match="br">
+    <fo:block></fo:block>
+  </xsl:template>
+
+  <xsl:template match="legal">
+    <fo:inline
+      font-size="8pt">
+      <xsl:apply-templates/>
+    </fo:inline>
+  </xsl:template>
+
+<!-- ====================================================================== -->
+<!-- Local Extensions section -->
+<!-- ====================================================================== -->
+
+ <xsl:template match="citation">
+   <fo:inline>
+     [<xsl:value-of select="@def"/>]
+   </fo:inline>
+ </xsl:template>
+
+
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/footerinfo.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/footerinfo.xsl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                version="1.0">
+
+<!--
+Named template to generate a short message in the PDF footer, from text in
+skinconf.xml.  By default, the message is a copyright statement.  If a credit
+with @role='pdf' is present, that is used instead.  Eg:
+
+<credit role="pdf">
+  <name>Generated by Apache FOP 1.0-dev</name>
+  <url>http://xml.apache.org/forrest/fop/dev/</url>
+</credit>
+-->
+
+  <xsl:param name="config-file" select="'../../../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+
+  <xsl:template name="info">
+    <xsl:variable name="pdfcredit" select="$config/credits/[EMAIL PROTECTED] = 
'pdf']"/>
+    <xsl:variable name="text">
+      <xsl:if test="$pdfcredit">
+        <xsl:value-of select="$pdfcredit/name"/>
+      </xsl:if>
+      <xsl:if test="not($pdfcredit)">
+        <xsl:text>Copyright &#169; </xsl:text><xsl:value-of 
select="$config/year"/>&#160;<xsl:value-of
+          select="$config/vendor"/><xsl:text> All rights reserved.</xsl:text>
+      </xsl:if>
+    </xsl:variable>
+    <xsl:variable name="url" select="$pdfcredit/url"/>
+
+    <fo:block-container font-style="italic" absolute-position="absolute"
+      left="0pt" top="0pt" right="6.25in" bottom="150pt"
+      font-size="10pt">
+      <xsl:if test="not($url)">
+        <fo:block text-align="center" color="lightgrey">
+          <xsl:value-of select="$text"/>
+        </fo:block>
+      </xsl:if>
+      <xsl:if test="$url">
+        <fo:block text-align="center">
+          <fo:basic-link color="lightgrey"
+            external-destination="{$url}">
+            <xsl:value-of select="$text"/>
+          </fo:basic-link>
+        </fo:block>
+        <fo:block text-align="center">
+          <fo:basic-link color="lightgrey"
+            external-destination="{$url}">
+            <xsl:value-of select="$url"/>
+          </fo:basic-link>
+        </fo:block>
+      </xsl:if>
+    </fo:block-container>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/pdfoutline.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/fo/pdfoutline.xsl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                xmlns:fox="http://xml.apache.org/fop/extensions";
+                version="1.0">
+
+<xsl:template match="document" mode="outline">
+      <xsl:apply-templates select="body/section" mode="outline"/>
+</xsl:template>
+
+<xsl:template match="section" mode="outline">
+  <fox:outline>
+    <xsl:attribute name="internal-destination">
+      <xsl:choose>
+        <xsl:when test="normalize-space(@id)!=''">
+          <xsl:value-of select="@id"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="generate-id()"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+    <fox:label>
+      <xsl:number format="1.1.1.1.1.1.1" count="section" level="multiple"/>
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="title"/>
+
+    </fox:label>
+    <xsl:apply-templates select="section" mode="outline"/>
+  </fox:outline>
+</xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/book2menu.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/book2menu.xsl  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+<!--
+book2menu.xsl generates the HTML menu. It outputs XML/HTML of the form:
+  <div class="menu">
+     ...
+  </div>
+which is then merged with other HTML by site2xhtml.xsl
+
+$Id: book2menu.xsl,v 1.11 2003/08/31 12:15:53 jefft Exp $
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- ================================================================ -->
+  <!-- These templates SHOULD be overridden                             -->
+  <!-- ================================================================ -->
+
+  <xsl:template name="selected">
+    <xsl:value-of select="@label"/>
+  </xsl:template>
+
+  <xsl:template name="unselected">
+    <a href="[EMAIL PROTECTED]">
+      <xsl:if test="@description">
+        <xsl:attribute name="title">
+          <xsl:value-of select="@description"/>
+        </xsl:attribute>
+      </xsl:if>
+      <xsl:value-of select="@label"/>
+    </a>
+  </xsl:template>
+
+  <xsl:template name="print-external">
+    <!-- Use apply-imports when overriding -->
+    <xsl:value-of select="@label"/>
+  </xsl:template>
+
+
+  <!-- ================================================================ -->
+  <!-- These templates CAN be overridden                                -->
+  <!-- ================================================================ -->
+
+  <!-- Eg, if tab href is 'index.html#foo', this will be called when index.html
+  is selected -->
+  <xsl:template name="selected-anchor">
+    <!-- By default, render as unselected so that it is clickable (takes user
+    to the anchor) -->
+    <xsl:call-template name="unselected"/>
+  </xsl:template>
+
+  <xsl:template name="unselected-anchor">
+    <xsl:call-template name="unselected"/>
+  </xsl:template>
+
+
+  <xsl:template match="book">
+    <xsl:apply-templates select="menu"/>
+  </xsl:template>
+
+
+  <xsl:template match="menu">
+    <div class="menu">
+      <xsl:call-template name="base-menu"/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="menu-item">
+    <!-- Use apply-imports when overriding -->
+
+    <xsl:variable name="href-nofrag">
+      <xsl:call-template name="path-nofrag">
+        <xsl:with-param name="path" select="@href"/>
+      </xsl:call-template>
+    </xsl:variable>
+
+    <xsl:variable name="node-path">
+      <xsl:call-template name="normalize">
+        <xsl:with-param name="path" select="concat($dirname, $href-nofrag)"/>
+      </xsl:call-template>
+    </xsl:variable>
+
+    <xsl:choose>
+      <!-- Compare with extensions stripped -->
+      <xsl:when test="$node-path = $path-nofrag">
+        <xsl:choose>
+          <xsl:when test="contains(@href, '#')">
+            <xsl:call-template name="selected-anchor"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:call-template name="selected"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:choose>
+          <xsl:when test="contains(@href, '#')">
+            <xsl:call-template name="unselected-anchor"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:call-template name="unselected"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- ================================================================ -->
+  <!-- These templates SHOULD NOT be overridden                         -->
+  <!-- ================================================================ -->
+
+
+  <xsl:param name="path"/>
+
+  <xsl:include href="pathutils.xsl"/>
+
+  <xsl:variable name="filename">
+    <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="path-nofrag">
+    <xsl:call-template name="path-nofrag">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="path-nofrag">
+    <xsl:call-template name="path-nofrag">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="dirname">
+    <xsl:call-template name="dirname">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:template match="external">
+    <li>
+      <xsl:choose>
+        <xsl:when test="starts-with(@href, $path-nofrag)">
+          <span class="externalSelected">
+            <xsl:call-template name="print-external"/>
+          </span>
+        </xsl:when>
+        <xsl:otherwise>
+          <a href="[EMAIL PROTECTED]" target="_blank"><xsl:value-of 
select="@label"/></a>
+        </xsl:otherwise>
+      </xsl:choose>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="[EMAIL PROTECTED]'hidden']"/>
+
+  <xsl:template match="[EMAIL PROTECTED]'hidden']"/>
+
+  <xsl:template name="base-menu">
+    <xsl:apply-templates/>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/document2html.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/document2html.xsl
  Thu Sep  9 10:04:36 2004
@@ -0,0 +1,450 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet contains the majority of templates for converting documentv11
+to HTML.  It renders XML as HTML in this form:
+
+  <div class="content">
+   ...
+  </div>
+
+..which site2xhtml.xsl then combines with HTML from the index (book2menu.xsl)
+and tabs (tab2menu.xsl) to generate the final HTML.
+
+Section handling
+  - <a name/> anchors are added if the id attribute is specified
+
+$Id: document2html.xsl,v 1.32.2.2 2003/09/27 12:14:08 jefft Exp $
+-->
+<xsl:stylesheet version="1.0" 
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- the skinconf file -->
+  <xsl:param name="config-file" select="'../../../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+  
+  <!-- If true, a PDF link for this page will not be generated -->
+  <xsl:variable name="disable-pdf-link" select="$config/disable-pdf-link"/>
+  <!-- If true, a "print" link for this page will not be generated -->
+  <xsl:variable name="disable-print-link" select="$config/disable-print-link"/>
+  <!-- If true, an XML link for this page will not be generated -->
+  <xsl:variable name="disable-xml-link" select="$config/disable-xml-link"/>  
+  <!-- Get the section depth to use when generating the minitoc (default is 2) 
-->
+  <xsl:variable name="config-max-depth" select="$config/toc/@level"/>
+  <!-- Whether to obfuscate email links -->
+  <xsl:variable name="obfuscate-mail-links" 
select="$config/obfuscate-mail-links"/>
+
+  <xsl:variable name="max-depth">
+    <xsl:choose>
+      <xsl:when test="string-length($config-max-depth)&gt;0">
+        <xsl:value-of select="$config-max-depth"/>
+      </xsl:when>
+      <xsl:otherwise>2</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+    
+  <xsl:param name="notoc"/>
+  <xsl:param name="path"/>
+  <!-- <xsl:include href="split.xsl"/> -->
+  <xsl:include href="dotdots.xsl"/>
+  <xsl:include href="pathutils.xsl"/>
+
+  <!-- Path to site root, eg '../../' -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="filename-noext">
+    <xsl:call-template name="filename-noext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+ 
+  <xsl:variable name="skin-img-dir" select="concat(string($root), 
'skin/images')"/>
+
+  <xsl:template match="document">
+    <div class="content">
+      <table summary="" class="title">
+        <tr> 
+          <td valign="middle"> 
+            <xsl:if test="normalize-space(header/title)!=''">
+              <h1>
+                <xsl:value-of select="header/title"/>
+              </h1>
+            </xsl:if>
+          </td>
+          <xsl:call-template name="printlink"/> 
+          <xsl:call-template name="pdflink"/>
+          <xsl:call-template name="xmllink"/>
+        </tr>
+      </table>
+      <xsl:if test="normalize-space(header/subtitle)!=''">
+        <h3>
+          <xsl:value-of select="header/subtitle"/>
+        </h3>
+      </xsl:if>
+      <xsl:apply-templates select="header/type"/>
+      <xsl:apply-templates select="header/notice"/>
+      <xsl:apply-templates select="header/abstract"/>
+      <xsl:apply-templates select="body"/>
+      <div class="attribution">
+        <xsl:apply-templates select="header/authors"/>
+        <xsl:if test="header/authors and header/version">
+          <xsl:text>; </xsl:text>
+        </xsl:if>
+        <xsl:apply-templates select="header/version"/>
+      </div>
+    </div>
+  </xsl:template>
+
+  <!-- Generates the "printer friendly version" link -->
+  <xsl:template name="printlink">
+    <xsl:if test="$disable-print-link = 'false'"> 
+<script type="text/javascript" language="Javascript">
+function printit() {  
+if (window.print) {
+    window.print() ;  
+} else {
+    var WebBrowser = '&lt;OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" 
CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">&lt;/OBJECT>';
+document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
+    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    
WebBrowser1.outerHTML = "";  
+}
+}
+</script>
+
+<script type="text/javascript" language="Javascript">
+var NS = (navigator.appName == "Netscape");
+var VERSION = parseInt(navigator.appVersion);
+if (VERSION > 3) {
+    document.write('<td align="center" width="40" nowrap="nowrap">');
+    document.write('  <a href="javascript:printit()" class="dida">');
+    document.write('    <img class="skin" src="{$skin-img-dir}/printer.gif" 
alt="Print this Page"/><br />');
+    document.write('  print</a>');
+    document.write('</td>');
+}
+</script>
+
+    </xsl:if>
+  </xsl:template>
+
+  <!-- Generates the PDF link -->
+  <xsl:template name="pdflink">
+    <xsl:if test="not($config/disable-pdf-link) or $disable-pdf-link = 
'false'"> 
+      <td align="center" width="40" nowrap="nowrap"><a 
href="{$filename-noext}.pdf" class="dida">
+          <img class="skin" src="{$skin-img-dir}/pdfdoc.gif" alt="PDF"/><br/>
+          PDF</a>
+      </td>
+    </xsl:if>
+  </xsl:template>
+  
+
+  <!-- Generates the XML link -->
+  <xsl:template name="xmllink">
+    <xsl:if test="$disable-xml-link = 'false'">
+      <td align="center" width="40" nowrap="nowrap"><a 
href="{$filename-noext}.xml" class="dida">
+          <img class="skin" src="{$skin-img-dir}/xmldoc.gif" alt="xml"/><br/>
+          xml</a>
+      </td>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="body">
+    <xsl:if test="$max-depth&gt;0 and not($notoc='true')" >
+      <xsl:call-template name="minitoc">
+        <xsl:with-param name="tocroot" select="."/>
+        <xsl:with-param name="depth">1</xsl:with-param>
+      </xsl:call-template>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:template>
+
+
+  <!-- Generate a <a name="..."> tag for an @id -->
+  <xsl:template match="@id">
+    <xsl:if test="normalize-space(.)!=''">
+      <a name="{.}"/>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="section">
+    <!-- count the number of section in the ancestor-or-self axis to compute
+         the title element name later on -->
+    <xsl:variable name="sectiondepth" 
select="count(ancestor-or-self::section)"/>
+    <a name="{generate-id()}"/>
+    <xsl:apply-templates select="@id"/>
+    <!-- generate a title element, level 1 -> h3, level 2 -> h4 and so on... 
-->
+    <xsl:element name="{concat('h',$sectiondepth + 2)}">
+      <xsl:value-of select="title"/>
+      <xsl:if test="$notoc='true' and $sectiondepth = 3">
+        <span style="float: right"><a href="[EMAIL PROTECTED]">^</a></span>
+      </xsl:if>
+    </xsl:element>
+
+    <!-- Indent FAQ entry text 15 pixels -->
+    <xsl:variable name="indent">
+      <xsl:choose>
+        <xsl:when test="$notoc='true' and $sectiondepth = 3">
+          <xsl:text>15</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>0</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <div style="margin-left: {$indent} ; border: 2px">
+          <xsl:apply-templates select="*[not(self::title)]"/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="note | warning | fixme">
+    <xsl:apply-templates select="@id"/>
+    <div class="frame {local-name()}">
+      <div class="label">
+        <xsl:choose>
+          <xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
+          <xsl:when test="local-name() = 'note'">Note</xsl:when>
+          <xsl:when test="local-name() = 'warning'">Warning</xsl:when>
+          <xsl:otherwise>Fixme (<xsl:value-of 
select="@author"/>)</xsl:otherwise>
+        </xsl:choose>
+      </div>
+      <div class="content">
+        <xsl:apply-templates/>
+      </div>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="notice">
+    <div class="notice">
+    <!-- FIXME: i18n Transformer here -->
+    <xsl:text>Notice: </xsl:text>
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="link">
+    <xsl:apply-templates select="@id"/>
+    <xsl:choose>
+      <xsl:when test="$obfuscate-mail-links='true' and starts-with(@href, 
'mailto:') and contains(@href, '@')">
+        <xsl:variable name="mailto-1" select="substring-before(@href,'@')"/>
+        <xsl:variable name="mailto-2" select="substring-after(@href,'@')"/>
+          <a href="{$mailto-1}.at.{$mailto-2}">
+            <xsl:apply-templates/>
+          </a>
+       </xsl:when>
+       <xsl:otherwise>
+          <a href="[EMAIL PROTECTED]">
+            <xsl:apply-templates/>
+          </a>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="jump">
+    <xsl:apply-templates select="@id"/>
+    <a href="[EMAIL PROTECTED]" target="_top">
+      <xsl:apply-templates/>
+    </a>
+  </xsl:template>
+
+  <xsl:template match="fork">
+    <xsl:apply-templates select="@id"/>
+    <a href="[EMAIL PROTECTED]" target="_blank">
+      <xsl:apply-templates/>
+    </a>
+  </xsl:template>
+
+  <xsl:template match="[EMAIL PROTECTED]:space='preserve']">
+    <xsl:apply-templates select="@id"/>
+    <div class="pre">
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="source">
+    <xsl:apply-templates select="@id"/>
+    <pre class="code">
+<!-- Temporarily removed long-line-splitter ... gives out-of-memory problems 
-->
+      <xsl:apply-templates/>
+<!--
+    <xsl:call-template name="format">
+    <xsl:with-param select="." name="txt" /> 
+     <xsl:with-param name="width">80</xsl:with-param> 
+     </xsl:call-template>
+-->
+    </pre>
+  </xsl:template>
+
+  <xsl:template match="anchor">
+    <a name="[EMAIL PROTECTED]"/>
+  </xsl:template>
+
+  <xsl:template match="icon">
+    <xsl:apply-templates select="@id"/>
+    <img src="[EMAIL PROTECTED]" alt="[EMAIL PROTECTED]" class="icon">
+      <xsl:if test="@height">
+        <xsl:attribute name="height"><xsl:value-of 
select="@height"/></xsl:attribute>
+      </xsl:if>
+      <xsl:if test="@width">
+        <xsl:attribute name="width"><xsl:value-of 
select="@width"/></xsl:attribute>
+      </xsl:if>
+    </img>
+  </xsl:template>
+
+  <xsl:template match="code">
+    <xsl:apply-templates select="@id"/>
+    <span class="codefrag"><xsl:value-of select="."/></span>
+  </xsl:template>
+
+  <xsl:template match="figure">
+    <xsl:apply-templates select="@id"/>
+    <div align="center">
+      <img src="[EMAIL PROTECTED]" alt="[EMAIL PROTECTED]" class="figure">
+        <xsl:if test="@height">
+          <xsl:attribute name="height"><xsl:value-of 
select="@height"/></xsl:attribute>
+        </xsl:if>
+        <xsl:if test="@width">
+          <xsl:attribute name="width"><xsl:value-of 
select="@width"/></xsl:attribute>
+        </xsl:if>
+      </img>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="table">
+    <xsl:apply-templates select="@id"/>
+    <table cellpadding="4" cellspacing="1" class="ForrestTable">
+      <xsl:if test="@cellspacing"><xsl:attribute 
name="cellspacing"><xsl:value-of 
select="@cellspacing"/></xsl:attribute></xsl:if>
+      <xsl:if test="@cellpadding"><xsl:attribute 
name="cellpadding"><xsl:value-of 
select="@cellpadding"/></xsl:attribute></xsl:if>
+      <xsl:if test="@border"><xsl:attribute name="border"><xsl:value-of 
select="@border"/></xsl:attribute></xsl:if>
+      <xsl:if test="@class"><xsl:attribute name="class"><xsl:value-of 
select="@class"/></xsl:attribute></xsl:if>
+      <xsl:if test="@bgcolor"><xsl:attribute name="bgcolor"><xsl:value-of 
select="@bgcolor"/></xsl:attribute></xsl:if>
+      <xsl:apply-templates/>
+    </table>
+  </xsl:template>
+
+  <xsl:template match="acronym/@title">
+    <xsl:attribute name="title">
+      <xsl:value-of select="normalize-space(.)"/>
+    </xsl:attribute>
+  </xsl:template>
+
+  <xsl:template name="minitoc">  
+    <xsl:param name="tocroot"/>
+    <xsl:param name="depth"/>     
+    <xsl:if test="count($tocroot/section) > 0">
+      <ul class="minitoc">
+        <xsl:for-each select="$tocroot/section">
+          <li>
+            <xsl:call-template name="toclink"/>
+            <xsl:if test="$depth&lt;$max-depth">
+              <xsl:call-template name="minitoc">
+                <xsl:with-param name="tocroot" select="."/>
+                <xsl:with-param name="depth" select="$depth + 1"/>
+              </xsl:call-template>
+            </xsl:if>
+          </li>
+        </xsl:for-each>
+      </ul>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="toclink">
+    <xsl:variable name="tocitem" select="normalize-space(title)"/>
+    <xsl:if test="string-length($tocitem)>0">
+      <a>
+        <xsl:attribute name="href">
+          <xsl:text>#</xsl:text>
+          <xsl:if test="@id">
+            <xsl:value-of select="@id"/>
+          </xsl:if>
+        </xsl:attribute>
+        <xsl:value-of select="$tocitem"/>
+      </a>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="header/authors">
+    <xsl:for-each select="person">
+      <xsl:choose>
+        <xsl:when test="position()=1">by&#160;</xsl:when>
+        <xsl:otherwise>,&#160;</xsl:otherwise>
+      </xsl:choose>
+      <xsl:value-of select="@name"/>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template match="version">
+    <span class="version">
+      <xsl:apply-templates select="@major"/>
+      <xsl:apply-templates select="@minor"/>
+      <xsl:apply-templates select="@fix"/>
+      <xsl:apply-templates select="@tag"/>
+      <xsl:choose>
+        <xsl:when test="starts-with(., '$Revision: ')">
+          version <xsl:value-of select="substring(., 12, string-length(.) 
-11-2)"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="."/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </span>
+  </xsl:template>
+  
+  <xsl:template match="@major">
+     v<xsl:value-of select="."/>
+  </xsl:template>
+  
+  <xsl:template match="@minor">
+     <xsl:value-of select="concat('.',.)"/>
+  </xsl:template>
+  
+  <xsl:template match="@fix">
+     <xsl:value-of select="concat('.',.)"/>
+  </xsl:template>
+  
+  <xsl:template match="@tag">
+     <xsl:value-of select="concat('-',.)"/>
+  </xsl:template>
+
+  <xsl:template match="type">
+    <p class="type">
+    <!-- FIXME: i18n Transformer here -->
+    <xsl:text>Type: </xsl:text>
+    <xsl:value-of select="."/>
+    </p>
+  </xsl:template>
+
+  <xsl:template match="abstract">
+    <p>
+      <xsl:apply-templates/>
+    </p>
+  </xsl:template>
+
+  <xsl:template name="email">
+    <a>
+    <xsl:attribute name="href">
+      <xsl:choose>
+      <xsl:when test="$obfuscate-mail-links='true'">
+        <xsl:variable name="user" select="substring-before(@email,'@')"/>
+       <xsl:variable name="host" select="substring-after(@email,'@')"/>
+       <xsl:value-of select="concat('mailto:',$user,'.at.',$host)"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="concat('mailto:',@email)"/>
+      </xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+       <xsl:value-of select="@name"/>
+    </a>
+  </xsl:template>
+
+  <xsl:template match="node()|@*" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+  
+</xsl:stylesheet>
+

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/dotdots.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/dotdots.xsl    
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+Contains the 'dotdots' template, which, given a path, will output a set of
+directory traversals to get back to the source directory. Handles both '/' and
+'\' directory separators.
+
+Examples:
+  Input                           Output 
+    index.html                    ""
+    dir/index.html                "../"
+    dir/subdir/index.html         "../../"
+    dir//index.html              "../"
+    dir/                          "../"
+    dir//                         "../"
+    \some\windows\path            "../../"
+    \some\windows\path\           "../../../"
+    \Program Files\mydir          "../"
+
+Cannot handle ..'s in the path, so don't expect 'dir/subdir/../index.html' to
+work.
+
[EMAIL PROTECTED]
+-->
+
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:template name="dotdots">
+    <xsl:param name="path"/>
+    <xsl:variable name="dirs" select="normalize-space(translate(concat($path, 
'x'), ' /\', '_  '))"/>
+    <!-- The above does the following:
+       o Adds a trailing character to the path. This prevents us having to deal
+         with the special case of ending with '/'
+       o Translates all directory separators to ' ', and normalize spaces,
+                cunningly eliminating duplicate '//'s. We also translate any 
real
+                spaces into _ to preserve them.
+    -->
+    <xsl:variable name="remainder" select="substring-after($dirs, ' ')"/>
+    <xsl:if test="$remainder">
+      <xsl:text>../</xsl:text>
+      <xsl:call-template name="dotdots">
+        <xsl:with-param name="path" select="translate($remainder, ' ', '/')"/>
+               <!-- Translate back to /'s because that's what the template 
expects. -->
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+<!--
+  Uncomment to test.
+  Usage: saxon dotdots.xsl dotdots.xsl path='/my/test/path'
+
+  <xsl:param name="path"/>
+  <xsl:template match="/">
+    <xsl:message>Path: <xsl:value-of select="$path"/></xsl:message>
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:template>
+ -->
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/pathutils.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/pathutils.xsl  
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,224 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<!--
+PathUtils.xsl
+
+A set of XSLT templates useful for parsing URI paths:
+
+dirname: return the directory part of a path
+filename: return the file part of a path
+ext: return the last extension of the filename in a path
+filename-noext: return the file part of a path without its last extension
+
[EMAIL PROTECTED] Jeff Turner <[EMAIL PROTECTED]>
+$Id: pathutils.xsl,v 1.4 2003/04/02 13:38:30 jefft Exp $
+-->
+
+<!-- Returns the directory part of a path.  Equivalent to Unix 'dirname'.
+Examples:
+'' -> ''
+'foo/index.html' -> 'foo/'
+-->
+<xsl:template name="dirname">
+  <xsl:param name="path" />
+  <xsl:if test="contains($path, '/')">
+    <xsl:value-of select="concat(substring-before($path, '/'), '/')" />
+    <xsl:call-template name="dirname">
+      <xsl:with-param name="path"
+        select="substring-after($path, '/')" />
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+<!-- Normalized (..'s eliminated) version of 'dirname' -->
+<xsl:template name="dirname-nz">
+  <xsl:param name="path" />
+  <xsl:call-template name="normalize">
+    <xsl:with-param name="path">
+      <xsl:call-template name="dirname">
+        <xsl:with-param name="path" select="$path" />
+      </xsl:call-template>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+
+<!-- Returns the filename part of a path.  Equivalent to Unix 'basename'
+Examples:
+'index.html'  ->  'index.html' 
+'foo/bar/'  ->  '' 
+'foo/bar/index.html'  ->  'index.html' 
+-->
+<xsl:template name="filename">
+  <xsl:param name="path"/>
+  <xsl:choose>
+    <xsl:when test="contains($path, '/')">
+      <xsl:call-template name="filename">
+        <xsl:with-param name="path" select="substring-after($path, '/')"/>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:value-of select="$path"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- Returns the last extension of a filename in a path.
+Examples:
+'index.html'  ->  '.html' 
+'index.dtdx.html'  ->  '.html' 
+'foo/bar/'  ->  '' 
+'foo/bar/index.html'  ->  '.html' 
+'foo/bar/index'  ->  '' 
+-->
+<xsl:template name="ext">
+  <xsl:param name="path"/>
+  <xsl:param name="subflag"/> <!-- Outermost call? -->
+  <xsl:choose>
+    <xsl:when test="contains($path, '.')">
+      <xsl:call-template name="ext">
+        <xsl:with-param name="path" select="substring-after($path, '.')"/>
+        <xsl:with-param name="subflag" select="'sub'"/>
+      </xsl:call-template>
+    </xsl:when>
+    <!-- Handle extension-less filenames by returning '' -->
+    <xsl:when test="not($subflag) and not(contains($path, '.'))">
+      <xsl:text/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:value-of select="concat('.', $path)"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- Returns a filename of a path stripped of its last extension.
+Examples:
+'foo/bar/index.dtdx.html' -> 'index.dtdx'
+-->
+<xsl:template name="filename-noext">
+  <xsl:param name="path"/>
+  <xsl:variable name="filename">
+    <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:variable name="ext">
+    <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$filename"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:value-of select="substring($filename, 1, string-length($filename) - 
string-length($ext))"/>
+</xsl:template>
+
+<!-- Returns a path with the filename stripped of its last extension.
+Examples:
+'foo/bar/index.dtdx.html' -> 'foo/bar/index.dtdx'
+-->
+<xsl:template name="path-noext">
+  <xsl:param name="path"/>
+  <xsl:variable name="ext">
+    <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:value-of select="substring($path, 1, string-length($path) - 
string-length($ext))"/>
+</xsl:template>
+
+<!-- Normalized (..'s eliminated) version of 'path-noext' -->
+<xsl:template name="path-noext-nz">
+  <xsl:param name="path" />
+  <xsl:call-template name="normalize">
+    <xsl:with-param name="path">
+      <xsl:call-template name="path-noext">
+        <xsl:with-param name="path" select="$path" />
+      </xsl:call-template>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+<!-- Returns a path with any fragment identifier ('#...') stripped off
+Examples:
+'foo/bar/index.dtdx.html#blah' -> 'foo/bar/index.dtdx.html'
+-->
+<xsl:template name="path-nofrag">
+  <xsl:param name="path"/>
+  <xsl:if test="not(contains($path, '#'))">
+    <xsl:value-of select="$path"/>
+  </xsl:if>
+  <xsl:if test="contains($path, '#')">
+    <xsl:value-of select="substring-before($path, '#')"/>
+  </xsl:if>
+</xsl:template>
+
+
+
+<!-- Normalizes a path, converting '/' to '\' and eliminating ..'s
+Examples:
+'foo/bar/../baz/index.html' -> foo/baz/index.html'
+-->
+<xsl:template name="normalize">
+  <xsl:param name="path"/>
+  <xsl:variable name="path-" select="translate($path, '\', '/')"/>
+  <xsl:choose>
+    <xsl:when test="contains($path-, '/../')">
+
+      <xsl:variable name="pa" select="substring-before($path-, '/../')"/>
+      <xsl:variable name="th" select="substring-after($path-, '/../')"/>
+      <xsl:variable name="pa-">
+        <xsl:call-template name="dirname">
+          <xsl:with-param name="path" select="$pa"/>
+        </xsl:call-template>
+      </xsl:variable>
+      <xsl:variable name="pa-th" select="concat($pa-, $th)"/>
+      <xsl:call-template name="normalize">
+        <xsl:with-param name="path" select="$pa-th"/>
+      </xsl:call-template>
+    </xsl:when>
+
+    <xsl:otherwise>
+      <xsl:value-of select="$path-"/>
+    </xsl:otherwise>
+  </xsl:choose>
+
+</xsl:template>
+
+<!--
+Uncomment this to test.
+Usage: saxon pathutils.xsl pathutils.xsl path=foo/bar
+
+<xsl:param name="path" select="'/foo/bar/../baz/index.html'"/>
+<xsl:template match="/">
+  <xsl:message>
+    path           = <xsl:value-of select="$path"/>
+    normalize      = <xsl:call-template name="normalize">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    dirname        = <xsl:call-template name="dirname">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    dirname-nz     = <xsl:call-template name="dirname-nz">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    filename       = <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    ext            = <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    filename-noext = <xsl:call-template name="filename-noext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-noext     = <xsl:call-template name="path-noext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-noext-nz  = <xsl:call-template name="path-noext-nz">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-nofrag    = <xsl:call-template name="path-nofrag">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+ 
+  </xsl:message>
+</xsl:template>
+-->
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/renderlogo.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/renderlogo.xsl 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+A simple callable template that renders a logo for an entity. The logo will 
+be a hyperlink and may include an image (with width and height if specified)
+or else it will just include the specified text.
+
+Note that text and image are mandatory parts of the template.
+-->
+
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:template name="renderlogo">
+    <xsl:param name="name"/>
+    <xsl:param name="url"/>
+    <xsl:param name="logo"/>
+    <xsl:param name="width"/>
+    <xsl:param name="height"/>
+    <xsl:param name="root"/>
+    <xsl:param name="description"/>
+    <a href="{$url}">
+      <xsl:choose>
+        <xsl:when test="$logo and not($logo = '')">
+          <img alt="{$name}" class="logoImage" border="0">
+            <xsl:attribute name="src">
+             <xsl:if test="not(starts-with($logo, 'http://'))"><xsl:value-of 
select="$root"/></xsl:if>
+              <xsl:value-of select="$logo"/>
+            </xsl:attribute>
+            <xsl:if test="$width">
+              <xsl:attribute name="width"><xsl:value-of 
select="$width"/></xsl:attribute>
+            </xsl:if>
+            <xsl:if test="$height">
+              <xsl:attribute name="height"><xsl:value-of 
select="$height"/></xsl:attribute>
+            </xsl:if>
+            <xsl:if test="$description">
+              <xsl:attribute name="title"><xsl:value-of 
select="$description"/></xsl:attribute>
+            </xsl:if>
+         </img>
+        </xsl:when>
+        <xsl:otherwise><xsl:value-of select="$name"/></xsl:otherwise>
+      </xsl:choose>
+    </a>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/site2xhtml.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/site2xhtml.xsl 
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<!--
+site2xhtml.xsl is the final stage in HTML page production.  It merges HTML from
+document2html.xsl, tab2menu.xsl and book2menu.xsl, and adds the site header,
+footer, searchbar, css etc.  As input, it takes XML of the form:
+
+<site>
+  <div class="menu">
+    ...
+  </div>
+  <div class="tab">
+    ...
+  </div>
+  <div class="content">
+    ...
+  </div>
+</site>
+
+$Id: site2xhtml.xsl,v 1.8 2003/09/02 13:13:21 cheche Exp $
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- Default skinconf.xml in the skins/ directory -->
+  <xsl:param name="config-file" select="'../../../../skinconf.xml'"/>
+  <xsl:variable name="config" select="document($config-file)/skinconfig"/>
+  <xsl:param name="path"/>
+
+  <xsl:include href="dotdots.xsl"/>
+  <xsl:include href="pathutils.xsl"/>
+  <xsl:include href="renderlogo.xsl"/>
+
+  <!-- Path (..'s) to the root directory -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <!-- Source filename (eg 'foo.xml') of current page -->
+  <xsl:variable name="filename">
+    <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="skin-img-dir" select="concat(string($root), 
'skin/images')"/>
+  <xsl:variable name="spacer" select="concat($root, 
'skin/images/spacer.gif')"/>
+
+  <xsl:template match="site">
+    <html>
+      <head>
+        <title><xsl:value-of select="[EMAIL 
PROTECTED]'content']/table/tr/td/h1"/></title>
+      </head>
+      <body>
+        <xsl:if test="$config/group-url">
+          <xsl:call-template name="renderlogo">
+            <xsl:with-param name="name" select="$config/group-name"/>
+            <xsl:with-param name="url" select="$config/group-url"/>
+            <xsl:with-param name="logo" select="$config/group-logo"/>
+            <xsl:with-param name="root" select="$root"/>
+            <xsl:with-param name="description" 
select="$config/group-description"/>
+          </xsl:call-template>
+        </xsl:if>
+        <xsl:call-template name="renderlogo">
+          <xsl:with-param name="name" select="$config/project-name"/>
+          <xsl:with-param name="url" select="$config/project-url"/>
+          <xsl:with-param name="logo" select="$config/project-logo"/>
+          <xsl:with-param name="root" select="$root"/>
+          <xsl:with-param name="description" 
select="$config/project-description"/>
+        </xsl:call-template>
+        <xsl:comment>================= start Tabs 
==================</xsl:comment>
+        <xsl:apply-templates select="[EMAIL PROTECTED]'tab']"/>
+        <xsl:comment>================= end Tabs 
==================</xsl:comment>
+        <xsl:comment>================= start Menu items 
==================</xsl:comment>
+        <xsl:apply-templates select="[EMAIL PROTECTED]'menu']"/>
+        <xsl:comment>================= end Menu items 
==================</xsl:comment>
+        <xsl:comment>================= start 
Content==================</xsl:comment>
+        <xsl:apply-templates select="[EMAIL PROTECTED]'content']"/>
+        <xsl:comment>================= end 
Content==================</xsl:comment>
+
+        <xsl:comment>================= start Footer 
==================</xsl:comment>
+        Copyright &#169; <xsl:value-of 
select="$config/year"/>&#160;<xsl:value-of
+          select="$config/vendor"/> All rights reserved.
+        <script language="JavaScript" type="text/javascript"><![CDATA[<!--
+          document.write(" - "+"Last Published: " + document.lastModified);
+          //  -->]]></script>
+        <xsl:if test="$config/host-logo and not($config/host-logo = '')">
+          <a href="{$config/host-url}">
+            <xsl:call-template name="renderlogo">
+              <xsl:with-param name="name" select="$config/host-name"/>
+              <xsl:with-param name="url" select="$config/host-url"/>
+              <xsl:with-param name="logo" select="$config/host-logo"/>
+              <xsl:with-param name="root" select="$root"/>
+            </xsl:call-template>
+          </a>
+        </xsl:if>
+        <xsl:if test="$filename = 'index.html' and $config/credits">
+          <xsl:for-each select="$config/credits/credit[not(@role='pdf')]">
+            <xsl:call-template name="renderlogo">
+              <xsl:with-param name="name" select="name"/>
+              <xsl:with-param name="url" select="url"/>
+              <xsl:with-param name="logo" select="image"/>
+              <xsl:with-param name="root" select="$root"/>
+              <xsl:with-param name="width" select="width"/>
+              <xsl:with-param name="height" select="height"/>
+            </xsl:call-template>
+          </xsl:for-each>
+        </xsl:if>
+        <a href="http://validator.w3.org/check/referer";><img class="skin" 
border="0"
+            src="http://www.w3.org/Icons/valid-html401";
+            alt="Valid HTML 4.01!" height="31" width="88"/></a>
+      </body>
+    </html>
+  </xsl:template>
+
+  <!-- Add links to any standards-compliance logos -->
+  <xsl:template name="compliancy-logos">
+    <xsl:if test="$config/disable-compliance-links = 'false'">
+      <a href="http://validator.w3.org/check/referer";><img class="logoImage" 
+          src="{$skin-img-dir}/valid-html401.png"
+          alt="Valid HTML 4.01!" height="31" width="88"/></a>
+          
+      <a href="http://jigsaw.w3.org/css-validator/";><img class="logoImage" 
+          src="{$skin-img-dir}/vcss.png" 
+          alt="Valid CSS!" height="31" width="88"/></a>
+    </xsl:if>
+  </xsl:template>
+
+
+  <xsl:template match="node()|@*" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/split.xsl
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/split.xsl  
Thu Sep  9 10:04:36 2004
@@ -0,0 +1,141 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
+
+<!--
+ This stylesheet was taken from the XSLT FAQ http://www.dpawson.co.uk/xsl/
+ 
+ Comments and adaption to be used without normalize-space()
+  by Nicola Ken Barozzi [EMAIL PROTECTED]
+--> 
+
+<!--
+  Input:
+
+<doc>
+
+<para>
+ 123456 2345 343434 545454 43434 343 
+ 12345 343434 545454 43434 343 
+ 32345645 343434 545454 43434 343 
+ 3422222225 343434 545454 43434 343 
+ llllllllllllllllllllllooooooooooooooonnnnnnnnnnnggggggggg
+ 345 343434 545454 43434 343 
+</para>
+
+</doc>
+
+Output:
+
+<HTML>
+<BODY>
+<PRE>123456 2345 343434 545454 
+43434 343 12345 343434 545454 
+43434 343 32345645 343434 
+545454 43434 343 3422222225 
+343434 545454 43434 343 
+lllllllllllllllllllllloooooooo
+ooooooonnnnnnnnnnnggggggggg 
+345 343434 545454 43434 
+343
+</PRE>
+</BODY>
+</HTML>
+
+Fragment ised: 
+
+ <xsl:template match="/doc">
+ <HTML><BODY><PRE>
+    <xsl:call-template name="format">
+    <xsl:with-param select="normalize-space(para)" name="txt" /> 
+     <xsl:with-param name="width">30</xsl:with-param> 
+     </xsl:call-template>
+  </PRE></BODY></HTML>
+  </xsl:template>
+
+
+-->
+
+ <xsl:template match="/body">
+   <body>
+    <xsl:call-template name="format">
+    <xsl:with-param select="source" name="txt" /> 
+     <xsl:with-param name="width">40</xsl:with-param> 
+     </xsl:call-template>
+  </body>
+  </xsl:template>
+  
+  <xsl:template name="format">
+    <xsl:param name="txt" /> 
+    <xsl:param name="width" /> 
+
+    <!-- if there is still text left -->
+    <xsl:if test="$txt">
+    
+    <xsl:variable name = "pretxt" select = "substring($txt,0, $width)" />
+    
+    <xsl:choose>
+      <xsl:when test="contains($pretxt, '&#xA;')">
+        <xsl:value-of select="substring-before($pretxt, '&#xA;')"/>
+        <xsl:text>&#xA;</xsl:text> 
+        <xsl:call-template name="format">
+          <xsl:with-param name="txt" select="substring-after($txt,'&#xA;')"/>
+          <xsl:with-param select="$width" name="width" />           
+        </xsl:call-template>
+      </xsl:when>
+      
+      <xsl:otherwise>
+      <!-- get the width at which to break-->
+      <xsl:variable name="real-width">
+        <xsl:call-template name="tune-width">
+          <xsl:with-param select="$txt" name="txt" /> 
+          <xsl:with-param select="$width" name="width" /> 
+          <xsl:with-param select="$width" name="def" /> 
+        </xsl:call-template>
+      </xsl:variable>
+
+      <!-- output the first part of the broken string -->
+      <xsl:value-of select="substring($txt, 1, $real-width)" /> 
+
+      <!-- output a newline -->
+      <xsl:text>&#xA;</xsl:text> 
+
+      <!-- call itself with the remaining part of the text -->
+      <xsl:call-template name="format">
+       <xsl:with-param select="substring($txt,$real-width + 1)" name="txt" /> 
+       <xsl:with-param select="$width" name="width" /> 
+      </xsl:call-template>
+      </xsl:otherwise>
+      </xsl:choose>
+    </xsl:if>
+  </xsl:template>
+  
+   
+  <!-- used by template "format", it calculates the width at the given def 
+       
+       It starts at def length and comes back till it finds a space -->
+  <xsl:template name="tune-width">
+    <xsl:param name="txt" /> 
+    <xsl:param name="width" /> 
+    <xsl:param name="def" /> 
+
+    <xsl:choose>
+      <xsl:when test="$width = 0">
+       <xsl:value-of select="$def" /> 
+      </xsl:when>
+                 
+      <xsl:when test="substring($txt, $width, 1 ) = ' '">
+          <xsl:value-of select="$width" /> 
+       </xsl:when>
+       
+       <xsl:otherwise>
+         <!-- otherwise need to tune again, trying with $width - 1 -->
+         <xsl:call-template name="tune-width">
+           <xsl:with-param select="$width - 1" name="width" /> 
+           <xsl:with-param select="$txt" name="txt" /> 
+           <xsl:with-param select="$def" name="def" /> 
+         </xsl:call-template>
+       </xsl:otherwise>
+     </xsl:choose>
+
+  </xsl:template>
+
+  </xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/tab2menu.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/tab2menu.xsl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,159 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet generates 'tabs' at the top left of the screen.  Tabs are
+visual indicators that a certain subsection of the URI space is being browsed.
+For example, if we had tabs with paths:
+
+Tab1:  ''
+Tab2:  'community'
+Tab3:  'community/howto'
+Tab4:  'community/howto/xmlform/index.html'
+
+Then if the current path was 'community/howto/foo', Tab3 would be highlighted.
+The rule is: the tab with the longest path that forms a prefix of the current
+path is enabled.
+
+The output of this stylesheet is HTML of the form:
+    <div class="tab">
+      ...
+    </div>
+
+which is then merged by site2xhtml.xsl
+
+$Id: tab2menu.xsl,v 1.9 2003/09/02 22:35:36 cheche Exp $
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <!-- ================================================================ -->
+  <!-- These templates SHOULD be overridden                             -->
+  <!-- ================================================================ -->
+
+  <!-- Called before first tag -->
+  <xsl:template name="pre-separator">
+  </xsl:template>
+
+  <!-- Called after last tag -->
+  <xsl:template name="post-separator">
+  </xsl:template>
+
+  <!-- Called between tags -->
+  <xsl:template name="separator">
+    <xsl:text> | </xsl:text>
+  </xsl:template>
+
+  <!--
+  Note: sub-stylesheets can't do apply-imports here, because it would choose
+  the 'tags' template and infinitely recurse. Hence call-template used instead.
+  -->
+
+  <!-- Display a selected tab node -->
+  <xsl:template name="selected">
+    <xsl:call-template name="base-selected"/>
+  </xsl:template>
+
+  <!-- Display an unselected tab node -->
+  <xsl:template name="not-selected">
+    <xsl:call-template name="base-not-selected"/>
+  </xsl:template>
+
+
+  <!-- ================================================================ -->
+  <!-- These templates CAN be overridden                             -->
+  <!-- ================================================================ -->
+
+  <xsl:template match="tabs">
+    <div class="tab">
+      <xsl:call-template name="base-tabs"/>
+    </div>
+  </xsl:template>
+
+
+  <!-- ================================================================ -->
+  <!-- These templates SHOULD NOT be overridden                         -->
+  <!-- ================================================================ -->
+
+  <xsl:param name="path"/>
+
+  <xsl:include href="dotdots.xsl"/>
+  <xsl:include href="tabutils.xsl"/>
+
+  <!-- NOTE: Xalan has a bug (race condition?) where sometimes $root is only 
half-evaluated -->
+  <xsl:variable name="root">
+    <xsl:call-template name="dotdots">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="skin-img-dir" select="concat(string($root), 
'skin/images')"/>
+
+  <!--
+    The longest path of any tab, whose path is a subset of the current URL.  
Ie,
+    the path of the 'current' tab.
+  -->
+  <xsl:variable name="longest-dir">
+    <xsl:call-template name="longest-dir">
+      <xsl:with-param name="tabfile" select="/"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="matching-id">
+    <xsl:call-template name="matching-id">
+      <xsl:with-param name="tabfile" select="/"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+
+  <!-- Called from tabs, after it has written the outer 'div class=tabs' and
+  any other HTML -->
+  <xsl:template name="base-tabs">
+    <xsl:call-template name="pre-separator"/>
+    <xsl:for-each select="//tab">
+      <xsl:if test="position()!=1"><xsl:call-template 
name="separator"/></xsl:if>
+      <xsl:apply-templates select="."/>
+    </xsl:for-each>
+    <xsl:call-template name="post-separator"/>
+  </xsl:template>
+
+
+  <xsl:template match="tab">
+    <xsl:choose>
+      <xsl:when test="@id and @id = $matching-id">
+        <xsl:call-template name="selected"/>
+      </xsl:when>
+      <xsl:when test="not(@id) and @dir = $longest-dir or @href = 
$longest-dir">
+        <xsl:call-template name="selected"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="not-selected"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Called from 'selected' -->
+  <xsl:template name="base-selected">
+    <a class="base-selected">
+      <xsl:attribute name="href">
+        <xsl:call-template name="calculate-tab-href">
+          <xsl:with-param name="tab" select="."/>
+          <xsl:with-param name="path" select="$path"/>
+        </xsl:call-template>
+      </xsl:attribute>
+        <xsl:value-of select="@label"/>
+    </a>
+  </xsl:template>
+
+  <!-- Called from 'not-selected' -->
+  <xsl:template name="base-not-selected">
+    <a class="base-not-selected">
+      <xsl:attribute name="href">
+        <xsl:call-template name="calculate-tab-href">
+          <xsl:with-param name="tab" select="."/>
+          <xsl:with-param name="path" select="$path"/>
+        </xsl:call-template>
+      </xsl:attribute>
+        <xsl:value-of select="@label"/>
+    </a>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/tabutils.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/common/xslt/html/tabutils.xsl   
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+
+<!--
+Some callable templates useful when dealing with tab paths.  Mostly used in
+tab2menu.xsl
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:param name="site-file" select="'cocoon://abs-menulinks'"/>
+  <xsl:variable name="site" select="document($site-file)"/>
+ 
+  <!-- Given the current path and a tabs.xml entry, returns a relative path to
+  the specified tab's URL.  When rendering a set of tabs, this template will be
+  called once per tab.
+  -->
+  <xsl:template name="calculate-tab-href">
+
+    <xsl:param name="dir_index" select="'index.html'"/>
+
+    <xsl:param name="tab"/> <!-- current 'tab' node -->
+    <xsl:param name="path" select="$path"/>
+
+    <xsl:if test="starts-with($tab/@href, 'http')">  <!-- Absolute URL -->
+      <xsl:value-of select="$tab/@href"/>
+    </xsl:if>
+    <xsl:if test="not(starts-with($tab/@href, 'http'))">  <!-- Root-relative 
path -->
+      <xsl:variable name="backpath">
+        <xsl:call-template name="dotdots">
+          <xsl:with-param name="path" select="$path"/>
+        </xsl:call-template>
+        <xsl:text>/</xsl:text>
+        <xsl:value-of select="$tab/@dir | $tab/@href"/>
+        <!-- If we obviously have a directory, add /index.html -->
+        <xsl:if test="$tab/@dir or substring($tab/@href, 
string-length($tab/@href),
+          string-length($tab/@href)) = '/'">
+          <xsl:text>/</xsl:text>
+          <xsl:if test="$tab/@indexfile">
+            <xsl:value-of select="$tab/@indexfile"/>
+          </xsl:if>
+          <xsl:if test="not(@indexfile)">
+            <xsl:value-of select="$dir_index"/>
+          </xsl:if>
+        </xsl:if>
+      </xsl:variable>
+
+      <xsl:value-of
+        select="translate(normalize-space(translate($backpath, ' /', '/ ')), ' 
/', '/ ')"/>
+      <!-- Link to backpath, normalizing slashes -->
+    </xsl:if>
+  </xsl:template>
+
+  <!--
+    The id of any tab, whose path is a subset of the current URL.  Ie,
+    the path of the 'current' tab.
+  -->
+  <xsl:template name="matching-id" 
xmlns:l="http://apache.org/forrest/linkmap/1.0";>
+    <xsl:value-of select="$site//*[starts-with(@href, $path)]/@tab"/>
+  </xsl:template>
+ 
+  <!--
+    The longest path of any tab, whose path is a subset of the current URL.  
Ie,
+    the path of the 'current' tab.
+  -->
+  <xsl:template name="longest-dir">
+    <xsl:param name="tabfile"/>
+    <xsl:for-each select="$tabfile/tabs/tab[starts-with($path, @dir|@href)]">
+      <xsl:sort select="string-length(@dir|@href)"
+        data-type="number" order="descending"/>
+      <xsl:if test="position()=1">
+        <xsl:value-of select="@dir|@href"/>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+
+</xsl:stylesheet>
+

Added: incubator/beehive/trunk/site/build/webapp/skins/forrest-site/css/page.css
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/skins/forrest-site/css/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; }
+
+
[EMAIL PROTECTED] print {
+   .menu {
+     display: none;
+   }
+}

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/chapter.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/chapter_open.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/current.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/doc.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/favicon.ico
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/label.gif
==============================================================================
Binary file. No diff available.

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

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

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/page.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/pdfdoc.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/printer.gif
==============================================================================
Binary file. No diff available.

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

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

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/singlepage.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/spacer.gif
==============================================================================
Binary file. No diff available.

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

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

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

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

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

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/vcss.png
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/images/xmldoc.gif
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/scripts/breadcrumbs-optimized.js
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/scripts/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/webapp/skins/forrest-site/scripts/breadcrumbs.js
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/scripts/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
+    [EMAIL PROTECTED]
+
+ 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>
+ *
+ [EMAIL PROTECTED]     <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> (main 
author)
+ [EMAIL PROTECTED]     <a href="mailto:[EMAIL PROTECTED]">Nicola Ken 
Barozzi</a> (integration in skin)
+ [EMAIL PROTECTED]    July 12, 2002
+ [EMAIL PROTECTED]    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/webapp/skins/forrest-site/xslt/fo/document2fo.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/fo/document2fo.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                version="1.0">
+
+<xsl:import href="../../../common/xslt/fo/document2fo.xsl"/>
+
+</xsl:stylesheet>
+
+

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/book2menu.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/book2menu.xsl
        Thu Sep  9 10:04:36 2004
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!--
+book2menu.xsl generates the HTML menu.  See the imported book2menu.xsl for
+details.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:import href="../../../common/xslt/html/book2menu.xsl"/>
+
+  <xsl:template match="book">
+    <div class="menu">
+      <ul>
+        <xsl:apply-templates select="menu"/>
+      </ul>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="menu">
+    <li>
+      <font color="#CFDCED"><xsl:value-of select="@label"/></font>
+      <ul>
+        <xsl:apply-templates/>
+      </ul>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="[EMAIL PROTECTED]'hidden']"/>
+
+  <xsl:template match="menu-item">
+    <li>
+      <xsl:apply-imports/>
+    </li>
+  </xsl:template>
+
+  <xsl:template name="selected">
+    <span class="sel">
+      <font color="#ffcc00">
+        <xsl:value-of select="@label"/>
+      </font>
+    </span>
+  </xsl:template>
+
+  <xsl:template name="print-external">
+    <font color="#ffcc00">
+      <xsl:apply-imports/>
+    </font>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/document2html.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/document2html.xsl
    Thu Sep  9 10:04:36 2004
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet contains templates for converting documentv11 to HTML.  See the
+imported document2html.xsl for details.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:import href="../../../common/xslt/html/document2html.xsl"/>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/site2xhtml.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/site2xhtml.xsl
       Thu Sep  9 10:04:36 2004
@@ -0,0 +1,316 @@
+<?xml version="1.0"?>
+<!--
+site2xhtml.xsl is the final stage in HTML page production.  It merges HTML from
+document2html.xsl, tab2menu.xsl and book2menu.xsl, and adds the site header,
+footer, searchbar, css etc.  As input, it takes XML of the form:
+
+<site>
+  <div class="menu">
+    ...
+  </div>
+  <div class="tab">
+    ...
+  </div>
+  <div class="content">
+    ...
+  </div>
+</site>
+
+$Id: site2xhtml.xsl,v 1.22.2.1 2003/09/21 11:40:30 jefft Exp $
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:import href="../../../common/xslt/html/site2xhtml.xsl"/>
+ 
+  <xsl:variable name="header-color" select="'#294563'"/>
+  <xsl:variable name="menu-border" select="'#4C6C8F'"/>
+  <xsl:variable name="background-bars" select="'#CFDCED'"/>
+
+  <xsl:template match="site">
+    <html>
+      <head>
+        <title><xsl:value-of select="[EMAIL 
PROTECTED]'content']/table/tr/td/h1"/></title>
+        <link rel="stylesheet" href="{$root}skin/page.css" type="text/css"/>
+      </head>
+      <body bgcolor="#FFFFFF" text="#000000">
+    <xsl:comment>================= start Navigation Path 
==================</xsl:comment>
+    <table cellspacing="0" cellpadding="0" border="0" width="100%" 
summary="navigation path">
+      <tr>
+        <td height="20" bgcolor="{$background-bars}" valign="middle" 
nowrap="nowrap">
+          <img class="spacer" src="{$spacer}" alt="" width="5" height="1" />
+          <xsl:comment>===== breadcrumb trail (javascript-generated) 
====</xsl:comment>
+          <font face="Arial, Helvetica, Sans-serif" size="2">
+              <script type="text/javascript" language="JavaScript" 
src="{$root}skin/breadcrumbs.js"/>
+          </font>
+        </td>
+      </tr>
+      <tr>
+        <td height="2" bgcolor="{$menu-border}"><img class="spacer" 
src="{$spacer}" alt="" width="2" height="2" /></td>
+      </tr>
+    </table>
+    <xsl:comment>================= end Navigation Path 
==================</xsl:comment>
+
+    <!-- ================================= top bar with logo's and search box 
===================================  -->
+
+    <xsl:comment>================= start Banner 
==================</xsl:comment>
+    <table cellspacing="0" cellpadding="0" border="0" width="100%" 
summary="header with logos">
+      <tr>
+
+        <xsl:comment>================= start Group Logo 
==================</xsl:comment>
+        <td bgcolor="{$header-color}">
+          <xsl:if test="$config/group-url">
+            <xsl:call-template name="renderlogo">
+              <xsl:with-param name="name" select="$config/group-name"/>
+              <xsl:with-param name="url" select="$config/group-url"/>
+              <xsl:with-param name="logo" select="$config/group-logo"/>
+              <xsl:with-param name="root" select="$root"/>
+              <xsl:with-param name="description" 
select="$config/group-description"/>
+            </xsl:call-template>
+          </xsl:if>
+        </td>
+        <xsl:comment>================= end Group Logo 
==================</xsl:comment>
+        <xsl:comment>================= start Project Logo 
==================</xsl:comment>
+        <td bgcolor="{$header-color}" align="center" width="100%">
+          <xsl:call-template name="renderlogo">
+            <xsl:with-param name="name" select="$config/project-name"/>
+            <xsl:with-param name="url" select="$config/project-url"/>
+            <xsl:with-param name="logo" select="$config/project-logo"/>
+            <xsl:with-param name="root" select="$root"/>
+            <xsl:with-param name="description" 
select="$config/project-description"/>
+          </xsl:call-template>
+        </td>
+        <xsl:comment>================= end Project Logo 
==================</xsl:comment>
+
+        <xsl:comment>================= start Search 
==================</xsl:comment>
+        <td bgcolor="{$header-color}" rowspan="2" valign="top">
+          <xsl:if test="not($config/disable-search) or
+            $config/disable-search='false' and $config/searchsite-domain and
+            $config/searchsite-name">
+            <form method="get" action="http://www.google.com/search"; 
target="_blank">
+              <table bgcolor="{$menu-border}" cellpadding="0" cellspacing="0" 
border="0" summary="search">
+                <tr>
+                  <td colspan="3"><img class="spacer" src="{$spacer}" alt="" 
width="1" height="10" /></td>
+                </tr>
+                <tr>
+                  <td><img class="spacer" src="{$spacer}" alt="" width="1" 
height="1" /></td>
+                  <td nowrap="nowrap">
+                    <input type="hidden" name="sitesearch" 
value="{$config/searchsite-domain}"/>
+                    <input type="text" id="query" name="q" size="15"/>
+                    <img class="spacer" src="{$spacer}" alt="" width="5" 
height="1" />
+                    <input type="submit" value="Search" name="Search"/>
+                    <br />
+                    <font color="white" size="2" face="Arial, Helvetica, 
Sans-serif">
+                      the <xsl:value-of select="$config/searchsite-name"/> site
+                      <!-- setting search options off for the moment -->
+                      <!--
+                      <input type="radio" name="web" value="web"/>web 
site&#160;&#160;<input type="radio" name="mail" value="mail"/>mail lists
+                      -->
+                    </font>
+                  </td>
+                  <td><img class="spacer" src="{$spacer}" alt="" width="1" 
height="1" /></td>
+                </tr>
+                <tr>
+                  <td><img src="{$skin-img-dir}/search-left.gif" width="9" 
height="10" border="0" alt="" /></td>
+                  <td><img class="spacer" src="{$spacer}" alt="" width="1" 
height="1" /></td>
+                  <td><img src="{$skin-img-dir}/search-right.gif" width="9" 
height="10" border="0" alt="" /></td>
+                </tr>
+              </table>
+            </form>
+          </xsl:if>
+        </td>
+        <xsl:comment>================= start Search 
==================</xsl:comment>
+
+        <td bgcolor="{$header-color}"><img class="spacer" src="{$spacer}" 
alt="" width="10" height="10" /></td>
+      </tr>
+      <tr>
+        <td colspan="2" bgcolor="{$header-color}" valign="bottom">
+          <xsl:comment>================= start Tabs 
==================</xsl:comment>
+          <xsl:apply-templates select="[EMAIL PROTECTED]'tab']"/>
+          <xsl:comment>================= end Tabs 
==================</xsl:comment>
+        </td>
+        <td bgcolor="{$header-color}"><img class="spacer" src="{$spacer}" 
height="1" width="1" alt="" /></td>
+      </tr>
+      <tr>
+        <td colspan="4" bgcolor="{$menu-border}"><img class="spacer" 
src="{$spacer}" alt="" height="10" width="1" /></td>
+      </tr>
+    </table>
+    <xsl:comment>================= end Banner ==================</xsl:comment>
+
+    <xsl:comment>================= start Menu, NavBar, Content 
==================</xsl:comment>
+    <table cellspacing="0" cellpadding="0" border="0" width="100%" 
bgcolor="#ffffff" summary="page content">
+      <tr>
+        <td valign="top">
+          <xsl:if test="[EMAIL PROTECTED]'menu']/ul/li">
+            <xsl:call-template name="menu"/>
+        </xsl:if>
+        </td>
+        <td width="100%" valign="top">
+          <table cellspacing="0" cellpadding="0" border="0" width="100%" 
summary="content">
+
+            <xsl:comment>================= start middle NavBar 
==================</xsl:comment>
+            <tr><td bgcolor="{$header-color}" colspan="4"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td></tr>
+            <tr>
+              <td bgcolor="{$background-bars}" width="10" align="left"><img 
class="spacer" src="{$spacer}" alt="" height="1" width="10" /></td>
+              <td bgcolor="{$background-bars}" width="50%" align="left">
+                <!-- ============ Page number =========== -->
+                <font face="Arial, Helvetica, Sans-serif" size="3" 
color="{$menu-border}">
+                &#160;
+                <!-- <b>Page 1 of 5</b> -->
+                </font>
+                <img class="spacer" src="{$spacer}" alt="" height="8" 
width="10" />
+              </td>
+              <td bgcolor="{$background-bars}" width="50%" align="right">
+                <!-- ============ Page navigation =========== -->
+                <font face="Arial, Helvetica, Sans-serif" size="3" 
color="{$menu-border}">
+                &#160;
+                <!-- <b>&#171; prev&#160;&#160;<font 
size="4">[3]</font>&#160;&#160;next &#187;</b> -->
+                </font>
+                <img class="spacer" src="{$spacer}" alt="" height="8" 
width="10" />
+              </td>
+              <td bgcolor="{$background-bars}" width="10"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td>
+            </tr>
+            <tr><td bgcolor="{$header-color}" colspan="4"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td></tr>
+            <xsl:comment>================= end middle NavBar 
==================</xsl:comment>
+
+
+            <xsl:comment>================= start 
Content==================</xsl:comment>
+            <tr>
+              <td width="10" align="left"><img class="spacer" src="{$spacer}" 
alt="" height="1" width="10" /></td>
+              <td width="100%" align="left" colspan="2">
+                <xsl:apply-templates select="[EMAIL PROTECTED]'content']"/>
+              </td>
+              <td width="10"><img class="spacer" src="{$spacer}" alt="" 
height="1" width="10" /></td>
+            </tr>
+            <xsl:comment>================= end 
Content==================</xsl:comment>
+
+
+          </table>
+        </td>
+      </tr>
+    </table>
+    <xsl:comment>================= end Menu, NavBar, Content 
==================</xsl:comment>
+
+    <xsl:comment>================= start Footer 
==================</xsl:comment>
+    <table border="0" width="100%" cellpadding="0" cellspacing="0" 
summary="footer">
+      <tr>
+        <td bgcolor="{$menu-border}" height="1" colspan="2">
+          <img class="spacer" src="{$spacer}" alt="" width="1" height="1" />
+          <a href="{$skin-img-dir}/label.gif"/>
+          <a href="{$skin-img-dir}/page.gif"/>
+          <a href="{$skin-img-dir}/chapter.gif"/>
+          <a href="{$skin-img-dir}/chapter_open.gif"/>
+          <a href="{$skin-img-dir}/current.gif"/>
+          <a href="/favicon.ico"/>
+        </td>
+      </tr>
+      <tr>
+        <td align="center" class="copyright" bgcolor="{$background-bars}" 
colspan="2">
+          <font face="Arial, Helvetica, Sans-Serif" size="2">Copyright &#169;
+          <xsl:value-of select="$config/year"/>&#160;<xsl:value-of
+          select="$config/vendor"/> All rights reserved.<script 
language="JavaScript" type="text/javascript"><![CDATA[<!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+            //  -->]]></script></font>
+        </td>
+      </tr>
+      <tr>
+        <td class="logos" bgcolor="{$background-bars}" align="left" 
colspan="2">
+          <xsl:if test="$filename = 'index.html'">
+            <div>
+              <!-- W3C logos -->
+              <xsl:call-template name="compliancy-logos"/>
+
+              <xsl:if test="$config/credits">
+                <img src="{$root}skin/images/spacer.gif" width="10" height="1" 
alt=""/>
+                <xsl:for-each 
select="$config/credits/credit[not(@role='pdf')]">
+                  <xsl:variable name="name" select="name"/>
+                  <xsl:variable name="url" select="url"/>
+                  <xsl:variable name="image" select="image"/>
+                  <xsl:variable name="width" select="width"/>
+                  <xsl:variable name="height" select="height"/>
+                  <a href="{$url}">
+                    <img alt="{$name} logo" border="0">
+                      <xsl:attribute name="src">
+                        <xsl:if test="not(starts-with($image, 
'http://'))"><xsl:value-of select="$root"/></xsl:if>
+                        <xsl:value-of select="$image"/>
+                      </xsl:attribute>
+                      <xsl:if test="$width"><xsl:attribute 
name="width"><xsl:value-of select="$width"/></xsl:attribute></xsl:if>
+                      <xsl:if test="$height"><xsl:attribute 
name="height"><xsl:value-of select="$height"/></xsl:attribute></xsl:if>
+                    </img>
+                    <img class="spacer" src="{$spacer}" alt="" width="5" 
height="1" />
+                  </a>
+                </xsl:for-each>
+              </xsl:if>
+            </div>
+          </xsl:if>
+        <xsl:if test="$config/host-logo and not($config/host-logo = '')">
+          <div class="host">
+            <img src="{$root}skin/images/spacer.gif" width="10" height="1" 
alt=""/>
+            <xsl:call-template name="renderlogo">
+              <xsl:with-param name="name" select="$config/host-name"/>
+              <xsl:with-param name="url" select="$config/host-url"/>
+              <xsl:with-param name="logo" select="$config/host-logo"/>
+              <xsl:with-param name="root" select="$root"/>
+            </xsl:call-template>
+          </div>
+        </xsl:if>
+
+        </td>
+      </tr>
+    </table>
+    <xsl:comment>================= end Footer ==================</xsl:comment>
+      </body>
+    </html>
+  </xsl:template>
+
+  <xsl:template name="menu">
+    <table cellpadding="0" cellspacing="0" border="0" summary="menu">
+      <tr>
+        <xsl:comment>================= start left top NavBar 
==================</xsl:comment>
+        <td valign="top" rowspan="3">
+          <table cellspacing="0" cellpadding="0" border="0" summary="blue 
line">
+            <tr><td bgcolor="{$header-color}"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td></tr>
+            <tr><td bgcolor="{$background-bars}"><font face="Arial, Helvetica, 
Sans-serif" size="4" color="{$menu-border}">&#160;</font></td></tr>
+            <tr><td bgcolor="{$header-color}"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="10" /></td></tr>
+          </table>
+        </td>
+        <xsl:comment>================= end left top NavBar 
==================</xsl:comment>
+
+        <td bgcolor="{$header-color}"><img class="spacer" src="{$spacer}" 
alt="" height="1" width="1" /></td>
+        <td bgcolor="{$menu-border}" valign="bottom"><img class="spacer" 
src="{$spacer}" alt="" height="10" width="10" /></td>
+        <td bgcolor="{$menu-border}" valign="top" nowrap="nowrap">
+          <xsl:comment>================= start Menu items 
==================</xsl:comment>
+          <xsl:apply-templates select="[EMAIL PROTECTED]'menu']"/>
+          <xsl:comment>================= end Menu items 
==================</xsl:comment>
+        </td>
+        <td bgcolor="{$menu-border}" valign="bottom"><img class="spacer" 
src="{$spacer}" alt="" height="10" width="10" /></td>
+        <td bgcolor="{$header-color}"><img class="spacer" src="{$spacer}" 
alt="" height="1" width="1" /></td>
+      </tr>
+      <tr>
+        <!-- Menu: bottom left -->
+        <td bgcolor="{$menu-border}" rowspan="2" colspan="2" align="left" 
valign="bottom">
+          <img src="{$skin-img-dir}/menu-left.gif" alt="" border="0" 
width="10" height="10" />
+        </td>
+        <!-- Menu: bottom -->
+        <td bgcolor="{$menu-border}">
+          <img class="spacer" src="{$spacer}" alt="" width="10" height="10" />
+        </td>
+        <!-- Menu: bottom right -->
+        <td bgcolor="{$menu-border}" rowspan="2" colspan="2" align="right" 
valign="bottom">
+          <img src="{$skin-img-dir}/menu-right.gif" alt="" border="0" 
width="10" height="10" />
+        </td>
+      </tr>
+      <tr>
+        <td bgcolor="{$header-color}" height="1"><img class="spacer" 
src="{$spacer}" alt="" height="1" width="1" /></td>
+      </tr>
+    </table>
+  </xsl:template>
+
+  <xsl:template match="node()|@*" priority="-1">
+    <xsl:copy>
+      <xsl:apply-templates select="@*"/>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/tab2menu.xsl
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/site/build/webapp/skins/forrest-site/xslt/html/tab2menu.xsl
 Thu Sep  9 10:04:36 2004
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<!--
+This stylesheet generates 'tabs' at the top left of the screen.
+See the imported tab2menu.xsl for details.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+  <xsl:import href="../../../common/xslt/html/tab2menu.xsl"/>
+
+  <xsl:template match="tabs">
+    <div class="tab">
+      <table cellspacing="0" cellpadding="0" border="0" summary="tab bar">
+        <tr>
+          <xsl:call-template name="base-tabs"/>
+        </tr>
+      </table>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="pre-separator">
+    <xsl:call-template name="separator"/>
+  </xsl:template>
+
+  <xsl:template name="post-separator">
+  </xsl:template>
+
+  <xsl:template name="separator">
+    <td width="6">
+      <img src="{$root}skin/images/spacer.gif" width="6" height="8" alt=""/>
+    </td>
+  </xsl:template>
+
+  <xsl:template name="selected">
+    <td valign="bottom">
+      <table cellspacing="0" cellpadding="0" border="0"  style="height: 1.8em" 
summary="selected tab">
+        <tr>
+          <td bgcolor="#4C6C8F" width="5" valign="top">
+            <img src="{$skin-img-dir}/tabSel-left.gif" alt="" width="5" 
height="5" />
+          </td>
+          <td bgcolor="#4C6C8F" valign="middle">
+            <font face="Arial, Helvetica, Sans-serif" size="2" color="#ffffff">
+              <b>
+                <xsl:call-template name="base-selected"/>
+              </b>
+            </font>
+          </td>
+          <td bgcolor="#4C6C8F" width="5" valign="top">
+            <img src="{$skin-img-dir}/tabSel-right.gif" alt="" width="5" 
height="5" />
+          </td>
+        </tr>
+      </table>
+    </td>
+  </xsl:template>
+
+  <xsl:template name="not-selected">
+    <td valign="bottom">
+      <table cellspacing="0" cellpadding="0" border="0" style="height: 1.6em" 
summary="non selected tab">
+        <tr>
+          <td bgcolor="#B2C4E0" width="5" valign="top">
+            <img src="{$skin-img-dir}/tab-left.gif" alt="" width="5" 
height="5" />
+          </td>
+          <td bgcolor="#B2C4E0" valign="middle">
+            <xsl:call-template name="base-not-selected"/>
+          </td>
+          <td bgcolor="#B2C4E0" width="5" valign="top">
+            <img src="{$skin-img-dir}/tab-right.gif" alt="" width="5" 
height="5" />
+          </td>
+        </tr>
+        <tr>
+          <td height="1" colspan="3">
+          </td>
+        </tr>
+      </table>
+    </td>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: incubator/beehive/trunk/site/build/webapp/status.xmap
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/status.xmap       Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<!-- ===============================================
+Todo and changes pipelines, and anything else reporting the 'status' of the 
project.
+
+Note that the regular (forrest.xmap) pipeline will handle Todo or Changes XML 
files, so
+long as they have an appropriate DOCTYPE declaration.  This sitemap is purely 
for
+generating stuff from status.xml.
+
+Generates  :  Source XML for todo.xml, changes.xml.  Output HTML for 
changes.rss
+Example URL:  http://localhost:8888/changes.xml
+Used by    :  sitemap.xmap
+Uses       :  status.xml
+
+$Revision: 1.10 $
+==================================================== -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
+  <map:components>
+    <map:generators default="file"/>
+    <map:serializers default="html">
+      <map:serializer name="rss091" mime-type="text/xml" 
src="org.apache.cocoon.serialization.XMLSerializer">
+        <doctype-public>-//Netscape Communications//DTD RSS 
0.91//EN</doctype-public>
+        
<doctype-system>http://my.netscape.com/publish/formats/rss-0.91.dtd</doctype-system>
+        <encoding>ISO-8859-1</encoding>
+      </map:serializer>
+    </map:serializers>
+    <map:transformers default="xslt"/>
+    <map:matchers default="wildcard"/>
+    <map:selectors default="browser"/>
+  </map:components>
+
+  <map:pipelines>
+    <map:pipeline>
+
+      <map:match pattern="changes.xml">
+        <map:generate type="file" src="status.xml" />
+        <map:transform src="resources/stylesheets/changes2document.xsl" >
+         <map:parameter name="bugtracking-url" 
value="{defaults:bugtracking-url}"/>
+        </map:transform >
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+      <map:match pattern="changes.rss">
+        <map:generate src="status.xml" />
+        <map:transform src="resources/stylesheets/changes2rss.xsl" />
+        <map:serialize type="rss091" />
+      </map:match>
+
+      <map:match pattern="todo.xml">
+        <map:generate type="file" src="status.xml" />
+        <map:transform src="resources/stylesheets/todo2document.xsl" />
+        <map:serialize type="xml-document"/>
+      </map:match>
+
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Added: incubator/beehive/trunk/site/build/webapp/status.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/site/build/webapp/status.xml        Thu Sep  9 
10:04:36 2004
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<status>
+
+  <developers>
+    <person name="Joe Bloggs"      email="[EMAIL PROTECTED]"      id="JB" />
+    <!-- Add more people here -->
+  </developers>
+
+  <changes>
+    <!-- Add new releases here -->
+    <release version="0.1" date="unreleased">
+      <!-- Some action types have associated images. By default, images are
+      defined for 'add', 'fix', 'remove', 'update' and 'hack'. If you add
+      src/documentation/resources/images/<foo>.jpg images, these will
+      automatically be used for entries of type <foo>. -->
+
+      <action dev="JB" type="add" context="admin">
+        Initial Import
+      </action>
+      <!-- Sample action:
+      <action dev="JB" type="fix" due-to="Joe Contributor"
+          due-to-email="[EMAIL PROTECTED]" fixes-bug="123">
+          Fixed a bug in the Foo class.
+        </action>
+        -->
+    </release>
+  </changes>
+
+  <todo>
+    <actions priority="high">
+      <action context="docs" dev="JB">
+        Customize this template project with your project's details.  This
+        TODO list is generated from 'status.xml'.
+      </action>
+      <action context="docs" dev="JB">
+        Add lots of content.  XML content goes in
+        <code>src/documentation/content/xdocs</code>, or wherever the
+        <code>${project.xdocs-dir}</code> property (set in
+        <code>forrest.properties</code>) points.
+      </action>
+      <action context="feedback" dev="JB">
+        Mail <link
+          href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</link>
+        with feedback.
+      </action>
+    </actions>
+    <!-- Add todo items. @context is an arbitrary string. Eg:
+    <actions priority="high">
+      <action context="code" dev="SN">
+      </action>
+    </actions>
+    <actions priority="medium">
+      <action context="docs" dev="open">
+      </action>
+    </actions>
+    -->
+  </todo>
+
+</status>

Added: 
incubator/beehive/trunk/site/build/webapp/this-should-never-be-used/favicon.ico
==============================================================================
Binary file. No diff available.

Modified: 
incubator/beehive/trunk/site/src/documentation/content/xdocs/controls.xml
==============================================================================
--- incubator/beehive/trunk/site/src/documentation/content/xdocs/controls.xml   
(original)
+++ incubator/beehive/trunk/site/src/documentation/content/xdocs/controls.xml   
Thu Sep  9 10:04:36 2004
@@ -9,10 +9,10 @@
 
 <body>
 
-<p><strong><link href="./ControlsOverview.html">Controls 
Overview</link></strong>  This is an overview
+<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/>
-<strong><link href="./ControlsProgramming.html">Controls 
Programming</link></strong> This is a more
+<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.
 

Modified: incubator/beehive/trunk/site/src/documentation/content/xdocs/index.xml
==============================================================================
--- incubator/beehive/trunk/site/src/documentation/content/xdocs/index.xml      
(original)
+++ incubator/beehive/trunk/site/src/documentation/content/xdocs/index.xml      
Thu Sep  9 10:04:36 2004
@@ -28,7 +28,9 @@
      <title>News</title>
      <anchor id="News"></anchor>
      <ul>
-       <li>See Beehive at <link href="oscon.html">OSCON</link> July 26-30, 
2004.</li>
+       <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>

Modified: incubator/beehive/trunk/site/src/documentation/content/xdocs/site.xml
==============================================================================
--- incubator/beehive/trunk/site/src/documentation/content/xdocs/site.xml       
(original)
+++ incubator/beehive/trunk/site/src/documentation/content/xdocs/site.xml       
Thu Sep  9 10:04:36 2004
@@ -9,7 +9,7 @@
 
   <documentation label="Documentation">
     <faq label="FAQ" href="faq.html" />
-    <controlprogramming label="Controls" href="controls.html" />
+    <controlprogramming label="Controls" href="Controls.html" />
     <jsr181 label="Web Services (JSR 181)" href="webservices.html" />
   </documentation>
 

Modified: incubator/beehive/trunk/site/src/documentation/skinconf.xml
==============================================================================
--- incubator/beehive/trunk/site/src/documentation/skinconf.xml (original)
+++ incubator/beehive/trunk/site/src/documentation/skinconf.xml Thu Sep  9 
10:04:36 2004
@@ -91,7 +91,8 @@
   -->
   <trail>
     <link1 name="apache" href="http://www.apache.org/"/>
-    <link2 name="beehive" href="http://incubator.apache.org/beehive"/>
+    <link2 name="" href=""/>
+    <!-- <link2 name="beehive" href="http://incubator.apache.org/beehive"/> -->
     <link3 name="" href=""/>
   </trail>
 

Reply via email to