Xalan-J 2.7.2 Updated Website Sources
diff --git a/xdocs/sources/entities.ent b/xdocs/sources/entities.ent
new file mode 100644
index 0000000..53797f6
--- /dev/null
+++ b/xdocs/sources/entities.ent
@@ -0,0 +1,117 @@
+<?xml encoding="US-ASCII"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+-->
+
+<!ENTITY xslt "Xalan">
+<!ENTITY xslt4j "Xalan-Java">
+<!ENTITY xslt4j2 "Xalan-Java 2">
+<!ENTITY xslt4ji "&xslt4j; Interpretive">
+<!ENTITY xslt4jc-short "XSLTC">
+<!ENTITY xslt4jc-long  "&xslt4j; Compiled">
+<!ENTITY xslt4j-dist-bin "&xslt4j-dist;-bin">
+<!ENTITY xslt4j-dist-src "&xslt4j-dist;-src">
+<!ENTITY xslt4j-dist "xalan-j_2_7_2">
+<!ENTITY xslt4j-current "&xslt4j; Version 2.7.2">
+<!ENTITY xslt4j-distdir "http://www.apache.org/dyn/closer.cgi/xml/xalan-j/">
+<!ENTITY xslt4j_longname "Apache Xalan Java">
+<!ENTITY xml4j "Xerces-Java">
+<!ENTITY xml4j1 "Xerces-Java 1">
+<!ENTITY xml4j2 "Xerces-Java 2">
+<!ENTITY xml4j-used "&xml4j; 2.11.0">
+<!ENTITY xml4j-jar "xercesImpl.jar">
+<!ENTITY xslt4c "Xalan-C++">
+<!ENTITY xml4c "Xerces-C++">
+<!ENTITY jaxp13-short "JAXP 1.3">
+<!ENTITY jaxp13-long  "Java API for XML Processing (JAXP) 1.3">
+<!ENTITY download "The &xslt4j-current; download includes &xml4j-jar; from &xml4j-used; and xml-apis.jar. 
+For version information about the contents of xml-apis.jar, see the JAR manifest.">
+
+<!ENTITY xsltcwhatsnewhead '<li><link anchor="xsltc">&xslt4jc-short;</link></li>'>
+
+<!ENTITY xsltcwhatsnew '<anchor name="xsltc"/><s2 title="&xslt4jc-long; (&xslt4jc-short;)">
+                <p>In April 2001, Sun donated &xslt4jc-short; to the Xalan project. &xslt4jc-short; compiles stylesheets into translets and
+                provides a runtime environment for using translets to transform XML documents. Initially, &xslt4jc-short; is
+                available in a separate JAR. Over time, we plan to integrate the two codebases. For more information,
+                see <link idref="xsltc_usage">Getting Started with &xslt4jc-short;</link>, 
+                <link idref="readme" anchor="xsltcreleasenotes">&xslt4jc-short;
+                Release Notes</link>, and <jump href="xsltc/index.html">&xslt4jc-short; Design</link>.</p>
+                </s2>'>
+
+<!ENTITY history2xsltc '<note>For &xslt4jc-short; changes since &xslt4jc-short; was incorporated into &xslt4j;, see
+                        <link idref="xsltc_history">&xslt4jc-short; software changes</link>.</note>'>
+
+<!ENTITY xsltcclasspath '<p>If you are using <link idref="xsltc_usage">&xslt4jc-short;</link>, see
+                        <link idref="xsltc_usage" anchor="classpath">Setting the system classpath for &xslt4jc-short;</link>.</p>'>
+
+<!ENTITY xsltcsampleshead '<li><link anchor="translets">translets</link></li>'>
+
+<!ENTITY xsltcsamples '<anchor name="translets"/><s2 title="Translets">
+                 <ul>
+                 <li><link anchor="xsltc1">JAXPTransletOneTransformation</link></li>
+                 <li><link anchor="xsltc2">JAXPTransletMultipleTransformations</link></li>
+                 <li><link anchor="xsltcother">Other &xslt4jc-short; samples</link></li>   
+                 </ul>
+                 <p>You can use the JAXP interfaces to compile and run translets.
+                 For an overview of the usage patterns these samples illustrate, see 
+                 <link idref="xsltc_usage" anchor="api">Calling &xslt4jc-short; with the JAXP API</link>.</p>
+                 <anchor name="xsltc1"/>
+                 <s3 title="JAXPTransletOneTransformation">
+                 <p>What it does: Uses the &xslt4jc-short; TransformerFactory to compile a translet and use
+                 the translet to transform the &xslt4jc-short; to-do list from XML into HTML.</p>
+                 <p>Run this sample from the translets subdirectory with</p>
+                 <p><code>java JAXPTransletOneTransformation</code></p>
+                 <p>View the result in todo.html.</p>
+                 </s3><anchor name="xsltc2"/>
+                 <s3 title="JAXPTransletMultipleTransformations">
+                 <p>What it does: Uses the &xslt4jc-short; TransformerFactory to compile a translet and use
+                 the Templates object associated with the translet to transform the &xslt4jc-short; and Xalan to-do lists from XML 
+                 into HTML.</p>
+                 <p>Run this sample from the translets subdirectory with</p>
+                 <p><code>java JAXPTransletMultipleTransformations</code></p>
+                 <p>View the results in todo.html and todotoo.html.</p>                
+                 </s3><anchor name="xsltcother"/>
+                 <s3 title="Other &xslt4jc-short; samples">
+                 <p>Other &xslt4jc-short; samples are located in the following samples subdirectories:</p>
+                 <ul>
+                 <li>CompiledServlet</li>
+                 <li>CompiledBrazil</li>
+                 <li>CompiledJAXP</li>
+                 <li>CompiledApplet</li>
+                 <li>CompiledEJB</li>
+                 </ul>
+                 <p>For information about each of these samples, consult the README file in the subdirectory.</p>
+                 <p>&xslt4jc-short; provides demos for using &xslt4jc-short; as a servlet and as a handler for
+                 Brazil (a new and powerful Web techology from Sun labs).</p>
+                 <p>To run the Brazil-handler demo, download Brazil from sunlabs:</p>
+                 <p><code>&nbsp;&nbsp;&nbsp;&nbsp;<jump href="http://research.sun.com/research/download/index.html">http://research.sun.com/research/download/index.html</jump></code></p>
+                 <p>The translet must be specified as a pure class name,
+                 accessible through the Brazil-handler&apos;s classpath. For
+                 example:</p>
+                 <p><code>&nbsp;&nbsp;&nbsp;&nbsp;translet=mk054</code></p>
+                 <p>The document must be specified as a valid URL. For example:</p>
+                 <p><code>&nbsp;&nbsp;&nbsp;&nbsp;document=http://server/path/to/filename.xml</code></p>
+                 <p>If the file is local to the Brazil handler, it has to be
+                specified using the "file:filename.xml" format.</p>
+                <note>In order to run the Brazil-handler demo, you also need to
+                      make the Brazil and javax classes available from your
+                      classpath</note>
+                 <p>To run the servlet demo, download the java extensions for servlets from Sun:</p>
+                 <p><code>&nbsp;&nbsp;&nbsp;&nbsp;
+                 <jump href="http://java.sun.com/products/servlet/download.html">
+                 http://java.sun.com/products/servlet/download.html</jump></code></p>
+                 </s3>
+                 </s2>'>
diff --git a/xdocs/sources/make-book.sh b/xdocs/sources/make-book.sh
new file mode 100755
index 0000000..6507a12
--- /dev/null
+++ b/xdocs/sources/make-book.sh
@@ -0,0 +1,90 @@
+#!/bin/sh
+#
+# Bourne shell script to create xalan-j documentation pages
+#
+# SET THE LIBRARY PATH FOR YOUR OPERATING SYSTEM, REQUIRED BY "Xalan" PROGRAM
+#
+#  SOLARIS AND LINUX
+# export LD_LIBRARY_PATH=/usr/local/lib
+#
+#  AIX AND BSD
+# export LIBPATH=/usr/local/lib
+#
+#  HPUX
+# export SHLIB_PATH=/usr/local/lib
+#
+#  MAC OS/X
+# export DYLD_LIBRARY_PATH=/usr/local/lib
+#
+#  CYGWIN AND MINGW
+# export PATH=$PATH;/usr/local/lib
+#
+
+umask 0002
+mkdir -p ../../build/docs/xalan-j/resources
+mkdir -p ../../build/docs/xalan-j/xsltc/resources
+mkdir -p ../../build/docs/xalan-j/design/resources
+
+make-jsite.sh bugreporting
+make-jsite.sh builds
+make-jsite.sh charter
+make-jsite.sh commandline
+make-jsite.sh commandline_xsltc
+make-jsite.sh contact_us
+make-jsite.sh downloads
+make-jsite.sh dtm
+make-jsite.sh extensionslib
+make-jsite.sh extensions
+make-jsite.sh extensions_xsltc
+make-jsite.sh faq
+make-jsite.sh features
+make-jsite.sh getstarted
+make-jsite.sh history
+make-jsite.sh index
+make-jsite.sh overview
+make-jsite.sh public_apis
+make-jsite.sh readme
+make-jsite.sh resources
+make-jsite.sh samples
+make-jsite.sh trax
+make-jsite.sh usagepatterns
+make-jsite.sh whatsnew
+make-jsite.sh xpath_apis
+make-jsite.sh xsltc_history
+make-jsite.sh xsltc_usage
+
+make-design.sh design2_0_0
+
+make-xsltc.sh index
+make-xsltc.sh xsl_choose_design
+make-xsltc.sh xsl_comment_design
+make-xsltc.sh xsl_if_design
+make-xsltc.sh xsl_include_design
+make-xsltc.sh xsl_key_design
+make-xsltc.sh xsl_lang_design
+make-xsltc.sh xsl_sort_design
+make-xsltc.sh xsltc_compiler
+make-xsltc.sh xsltc_dom
+make-xsltc.sh xsltc_iterators
+make-xsltc.sh xsltc_namespace
+make-xsltc.sh xsltc_native_api
+make-xsltc.sh xsltc_overview
+make-xsltc.sh xsltc_performance
+make-xsltc.sh xsltc_predicates
+make-xsltc.sh xsltc_runtime
+make-xsltc.sh xsltc_trax_api
+make-xsltc.sh xsltc_trax
+make-xsltc.sh xsl_unparsed_design
+make-xsltc.sh xsl_variable_design
+make-xsltc.sh xsl_whitespace_design
+
+#cp xalan-graphic/*.* ../../build/docs/xalan-j
+cp ../xslt-resources/*.* ../../build/docs/xalan-j/resources
+cp ../xslt-resources/*.* ../../build/docs/xalan-j/xsltc/resources
+cp ../xslt-resources/*.* ../../build/docs/xalan-j/design/resources
+cp xalan/*.gif        ../../build/docs/xalan-j
+cp design/*.gif       ../../build/docs/xalan-j/design
+cp xsltc/*.gif        ../../build/docs/xalan-j/xsltc
+
+
+
diff --git a/xdocs/sources/make-design.sh b/xdocs/sources/make-design.sh
new file mode 100755
index 0000000..67b61b4
--- /dev/null
+++ b/xdocs/sources/make-design.sh
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# Bourne shell script to create a single xalan-j webpage
+# Parameter $1 is the basename of the page to generate.
+#
+#-------------------------------------------------------------
+#
+# Set the current path to include the "Xalan" stylesheet transformation utility
+#
+# $1               The document filename (without extension) to transform
+#
+# -- The Environment Variables for this script --
+#
+# ${XALANBOOKXML}     The <book> navigation file for this project
+#
+# ${XALANCMD}         The Xalan command-line XSLT transformation utility
+#
+# ${XALANSTYLE}       The XSLT stylesheet to 
+#
+# ${XALANSRCDIR}      Source directory of STYLEBOOK markup XML documents
+#
+# ${XALANOUTDIR}      Target directory of XHTML web page documents
+#
+# ${XALANLOGOIMG}     Web Page Logo
+#
+# ${XALANLOGOWIDTH}   Web Page Logo Width
+#
+# ${XALANLOGOHEIGHT}  Web Page Logo Height
+#
+# ${XALANLOGOLINK}    Active Link for Web Page Logo
+#
+# ${XALANTITLELINK}   Active Link for Web Page Title
+#
+# ${WEBCREATED}       Web Page Creation Date
+#
+# -- The XSLT Stylesheet Top-Level Parameters
+#
+# sectionid        Top-level stylesheet parameter (document file id)
+#
+# createdate       Top-level stylesheet parameter (web page creation date)
+#
+# logoimage        Apache Trademark Logo Image
+#
+# logolink         Logo Image - hot link
+#
+# bookxml          The <book>.xml file for navigation
+#
+# booklink         The Hot-Link for Book Title in Header
+#
+
+# Set some environment variables
+
+XALANBOOKXML=xalandesign.xml
+
+XALANCMD=Xalan
+
+XALANSTYLE=stylebook.xslt
+
+XALANSRCDIR=design
+
+XALANOUTDIR=../../build/docs/xalan-j/design
+
+XALANLOGOIMG=resources/XalanJ-Logo-tm.png
+
+XALANLOGOWIDTH=190
+
+XALANLOGOHEIGHT=90
+
+XALANLOGOLINK=../index.html
+
+XALANTITLELINK=index.html
+
+WEBCREATED=`date +"%a %F"`
+
+## DEBUG BEGIN
+
+#echo INPUT PARAM = $1
+#echo XALANBOOKXML = ${XALANBOOKXML}
+#echo XALANCMD = ${XALANCMD}
+#echo XALANSTYLE = ${XALANSTYLE}
+#echo XALANSRCDIR = ${XALANSRCDIR}
+#echo XALANOUTDIR = ${XALANOUTDIR}
+#echo XALANLOGOIMG = ${XALANLOGOIMG}
+#echo XALANLOGOWIDTH = ${XALANLOGOWIDTH}
+#echo XALANLOGOHEIGHT = ${XALANLOGOHEIGHT}
+#echo XALANLOGOLINK = ${XALANLOGOLINK}
+#echo XALANTITLELINK = ${XALANTITLELINK}
+#echo WEBCREATED = ${WEBCREATED}
+#exit
+
+## DEBUG END
+
+
+#
+# Create Target Directories
+#
+
+if [ ! -d "${XALANOUTDIR}" ]; then
+  mkdir -p "${XALANOUTDIR}"
+fi
+
+#IF EXIST "%XALANOUTDIR%" GOTO NEXT1
+#MKDIR "%XALANOUTDIR%"
+#:NEXT1
+
+if [ ! -d "${XALANOUTDIR}/resources" ] ; then
+  mkdir -p "${XALANOUTDIR}/resources"
+fi
+
+#IF EXIST "%XALANOUTDIR%/resources" GOTO NEXT2
+#MKDIR "%XALANOUTDIR%/resources"
+#:NEXT2
+
+#
+# Now create the specific web page from StyleBook XML
+#
+
+"${XALANCMD}" \
+  -p sectionid "'$1'" \
+  -p xmlsources "'${XALANSRCDIR}'" \
+  -p createdate "'${WEBCREATED}'" \
+  -p logoimage "'${XALANLOGOIMG}'" \
+  -p logowidth "'${XALANLOGOWIDTH}'" \
+  -p logoheight "'${XALANLOGOHEIGHT}'" \
+  -p logolink "'${XALANLOGOLINK}'" \
+  -p bookxml "'${XALANBOOKXML}'" \
+  -p booklink "'${XALANTITLELINK}'" \
+   "${XALANSRCDIR}/$1.xml" "${XALANSTYLE}"  >"${XALANOUTDIR}/$1.html"
diff --git a/xdocs/sources/make-jlocal.sh b/xdocs/sources/make-jlocal.sh
new file mode 100755
index 0000000..e271285
--- /dev/null
+++ b/xdocs/sources/make-jlocal.sh
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# Bourne shell script to create a single xalan-j webpage
+# Parameter $1 is the basename of the page to generate.
+#
+#-------------------------------------------------------------
+#
+# Set the current path to include the "Xalan" stylesheet transformation utility
+#
+# $1               The document filename (without extension) to transform
+#
+# -- The Environment Variables for this script --
+#
+# ${XALANBOOKXML}     The <book> navigation file for this project
+#
+# ${XALANCMD}         The Xalan command-line XSLT transformation utility
+#
+# ${XALANSTYLE}       The XSLT stylesheet to 
+#
+# ${XALANSRCDIR}      Source directory of STYLEBOOK markup XML documents
+#
+# ${XALANOUTDIR}      Target directory of XHTML web page documents
+#
+# ${XALANLOGOIMG}     Web Page Logo
+#
+# ${XALANLOGOWIDTH}   Web Page Logo Width
+#
+# ${XALANLOGOHEIGHT}  Web Page Logo Height
+#
+# ${XALANLOGOLINK}    Active Link for Web Page Logo
+#
+# ${XALANTITLELINK}   Active Link for Web Page Title
+#
+# ${WEBCREATED}       Web Page Creation Date
+#
+# -- The XSLT Stylesheet Top-Level Parameters
+#
+# sectionid        Top-level stylesheet parameter (document file id)
+#
+# createdate       Top-level stylesheet parameter (web page creation date)
+#
+# logoimage        Apache Trademark Logo Image
+#
+# logolink         Logo Image - hot link
+#
+# bookxml          The <book>.xml file for navigation
+#
+# booklink         The Hot-Link for Book Title in Header
+#
+
+# Set some environment variables
+
+XALANBOOKXML=xalan-jlocal.xml
+
+XALANCMD=Xalan
+
+XALANSTYLE=stylebook.xslt
+
+XALANSRCDIR=xalan
+
+XALANOUTDIR=../../build/docs/xalan-j
+
+XALANLOGOIMG=resources/XalanJ-Logo-tm.png
+
+XALANLOGOWIDTH=190
+
+XALANLOGOHEIGHT=90
+
+XALANLOGOLINK=../index.html
+
+XALANTITLELINK=index.html
+
+WEBCREATED=`date +"%a %F"`
+
+## DEBUG BEGIN
+
+#echo INPUT PARAM = $1
+#echo XALANBOOKXML = ${XALANBOOKXML}
+#echo XALANCMD = ${XALANCMD}
+#echo XALANSTYLE = ${XALANSTYLE}
+#echo XALANSRCDIR = ${XALANSRCDIR}
+#echo XALANOUTDIR = ${XALANOUTDIR}
+#echo XALANLOGOIMG = ${XALANLOGOIMG}
+#echo XALANLOGOWIDTH = ${XALANLOGOWIDTH}
+#echo XALANLOGOHEIGHT = ${XALANLOGOHEIGHT}
+#echo XALANLOGOLINK = ${XALANLOGOLINK}
+#echo XALANTITLELINK = ${XALANTITLELINK}
+#echo WEBCREATED = ${WEBCREATED}
+#exit
+
+## DEBUG END
+
+
+#
+# Create Target Directories
+#
+
+if [ ! -d "${XALANOUTDIR}" ]; then
+  mkdir -p "${XALANOUTDIR}"
+fi
+
+#IF EXIST "%XALANOUTDIR%" GOTO NEXT1
+#MKDIR "%XALANOUTDIR%"
+#:NEXT1
+
+if [ ! -d "${XALANOUTDIR}/resources" ] ; then
+  mkdir -p "${XALANOUTDIR}/resources"
+fi
+
+#IF EXIST "%XALANOUTDIR%/resources" GOTO NEXT2
+#MKDIR "%XALANOUTDIR%/resources"
+#:NEXT2
+
+#
+# Now create the specific web page from StyleBook XML
+#
+
+"${XALANCMD}" \
+  -p sectionid "'$1'" \
+  -p xmlsources "'${XALANSRCDIR}'" \
+  -p createdate "'${WEBCREATED}'" \
+  -p logoimage "'${XALANLOGOIMG}'" \
+  -p logowidth "'${XALANLOGOWIDTH}'" \
+  -p logoheight "'${XALANLOGOHEIGHT}'" \
+  -p logolink "'${XALANLOGOLINK}'" \
+  -p bookxml "'${XALANBOOKXML}'" \
+  -p booklink "'${XALANTITLELINK}'" \
+   "${XALANSRCDIR}/$1.xml" "${XALANSTYLE}"  >"${XALANOUTDIR}/$1.html"
diff --git a/xdocs/sources/make-jsite.sh b/xdocs/sources/make-jsite.sh
new file mode 100755
index 0000000..7148762
--- /dev/null
+++ b/xdocs/sources/make-jsite.sh
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# Bourne shell script to create a single xalan-j webpage
+# Parameter $1 is the basename of the page to generate.
+#
+#-------------------------------------------------------------
+#
+# Set the current path to include the "Xalan" stylesheet transformation utility
+#
+# $1               The document filename (without extension) to transform
+#
+# -- The Environment Variables for this script --
+#
+# ${XALANBOOKXML}     The <book> navigation file for this project
+#
+# ${XALANCMD}         The Xalan command-line XSLT transformation utility
+#
+# ${XALANSTYLE}       The XSLT stylesheet to 
+#
+# ${XALANSRCDIR}      Source directory of STYLEBOOK markup XML documents
+#
+# ${XALANOUTDIR}      Target directory of XHTML web page documents
+#
+# ${XALANLOGOIMG}     Web Page Logo
+#
+# ${XALANLOGOWIDTH}   Web Page Logo Width
+#
+# ${XALANLOGOHEIGHT}  Web Page Logo Height
+#
+# ${XALANLOGOLINK}    Active Link for Web Page Logo
+#
+# ${XALANTITLELINK}   Active Link for Web Page Title
+#
+# ${WEBCREATED}       Web Page Creation Date
+#
+# -- The XSLT Stylesheet Top-Level Parameters
+#
+# sectionid        Top-level stylesheet parameter (document file id)
+#
+# createdate       Top-level stylesheet parameter (web page creation date)
+#
+# logoimage        Apache Trademark Logo Image
+#
+# logolink         Logo Image - hot link
+#
+# bookxml          The <book>.xml file for navigation
+#
+# booklink         The Hot-Link for Book Title in Header
+#
+
+# Set some environment variables
+
+XALANBOOKXML=xalan-jsite.xml
+
+XALANCMD=Xalan
+
+XALANSTYLE=stylebook.xslt
+
+XALANSRCDIR=xalan
+
+XALANOUTDIR=../../build/docs/xalan-j
+
+XALANLOGOIMG=resources/XalanJ-Logo-tm.png
+
+XALANLOGOWIDTH=190
+
+XALANLOGOHEIGHT=90
+
+XALANLOGOLINK=../index.html
+
+XALANTITLELINK=index.html
+
+WEBCREATED=`date +"%a %F"`
+
+## DEBUG BEGIN
+
+#echo INPUT PARAM = $1
+#echo XALANBOOKXML = ${XALANBOOKXML}
+#echo XALANCMD = ${XALANCMD}
+#echo XALANSTYLE = ${XALANSTYLE}
+#echo XALANSRCDIR = ${XALANSRCDIR}
+#echo XALANOUTDIR = ${XALANOUTDIR}
+#echo XALANLOGOIMG = ${XALANLOGOIMG}
+#echo XALANLOGOWIDTH = ${XALANLOGOWIDTH}
+#echo XALANLOGOHEIGHT = ${XALANLOGOHEIGHT}
+#echo XALANLOGOLINK = ${XALANLOGOLINK}
+#echo XALANTITLELINK = ${XALANTITLELINK}
+#echo WEBCREATED = ${WEBCREATED}
+#exit
+
+## DEBUG END
+
+
+#
+# Create Target Directories
+#
+
+if [ ! -d "${XALANOUTDIR}" ]; then
+  mkdir -p "${XALANOUTDIR}"
+fi
+
+#IF EXIST "%XALANOUTDIR%" GOTO NEXT1
+#MKDIR "%XALANOUTDIR%"
+#:NEXT1
+
+if [ ! -d "${XALANOUTDIR}/resources" ] ; then
+  mkdir -p "${XALANOUTDIR}/resources"
+fi
+
+#IF EXIST "%XALANOUTDIR%/resources" GOTO NEXT2
+#MKDIR "%XALANOUTDIR%/resources"
+#:NEXT2
+
+#
+# Now create the specific web page from StyleBook XML
+#
+
+"${XALANCMD}" \
+  -p sectionid "'$1'" \
+  -p xmlsources "'${XALANSRCDIR}'" \
+  -p createdate "'${WEBCREATED}'" \
+  -p logoimage "'${XALANLOGOIMG}'" \
+  -p logowidth "'${XALANLOGOWIDTH}'" \
+  -p logoheight "'${XALANLOGOHEIGHT}'" \
+  -p logolink "'${XALANLOGOLINK}'" \
+  -p bookxml "'${XALANBOOKXML}'" \
+  -p booklink "'${XALANTITLELINK}'" \
+   "${XALANSRCDIR}/$1.xml" "${XALANSTYLE}"  >"${XALANOUTDIR}/$1.html"
diff --git a/xdocs/sources/make-xsltc.sh b/xdocs/sources/make-xsltc.sh
new file mode 100755
index 0000000..c27f63b
--- /dev/null
+++ b/xdocs/sources/make-xsltc.sh
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# Bourne shell script to create a single xalan-j webpage
+# Parameter $1 is the basename of the page to generate.
+#
+#-------------------------------------------------------------
+#
+# Set the current path to include the "Xalan" stylesheet transformation utility
+#
+# $1               The document filename (without extension) to transform
+#
+# -- The Environment Variables for this script --
+#
+# ${XALANBOOKXML}     The <book> navigation file for this project
+#
+# ${XALANCMD}         The Xalan command-line XSLT transformation utility
+#
+# ${XALANSTYLE}       The XSLT stylesheet to 
+#
+# ${XALANSRCDIR}      Source directory of STYLEBOOK markup XML documents
+#
+# ${XALANOUTDIR}      Target directory of XHTML web page documents
+#
+# ${XALANLOGOIMG}     Web Page Logo
+#
+# ${XALANLOGOWIDTH}   Web Page Logo Width
+#
+# ${XALANLOGOHEIGHT}  Web Page Logo Height
+#
+# ${XALANLOGOLINK}    Active Link for Web Page Logo
+#
+# ${XALANTITLELINK}   Active Link for Web Page Title
+#
+# ${WEBCREATED}       Web Page Creation Date
+#
+# -- The XSLT Stylesheet Top-Level Parameters
+#
+# sectionid        Top-level stylesheet parameter (document file id)
+#
+# createdate       Top-level stylesheet parameter (web page creation date)
+#
+# logoimage        Apache Trademark Logo Image
+#
+# logolink         Logo Image - hot link
+#
+# bookxml          The <book>.xml file for navigation
+#
+# booklink         The Hot-Link for Book Title in Header
+#
+
+# Set some environment variables
+
+XALANBOOKXML=xsltc.xml
+
+XALANCMD=Xalan
+
+XALANSTYLE=stylebook.xslt
+
+XALANSRCDIR=xsltc
+
+XALANOUTDIR=../../build/docs/xalan-j/xsltc
+
+XALANLOGOIMG=resources/XalanJ-Logo-tm.png
+
+XALANLOGOWIDTH=190
+
+XALANLOGOHEIGHT=90
+
+XALANLOGOLINK=../index.html
+
+XALANTITLELINK=index.html
+
+WEBCREATED=`date +"%a %F"`
+
+## DEBUG BEGIN
+
+#echo INPUT PARAM = $1
+#echo XALANBOOKXML = ${XALANBOOKXML}
+#echo XALANCMD = ${XALANCMD}
+#echo XALANSTYLE = ${XALANSTYLE}
+#echo XALANSRCDIR = ${XALANSRCDIR}
+#echo XALANOUTDIR = ${XALANOUTDIR}
+#echo XALANLOGOIMG = ${XALANLOGOIMG}
+#echo XALANLOGOWIDTH = ${XALANLOGOWIDTH}
+#echo XALANLOGOHEIGHT = ${XALANLOGOHEIGHT}
+#echo XALANLOGOLINK = ${XALANLOGOLINK}
+#echo XALANTITLELINK = ${XALANTITLELINK}
+#echo WEBCREATED = ${WEBCREATED}
+#exit
+
+## DEBUG END
+
+
+#
+# Create Target Directories
+#
+
+if [ ! -d "${XALANOUTDIR}" ]; then
+  mkdir -p "${XALANOUTDIR}"
+fi
+
+#IF EXIST "%XALANOUTDIR%" GOTO NEXT1
+#MKDIR "%XALANOUTDIR%"
+#:NEXT1
+
+if [ ! -d "${XALANOUTDIR}/resources" ] ; then
+  mkdir -p "${XALANOUTDIR}/resources"
+fi
+
+#IF EXIST "%XALANOUTDIR%/resources" GOTO NEXT2
+#MKDIR "%XALANOUTDIR%/resources"
+#:NEXT2
+
+#
+# Now create the specific web page from StyleBook XML
+#
+
+"${XALANCMD}" \
+  -p sectionid "'$1'" \
+  -p xmlsources "'${XALANSRCDIR}'" \
+  -p createdate "'${WEBCREATED}'" \
+  -p logoimage "'${XALANLOGOIMG}'" \
+  -p logowidth "'${XALANLOGOWIDTH}'" \
+  -p logoheight "'${XALANLOGOHEIGHT}'" \
+  -p logolink "'${XALANLOGOLINK}'" \
+  -p bookxml "'${XALANBOOKXML}'" \
+  -p booklink "'${XALANTITLELINK}'" \
+   "${XALANSRCDIR}/$1.xml" "${XALANSTYLE}"  >"${XALANOUTDIR}/$1.html"
diff --git a/xdocs/sources/stylebook.xslt b/xdocs/sources/stylebook.xslt
new file mode 100644
index 0000000..8918ce4
--- /dev/null
+++ b/xdocs/sources/stylebook.xslt
@@ -0,0 +1,988 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+-->
+
+<!--
+* <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
+* "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+-->
+
+<xsl:output  method="xml" version="1.0" indent="yes"
+  doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+  omit-xml-declaration="no"
+  encoding="UTF-8"
+  standalone="no"
+/>
+
+<!-- THE TOP-LEVEL PARAMETERS 
+
+  logoimage   = resource image for active logo (resources/asf_logo.png)
+  logolink    = logo active hyperlink          (http://xalan.apache.org)
+  logowidth   = width of trademark logo in pixels
+  logoheight  = height of tracemark logo in pixels
+
+  bookxml     = path to the book.xml for navigation and book title
+  booklink    = path to the index.html for the book
+
+  sectionid   = basename of the source xml file without the (.xml) extension.
+  createdate  = date that this stylesheet is used.
+
+  xmlsources  = directory where project sources reside
+
+ ===============
+
+  Building a documentation web page using a commandline XSLTt transformation program
+
+  EXSLT -p sectionid='getstarted' -p createdate='Aug 7, 2011'
+    -p logoimage='resources/xalan-logo.png'
+    -p logolink='http://xalan.apache.org'
+    -p logowidth='144'
+    -p logoheight='75'
+    -p bookxml='xalan.xml'
+    -p booklink='index.html'
+    xalan\documentfile.xml  xalan-manual.xslt  ..\html\documentfile.html
+-->
+
+<xsl:param name="logoimage">resources/asf_logo.png</xsl:param>
+<xsl:param name="logolink">http://www.apache.org</xsl:param>
+<xsl:param name="logowidth">144</xsl:param>
+<xsl:param name="logoheight">75</xsl:param>
+
+<xsl:param name="bookxml">xalan.xml</xsl:param>
+<xsl:param name="booklink">index.html</xsl:param>
+
+<xsl:param name="sectionid">index</xsl:param>
+<xsl:param name="createdate"/>
+
+<xsl:param name="xmlsources">xalan</xsl:param>
+
+
+<!-- THE ROOT TEMPLATE TO BUILD ASF STYLEBOOK WEB PAGE -->
+
+<xsl:template match="/">
+
+<!-- CONSTRUCT A BOOK TITLE FROM THE REFERENCED BOOK XML -->
+
+  <xsl:variable name="booktitle">
+    <xsl:value-of select='document($bookxml)/book/@title'/>
+  </xsl:variable>
+
+
+<!-- CONSTRUCT A BOOK SUBTITLE TITLE FROM SOURCE XML PROPERTIES -->
+
+  <xsl:variable name="xalantitle">
+    <xsl:choose>
+      <xsl:when test="s1/@title">
+        <xsl:value-of select="s1/@title"/>
+      </xsl:when>
+      <xsl:when test="s2/@title">
+        <xsl:value-of select="s2/@title"/>
+      </xsl:when>
+      <xsl:when test="s3/@title">
+        <xsl:value-of select="s3/@title"/>
+      </xsl:when>
+      <xsl:when test="faqs">
+        <xsl:choose>
+          <xsl:when test="faqs/@title">
+            <xsl:value-of select="faqs/@title"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Frequently Asked Questions</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:when test="resources">
+        <xsl:text>Resources</xsl:text>
+      </xsl:when>
+      <xsl:when test="changes/@title">
+        <xsl:value-of select="changes/@title"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>DEBUG - xalantitle not found</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+<xsl:element name='html'>
+  <xsl:element name='head'>
+    <xsl:element name='title'>
+      <xsl:value-of select="concat('ASF: ',$xalantitle)"/>
+    </xsl:element><!--/title-->
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+    <meta http-equiv="Content-Style-Type" content="text/css"/>
+    <link rel="stylesheet" type="text/css" href="resources/apache-xalan.css"/>
+  </xsl:element><!--/head-->
+
+<!-- PUT IN THE APACHE SOFTWARE FOUNDATION LICENSING STATEMENT -->
+ <xsl:comment>
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ </xsl:comment>
+
+ <body>
+   <!-- THE TITLE SECTION -->
+
+   <xsl:call-template name="doTitle">
+     <xsl:with-param name="headtitle">
+       <xsl:value-of select="$booktitle"/>
+     </xsl:with-param>
+     <xsl:with-param name="headtitlelink">
+       <xsl:value-of select="$booklink"/>
+     </xsl:with-param>
+     <xsl:with-param name="headsubtitle">
+       <xsl:value-of select="$xalantitle"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogoimg">
+       <xsl:value-of select="$logoimage"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogolink">
+       <xsl:value-of select="$logolink"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogoheight">
+       <xsl:value-of select="$logoheight"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogowidth">
+       <xsl:value-of select="$logowidth"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE NAVIGATION SECTION -->
+
+   <xsl:call-template name="doLeftNav">
+     <xsl:with-param name="sectparm">
+       <xsl:value-of select="$sectionid"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE MAIN CONTENT SECTION -->
+
+   <xsl:call-template name="doContent">
+     <xsl:with-param name="mysectionid">
+       <xsl:value-of select="$sectionid"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE COPYRIGHT FOOTER -->
+
+   <xsl:call-template name="doFooter">
+     <xsl:with-param name="releaseinfo">
+       <xsl:text>Web Page created on - </xsl:text>
+       <xsl:value-of select="$createdate"/>
+     </xsl:with-param>
+   </xsl:call-template>
+ </body>
+</xsl:element><!--html-->
+</xsl:template>
+
+
+<!-- DEBUG TEMPLATE -->
+<xsl:template name="DEBUG">
+  <xsl:param name="theText"/>
+  <xsl:param name="theNode"/>
+  <xsl:element name="DEBUG">
+    <xsl:element name="DEBUGTEXT">
+      <xsl:value-of select="$theText"/>
+    </xsl:element>
+    <xsl:if test="$theNode">
+      <xsl:element name="DEBUGNODES">
+        <xsl:copy-of select="$theNode"/>
+      </xsl:element>
+    </xsl:if>
+  </xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doTitle">
+  <xsl:param name="headtitle">XML StyleBook Example</xsl:param>
+  <xsl:param name="headtitlelink">index.html</xsl:param>
+  <xsl:param name="headsubtitle">Documentation Test Example</xsl:param>
+  <xsl:param name="headlogoimg">resources/asf_logo.png</xsl:param>
+  <xsl:param name="headlogolink">http://www.apache.org</xsl:param>
+  <xsl:param name="headlogoheight"><xsl:value-of select="$logoheight"/></xsl:param>
+  <xsl:param name="headlogowidth"><xsl:value-of select="$logowidth"/></xsl:param>
+  <xsl:element name="div">
+    <xsl:attribute name="id">
+       <xsl:text>title</xsl:text>
+    </xsl:attribute>
+    <table class="HdrTitle">
+    <tbody>
+    <tr>
+     <th rowspan="2">
+      <xsl:element name='a'>
+        <xsl:attribute name='href'><xsl:value-of select='$headlogolink'/></xsl:attribute>
+        <xsl:element name='img'>
+          <xsl:attribute name='alt'><xsl:text>Trademark Logo</xsl:text></xsl:attribute>
+          <xsl:attribute name='src'><xsl:value-of select="$headlogoimg"/></xsl:attribute>
+          <xsl:attribute name='width'><xsl:value-of select="$headlogowidth"/></xsl:attribute>
+          <xsl:attribute name='height'><xsl:value-of select="$headlogoheight"/></xsl:attribute>
+        </xsl:element><!-- img -->
+      </xsl:element><!-- a -->
+     </th>
+     <th text-align="center" width="75%">
+       <xsl:element name='a'>
+         <xsl:attribute name='href'>
+           <xsl:value-of select="$headtitlelink"/>
+         </xsl:attribute>
+         <xsl:value-of select="$headtitle"/>
+       </xsl:element><!-- a -->
+     </th>
+    </tr>
+    <tr>
+     <td valign="middle"><xsl:value-of select="$headsubtitle"/></td>
+    </tr>
+    </tbody>
+    </table>
+
+<!--  </xsl:element> -->
+
+<!-- Useful Emulation of Project Header Buttons -->
+
+<!-- <table class="HdrButtons"> -->
+
+    <table class="HdrButtons" align="center" border="1">
+     <tbody>
+      <tr>
+       <td><a href="http://www.apache.org">Apache Foundation</a></td>
+       <td><a href="http://xalan.apache.org">Xalan Project</a></td>
+       <td><a href="http://xerces.apache.org">Xerces Project</a></td>
+       <td><a href="http://www.w3.org/TR">Web Consortium</a></td>
+       <td><a href="http://www.oasis-open.org/standards">Oasis Open</a></td>
+      </tr>
+     </tbody>
+    </table>
+  </xsl:element>
+<!-- -->
+
+</xsl:template>
+
+
+<xsl:template name="doLeftNav">
+<xsl:param name="sectparm" select="''"/>
+<xsl:element name="div">
+  <xsl:attribute name="id">navLeft</xsl:attribute>
+  <ul>
+  <xsl:for-each select="document($bookxml)/book/*">
+    <xsl:if test="name(.)!='hidden'">
+    <xsl:choose>
+      <xsl:when test="name(.)='external'">
+        <li>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="@href"/>
+          </xsl:attribute>
+          <xsl:value-of select="@label"/>
+        </xsl:element>
+        </li>
+      </xsl:when>
+      <xsl:when test="name(.)='resources'">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != 'resources'">
+            <a href="resources.html">Resources</a><br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Resources</xsl:text><br/>
+        </xsl:otherwise>
+      </xsl:choose>
+      </li>
+      </xsl:when>
+      <xsl:when test="name(.)='changes'">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != 'changes'">
+            <a href="changes.html">Changes</a><br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Changes</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+        </li>
+      </xsl:when>
+      <xsl:when test="name(.)='separator'">    <!--  </ul>   <hr/>      <ul> -->
+        <xsl:text disable-output-escaping="yes">&lt;/ul&gt;&lt;hr /&gt;&lt;ul&gt;</xsl:text>
+      </xsl:when>
+      <xsl:when test="(name(.)='document') or (name(.)='faqs')">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != string(@id)">
+            <xsl:element name="a">
+              <xsl:attribute name="href">
+                <xsl:value-of select="concat(@id,'.html')"/>
+              </xsl:attribute>
+              <xsl:value-of select="@label"/>
+            </xsl:element>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="@label"/><br/>
+          </xsl:otherwise>
+        </xsl:choose>
+        </li>
+      </xsl:when>
+
+
+      <xsl:when test="name(.)='group'">
+        <xsl:text disable-output-escaping="yes">&lt;/ul&gt;</xsl:text>
+        <xsl:element name="p">
+          <xsl:attribute name="class">navGroup</xsl:attribute>
+          <em><xsl:value-of select="@label"/></em>
+        </xsl:element>
+        <xsl:text disable-output-escaping="yes">&lt;ul&gt;</xsl:text>
+
+        <xsl:for-each select="./*"> 
+          <xsl:choose>
+
+            <xsl:when test="name(.)='external'">
+              <li>
+              <xsl:element name="a">
+                <xsl:attribute name="href">
+                  <xsl:value-of select="@href"/>
+                </xsl:attribute>
+                <xsl:value-of select="@label"/>
+              </xsl:element>
+              </li>
+            </xsl:when>
+            <xsl:when test="name(.)='resources'">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != 'resources'">
+                  <a href="resources.html">Resources</a><br/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>Resources</xsl:text><br/>
+              </xsl:otherwise>
+            </xsl:choose>
+            </li>
+            </xsl:when>
+            <xsl:when test="name(.)='changes'">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != 'changes'">
+                  <a href="changes.html">Changes</a><br/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>Changes</xsl:text>
+                </xsl:otherwise>
+              </xsl:choose>
+              </li>
+            </xsl:when>
+            <xsl:when test="(name(.)='document') or (name(.)='faqs')">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != string(@id)">
+                  <xsl:element name="a">
+                    <xsl:attribute name="href">
+                      <xsl:value-of select="concat(@id,'.html')"/>
+                    </xsl:attribute>
+                    <xsl:value-of select="@label"/>
+                  </xsl:element>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:value-of select="@label"/><br/>
+                </xsl:otherwise>
+              </xsl:choose>
+              </li>
+            </xsl:when>
+
+
+            <xsl:otherwise>
+<!--
+ ! Unrecognized child of Navigation <group> element -->
+-->
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+<!--
+ ! Unrecognized child of Navigation <book> element -->
+-->
+      </xsl:otherwise>
+    </xsl:choose>
+    </xsl:if> <!-- not hidden -->
+  </xsl:for-each>
+  </ul>
+</xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doContent">
+  <xsl:element name="div">
+    <xsl:attribute name="id">content</xsl:attribute>
+    <xsl:choose>
+      <xsl:when test="faqs">
+        <xsl:for-each select="faqs">
+          <xsl:call-template name="doFaqDocument"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:when test="resources">
+        <xsl:for-each select="resources">
+          <xsl:call-template name="doResDocument"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:when test="changes">
+        <xsl:for-each select="changes">
+          <xsl:call-template name="doChangesDoc"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doFooter">
+  <xsl:param name="releaseinfo"/>
+  <xsl:element name="div">
+    <xsl:attribute name="id">footer</xsl:attribute>
+    <!-- copyright byline information -->
+    <!-- &#169; is the (c) copyright symbol -->
+    <xsl:text>Copyright &#169; 1999-2014 The Apache Software Foundation</xsl:text><br/>
+    <xsl:text>Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation</xsl:text>
+    <xsl:element name="div">
+      <xsl:attribute name="class">small</xsl:attribute>
+      <xsl:value-of select="$releaseinfo"/>
+    </xsl:element>
+  </xsl:element>
+</xsl:template>
+
+
+<!-- 
+  getPrevFaqCount returns the number of <faq> elements found in the previous <group>s 
+  Used to create sequential ID numbers across <faq> groups for titles and anchors.
+-->
+
+<xsl:template name="getPrevFaqCount">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:variable name="faqcount">
+    <xsl:choose>
+      <xsl:when test="$mygroup &lt;= 1">0</xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="subcount">
+          <xsl:call-template name="getPrevFaqCount">
+            <xsl:with-param name="mygroup" select="$mygroup - 1"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:value-of select="$subcount + count(./group[position()= ($mygroup - 1)]/faq)"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:value-of select="$faqcount"/>
+</xsl:template>
+
+<!-- Recursive - Generate the grouped faq Questions section -->
+
+<xsl:template name="groupFaqQuestions">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:if test="./group[position()=$mygroup]">
+    <h3><xsl:value-of select="./group[position()=$mygroup]/@title"/></h3>
+    <xsl:variable name="prevfaqs">
+      <xsl:call-template name="getPrevFaqCount">
+        <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="./group[position()=$mygroup]">
+
+<!-- list must have at least one faq -->
+      <xsl:if test="./faq[position()=1]">
+        <xsl:element name="ol">
+          <xsl:attribute name="start">
+            <xsl:value-of select="$prevfaqs + 1"/>
+          </xsl:attribute>
+          <xsl:call-template name="doFaqTitles">
+            <xsl:with-param name="faqNbr"><xsl:value-of select="$prevfaqs + 1"/></xsl:with-param>
+          </xsl:call-template>
+        </xsl:element>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:call-template name="groupFaqQuestions">
+      <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup + 1"/></xsl:with-param>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+<!-- Recursive - Generate the grouped faq Answers section -->
+
+<xsl:template name="groupFaqAnswers">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:if test="./group[position()=$mygroup]">
+    <xsl:variable name="prevfaqs">
+      <xsl:call-template name="getPrevFaqCount">
+        <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="./group[position()=$mygroup]">
+      <xsl:if test="./faq[position()=1]">
+        <xsl:call-template name="doFaqContent">
+          <xsl:with-param name="faqNbr" select="$prevfaqs + 1"/>
+        </xsl:call-template>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:call-template name="groupFaqAnswers">
+      <xsl:with-param name="mygroup" select="$mygroup + 1"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+
+<!-- Updated to accommodate faq groups for XALAN-J -->
+
+<xsl:template name="doFaqDocument">
+  <h2 class="faqSubHead">Questions</h2>
+  <xsl:choose>
+    <xsl:when test="./group[position()=1]">
+      <xsl:call-template name="groupFaqQuestions"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:if test="./faq[position()=1]">
+        <ol start="1">
+           <xsl:call-template name="doFaqTitles"/>
+        </ol>
+      </xsl:if>
+    </xsl:otherwise>
+  </xsl:choose>
+  <h2 class="faqSubHead">Answers</h2>
+  <xsl:choose>
+    <xsl:when test="./group[position()=1]">
+      <xsl:call-template name="groupFaqAnswers"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:call-template name="doFaqContent"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+
+<xsl:template name="doFaqTitles">
+  <xsl:param name="faqNbr">1</xsl:param>
+  <xsl:param name="myNbr">1</xsl:param>
+  <xsl:if test="faq[position()=$myNbr]">
+    <!-- output the title reference -->
+    <li>
+    <xsl:element name="a">
+      <xsl:attribute name="href">
+        <xsl:value-of select="concat('#faq-', $faqNbr)"/>
+      </xsl:attribute>
+      <xsl:value-of select="faq[position()=$myNbr]/@title"/>
+    </xsl:element>
+    </li>
+    <!-- get the next faq if any -->
+    <xsl:call-template name="doFaqTitles">
+      <xsl:with-param name="faqNbr" select="number($faqNbr + 1)"/>
+      <xsl:with-param name="myNbr" select="number($myNbr + 1)"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template> 
+
+
+<xsl:template name="doFaqContent">
+  <xsl:param name="faqNbr">1</xsl:param>
+  <xsl:param name="myNbr">1</xsl:param>
+
+  <xsl:if test="faq[position()=$myNbr]">            <!-- output content of this element only -->
+
+<!--  <h3><xsl:value-of select="faq[position()=$myNbr]/@title"/></h3>     -->
+
+    <xsl:element name="h3">
+      <xsl:attribute name="id">
+        <xsl:value-of select="concat('faq-', $faqNbr)"/>
+      </xsl:attribute>
+      <xsl:attribute name="class">
+        <xsl:text>faqTitle</xsl:text>
+      </xsl:attribute>
+      <xsl:value-of select="concat($faqNbr, '. ', faq[position()=$myNbr]/@title)"/>
+    </xsl:element>
+
+<!--  The FAQ Text Part                            -->
+    <xsl:for-each select="faq[position()=$myNbr]/*">      <!-- children of 'faq' -->
+      <xsl:choose>
+        <xsl:when test="name(.)='q'">                  <!-- The Question Text -->
+          <div class="faqQuestion">
+            <xsl:apply-templates/>               <!-- children of 'q' -->
+          </div>
+        </xsl:when>
+        <xsl:when test="name(.)='a'">                  <!-- The Answer Text -->
+          <br/>
+          <hr/>
+          <div class="faqAnswer">
+            <xsl:apply-templates/>               <!-- children of 'a' -->
+          </div>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+
+    <xsl:call-template name="goToTop"/>
+
+<!--  Recurse for next faq item                    -->
+    <xsl:call-template name="doFaqContent">
+      <xsl:with-param name="faqNbr" select="number($faqNbr + 1)"/>
+      <xsl:with-param name="myNbr" select="number($myNbr + 1)"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template> 
+
+
+<xsl:template name="goToTop">
+  <p align="right" size="2">
+    <a href="#content">(top)</a>
+  </p>
+</xsl:template>
+
+
+<xsl:template name="doResDocument">
+  <xsl:for-each select="resource|human-resource">
+    <xsl:choose>
+      <xsl:when test="name(.)='resource'">
+<!--    <h4 class="resourcetitle"><strong><xsl:value-of select="@title"/></strong><h4> -->
+        <xsl:element name="h4">
+          <xsl:attribute name="class">resourcetitle</xsl:attribute>
+          <strong><xsl:value-of select="@title"/></strong>
+        </xsl:element>
+        <p>id = [<xsl:value-of select="@id"/>]<br/>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="@location"/>
+          </xsl:attribute>
+          <xsl:value-of select="@location"/>
+        </xsl:element><br/></p>
+      </xsl:when>
+      <xsl:when test="name(.)='human-resource'">
+<!--    <h4 class="resourcetitle"><strong><xsl:value-of select="@name"/></strong><h4> -->
+        <xsl:element name="h4">
+          <xsl:attribute name="class">resourcetitle</xsl:attribute>
+          <strong><xsl:value-of select="@name"/></strong>
+        </xsl:element>
+        <p>id = [<xsl:value-of select="@id"/>]<br/>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat('mailto:',@mailto)"/>
+          </xsl:attribute>
+          <xsl:value-of select="concat('mailto:',@mailto)"/>
+        </xsl:element><br/></p>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="doChangesDoc">
+  <!-- context is <changes> element -->
+  <xsl:for-each select="release">
+    <h3 class="chgRelease">
+      <xsl:value-of select="concat('Release ',@version,' (',@date,')')"/>
+    </h3>
+    <xsl:if test="features">
+      <h4 class="chgFeatures"><xsl:text>Features</xsl:text></h4>
+      <xsl:for-each select="features">
+        <ul>
+          <xsl:for-each select="feat">
+            <li><xsl:apply-templates/></li>
+          </xsl:for-each>
+        </ul>
+        <hr/>
+      </xsl:for-each>
+    </xsl:if>
+    <xsl:if test="fixes">
+      <h4 class="chgFixes"><xsl:text>Bug Fixes</xsl:text></h4>
+      <xsl:for-each select="fixes">
+        <ul>
+          <xsl:for-each select="fix">
+            <li><xsl:apply-templates/></li>
+          </xsl:for-each>
+        </ul>
+        <hr/>
+      </xsl:for-each>
+    </xsl:if>
+    <xsl:call-template name="goToTop"/>
+  </xsl:for-each>
+</xsl:template>
+
+<!-- THE MATCHING TEMPLATE RULES -->
+
+<xsl:template match="s1">
+  <h2><xsl:value-of select="@title"/></h2>
+  <xsl:apply-templates/>
+  <xsl:call-template name="goToTop"/>
+</xsl:template>
+
+<xsl:template match="s2">
+  <xsl:call-template name="goToTop"/>
+  <h3><xsl:value-of select="@title"/></h3>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="s3">
+  <xsl:call-template name="goToTop"/>
+  <h4><xsl:value-of select="@title"/></h4>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="s4">
+  <h5><xsl:value-of select="@title"/></h5>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<!--<!ENTITY % blocks "p|note|ul|ol|gloss|table|source|anchor">-->
+
+<xsl:template match="p">
+  <p><xsl:apply-templates/></p>
+</xsl:template>
+
+<xsl:template match="ul">
+  <ul><xsl:apply-templates/></ul>
+</xsl:template>
+
+<xsl:template match="ol">
+  <ol><xsl:apply-templates/></ol>
+</xsl:template>
+
+<xsl:template match="li">
+  <li><xsl:apply-templates/></li>
+</xsl:template>
+
+<xsl:template match="table">
+  <table border="1"><xsl:apply-templates/></table>
+</xsl:template>
+
+<xsl:template match="tr">
+  <tr><xsl:apply-templates/></tr>
+</xsl:template>
+
+<xsl:template match="tn">
+ <td class="empty"/><!-- empty table element -->
+</xsl:template>
+
+<xsl:template match="th">
+  <xsl:element name="th">
+    <xsl:attribute name="class">content</xsl:attribute>
+    <xsl:if test="@rowspan">
+      <xsl:attribute name="rowspan">
+        <xsl:value-of select="@rowspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@colspan">
+      <xsl:attribute name="colspan">
+        <xsl:value-of select="@colspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="td">
+  <xsl:element name="td">
+    <xsl:attribute name="class">content</xsl:attribute>
+    <xsl:if test="@rowspan">
+      <xsl:attribute name="rowspan">
+        <xsl:value-of select="@rowspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@colspan">
+      <xsl:attribute name="colspan">
+        <xsl:value-of select="@colspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!--
+<xsl:template match="note">
+  <blockquote class="note"><xsl:apply-templates/></blockquote>
+</xsl:template>
+-->
+
+<xsl:template match="note">
+    <xsl:element name="table">
+      <xsl:attribute name="class">note</xsl:attribute>
+      <tr>
+        <xsl:element name="td">
+          <xsl:attribute name="class">noteImg</xsl:attribute>
+          <xsl:element name="img">
+            <xsl:attribute name="src">resources/note.gif</xsl:attribute>
+            <xsl:attribute name="alt">note</xsl:attribute>
+          </xsl:element>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:attribute name="class">noteTxt</xsl:attribute>
+          <xsl:apply-templates/>
+        </xsl:element>
+      </tr>
+    </xsl:element>
+</xsl:template>
+
+<xsl:template match="source">
+  <blockquote class="source"><pre><xsl:value-of select="."/></pre></blockquote>
+</xsl:template>
+
+<xsl:template match="hidden">
+<!-- content is hidden -->
+</xsl:template>
+
+<!--<!ENTITY % markup "em|ref|code|br">-->
+
+<xsl:template match="br">
+  <br/>
+</xsl:template>
+
+<xsl:template match="em">
+  <b><xsl:apply-templates/></b>
+</xsl:template>
+
+<xsl:template match="code">
+  <code><xsl:apply-templates/></code>
+</xsl:template>
+
+<xsl:template match="ref">
+  <b><i><xsl:apply-templates/></i></b>
+</xsl:template>
+
+<!-- Glossary Items <label> <item> -->
+
+<xsl:template match="label">
+  <p class="label"><xsl:apply-templates/></p>
+</xsl:template>
+
+<xsl:template match="item">
+  <p class="item"><xsl:apply-templates/></p>
+</xsl:template>
+
+<!--<!ENTITY % links "link|anchor|jump|img|resource-ref|human-resource-ref">-->
+
+<xsl:template match="anchor">
+  <xsl:element name="a">
+    <xsl:attribute name="name">
+       <xsl:value-of select="@name"/>
+    </xsl:attribute>
+    <xsl:text>&#8204;</xsl:text> <!-- (zero-width non-join) character -->
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="img">
+  <xsl:copy-of select="."/>
+</xsl:template>
+
+<!-- Glossary elements "gloss (label|item)* -->
+
+<xsl:template match="gloss">
+  <xsl:element name="div">
+    <xsl:attribute name="class">glossary</xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="label">
+  <p class="label"><em>
+  <xsl:apply-templates/>
+  </em></p>
+</xsl:template>
+
+<xsl:template match="item">
+  <xsl:element name="blockquote">
+    <xsl:attribute name="class">item</xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!-- ********
+<!ELEMENT link (#PCDATA|img)*>
+<!ATTLIST link idref NMTOKEN #IMPLIED
+    anchor CDATA  #IMPLIED>
+
+<!ELEMENT jump (#PCDATA|img)*>
+<!ATTLIST jump href CDATA #REQUIRED>
+*************
+-->
+
+<xsl:template match="link">
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:if test="@idref">
+        <xsl:value-of select="concat(@idref, '.html')"/>
+      </xsl:if>
+      <xsl:if test="@anchor">
+        <xsl:value-of select="concat('#', @anchor)"/>
+      </xsl:if>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="jump">
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="@href"/>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!-- cross-reference resource elements -->
+
+<!--
+ Resolve Resource References through "resources.xml" document
+-->
+<xsl:template match="resource-ref">
+  <xsl:variable name="idval" select="@idref"/>
+  <xsl:variable name="resref" 
+        select="document(concat($xmlsources,'/resources.xml'))//resource[@id=$idval]"/>
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="$resref/@location"/>
+    </xsl:attribute>
+    <xsl:value-of select="$resref/@title"/>
+  </xsl:element>
+</xsl:template>
+
+<!--
+ Resolve Mailbox References through "resources.xml" document
+-->
+
+<xsl:template match="human-resource-ref">
+  <xsl:variable name="idval" select="@idref"/>
+  <xsl:variable name="resref" 
+        select="document(concat($xmlsources,'/resources.xml'))//human-resource[@id=$idval]"/>
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="concat('mailto:',$resref/@mailto)"/>
+    </xsl:attribute>
+    <xsl:value-of select="$resref/@name"/>
+  </xsl:element>
+</xsl:template>
+
+
+</xsl:stylesheet>
diff --git a/xdocs/sources/xalan-apache-org-site.xml b/xdocs/sources/xalan-apache-org-site.xml
index 300ff1e..db5eb33 100644
--- a/xdocs/sources/xalan-apache-org-site.xml
+++ b/xdocs/sources/xalan-apache-org-site.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
+<!DOCTYPE book SYSTEM "../style/dtd/book.dtd">
 
 <!--
  * Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/xdocs/sources/xalan-jlocal.xml b/xdocs/sources/xalan-jlocal.xml
index 36236ec..61c39a0 100644
--- a/xdocs/sources/xalan-jlocal.xml
+++ b/xdocs/sources/xalan-jlocal.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
+<!DOCTYPE book SYSTEM "../style/dtd/book.dtd">
 
 <!--
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -20,7 +20,7 @@
 <!-- $Id$ -->
 
 <book title="Xalan XSL Transformer User's Guide" copyright="1999-2014 The Apache Software Foundation">
-  <resources source="sbk:/sources/xalan/resources.xml"/>
+  <resources source="../sources/xalan/resources.xml"/>
   <document id="whatsnew"    label="What's New"      source="xalan/whatsnew.xml"/>
   <document id="readme"      label="Release Notes"   source="xalan/readme.xml"/>  
   <separator/>
diff --git a/xdocs/sources/xalan-jsite.xml b/xdocs/sources/xalan-jsite.xml
index ce2bde0..dc328e8 100644
--- a/xdocs/sources/xalan-jsite.xml
+++ b/xdocs/sources/xalan-jsite.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
+<!DOCTYPE book SYSTEM "../style/dtd/book.dtd">
 
 <!--
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -20,7 +20,7 @@
 <!-- $Id$ -->
 
 <book title="Xalan XSL Transformer User's Guide" copyright="1999-2014 The Apache Software Foundation">
-  <resources source="sbk:/sources/xalan/resources.xml"/>
+  <resources source="../sources/xalan/resources.xml"/>
   <external href="http://xalan.apache.org/index.html" label="Home"/>
   <separator/>
   <document id="index" label="Xalan-J 2.7.2" source="xalan/index.xml"/>
diff --git a/xdocs/sources/xalan/bugreporting.xml b/xdocs/sources/xalan/bugreporting.xml
index 2cae981..a48a8d3 100644
--- a/xdocs/sources/xalan/bugreporting.xml
+++ b/xdocs/sources/xalan/bugreporting.xml
@@ -22,7 +22,7 @@
   <ul>
   <li>If doubt exists whether the behaviour in question is a bug or a feature, 
       please post a message to the 
-      <jump href="http://xml.apache.org/mail.html#xalan-j-users">xalan-j-users@xml.apache.org</jump>
+      <jump href="mailto:j-users@xalan.apache.org">j-users@xalan.apache.org</jump>
       list for clarification.</li>
   <li>To help eliminate duplicate or invalid bug reports, please take a quick look at
       bugs in JIRA to see whether the bug has been already reported and/or fixed. 
diff --git a/xdocs/sources/xalan/contact_us.xml b/xdocs/sources/xalan/contact_us.xml
index db2eadc..5cecbe5 100644
--- a/xdocs/sources/xalan/contact_us.xml
+++ b/xdocs/sources/xalan/contact_us.xml
@@ -1,105 +1,101 @@
-<?xml version="1.0" standalone="no"?>

-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">

-<!--

- * Licensed to the Apache Software Foundation (ASF) under one or more

- * contributor license agreements.  See the NOTICE file distributed with

- * this work for additional information regarding copyright ownership.

- * The ASF licenses this file to You 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.

--->

-<!-- $Id$ -->

- 

-

-<s1 title="Contact us">

-<ul>

-<li><link anchor="contact">Getting in touch</link></li>

-<li><link anchor="reporting-bugs">Reporting bugs</link></li>

-<li><link anchor="user-mailing-list">User mailing list</link></li>

-<li><link anchor="dev-maling-list">Developer mailing list</link></li>

-<li><link anchor="subscribe">Subscribe to a mailing list</link></li>

-</ul>

-

-<anchor name="contact"/>

-<s2 title="Getting in touch">

-  <p>

-    Your feedback is more than welcome. Offers of help are even more so! 

-    Perhaps you would like to 

-    take on an active role in the ongoing development, 

-    testing, and documentation of &xslt4j;?

-  </p> 

-  <p>

-    Please email your comments, questions, suggestions, 

-    and offers to join the Xalan team to <human-resource-ref idref="xalandev"/>

-    (xalan-dev@xml.apache.org).</p>

- </s2>

-<anchor name="reporting-bugs"/>

-<s2 title="Reporting bugs">

-  <p>

-    If you need to contact the Xalan team to report a bug please see

-    this <link idref="bugreporting">bug reporting page</link>.

-  </p>

-</s2>

-

-<anchor name="user-mailing-list"/>

-<s2 title="User mailing list">

-  <p>

-    If you think you have encountered a bug, but you aren't sure because 

-    it might be a usage problem, or if you have other questions about Xalan 

-    post a note to

-    <jump href="mailto:xalan-j-users@xml.apache.org">xalan-j-users&#64;xml.apache.org</jump>

-    This mailing list pertains to only to the Java version of Xalan.

-  </p>

-  <p>

-    To view a history of posts to xalan-j-users you can go to

-    <jump href="http://mail-archives.apache.org/mod_mbox/xml-xalan-j-users/">

-    xalan-j-users mail archives at Apache</jump> or

-    <jump href="http://marc.theaimsgroup.com/?l=xalan-j-users">xalan-j-users mail archives at MARC</jump>.

-   </p>

-</s2>

-

-<anchor name="dev-mailing-list"/>

-<s2 title="Developer mailing list">

-  <p>

-    The participating developers of the Xalan meet and discuss issues, 

-    code changes/additions, etc. at 

-    <jump href="mailto:xalan-dev@xml.apache.org">xalan-dev@xml.apache.org</jump>.

-    This mailing list pertains to both the Java and C++ versions of Xalan.

-  </p>

-  <p>

-    To view a history of posts to xalan-dev you can go to

-    <jump href="http://mail-archives.apache.org/mod_mbox/xml-xalan-dev/">

-    xalan-dev mail archives at Apache</jump> or

-    <jump href="http://marc.theaimsgroup.com/?l=xalan-dev">xalan-dev mail archives at MARC</jump>.

-   </p> 

-</s2>

-<anchor name='subscribe'/>

-<s2 title="Subscribe to a mailing list">

- <p>

-    You may want to subscribe to a mailing list before posting a note, so that if 

-    others post a response to the mailing list you will get copied.

-  </p>

-  <p>

-    To subscribe an email account to the Xalan user mailing list send a note to 

-    xalan-j-users-subscribe&#64;xml.apache.org from that account. To unsubscribe

-    do the same, except replace <em>subscribe</em> with <em>unsubscribe</em>.

-  </p>

-  <p>

-    To subscribe to the Xalan developer mailing list send a note to 

-    xalan-dev-subscribe&#64;xml.apache.org. To unsubscribe

-    do the same, except replace <em>subscribe</em> with <em>unsubscribe</em>.

-  </p>  

-  <p>

-    For more information on XML related Apache mailing lists go to

-    <jump href="http://xml.apache.org/mail.html">Apache mailing lists</jump>. 

-  </p>  

-</s2>

-</s1> 

+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+-->
+<!-- $Id$ -->
+ 
+
+<s1 title="Contact us">
+<ul>
+<li><link anchor="contact">Getting in touch</link></li>
+<li><link anchor="reporting-bugs">Reporting bugs</link></li>
+<li><link anchor="user-mailing-list">User mailing list</link></li>
+<li><link anchor="dev-maling-list">Developer mailing list</link></li>
+<li><link anchor="subscribe">Subscribe to a mailing list</link></li>
+</ul>
+
+<anchor name="contact"/>
+<s2 title="Getting in touch">
+  <p>
+    Your feedback is more than welcome. Offers of help are even more so! 
+    Perhaps you would like to 
+    take on an active role in the ongoing development, 
+    testing, and documentation of &xslt4j;?
+  </p> 
+  <p>
+    Please email your comments, questions, suggestions, 
+    and offers to join the Xalan team to <human-resource-ref idref="xalandev"/>
+    (dev@xalan.apache.org).</p>
+ </s2>
+<anchor name="reporting-bugs"/>
+<s2 title="Reporting bugs">
+  <p>
+    If you need to contact the Xalan team to report a bug please see
+    this <link idref="bugreporting">bug reporting page</link>.
+  </p>
+</s2>
+
+<anchor name="user-mailing-list"/>
+<s2 title="User mailing list">
+  <p>
+    If you think you have encountered a bug, but you aren't sure because 
+    it might be a usage problem, or if you have other questions about Xalan 
+    post a note to
+    <jump href="mailto:j-users@xalan.apache.org">j-users&#64;xalan.apache.org</jump>
+    This mailing list pertains to only to the Java version of Xalan.
+  </p>
+  <p>
+    To view a history of posts to xalan-j-users you can go to
+    <jump href="http://mail-archives.apache.org/mod_mbox/xml-xalan-j-users/">
+    xalan-j-users mail archives at Apache</jump> or
+    <jump href="http://marc.theaimsgroup.com/?l=xalan-j-users">xalan-j-users mail archives at MARC</jump>.
+   </p>
+</s2>
+
+<anchor name="dev-mailing-list"/>
+<s2 title="Developer mailing list">
+  <p>
+    The participating developers of the Xalan meet and discuss issues, 
+    code changes/additions, etc. at 
+    <jump href="mailto:dev@xalan.apache.org">dev@xalan.apache.org</jump>.
+    This mailing list pertains to both the Java and C++ versions of Xalan.
+  </p>
+  <p>
+    To view a history of posts to xalan-dev you can go to
+    <jump href="http://mail-archives.apache.org/mod_mbox/xml-xalan-dev/">
+    xalan-dev mail archives at Apache</jump> or
+    <jump href="http://marc.theaimsgroup.com/?l=xalan-dev">xalan-dev mail archives at MARC</jump>.
+   </p> 
+</s2>
+<anchor name='subscribe'/>
+<s2 title="Subscribe to a mailing list">
+ <p>
+    You may want to subscribe to a mailing list before posting a note, so that if 
+    others post a response to the mailing list you will get copied.
+  </p>
+  <p>
+    To subscribe an email account to the Xalan user mailing list send a note to 
+    j-users-subscribe&#64;xalan.apache.org from that account. To unsubscribe
+    do the same, except replace <em>subscribe</em> with <em>unsubscribe</em>.
+  </p>
+  <p>
+    To subscribe to the Xalan developer mailing list send a note to 
+    dev-subscribe&#64;xalan.apache.org. To unsubscribe
+    do the same, except replace <em>subscribe</em> with <em>unsubscribe</em>.
+  </p> 
+</s2>
+</s1> 
diff --git a/xdocs/sources/xalan/getstarted.xml b/xdocs/sources/xalan/getstarted.xml
index 497dafd..a91283f 100644
--- a/xdocs/sources/xalan/getstarted.xml
+++ b/xdocs/sources/xalan/getstarted.xml
@@ -65,7 +65,7 @@
   </ol>
   <p>For example, go to the SimpleTransform subdirectory and issue the following command:</p>
   <p><code>java SimpleTransform</code></p>
-  <p>The sample writes the transformation result to a file (birds.out). To see how the example works, 
+  <p>The sample writes the transformation result  to a file (birds.out). To see how the example works, 
      examine the source files: birds.xml, birds.xsl, and SimpleTransform.java.</p>
   <p>The extensions examples require additional JAR files on the classpath, and the procedure for 
      running the sample applet and sample servlet is different. For more information about all the 
diff --git a/xdocs/sources/xalan/overview.xml b/xdocs/sources/xalan/overview.xml
index 429227e..41f374e 100644
--- a/xdocs/sources/xalan/overview.xml
+++ b/xdocs/sources/xalan/overview.xml
@@ -36,7 +36,7 @@
    and tutorials on XSLT, see <link anchor="uptospeed">Getting up to speed with XSLT</link>.</p> 
 <note>XSL also includes a vocabulary for formatting documents, which is not part of &xslt4j;. 
       For more information, see <resource-ref idref="xsl"/> and the <jump
-      href="http://xml.apache.org/fop">Apache XML FOP (Formatting Objects Project)</jump>.</note>
+      href="http://xmlgraphics.apache.org/fop">Apache XmlGraphics FOP (Formatting Objects Project)</jump>.</note>
 <p>XSL stylesheets are written in the XSLT language. An XSL stylesheet contains instructions 
    for transforming XML documents into XML, HTML, XHTML or plain text. In structural terms, an XSL
    stylesheet specifies the transformation of one tree of 
diff --git a/xdocs/sources/xalan/resources.xml b/xdocs/sources/xalan/resources.xml
index 3ea604d..6a93e7d 100644
--- a/xdocs/sources/xalan/resources.xml
+++ b/xdocs/sources/xalan/resources.xml
@@ -31,25 +31,25 @@
 <resources> 	
   <resource id="xslt4j" 
             title="&xslt4j;" 
-            location="http://xml.apache.org/xalan-j"/>
+            location="http://xalan.apache.org/xalan-j"/>
   <resource id="xslt4j-current" 
             title="&xslt4j-current;" 
-            location="http://xml.apache.org/xalan-j"/>
+            location="http://xalan.apache.org/xalan-j"/>
 
   <resource id="xslt4j-distdir" 
             title="xalan-j distribution directory" 
-            location="http://www.apache.org/dyn/closer.cgi/xml/xalan-j"/>
+            location="http://www.apache.org/dyn/closer.cgi/xalan/xalan-j"/>
 
   <resource id="xslt4j-distdir-previous" 
             title="xalan-j archive directory" 
-            location="http://archive.apache.org/dist/xml/xalan-j/"/>
+            location="http://archive.apache.org/dist/xalan/xalan-j/"/>
 
   <resource id="xml4j-used" 
             title="&xml4j-used;" 
             location="http://xerces.apache.org/xerces2-j/index.html"/>
   <resource id="xml4j-distdir" 
             title="xerces-j distribution directory" 
-            location="http://www.apache.org/dyn/closer.cgi/xml/xerces-j/"/>
+            location="http://www.apache.org/dyn/closer.cgi/xerces/j/"/>
   <resource id="ant" title="Ant" 
             location="http://jakarta.apache.org/ant/index.html"/>
   <resource id="ApacheLicense" 
@@ -116,10 +116,10 @@
             location="http://java.sun.com/webservices/jaxp/index.jsp"/>            
   <resource id="jaxp13-longname-withacronym"
             title="&jaxp13-long;" 
-            location="http://java.sun.com/webservices/jaxp/index.jsp"/>            
+            location="https://jaxp.java.net/"/>            
   <resource id="jaxp13"
             title="&jaxp13-short;"
-            location="http://java.sun.com/webservices/jaxp/index.jsp"/>
+            location="https://jaxp.java.net/"/>
   <resource id="jsr063"
             title="Java Specification Request 63"
             location="http://jcp.org/aboutJava/communityprocess/review/jsr063/"/>
@@ -146,8 +146,10 @@
 
   <human-resource id="xalandev" 
                   name="Xalan Development Mailing List" 
-                  mailto="xalan-dev@xml.apache.org"/>
-
+                  mailto="dev@xalan.apache.org"/>
+  <human-resource id="shathaway"
+                  name="Steven J. Hathaway"
+                  mailto="shathaway@apache.org"/>
   <human-resource id="sboag"
                   name="Scott Boag"
                   mailto="scott_boag@us.ibm.com"/>
diff --git a/xdocs/sources/xalandesign.xml b/xdocs/sources/xalandesign.xml
index 1a88b77..668e1f8 100644
--- a/xdocs/sources/xalandesign.xml
+++ b/xdocs/sources/xalandesign.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
+<!DOCTYPE book SYSTEM "../style/dtd/book.dtd">
 
 <!--
  * Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/xdocs/sources/xsltc.xml b/xdocs/sources/xsltc.xml
index 2fcc0f2..2715ded 100644
--- a/xdocs/sources/xsltc.xml
+++ b/xdocs/sources/xsltc.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
+<!DOCTYPE book SYSTEM "../style/dtd/book.dtd">
 <!--
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
diff --git a/xdocs/style/dtd/blocks.ent b/xdocs/style/dtd/blocks.ent
new file mode 100644
index 0000000..16114e7
--- /dev/null
+++ b/xdocs/style/dtd/blocks.ent
@@ -0,0 +1,40 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- BLOCKS ENTITY -->
+<!ENTITY % blocks "p|note|ul|ol|gloss|table|source|anchor">
+
+<!-- import the external markup.ent dtd -->
+<!ENTITY % markupEntity SYSTEM "markup.ent">
+%markupEntity;
+
+<!ENTITY % content "(#PCDATA|%markup;|%links;)*">
+
+<!ELEMENT p %content;>
+<!ELEMENT note %content;>
+
+<!ELEMENT ul (li|ol|ul)+>
+<!ELEMENT ol (li|ol|ul)+>
+<!ELEMENT li %content;>
+
+<!ELEMENT gloss (label|item)+>
+<!ELEMENT label %content;>
+<!ELEMENT item %content;>
+
+<!ELEMENT source (#PCDATA)>
+
+<!ELEMENT table (tr)+>
+
+<!ELEMENT tr (tn|th|td)+>
+
+<!ELEMENT tn EMPTY>
+<!ATTLIST tn colspan CDATA "1"
+             rowspan CDATA "1">
+
+<!ELEMENT th %content;>
+<!ATTLIST th colspan CDATA "1"
+             rowspan CDATA "1">
+
+<!ELEMENT td %content;>
+<!ATTLIST td colspan CDATA "1"
+             rowspan CDATA "1">
+             
\ No newline at end of file
diff --git a/xdocs/style/dtd/book.dtd b/xdocs/style/dtd/book.dtd
new file mode 100644
index 0000000..724185a
--- /dev/null
+++ b/xdocs/style/dtd/book.dtd
@@ -0,0 +1,56 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- STYLEBOOK BOOK DTD -->
+
+<!-- import the external source-specific dtd -->
+<!ENTITY % externalEntity SYSTEM "../../sources/entities.ent">
+%externalEntity;
+
+<!ELEMENT book (resources?|document|hidden|faqs|changes|group|external|separator)+>
+<!ATTLIST book title     CDATA #REQUIRED
+               copyright CDATA #IMPLIED>
+               
+<!ELEMENT resources EMPTY>
+<!ATTLIST resources source CDATA #REQUIRED>
+
+<!ELEMENT document EMPTY>
+<!ATTLIST document id     ID    #REQUIRED
+                   source CDATA #REQUIRED
+                   label  CDATA #REQUIRED>
+
+<!ELEMENT hidden EMPTY>
+<!ATTLIST hidden id     ID    #REQUIRED
+                 source CDATA #REQUIRED>
+
+<!ELEMENT faqs EMPTY>
+<!ATTLIST faqs id     ID    #REQUIRED
+               source CDATA #REQUIRED
+               label  CDATA #REQUIRED>
+
+<!ELEMENT changes EMPTY>
+<!ATTLIST changes id     ID    #REQUIRED
+                  source CDATA #REQUIRED
+                  label  CDATA #REQUIRED>
+
+<!-- (entry) not supported in markup, cannot be tested -->
+<!-- (group) not to have entry children, only standard children -->
+<!-- <!ELEMENT group (entry)+> -->
+
+<!ELEMENT group (document|faqs|changes|external)*> 
+<!ATTLIST group id    ID    #IMPLIED
+                label CDATA #REQUIRED>
+
+<!-- (entry) not supported in markup, cannot be tested
+<!ELEMENT entry EMPTY>
+<!ATTLIST entry id     ID    #REQUIRED
+                source CDATA #REQUIRED>
+-->
+
+<!ELEMENT external EMPTY>
+<!ATTLIST external label CDATA #REQUIRED
+                   href  CDATA #REQUIRED>
+                   
+<!ELEMENT separator EMPTY>
+
+<!-- CVS $Revision: 1.3 $ $Date: 1999/12/01 23:03:37 $ -->
+<!-- Revision by (shathaway@apache.org) 2011/09/01 -->
\ No newline at end of file
diff --git a/xdocs/style/dtd/changes.dtd b/xdocs/style/dtd/changes.dtd
new file mode 100644
index 0000000..6e0a16c
--- /dev/null
+++ b/xdocs/style/dtd/changes.dtd
@@ -0,0 +1,24 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- STYLEBOOK CHANGES DTD -->
+
+<!-- import the external markup.ent dtd -->
+<!ENTITY % markupEntity SYSTEM "markup.ent">
+%markupEntity;
+
+<!ENTITY % content "(#PCDATA|%markup;|%links;)*">
+
+<!ELEMENT changes (release)+>
+<!ATTLIST changes title CDATA #REQUIRED>
+
+<!ELEMENT release ((features,fixes)|(features)|(fixes))>
+<!ATTLIST release version CDATA #REQUIRED
+                  date    CDATA #IMPLIED>
+
+<!ELEMENT features (feat)+>
+<!ELEMENT fixes (fix)+>
+
+<!ELEMENT feat %content;>
+<!ELEMENT fix %content;>
+
+<!-- CVS $Revision: 1.3 $ $Date: 1999/12/01 23:03:37 $ -->
\ No newline at end of file
diff --git a/xdocs/style/dtd/characters.ent b/xdocs/style/dtd/characters.ent
new file mode 100644
index 0000000..6507091
--- /dev/null
+++ b/xdocs/style/dtd/characters.ent
@@ -0,0 +1,297 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- CHARACTERS ENTITY -->
+
+<!-- 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                                   -->
+
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY quot     "&#34;">   <!-- U+0022 ISOnum    - quotation mark = APL quote                                            -->
+<!ENTITY amp      "&#38;">   <!-- U+0026 ISOnum    - ampersand                                                             -->
+<!ENTITY lt       "&#60;">   <!-- U+003C ISOnum    - less-than sign                                                        -->
+<!ENTITY gt       "&#62;">   <!-- U+003E ISOnum    - greater-than sign                                                     -->
+
+<!-- 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                                                    -->
+
+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->
+
+<!-- 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. -->
diff --git a/xdocs/style/dtd/document.dtd b/xdocs/style/dtd/document.dtd
new file mode 100644
index 0000000..f6c16e9
--- /dev/null
+++ b/xdocs/style/dtd/document.dtd
@@ -0,0 +1,19 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- STYLEBOOK DOCUMENT DTD -->
+
+<!-- import the external blocks.ent dtd -->
+<!ENTITY % blocksEntity SYSTEM "blocks.ent">
+%blocksEntity;
+
+<!ELEMENT s1 (s2|%blocks;)*>
+<!ELEMENT s2 (s3|%blocks;)*>
+<!ELEMENT s3 (s4|%blocks;)*>
+<!ELEMENT s4 (%blocks;)*>
+
+<!ATTLIST s1 title CDATA #REQUIRED>
+<!ATTLIST s2 title CDATA #REQUIRED>
+<!ATTLIST s3 title CDATA #REQUIRED>
+<!ATTLIST s4 title CDATA #REQUIRED>
+
+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->
\ No newline at end of file
diff --git a/xdocs/style/dtd/faqs.dtd b/xdocs/style/dtd/faqs.dtd
new file mode 100644
index 0000000..dd36453
--- /dev/null
+++ b/xdocs/style/dtd/faqs.dtd
@@ -0,0 +1,27 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- STYLEBOOK FAQS DTD -->
+
+<!-- import the external blocks.ent dtd -->
+<!ENTITY % blocksEntity SYSTEM "blocks.ent">
+%blocksEntity;
+
+<!ELEMENT faqs (group,faq)+>
+<!ATTLIST faqs title CDATA #REQUIRED>
+
+<!-- XALAN-J: (group) Allow for grouping of faqs -->
+
+<!ELEMENT group (faq)*>
+<!ATTLIST group id      CDATA #IMPLIED
+                label   CDATA #IMPLIED
+                title   CDATA #REQUIRED>
+
+<!-- Allow multiple Answers for a given FAQ Question -->
+<!ELEMENT faq (q,a+)>
+<!ATTLIST faq title CDATA #IMPLIED>
+
+<!ELEMENT q (#PCDATA)>
+<!ELEMENT a (%blocks;)+>
+
+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->
+<!-- Revision by (shathaway@apache.org) 2011/09/01 -->
\ No newline at end of file
diff --git a/xdocs/style/dtd/links.ent b/xdocs/style/dtd/links.ent
new file mode 100644
index 0000000..b6ccc07
--- /dev/null
+++ b/xdocs/style/dtd/links.ent
@@ -0,0 +1,24 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- LINKS ENTITY -->
+<!ENTITY % links "link|anchor|jump|img|resource-ref|human-resource-ref">
+
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor name NMTOKEN #REQUIRED>
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img src CDATA #REQUIRED
+              alt CDATA #REQUIRED>
+
+<!ELEMENT link (#PCDATA|img)*>
+<!ATTLIST link idref NMTOKEN #IMPLIED
+               anchor CDATA  #IMPLIED>
+
+<!ELEMENT jump (#PCDATA|img)*>
+<!ATTLIST jump href CDATA #REQUIRED>
+
+<!-- cross-reference resource elements -->
+<!ELEMENT resource-ref 		EMPTY>
+<!ATTLIST resource-ref 		idref CDATA #REQUIRED>
+<!ELEMENT human-resource-ref 	EMPTY>
+<!ATTLIST human-resource-ref 	 idref CDATA #REQUIRED>
\ No newline at end of file
diff --git a/xdocs/style/dtd/markup.ent b/xdocs/style/dtd/markup.ent
new file mode 100644
index 0000000..ee666c8
--- /dev/null
+++ b/xdocs/style/dtd/markup.ent
@@ -0,0 +1,21 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- MARKUP ENTITY -->
+<!ENTITY % markup "em|ref|code|br">
+
+<!-- import the external source-specific dtd -->
+<!ENTITY % externalEntity SYSTEM "../../sources/entities.ent">
+%externalEntity;
+<!-- import the external charecters.ent dtd -->
+<!ENTITY % charEntity SYSTEM "characters.ent">
+%charEntity;
+<!-- import the external links.ent dtd -->
+<!ENTITY % linksEntity SYSTEM "links.ent">
+%linksEntity;
+
+<!ELEMENT em (#PCDATA|%links;)*>
+<!ELEMENT ref (#PCDATA|%links;)*>
+<!ELEMENT code (#PCDATA|%links;|ref)*>
+<!ELEMENT br EMPTY>
+
+<!-- CVS $Revision: 1.2 $ $Date: 1999/12/01 23:03:37 $ -->
\ No newline at end of file
diff --git a/xdocs/xslt-resources/Xalan-Logo-tm.png b/xdocs/xslt-resources/Xalan-Logo-tm.png
new file mode 100644
index 0000000..9a08808
--- /dev/null
+++ b/xdocs/xslt-resources/Xalan-Logo-tm.png
Binary files differ
diff --git a/xdocs/xslt-resources/Xalan-Logo.txt b/xdocs/xslt-resources/Xalan-Logo.txt
new file mode 100644
index 0000000..a405efc
--- /dev/null
+++ b/xdocs/xslt-resources/Xalan-Logo.txt
@@ -0,0 +1,85 @@
+

+The XALAN Logo

+

+Graphic: A stylized version of the African Xalam instrument.

+

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/xdocs/xslt-resources/Xalan-Trademark.txt b/xdocs/xslt-resources/Xalan-Trademark.txt
new file mode 100644
index 0000000..5f5c264
--- /dev/null
+++ b/xdocs/xslt-resources/Xalan-Trademark.txt
@@ -0,0 +1,106 @@
+

+The XALAN Logo - Trademark Description

+--------------------------------------

+

+Prepared By:  

+

+	Steven J. Hathaway

+

+	(shathaway@apache.org)

+

+	September 3, 2011

+

+
+

+Prepared for:

+

+	The Apache Software Foundation

+

+--------------------------------------

+

+Graphic: A stylized version of the African Xalam instrument.

+

+Note: the difference in spelling.

+

+	Xalam is the African Musical Instrument

+	Xalan is the Apache Xalan Software Project

+

+

+TEXT FONTS SIZE AND STYLE:

+

+TM (trademark symbol)

+

+	Font: Arial

+	Size: 14pt

+	Style: Bold)

+

+XSLT

+

+	Font: Arial

+	Size: 22pt

+	Style: Bold

+

+Apache Software Foundation (trademark name)

+

+	Font: Arial

+	Size: 18pt

+	Style: Bold

+	Note: 2 space characters between words

+

+Xalan	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-C	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+Xalan-J	(trademark name)

+

+	Font: Segoe Print

+	Size: 48pt

+	Style: Bold

+

+

+INSTRUMENT GRAPHIC (vector equations)

+

+	Vertical Width:		0.75 inch (3/4)

+	HorizontalLength:	3.667 inch (3 2/3)

+

+	Oval on the left,

+	neck and butt on the right.

+

+	Oval Width:		0.75 inch (3/4)

+	Oval Length:		1.583 inch (1 7/12)

+

+	Neck Width:		0.167 inch (1/6)

+

+	Butt Width:		0.25 inch (1/4)

+	Butt Length:		0.417 inch (5/12)

+

+

+Description of instrument logo

+

+	Oval: simulation of a gourd sound chamber

+	With orange gradation hues

+

+	Neck: rectangle simulating a round fingerboard

+	With yellow-green gradation hues

+

+	Butt: rounded rectangle simulating end of neck

+	With olive-green hue

+

+	String Anchor:  rounded rectangle on the gourd

+	With olive-green hue

+

+	2 strings: the full length from Anchor to Butt

+

+	2 strings: tied to neck, at 1/2 length from Anchor to Butt

+

+	3 Loose Tie Strings on the Butt, simulating tuning anchors

+

+	
\ No newline at end of file
diff --git a/xdocs/xslt-resources/XalanJ-Logo-tm.png b/xdocs/xslt-resources/XalanJ-Logo-tm.png
new file mode 100644
index 0000000..cab93a7
--- /dev/null
+++ b/xdocs/xslt-resources/XalanJ-Logo-tm.png
Binary files differ
diff --git a/xdocs/xslt-resources/apache-xalan.css b/xdocs/xslt-resources/apache-xalan.css
new file mode 100644
index 0000000..fc2fa1a
--- /dev/null
+++ b/xdocs/xslt-resources/apache-xalan.css
@@ -0,0 +1,414 @@
+/* Xalan-C/C++ Project Web Pages (css) Stylesheet */

+

+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you 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.

+*/

+

+/* This (css) stylesheet renders the xhtml web pages that were generated

+ * from StyleBook XML markup using the "xalan-book.xslt" transformation.

+*/

+

+html > bod  {left:0;}

+body {

+/*  background-color: white; */

+  background-color: #f8f8f0;

+  color: black;

+  padding: 0;

+  margin: 0;

+  font-family: arial, "lucida console", san-serif;

+}

+

+/* Emulate table align=center */

+div.centered, td.centered {

+  text-align: center;

+}

+

+div.centered table {

+  margin: 0 auto;

+  text-align: left;

+}

+

+/*

+ * ID Sections

+ */

+

+#content {

+  width: 80%;

+  float: left;

+  font-size: 12pt;

+  padding-top: 1em;

+  padding-left: 5px;

+  margin-left: 10px;

+  border-left: 1px solid #aaa;

+}

+

+#navLeft {

+  clear: left;

+  width: 15%;

+  float: left;

+  padding: 2px;

+  margin-left: 1%;

+  color: red;

+  position: relative;

+  left: 1px;

+  background-color: #eee;

+}

+

+.navGroup {

+  color: Black;

+  font-size: 14pt;

+}

+

+

+#title {

+  color: black;

+  background-color: #eee;

+  text-align: center;

+  border-bottom: 1px solid #aaa;

+  padding: 0;

+  vertical-align: middle;

+}

+

+table.HdrTitle {

+  font-size: 18pt;

+}

+

+table.HdrButtons {

+  font-size: 8pt;

+  background-color: #ccf;

+  align: "center";

+  border: "1";

+

+}

+

+#footer {

+    clear: both;

+    margin: 0 2em;

+    color: #444;

+    background-color: #ddd;

+    text-align: center;

+    padding: .5em 0;

+    font-size: 75%;

+    border-top: 1px solid #aaa;

+}

+

+/*

+ * Anchors

+ */

+

+a {

+  color: blue;

+  text-decoration: undedrline;

+}

+

+a img {

+  border: 0;

+}

+

+a:hover {

+  text-decoration: none;

+  background-color: #d7c9c9;

+}

+

+/*

+ * Headers

+ */

+

+h1 {}

+

+#title h1 {

+  padding: 1px 0;

+  margin: 0;

+  float: right;

+  width: 60%;

+  font-size: 20pt;

+  text-align: center;

+}

+

+#content h1 { background-color: #8af }

+

+h2 {}

+

+#title h2 {

+  font-size: 14pt;

+  width: 60%;

+  text-alignment: center;

+  padding: 1px 0;

+  margin: 0;

+}

+

+#content h2 { background-color: #9bf }

+

+#content h2.year {

+  background-color: #ddd;

+  text-align: center;

+}

+

+h3 {}

+

+#content h3.monthName {

+  background-color: #333;

+  text-align: center;

+}

+

+#content h3 { background-color: #acf }

+

+h4{}

+

+#content h4.eventTitle {

+  margin-left: 1%;

+  border-bottom: 1px solid blue;

+}

+

+#content h4 { background-color: #cdf }

+

+/*

+ * Tables

+ */

+

+th {}

+

+td {}

+

+th.content {background-color: #4BD }

+td.content {background-color: #AEF }

+

+/*

+ * Lists and navLeft

+ */

+

+ul {}

+

+#navLeft ul {

+  list-style-type: none;

+  margin: 0;

+  padding: 0;

+}

+

+#navLeft ul li {

+  margin: 0;

+}

+

+#navLeft ul li p {

+  margin: 0;

+}

+

+#navLeft ul li ul {

+  list-style-type: none;

+  font-size: 90%;

+  margin: 0 2em;

+}

+

+#navLeft ul li ul li {

+  margin: 0;

+}

+

+/*

+ * Paragraphs

+ */

+

+p {}

+

+#navLeft p {

+  text-align: center;

+  padding: 0 auto;

+  margin: 0;

+}

+

+#footer p {

+  padding: 0;

+}

+

+#content p.topalign {

+  vertical-align: middle;

+  height: 2em;

+  text-align: center;

+  width: 100%;

+  padding: .5em;

+  border: 1px solid #ddd;

+}

+

+#content p.topalign img {

+  vertical-align: middle;

+  text-align: text-middle;

+}

+

+#content p.quote {

+  color:black;

+  font-style: italic;

+  font-size: 110%;

+  margin-left: 10%;

+  margin-right: 10%;

+  padding 1em;

+  border: 1px solid #ddd;

+  text-align: center;

+}

+

+#content p.navbar {

+  font-size: 90%;

+  text-align: center;

+  border-top: 1px solid #ddd;

+  border-bottom: 1px solid #ddd;

+}

+

+blockquote {}

+

+blockquote.note {

+  font-size: 80%;

+  border: 1px solid #ddd;

+  background-color: #eee;

+}

+

+td.noteImg {

+  background-color: white;

+  border: 0;

+}

+

+td.noteTxt {

+  background-color: white;

+  font-size: 120%;

+  border: 2px solid #ddd;

+  background-color: #eee;

+}

+

+/**

+ ** UNSPECIFIED IN APACHE STYLEBOOK DTD

+ ** <caution>..</caution> and <warning>..</warning>

+ **

+ * 

+ * td.cautionImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.cautionTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+ * 

+ * td.warningImg {

+ *   background-color: white;

+ *   border: 0;

+ * }

+ * 

+ * td.warningTxt {

+ *   background-color: white;

+ *   font-size: 120%;

+ *   border: 2px solid #ddd;

+ *   background-color: #eee;

+ * }

+ * 

+**/

+

+

+blockquote.source {

+  font-size: 75%;

+}

+

+code {

+  font-size: 75%;

+}

+

+

+/*

+ * Special Table (note)

+ */

+

+#notediv div { background-color: white }

+

+table.note {

+  width: 90%;

+}

+

+td.noteImg {

+  background-color: white;

+  vertical-align: top;

+  border: 0;

+  width: 24;

+}

+

+td.noteTxt {

+  color: black;

+  background-color: #eee;

+  font-size: 90%;

+  border: 2px solid;

+  border-color: #ccc;

+}

+

+

+/*

+ * Images

+ */

+

+img {}

+

+

+#footer img {

+  border: 0;

+}

+

+

+/*

+ * Document Divisions

+ */

+

+div {}

+

+/*

+ * Pre

+ */

+

+pre {}

+

+

+/*

+ * Generic Classes

+ */

+

+.indented {

+  margin-left: 3%;

+}

+

+.topBanner {

+  float: right;

+  margin: 0;

+  border: 0;

+  vertical-align: middle;

+}

+

+.noborder {

+  border: 0;

+  margin: 0;

+}

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

diff --git a/xdocs/xslt-resources/asf_logo.png b/xdocs/xslt-resources/asf_logo.png
new file mode 100644
index 0000000..66c34f0
--- /dev/null
+++ b/xdocs/xslt-resources/asf_logo.png
Binary files differ
diff --git a/xdocs/xslt-resources/note.gif b/xdocs/xslt-resources/note.gif
new file mode 100644
index 0000000..3394222
--- /dev/null
+++ b/xdocs/xslt-resources/note.gif
Binary files differ