<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- $Id$ -->
<!--
   Copyright 2004 The Apache Software Foundation
  
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<html>
<head>
	<title>Tapestry / Docbook</title>
</head>

<body>

<p>
This directory is reliant on third-party distributions  to 
process DocBook XML documents into HTML and PDF.  This includes the DocBook DTDs and
the modular XSL stylesheets.  The Tapestry Contributor's Guide provides the necessary
information on how to configure your environment to build documentation.
</p>

<p>
The following two files must be downloaded and copied into the
<code><i>$TAPESTRY_ROOT</i>/ext-dist</code> directory before
documentation may be built.
</p>

<table border="1">
<tr>
<th>Distribution</th>
<th>File</th>
<th>Source</th></tr>

<tr>
<td>DocBook XML DTD</td>
<td>docbkx412.zip</td>
<td><a href="http://www.oasis-open.org/docbook/xml/4.1.2/">http://www.oasis-open.org/docbook/xml/4.1.2/</a></td>
</tr>

<tr>
<td>DocBook XSL</td>
<td>docbook-xsl-1.62.4.zip</td>
<td><a href="http://sourceforge.net/projects/docbook/">DocBook Open Repository</a></td>
</tr>
</table>

</body>
</html>
