This commit was manufactured by cvs2svn to create tag
'xalan-j_2_0_1_DTMBASE'.

git-svn-id: https://svn.apache.org/repos/asf/xalan/java/tags/xalan-j_2_0_1_DTMBASE@334561 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/KEYS b/KEYS
deleted file mode 100644
index c8683c8..0000000
--- a/KEYS
+++ /dev/null
@@ -1,73 +0,0 @@
-This file contains the PGP keys of various Xalan developers.
-Please don't use them for email unless you have to. Their main
-purpose is code signing.
-
-Xalan users: pgp < KEYS
-Xalan developers: pgp -kxa <your name> and append it to this file.
-
-
-Type Bits/KeyID    Date       User ID
-pub  1024/30A21D55 1999/11/04 Shane Curcuru <shane_curcuru@lotus.com>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGP Personal Privacy 6.5.3
-
-mQGiBDghjNIRBADXB4UY4YfZ2DmbSushlzPZCkY00iDPUB+GkW6FQhgnGCLZovgy
-FhCnCsKdN1xyHFq/Ns3PV3HPrMGxFKgVOfRuxREbF8CoXAa/u0qR1WoAm+rlyC9l
-OVsHdXxyOpZ8e4SPGne8LQYZwr2q+LsHiXOZktkaBo8ua8F4EJYkBMFhZQCg/4Iw
-jXmfpt661Essmf8d05cMdAcEAL0r+PrFxCmrU8Ok+r74+eqyclxVbiDbOf7Uef6N
-fEJmC5ihX7p8k8eEf2XepeAo6N0gdOxYVXVwcoRCmqPy7SSg1jnXqKOnA87ylv16
-lOiJ5WUkiVX96WOWEsbbYKuggmWeDL+6iFc9hp6oEP2sf/geC8AEAEHTPfneJzpo
-3z28A/9iX41r4K0iRx5eIJu2KUrjdpPxhn0JPe9dz2XzWZIciNeki+ThrcarEj9h
-lmfvcGLifXbQfXuFid3btMsBRI8dqAbbXmyfvCYYSHDOkXEmoMW66AWfeF4hgfHF
-SA5lmcpH4mtHU69uC0+cvYlRROP+HaeOepYbriA+9A9Qq4MAW7QnU2hhbmUgQ3Vy
-Y3VydSA8c2hhbmVfY3VyY3VydUBsb3R1cy5jb20+iQBOBBARAgAOBQI4IYzSBAsD
-AgECGQEACgkQMuwXWTCiHVXQIQCg1Q1MKkWygIsDGAOhiPaM09pTdlUAniTeCkoO
-I0+2IgD/NtqnGDaSvNDniQBGBBARAgAGBQI4qZk/AAoJEFHrPvFXdlryVbIAoO/e
-gti1esgRI6GErIhICg3IoctfAKDlpw6NWq/WTxk1Aa0pN/1b6fmD5LkCDQQ4IYzS
-EAgA9kJXtwh/CBdyorrWqULzBej5UxE5T7bxbrlLOCDaAadWoxTpj0BV89AHxstD
-qZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryD
-xUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrUGvC/RgBYK+X0iP1YTknbzSC0neSR
-BzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGze
-MyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcpesqVDNmWn6vQClCbAkbTCD1mpF1B
-n5x8vYlLIhkmuquiXsNV6TILOwACAggAzu/QObuykLGwPLCoSQEKfeNSGPOr7wK2
-XSp8c8DS1B2jrVL4oH+PYb6wVhcNd3+Xt4+P/BfllemRU80GD6t/RHoTEZhIhp/3
-8erBLJfLPqFDYdjKf30EMMjFWIhecg9QnZSXU2f7EJ24L+/vnotjAz6hZfJvjb1b
-1tX3PQ1W2e+lTFhSz1RYSKx4msEcez3Z0wValNqWlet3t78cCZRT4fPOkyM4C7Fb
-tK6csvFUXkIfu3qgx4aVk8HUIwXkHZD2W7XiFSPhMtgcPeUAb3AIeYJs/iqP4H4N
-4oJ8B6tXxmpDm3P85PhC4gJOFUThnZKGkLtWwdUago8XSKB5VUA/UIkARgQYEQIA
-BgUCOCGM0gAKCRAy7BdZMKIdVXS+AKDhyJwx048+c7ATINSGf6IxiXQyYQCg46pJ
-/fc0HVWUvHfjioDRaLQUIv8=
-=ut/M
------END PGP PUBLIC KEY BLOCK-----
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGP 6.5.8
-
-mQGiBDnjTUMRBADGzi7y1XiTty/HZ1QhRQxMkyf7JD/E5dGXCVLRoSQV9/hdKPtF
-OGzjZQt6DssPnisgrW6hSLEs8GrZKHCZE6z8h5Yekg+WJTs3K0LNJ3X/tStVe/fU
-DarLM7u0qwtcsaISWFMRoy1xbrxBkpFBeNkD+FRUk8sXTVXoOGvm3Fw/8wCg/+pg
-Y7XD6ZIA0m/CxrxR+xTBri8D/Rk4/5rzsT42AImJwAweJidzlmmvWcDGjZolDxrH
-TlVpIXFjGFJBj9tg1Xz+3/w9zKyk900gcwlHU7uz28xPylishgd8DyAb/enSXsEy
-NC1EagypAbMpEhTAdBaUNPb6t8yOX3dHUki5yuZ+PryOyKWTaiHyhHLwJ5vZi9xm
-o+/ZBACqjUqAL27JOC1qw1zrWCQQzEJIeIIdGFEGoMBiFC425vh/1dJA1LUICHSZ
-bZvg7VlvAMErnZb/IcVx4LX4R8Uergh0E/4Xi6krTYZvDuI4RmP5Jn/7IaK2c27I
-lCx7I0hj4CQIWVIEVCDAGjJk9E38VahJYHySHzjMdhXSjTbqW7QnTG90dXN4c2wg
-VGVhbSA8TG90dXN4c2xfVGVhbUBsb3R1cy5jb20+iQBOBBARAgAOBQI5401DBAsD
-AgECGQEACgkQGbnBi2RCw9yVZwCgjxC/ie5/GhPLZyQhMSQvJuDJP8kAn17UNfN/
-tRtFfcJDrNcC7P21ut+VuQINBDnjTUMQCAD2Qle3CH8IF3KiutapQvMF6PlTETlP
-tvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2
-Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVy
-OtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPw
-pVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnI
-Byl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICB/9g
-5aR6mWbvaZAwN/IFwIC9cd54cDAW6pvowo6/gkgLfwULI7iGR8jrHHs9rSu968fV
-3L7ys3pFLR93/22mJR1InTp+qQdUntcnh5fwbAd9Z8NoM2QEuY4c7cVjobazOgPf
-C6XZkS1C3tHcvUedzR8kmf1hiRtILWW2pF7A9JbJB3RHcuBut3cS3eME2+s+dCSl
-SugZKyVFuiDoKO59TD7OIn9dwipVhX7UgG0uLDlZzCd9dHLsrlr75LDxIZyiifDB
-1oa+xM5smFYEqux+3lf/UNGhpxcaGDJM09UUpOVv8yVz+FZQilZ7Bu0XKvnj1p91
-YFVAiQvQHijya+kMy6MCiQBGBBgRAgAGBQI5401DAAoJEBm5wYtkQsPcPlUAoNkm
-fMB0HL71h5QYfB/NRJupWsWUAKCi2UETq9cwA7QtuMyQ1cjvkA1mnQ==
-=lNZ2
------END PGP PUBLIC KEY BLOCK-----
-
diff --git a/License b/License
deleted file mode 100644
index 21156a6..0000000
--- a/License
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 207f367..0000000
--- a/Makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-###########################################################
-# Makefile for xml-xalan, an XSLT Processor
-#
-# Please note the following assumptions!
-#  - See make.include for system tools definitions. We assume
-#    that each of these tools are on the path and properly setup.
-#  
-#  - Use GNU make or an equivalent.  On Win32, you can see
-#    http://sourceware.cygnus.com/cygwin for a port. 
-#  
-#  - With JDK 1.1.7B or earlier, a 'make all' may fail the first
-#    time. Try running it again twice, and everything should work.
-#    Note that when using JDK 1.2.x, it all works fine. We'll work on it.
-#  
-#  - Note the several attempts to determine if we're on WinXX or Unix:
-#    ifeq (,$(findstring usr,$(PATH)))
-#    Feel free to modify to work for your machine, and suggest a better
-#    way to create a platform-independent makefile.
-#  
-#  - The docs directory currently requires javadoc from the JDK 1.2.x
-#    You may need to edit make.include 'JAVADOC12' for your system.
-#
-#  - Yes, we plan to move to an 'Ant' based make system soon
-#    (Ant is from jakarta.apache.org and is a Java-based make)
-###########################################################
-
-include make.include
-
-SUBDIRS = src
-
-###########################################################
-# Main targets definitions
-#
-# Note that make.include also defines common targets
-###########################################################
-all: makesubdirs jars makesamples makedocs
-
-build: makesubdirs jars
-# To change debug/release options, see make.include for JAVADEBUG flag
-
-# Create a distribution module
-dist: makedist
-
-docs: makedocs
-
-samples: makesamples
-
-jars: makesubdirs $(JARNAME)
-
-compat: makecompat compatjars
-
-PROPPATH = org$(PATHSEP)apache$(PATHSEP)xalan$(PATHSEP)res
-$(JARNAME)::
-	-mkdir src/$(CLASS_DIR)/META-INF;
-	-mkdir src/$(CLASS_DIR)/META-INF/services;
-	$(CP) src/$(PROPPATH)/*.properties src/$(CLASS_DIR)/$(PROPPATH)/.; \
-	$(CP) src/org/apache/serialize/*.properties src/$(CLASS_DIR)/org/apache/serialize/.; \
-	$(CPR) src/META-INF/* src/$(CLASS_DIR)/META-INF/.; \
-	echo -n "Jarring ../bin/$@ .. "; \
-	cd src/$(CLASS_DIR); $(JAR) $(JARFLAGS) ../../bin/$@ META-INF javax org; \
-	echo "done"
-
-compatjars:
-	echo -n "Jarring ../bin/$@ .. "; \
-	cd src/$(CLASS_DIR); $(JAR) $(JARFLAGS) ../../bin/$@.jar org/apache/xalan/xslt org/apache/xalan/xpath; \
-	echo "done"
-
-# Note: When making dist, copy the built docs up one level
-# Note: Create both a super-jar and a tar.gz archive
-DISTDIR  = $(PRODUCT_NAME)$(VERSION)
-.PHONY: makedist
-makedist:
-	echo Prepare creating $(DIST_NAME)
-	-mkdir $(DISTDIR)
-	$(CP) * $(DISTDIR);\
-	$(CPR) xdocs $(DISTDIR);\
-	$(CPR) samples $(DISTDIR);\
-	$(CPR) src $(DISTDIR);\
-	$(CPR) build/docs $(DISTDIR);\
-	echo Create $(JARDISTNAME);\
-	$(JAR) -cf $(JARDISTNAME) $(DISTDIR);\
-	echo Create $(TARDISTNAME);\
-	$(TARGZ) $(TARDISTNAME) $(DISTDIR);\
-	echo Create $(ZIPDISTNAME);\
-	$(JAR) -cMf $(ZIPDISTNAME) $(DISTDIR);\
-	echo Done creating $(JARDISTNAME) etc., you should sign this with PGP before posting
-
-# Subsidiary targets are defined in make.include
-clean:: cleansubdirs cleandocs cleansamples
-
-compatclean:: cleancompat
-
diff --git a/bin/ant.jar b/bin/ant.jar
deleted file mode 100644
index e4efab3..0000000
--- a/bin/ant.jar
+++ /dev/null
Binary files differ
diff --git a/bin/antRun b/bin/antRun
deleted file mode 100644
index f0a18f1..0000000
--- a/bin/antRun
+++ /dev/null
@@ -1,9 +0,0 @@
-#! /bin/sh
-
-# Args: DIR command
-cd "$1"
-CMD="$2"
-shift
-shift
-
-exec $CMD "$@"
diff --git a/bin/antRun.bat b/bin/antRun.bat
deleted file mode 100755
index 816cb60..0000000
--- a/bin/antRun.bat
+++ /dev/null
@@ -1,20 +0,0 @@
-@echo off
-
-# Change drive and directory to %1 (Win9X only for NT/2K use "cd /d")
-cd %1
-%1\
-set ANT_RUN_CMD=%2
-shift
-shift
-
-set PARAMS=
-:loop
-if ""%1 == "" goto runCommand
-set PARAMS=%PARAMS% %1
-shift
-goto loop
-
-:runCommand
-rem echo %ANT_RUN_CMD% %PARAMS%
-%ANT_RUN_CMD% %PARAMS%
-
diff --git a/bin/bsf.jar b/bin/bsf.jar
deleted file mode 100644
index 19036c1..0000000
--- a/bin/bsf.jar
+++ /dev/null
Binary files differ
diff --git a/bin/stylebook-1.0-b3_xalan-2.jar b/bin/stylebook-1.0-b3_xalan-2.jar
deleted file mode 100644
index 2b640e9..0000000
--- a/bin/stylebook-1.0-b3_xalan-2.jar
+++ /dev/null
Binary files differ
diff --git a/bin/xalan2jdoc.jar b/bin/xalan2jdoc.jar
deleted file mode 100644
index 484b47b..0000000
--- a/bin/xalan2jdoc.jar
+++ /dev/null
Binary files differ
diff --git a/bin/xerces.jar b/bin/xerces.jar
deleted file mode 100644
index 3c7d18a..0000000
--- a/bin/xerces.jar
+++ /dev/null
Binary files differ
diff --git a/build.bat b/build.bat
deleted file mode 100755
index 6c91b9d..0000000
--- a/build.bat
+++ /dev/null
@@ -1,56 +0,0 @@
-@echo off
-rem Prerequisites: user must set JAVA_HOME
-if "%JAVA_HOME%" == "" goto error
-echo.
-echo Xalan-J 2.x Build
-echo -------------
-
-rem Default ANT_HOME if not set
-set SAVEANTHOME=%ANT_HOME%
-if "%ANT_HOME%" == "" set ANT_HOME=.
-
-rem This automatically adds system classes to CLASSPATH
-set SAVECP=%CLASSPATH%
-if exist "%JAVA_HOME%\lib\tools.jar" set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\tools.jar
-if exist "%JAVA_HOME%\lib\classes.zip" set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\classes.zip
-
-rem Default locations of jars we depend on 
-set ANT=bin\ant.jar
-set XERCES=bin\xerces.jar
-set BSF=bin\bsf.jar
-set BSFENGINES=bin\bsfengines.jar
-set DOCGENERATOR=bin\stylebook-1.0-b3_xalan-2.jar
-set DOCLET=bin\xalanjdoc.jar
-
-rem DOCLET must be on system CLASSPATH for javadocs task to work. Just including it in
-rem -classpath arg for java or javadoc call doesn't work....
-rem set CLASSPATH=%ANT%;%XERCES%;%BSF%;%BSFENGINES%;%DOCGENERATOR%;%DOCLET%;%CLASSPATH%
-set CLASSPATH=%ANT%;%XERCES%;%DOCGENERATOR%;%DOCLET%;%CLASSPATH%
-echo.
-echo Building with classpath %CLASSPATH%
-echo Starting Ant...
-
-rem Temporarily, up the -mx memory since we compile a really big glob of files
-echo %JAVA_HOME%\bin\java.exe -mx64m -Dant.home="%ANT_HOME%" -classpath "%CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
-"%JAVA_HOME%\bin\java.exe" -mx64m -Dant.home="%ANT_HOME%" -classpath "%CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
-
-goto end
-
-:error
-
-echo "ERROR: JAVA_HOME not found in your environment."
-echo.
-echo "Please, set the JAVA_HOME environment variable to match the"
-echo "root directory of the Java Virtual Machine you want to use."
-
-:end
-rem Cleanup environment variables
-set CLASSPATH=%SAVECP%
-set SAVECP=
-set ANT_HOME=%SAVEANTHOME%
-set SAVEANTHOME=
-set XERCES=
-set BSF=
-set BSFENGINES=
-set DOCLET=
-set ANT=
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 7949501..0000000
--- a/build.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-#	Name:   build.sh
-#	Author: Shane Curcuru
-
-echo "build.sh beginning..."
-
-if [ "$JAVA_HOME" = "" ] ; then
-    echo "You must set JAVA_HOME, sorry; also JDK 1.1x add classes.zip to CLASSPATH!"
-    exit 1
-fi
-
-# Default to UNIX-style pathing
-CLPATHSEP=:
-# if we're on a Windows box make it ;
-uname | grep WIN && CLPATHSEP=\;
-
-# Update SERVLET to point to JAR containing javax.servlet and javax.servlet.http
-#    packages; alternately include this in the classpath yourself
-SERVLET=/jswdk-1.0.1/lib/servlet.jar
-
-# Default locations for each of our jars; change as needed
-BINDIR=./bin
-ANT=$BINDIR/ant.jar
-TOOLS_JAR=$JAVA_HOME/lib/tools.jar
-XERCES=$BINDIR/xerces.jar
-BSF=$BINDIR/bsf.jar
-BSFENGINES=$BINDIR/bsfengines.jar
-DOCGENERATOR=$BINDIR/stylebook-1.0-b3_xalan-2.jar
-DOCLET=$BINDIR/xalanjdoc.jar
-
-# Make sure this classpath scheme works. I.e., can javadoc find xalanjdoc.Standard?
-TEMP_CP="$ANT${CLPATHSEP}$TOOLS_JAR${CLPATHSEP}$XERCES${CLPATHSEP}$BSF${CLPATHSEP}$BSFENGINES${CLPATHSEP}$DOCGENERATOR${CLPATHSEP}$DOCLET${CLPATHSEP}$CLASSPATH"
-
-echo "Starting Ant with targets: $@"
-echo "        ...with classpath: $TEMP_CP"
-
-"$JAVA_HOME"/bin/java -Dant.home=. -classpath "$TEMP_CP" org.apache.tools.ant.Main $@
-
-echo "build.sh complete!"
-
-
-
diff --git a/build.xml b/build.xml
deleted file mode 100644
index 19a237a..0000000
--- a/build.xml
+++ /dev/null
@@ -1,732 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- ===================================================================
-
-   Build file for Xalan-J 2.x - for use with the Jakarta Ant java build tool
-   
-Setup instructions: 
-   Before running an Ant build, you must
-   
-     - set the JAVA_HOME environment variable to the JDK root directory
-     - To build 'servlet' sample: Include Servlet SDK in your classpath
-     - To build docs/javadocs: use JDK 1.2.x or higher
-     
-   
-Build Instructions:   
-   To build, run
-     build.bat (win32) or build.sh (unix) - optionally with a target arg as indicated below -
-   in the directory where this file is located.
-   
-   The batch/shell file sets up your classpath and calls java org.apache.tools.ant.Main
-   
-Build targets
-    This build file supports the following targets:
-    - compile  compiles Xalan-J in ./build/classes.
-    - jar      creates ./build/xalan.jar [the default target]
-    - samples  compiles samples and puts classes in ./build/xalanxamples.jar
-    - servlet compiles sample servlets and puts classes in ./build/xalanservlet.jar
-    - docs     generates the human-written documentation in ./build/docs
-    - javadocs [or apidocs] generates the API documentation in ./build/docs/apidocs
-    - compat.jar compiles compatibility tree and creates ./build/xalanj1compat.jar
-    - compat.apidocs generates javadoc for the compatibility jar
-    - clean    purges the build tree.
-    - dist     creates a complete distribution in ./xalan-j_x_x_x
-    - auto*    targets used by automated build programs, without dependencies
-    - minitest compile and run the minitest in xml-xalan\test
-    - conftest compile and run the conftest in xml-xalan\test
-    - smoketest run a pre-checkin smoketest (5 to 10 minutes).
-    - print.docs create PDF documentation (requires fop.jar and w3c.jar).
-        
-If you build a target that depends on other targets, those other targets are created in 
-the correct order.
-
-Authors:
-  Shane Curcuru <shane_curcuru@lotus.com>
-  Don Leslie <donald_leslie@lotus.com>
-
-Copyright:
-  Copyright (c) 1999-2000 The Apache Software Foundation.
-  
-  - Much of this file stolen from Stefano's xml-xerces build.xml  
-  
-   $Id$
-   
-==================================================================== -->
-
-<project name="Xalan" default="jar" basedir=".">
-  <!-- =================================================================== -->
-  <!-- Defines variables used by the other targets                         -->
-  <!-- =================================================================== -->
-  <property name="version" value="2_0_1"/>
-  <property name="name" value="xalan"/>
-  <property name="Name" value="Xalan-Java"/>
-  <property name="year" value="2000"/>
-
-
-  <property name="build.compiler" value="classic"/>
-  <property name="debug" value="off"/>
-
-  <property name="mfinf.dir" value="./src/META-INF"/>
-  <property name="src.dir" value="./src"/>
-  <property name="xpath.reldir" value="org/apache/xpath"/>
-  <property name="xalan.reldir" value="org/apache/xalan"/>
-  <property name="trax.reldir" value="javax/xml/transform"/>
-  <property name="serialize.reldir" value="org/apache/serialize"/>
-  <property name="serializer.reldir" value="org/apache/xalan/serialize"/>
-  <property name="jaxp.reldir" value="javax/xml/parsers"/>
-  <property name="sax.reldir" value="org/xml/sax"/>
-  <property name="w3c.reldir" value="org/w3c"/>    
-  <property name="build.dir" value="./build"/>
-  <!-- Where we put the xalan.jar we compile by default -->
-  <property name="build.xalan.jar" value="${build.dir}/xalan.jar"/>
-  <property name="build.classes" value="${build.dir}/classes"/>
-  <property name="build.docs" value="${build.dir}/docs"/>
-  <property name="build.samples" value="${build.dir}/samples"/>
-  <property name="build.apidocs" value="${build.docs}/apidocs"/>
-  
-  <!-- Xalan-J1 compatability stuff.  -->
-  <property name="compat.jar" value="xalanj1compat.jar"/>
-  <property name="compat.src.dir" value="./compat_src"/>
-  <property name="build.compat.classes" value="${build.dir}/compat_classes"/>
-  <property name="build.compat.jar" value="${build.dir}/${compat.jar}"/>
-  <property name="build.compat.apidocs" value="${build.docs}/compat_apidocs"/>        
-
-  <!-- Reference to the top level of the test source code area. -->
-  <property name="tests.dir" value="../test/java/"/>
-  <property name="samples.dir" value="./samples"/>
-  <property name="bin.dir" value="./bin"/>
-  <property name="xerces.jar" value="${bin.dir}/xerces.jar"/>
-  <property name="bsf.jar" value="${bin.dir}/bsf.jar"/>
-
-  <property name="dist.file" value="${name}-j_${version}"/>
-  <property name="dist.dir" value="${build.dir}/${dist.file}"/>
-
-  <property name="xdocs.dir" value="./xdocs"/>
-  <property name="version.file" value="org/apache/xalan/processor/XSLProcessorVersion.java"/>
-  <property name="xdocs.book" value="${xdocs.dir}/sources/xalan-jlocal.xml"/>
-  <property name="xdocs.style" value="${xdocs.dir}/style"/>
-  <property name="xalanonly-styledocs"
-            value="dtd/xsl-html40s.dtd,dtd/spec.dtd,stylesheets/patterns.xsl,stylesheets/notice.xsl,stylesheets/spec.xsl,stylesheets/done.xsl,loaderdesign.xml,stylesheets/design2project.xsl,stylesheets/designdoc2html.xsl,stylesheets/xml2fo.xsl"/>
-  <property name="doc.generator" value="org.apache.stylebook.StyleBook"/>
-  <property name="doc.generator.styletargz" value="${xdocs.dir}/xml-site-style.tar.gz"/>
-  <property name="doc.generator.styletar" value="${xdocs.dir}/xml-site-style.tar"/>
-  
-  <property name="site.root" value="./xml-site"/>
-  <property name="site.dir" value="${site.root}/target/xalan-j"/>
-  <property name="site.book" value="${xdocs.dir}/sources/xalan-jsite.xml"/>
-
-  <property name="test.loggingLevel" value="5"/>
-  <!-- The excluded lre tests are at issue or are new bugs, and should be 
-       included as soon as they are resolved.  -->
-  <property name="test.excludes" value="impincl12.xsl;lre02.xsl;lre03.xsl;lre07.xsl;lre10.xsl;lre12.xsl;lre21.xsl"/>
-  <property name="test.embedded" value="embed01.xsl;embed02.xsl;embed07.xsl"/>
-
-  <!-- =================================================================== -->
-  <!-- Prepares the xdocs/style and the build directories                  -->
-  <!-- =================================================================== -->
-  <target name="prepare">
-    <mkdir dir="${build.dir}"/>
-    <mkdir dir="${build.classes}"/>
-    <!-- Note that all testing-related targets *must* depend on 
-         this target, either directly or indirectly, to get 
-         the tests-available property set for them.
-    -->
-    <available file="${tests.dir}" property="tests-available" />
-  </target>
-  <target name="prepare.docs" depends="prepare">
-    <gunzip src="${doc.generator.styletargz}"/>
-    <untar src="${doc.generator.styletar}" dest="${xdocs.dir}"/>
-        <delete file="${doc.generator.styletar}"/>
-    <mkdir dir="${build.docs}"/> <!-- transform todo.xml and put the result in build/docs -->
-    <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}:${build.dir}/$xalan.jar">
-      <arg line="-in todo.xml -xsl todo.xsl -out ${build.docs}/todo.html"/>
-    </java> 
-    <!-- We use a Notes agent to extract Xalan-Java 2 commits from our team database into commits.xml.  The following operation 
-    transforms commits.xml (just including source code commits) and puts the result in xdocs/sources/xalan for inclusion in the 
-    readme.xml -->      
-    <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}:${build.dir}/$xalan.jar">
-      <arg line="-in commits.xml -xsl ${xdocs.style}/stylesheets/done.xsl -out ${xdocs.dir}/sources/xalan/DONE"/>
-    </java>
-    <!-- Generate the Xalan-J2 design document -->
-    <java fork="yes" classname="${doc.generator}"
-          classpath="${java.class.path}:${build.dir}/xalan.jar"> 
-          <arg line="loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./build/docs/design/
-                     ./xdocs/sources/xalandesign.xml ./xdocs/style"/>
-    </java>
-           
-    <mkdir dir="${build.apidocs}"/>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Copy over the source code                                           -->
-  <!-- We're currently skipping this step, since it seems extraneous if
-       you're not going to be using the filtering stuff. -->
-  <!-- =================================================================== -->
-
-  <!-- =================================================================== -->
-  <!-- Compiles the source tree - xpath (independent xpath engine)         -->
-  <!-- =================================================================== -->
-  <!-- Note: Still too many cross-dependencies to do this separately -->
-  <target name="compile.xpath" depends="prepare">
-    <javac srcdir="${src.dir}/${xpath.reldir}" 
-           destdir="${build.classes}"
-           debug="${debug}" />
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Compiles the source tree - xalan (the processor)                    -->
-  <!-- =================================================================== -->
-  <!-- Note: Still too many cross-dependencies to do this separately -->
-  <target name="compile.xalan" depends="compile.xpath">
-    <javac srcdir="${src.dir}/${xalan.reldir}" 
-           destdir="${build.classes}" 
-           debug="${debug}"/>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Compile entire source tree - except Xalan-J 1 compatability classes -->
-  <!-- =================================================================== -->
-  <target name="compile" depends="prepare"
-    description="Compile Xalan the normal way" >
-    <echo message="compile entire source tree and copy .properties and .res files to build tree."/>
-    <!-- Note: split compile into separate javac steps to avoid JDK 1.1.8 bug reported at:
-         http://developer.java.sun.com/developer/bugParade/bugs/4043508.html
-         which causes an error like:
-         [javac] E:\builds\xml-xalan\java\src\org\apache\xalan\templates\ElemTemplate.java:108: Cyclic class inheritance or scoping.
-    --> 
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="javax/**/*.java"
-           debug="${debug}"/>
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="org/w3c/**/*.java,org/w3c/**/*.java"
-           debug="${debug}"/>
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="org/apache/xml/**/*.java,org/apache/xpath/**/*.java"
-           debug="${debug}"/>
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="org/apache/xalan/**/*.java"
-           debug="${debug}"/>
-    <copy todir="${build.classes}">
-          <fileset dir="${src.dir}" includes="**/*.properties,**/*.res,**/javax.xml.parsers.*,**/javax.xml.transform.*"/>
-        </copy>  
-  </target>
-    
-  <!-- =================================================================== -->
-  <!-- Compiles other source trees                                         -->
-  <!-- =================================================================== -->
-  <target name="compile.trax" depends="prepare">
-    <javac srcdir="${src.dir}"
-           destdir="${build.classes}" 
-           includes="${trax.reldir}/**"
-           debug="${debug}"/>
-  </target>
-  <target name="compile.serialize" depends="prepare">
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="${serialize.reldir}/**" 
-           debug="${debug}"/>
-  </target>
-  <target name="compile.sax" depends="prepare">
-    <javac srcdir="${src.dir}/${sax.reldir}" 
-           destdir="${build.classes}" 
-           debug="${debug}"/>
-  </target>
-    <target name="compile.w3c" depends="prepare">
-    <javac srcdir="${src.dir}/${w3c.reldir}" 
-           destdir="${build.classes}" 
-           debug="${debug}"/>
-  </target>
-    <target name="compile.jaxp" depends="prepare">
-    <javac srcdir="${src.dir}/${jaxp.reldir}" 
-           destdir="${build.classes}" 
-           debug="${debug}"/>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the xalan JAR                                               -->
-  <!-- =================================================================== -->
-  <target name="jar" depends="compile"
-    description="Jar up xalan.jar" >
-    <jar jarfile="${build.xalan.jar}" manifest="src\MANIFEST.MF" basedir="${build.classes}"/>
-  </target>
-  <target name="package" depends="jar">
-    <!-- OK, what are the 'Apache-standard' names for various targets? -->
-    <echo message="package is an alias for jar"/>  
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the Xalan-J1 compatability JAR                              -->
-  <!-- =================================================================== -->
-  <target name="compat.jar" depends="jar">
-    <echo message="compile and JAR Xalan-J 1 compability API."/>
-    <mkdir dir="${build.compat.classes}"/>
-    <javac srcdir="${compat.src.dir}" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.compat.classes}"
-           includes="**/*.java"
-           debug="${debug}"/>
-    <copy todir="${build.compat.classes}">
-          <fileset dir="${compat.src.dir}" includes="**/*.properties,**/*.res"/>
-    </copy>  
-    <jar jarfile="${build.compat.jar}" manifest="src\MANIFEST.MF" basedir="${build.compat.classes}"/>
-  </target>
-  <target name="compat.package" depends="compat.jar">
-    <echo message="compat.package is an alias for compat.jar"/>  
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the Xalan-J1 compatability javadoc                          -->
-  <!-- =================================================================== -->
-  <target name="compat.javadocs" depends="jar">
-    <mkdir dir="${build.compat.apidocs}"/>
-    <javadoc
-         classpath="${java.class.path}"
-         public="true"
-         sourcepath="${compat.src.dir}"
-         overview="${compat.src.dir}/compatOverview.html"         
-         packagenames="org.apache.xalan.xslt,org.apache.xalan.xpath,org.apache.xalan.xpath.xml"
-         author="true"
-         version="true"
-         use="true"
-         destdir="${build.compat.apidocs}"
-         windowtitle="Xalan-Java 1 Compatability" 
-         doctitle="Xalan-Java 1 Compatability"
-         bottom="Copyright &#169; ${year} Apache XML Project. All Rights Reserved.">
-    </javadoc>
-  </target>
-    <target name="compat.apidocs" depends="compat.javadocs">
-    <echo message="compat.apidocs is an alias for compat.javadocs"/>  
-  </target>
-    
-
-  <!-- =================================================================== -->
-  <!-- Compiles the samples (servlet excluded) and jars the class files    -->  
-  <!-- =================================================================== -->
-  <target name="samples" depends="jar"
-    description="Compile and jar the samples (except servlet)" >
-    <property name="exclude" value="*.xml,*.xsl,*.txt,*.html,*.properties,*.out"/>
-    <mkdir dir="${build.samples}"/>
-    <!-- Since the samples are packageless, they must be compiled separately. -->   
-    <javac srcdir="${samples.dir}/SimpleTransform" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${debug}"/>
-    <javac srcdir="${samples.dir}/UseStylesheetPI" classpath="${java.class.path}:${build.xalan.jar}"  
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${debug}"/>
-    <javac srcdir="${samples.dir}/UseStylesheetParam" classpath="${java.class.path}:${build.xalan.jar}"
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${debug}"/>           
-    <javac srcdir="${samples.dir}/SAX2SAX" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${debug}"/>           
-    <javac srcdir="${samples.dir}/DOM2DOM" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${debug}"/>
-    <javac srcdir="${samples.dir}/Pipe" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${debug}"/>           
-    <javac srcdir="${samples.dir}/UseXMLFilters" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${debug}"/>
-    <javac srcdir="${samples.dir}/Trace" classpath="${java.class.path}:${build.xalan.jar}"  
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${debug}"/>
-   <javac srcdir="${samples.dir}/ApplyXPath" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}" excludes="${exclude}" 
-           debug="${debug}"/>
-   <javac srcdir="${samples.dir}/trax" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}" excludes="${exclude}" 
-           debug="${debug}"/>
-   <javac srcdir="${samples.dir}/extensions" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}" excludes="${exclude}" 
-           debug="${debug}"/> 
-    <jar jarfile="${build.dir}/xalansamples.jar" basedir="${build.samples}"
-         includes="*.class"/>
-                   
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Compiles the sample servlet and jars the class files.                -->  
-  <!-- The javax.servlet and javax.servlet.http packages                    -->
-  <!-- must be on the classpath                                             -->
-  <!-- =================================================================== -->
- <target name="servlet" depends="jar"
-    description="Compile and jar the servlet samples" >
-     <echo message="To compile the sample servlets, javax.servlet and javax.servlet.http must be on the classpath"/>   
-     <mkdir dir="${build.samples}/servlet"/>
-     <javac srcdir="${samples.dir}/servlet" classpath="${java.class.path}:${build.xalan.jar}" 
-           destdir="${build.samples}"
-           debug="${debug}"/>
-      <copy todir="${build.samples}/servlet">
-          <fileset dir="${samples.dir}/servlet" 
-                includes="media.properties,default.xsl,default2.xsl"/>
-        </copy>  		         
-    <jar jarfile="${build.dir}/xalanservlet.jar" 
-         basedir="${build.samples}" 
-         includes="servlet/**"/>
- </target>
- 
-  <!-- =================================================================== -->
-  <!-- Generate HTML docs                                                  -->
-  <!-- =================================================================== -->
-  <target name="docs" depends="jar,prepare.docs,autodocs"
-    description="Build the framework documentation (overview, readme, etc.)" >
-    <echo message="docs is human-usable target with dependencies"/>  
-  </target>
-  
-  <target name="autodocs">
-    <echo message="autodocs is for automated build process, without dependencies"/>   
-    <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}:${build.xalan.jar}">
-       <arg line="targetDirectory=${build.docs} ${xdocs.book} ${xdocs.style}"/>
-        </java>	 
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the API documentation                                       -->
-  <!-- =================================================================== -->
-  <target name="javadocs" depends="prepare.docs,autojavadocs"
-    description="Build the Javadocs for Xalan sources" >
-    <echo message="javadocs is human-usable target with dependencies"/>  
-  </target>
-
-  <target name="autojavadocs">
-    <echo message="autojavadocs is for automated build process, without dependencies"/>
-    
-    <!-- generate trax.html, a TRaX overview document, and a package.html for each trax package
-         (the latter are generated with the the Redirect extension -->
-    <mkdir dir="${build.apidocs}/javax/xml/transform"/>         
-    <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}:${build.xalan.jar}">
-      <arg line="-in ${xdocs.dir}/sources/trax/trax.xml
-                 -param package-root '../../../src/'
-                 -xsl ${xdocs.style}/stylesheets/spec.xsl 
-                 -out ${build.apidocs}/javax/xml/transform/trax.html"/>
-    </java>   
-    
-    <!-- Ant 1.2 ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
-    <javadoc
-         classpath="${java.class.path}"
-         public="true"
-         sourcepath="${src.dir}"
-         overview="${src.dir}/javadocOverview.html"
-         packagenames="org.apache.*,org.xml.*,org.w3c.*,javax.xml.*"
-         author="true"
-         version="true"
-         use="true"
-         windowtitle="${Name} 2" 
-         doctitle="${Name} 2"
-         bottom="Copyright &#169; ${year} Apache XML Project. All Rights Reserved.">
-          <doclet name="xalanjdoc.Standard" path="${bin.dir}/xalan2jdoc.jar">
-            <param name="-d" value="${build.apidocs}"/>
-          </doclet>
-          <group title="Transformations API for XML (TrAX)" packages="javax.xml.transform*"/>
-          <group title="Java API for XML Parsing" packages="javax.xml.parsers"/>
-          <group title="Xalan Core"
-                 packages="org.apache.xalan.processor:org.apache.xalan.templates:org.apache.xalan.transformer"/>
-          <group title="XPath" packages="org.apache.xpath*"/>
-          <group title="Utilities" packages="org.apache.xml.utils*"/>
-          <group title="Xalan Other" packages="org.apache.xalan.client:org:org.apache.xalan.extensions:org.apache.xalan.res:org.apache.xalan.stree:org.apache.xalan.trace:org.apache.xalan.xslt"/>
-          <group title="Xalan Extensions" packages="org.apache.xalan.lib*"/>
-          <group title="Serializers" packages="org.apache.xalan.serialize"/>
-          <group title="SAX 2" packages="org.xml.sax*"/>
-          <group title="DOM 2" packages="org.w3c.dom*"/>
-    </javadoc>
-    
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Cleans everything: build tree, site tree, style docs in             -->
-  <!--         - build tree                                                -->
-  <!--         - distribution tree                                         -->
-  <!--         - site tree                                                 -->
-  <!--         - style docs expanded from xml-site-style.tar.gz.           -->
-  <!--           (MUST update contents of ${xalanonly-styledocs}           -->
-  <!--            if change contents of xml-site-style.tar.gz)             -->
-  <!--         - Javadoc overview and packqage-level html docs placed      -->
-  <!--           in the source tree                                        -->
-  <!-- =================================================================== -->
-  <target name="clean"
-    description="Clean up the build" >
-    <delete dir="${build.dir}"/>
-    <delete dir="${site.root}"/>
-    <delete>
-      <fileset dir="${xdocs.style}" excludes="${xalanonly-styledocs}"/>
-    </delete>
-  </target>
- 
-  <!-- =================================================================== -->
-  <!-- Creates the distribution                                            -->
-  <!-- =================================================================== -->
-  <target name="dist" depends="jar,docs,javadocs,samples,servlet,compat.jar,compat.javadocs,autodist"
-    description="Create a .zip/.tar.gz distribution module" >
-    <echo message="dist is human-useable target for distribution, with all dependencies"/>
-  </target>
-  <target name="autodist">
-    <echo message="autodist is for automated build processes, without dependencies"/>
-    <mkdir dir="${dist.dir}"/>
-    <mkdir dir="${dist.dir}/bin"/>    
-    <mkdir dir="${dist.dir}/src"/>
-    <mkdir dir="${dist.dir}/compat_src"/>    
-    <mkdir dir="${dist.dir}/xdocs"/>
-    <mkdir dir="${dist.dir}/docs"/>
-    <mkdir dir="${dist.dir}/docs/apidocs"/>
-    <mkdir dir="${dist.dir}/docs/compat_apidocs"/>    
-    <mkdir dir="${dist.dir}/samples"/>
-        
-        <!-- Copy bin directory -->
-    <copy todir="${dist.dir}/bin">
-          <fileset dir="${bin.dir}"/>
-        </copy>  
-
-    <!-- Copy sources and source documentation -->
-    <copy todir="${dist.dir}/src">
-      <fileset dir="${src.dir}"/>
-    </copy>
-    <copy todir="${dist.dir}/compat_src">
-      <fileset dir="${compat.src.dir}"/>
-    </copy>    
-    <copy todir="${dist.dir}/xdocs">
-      <fileset dir="${xdocs.dir}"/>
-    </copy>
-    
-    <!-- Copy built documentation and javadoc, and samples src and jars -->
-    <copy todir="${dist.dir}/docs">
-      <fileset dir="${build.docs}"/>
-    </copy>  
-    <copy todir="${dist.dir}/samples">
-      <fileset dir="${samples.dir}"/>
-    </copy>   
-    <copy file="${build.dir}/xalansamples.jar" todir="${dist.dir}/bin"/>
-    <copy file="${build.dir}/xalanservlet.jar" todir="${dist.dir}/bin"/>
-
-    <!-- Copy xalan jar and compability into the bin directory (subject to change) -->
-    <copy file="${build.xalan.jar}" todir="${dist.dir}/bin"/>
-    <copy file="${build.compat.jar}" todir="${dist.dir}/bin"/>    
-
-    <copy todir="${dist.dir}">
-      <fileset dir="." includes="readme.html,KEYS,License,build.xml,build.sh,build.bat,todo.xml,todo.xsl,commits.xml"/>
-    </copy>
-          
-    <zip zipfile="${build.dir}/${dist.file}.zip" basedir="${build.dir}" includes="${dist.file}/**"/>
-    <tar tarfile="${build.dir}/${dist.file}.tar" basedir="${build.dir}" includes="${dist.file}/**"/>
-    <gzip src="${build.dir}/${dist.file}.tar" zipfile="${build.dir}/${dist.file}.tar.gz"/>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the documentation tree for the org.apache.xml website       -->
-  <!-- =================================================================== -->
-  <target name="site" depends="prepare.docs">
- 
-    <mkdir dir="${site.dir}/apidocs"/>
-    <mkdir dir="${site.dir}/compat_apidocs"/>
-    <mkdir dir="${site.dir}/design"/>
-    <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}:${build.dir}/$xalan.jar"> 
-       <arg line="targetDirectory=${site.dir} ${site.book} ${xdocs.style}"/>
-        </java>
-
-        <!-- put todo.html in the site directory -->     
-    <copy file="${build.docs}/todo.html" todir="${site.dir}"/>
-     <!-- put xalan design doc in the site design subdir -->
-    <copy todir="${site.dir}/design">
-      <fileset dir="${build.docs}/design"/>
-    </copy>  
-    <!-- put in the javadoc -->
-    <copy todir="${site.dir}/apidocs">
-      <fileset dir="${build.apidocs}"/>
-    </copy>
-    <copy todir="${site.dir}/compat_apidocs">
-      <fileset dir="${build.compat.apidocs}"/>
-    </copy>  
-      
-  </target>
-   
-  <!-- =================================================================== -->
-  <!-- Compiles and runs the minitest from xml-xalan\test, if present      -->
-  <!-- =================================================================== -->
-  <path id="minitest.class.path">
-    <pathelement location="${xerces.jar}" />
-    <pathelement location="${build.xalan.jar}" />
-    <pathelement location="${bsf.jar}" />
-    <pathelement path="${java.class.path}" />
-  </path>
-
-  <!-- Reference from the testing directory back to our directory, 
-       used when calling testing targets to set the classpath for 
-       the tests to include jars we just compiled.
-  -->
-  <property name="tests.backref" value="../../java/"/>
-
-  <target name="minitest" depends="prepare,jar,minitest-run,tests-not-available" 
-    description="Run the Minitest from xml-xalan/test/java" >
-    <!-- This target explicitly depends on the jar target, since 
-         without xalan.jar the tests won't compile/run.
-         We then call the worker target minitest-run to do 
-         the work of running the minitest.
-         We finally call a helper target tests-not-available 
-         to notify users that they need to checkout the tests 
-         explicitly from CVS - but this only runs if needed.
-    -->
-  </target>
-  <target name="minitest-run" if="tests-available" depends="prepare" >
-    <echo message=" [minitest] Calling ${tests.dir}build.xml now to run minitest.xalan2" />
-    <ant dir="${tests.dir}" antfile="build.xml" target="minitest.xalan2" >
-      <!-- Set the below testxsl.jar.name so that it will create 
-           minitest.jar instead of testxsl.jar; we only do this here 
-           since this is a commonly-called developer target, and it's 
-           good to differentiate this jar from the regular testing jar 
-           (which has many more test classes in it).
-      -->
-      <property name="testxsl.jar.name" value="minitest.jar" />
-      <property name="prepend.class.path"
-                value="${tests.backref}${xerces.jar}:${tests.backref}${build.xalan.jar}:${tests.backref}${bsf.jar}" />
-    <!-- Why doesn't the following refid work? I get an error referencing it.
-      <property name="prepend.class.path" refid="minitest.class.path" />
-    -->
-    </ant>
-  </target>
-
-  <!-- Called from various testing targets if the test dir doesn't exist. -->
-  <target name="tests-not-available" unless="tests-available" >
-    <echo message=" [tests] The tests do not seem to be present!" />
-    <echo message=" [tests] You must have checked out from CVS to run the tests," />
-    <echo message=" [tests]   it is not included in binary distributions." />
-    <echo message=" [tests] See http://xml.apache.org/xalan-j/test/ for more info." />
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Compiles and runs the conformance test from xml-xalan\test, if present      -->
-  <!-- =================================================================== -->
-  <!-- We should have a duplicate of minitest.class.path that
-       in the future this may need to include references to dirs 
-       where Java-based extension tests keep their .classes.
-  -->
-
-  <target name="conftest" depends="prepare,jar,conftest-run,tests-not-available" 
-    description="Run the ConformanceTest from xml-xalan/test/java" >
-  </target>
-  <target name="conftest-run" if="tests-available" depends="prepare" >
-    <echo message=" [conftest] Calling ${tests.dir}build.xml now to run conftest.xalan2" />
-    <ant dir="${tests.dir}" antfile="build.xml" target="conftest.xalan2" >
-      <property name="testxsl.jar.name" value="conftest.jar" /> 
-      <!-- Set name above so that it will create conftest.jar instead 
-           of testxsl.jar - but, since the "ConformanceTest" depends 
-           on so many testing classes, it may not be worth calling 
-           this a different name from the default 'testxsl.jar'.  It 
-           does reduce confusion, however, for people who build and 
-           run the tests directly from the testing directory, instead 
-           of doing it from this directory.
-      -->
-      <property name="prepend.class.path"
-                value="${tests.backref}${xerces.jar}:${tests.backref}${build.xalan.jar}:${tests.backref}${bsf.jar}" />
-    </ant>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Compiles and runs the smoke test from xml-xalan\test, if present      -->
-  <!-- =================================================================== -->
-  <target name="smoketest" depends="prepare,jar,smoketest-run,tests-not-available" 
-    description="Run the smoke test - to be defined." >
-  </target>
-  <target name="smoketest-run" if="tests-available" depends="prepare" >
-    <ant dir="${tests.dir}" antfile="build.xml" target="smoketest-xalan2" >
-      <property name="prepend.class.path"
-                value="${tests.backref}${xerces.jar}:${tests.backref}${build.xalan.jar}:${tests.backref}${bsf.jar}" />
-    </ant>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the todo list for the org.apache.xml website                -->
-  <!-- =================================================================== -->
-  <target name="todo">
-    <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}:${build.dir}/$xalan.jar">
-      <arg line="-in todo.xml -xsl todo.xsl -out todo.html"/>
-    </java>   
-  </target>  
-
-  <!-- =================================================================== -->
-  <!-- Creates the xalan design document                                   -->
-  <!-- =================================================================== -->
-    <target name="xalan-j2-design">
-    <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}:${build.dir}/xalan.jar"> 
-      <arg line="loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=${build.dir}/docs/design/
-      ${xdocs.dir}/sources/xalandesign.xml ${xdocs.style}"/>
-    </java>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Use FOP to create preliminary print (pdf) doc                       -->
-  <!-- Note: fop.jar and xml.jar (from xml-fop) must be on classpath       -->
-
-  <!-- This is VERY preliminary, not yet for inclusion in distribution     -->
-  <!-- =================================================================== -->
-
-  <!--Collate the xml sources into a single xml source with a litle extra structure -->
-  <target name="print.docs" depends="prepare.docs">
-    <echo message="fop.jar and xml.jar must be on the classpath"/>
-    <java fork="yes" classname="org.apache.xalan.xslt.Process"
-      classpath="${java.class.path}:${build.dir}/xalan.jar">
-      <arg line="-xsl ${xdocs.dir}/sources/xalan-collate.xsl 
-                 -out ${xdocs.dir}/sources/xalan/xalan-collate.xml"/>
-    </java>
-    
-    <!-- Transform collation into Formatting Objects 
-         (with a little work on links along the way) -->    
-    <java fork="yes" classname="org.apache.xalan.xslt.Process"
-      classpath="${java.class.path}:${build.dir}/xalan.jar">
-      <arg line="-in  ${xdocs.dir}/sources/xalan/xalan-collate.xml
-                 -param resourceFile '../../sources/xalan/resources.xml'
-                 -param project ${Name}      
-                 -xsl ${xdocs.style}/stylesheets/xml2fo.xsl 
-                 -out ${build.docs}/xalan-collate.fo"/>
-    </java>
-    
-    <!-- Use FOP to generate a pdf file -->
-    <java fork="yes" classname="org.apache.fop.apps.CommandLine"
-      classpath="${java.class.path}:${build.dir}/xalan.jar:${bin.dir}/fop.jar:${bin.dir}/w3c.jar">
-      <arg line="${build.docs}/xalan-collate.fo build/docs/xalan.pdf"/>
-    </java>
-  </target>
-
-  <!-- =================================================================== -->  
-   <!-- for developers only; compiles xalan-j1 samples with compat jar and xalan-j2 xalan.jar-->
-   <target name="compat.samples" description="Compile XalanJ1 samples" >
-     <property name="exclude" value="*.xml,*.xsl,*.txt,*.html.*.properties"/>
-     <property name="samplesj1.dir" value="/xml-xalan/samples"/>
-     <property name="build.compat.samples" value="./build/compat_samples"/>
-     <mkdir dir="${build.compat.samples}"/>     
-
-    <!--need to use the XalanJ2 XPathAPI, so cannot compile ApplyXPath as is -->   
-    <javac srcdir="${samplesj1.dir}/Pipe" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}" 
-           destdir="${build.compat.samples}"  excludes="${exclude}"
-           debug="${debug}"/> 
-    <javac srcdir="${samplesj1.dir}/SimpleTransform" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}" 
-           destdir="${build.compat.samples}"  excludes="${exclude}"
-           debug="${debug}"/>
-    <javac srcdir="${samplesj1.dir}/TransformToDom" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}" 
-           destdir="${build.compat.samples}"  excludes="${exclude}"
-           debug="${debug}"/>
-    <javac srcdir="${samplesj1.dir}/PureSAX" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}" 
-           destdir="${build.compat.samples}"  excludes="${exclude}"
-           debug="${debug}"/>          
-    <javac srcdir="${samplesj1.dir}/UseStylesheetParam" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}" 
-           destdir="${build.compat.samples}"  excludes="${exclude}"
-           debug="${debug}"/>
-    <javac srcdir="${samplesj1.dir}/Servlet" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}" 
-           destdir="${build.compat.samples}" excludes="${exclude}"
-           debug="${debug}"/>
-    <jar   jarfile="${build.compat.samples}/xalanjcompatsamples.jar" basedir="${build.compat.samples}"
-            includes="*.class"/> 
-     <!--put the servlet in a separate jar -->
-     <javac srcdir="${samplesj1.dir}/Servlet" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}" 
-           destdir="${build.compat.samples}"
-           debug="${debug}"/>
-      <copy todir="${build.compat.samples}/servlet">
-          <fileset dir="${samplesj1.dir}/Servlet" 
-                includes="media.properties,default.xsl,default2.xsl"/>
-        </copy>  		         
-    <jar jarfile="${build.compat.samples}/xalancompatservlet.jar" basedir="${build.compat.samples}"
-         includes="servlet/**"/>
- </target>
- 
-</project>
diff --git a/commits.xml b/commits.xml
deleted file mode 100644
index b43e8f4..0000000
--- a/commits.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<Commits>
-<Commit category="core">
-<Who>costin@apache.org</Who>
-<DateCommitted>03/16/2001</DateCommitted>
-<Modified>java/src/org/apache/xalan/processor StylesheetHandler.java
- java/src/org/apache/xpath Expression.java XPath.java
- XPathContext.java
- java/src/org/apache/xpath/compiler Compiler.java
- XPathParser.java</Modified>
-<Log>Renamed "assert()" to "assertion()".
-
- Assert can be a keyword, and brake the compilation.</Log>
-</Commit>
-<Commit category="core">
-<Who>mmidy@apache.org</Who>
-<DateCommitted>03/19/2001</DateCommitted>
-<Modified>java/src/org/apache/xalan/transformer KeyWalker.java</Modified>
-<Log>Throw an error message if the key name in a key function was not defined</Log>
-</Commit>
-<Commit category="core">
-<Who>jkesselm@apache.org</Who>
-<DateCommitted>03/20/2001</DateCommitted>
-<Modified>java/src/org/apache/xml/utils FastStringBuffer.java</Modified>
-<Log>Reworked "chunk growth" algorithm again. Growing mode not
- yet adequately tested, but fixed-size mode (which is what Xalan
- is currently using) is simpler code and shows improved performance.</Log>
-</Commit>
-<Commit category="core">
-<Who>curcuru@apache.org</Who>
-<DateCommitted>03/20/2001</DateCommitted>
-<Added>java/src/org/apache/xalan/xslt EnvironmentCheck.java</Added>
-<Log>Utility class to check your JVM environment for common problems</Log>
-</Commit>
-<Commit category="compat">
-<Who>jkesselm@apache.org</Who>
-<DateCommitted>03/20/2001</DateCommitted>
-<Modified>java/compat_src/org/apache/xalan/xpath XNumber.java</Modified>
-<Log>Double-semicolon fixed so Henri's compiler stops complaining about an 
-unreachable statement. &lt;grin/&gt;</Log>
-</Commit>
-</Commits>
diff --git a/compat_src/compatOverview.html b/compat_src/compatOverview.html
deleted file mode 100644
index cf64817..0000000
--- a/compat_src/compatOverview.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<HTML><HEAD></HEAD><BODY>
-    <P>This compatibility API supports limited use of the Xalan-Java 1 API in the Xalan-Java 2 environment. For the Xalan-Java 2 API, see <A href="../apidocs/index.html" target="_top">Xalan-Java 2 API</A>.</P>
-  
-     <P><B>Basic procedure for performing transformations:</B></P>
-    <OL>
-      <LI>Use one of the {@link org.apache.xalan.xslt.XSLTProcessorFactory} static getProcessor methods to
-      instantiate an {@link org.apache.xalan.xslt.XSLTProcessor}.<BR><BR>
-       The XSLT and XPath engines are independent from any given DOM or XML implementation. All parser-dependent
-       calls are funneled through the {@link org.apache.xalan.xpath.xml.XMLParserLiaison}.<BR><BR></LI>     
-       <LI>Set up {@link org.apache.xalan.xslt.XSLTInputSource} objects for the XML input and XSL stylesheet. 
-       You can use a file name or URL, character stream, byte stream, or SAX input stream to instantiate an
-       XSLTInputSource object.<BR><BR>
-       If the XML document contains a stylesheet Processing Instruction (PI), you do not need to create a separate
-       XSLTInputSource object for an XSL stylesheet.<BR><BR>
-       <B>Note:</B> For improved performance with a series of transformations, use the XSLTProcessor
-       processStylesheet method to compile the XSL stylesheet. The result is a 
-       {@link org.apache.xalan.xslt.StylesheetRoot} object with its own process() method for performing transformations.
-        Compiling the stylesheet is also useful when you need to get information from the
-       stylesheet before the transformation occurs. You also must compile the stylesheet if you are using the
-        XSLTProcessor as a SAX document handler.<BR><BR></LI>
-       <LI>Set up an {@link org.apache.xalan.xslt.XSLTResultTarget} for the transformation output. You can use a
-       file name or URL, character stream, byte stream, or SAX document handler to instantiate an XSLTResultTarget
-       object.<BR><BR></LI>
-       <LI>Use the XSLTProcessor or (if you have compiled the stylesheet) the(@link org.apache.xalan.xslt.StylesheetRoot}
-       process method to perform the transformation.<BR><BR>
-        Xalan-Java is thread-safe for one instance per thread. If you are using the same instance of XSLTProcessor to
-         perform more than one transformation, call the reset method between transformations.</LI>
-    </OL>
-  </BODY></HTML>
\ No newline at end of file
diff --git a/compat_src/org/apache/xalan/xpath/XBoolean.java b/compat_src/org/apache/xalan/xpath/XBoolean.java
deleted file mode 100644
index a1395bb..0000000
--- a/compat_src/org/apache/xalan/xpath/XBoolean.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-
-/**
- * <meta name="usage" content="advanced"/>
- * This class represents an XPath boolean object, and is capable of 
- * converting the boolean to other types, such as a string.
- */
-public class XBoolean extends XObject
-{
-  org.apache.xpath.objects.XBoolean m_xboolean;
-  
-  /**
-   * Construct a XBoolean object.
-   */
-  public XBoolean(boolean b)
-  {
-    super(); 
-     m_xboolean = new org.apache.xpath.objects.XBoolean(b);
-  }
-  
-  /**
-   * Tell that this is a CLASS_BOOLEAN.
-   */
-  public int getType()
-  {
-    return m_xboolean.getType();
-  }
-  
-  /**
-   * Given a request type, return the equivalent string. 
-   * For diagnostic purposes.
-   */
-  public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<garyp@firstech.com> change to protected
-  {
-    return m_xboolean.getTypeString();
-  }
-  
-  /**
-   * Cast result object to a number.
-   */
-  public double num()
-  {
-    return m_xboolean.num();
-  }
-
-  /**
-   * Cast result object to a boolean.
-   */
-  public boolean bool()
-  {
-    return m_xboolean.bool();
-  }
-
-  /**
-   * Cast result object to a string.
-   */
-  public String str()
-  {
-    return m_xboolean.str();
-  }
-  
-  /**
-   * Return a java object that's closes to the represenation 
-   * that should be handed to an extension.
-   */
-  public Object object()
-  {
-    return m_xboolean.object();
-  }
-
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {    
-    return m_xboolean.equals(obj2);
-  }
-  
-  
-}
-
diff --git a/compat_src/org/apache/xalan/xpath/XBooleanStatic.java b/compat_src/org/apache/xalan/xpath/XBooleanStatic.java
deleted file mode 100644
index 9639687..0000000
--- a/compat_src/org/apache/xalan/xpath/XBooleanStatic.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-
-/**
- * <meta name="usage" content="internal"/>
- * This class doesn't have any XPathSupport, so override 
- * whatever to ensure it works OK.
- */
-public class XBooleanStatic extends XBoolean
-{
-  org.apache.xpath.objects.XBooleanStatic m_xboolean;
-  
-  /**
-   * Construct a XNodeSet object.
-   */
-  public XBooleanStatic(boolean b)
-  {
-    super(b); 
-    m_xboolean = new org.apache.xpath.objects.XBooleanStatic(b);
-  } 
-  
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xboolean.equals(obj2);
-  }
-
-}
-
diff --git a/compat_src/org/apache/xalan/xpath/XNodeSet.java b/compat_src/org/apache/xalan/xpath/XNodeSet.java
deleted file mode 100644
index 019ffee..0000000
--- a/compat_src/org/apache/xalan/xpath/XNodeSet.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-import org.w3c.dom.traversal.NodeIterator;
-import org.w3c.dom.traversal.NodeFilter;
-import java.text.*;
-
-import org.apache.xpath.XPathContext;
-import org.apache.xpath.NodeSet;
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath nodeset object, and is capable of 
- * converting the nodeset to other types, such as a string.
- */
-public class XNodeSet extends XObject  
-{
-  org.apache.xpath.objects.XNodeSet m_xnodeset;
-  
-  /**
-   * Construct a XNodeSet object.
-   */
-  public XNodeSet(NodeList val)
-  {
-    super();
-    m_xnodeset = new org.apache.xpath.objects.XNodeSet(new NodeIteratorWrapper(val)) ;
-  }
-  
-  /**
-   * Construct an empty XNodeSet object.
-   */
-  public XNodeSet()
-  {
-    super();
-    m_xnodeset = new org.apache.xpath.objects.XNodeSet();
-  }
-
-  /**
-   * Construct a XNodeSet object for one node.
-   */
-  public XNodeSet(Node n)
-  {
-    super(n); 
-    m_xnodeset = new org.apache.xpath.objects.XNodeSet(n);
-  }
-  
-  
-  /**
-   * Tell that this is a CLASS_NODESET.
-   */
-  public int getType()
-  {
-    return m_xnodeset.getType();
-  }
-  
-  /**
-   * Given a request type, return the equivalent string. 
-   * For diagnostic purposes.
-   */
-  public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<garyp@firstech.com> change to protected
-  {
-    return m_xnodeset.getTypeString();
-  }
-  
-  /**
-   * Get the string conversion from a single node.
-   */
-  double getNumberFromNode(Node n)
-  {
-    return m_xnodeset.getNumberFromNode(n);
-  }
-
-  /**
-   * Cast result object to a number.
-   */
-  public double num()
-  {
-    return m_xnodeset.num();
-  }
-
-  /**
-   * Cast result object to a boolean.
-   */
-  public boolean bool()
-  {
-    return m_xnodeset.bool();
-  }
-  
-
-  /**
-   * Get the string conversion from a single node.
-   */
-  static String getStringFromNode(Node n)
-  {
-    return org.apache.xpath.objects.XNodeSet.getStringFromNode(n);
-  }
-
-  /**
-   * Cast result object to a string.
-   */
-  public String str()
-  {
-    return m_xnodeset.str();
-  }
-  
-  /**
-   * Cast result object to a result tree fragment.
-   */
-  public DocumentFragment rtree(XPathSupport support)
-  {    
-    return m_xnodeset.rtree((XPathContext) support);
-  }
-  
-  /**
-   * Cast result object to a result tree fragment.
-   *
-   * @param support The XPath context to use for the conversion 
-   *
-   * @return the nodeset as a result tree fragment.
-   */
-  public DocumentFragment rtree(XPathContext support)
-  {
-    return m_xnodeset.rtree(support);
-  }
-
-  /**
-   * Cast result object to a nodelist.
-   */
-  public NodeIterator nodeset()
-  {
-    return m_xnodeset.nodeset();
-  }  
-
-  /**
-   * Cast result object to a nodelist.
-   */
-  public NodeSet mutableNodeset()
-  {
-   return m_xnodeset.mutableNodeset();
-  }  
-  
-  /**
-   * Tell if one object is less than the other.
-   */
-  public boolean lessThan(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xnodeset.lessThan(obj2);
-  }
-  
-  /**
-   * Tell if one object is less than or equal to the other.
-   */
-  public boolean lessThanOrEqual(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xnodeset.lessThanOrEqual(obj2);
-  }
-  
-  /**
-   * Tell if one object is greater than the other.
-   */
-  public boolean greaterThan(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xnodeset.greaterThan(obj2);
-  }
-  
-  /**
-   * Tell if one object is greater than the other.
-   */
-  public boolean greaterThanOrEqual(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xnodeset.greaterThanOrEqual(obj2);
-  }   
-  
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xnodeset.equals(obj2);
-  }  
-  
-  /**
-   * Tell if two objects are functionally not equal.
-   */
-  public boolean notEquals(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xnodeset.notEquals(obj2);
-  }  
- 
- static class NodeIteratorWrapper implements NodeIterator
-  {
-
-    /** Position of next node          */
-    private int m_pos = 0;
-
-    /** Document fragment instance this will wrap         */
-    private NodeList m_list;
-
-    /**
-     * Constructor NodeIteratorWrapper
-     *
-     *
-     * @param df Document fragment instance this will wrap
-     */
-    NodeIteratorWrapper(NodeList list)
-    {
-      m_list = list;
-    }
-
-    /**
-     *  The root node of the Iterator, as specified when it was created.
-     *
-     * @return null
-     */
-    public Node getRoot()
-    {
-      return null;
-    }
-
-    /**
-     *  This attribute determines which node types are presented via the
-     * iterator. The available set of constants is defined in the
-     * <code>NodeFilter</code> interface.
-     *
-     * @return All node types
-     */
-    public int getWhatToShow()
-    {
-      return NodeFilter.SHOW_ALL;
-    }
-
-    /**
-     *  The filter used to screen nodes.
-     *
-     * @return null
-     */
-    public NodeFilter getFilter()
-    {
-      return null;
-    }
-
-    /**
-     *  The value of this flag determines whether the children of entity
-     * reference nodes are visible to the iterator. If false, they will be
-     * skipped over.
-     * <br> To produce a view of the document that has entity references
-     * expanded and does not expose the entity reference node itself, use the
-     * whatToShow flags to hide the entity reference node and set
-     * expandEntityReferences to true when creating the iterator. To produce
-     * a view of the document that has entity reference nodes but no entity
-     * expansion, use the whatToShow flags to show the entity reference node
-     * and set expandEntityReferences to false.
-     *
-     * @return true
-     */
-    public boolean getExpandEntityReferences()
-    {
-      return true;
-    }
-
-    /**
-     *  Returns the next node in the set and advances the position of the
-     * iterator in the set. After a NodeIterator is created, the first call
-     * to nextNode() returns the first node in the set.
-     * @return  The next <code>Node</code> in the set being iterated over, or
-     *   <code>null</code> if there are no more members in that set.
-     * @throws DOMException
-     *    INVALID_STATE_ERR: Raised if this method is called after the
-     *   <code>detach</code> method was invoked.
-     */
-    public Node nextNode() throws DOMException
-    {
-
-      if (m_pos < m_list.getLength())
-      {
-        return m_list.item(m_pos++);
-      }
-      else
-        return null;
-    }
-
-    /**
-     *  Returns the previous node in the set and moves the position of the
-     * iterator backwards in the set.
-     * @return  The previous <code>Node</code> in the set being iterated over,
-     *   or<code>null</code> if there are no more members in that set.
-     * @throws DOMException
-     *    INVALID_STATE_ERR: Raised if this method is called after the
-     *   <code>detach</code> method was invoked.
-     */
-    public Node previousNode() throws DOMException
-    {
-
-      if (m_pos >0)
-      {
-        return m_list.item(m_pos-1);
-      }
-      else
-        return null;
-    }
-
-    /**
-     *  Detaches the iterator from the set which it iterated over, releasing
-     * any computational resources and placing the iterator in the INVALID
-     * state. After<code>detach</code> has been invoked, calls to
-     * <code>nextNode</code> or<code>previousNode</code> will raise the
-     * exception INVALID_STATE_ERR.
-     */
-    public void detach(){}
-  }
-  
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/XNull.java b/compat_src/org/apache/xalan/xpath/XNull.java
deleted file mode 100644
index 473a658..0000000
--- a/compat_src/org/apache/xalan/xpath/XNull.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-import org.w3c.dom.traversal.NodeIterator;
-
-import org.apache.xpath.XPathContext;
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath null object, and is capable of 
- * converting the null to other types, such as a string.
- */
-public class XNull extends XObject
-{
-  org.apache.xpath.objects.XNull m_xnull;
-  /**
-   * Create an XObject.
-   */
-  public XNull()
-  {
-    super();
-    m_xnull = new org.apache.xpath.objects.XNull() ;
-  }
-  
-  /**
-   * Tell what kind of class this is.
-   */
-  public int getType()
-  {
-    return m_xnull.getType();
-  }
-
-  /**
-   * Given a request type, return the equivalent string. 
-   * For diagnostic purposes.
-   */
-  public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<garyp@firstech.com> change to protected
-  {
-    return m_xnull.getTypeString();
-  }
-  
-  /**
-   * Cast result object to a number.
-   */
-  public double num()
-  {
-    return m_xnull.num();
-  }
-
-  /**
-   * Cast result object to a boolean.
-   */
-  public boolean bool()
-  {
-    return m_xnull.bool();
-  }
-
-  /**
-   * Cast result object to a string.
-   */
-  public String str()
-  {
-    return m_xnull.str();
-  }
-  
-  /**
-   * Cast result object to a result tree fragment.
-   */
-  public DocumentFragment rtree(XPathSupport support)
-  {
-    return m_xnull.rtree((XPathContext)support);
-  }
-  
-  /**
-   * Cast result object to a result tree fragment.
-   *
-   * @param support XPath context to use for the conversion
-   *
-   * @return The object as a result tree fragment.
-   */
-  public DocumentFragment rtree(XPathContext support)
-  {
-    return m_xnull.rtree(support);
-  }
-
-
-  /**
-   * Cast result object to a nodelist.
-   */
-  public NodeIterator nodeset()
-  {
-    return null;
-  }  
-   
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-  {
-    return m_xnull.equals(obj2);
-  }
-
-  
-}
diff --git a/compat_src/org/apache/xalan/xpath/XNumber.java b/compat_src/org/apache/xalan/xpath/XNumber.java
deleted file mode 100644
index bf8e286..0000000
--- a/compat_src/org/apache/xalan/xpath/XNumber.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-import java.text.DecimalFormat;
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath number, and is capable of 
- * converting the number to other types, such as a string.
- */
-public class XNumber extends XObject
-{
-  
-  org.apache.xpath.objects.XNumber m_xnumber;
-  /**
-   * Construct a XNodeSet object.
-   */
-  public XNumber(double d)
-  {
-    super();
-    m_xnumber = new org.apache.xpath.objects.XNumber(d);
-  }
-  
-  /**
-   * Tell that this is a CLASS_NUMBER.
-   */
-  public int getType()
-  {
-    return m_xnumber.getType();
-  }
-  
-  /**
-   * Given a request type, return the equivalent string. 
-   * For diagnostic purposes.
-   */
-  public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<garyp@firstech.com> change to protected
-  {
-    return m_xnumber.getTypeString();
-  }
-  
-  /**
-   * Cast result object to a number.
-   */
-  public double num()
-  {
-    return m_xnumber.num();
-  }
-
-  /**
-   * Cast result object to a boolean.
-   */
-  public boolean bool()
-  {
-    return m_xnumber.bool();
-  }
-  
-  /**
-   * Cast result object to a string.
-   */
-  public String str()
-  {
-    return m_xnumber.str();
-  }
-  
-  /**
-   * Return a java object that's closes to the represenation 
-   * that should be handed to an extension.
-   */
-  public Object object()
-  {
-    return m_xnumber.object();
-  }
-
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xnumber.equals(obj2);
-  }
-  
-  
-}
-
diff --git a/compat_src/org/apache/xalan/xpath/XObject.java b/compat_src/org/apache/xalan/xpath/XObject.java
deleted file mode 100644
index f0cb33e..0000000
--- a/compat_src/org/apache/xalan/xpath/XObject.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The Apache Software License, Version 1.1 
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>. 
- */
-package org.apache.xalan.xpath;
-
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath object, and is capable of 
- * converting the object to various types, such as a string.
- * This class acts as the base class to other XPath type objects, 
- * such as XString, and provides polymorphic casting capabilities.
- */
-public class XObject extends org.apache.xpath.objects.XObject
-{
-  
-  
-  /**
-   * Create an XObject.
-   */
-  public XObject()
-  {
-    super();
-  }
-
-  /**
-   * Create an XObject.
-   */
-  public XObject(Object obj)
-  {
-    super(obj);
-  }   
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/XPathSupport.java b/compat_src/org/apache/xalan/xpath/XPathSupport.java
deleted file mode 100644
index 0a98708..0000000
--- a/compat_src/org/apache/xalan/xpath/XPathSupport.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-import java.util.*;
-import java.net.URL;
-import org.xml.sax.*;
-
-
-
-
-/**
- * <meta name="usage" content="advanced"/>
- * Provides basic support for independent use of XPath.  This interface 
- * is used in order that there may be loose coupling between the 
- * XPath package and the support services, such as the variable store, 
- * parser services, DOM implementation, etc.  Most if all implementations
- * of this should derive from XPathSupportDefault (hence, it should 
- * probably be an abstract class instead of an interface).
- */
-public interface XPathSupport extends org.apache.xalan.extensions.ExpressionContext
-{
-  
-}
diff --git a/compat_src/org/apache/xalan/xpath/XPathSupportDefault.java b/compat_src/org/apache/xalan/xpath/XPathSupportDefault.java
deleted file mode 100644
index c291d19..0000000
--- a/compat_src/org/apache/xalan/xpath/XPathSupportDefault.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import java.util.*;
-import org.w3c.dom.*;
-
-
-
-/**
- * <meta name="usage" content="advanced"/>
- * Default class for execution context when XPath is used by itself. Many 
- * of the functions in this class need to be overridden in order to 
- * perform correct execution of the XPath (for instance, variable 
- * execution).  This class will likely eventually replace XMLParserLiaisons.
- */
-public class XPathSupportDefault extends org.apache.xpath.XPathContext implements XPathSupport 
-{
-  
-}
diff --git a/compat_src/org/apache/xalan/xpath/XRTreeFrag.java b/compat_src/org/apache/xalan/xpath/XRTreeFrag.java
deleted file mode 100644
index a08cf18..0000000
--- a/compat_src/org/apache/xalan/xpath/XRTreeFrag.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath result tree fragment object, and is capable of 
- * converting the RTF to other types, such as a string.
- */
-public class XRTreeFrag extends XObject 
-{ 
-  
-  org.apache.xpath.objects.XRTreeFrag m_xrtreefrag;
-  
-  /**
-   * Create an XObject.
-   */
-  public XRTreeFrag(DocumentFragment frag)
-  {
-    super(frag);
-    m_xrtreefrag = new org.apache.xpath.objects.XRTreeFrag(frag); 
-  }
-  
-  /**
-   * Tell what kind of class this is.
-   */
-  public int getType()
-  {
-    return m_xrtreefrag.getType();
-  }
-
-  /**
-   * Given a request type, return the equivalent string. 
-   * For diagnostic purposes.
-   */
-  public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<garyp@firstech.com> change to protected
-  {
-    return m_xrtreefrag.getTypeString();
-  }
-  
-  /**
-   * Cast result object to a number.
-   */
-  public double num()
-  {    
-    return m_xrtreefrag.num();
-  }
-
-  /**
-   * Cast result object to a boolean.
-   */
-  public boolean bool()
-  {
-    return m_xrtreefrag.bool();
-  }
-
-  /**
-   * Cast result object to a string.
-   */
-  public String str()
-  {
-    return m_xrtreefrag.str();
-  }
-  
-  /**
-   * Cast result object to a result tree fragment.
-   */
-  public DocumentFragment rtree()
-  {
-    return m_xrtreefrag.rtree();
-  }
-  
-  /**
-   * Cast result object to a nodelist. (special function).
-   */
-  public NodeList convertToNodeset()
-  {
-    return m_xrtreefrag.convertToNodeset();
-  }  
-  
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {   
-      return m_xrtreefrag.equals(obj2);    
-  }
-  
-  
-}
diff --git a/compat_src/org/apache/xalan/xpath/XString.java b/compat_src/org/apache/xalan/xpath/XString.java
deleted file mode 100644
index 9d2dc6e..0000000
--- a/compat_src/org/apache/xalan/xpath/XString.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-
-import org.w3c.dom.*;
-
-import org.apache.xpath.XPathContext;
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath string object, and is capable of 
- * converting the string to other types, such as a number.
- */
-public class XString extends XObject
-{
-  
-  org.apache.xpath.objects.XString m_xstring;
-  
-  /**
-   * Construct a XString object.
-   */
-  public XString(String val)
-  {
-    super(val);
-    m_xstring = new org.apache.xpath.objects.XString(val);
-  }
-  
-   /**
-   * Tell that this is a CLASS_STRING.
-   */
-  public int getType()
-  {
-    return m_xstring.getType();
-  }
-  
-  /**
-   * Given a request type, return the equivalent string. 
-   * For diagnostic purposes.
-   */
-  public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<garyp@firstech.com> change to protected
-  {
-    return m_xstring.getTypeString();
-  }
-  
-  /**
-   * Cast a string to a number.
-   */
-  public static double castToNum(String s)
-  {  
-    return org.apache.xpath.objects.XString.castToNum(s);    
-  }
-  
-  /**
-   * Cast result object to a number.
-   */
-  public double num()
-  {
-    return m_xstring.num();
-  }
-
-  /**
-   * Cast result object to a boolean.
-   */
-  public boolean bool()
-  {
-    return m_xstring.bool();
-  }
-
-  /**
-   * Cast result object to a string.
-   */
-  public String str()
-  {
-    return m_xstring.str();
-  }
-  
-  /**
-   * Cast result object to a result tree fragment.
-   */
-  public DocumentFragment rtree(XPathSupport support)
-  {    
-    return m_xstring.rtree((XPathContext)support);
-  }
-  
-  
-  /**
-   * Cast result object to a result tree fragment.
-   *
-   * @param support Xpath context to use for the conversion 
-   *
-   * @return A document fragment with this string as a child node
-   */
-  public DocumentFragment rtree(XPathContext support)
-  {      
-    return m_xstring.rtree(support);
-  }
-  
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xstring.equals(obj2);
-  }
-
-  
-}
diff --git a/compat_src/org/apache/xalan/xpath/package.html b/compat_src/org/apache/xalan/xpath/package.html
deleted file mode 100644
index 29a55da..0000000
--- a/compat_src/org/apache/xalan/xpath/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<HTML><HEAD></HEAD><BODY>
-     <P>Infrastructure for processing XPATH expressions</P>
-   
-     <P></P>
-   </BODY></HTML>
\ No newline at end of file
diff --git a/compat_src/org/apache/xalan/xpath/xdom/XercesLiaison.java b/compat_src/org/apache/xalan/xpath/xdom/XercesLiaison.java
deleted file mode 100644
index 5622796..0000000
--- a/compat_src/org/apache/xalan/xpath/xdom/XercesLiaison.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xdom;
-
-import java.net.*;
-import java.io.*;
-import java.util.*;
-import org.apache.xerces.dom.*;
-import org.apache.xerces.parsers.*;
-import org.apache.xerces.framework.*;
-import org.xml.sax.*;
-import org.w3c.dom.*;
-import org.apache.xalan.xpath.xml.*;
-import org.apache.xalan.xpath.*;
-import org.apache.xpath.res.XPATHErrorResources;
-import org.apache.xalan.res.XSLMessages;
-
-import javax.xml.transform.TransformerException;
-import javax.xml.parsers.*;
-
-
-/**
- * <meta name="usage" content="general"/>
- * Provides XSLTProcessor an interface to the Xerces XML parser.  This 
- * liaison should be used if Xerces DOM nodes are being process as 
- * the source tree or as the result tree.
- * @see org.apache.xalan.xslt.XSLTProcessor
- * @see org.apache.xml.parsers
- */
-public class XercesLiaison extends XMLParserLiaisonDefault //implements XPathSupport
-{
-  /**
-   * Return a string suitible for telling the user what parser is being used.
-   */
-  public String getParserDescription()
-  {
-    return "XML4J Version "+ getXML4JVersionString();
-  }
-
-	private org.xml.sax.ErrorHandler m_errorHandler;
-  /**
-   * Constructor that takes SAX ErrorHandler as an argument. The error handler
-   * is registered with the XML Parser. Any XML-related errors will be reported
-   * to the calling application using this error handler.
-   *
-   * @param	errorHandler SAX ErrorHandler instance.
-   */
-  public XercesLiaison(org.xml.sax.ErrorHandler errorHandler)
-  {
-    m_errorHandler = errorHandler;
-  }
-
-  /**
-   * Construct an instance.
-   *
-  public XercesLiaison(XPathEnvSupport envSupport)
-  {
-    m_envSupport = envSupport;
-  }*/
-
-  /**
-   * Construct an instance.
-   */
-  public XercesLiaison()
-  {
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Check node to see if it matches this liaison.
-   */
-  public void checkNode(Node node)
-    throws TransformerException
-  {
-    if(!(node instanceof org.apache.xerces.dom.NodeImpl))
-      throw new TransformerException(XSLMessages.createXPATHMessage(XPATHErrorResources.ER_XERCES_CANNOT_HANDLE_NODES, new Object[]{((Object)node).getClass()})); //"XercesLiaison can not handle nodes of type"
-        //+((Object)node).getClass());
-  }
-
-  /**
-   * Returns true that this implementation does support
-   * the SAX DocumentHandler interface.
-   */
-  public boolean supportsSAX()
-  {
-    return true;
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Get Xerces version field... we have to do this 'cause
-   * the "public static final" fields seem to get bound
-   * at compile time otherwise.
-   */
-  private String getXML4JVersionString()
-  {
-    // return Version.fVersion;
-    String version = "";
-    try
-    {
-      java.lang.reflect.Field versionField = Version.class.getField("fVersion");
-      version = (String)versionField.get(null);
-    }
-    catch(Exception e)
-    {
-    }
-    return version;
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Get one of the Xerces version numbers...
-   * we have to do this 'cause the "public static final"
-   * fields seem to get bound at compile time otherwise.
-   */
-  private int getXML4JVersionNum(int field)
-  {
-    int versionNum = 0;
-    String ver = getXML4JVersionString();
-    StringTokenizer tokenizer = new StringTokenizer(ver, " .");
-    for(int i = 0; tokenizer.hasMoreTokens(); i++)
-    {
-      String tok = tokenizer.nextToken();
-      if(field == i)
-      {
-        versionNum = Integer.parseInt(tok);
-      }
-    }
-    return versionNum;
-  }
-  
-  /**
-   * Pool the DOM parsers for reuse.
-   *
-  private ObjectPool m_domParserPool = new ObjectPool(DOMParser.class);
-  
-  /**
-   * Pool the SAX parsers for reuse.
-   *
-  private ObjectPool m_saxParserPool = new ObjectPool(SAXParser.class);
- 
-  /**
-   * Count the parses since the last garbage collection.  GC every 
-   * 10 parses or so.  (This might be a bad idea, but it seems to 
-   * help...)
-   *
-  protected int m_parseCountSinceGC = 0;
-*/
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Parse an XML document.
-   *
-   * <p>The application can use this method to instruct the SAX parser
-   * to begin parsing an XML document from any valid input
-   * source (a character stream, a byte stream, or a URI).</p>
-   *
-   * <p>Applications may not invoke this method while a parse is in
-   * progress (they should create a new Parser instead for each
-   * additional XML document).  Once a parse is complete, an
-   * application may reuse the same Parser object, possibly with a
-   * different input source.</p>
-   *
-   * @param source The input source for the top-level of the
-   *        XML document.
-   * @exception org.xml.sax.SAXException Any SAX exception, possibly
-   *            wrapping another exception.
-   * @exception java.io.IOException An IO exception from the parser,
-   *            possibly from a byte stream or character stream
-   *            supplied by the application.
-   * @see org.xml.sax.InputSource
-   * @see #parse(java.lang.String)
-   * @see #setEntityResolver
-   * @see #setDTDHandler
-   * @see #setDocumentHandler
-   * @see #setErrorHandler
-   */
-  public void parse (InputSource source)
-    throws javax.xml.transform.TransformerException
-  {
-   try
-    {
-
-      // I guess I should use JAXP factory here... when it's legal.
-      // org.apache.xerces.parsers.DOMParser parser 
-      //  = new org.apache.xerces.parsers.DOMParser();
-      DocumentBuilderFactory builderFactory =
-        DocumentBuilderFactory.newInstance();
-
-      builderFactory.setNamespaceAware(true);      
-
-      DocumentBuilder parser = builderFactory.newDocumentBuilder();
-			if (m_errorHandler == null)
-				parser.setErrorHandler(new org.apache.xml.utils.DefaultErrorHandler());
-			else
-				parser.setErrorHandler(m_errorHandler);
-
-      // if(null != m_entityResolver)
-      // {
-      // System.out.println("Setting the entity resolver.");
-      //  parser.setEntityResolver(m_entityResolver);
-      // }
-      setDocument(parser.parse(source));
-    }
-    catch (org.xml.sax.SAXException se)
-    {
-      throw new TransformerException(se);
-    }
-    catch (ParserConfigurationException pce)
-    {
-      throw new TransformerException(pce);
-    }
-    catch (IOException ioe)
-    {
-      throw new TransformerException(ioe);
-    }
-  }
-  
-  public void copyFromOtherLiaison(XMLParserLiaisonDefault from)
-    throws SAXException
-  {
-    //super.copyFromOtherLiaison(from);
-    if(null != from) // defensive
-    {
-      if(from instanceof XercesLiaison)
-        this.m_useDOM2getNamespaceURI = ((XercesLiaison)from).m_useDOM2getNamespaceURI;
-    }
- }
-
-
-  /**
-   * Create an empty DOM Document.  Mainly used for creating an
-   * output document.  Implementation of XMLParserLiaison
-   * interface method.
-   */
-  public Document createDocument()
-  {
-    org.apache.xerces.dom.DocumentImpl doc = new org.apache.xerces.dom.DocumentImpl();
-    return doc;
-  }
-
-  /**
-   * Given an ID, return the element.
-   */
-  public Element getElementByID(String id, Document doc)
-  {
-    return ((DocumentImpl)doc).getIdentifier(id);
-  }
-
-  /**
-   * Tell if the node is ignorable whitespace.
-   * @deprecated
-   */
-  public boolean isIgnorableWhitespace(Text node)
-  {
-    boolean isIgnorable;
-    if( node instanceof org.apache.xerces.dom.TextImpl)
-    {
-      isIgnorable = ((org.apache.xerces.dom.TextImpl)node).isIgnorableWhitespace();
-    }
-    else
-    {
-      isIgnorable = false;
-    }
-    return isIgnorable;
-  }
-  
-  protected boolean m_useDOM2getNamespaceURI = true;
-  
-  /**
-   * Set whether or not getNamespaceOfNode should use the Xerces/DOM2
-   * getNamespaceURI.  This has to be set to true if the 
-   * http://xml.org/sax/features/namespaces is set to false, or if 
-   * the tree is mutated.
-   */
-  public void setUseDOM2getNamespaceURI(boolean b)
-  {
-    m_useDOM2getNamespaceURI = b;
-  }
-
-  
-  /**
-   * Get the namespace of the node.  Calls org.apache.xerces.dom.NodeImpl's
-   * getNamespaceURI() if setUseDOM2getNamespaceURI(true) has been called.
-   */
-  public String getNamespaceOfNode(Node n)
-  {
-    return(m_useDOM2getNamespaceURI) ?
-          ((org.apache.xerces.dom.NodeImpl)n).getNamespaceURI()
-          : super.getNamespaceOfNode(n);
-  }
-  
-
-  /**
-  * Returns the local name of the given node.
-  */
-  // public String getLocalNameOfNode(Node n)
-  // {
-  //   return ((org.apache.xerces.dom.NodeImpl)n).getLocalName();
-  // }
-
-  /**
-  * Returns the element name with the namespace expanded.
-  */
-  // public String getExpandedElementName(Element elem)
-  // {
-  //  String namespace = getNamespaceOfNode(elem);
-  //   return (null != namespace) ? namespace+":"+ getLocalNameOfNode(elem)
-  //                                : getLocalNameOfNode(elem);
-  // }
-
-  /**
-  * Returns the attribute name with the namespace expanded.
-  */
-  // public String getExpandedAttributeName(Attr attr)
-  // {
-  //  String namespace = getNamespaceOfNode(attr);
-  //   return (null != namespace) ? namespace+":"+ getLocalNameOfNode(attr)
-  //                               : getLocalNameOfNode(attr);
-  // }
-
-  /**
-   * Get the parent of a node.
-   */
-  public Node getParentOfNode(Node node)
-    throws RuntimeException
-  {
-    return (Node.ATTRIBUTE_NODE == node.getNodeType())
-           ? ((Attr)node).getOwnerElement() : node.getParentNode();
-  }
-
-}
-
-
diff --git a/compat_src/org/apache/xalan/xpath/xml/FormatterToDOM.java b/compat_src/org/apache/xalan/xpath/xml/FormatterToDOM.java
deleted file mode 100644
index 9c1e25a..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToDOM.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-//import org.apache.xml.serialize.BaseMarkupSerializer;
-import org.apache.xalan.serialize.DOMSerializer;
-import org.apache.xalan.serialize.SerializerToXML;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.SAXException;
-
-
-/**
- * <meta name="usage" content="general"/>
- * This class takes SAX events (in addition to some extra events 
- * that SAX doesn't handle yet) and adds the result to a document 
- * or document fragment.
- */
-public class FormatterToDOM extends ParserAdapter
-{ 
-  DOMSerializer m_serializer;
-    
-  /**
-   * FormatterToDOM instance constructor... it will add the DOM nodes 
-   * to the document fragment.
-   */
-  public FormatterToDOM(Document doc, Element elem) throws SAXException
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    try{
-      m_serializer = (new SerializerToXML()).asDOMSerializer();
-      this.setContentHandler((SerializerToXML)m_serializer);
-    }
-    catch (java.io.IOException ioe)
-    {}
-  }
-
-  /**
-   * FormatterToDOM instance constructor... it will add the DOM nodes 
-   * to the document fragment.
-   */
-  public FormatterToDOM(Document doc, DocumentFragment docFrag) throws SAXException
-  {
-    super(new org.apache.xerces.parsers.SAXParser()); 
-    try{
-      m_serializer = (new SerializerToXML()).asDOMSerializer();
-      this.setContentHandler((SerializerToXML)m_serializer);
-    }
-    catch (java.io.IOException ioe)
-    {}
-  }
-
-  /**
-   * FormatterToDOM instance constructor... it will add the DOM nodes 
-   * to the document.
-   */
-  public FormatterToDOM(Document doc) throws SAXException
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    try{
-      m_serializer = (new SerializerToXML()).asDOMSerializer();
-      this.setContentHandler((SerializerToXML)m_serializer);
-    }
-    catch (java.io.IOException ioe)
-    {}
-  }
-  
-  public SerializerToXML getSerializerObject()
-  {
-    return (SerializerToXML)m_serializer;
-  }
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/FormatterToHTML.java b/compat_src/org/apache/xalan/xpath/xml/FormatterToHTML.java
deleted file mode 100644
index b0621b2..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToHTML.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import java.io.Writer;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.serialize.SerializerToHTML;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.SAXException;
-//import org.apache.xml.serialize.OutputFormat;
-
-/**
- * <meta name="usage" content="general"/>
- * FormatterToHTML formats SAX-style events into XML.
- * Warning: this class will be replaced by the Xerces Serializer classes.
- */
-public class FormatterToHTML extends ParserAdapter
-{ 
-  
-  SerializerToHTML m_serializer;
-  
-  public FormatterToHTML() throws SAXException 
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToHTML();
-    this.setContentHandler(m_serializer);  
-  }
-  
-  /**
-   * Constructor using a writer.
-   * @param writer        The character output stream to use.
-   */
-  public FormatterToHTML(Writer writer) throws SAXException  
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToHTML();
-    m_serializer.setWriter(writer);
-    this.setContentHandler(m_serializer);    
-  }
-  
-  /**
-   * Constructor using an output stream, and a simple OutputFormat.
-   * @param writer        The character output stream to use.
-   */
-  public FormatterToHTML(java.io.OutputStream os)  
-    throws UnsupportedEncodingException, SAXException 
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToHTML();
-    m_serializer.setOutputStream(os);
-    this.setContentHandler(m_serializer);
-    
-  }
-  
-  /**
-   * Constructor using a writer.
-   * @param writer        The character output stream to use.
-   */
-  public FormatterToHTML(FormatterToXML xmlListener) throws SAXException 
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToHTML();
-    m_serializer.CopyFrom(xmlListener.m_serializer);
-    this.setContentHandler(m_serializer);
-  }
-  
-  public SerializerToHTML getSerializerObject()
-  {
-    return m_serializer;
-  }
-  
-}
-
diff --git a/compat_src/org/apache/xalan/xpath/xml/FormatterToText.java b/compat_src/org/apache/xalan/xpath/xml/FormatterToText.java
deleted file mode 100644
index 2292679..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToText.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import java.io.Writer;
-
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.serialize.SerializerToText;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.SAXException;
-
-/**
- * <meta name="usage" content="general"/>
- * This class takes SAX events (in addition to some extra events 
- * that SAX doesn't handle yet) and produces simple text only.
- * Warning: this class will be replaced by the Xerces Serializer classes.
- */
-public class FormatterToText extends ParserAdapter
-{
-  
-  private SerializerToText m_serializer;
-  /**
-   * FormatterToText instance constructor... it will add the DOM nodes 
-   * to the document fragment.
-   */
-  public FormatterToText(Writer pw) throws SAXException
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToText(); 
-    m_serializer.setWriter(pw);
-    this.setContentHandler(m_serializer);
-  }
-  
-  public SerializerToText getSerializerObject()
-  {
-    return m_serializer;
-  }
-
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/FormatterToXML.java b/compat_src/org/apache/xalan/xpath/xml/FormatterToXML.java
deleted file mode 100644
index ea0d032..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToXML.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import java.io.Writer;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.serialize.SerializerToXML;
-//import org.apache.xml.serialize.BaseMarkupSerializer;
-import org.apache.xalan.serialize.Method;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.SAXException;
-
-
-/**
- * <meta name="usage" content="general"/>
- * FormatterToXML formats SAX-style events into XML.
- * Warning: this class will be replaced by the Xerces Serializer classes.
- */
-public class FormatterToXML extends ParserAdapter
-{
-  SerializerToXML m_serializer;
-  
-  public FormatterToXML()
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToXML();
-    this.setContentHandler(m_serializer);
-    //super( new OutputFormat( Method.XML, null, false ) );     
-  }
-  
-  /**
-   * Constructor using a writer.
-   * @param writer        The character output stream to use.
-   */
-  public FormatterToXML(Writer writer) throws SAXException 
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToXML();
-   // super( format != null ? format : new OutputFormat( Method.XML, null, false ) );
-    //_format.setMethod( Method.XML );
-    m_serializer.setWriter( writer );
-    this.setContentHandler(m_serializer);
-  }
-  
-  /**
-   * Constructor using an output stream, and a simple OutputFormat.
-   * @param writer        The character output stream to use.
-   */
-  public FormatterToXML(java.io.OutputStream os) 
-    throws UnsupportedEncodingException , SAXException 
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToXML();
-    //super( format != null ? format : new OutputFormat( Method.XML, null, false ) );
-    //_format.setMethod( Method.XML );
-    m_serializer.setOutputStream( os );
-    this.setContentHandler(m_serializer);
-  }
-  
-  /**
-   * Constructor using a writer.
-   * @param writer        The character output stream to use.
-   */
-  public FormatterToXML(FormatterToXML xmlListener) throws SAXException 
-  {
-    super(new org.apache.xerces.parsers.SAXParser());
-    m_serializer = new SerializerToXML();
-    m_serializer.CopyFrom(xmlListener.m_serializer);
-    //super( new OutputFormat( Method.XML, null, false ) );
-    this.setContentHandler(m_serializer);
-  }
-  
-  public SerializerToXML getSerializerObject()
-  {
-    return m_serializer;
-  }
-  
-
-}  //ToXMLStringVisitor
diff --git a/compat_src/org/apache/xalan/xpath/xml/ProblemListener.java b/compat_src/org/apache/xalan/xpath/xml/ProblemListener.java
deleted file mode 100644
index 0bf4137..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/ProblemListener.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-
-/**
- * <meta name="usage" content="general"/>
- * This is the interface that the XSL processor calls when it 
- * has a problem of some kind, either an error or a warning.
- * Users should ass the XSLTEngineImpl class to setProblemListener
- * if they wish an object instance to be called when a problem
- * event occurs.
- */
-public interface ProblemListener
-{
-  public static final short    WARNING         = 1;
-  public static final short    ERROR           = 2;
-  public static final short    MESSAGE         = 3;
-
-  public static final short    XMLPARSER       = 1;
-  public static final short    XSLPROCESSOR    = 2;
-  public static final short    QUERYENGINE     = 3;
-  public static final short    XPATHPROCESSOR  = 4;
-  public static final short    XPATHPARSER  = 5;
-
-  /**
-   * Function that is called when a problem event occurs.
-   * 
-   * @param   where             Either and XMLPARSER, XSLPROCESSOR, or QUERYENGINE.
-   * @param   classification    Either ERROR or WARNING.
-   * @param   styleNode         The style tree node where the problem
-   *                            occurred.  May be null.
-   * @param   sourceNode        The source tree node where the problem
-   *                            occurred.  May be null.
-   * @param   msg               A string message explaining the problem.
-   * @param   lineNo            The line number where the problem occurred,  
-   *                            if it is known. May be zero.
-   * @param   charOffset        The character offset where the problem,  
-   *                            occurred if it is known. May be zero.
-   * 
-   * @return  true if the return is an ERROR, in which case
-   *          exception will be thrown.  Otherwise the processor will 
-   *          continue to process.
-   */
-  public boolean problem(short where, short classification, 
-                       Object styleNode, Node sourceNode,
-                       String msg, String id, int lineNo, int charOffset)
-    throws org.xml.sax.SAXException  ;
-  
-  /**
-   * Function that is called to issue a message.
-   * @param   msg               A string message to output.
-   */
-  public boolean message(String msg);
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/ProblemListenerDefault.java b/compat_src/org/apache/xalan/xpath/xml/ProblemListenerDefault.java
deleted file mode 100644
index ebc3927..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/ProblemListenerDefault.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.SAXException;
-import javax.xml.transform.TransformerException;
-
-/**
- * <meta name="usage" content="general"/>
- * This is the interface that the XSL processor calls when it 
- * has a problem of some kind, either an error or a warning.
- * Users should ass the XSLTEngineImpl class to setProblemListener
- * if they wish an object instance to be called when a problem
- * event occurs.
- */
-public class ProblemListenerDefault extends org.apache.xml.utils.DefaultErrorHandler implements ProblemListener 
-{
-  //ErrorHandler m_errorHandler = null;
-  ProblemListener m_problemListener = null;
-  
-  public ProblemListenerDefault()
-  {
-    super();    
-  }
-  
-  public ProblemListenerDefault(ProblemListener l)
-  { 
-    //m_errorHandler = handler;
-    m_problemListener = l;
-  }
-  /*
-  public void setErrorHandler (ErrorHandler handler)
-  {
-    m_errorHandler = handler;
-  }
-  */
-  public void setProblemListener (ProblemListener l)
-  {
-    m_problemListener = l;
-  }
-  
-  public ErrorHandler getErrorHandler ()
-  {
-    return this; // m_errorHandler;
-  }
-  
-  public ProblemListener getProblemListener ()
-  {
-    if (m_problemListener != null)
-      return m_problemListener;
-    else
-      return this;
-  }
-  
-  /**
-   * Function that is called to issue a message.
-   * @param   msg               A string message to output.
-   */
-  public boolean message(String msg)
-  {
-      if (m_problemListener != null)
-        m_problemListener.message(msg);
-      synchronized (this)
-      {  
-        new java.io.PrintWriter(  System.err, true ).println( msg );
-      } 
-   
-    return false;                    // we don't know this is an error 
-  }
-  
-  public boolean problem(short where, short classification, 
-                       Object styleNode, Node sourceNode,
-                       String msg, String id, int lineNo, int charOffset)
-  throws org.xml.sax.SAXException   
-  {
-    if (m_problemListener != null)
-      return m_problemListener.problem(where, classification, styleNode, sourceNode, msg, id, lineNo, charOffset);
-    else
-    {  
-      this.error(new SAXParseException(msg, null, id, lineNo, charOffset));
-      return false;   
-    }
-  } 
-  
-  public void warning(SAXParseException exception) throws SAXException
-  {
-    if (m_problemListener == null)
-    {
-      super.warning(exception);    
-    }
-    else
-    {
-      boolean shouldthrow = m_problemListener.problem(XSLPROCESSOR, WARNING,
-                                null, null,
-                                exception.getMessage(),
-                                exception.getSystemId(),
-                                exception.getLineNumber(),  
-                                exception.getColumnNumber()); 
-      if (shouldthrow)
-        throw new SAXException(exception);
-    }
-  }
-  
-  public void error(SAXParseException exception) throws SAXException
-  {
-    if (m_problemListener == null)
-    {
-      super.error(exception);    
-    }
-    else
-    {
-      boolean shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
-                                null, null,
-                                exception.getMessage(),
-                                exception.getSystemId(),
-                                exception.getLineNumber(),  
-                                exception.getColumnNumber()); 
-      if (shouldthrow)
-        throw new SAXException(exception);
-    }
-  }
-  
-  public void fatalError(SAXParseException exception) throws SAXException
-  {
-    if (m_problemListener == null)
-    {
-      super.fatalError(exception);    
-    }
-    else
-    {
-      boolean shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
-                                null, null,
-                                exception.getMessage(),
-                                exception.getSystemId(),
-                                exception.getLineNumber(),  
-                                exception.getColumnNumber()); 
-      if (shouldthrow)
-        throw new SAXException(exception);
-    }
-  }
-  
-  public void warning(TransformerException exception) throws TransformerException
-  {
-    if (m_problemListener == null)
-    {
-      super.warning(exception);    
-    }
-    else
-    {
-      boolean shouldthrow = true;
-      try{
-        javax.xml.transform.SourceLocator locator = exception.getLocator();
-        if (locator != null)
-        {
-          shouldthrow = m_problemListener.problem(XSLPROCESSOR, WARNING,
-                                                  null, null,
-                                                  exception.getMessage(),
-                                                  locator.getSystemId(),
-                                                  locator.getLineNumber(),  
-                                                  locator.getColumnNumber());
-        }
-        else 
-        {
-          shouldthrow = m_problemListener.problem(XSLPROCESSOR, MESSAGE,
-                                                  null, null,
-                                                  exception.getMessage(),
-                                                  null,
-                                                  0,  
-                                                  0);
-        }
-      }
-      catch (SAXException se)
-      {
-        throw new TransformerException(se);
-      }
-      if (shouldthrow)
-        throw new TransformerException(exception);
-    }
-  }
-  
-  public void error(TransformerException exception) throws TransformerException
-  {
-    if (m_problemListener == null)
-    {
-      super.error(exception);    
-    }
-    else
-    {
-      boolean shouldthrow = true;
-      try{
-        javax.xml.transform.SourceLocator locator = exception.getLocator();
-        if (locator != null)
-        {
-          shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
-                                                  null, null,
-                                                  exception.getMessage(),
-                                                  locator.getSystemId(),
-                                                  locator.getLineNumber(),  
-                                                  locator.getColumnNumber());
-        }
-        else 
-        {
-          shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
-                                                  null, null,
-                                                  exception.getMessage(),
-                                                  null,
-                                                  0,  
-                                                  0);
-        }
-      }
-      catch (SAXException se)
-      {
-        throw new TransformerException(se);
-      }
-      if (shouldthrow)
-        throw new TransformerException(exception);
-    }
-  }
-  
-  public void fatalError(TransformerException exception) throws TransformerException
-  {
-    if (m_problemListener == null)
-    {
-      super.fatalError(exception);    
-    }
-    else
-    {
-      boolean shouldthrow = true;
-      try{
-        javax.xml.transform.SourceLocator locator = exception.getLocator();
-        if (locator != null)
-        {
-          shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
-                                                  null, null,
-                                                  exception.getMessage(),
-                                                  locator.getSystemId(),
-                                                  locator.getLineNumber(),  
-                                                  locator.getColumnNumber());
-        }
-        else 
-        {
-          shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
-                                                  null, null,
-                                                  exception.getMessage(),
-                                                  null,
-                                                  0,  
-                                                  0);
-        }
-      }
-      catch (SAXException se)
-      {
-        throw new TransformerException(se);
-      }
-      if (shouldthrow)
-        throw new TransformerException(exception);
-    }
-  }
-  /*
-  private class MessageMgr extends org.apache.xalan.transformer.MsgMgr 
-  {
-    void MessageMgr()
-    {}
-  }*/
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/TreeWalker.java b/compat_src/org/apache/xalan/xpath/xml/TreeWalker.java
deleted file mode 100644
index 50cbfb6..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/TreeWalker.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * The Apache Software License, Version 1.1 
- * 
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-import org.xml.sax.ext.LexicalHandler;
-
-import org.apache.xml.utils.AttList;
-
-/**
- * <meta name="usage" content="advanced"/>
- * This class does a pre-order walk of the DOM tree, calling the FormatterListener
- * interface as it goes.
- */
-public class TreeWalker //extends org.apache.xml.utils.TreeWalker
-{
-  
-  org.apache.xml.utils.TreeWalker m_walker; 
-  
-  /**
-   * Constructor.
-   * @param   formatterListener The implemention of the 
-   * FormatterListener operation (toXMLString, digest, ...)
-   */
-  public TreeWalker(DocumentHandler formatterListener) 
-  {
-    if(formatterListener instanceof FormatterToXML)
-      m_walker = new org.apache.xml.utils.TreeWalker(((FormatterToXML)formatterListener).getSerializerObject(), new org.apache.xpath.DOM2Helper());
-    //super(formatterListener);
-  } 
- 
-  /**
-   * Perform a pre-order traversal non-recursive style.
-   */
-  public void traverse(Node pos) throws SAXException 
-  {
-    m_walker.traverse(pos);
-  }
-  
-  /**
-   * Perform a pre-order traversal non-recursive style.
-   */
-  public void traverse(Node pos, Node top) throws SAXException 
-  {
-    m_walker.traverse(pos, top);
-  }
-  
-  
-  
-}  //TreeWalker
diff --git a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaison.java b/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaison.java
deleted file mode 100644
index 952708f..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaison.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-import org.apache.xpath.DOM2Helper;
-
-/**
- * <meta name="usage" content="general"/>
- * This is the interface that the XSL processor calls when it 
- * has a problem of some kind, either an error or a warning.
- * Users should ass the XSLTEngineImpl class to setProblemListener
- * if they wish an object instance to be called when a problem
- * event occurs.
- */
-public class XMLParserLiaison extends DOM2Helper
-{
-  
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaisonDefault.java b/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaisonDefault.java
deleted file mode 100644
index a3a239f..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaisonDefault.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import javax.xml.parsers.*;
-import java.net.*;
-import java.io.*;
-import java.util.*;
-import org.xml.sax.*;
-import org.w3c.dom.*;
-
-import org.apache.xalan.xpath.xml.*;
-import org.apache.xalan.xpath.*;
-import org.apache.xpath.*;
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-
-/**
- * A class that handles interfacing IBM's XML4J2 to the 
- * Lotus XSL Processor.
- */
-public class XMLParserLiaisonDefault extends XMLParserLiaison 
-{
-  
-}
-
-
diff --git a/compat_src/org/apache/xalan/xpath/xml/package.html b/compat_src/org/apache/xalan/xpath/xml/package.html
deleted file mode 100644
index 57ee7d1..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML><HEAD></HEAD><BODY>
-     <P>Infrastructure for working with an XML parser.</P>
-   
-      <P>An implementation of the {@link org.apache.xalan.xpath.xml.XMLParserLiaison} interface provides a liaison
-     between the XSLT processor and an XML parser. Unless you specify an XML parser and your own implementation of 
-     the XMLParserLiaison interface, Xalan-Java uses the 
-     {@link org.apache.xalan.xpath.xml.XMLParserLiaisonDefault}:</P>
-     <P>This package also includes four implementations of the <A href="http://www.megginson.com/SAX/sax.html" target="_top">SAX</A> <A href="http://www.megginson.com/SAX/javadoc/org.xml.sax.DocumentHandler.html#_top" target="_top">org.xml.sax.DocumentHandler</A> interface:</P>
-     <UL>
-     <LI>{@link org.apache.xalan.xpath.xml.FormatterToDOM}</LI>
-     <LI>{@link org.apache.xalan.xpath.xml.FormatterToXML}</LI>
-     <LI>{@link org.apache.xalan.xpath.xml.FormatterToHTML} (an extension of FormatterToXML)</LI>
-     <LI>{@link org.apache.xalan.xpath.xml.FormatterToText}</LI>
-     </UL>
-   </BODY></HTML>
\ No newline at end of file
diff --git a/compat_src/org/apache/xalan/xslt/Stylesheet.java b/compat_src/org/apache/xalan/xslt/Stylesheet.java
deleted file mode 100644
index 1998464..0000000
--- a/compat_src/org/apache/xalan/xslt/Stylesheet.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.apache.xalan.xslt;
-
-import java.net.*;
-import java.io.*;
-import org.xml.sax.*;
-
-
-/**
- * Represents the base stylesheet or an
- * "import" stylesheet; "include" stylesheets are
- * combined with the including stylesheet.
- * At the moment these stylesheets can not be reused within the
- * stylesheet tree or between trees.  This needs to be fixed
- * in the future.
- */
-public class Stylesheet  extends org.apache.xalan.templates.Stylesheet
-{ 
-	
-	 /**
-   * Constructor for a Stylesheet needs a Document.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public Stylesheet(StylesheetRoot root,
-                    XSLTEngineImpl processor,
-                    String baseIdentifier)
-    throws XSLProcessorException,
-           MalformedURLException,
-           FileNotFoundException,
-           IOException,
-           SAXException
-  {
-		super(root.getObject());    
-  }
-	
-	/**
-   * Constructor using an org.apache.xalan.templates.StylesheetRoot.
-   * 
-   * @param s an org.apache.xalan.templates.Stylesheet object
-   */
-  public Stylesheet(org.apache.xalan.templates.Stylesheet s)    
-  { 
-		super(s);
-       
-  }
-	
-}
diff --git a/compat_src/org/apache/xalan/xslt/StylesheetHandler.java b/compat_src/org/apache/xalan/xslt/StylesheetHandler.java
deleted file mode 100644
index 040fb35..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetHandler.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import java.util.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.AttributesImpl;
-import org.xml.sax.helpers.ParserAdapter;
-import org.w3c.dom.*;
-import java.util.Vector;
-import java.io.*;
-import java.net.*;
-
-import org.apache.xalan.templates.Stylesheet; 
-
-/**
- * <meta name="usage" content="advanced"/>
- * Initializes and processes a stylesheet via SAX events.
- * If you need to alter the code in here,
- * it is not for the faint-of-heart, due to the state tracking
- * that has to be done due to the SAX event model.
- */
-public class StylesheetHandler extends ParserAdapter
-  
-{
-  
-  /**
-   * Instance constructor... 
-   * @param processor  The XSLTProcessor implementation.
-   * @param stylesheet The root stylesheet.
-   *    
-   */
-  public StylesheetHandler(XSLTEngineImpl processor, Stylesheet stylesheetTree)    
-    throws javax.xml.transform.TransformerConfigurationException, SAXException 
-  {
-    
-      super(new org.apache.xerces.parsers.SAXParser());
-      //try{
-      org.apache.xalan.processor.StylesheetHandler handler = 
-            new org.apache.xalan.processor.StylesheetHandler(processor.getTransformerFactory());
-      handler.pushStylesheet(stylesheetTree);
-      this.setContentHandler(handler);
-    //}
-    //catch (javax.xml.transform.TransformerConfigurationException tce)
-    //{}
-  } 
-  
-  /**
-   * Instance constructor... 
-   * @param processor  The XSLTProcessor implementation.
-   * @param stylesheet The root stylesheet. 
-   * @exception TransformerConfigurationException  
-   */
-  public StylesheetHandler(XSLTEngineImpl processor, StylesheetRoot stylesheetTree)    
-    throws javax.xml.transform.TransformerConfigurationException, SAXException 
-  {
-    //try{
-      super(new org.apache.xerces.parsers.SAXParser());
-      org.apache.xalan.processor.StylesheetHandler handler = 
-            new org.apache.xalan.processor.StylesheetHandler(processor.getTransformerFactory());
-      handler.pushStylesheet(stylesheetTree.getObject());
-      this.setContentHandler(handler);
-    //}
-    //catch (javax.xml.transform.TransformerConfigurationException tce)
-    //{}
-  } 
-  
-  
-}
diff --git a/compat_src/org/apache/xalan/xslt/StylesheetRoot.java b/compat_src/org/apache/xalan/xslt/StylesheetRoot.java
deleted file mode 100644
index 892c31a..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetRoot.java
+++ /dev/null
@@ -1,581 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.w3c.dom.*;
-import java.util.*;
-import java.net.*;
-import java.io.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import org.apache.xml.serialize.*;
-import org.apache.xalan.serialize.*;
-import org.apache.xalan.templates.ElemTemplate;
-import org.apache.xalan.templates.OutputProperties;
-import javax.xml.transform.OutputKeys;
-import org.apache.xalan.xpath.xml.FormatterToXML;
-import org.apache.xalan.xpath.xml.FormatterToHTML;
-import org.apache.xalan.xpath.xml.FormatterToText;
-import org.apache.xalan.xpath.xml.FormatterToDOM;
-import org.apache.xalan.res.XSLTErrorResources;
-
-/**
- * <meta name="usage" content="general"/> 
- * Binary representation of a stylesheet -- use the {@link org.apache.xalan.xslt.XSLTProcessor} ProcessStylesheet
- * method to create a StylesheetRoot and improve performance for a stylesheet performing multiple transformations.
- * Also required for XSLTProcessor to function as SAX DocumentHandler.
- */
-public class StylesheetRoot extends Stylesheet
-{
-  
-  private String m_liaisonClassUsedToCreate = null;
-  private org.apache.xalan.templates.StylesheetRoot m_sRootObject;
-  
-  /**
-   * Uses an XSL stylesheet document.
-   * @param processor  The XSLTProcessor implementation.
-   * @param baseIdentifier The file name or URL for the XSL stylesheet.
-   * @exception TransformerConfigurationException thrown 
-   */
-  public StylesheetRoot(XSLTEngineImpl processor,
-                        String baseIdentifier)
-    throws TransformerConfigurationException
-  { 
-		super(null);
-    m_sRootObject = new org.apache.xalan.templates.StylesheetRoot(processor.getTransformerFactory().getErrorListener()); 
-    if (processor.getXMLProcessorLiaison()!= null)
-      m_liaisonClassUsedToCreate = ((Object)processor.getXMLProcessorLiaison()).getClass().getName();
-    
-  }  
-
-
-  /**
-   * Constructor using an org.apache.xalan.templates.StylesheetRoot.
-   * 
-   * @param s an org.apache.xalan.templates.StylesheetRoot object
-   */
-  public StylesheetRoot(org.apache.xalan.templates.StylesheetRoot s)    
-  { 
-		super(null);
-    m_sRootObject = s;     
-  }
-  
-  /**
-   * Return the org.apache.xalan.templates.StylesheetRoot object
-   * associated with this stylesheet root.
-   *  
-   * @return an org.apache.xalan.templates.StylesheetRoot object
-   */
-  public org.apache.xalan.templates.StylesheetRoot getObject()
-  {
-    return m_sRootObject;
-  }  
-  
-  /**
-   * Transform the XML source tree and place the output in the result tree target.
-   * This method uses a new XSLTProcessor instance to track the running state.
-   * @param xmlSource  The XML input source tree.
-   * @param outputTarget The output result tree.
-   * @exception SAXException
-   * @see org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)
-   */
-  public void process( XSLTInputSource xmlSource,
-                       XSLTResultTarget outputTarget)
-    throws SAXException,
-           MalformedURLException,
-           FileNotFoundException,
-           IOException
-  {
-    XSLTProcessor iprocessor =
-                              (null != m_liaisonClassUsedToCreate) ?
-                              new XSLTProcessorFactory().getProcessorUsingLiaisonName(m_liaisonClassUsedToCreate)
-                              : new XSLTProcessorFactory().getProcessor();
-    process(iprocessor, iprocessor.getSourceTreeFromInput(xmlSource), outputTarget);
-    // System.out.println("Number counters made: "+
-    //                   ((XSLTEngineImpl)iprocessor).getCountersTable().m_countersMade);
-  }
-
-  /**
-   * Transform the XML source tree and place the output in the result tree target.
-   * Use this version of the StylesheetRoot process() method if you have used an
-   * XSLTProcessor object to set a stylesheet parameter. That object is now the iprocessor parameter.
-   * @param iprocessor  The XSLTProcessor that will track the running state.
-   * @param xmlSource  The XML input source tree.
-   * @param outputTarget The output result tree.
-   * @exception SAXException
-   * @see org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)
-   */
-  public void process( XSLTProcessor iprocessor, XSLTInputSource xmlSource,
-                       XSLTResultTarget outputTarget)
-    throws SAXException,
-           MalformedURLException,
-           FileNotFoundException,
-           IOException
-  {
-    process(iprocessor, iprocessor.getSourceTreeFromInput(xmlSource), outputTarget);
-  }
-
-  /**
-   * Transform the XML source tree (a DOM Node) and place the output in the result tree target.
-   * This is a convenience method. You can also use a DOM Node to instantiate an XSLTInputSource object,
-   * and call {@link #process(org.apache.xalan.xslt.XSLTProcessor, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)} or
-   * {@link org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)}.
-   * @param iprocessor  The processor that will track the running state.
-   * @param sourceTree  The input source tree in the form of a DOM Node.
-   * @param outputTarget The output result tree.
-   * @exception SAXException
-   */
-  public void process( XSLTProcessor iprocessor, Node sourceTree,
-                       XSLTResultTarget outputTarget)
-    throws SAXException,
-           MalformedURLException,
-           FileNotFoundException,
-           IOException
-  {
-    XSLTEngineImpl processor = (XSLTEngineImpl)iprocessor; // TODO: Check for class cast exception
-		//checkInit(processor);
-    synchronized(processor)
-    {
-      //processor.switchLiaisonsIfNeeded(sourceTree, outputTarget.getNode());
-
-      processor.setStylesheet(this);
-
-      OutputStream ostream = null;
-
-      try
-      {
-        // Double-check the node to make sure it matches the processor liaison.
-        //processor.getXMLProcessorLiaison().checkNode(sourceTree);
-
-        // Needs work: We have to put the extension namespaces
-        // into the liaison's table.  We wouldn't have to do this
-        // if the stylesheet handled it's own extensions, which
-        // I'll fix on a later date.
-  /*      Enumeration keys = m_extensionNamespaces.keys();
-        while(keys.hasMoreElements())
-        {
-          Object key = keys.nextElement();
-          // System.out.println("Putting ext namespace: "+key);
-          processor.getExecContext().addExtensionNamespace ((String)key,
-                                                            (ExtensionFunctionHandler)m_extensionNamespaces.get(key));
-        }*/
-
-        // Find the root pattern in the XSL.
-        ElemTemplate rootRule = m_sRootObject.getTemplateComposed(processor.getTransformer().getXPathContext(), sourceTree, null, -1, false);
-                               //this.findTemplate(processor, sourceTree, sourceTree);
-
-        if(null == rootRule)
-        {
-          rootRule = m_sRootObject.getDefaultRootRule();
-        }
-
-        DocumentHandler docHandler = outputTarget.getDocumentHandler();
-
-        OutputFormat formatter = getOutputFormat();
-
-        if(null != outputTarget.getEncoding())
-          formatter.setEncoding(outputTarget.getEncoding());
-
-        if(null != docHandler)
-        {
-          processor.setDocumentHandler(docHandler);
-        }
-        else if(null != outputTarget.getByteStream())
-        {
-         /* if (!(processor.getXMLProcessorLiaison()..getIndent() < 0))
-          {
-            // This is to get around differences between Xalan and Xerces.
-            // Xalan uses -1 as default for no indenting, Xerces uses 0.
-            // So we just bump up the indent value here because we will
-            // subtract from it at output time (FormatterToXML.init());
-            formatter.setIndent(processor.m_parserLiaison.getIndent() + 1);
-          }*/
-          processor.setDocumentHandler(makeSAXSerializer(outputTarget.getByteStream(),
-                                                               formatter));
-        }
-        else if(null != outputTarget.getCharacterStream())
-        {
-        /*  if (!(processor.m_parserLiaison.getIndent() < 0))
-          {
-            formatter.setIndent(processor.m_parserLiaison.getIndent() + 1);
-          }*/
-          processor.setDocumentHandler(makeSAXSerializer(outputTarget.getCharacterStream(),
-                                                               formatter));
-        }
-        else if(null != outputTarget.getFileName())
-        {
-          /*if (!(processor.m_parserLiaison.getIndent() < 0))
-          {
-            formatter.setIndent(processor.m_parserLiaison.getIndent() + 1);
-          }*/
-          ostream = new FileOutputStream(outputTarget.getFileName());
-          processor.setDocumentHandler( makeSAXSerializer(ostream, formatter));
-        }
-        else if(null != outputTarget.getNode())
-        {
-          ParserAdapter handler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
-          // Patch from Costin Manolache
-//          if( "org.apache.xalan.xpath.dtm.DTMLiaison".equals( processor.getXMLProcessorLiaison().getClass().getName()))
-//            processor.error(XSLTErrorResources.ER_CANT_USE_DTM_FOR_OUTPUT); //Can't use a DTMLiaison for an output DOM node... pass a org.apache.xalan.xpath.xdom.XercesLiaison instead!");
-          
-          switch(outputTarget.getNode().getNodeType())
-          {
-          case Node.DOCUMENT_NODE:            
-            handler.setContentHandler(new FormatterToDOM((Document)outputTarget.getNode()).getSerializerObject());
-            processor.setDocumentHandler(handler);
-            break;
-          case Node.DOCUMENT_FRAGMENT_NODE:
-            handler.setContentHandler(new FormatterToDOM(outputTarget.getNode().getOwnerDocument(), // PR:DMAN4M6PK5 Submitted by:<bk@viae.de>
-                                                       (DocumentFragment)outputTarget.getNode()).getSerializerObject());
-            processor.setDocumentHandler(handler);
-            break;
-          case Node.ELEMENT_NODE:
-            handler.setContentHandler(new FormatterToDOM(outputTarget.getNode().getOwnerDocument(), // PR:DMAN4M6PK5 Submitted by:<bk@viae.de>
-                                                       (Element)outputTarget.getNode()).getSerializerObject());
-            processor.setDocumentHandler(handler);
-            break;
-          default:
-            m_sRootObject.error(XSLTErrorResources.ER_CAN_ONLY_OUTPUT_TO_ELEMENT); //"Can only output to an Element, DocumentFragment, Document, or PrintWriter.");
-          }
-        }
-        else
-        {
-          ParserAdapter handler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
-          outputTarget.setNode(processor.getXMLProcessorLiaison().createDocument());
-          handler.setContentHandler(new FormatterToDOM((Document)outputTarget.getNode()).getSerializerObject());
-          processor.setDocumentHandler(handler);
-        }
-
-       // processor.resetCurrentState(sourceTree);
-       // processor.m_rootDoc = sourceTree;
-
-        if(null != processor.m_diagnosticsPrintWriter)
-        {
-          processor.diag("=============================");
-          processor.diag("Transforming...");
-          processor.pushTime(sourceTree);
-        }
-
-       // processor.getVarStack().pushContextMarker();
-      //  try
-      //  {
-      //    processor.resolveTopLevelParams();
-      //  }
-      //  catch(Exception e)
-      //  {
-      //    throw new SAXException(XSLMessages.createMessage(XSLTErrorResources.ER_PROCESS_ERROR, null), e); //"StylesheetRoot.process error", e);
-      //  }
-
-        processor.getTransformer().getResultTreeHandler().startDocument();
-
-        // Output the action of the found root rule.  All processing
-        // occurs from here.  buildResultFromTemplate is highly recursive.
-        rootRule.execute(processor.getTransformer(), sourceTree, null);
-
-         processor.getTransformer().getResultTreeHandler().endDocument();
-
-        // Reset the top-level params for the next round.
-        // processor.m_topLevelParams = new Vector();
-
-        if(null != processor.m_diagnosticsPrintWriter)
-        {
-          processor.displayDuration("transform", sourceTree);
-        }
-      }
-      catch(TransformerException te)
-      {
-        throw new SAXException(te);
-      }  
-      finally
-      {
-        if (null != ostream)
-        {
-          ostream.close();
-        }
-      }
-    }
-
-  }
-  
-  /**
-   * Creates a compatible SAX serializer for the specified writer
-   * and output format. If the output format is missing, the default
-   * is an XML format with UTF8 encoding.
-   *
-   * @param writer The writer
-   * @param format The output format
-   * @return A compatible SAX serializer
-   */
-  public DocumentHandler makeSAXSerializer( Writer writer, OutputFormat format )
-    throws IOException, SAXException 
-  {
-    DocumentHandler handler;
-    if ( format == null )
-    {
-      format = new OutputFormat( "xml", "UTF-8", false );
-      handler = null;
-    }
-    else 
-    {
-      handler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
-      OutputProperties props = m_sRootObject.getOutputComposed();
-      
-      if ( format.getMethod().equalsIgnoreCase( "html" ) )
-      {
-        FormatterToHTML serializer = new FormatterToHTML(writer);
-        serializer.getSerializerObject().setOutputFormat(props.getProperties());
-        ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
-      }
-      else if ( format.getMethod().equalsIgnoreCase( "xml" ) )
-      {
-        FormatterToXML serializer = new FormatterToXML(writer);
-        serializer.getSerializerObject().setOutputFormat(props.getProperties());
-        ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
-      }
-      else if ( format.getMethod().equalsIgnoreCase( "text" ) )
-      {
-        FormatterToText serializer = new FormatterToText(writer); 
-        ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
-      }
-      else
-      {
-        handler = null;
-      }
-    }
-    
-    if(null == handler)
-    {
-      String method = format.getMethod();
-      org.apache.xml.serialize.SerializerFactory factory = org.apache.xml.serialize.SerializerFactory.getSerializerFactory(method);
-      org.apache.xml.serialize.Serializer serializer = factory.makeSerializer(writer, format);
-      handler = serializer.asDocumentHandler();
-    }
-
-    return handler;
-  }
-  
-  /**
-   * Creates a compatible SAX serializer for the specified output stream
-   * and output format. If the output format is missing, the default
-   * is an XML format with UTF8 encoding.
-   *
-   * @param ostream The output stream.
-   * @param format The output format
-   * @return A compatible SAX serializer
-   */
-  public DocumentHandler makeSAXSerializer( OutputStream ostream, OutputFormat format )
-    throws UnsupportedEncodingException, IOException, SAXException
-  {
-    DocumentHandler handler;
-    OutputProperties props;
-        
-    if ( format == null )
-    {
-      props = new OutputProperties();
-      handler = null;
-    }
-    else
-    { 
-      handler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
-      props = m_sRootObject.getOutputComposed();
-      if ( format.getMethod().equalsIgnoreCase( "html" ) )
-      {
-        FormatterToHTML serializer = new FormatterToHTML(ostream);
-        serializer.getSerializerObject().setOutputFormat(props.getProperties());
-        ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
-      }
-      else if ( format.getMethod().equalsIgnoreCase( "xml" ) )
-      {
-        FormatterToXML serializer = new FormatterToXML(ostream);
-        serializer.getSerializerObject().setOutputFormat(props.getProperties());
-        ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
-      }
-      else if ( format.getMethod().equalsIgnoreCase( "text" ) )
-      {
-        String encoding = format.getEncoding();
-        if(null == encoding)
-        {
-          try
-          {
-            encoding = System.getProperty("file.encoding");
-            encoding = (null != encoding) ?
-                       org.apache.xalan.serialize.Encodings.convertJava2MimeEncoding( encoding ) : "ASCII";
-            if(null == encoding)
-            {
-              encoding = "ASCII";
-            }
-          }
-          catch(SecurityException se)
-          {
-            encoding = "ASCII";
-          }
-        }
-
-        //this.m_encoding =   encoding;
-
-        String javaEncoding = org.apache.xalan.serialize.Encodings.convertMime2JavaEncoding(encoding);
-
-        Writer w = new OutputStreamWriter( ostream, javaEncoding );
-        ((ParserAdapter)handler).setContentHandler(new FormatterToText(w).getSerializerObject());
-      }
-      else if ( format.getMethod().equalsIgnoreCase( "xhtml" ) )
-      {
-        handler = new XMLSerializer(ostream, format);
-        //handler = Serializer.makeSAXSerializer(ostream, format);
-      }
-      else
-      {
-        handler = new XMLSerializer(ostream, format);
-        //handler = Serializer.makeSAXSerializer(ostream, format);
-      }
-    }
-    if(null == handler)
-    {
-      String method = props.getProperty(OutputKeys.METHOD);
-      org.apache.xml.serialize.SerializerFactory factory = org.apache.xml.serialize.SerializerFactory.getSerializerFactory(method);
-      org.apache.xml.serialize.Serializer serializer = factory.makeSerializer(ostream, format);
-      handler = serializer.asDocumentHandler();
-    }
-
-    return handler;
-  }
-
-  /**
-   * Creates a compatible SAX serializer for the specified output stream
-   * and output format. If the output format is missing, the default
-   * is an XML format with UTF8 encoding.
-   *
-   * @param ostream The output stream.
-   * @return A compatible SAX serializer
-   */
-  public DocumentHandler getSAXSerializer( OutputStream ostream )
-    throws UnsupportedEncodingException, IOException, SAXException
-  {
-   return makeSAXSerializer(ostream, getOutputFormat());
-  }
-  
-  /**
-   * Get a new OutputFormat object according to the xsl:output attributes.
-   */
-  public OutputFormat getOutputFormat()
-  {
-    OutputProperties outputFormat = m_sRootObject.getOutputComposed();
-    if (outputFormat == null)
-      return null;
-    OutputFormat formatter = new OutputFormat(outputFormat.getProperty(OutputKeys.METHOD),
-                                              outputFormat.getProperty(OutputKeys.ENCODING),
-                                              OutputProperties.getBooleanProperty(OutputKeys.INDENT, outputFormat.getProperties()));
-    formatter.setDoctype(outputFormat.getProperty(OutputKeys.DOCTYPE_PUBLIC), 
-                         outputFormat.getProperty(OutputKeys.DOCTYPE_SYSTEM));
-    formatter.setOmitXMLDeclaration(OutputProperties.getBooleanProperty(OutputKeys.OMIT_XML_DECLARATION, outputFormat.getProperties()));
-    formatter.setStandalone(OutputProperties.getBooleanProperty(OutputKeys.STANDALONE, outputFormat.getProperties()));
-    formatter.setMediaType(outputFormat.getProperty(OutputKeys.MEDIA_TYPE));
-    formatter.setVersion(outputFormat.getProperty(OutputKeys.VERSION));
-    // This is to get around differences between Xalan and Xerces.
-    // Xalan uses -1 as default for no indenting, Xerces uses 0.
-    // So we just bump up the indent value here because we will
-    // subtract from it at output time (FormatterToXML.init());
-   // if (getOutputIndent())
-   //   formatter.setIndent(formatter.getIndent()+1);
-
-    
-    return formatter;
-  }
-  
-  /** 
-   * Get the encoding string that was specified in the stylesheet. 
-   */
-  public String getOutputEncoding()
-  {
-    return m_sRootObject.getOutputComposed().getProperty(OutputKeys.ENCODING);
-  }
-
-  /** 
-   * Get the media-type string that was specified in the stylesheet. 
-   */
-  public String getOutputMediaType() 
-  { 
-    return m_sRootObject.getOutputComposed().getProperty(OutputKeys.MEDIA_TYPE); 
-  }
-  
-  /** 
-   * Get the output method that was specified in the stylesheet. 
-   */
-  public String getOutputMethod() 
-  { 
-    return m_sRootObject.getOutputComposed().getProperty(OutputKeys.METHOD); 
-  }
-  
-  /**
-   * Get the base identifier with which this stylesheet is associated.
-   */
-  public String getBaseIdentifier()
-  {
-    return m_sRootObject.getBaseIdentifier();
-  }
-
-  /**
-   * Get the base identifier with which this stylesheet is associated.
-   */
-  public void setBaseIdentifier(String baseIdent)
-  {
-    m_sRootObject.setHref(baseIdent);
-  }
-  
-}
diff --git a/compat_src/org/apache/xalan/xslt/StylesheetSpec.java b/compat_src/org/apache/xalan/xslt/StylesheetSpec.java
deleted file mode 100644
index ea5d837..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetSpec.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import javax.xml.transform.stream.StreamSource;
-
-/**
- * <meta name="usage" content="general"/>
- * This class implements the representation of a stylesheet 
- * specification via xml-stylesheet in an XML document.
- */
-public class StylesheetSpec extends StreamSource
-{
-  String type; // CDATA #REQUIRED
-  String title; // CDATA #IMPLIED
-  String media; // CDATA #IMPLIED
-  String encoding; // CDATA #IMPLIED
-  boolean alternate; // (yes|no) "no"
-  
-  /**
-   * Create a StylesheetSpec object.
-   */
-  public StylesheetSpec(String href, String type, String title, 
-                        String media, boolean alternate,
-                        String encoding)
-  {
-    this.setSystemId(href);
-    this.encoding = encoding;
-    this.type = type;
-    this.title = title;
-    this.media = media;
-    this.alternate = alternate;
-  }
-  
-  /**
-   * Get the encoding of the stylesheet.
-   */
-  public String       getEncoding()
-  {
-    return encoding;
-  }
-
-  /**
-   * Get the type of the stylesheet, i.e. "text/xsl".
-   */
-  public String       getType()
-  {
-    return type;
-  }
-  
-  /**
-   * Get the title of the element (in other words, the 
-   * item to be presented to the user agent).
-   */
-  public String       getTitle()
-  {
-    return title;
-  }
-  
-  /**
-   * Get the media attribute of the stylesheet.
-   */
-  public String       getMedia()
-  {
-    return media;
-  }
-  /**
-   * Get whether or not the stylesheet is specified as 
-   * an alternate.
-   */
-  public boolean    getIsAlternate()
-  {
-    return alternate;
-  }
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLProcessorContext.java b/compat_src/org/apache/xalan/xslt/XSLProcessorContext.java
deleted file mode 100644
index c6a2294..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLProcessorContext.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.w3c.dom.*;
-import org.apache.xalan.templates.Stylesheet;
-import org.apache.xml.utils.QName;
-import org.apache.xalan.transformer.TransformerImpl;
-
-// import org.apache.xalan.xslt.*;
-
-/**
- * <meta name="usage" content="general"/>
- * Captures processor context to be
- * passed to an extension element.
- *
- * @author Sanjiva Weerawarana (sanjiva@watson.ibm.com)
- */
-public class XSLProcessorContext extends org.apache.xalan.extensions.XSLProcessorContext
-{ 
-  public XSLProcessorContext (XSLTEngineImpl processor,
-			      Stylesheet stylesheetTree,
-			      Node sourceTree, Node sourceNode, QName mode) 
-    
-  {
-    super((TransformerImpl)(processor.getTransformer()),
-          stylesheetTree, 
-          sourceTree, sourceNode, mode);
-  }
-
-  
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLProcessorException.java b/compat_src/org/apache/xalan/xslt/XSLProcessorException.java
deleted file mode 100644
index 0a2b352..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLProcessorException.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.xml.sax.SAXException;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.res.XSLMessages;
-
-
-/**
- * <meta name="usage" content="general"/>
- * The exception used for most XSLT errors.
- */
-public class XSLProcessorException extends SAXException
-{
-  private Exception m_exception;
-  
-  /**
-   * Create an XSLProcessorException object that holds 
-   * an error message.
-   * @param message The error message.
-   */
-  public XSLProcessorException(String message) 
-  {
-     super((null == message) ? XSLMessages.createMessage(XSLTErrorResources.ER_XSLT_ERROR, null) : message);
-     m_exception = null;
-  }
-  
-  /**
-   * Create an XSLProcessorException object that holds 
-   * an error message, and another exception 
-   * that caused this exception.
-   * @param message The error message.
-   * @param e The exception that caused this exception.
-   */
-  public XSLProcessorException (String message, Exception e)
-  {
-    super((null == message) ? XSLMessages.createMessage(XSLTErrorResources.ER_XSLT_ERROR, null) : message);
-    this.m_exception = e;
-  }
-  
-  /**
-   * Create an XSLProcessorException object that holds 
-   * another exception that caused this exception.
-   * @param e The exception that caused this exception.
-   */
-  public XSLProcessorException (Exception e)
-  {
-    super((null == e.getMessage()) ? XSLMessages.createMessage(XSLTErrorResources.ER_XSLT_ERROR, null) : e.getMessage());
-    this.m_exception = e;
-  }
-    
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLTEngineImpl.java b/compat_src/org/apache/xalan/xslt/XSLTEngineImpl.java
deleted file mode 100644
index 7f00511..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTEngineImpl.java
+++ /dev/null
@@ -1,2426 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.apache.xpath.*;
-import org.apache.xpath.compiler.XPathParser;
-import org.apache.xpath.compiler.Compiler;
-import org.apache.xalan.xpath.XObject;
-import org.apache.xalan.xpath.XString;
-import org.apache.xalan.xpath.XNodeSet;
-import org.apache.xalan.xpath.XBoolean;
-import org.apache.xalan.xpath.XNumber;
-import org.apache.xalan.xpath.XNull;
-
-import org.w3c.dom.*;
-import org.w3c.dom.traversal.NodeIterator;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-import org.xml.sax.ext.*;
-import org.xml.sax.helpers.ParserAdapter;
-import org.apache.xml.serialize.XMLSerializer;
-
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.Templates;
-import javax.xml.transform.Source;
-import javax.xml.transform.SourceLocator;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.ErrorListener;
-
-import java.util.*;
-import java.net.*;
-import java.io.*;
-import java.lang.reflect.*;
-
-import org.apache.xalan.templates.Stylesheet;
-//import org.apache.xalan.templates.StylesheetRoot;
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-import org.apache.xalan.xpath.xml.ProblemListenerDefault;
-import org.apache.xalan.xpath.xml.ProblemListener;
-import org.apache.xalan.templates.StylesheetComposed;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xalan.processor.StylesheetHandler;
-import org.apache.xalan.processor.TransformerFactoryImpl;
-//import org.apache.xalan.processor.ProcessorStylesheet;
-//import org.apache.xalan.xslt.StylesheetSpec;
-import org.apache.xalan.trace.*;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xml.utils.PrefixResolverDefault;
-import org.apache.xml.utils.TreeWalker;
-import org.apache.xml.utils.QName;
-import org.apache.xml.utils.DefaultErrorHandler;
-import org.apache.xalan.stree.SourceTreeHandler;
-
-
-/**
- * <meta name="usage" content="advanced"/>
- * The Xalan workhorse -- Collaborates with the XML parser liaison, the DOM,
- * and the XPath engine, to transform a source tree of nodes into a result tree
- * according to instructions and templates specified by a stylesheet tree.
- * We suggest you use one of the
- * static XSLTProcessorFactory getProcessor() methods to instantiate the processor
- * and return an interface that greatly simplifies the process of manipulating
- * XSLTEngineImpl.
- *
- * <p>The methods <code>process(...)</code> are the primary public entry points.
- * The best way to perform transformations is to use the
- * {@link org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)} method,
- * but you may use any of process methods defined in XSLTEngineImpl.</p>
- * 
- * <p>Please note that this class is not safe per instance over multiple 
- * threads.  If you are in a multithreaded environment, you should 
- * keep a pool of these objects, or create a new one each time.  In a 
- * multithreaded environment, the right way to do things is to create a 
- * StylesheetRoot via processStylesheet, and then reuse this object 
- * over multiple threads.</p>
- *
- * <p>If you reuse the processor instance, you should call reset() between transformations.</p>
- * @see XSLTProcessorFactory
- * @see XSLTProcessor
- */
-public class XSLTEngineImpl implements  XSLTProcessor
-{
-  //private Processor m_processor;
-  private TransformerFactory m_tfactory;
-  private TransformerImpl m_transformerImpl;
-  private DOM2Helper m_liaison;
-  private String m_outputFileName;
-  private DocumentHandler m_documentHandler = null;
-  private ProblemListenerDefault m_problemListener;
-  private Hashtable m_stylesheetParams;
-  StylesheetRoot m_stylesheetRoot = null;
-  
-  Vector m_evalList = null;
-  boolean m_needToEval = false;
-  
-  /*
-  * If this is true, then the diag function will
-  * be called.
-  */
-  private boolean m_traceTemplateChildren = false;
-
-  /*
-  * If this is true, then the simple tracing of templates
-  * will be performed.
-  */
-  private boolean m_traceTemplates = false;
-  
-  /*
-  * If this is true, then diagnostics of each select
-  * will be performed.
-  */
-  boolean m_traceSelects = false;
-
-  /*
-  * A stream to print diagnostics to.
-  */
-  java.io.PrintWriter m_diagnosticsPrintWriter = null;
-
-  /* For diagnostics */
-  Hashtable m_durationsTable = new Hashtable();
-  
-  /**
-   * A XSLMessages instance capable of producing user messages.
-   */
-  private static XSLMessages m_XSLMessages = new XSLMessages();
-  
-    
- /**
-   * Construct an XSLT processor that uses the default DTM (Document Table Model) liaison
-   * and XML parser. As a general rule, you should use XSLTProcessorFactory to create an
-   * instance of this class and provide access to the instance via the XSLTProcessor interface.
-   *
-   * @see XSLTProcessorFactory
-   * @see XSLTProcessor
-   */
-  protected XSLTEngineImpl()
-    throws org.xml.sax.SAXException
-  {    
-    m_tfactory = TransformerFactory.newInstance();
-    m_problemListener = new ProblemListenerDefault();
-    //m_liaison =  (DOM2Helper)createLiaison();
-  }
-
-  /**
-   * Construct an XSLT processor that uses the the given parser liaison.
-   * As a general rule, you should use XSLTProcessorFactory to create an
-   * instance of this class and provide access to the instance via the XSLTProcessor interface.
-   *
-   * @see XSLTProcessorFactory
-   * @see XSLTProcessor
-   */
-  public XSLTEngineImpl(String liaisonClassName)
-    throws SAXException 
-  {   
-    m_tfactory = TransformerFactory.newInstance();
-    m_problemListener = new ProblemListenerDefault();
-    
-    try 
-      {
-        m_liaison =  (DOM2Helper)(Class.forName(liaisonClassName).newInstance());
-        //org.apache.xpath.XPathContext xctxt = this.getTransformer().getXPathContext();
-
-        //xctxt.setDOMHelper(m_liaison);        
-      } 
-      catch (ClassNotFoundException e1) 
-      {
-        throw new SAXException("XML Liaison class " + liaisonClassName +
-          " specified but not found", e1);
-      } 
-      catch (IllegalAccessException e2) 
-      {
-          throw new SAXException("XML Liaison class " + liaisonClassName +
-            " found but cannot be loaded", e2);
-      } 
-      catch (InstantiationException e3) 
-      {
-          throw new SAXException("XML Liaison class " + liaisonClassName +
-            " loaded but cannot be instantiated (no empty public constructor?)",
-            e3);
-      } 
-      catch (ClassCastException e4) 
-      {
-          throw new SAXException("XML Liaison class " + liaisonClassName +
-            " does not implement DOM2Helper", e4);
-      }
-   
-  }
-    
-    
-
-  /**
-   * Construct an XSL processor that uses the the given parser liaison.
-   * As a general rule, you should use XSLTProcessorFactory to create an
-   * instance of this class and provide access to the instance via the XSLTProcessor interface.
-   *
-   * @param XMLParserLiaison A liaison to an XML parser.
-   *
-   * @see org.apache.xalan.xpath.xml.XMLParserLiaison
-   * @see XSLTProcessorFactory
-   * @see XSLTProcessor
-   */
-  public XSLTEngineImpl(XMLParserLiaison parserLiaison)
-    throws org.xml.sax.SAXException
-  {
-    m_tfactory = TransformerFactory.newInstance();
-    m_problemListener = new ProblemListenerDefault();
-    
-    m_liaison =  (DOM2Helper)parserLiaison;
-   // org.apache.xpath.XPathContext xctxt = this.getTransformer().getXPathContext();
-
-    //xctxt.setDOMHelper(m_liaison);    
-  }
-
-  /**
-   * Construct an XSLT processor that can call back to the XML parser, in order to handle
-   * included files and the like.
-   *
-   * @param XMLParserLiaison A liaison to an XML parser.
-   *
-   * @see org.apache.xalan.xpath.xml.XMLParserLiaison
-   * @see XSLTProcessorFactory
-   * @see XSLTProcessor
-   */
-  XSLTEngineImpl(XMLParserLiaison parserLiaison, XPathFactory xpathFactory)    
-    throws SAXException
-  {   
-    m_tfactory = TransformerFactory.newInstance();
-    m_problemListener = new ProblemListenerDefault();
-    
-    m_liaison =  (DOM2Helper)parserLiaison;
-   // org.apache.xpath.XPathContext xctxt = this.getTransformer().getXPathContext();
-
-    //xctxt.setDOMHelper(m_liaison);    
-  }
-  
-  /** 
-   * Get a Liaison class
-   */
-  public XMLParserLiaison createLiaison()
-    throws org.xml.sax.SAXException
-  {
-    return new org.apache.xalan.xpath.xml.XMLParserLiaisonDefault();    
-  }
- 
-  /**
-   * Reset the state.  This needs to be called after a process() call
-   * is invoked, if the processor is to be used again.
-   */
-  public void reset()
-  {
-    if (m_transformerImpl != null)
-      m_transformerImpl.reset(); 
-    m_stylesheetParams = null;
-  }
-  
- 
-
-  /**
-   * Transform the source tree to the output in the given
-   * result tree target. As a general rule, we recommend you use the
-   * {@link org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)} method.
-   * @param inputSource  The input source.
-   * @param stylesheetSource  The stylesheet source.  May be null if source has a xml-stylesheet PI.
-   * @param outputTarget The output source tree.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void process( XSLTInputSource inputSource,
-                       XSLTInputSource stylesheetSource,
-                       XSLTResultTarget outputTarget)
-    throws SAXException
-  {
-    try
-    {
-      Boolean totalTimeID = new Boolean(true);
-      pushTime(totalTimeID);
-      Node sourceTree = null;
-      
-      Templates templates = null;
-      if (m_needToEval)
-      {
-        Node node = null;
-        if (null != stylesheetSource)
-        {
-          Source ssSource = stylesheetSource.getSourceObject();
-          if(ssSource instanceof DOMSource)
-          {
-            node = ((DOMSource)ssSource).getNode();
-          }
-        }
-        if (null == node)
-        {
-          node = new DOM2Helper().createDocument() ; 
-        }
-        for (int i=0; i< m_evalList.size(); i++)
-        {
-          String name = (String)m_evalList.elementAt(i);
-          String expression = (String)m_stylesheetParams.get(name);
-          try{
-            org.apache.xpath.objects.XObject val = org.apache.xpath.XPathAPI.eval(node, expression);
-            
-            m_stylesheetParams.put(name, val);
-          }
-          catch(TransformerException te)
-          {
-            throw new SAXException(te);
-          }
-        }
-        m_needToEval = false;
-        m_evalList = null;
-      }
-      
-      sourceTree = getSourceTreeFromInput(inputSource);
-      
-      if(null != stylesheetSource)
-      {
-        try{
-        templates = m_tfactory.newTemplates(stylesheetSource.getSourceObject());
-        }
-        catch (TransformerConfigurationException tce)
-        {
-          throw new SAXException(tce);
-        }  
-        
-      }      
-      else if( null != inputSource)
-      { 
-        if(null != sourceTree)
-        {
-          String stylesheetURI = null;
-          Stack hrefs = new Stack();
-          for(Node child=sourceTree.getFirstChild(); null != child; child=child.getNextSibling())
-          {
-            if(Node.PROCESSING_INSTRUCTION_NODE == child.getNodeType())
-            {
-              ProcessingInstruction pi = (ProcessingInstruction)child;
-              if(pi.getNodeName().equals("xml-stylesheet")
-                 || pi.getNodeName().equals("xml:stylesheet"))
-              {
-                boolean isOK = true;
-                StringTokenizer tokenizer = new StringTokenizer(pi.getNodeValue(), " \t=");
-                while(tokenizer.hasMoreTokens())
-                {
-                  if(tokenizer.nextToken().equals("type"))
-                  {
-                    String typeVal = tokenizer.nextToken();
-                    typeVal = typeVal.substring(1, typeVal.length()-1);
-                    if(!typeVal.equals("text/xsl") && !typeVal.equals("text/xml") && !typeVal.equals("application/xml+xslt"))
-                    {
-                      isOK = false;
-                    }
-                  }
-                }
-
-                if(isOK)
-                {
-                  tokenizer = new StringTokenizer(pi.getNodeValue(), " \t=");
-                  while(tokenizer.hasMoreTokens())
-                  {
-                    if(tokenizer.nextToken().equals("href"))
-                    {
-                      stylesheetURI = tokenizer.nextToken();
-                      stylesheetURI = stylesheetURI.substring(1, stylesheetURI.length()-1);
-                      hrefs.push(stylesheetURI);
-                    }
-                  }                
-                }
-              }
-            }
-          } // end for(int i = 0; i < nNodes; i++)
-          boolean isRoot = true;
-          Stylesheet prevStylesheet = null;
-          while(!hrefs.isEmpty())
-          {
-            Stylesheet stylesheet = getStylesheetFromPIURL((String)hrefs.pop(), sourceTree,
-                                                           (null != inputSource)
-                                                           ? inputSource.getSystemId() : null,
-                                                           isRoot);
-            if(false == isRoot)
-            {
-              prevStylesheet.setImport((StylesheetComposed)stylesheet);
-            }
-            prevStylesheet = stylesheet;
-            isRoot = false;
-          }
-        }        
-      }
-      else
-      {
-        error(XSLTErrorResources.ER_NO_INPUT_STYLESHEET); //"Stylesheet input was not specified!");
-      }
-      
-     
-      if(null == templates)
-      {
-        if (m_stylesheetRoot != null)
-          templates = m_stylesheetRoot.getObject();
-        else
-        {  
-          error(XSLTErrorResources.ER_FAILED_PROCESS_STYLESHEET); //"Failed to process stylesheet!");
-          return;
-        }  
-      }
-
-      if(null != templates)
-      {
-        try{
-          m_transformerImpl = (TransformerImpl)templates.newTransformer(); 
-          if (m_problemListener != null)
-            m_transformerImpl.setErrorListener(m_problemListener);
-          if (m_liaison != null)
-            m_transformerImpl.getXPathContext().setDOMHelper(m_liaison);
-   
-        }
-        catch (TransformerConfigurationException tce)
-        {
-          throw new SAXException(tce);
-        }  
-        
-        if (m_stylesheetParams != null)
-        {
-          Enumeration keys = m_stylesheetParams.keys();
-          while (keys.hasMoreElements())
-          {
-            String name = (String)keys.nextElement();
-            Object value = m_stylesheetParams.get(name); 
-            m_transformerImpl.setParameter(name, null, value);
-          } 
-        }  
-        
-        try{
-          m_transformerImpl.transform(new DOMSource(sourceTree),
-                    outputTarget.getResultObject());
-        }
-        catch (TransformerException te)
-        {
-          throw new SAXException(te);
-        }  
-        if(null != m_diagnosticsPrintWriter)
-        {
-          displayDuration("Total time", totalTimeID);
-        }
-      }
-    }
-    catch(MalformedURLException mue)
-    {
-      error(XSLTErrorResources.ERROR0000, new Object[] {mue.getMessage()}, mue);
-      // throw se;
-    }
-    catch(FileNotFoundException fnfe)
-    {
-      error(XSLTErrorResources.ERROR0000, new Object[] {fnfe.getMessage()}, fnfe);
-      // throw se;
-    }
-    catch(IOException ioe)
-    {
-      error(XSLTErrorResources.ERROR0000, new Object[] {ioe.getMessage()}, ioe);
-      // throw se;
-    }
-    catch(SAXException se)
-    {
-      error(XSLTErrorResources.ER_SAX_EXCEPTION, se); //"SAX Exception", se);
-      // throw se;
-    }
-  }
-
-  /**
-   * Bottleneck the creation of the stylesheet for derivation purposes.
-   */
-  public StylesheetRoot createStylesheetRoot(String baseIdentifier)
-    throws MalformedURLException, FileNotFoundException,
-           IOException, SAXException
-  {
-    try{
-      if (baseIdentifier == null)
-        return new StylesheetRoot(this, baseIdentifier); 
-      
-      Source inSource = new XSLTInputSource(baseIdentifier).getSourceObject();
-      Templates templates = m_tfactory.newTemplates(inSource);
-      StylesheetRoot stylesheet = new StylesheetRoot((org.apache.xalan.templates.StylesheetRoot)templates);      
-      return stylesheet;      
-    }
-    catch (TransformerConfigurationException tce)
-    {
-      throw new SAXException(tce);
-    }
-  }
-  
-  /**
-   * Bottleneck the creation of the stylesheet for derivation purposes.
-   */
-  StylesheetRoot createStylesheetRoot(String baseIdentifier, XSLTInputSource source)
-    throws MalformedURLException, FileNotFoundException,
-           IOException, SAXException
-  {
-    try{
-      Source inSource = source.getSourceObject();
-      Templates templates = m_tfactory.newTemplates(inSource);
-      StylesheetRoot stylesheet = new StylesheetRoot((org.apache.xalan.templates.StylesheetRoot)templates);      
-      return stylesheet;      
-    }
-    catch (TransformerConfigurationException tce)
-    {
-      throw new SAXException(tce);
-    }
-  }
-
-  /**
-   * Given a URI to an XSL stylesheet,
-   * Compile the stylesheet into an internal representation.
-   * This calls reset() before processing if the stylesheet root has been set
-   * to non-null.
-   * @param xmldocURLString  The URL to the input XML document.
-   * @return The compiled stylesheet object.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public StylesheetRoot processStylesheet(XSLTInputSource stylesheetSource)
-    throws SAXException
-  {
-    try{
-      if(null != ((TransformerFactoryImpl)m_tfactory).newTemplatesHandler().getTemplates())
-        reset();
-    }
-    catch (TransformerConfigurationException tce)
-    {
-      throw new SAXException(tce);
-    }
-
-    String xslIdentifier = ((null == stylesheetSource) ||
-                            (null == stylesheetSource.getSystemId()))
-                           ? "Input XSL" : stylesheetSource.getSystemId();
-
-    // In case we have a fragment identifier, go ahead and
-    // try and parse the XML here.
-    m_stylesheetRoot = null;
-    try
-    {
-      StylesheetHandler stylesheetProcessor
-          = new StylesheetHandler((TransformerFactoryImpl)m_tfactory); //this, m_stylesheetRoot); 
-        
-      Source ssSource = stylesheetSource.getSourceObject();
-      if(ssSource instanceof DOMSource)
-      {
-        if(((DOMSource)ssSource).getNode() instanceof StylesheetRoot)
-        {
-          m_stylesheetRoot = (StylesheetRoot)((DOMSource)ssSource).getNode();
-        }
-        else
-        {
-          stylesheetProcessor.setSystemId(stylesheetSource.getSystemId());
-          TreeWalker tw = new TreeWalker(stylesheetProcessor, new org.apache.xpath.DOM2Helper());
-          tw.traverse(((DOMSource)ssSource).getNode());
-          m_stylesheetRoot = new StylesheetRoot(stylesheetProcessor.getStylesheetRoot());
-        }
-      }
-      else
-      {
-				if(null != m_liaison)
-        {
-         // DOM2Helper liaison =  (DOM2Helper)(Class.forName(liaisonClassName).newInstance());
-          m_liaison.parse(SAXSource.sourceToInputSource(ssSource));
-					DOMSource source = new DOMSource(m_liaison.getDocument());
-					Templates templates = m_tfactory.newTemplates(source);
-					m_stylesheetRoot = new StylesheetRoot(
-																(org.apache.xalan.templates.StylesheetRoot)templates);																 
-        }  
-				else
-				{
-					m_stylesheetRoot = createStylesheetRoot(stylesheetSource.getSystemId(), stylesheetSource);
-				}
-        addTraceListenersToStylesheet();
-        
-        
-        stylesheetProcessor.pushStylesheet(m_stylesheetRoot.getObject());      
-        diag("========= Parsing "+xslIdentifier+" ==========");
-        pushTime(xslIdentifier);
-        //String liaisonClassName = System.getProperty("org.apache.xalan.source.liaison");
-
-        
-        if(null != m_diagnosticsPrintWriter)
-          displayDuration("Parse of "+xslIdentifier, xslIdentifier);
-      }
-    }
-    catch(Exception e)
-    {
-      error(XSLTErrorResources.ER_COULDNT_PARSE_DOC, new Object[] {xslIdentifier}, e); //"Could not parse "+xslIdentifier+" document!", e);
-    }
-    return m_stylesheetRoot;
-  }
-
-  /**
-   * Given a URI to an XSL stylesheet,
-   * Compile the stylesheet into an internal representation.
-   * This calls reset() before processing if the stylesheet root has been set
-   * to non-null.
-   * @param xmldocURLString  The URL to the input XML document.
-   * @return The compiled stylesheet object.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public StylesheetRoot processStylesheet(String xsldocURLString)
-    throws SAXException
-  {
-    try
-    {
-      XSLTInputSource input = new XSLTInputSource(getURLFromString(xsldocURLString, null).toString());
-      return processStylesheet(input);
-    }
-    catch(SAXException se)
-    {
-      error(XSLTErrorResources.ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL, se); //"processStylesheet not succesfull!", se);
-      return null; // shut up compiler
-    }
-  }
-
-  /**
-   * Set the stylesheet for this processor.  If this is set, then the
-   * process calls that take only the input .xml will use
-   * this instead of looking for a stylesheet PI.  Also,
-   * setting the stylesheet is needed if you are going
-   * to use the processor as a SAX DocumentHandler.
-   */
-  public void setStylesheet(StylesheetRoot stylesheetRoot)
-  {
-    m_stylesheetRoot = stylesheetRoot;
-    org.apache.xalan.templates.StylesheetRoot sr = stylesheetRoot.getObject();
-    if (m_transformerImpl == null)
-      m_transformerImpl = (TransformerImpl)sr.newTransformer();
-    m_transformerImpl.setStylesheet(sr);
-    if (m_problemListener != null)
-      m_transformerImpl.setErrorListener(m_problemListener);
-  }
-
-  /**
-   * Get the current stylesheet for this processor.
-   */
-  public StylesheetRoot getStylesheet()    
-  {
-    return m_stylesheetRoot;
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Get the filename of the output document, if it was set.
-   * This is for use by multiple output documents, to determine
-   * the base directory for the output document.  It needs to
-   * be set by the caller.
-   */
-  public String getOutputFileName()
-  {
-    return m_outputFileName;
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Set the filename of the output document.
-   * This is for use by multiple output documents, to determine
-   * the base directory for the output document.  It needs to
-   * be set by the caller.
-   */
-  public void setOutputFileName(String filename)
-  {
-    m_outputFileName = filename;
-  }
-
-  
-
-  /**
-   * Given an input source, get the source tree.
-   */
-  public Node getSourceTreeFromInput(XSLTInputSource inputSource)
-    throws org.xml.sax.SAXException
-  {
-    Node sourceTree = null;
-    String xmlIdentifier = ((null == inputSource) ||
-                            (null == inputSource.getSystemId()))
-                           ? "Input XML" : inputSource.getSystemId();
-    
-    Source iSource = inputSource.getSourceObject(); 
-
-    if(iSource instanceof DOMSource)
-    {
-      //if(getXMLProcessorLiaison() instanceof org.apache.xalan.xpath.dtm.DTMLiaison)
-       // error(XSLTErrorResources.ER_CANT_USE_DTM_FOR_INPUT);
-
-      sourceTree = ((DOMSource)iSource).getNode();
-    }
-    else
-    {
-      // In case we have a fragment identifier, go ahead and
-      // try and parse the XML here.
-      try
-      {
-        diag("========= Parsing "+xmlIdentifier+" ==========");
-        pushTime(xmlIdentifier);
-        
-        //String liaisonClassName = System.getProperty("org.apache.xalan.source.liaison");
-
-        if(null != m_liaison)
-        {
-          //DOM2Helper liaison =  (DOM2Helper)(Class.forName(liaisonClassName).newInstance());
-          m_liaison.parse(SAXSource.sourceToInputSource(iSource));
-          if(null != m_diagnosticsPrintWriter)
-            displayDuration("Parse of "+xmlIdentifier, xmlIdentifier);
-          sourceTree = m_liaison.getDocument();
-        }
-        else
-        {      
-          XMLReader reader = XMLReaderFactory.createXMLReader();        
-          try
-          {
-            reader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
-          }
-          catch(SAXException se)
-          {
-          // What can we do?
-          // TODO: User diagnostics.
-          }
-        
-          // Get the input content handler, which will handle the 
-          // parse events and create the source tree.          
-          //StylesheetHandler inputHandler = (StylesheetHandler)m_processor.getTemplatesBuilder();
-          //reader.setContentHandler( inputHandler );
-          
-          SourceTreeHandler handler = new SourceTreeHandler();
-          reader.setContentHandler(handler);
-          reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler);
-        
-          // Kick off the parse.  When the ContentHandler gets 
-          // the startDocument event, it will call transformNode( node ).
-          reader.parse( SAXSource.sourceToInputSource(iSource));
-          sourceTree = handler.getRoot();
-        }
-      }
-      catch(Exception e)
-      {
-        // Unwrap exception
-        if((e instanceof SAXException) && (null != ((SAXException)e).getException()))
-        {
-          // ((SAXException)e).getException().printStackTrace();
-          e = ((SAXException)e).getException();
-        }
-        sourceTree = null; // shutup compiler
-        error(XSLTErrorResources.ER_COULDNT_PARSE_DOC, new Object[] {xmlIdentifier}, e); //"Could not parse "+xmlIdentifier+" document!", e);
-      }
-    }
-
-    return sourceTree;
-  }
-
-  /**
-   * Get Stylesheet from PI URL
-   * 
-   * @param xslURLString a valid URI to an XSL stylesheet.
-   * @param fragbase Document fragment Node.
-   * @param xmlBaseIdent Base URI to resolve stylesheet URL 
-   * @param isRoot Flag indicating if root node
-   */
-  Stylesheet getStylesheetFromPIURL(String xslURLString, Node fragBase,
-                                    String xmlBaseIdent, boolean isRoot)
-    throws SAXException,
-    MalformedURLException,
-    FileNotFoundException,
-    IOException
-  {
-    Stylesheet stylesheet = null;
-    String[] stringHolder =
-    {
-      null};
-    xslURLString = xslURLString.trim();
-    int fragIndex = xslURLString.indexOf('#');
-    String fragID = null;
-    Document stylesheetDoc;
-    if(fragIndex == 0)
-    {
-      diag("Locating stylesheet from fragment identifier...");
-      fragID = xslURLString.substring(1);
-      
-      // Try a bunch of really ugly stuff to find the fragment.
-      // What's the right way to do this?
-
-      // Create a XPath parser.
-      XPathParser parser = new XPathParser((ErrorListener)m_problemListener.getErrorHandler(), null);
-      XPathContext xpathContext = new XPathContext();
-      PrefixResolverDefault nsNode = new PrefixResolverDefault(fragBase); //xpathContext.getNamespaceContext();
-
-      NodeIterator nl = null;
-      // Create the XPath object.
-      try{
-      XPath xpath = new XPath(fragID, null, nsNode, XPath.MATCH);
-      Compiler compiler = new Compiler();
-      // Parse the xpath
-      parser.initXPath(compiler, "id("+fragID+")", nsNode);
-      org.apache.xpath.objects.XObject xobj = xpath.execute(xpathContext, fragBase, nsNode);
-
-      nl = xobj.nodeset();
-      if(nl.nextNode() == null)
-      {
-        // xobj = Stylesheet.evalXPathStr(getExecContext(), "//*[@id='"+fragID+"']", fragBase, nsNode);
-        // Create the XPath object.
-        xpath = new XPath(fragID, null, nsNode, XPath.MATCH);
-
-        // Parse the xpath
-        parser.initXPath(compiler, "//*[@id='"+fragID+"']", nsNode);
-        xobj = xpath.execute(xpathContext, fragBase, nsNode);
-
-        nl = xobj.nodeset();
-        if(nl.nextNode() == null)
-        {
-          // xobj = Stylesheet.evalXPathStr(getExecContext(), "//*[@name='"+fragID+"']", fragBase, nsNode);
-          // Create the XPath object.
-          xpath = new XPath(fragID, null, nsNode, XPath.MATCH);
-
-          // Parse the xpath
-          parser.initXPath(compiler, "//*[@name='"+fragID+"']", nsNode);
-          xobj = xpath.execute(xpathContext, fragBase, nsNode);
-          nl = xobj.nodeset();
-          if(nl.nextNode() == null)
-          {
-            // Well, hell, maybe it's an XPath...
-            // xobj = Stylesheet.evalXPathStr(getExecContext(), fragID, fragBase, nsNode);
-            // Create the XPath object.
-            //((StylesheetHandler)( m_processor.getTemplatesBuilder())).getLocator()
-            xpath = new XPath(fragID, null, nsNode, XPath.MATCH);
-
-            // Parse the xpath
-            parser.initXPath(compiler, fragID, nsNode);
-            xobj = xpath.execute(xpathContext, fragBase, nsNode);
-            nl = xobj.nodeset();
-          }
-        }
-      }
-      }
-      catch (TransformerException te)
-      {
-        throw new SAXException(te);
-      }
-      if(nl.nextNode() == null)
-      {
-        error(XSLTErrorResources.ER_COULDNT_FIND_FRAGMENT, new Object[] {fragID}); //"Could not find fragment: "+fragID);
-      }
-      // Use previous because the previous call moved the pointer.
-      // or should we use getRoot??
-      Node frag = nl.previousNode(); //.item(0);
-
-      if(Node.ELEMENT_NODE == frag.getNodeType())
-      {
-        pushTime(frag);
-        if(isRoot)
-        {
-          m_stylesheetRoot = createStylesheetRoot(stringHolder[0]);
-          stylesheet = m_stylesheetRoot.getObject();
-        }
-        else
-        {
-          //stylesheet = new Stylesheet(m_stylesheetRoot);
-          // stylesheet = ((StylesheetHandler)(m_processor.getTemplatesBuilder())).getStylesheetRoot();
-          try{
-            Source source = new XSLTInputSource(fragID).getSourceObject(); 
-            Templates templates = m_tfactory.newTemplates(source);
-            stylesheet = (org.apache.xalan.templates.StylesheetRoot)templates;
-          }
-          catch (TransformerConfigurationException tce)
-          {
-            throw new SAXException(tce);
-          }
-        }
-        addTraceListenersToStylesheet();
-
-        try{
-        StylesheetHandler stylesheetProcessor
-          = new StylesheetHandler((TransformerFactoryImpl)m_tfactory);
-           
-        stylesheetProcessor.pushStylesheet(stylesheet);
-        TreeWalker tw = new TreeWalker(stylesheetProcessor, new org.apache.xpath.DOM2Helper());
-        tw.traverse(frag);
-
-        displayDuration("Setup of "+xslURLString, frag);
-        }
-        catch (TransformerConfigurationException tce)
-        {
-          throw new SAXException(tce);
-        }
-      }
-      else
-      {
-        stylesheetDoc = null;
-        error(XSLTErrorResources.ER_NODE_NOT_ELEMENT, new Object[] {fragID}); //"Node pointed to by fragment identifier was not an element: "+fragID);
-      }
-    }
-    else
-    {
-      // TODO: Use Reader here??
-      // hmmm.. for now I'll rely on the XML parser to handle
-      // fragment URLs.
-      diag(XSLMessages.createMessage(XSLTErrorResources.WG_PARSING_AND_PREPARING, new Object[] {xslURLString})); //"========= Parsing and preparing "+xslURLString+" ==========");
-      pushTime(xslURLString);
-
-			URL xslURL = getURLFromString(xslURLString, xmlBaseIdent);
-
-      XSLTInputSource inputSource = new XSLTInputSource(xslURL.toString());
-      
-			if(isRoot)
-			{				
-				if(null != m_liaison)
-				{
-					try{
-						m_liaison.parse(SAXSource.sourceToInputSource(inputSource.getSourceObject()));
-						DOMSource source = new DOMSource(m_liaison.getDocument());
-						Templates templates = m_tfactory.newTemplates(source);
-						m_stylesheetRoot = new StylesheetRoot(
-																		(org.apache.xalan.templates.StylesheetRoot)templates);
-					}					
-					catch (TransformerException tce)
-					{
-						throw new SAXException(tce);
-					}
-				}
-				else
-				{
-					m_stylesheetRoot = createStylesheetRoot(xslURLString);
-				}
-				stylesheet = m_stylesheetRoot.getObject();
-			}
-      else
-      {
-        stylesheet = new Stylesheet(m_stylesheetRoot.getObject());
-      }
-      addTraceListenersToStylesheet();
-
-      try{
-      org.apache.xalan.processor.StylesheetHandler stylesheetProcessor
-        = new StylesheetHandler((TransformerFactoryImpl)m_tfactory); //this, stylesheet); 
-      stylesheetProcessor.pushStylesheet(stylesheet);
-         // new StylesheetHandler(this, stylesheet);
-      }
-      catch (TransformerConfigurationException tce)
-      {
-        throw new SAXException(tce);
-      }
-      
-       
-      //m_parserLiaison.setDocumentHandler(stylesheetProcessor);
-      //m_parserLiaison.parse(inputSource);
-
-      displayDuration("Parsing and init of "+xslURLString, xslURLString);
-    }
-    return stylesheet;
-  }
-
-        
-  /**
-   * Take a user string and try and parse XML, and also return 
-   * the url.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XPathContext decide 
-   * the error condition is severe enough to halt processing.
-   */
-  public static URL getURLFromString(String urlString, String base)
-    throws SAXException 
-  {
-    String origURLString = urlString;
-    String origBase = base;
-    
-    // System.out.println("getURLFromString - urlString: "+urlString+", base: "+base);
-    Object doc;
-    URL url = null;
-    int fileStartType = 0;
-    try
-    {
-      
-      if(null != base)
-      {
-        if(base.toLowerCase().startsWith("file:/"))
-        {
-          fileStartType = 1;
-        }
-        else if(base.toLowerCase().startsWith("file:"))
-        {
-          fileStartType = 2;
-        }
-      }
-      
-      boolean isAbsoluteURL;
-      
-      // From http://www.ics.uci.edu/pub/ietf/uri/rfc1630.txt
-      // A partial form can be distinguished from an absolute form in that the
-      // latter must have a colon and that colon must occur before any slash
-      // characters. Systems not requiring partial forms should not use any
-      // unencoded slashes in their naming schemes.  If they do, absolute URIs
-      // will still work, but confusion may result.
-      int indexOfColon = urlString.indexOf(':');
-      int indexOfSlash = urlString.indexOf('/');
-      if((indexOfColon != -1) && (indexOfSlash != -1) && (indexOfColon < indexOfSlash))
-      {
-        // The url (or filename, for that matter) is absolute.
-        isAbsoluteURL = true;
-      }
-      else
-      {
-        isAbsoluteURL = false;
-      }
-      
-      if(isAbsoluteURL || (null == base) || (base.length() == 0))
-      {
-        try 
-        {
-          url = new URL(urlString);
-        }
-        catch (MalformedURLException e) {}
-      }
-      // The Java URL handling doesn't seem to handle relative file names.
-      else if(!((urlString.charAt(0) == '.') || (fileStartType > 0)))
-      {
-        try 
-        {
-          URL baseUrl = new URL(base);
-          url = new URL(baseUrl, urlString);
-        }
-        catch (MalformedURLException e) 
-        {
-        }
-      }
-      
-      if(null == url)
-      {
-        // Then we're going to try and make a file URL below, so strip 
-        // off the protocol header.
-        if(urlString.toLowerCase().startsWith("file:/"))
-        {
-          urlString = urlString.substring(6);
-        }
-        else if(urlString.toLowerCase().startsWith("file:"))
-        {
-          urlString = urlString.substring(5);
-        }
-      }
-      
-      if((null == url) && ((null == base) || (fileStartType > 0)))
-      {
-        if(1 == fileStartType)
-        {
-          if(null != base)
-            base = base.substring(6);
-          fileStartType = 1;
-        }
-        else if(2 == fileStartType)
-        {
-          if(null != base)
-            base = base.substring(5);
-          fileStartType = 2;
-        }
-        
-        File f = new File(urlString);
-        
-        if(!f.isAbsolute() && (null != base))
-        {
-          // String dir = f.isDirectory() ? f.getAbsolutePath() : f.getParent();
-          // System.out.println("prebuiltUrlString (1): "+base);
-          StringTokenizer tokenizer = new StringTokenizer(base, "\\/");
-          String fixedBase = null;
-          while(tokenizer.hasMoreTokens())
-          {
-            String token = tokenizer.nextToken();
-            if (null == fixedBase) 
-            {
-              // Thanks to Rick Maddy for the bug fix for UNIX here.
-              if (base.charAt(0) == '\\' || base.charAt(0) == '/') 
-              {
-                fixedBase = File.separator + token;
-              }
-              else 
-              {
-                fixedBase = token;
-              }
-            }
-            else 
-            {
-              fixedBase+= File.separator + token;
-            }
-          }
-          // System.out.println("rebuiltUrlString (1): "+fixedBase);
-          f = new File(fixedBase);
-          String dir = f.isDirectory() ? f.getAbsolutePath() : f.getParent();
-          // System.out.println("dir: "+dir);
-          // System.out.println("urlString: "+urlString);
-          // f = new File(dir, urlString);
-          // System.out.println("f (1): "+f.toString());
-          // urlString = f.getAbsolutePath();
-          f = new File(urlString); 
-          boolean isAbsolute =  f.isAbsolute() 
-                                || (urlString.charAt( 0 ) == '\\')
-                                || (urlString.charAt( 0 ) == '/');
-          if(!isAbsolute)
-          {
-            // Getting more and more ugly...
-            if(dir.charAt( dir.length()-1 ) != File.separator.charAt(0) && 
-               urlString.charAt( 0 ) != File.separator.charAt(0))
-            {
-              urlString = dir + File.separator + urlString;
-            }
-            else
-            {
-              urlString = dir + urlString;
-            }
-
-            // System.out.println("prebuiltUrlString (2): "+urlString);
-            tokenizer = new StringTokenizer(urlString, "\\/");
-            String rebuiltUrlString = null;
-            while(tokenizer.hasMoreTokens())
-            {
-              String token = tokenizer.nextToken();
-              if (null == rebuiltUrlString) 
-              {
-                // Thanks to Rick Maddy for the bug fix for UNIX here.
-                if (urlString.charAt(0) == '\\' || urlString.charAt(0) == '/') 
-                {
-                  rebuiltUrlString = File.separator + token;
-                }
-                else 
-                {
-                  rebuiltUrlString = token;
-                }
-              }
-              else 
-              {
-                rebuiltUrlString+= File.separator + token;
-              }
-            }
-            // System.out.println("rebuiltUrlString (2): "+rebuiltUrlString);
-            if(null != rebuiltUrlString)
-              urlString = rebuiltUrlString;
-          }
-          // System.out.println("fileStartType: "+fileStartType);
-          if(1 == fileStartType)
-          {
-            if (urlString.charAt(0) == '/') 
-            {
-              urlString = "file://"+urlString;
-            }
-            else
-            {
-              urlString = "file:/"+urlString;
-            }
-          }
-          else if(2 == fileStartType)
-          {
-            urlString = "file:"+urlString;
-          }
-          try 
-          {
-            // System.out.println("Final before try: "+urlString);
-            url = new URL(urlString);
-          }
-          catch (MalformedURLException e) 
-          {
-            // System.out.println("Error trying to make URL from "+urlString);
-          }
-        }
-      }
-      if(null == url)
-      {
-        // The sun java VM doesn't do this correctly, but I'll 
-        // try it here as a second-to-last resort.
-        if((null != origBase) && (origBase.length() > 0))
-        {
-          try 
-          {
-            URL baseURL = new URL(origBase);
-            // System.out.println("Trying to make URL from "+origBase+" and "+origURLString);
-            url = new URL(baseURL, origURLString);
-            // System.out.println("Success! New URL is: "+url.toString());
-          }
-          catch (MalformedURLException e) 
-          {
-            // System.out.println("Error trying to make URL from "+origBase+" and "+origURLString);
-          }
-        }
-        
-        if(null == url)
-        {
-          try 
-          {
-            String lastPart;
-            if(null != origBase)
-            {
-              File baseFile = new File(origBase);
-              if(baseFile.isDirectory())
-              {
-                lastPart = new File(baseFile, urlString).getAbsolutePath ();
-              }
-              else
-              {
-                String parentDir = baseFile.getParent();
-                lastPart = new File(parentDir, urlString).getAbsolutePath ();
-              }
-            }
-            else
-            {
-              lastPart = new File (urlString).getAbsolutePath ();
-            }
-            // Hack
-            // if((lastPart.charAt(0) == '/') && (lastPart.charAt(2) == ':'))
-            //   lastPart = lastPart.substring(1, lastPart.length() - 1);
-            
-            String fullpath;
-            if (lastPart.charAt(0) == '\\' || lastPart.charAt(0) == '/') 
-            {
-              fullpath = "file://" + lastPart;
-            }
-            else
-            {
-              fullpath = "file:" + lastPart;
-            }
-            url = new URL(fullpath);
-          }
-          catch (MalformedURLException e2)
-          {
-            throw new SAXException("Cannot create url for: " + urlString, e2 ); 
-              //XSLMessages.createXPATHMessage(XPATHErrorResources.ER_CANNOT_CREATE_URL, new Object[]{urlString}),e2); //"Cannot create url for: " + urlString, e2 );
-          }
-        }
-      }
-    }
-    catch(SecurityException se)
-    {
-      try
-      {
-        url = new URL("http://xml.apache.org/xslt/"+java.lang.Math.random()); // dummy
-      }
-      catch (MalformedURLException e2)
-      {
-        // I give up
-      }
-    }
-    // System.out.println("url: "+url.toString());
-    return url;
-  }
-
-   /**
-   * Add a trace listener for the purposes of debugging and diagnosis.
-   * @param tl Trace listener to be added.
-   */
-  void addTraceListenersToStylesheet()
-    throws SAXException
-  {
-    /*try
-    {
-      TraceManager tm = m_transformerImpl.getTraceManager();
-      if(tm.hasTraceListeners)
-      {
-        int nListeners = tm.size();
-        for(int i = 0; i < nListeners; i++)
-        {
-          TraceListener tl = (TraceListener)m_traceListeners.elementAt(i);
-          if(null != m_stylesheetRoot)
-            m_stylesheetRoot.addTraceListener(tl);
-        }
-      }
-    }
-    catch(TooManyListenersException tmle)
-    {
-      throw new SAXException(XSLMessages.createMessage(XSLTErrorResources.ER_TOO_MANY_LISTENERS, null),tmle ); //"addTraceListenersToStylesheet - TooManyListenersException", tmle);
-    }*/
-  }
-  
-  /**
-   * Warn the user of an problem.
-   * This is public for access by extensions.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void message(String msg)
-    throws SAXException
-  {
-    message(null, null, msg);
-  }
-
-
-
-  /**
-   * Warn the user of an problem.
-   * This is public for access by extensions.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void message(Node styleNode, Node sourceNode, String msg)
-    throws SAXException
-  {
-    m_problemListener.message(msg);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Warn the user of an problem.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void warn(int msg)
-    throws SAXException
-  {
-    warn(null, null, msg, null);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Warn the user of an problem.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void warn(int msg, Object[] args)
-    throws SAXException
-  {
-    warn(null, null, msg, args);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Warn the user of an problem.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void warn(Node styleNode, Node sourceNode, int msg)
-    throws SAXException
-  {
-    warn(styleNode, sourceNode, msg, null);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Warn the user of an problem.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void warn(Node styleNode, Node sourceNode, int msg, Object args[])
-    throws SAXException
-  {
-    Exception e = null;
-    String fmsg = m_XSLMessages.createWarning(msg, args);
-    SourceLocator locator = null;
-    try{
-     locator = ((StylesheetHandler)(((TransformerFactoryImpl)this.m_tfactory).newTemplatesHandler())).getLocator();
-    }
-    catch (TransformerConfigurationException tce)
-    {
-    }
-    
-    DefaultErrorHandler handler;
-    if (m_problemListener == null)
-      handler = (DefaultErrorHandler)m_tfactory.getErrorListener();
-    else
-      handler = (DefaultErrorHandler)m_problemListener.getErrorHandler();
-    TransformerException te = (null == e) ? new TransformerException(fmsg, locator) :
-                                          new TransformerException(fmsg, locator, e);
-    if(null != handler)
-    {
-      try{
-      handler.warning(te);
-      }
-      catch (TransformerException te2)
-      {
-        throw new SAXException(te2);
-      } 
-    }
-    else
-      throw new SAXException(te);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Tell the user of an error, and probably throw an
-   * exception.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void error(String msg)
-    throws SAXException
-  {
-    Exception e = null;
-    SourceLocator locator = null;
-    try{
-    locator = ((StylesheetHandler)(((TransformerFactoryImpl)this.m_tfactory).newTemplatesHandler())).getLocator();
-    }
-    catch (TransformerConfigurationException tce)
-    {
-    }
-    DefaultErrorHandler handler;
-    if (m_problemListener == null)
-      handler = (DefaultErrorHandler)m_tfactory.getErrorListener();
-    else
-      handler = (DefaultErrorHandler)m_problemListener.getErrorHandler();
-    TransformerException te = (null == e) ? new TransformerException(msg, locator) :
-                                          new TransformerException(msg, locator, e);
-    if(null != handler)
-    {  
-      try{
-      handler.fatalError(te);
-    }
-      catch (TransformerException te2)
-      {
-        throw new SAXException(te2);
-      } 
-    }
-    else
-      throw new SAXException(te);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Tell the user of an error, and probably throw an
-   * exception.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void error(int msg)
-    throws SAXException
-  {
-    error(null, null, msg, null);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Tell the user of an error, and probably throw an
-   * exception.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void error(int msg, Object[] args)
-    throws SAXException
-  {
-    error(null, null, msg, args);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Tell the user of an error, and probably throw an
-   * exception.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void error(int msg, Exception e)
-    throws SAXException
-  {
-    error(msg, null, e);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Tell the user of an error, and probably throw an
-   * exception.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void error(int msg, Object args[], Exception e)
-    throws SAXException
-  {
-    String fmsg = m_XSLMessages.createMessage(msg, args);
-    SourceLocator locator = null;
-    try{
-      locator = ((StylesheetHandler)(((TransformerFactoryImpl)this.m_tfactory).newTemplatesHandler())).getLocator();
-    }
-    catch (TransformerConfigurationException tce)
-    {
-    }
-    DefaultErrorHandler handler;
-    if (m_problemListener == null)
-      handler = (DefaultErrorHandler)m_tfactory.getErrorListener();
-    else
-      handler = (DefaultErrorHandler)m_problemListener.getErrorHandler();
-    TransformerException te = (null == e) ? new TransformerException(fmsg, locator) :
-                                          new TransformerException(fmsg, locator, e);
-    if(null != handler)
-    {
-      try{
-      handler.fatalError(te);
-    }
-      catch (TransformerException te2)
-      {
-        throw new SAXException(te2);
-      } 
-    }
-    else
-      throw new SAXException(te);
-  }
-
-  /**
-    * <meta name="usage" content="internal"/>
-  * Tell the user of an error, and probably throw an
-   * exception.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void error(Node styleNode, Node sourceNode, int msg)
-    throws SAXException
-  {
-    error(styleNode, sourceNode, msg, null);
-  }
-
-  /**
-   * <meta name="usage" content="internal"/>
-   * Tell the user of an error, and probably throw an
-   * exception.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void error(Node styleNode, Node sourceNode, int msg, Object args[])
-    throws SAXException
-  {
-    Exception e = null;
-    String fmsg = m_XSLMessages.createMessage(msg, args);
-    SourceLocator locator = null;
-    try{
-     locator = ((StylesheetHandler)(((TransformerFactoryImpl)this.m_tfactory).newTemplatesHandler())).getLocator();
-    }
-    catch (TransformerConfigurationException tce)
-    {
-    }
-    DefaultErrorHandler handler;
-    if (m_problemListener == null)
-      handler = (DefaultErrorHandler)m_tfactory.getErrorListener();
-    else
-      handler = (DefaultErrorHandler)m_problemListener.getErrorHandler();
-    TransformerException te = (null == e) ? new TransformerException(fmsg, locator) :
-                                          new TransformerException(fmsg, locator, e);
-    if(null != handler)
-    {  
-      try{
-       handler.fatalError(te);
-      }
-      catch (TransformerException te2)
-      {
-        throw new SAXException(te2);
-      }
-    }
-    else
-      throw new SAXException(te);
-    
-   
-  }
-  
-  /**
-   * Mark the time, so that displayDuration can later
-   * display the elapse.
-   */
-  void pushTime(Object key)
-  {
-    if(null != key)
-    {
-      m_durationsTable.put(key, new Long(System.currentTimeMillis()));
-    }
-  }
-
-  /**
-   * Returns the duration since pushTime was called,
-   * in milliseconds.
-   */
-  long popDuration(Object key)
-  {
-    long millisecondsDuration = 0;
-    if(null != key)
-    {
-      long start = ((Long)m_durationsTable.get(key)).longValue();
-      long stop = System.currentTimeMillis();
-      millisecondsDuration = stop - start;
-      m_durationsTable.remove(key);
-    }
-    return millisecondsDuration;
-  }
-  
-   /**
-   * Display the duration since pushTime was called.
-   */
-  protected void displayDuration(String info, Object key)
-  {
-    long millisecondsDuration = 0;
-    if(null != key)
-    {
-      long start = ((Long)m_durationsTable.get(key)).longValue();
-      long stop = System.currentTimeMillis();
-      millisecondsDuration = stop - start;
-      if(null != m_diagnosticsPrintWriter)
-      {
-        m_diagnosticsPrintWriter.println(info + " took " + millisecondsDuration + " milliseconds");
-      }
-      m_durationsTable.remove(key);
-    }
-  }
-  
-  /**
-   * If this is set, diagnostics will be
-   * written to the m_diagnosticsPrintWriter stream. If
-   * the value is null, then diagnostics will be turned
-   * off.
-   */
-  public void setDiagnosticsOutput(java.io.OutputStream out)
-  {
-    setDiagnosticsOutput(new PrintWriter(out));
-  }
-
-  /**
-   * If this is set, diagnostics will be
-   * written to the m_diagnosticsPrintWriter stream. If
-   * the value is null, then diagnostics will be turned
-   * off.
-   */
-  public void setDiagnosticsOutput(java.io.PrintWriter pw)
-  {
-    m_diagnosticsPrintWriter = pw;
-   /* if(getProblemListener() instanceof ProblemListenerDefault)
-    {
-      ((ProblemListenerDefault)getProblemListener()).setDiagnosticsOutput(pw);
-    }*/
-  }
-
-  /**
-   * Bottleneck output of diagnostics.
-   */
-  protected void diag(String s)
-  {
-    if(null != m_diagnosticsPrintWriter)
-    {
-      m_diagnosticsPrintWriter.println(s);
-    }
-  }
-
-  /**
-   * If this is set to true, simple traces of
-   * template calls are made.
-   */
-  public void setTraceTemplates(boolean b)
-  {
-    m_traceTemplates = b;
-  }
-
-  /**
-   * If this is set to true, simple traces of
-   * template calls are made.
-   */
-  public void setTraceSelect(boolean b)
-  {
-    m_traceSelects = b;
-  }
-
-  /**
-   * If this is set to true, debug diagnostics about
-   * template children as they are being constructed
-   * will be written to the m_diagnosticsPrintWriter
-   * stream.  diagnoseTemplateChildren is false by
-   * default.
-   */
-  public void setTraceTemplateChildren(boolean b)
-  {
-    m_traceTemplateChildren = b;
-  }
-  
-  //
-  // Lexical handler interface
-  //
-
-    /**
-     * Report the start of DTD declarations, if any.
-     *
-     * <p>Any declarations are assumed to be in the internal subset
-     * unless otherwise indicated by a {@link #startEntity startEntity}
-     * event.</p>
-     *
-     * <p>Note that the start/endDTD events will appear within
-     * the start/endDocument events from ContentHandler and
-     * before the first startElement event.</p>
-     *
-     * @param name The document type name.
-     * @param publicId The declared public identifier for the
-     *        external DTD subset, or null if none was declared.
-     * @param systemId The declared system identifier for the
-     *        external DTD subset, or null if none was declared.
-     * @exception SAXException The application may raise an
-     *            exception.
-     * @see #endDTD
-     * @see #startEntity
-     */
-    public void startDTD (String name, String publicId, String systemId)
-	throws SAXException
-    {
-      if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
-        m_transformerImpl.getInputLexicalHandler().startDTD(name, publicId, systemId);
-    }
-
-
-    /**
-     * Report the end of DTD declarations.
-     *
-     * @exception SAXException The application may raise an exception.
-     * @see #startDTD
-     */
-    public void endDTD ()
-	throws SAXException
-    {
-      if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
-        m_transformerImpl.getInputLexicalHandler().endDTD();
-    }
-    
-    public void startEntity (String name)
-	throws SAXException
-    {
-      if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
-        m_transformerImpl.getInputLexicalHandler().startEntity (name);
-    }
-
-
-    /**
-     * Report the end of an entity.
-     *
-     * @param name The name of the entity that is ending.
-     * @exception SAXException The application may raise an exception.
-     * @see #startEntity
-     */
-    public void endEntity (String name)
-	throws SAXException
-      {
-      if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
-        m_transformerImpl.getInputLexicalHandler().endEntity (name);
-    }
-
-
-    /**
-     * Report the start of a CDATA section.
-     *
-     * <p>The contents of the CDATA section will be reported through
-     * the regular {@link org.xml.sax.ContentHandler#characters
-     * characters} event.</p>
-     *
-     * @exception SAXException The application may raise an exception.
-     * @see #endCDATA
-     */
-    public  void startCDATA ()
-	throws SAXException
-    { 
-      if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
-        m_transformerImpl.getInputLexicalHandler().startCDATA();
-    }
-
-
-    /**
-     * Report the end of a CDATA section.
-     *
-     * @exception SAXException The application may raise an exception.
-     * @see #startCDATA
-     */
-    public void endCDATA ()
-	throws SAXException
-    {
-      if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
-        m_transformerImpl.getInputLexicalHandler().endCDATA();
-    }
-
-
-    /**
-     * Report an XML comment anywhere in the document.
-     *
-     * <p>This callback will be used for comments inside or outside the
-     * document element, including comments in the external DTD
-     * subset (if read).</p>
-     *
-     * @param ch An array holding the characters in the comment.
-     * @param start The starting position in the array.
-     * @param length The number of characters to use from the array.
-     * @exception SAXException The application may raise an exception.
-     */
-    public  void comment (char ch[], int start, int length)
-	throws SAXException
-      {
-      if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
-        m_transformerImpl.getInputLexicalHandler().comment (ch, start, length);
-    }
-    
-    // DocumentHandler interface
-    
-        /**
-     * Receive an object for locating the origin of SAX document events.
-     *
-     * <p>SAX parsers are strongly encouraged (though not absolutely
-     * required) to supply a locator: if it does so, it must supply
-     * the locator to the application by invoking this method before
-     * invoking any of the other methods in the DocumentHandler
-     * interface.</p>
-     *
-     * <p>The locator allows the application to determine the end
-     * position of any document-related event, even if the parser is
-     * not reporting an error.  Typically, the application will
-     * use this information for reporting its own errors (such as
-     * character content that does not match an application's
-     * business rules).  The information returned by the locator
-     * is probably not sufficient for use with a search engine.</p>
-     *
-     * <p>Note that the locator will return correct information only
-     * during the invocation of the events in this interface.  The
-     * application should not attempt to use it at any other time.</p>
-     *
-     * @param locator An object that can return the location of
-     *                any SAX document event.
-     * @see org.xml.sax.Locator
-     */
-    public void setDocumentLocator (Locator locator)
-    {}
-    
-    
-    /**
-     * Receive notification of the beginning of a document.
-     *
-     * <p>The SAX parser will invoke this method only once, before any
-     * other methods in this interface or in DTDHandler (except for
-     * setDocumentLocator).</p>
-     *
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     */
-    public void startDocument ()
-	throws SAXException
-    {
-      if (m_documentHandler != null)
-        m_documentHandler.startDocument();
-      else if (m_transformerImpl != null)
-        m_transformerImpl.getInputContentHandler().startDocument();
-      //m_transformerImpl.getResultTreeHandler().startDocument();
-      
-    }
-    
-    
-    /**
-     * Receive notification of the end of a document.
-     *
-     * <p>The SAX parser will invoke this method only once, and it will
-     * be the last method invoked during the parse.  The parser shall
-     * not invoke this method until it has either abandoned parsing
-     * (because of an unrecoverable error) or reached the end of
-     * input.</p>
-     *
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     */
-    public void endDocument ()
-	throws SAXException
-    {
-      if (m_documentHandler != null)
-        m_documentHandler.endDocument();
-      else if (m_transformerImpl != null)
-        m_transformerImpl.getInputContentHandler().endDocument();
-      //m_transformerImpl.getResultTreeHandler().endDocument();
-    }
-    
-    
-    /**
-     * Receive notification of the beginning of an element.
-     *
-     * <p>The Parser will invoke this method at the beginning of every
-     * element in the XML document; there will be a corresponding
-     * endElement() event for every startElement() event (even when the
-     * element is empty). All of the element's content will be
-     * reported, in order, before the corresponding endElement()
-     * event.</p>
-     *
-     * <p>If the element name has a namespace prefix, the prefix will
-     * still be attached.  Note that the attribute list provided will
-     * contain only attributes with explicit values (specified or
-     * defaulted): #IMPLIED attributes will be omitted.</p>
-     *
-     * @param name The element type name.
-     * @param atts The attributes attached to the element, if any.
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     * @see #endElement
-     * @see org.xml.sax.AttributeList 
-     */
-    public void startElement (String name, AttributeList atts)
-	throws SAXException
-    {
-      if (m_documentHandler == null)       
-      { 
-        m_documentHandler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
-        if (m_transformerImpl != null)
-        {  
-          ((ParserAdapter)m_documentHandler).setContentHandler(m_transformerImpl.getInputContentHandler());
-        }
-        /* else if (m_transformerImpl != null)
-        {
-        int index = name.indexOf(":");
-        if (index < 0 )
-        m_transformerImpl.getInputContentHandler().startElement(null, name, name, (Attributes)atts);
-        //getResultTreeHandler().startElement(null, name, name, (Attributes)atts);
-        else
-        m_transformerImpl.getInputContentHandler().startElement(name.substring(0,index), name.substring(index+1), name, (Attributes)atts);        
-        //m_transformerImpl.getResultTreeHandler().startElement(name.substring(0,index), name.substring(index+1), name, (Attributes)atts);
-        */ 
-      } 
-      m_documentHandler.startElement(name, atts);
-    }   
-    
-    /**
-     * Receive notification of the end of an element.
-     *
-     * <p>The SAX parser will invoke this method at the end of every
-     * element in the XML document; there will be a corresponding
-     * startElement() event for every endElement() event (even when the
-     * element is empty).</p>
-     *
-     * <p>If the element name has a namespace prefix, the prefix will
-     * still be attached to the name.</p>
-     *
-     * @param name The element type name
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     */
-    public void endElement (String name)
-	throws SAXException
-    {
-      if (m_documentHandler == null)        
-      {         
-        m_documentHandler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
-        if (m_transformerImpl != null)
-        {
-          ((ParserAdapter)m_documentHandler).setContentHandler(m_transformerImpl.getInputContentHandler());
-        }
-     /* else if (m_transformerImpl != null)
-      {
-        int index = name.indexOf(":");
-        if (index < 0 )
-          m_transformerImpl.getInputContentHandler().endElement(null, name, name);
-          //m_transformerImpl.getResultTreeHandler().endElement(null, name, name);        
-        else
-          m_transformerImpl.getInputContentHandler().endElement(name.substring(0,index), name.substring(index+1), name);
-          //m_transformerImpl.getResultTreeHandler().endElement(name.substring(0,index), name.substring(index+1), name);
-        */
-      } 
-      m_documentHandler.endElement(name);      
-    }     
-    
-    
-    /**
-     * Receive notification of character data.
-     *
-     * <p>The Parser will call this method to report each chunk of
-     * character data.  SAX parsers may return all contiguous character
-     * data in a single chunk, or they may split it into several
-     * chunks; however, all of the characters in any single event
-     * must come from the same external entity, so that the Locator
-     * provides useful information.</p>
-     *
-     * <p>The application must not attempt to read from the array
-     * outside of the specified range.</p>
-     *
-     * <p>Note that some parsers will report whitespace using the
-     * ignorableWhitespace() method rather than this one (validating
-     * parsers must do so).</p>
-     *
-     * @param ch The characters from the XML document.
-     * @param start The start position in the array.
-     * @param length The number of characters to read from the array.
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     * @see #ignorableWhitespace 
-     * @see org.xml.sax.Locator
-     */
-    public void characters (char ch[], int start, int length)
-	throws SAXException
-    {
-      if (m_documentHandler != null)
-        m_documentHandler.characters(ch, start, length);
-      else if (m_transformerImpl != null)
-      m_transformerImpl.getInputContentHandler().characters(ch, start, length);
-      //m_transformerImpl.getResultTreeHandler().characters(ch, start, length);
-    }  
-    
-    
-    /**
-     * Receive notification of ignorable whitespace in element content.
-     *
-     * <p>Validating Parsers must use this method to report each chunk
-     * of ignorable whitespace (see the W3C XML 1.0 recommendation,
-     * section 2.10): non-validating parsers may also use this method
-     * if they are capable of parsing and using content models.</p>
-     *
-     * <p>SAX parsers may return all contiguous whitespace in a single
-     * chunk, or they may split it into several chunks; however, all of
-     * the characters in any single event must come from the same
-     * external entity, so that the Locator provides useful
-     * information.</p>
-     *
-     * <p>The application must not attempt to read from the array
-     * outside of the specified range.</p>
-     *
-     * @param ch The characters from the XML document.
-     * @param start The start position in the array.
-     * @param length The number of characters to read from the array.
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     * @see #characters
-     */
-    public void ignorableWhitespace (char ch[], int start, int length)
-	throws SAXException
-    {
-      if (m_documentHandler != null)
-        m_documentHandler.ignorableWhitespace(ch, start, length);
-      else if (m_transformerImpl != null)
-      m_transformerImpl.getInputContentHandler().ignorableWhitespace(ch, start, length);
-      //m_transformerImpl.getResultTreeHandler().ignorableWhitespace(ch, start, length);
-    }
-    
-    
-    /**
-     * Receive notification of a processing instruction.
-     *
-     * <p>The Parser will invoke this method once for each processing
-     * instruction found: note that processing instructions may occur
-     * before or after the main document element.</p>
-     *
-     * <p>A SAX parser should never report an XML declaration (XML 1.0,
-     * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
-     * using this method.</p>
-     *
-     * @param target The processing instruction target.
-     * @param data The processing instruction data, or null if
-     *        none was supplied.
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     */
-    public  void processingInstruction (String target, String data)
-	throws SAXException
-    {
-      if (m_documentHandler != null)
-        m_documentHandler.processingInstruction(target, data);
-      else if (m_transformerImpl != null)
-      m_transformerImpl.getInputContentHandler().processingInstruction(target, data);
-      //m_transformerImpl.getResultTreeHandler().processingInstruction(target, data);
-    }
-    
-    // Implement XSLTProcessor
-    
-    /**
-   * Set the output stream. Required when the XSLTProcessor is being used
-   * as a SAX DocumentHandler.
-   */
-  public void setOutputStream(java.io.OutputStream os)
-  {
-    SourceTreeHandler handler = new SourceTreeHandler(m_transformerImpl);
-    handler.setResult(new StreamResult(os));   
-  }
-  
-  /**
-   * Convenience function to create an XString.
-   * @param s A valid string.
-   * @return An XString object.
-   */
-  public XString createXString(String s)
-  {
-    return new XString(s);
-  }
-
-  /**
-   * Convenience function to create an XObject.
-   * @param o Any java object.
-   * @return An XObject object.
-   */
-  public XObject createXObject(Object o)
-  {
-    return new XObject(o);
-  }
-
-  /**
-   * Convenience function to create an XNumber.
-   * @param d Any double number.
-   * @return An XNumber object.
-   */
-  public XNumber createXNumber(double d)
-  {
-    return new XNumber(d);
-  }
-
-  /**
-   * Convenience function to create an XBoolean.
-   * @param b boolean value.
-   * @return An XBoolean object.
-   */
-  public XBoolean createXBoolean(boolean b)
-  {
-    return new XBoolean(b);
-  }
-
-  /**
-   * Convenience function to create an XNodeSet.
-   * @param nl A NodeList object.
-   * @return An XNodeSet object.
-   */
-  public XNodeSet createXNodeSet(NodeList nl)
-  {
-    return new XNodeSet(nl);
-  }
-
-  /**
-   * Convenience function to create an XNodeSet from a node.
-   * @param n A DOM node.
-   * @return An XNodeSet object.
-   */
-  public XNodeSet createXNodeSet(Node n)
-  {
-    return new XNodeSet(n);
-  }
-
-  /**
-   * Convenience function to create an XNull.
-   * @return An XNull object.
-   */
-  public XNull createXNull()
-  {
-    return new XNull();
-  }
-  
-  /**
-   * Get the XMLParserLiaison that this processor uses.
-   */
-  public XMLParserLiaison getXMLProcessorLiaison()
-  {
-    return (XMLParserLiaison)m_liaison;
-  }
-
-  /**
-   * Get the preferred stylesheet for the XSLTInputSource XML document,
-   * as identified by the xml-stylesheet PI, and matching the media and
-   * charset criteria. See <a href="http://www.w3.org/TR/xml-stylesheet/">
-   * Associating Style Sheets with XML documents</a>.
-   * Does not yet handle the LINK REL="stylesheet" syntax.
-   *
-   * @param media The media attribute to be matched.  May be null, in which
-   *              case the prefered stylesheet will be used (i.e., alternate = no).
-   * @param title The value of the title attribute to match.  May be null.
-   * @param charset The value of the charset attribute to match.  May be null.
-   * @returns StylesheetSpec extends XSLTInputSource extedns SAX InputSource; the return value
-   * can be passed to the processStylesheet method.
-   */
-  public StylesheetSpec getAssociatedStylesheet(XSLTInputSource source,
-                                                      String media,
-                                                      String charset)
-    throws SAXException
-  {
-    /*InputSource[]in = m_processor.getAssociatedStylesheets(source, media, null, charset);
-    if (in.length >0)
-      return (StylesheetSpec)in[0];
-    else 
-      return null; */
-    try{
-    Source s = m_tfactory.getAssociatedStylesheet(source.getSourceObject(), media, null, charset);
-    return (StylesheetSpec)s; 
-    }
-    catch (TransformerConfigurationException tce) 
-    {
-      throw new SAXException(tce); 
-    }
-  }
-
-  /**
-   * Get a list of stylesheet specifications for the XSLTInputSource XML document,
-   * as identified by the xml-stylesheet PI, and matching the media and
-   * charset criteria. See <a href="http://www.w3.org/TR/xml-stylesheet/">
-   * Associating Style Sheets with XML documents</a>.
-   * Does not yet handle the LINK REL="stylesheet" syntax.
-   *
-   * @param media The media attribute to be matched.  May be null, in which
-   *              case the prefered stylesheet will be used (i.e., alternate = no).
-   * @param title The value of the title attribute to match.  May be null.
-   * @param charset The value of the charset attribute to match.  May be null.
-   * @returns list of StylesheetSpecs (extend XSLTInputSources extend SAX InputSources; a
-   * list member may be passsed to the processStylesheet method.
-   */
-  public Vector getAssociatedStylesheets(XSLTInputSource source,
-                                                      String media,
-                                                      String charset)
-    throws SAXException
-  {
-    try{
-      Source s = m_tfactory.getAssociatedStylesheet(source.getSourceObject(), media, null, charset);
-      Vector v = new Vector();
-      //for (int i = 0; i< in.length; i++)
-      v.addElement((StylesheetSpec)s);
-      return v;
-    }
-    catch (TransformerConfigurationException tce)
-    {
-      throw new SAXException(tce);
-    }                                              
-  }
-  
-  /**
-   * Submit a top-level stylesheet parameter.  This value can
-   * be evaluated in the stylesheet via xsl:param-variable.
-   * @param key The name of the param.
-   * @param value An XObject that will be used.
-   */
-  public void setStylesheetParam(String key, XObject value)
-  {
-    setParameter(key, value);
-  }
-
-  /**
-   * Set a top-level stylesheet parameter.  This value can
-   * be evaluated via xsl:param-variable.  Note that the value
-   * passed is an expression, and not a string.  This means that
-   * setStylesheetParam("foo", "hello"); will look for the
-   * element "hello".  If you want to pass a string, you'll
-   * need to put quotes around it:
-   * setStylesheetParam("foo", "'hello'"); will look for the
-   * @param key The name of the param.
-   * @param expression An expression that will be evaluated.
-   */
-  public void setStylesheetParam(String key, String expression)
-  {    
-    if (m_evalList == null)
-      m_evalList = new Vector();
-    if (!m_evalList.contains(key))
-      m_evalList.addElement(key);
-    setParameter(key, expression);
-    m_needToEval = true;
-  }
-  
-  /**
-   * Set a top-level stylesheet parameter.  This value can
-   * be evaluated via xsl:param-variable.  Note that the value
-   * passed is an expression, and not a string.  This means that
-   * setStylesheetParam("foo", "hello"); will look for the
-   * element "hello".  If you want to pass a string, you'll
-   * need to put quotes around it:
-   * setStylesheetParam("foo", "'hello'"); will look for the
-   * @param key The name of the param.
-   * @param expression An expression that will be evaluated.
-   */
-  public void setParameter(String key,  Object value)
-  {
-    if (m_stylesheetParams == null)
-      m_stylesheetParams = new Hashtable();
-    m_stylesheetParams.put(key, value); 
-  }
-
-  /**
-   * Get the current FormatterListener (SAX DocumentHandler), or null if none has been set.
-   */
-  public DocumentHandler getFormatterListener()
-  {
-    return m_documentHandler;
-    
-  }
-
-  /**
-   * Set the FormatterListener (the SAX DocumentHandler).
-   */
-  public void setFormatterListener(DocumentHandler flistener)
-  {
-    m_documentHandler = flistener;
-  }
-
-  /**
-   * Get the current SAX DocumentHandler (the same object as the FormatterListener), or null if none has been set.
-   */
-  public DocumentHandler getDocumentHandler()
-  {
-    return m_documentHandler;
-  }
-
-  /**
-   * Set the current SAX DocumentHandler (the same
-   * object as the FormatterListener).
-   */
-  public void setDocumentHandler(DocumentHandler listener)
-  {
-    if (listener instanceof ParserAdapter)      
-      m_transformerImpl.setContentHandler(((ParserAdapter)listener).getContentHandler());
-    else if (listener instanceof XSLTEngineImpl)
-      m_transformerImpl.setContentHandler(((XSLTEngineImpl)listener).getTransformer().getContentHandler());
-    else if (listener instanceof XMLSerializer)
-    {
-      try{
-        m_transformerImpl.setContentHandler(((XMLSerializer)listener).asContentHandler());
-      }
-      catch (IOException ioe)
-      {}
-    }
-    m_documentHandler = listener;
-  }
-
-  /**
-   * Add a trace listener for the purposes of debugging and diagnosis.
-   * @param tl Trace listener to be added.
-   */
-  public void addTraceListener(TraceListener tl)
-    throws TooManyListenersException
-  {
-    if (m_transformerImpl != null)
-      m_transformerImpl.getTraceManager().addTraceListener(tl);
-  }
-  
-  /**
-   * If set to true (the default), pattern conflict warnings are not printed to the diagnostics stream.
-   * @param b true if conflict warnings should be suppressed.
-   */
-  public void setQuietConflictWarnings(boolean b)
-  {
-    if (m_transformerImpl != null)
-      m_transformerImpl.setQuietConflictWarnings(b);
-  }
-
-  /**
-   * Remove a trace listener.
-   * @param tl Trace listener to be removed.
-   */
-  public void removeTraceListener(TraceListener tl)
-  {
-    if (m_transformerImpl != null)
-      m_transformerImpl.getTraceManager().removeTraceListener(tl);
-  }
-  
-  /**
-   * Set the problem listener property.
-   * The XSL class can have a single listener to be informed
-   * of errors and warnings. The problem listener normally controls whether an exception
-   * is thrown or not (or the problem listeners can throw its own RuntimeException).
-   * @param l A ProblemListener interface.
-   */
-  public void setProblemListener(ProblemListener l)
-  {
-    if (l instanceof ProblemListenerDefault)
-      m_problemListener = (ProblemListenerDefault)l;
-    else
-      m_problemListener = new ProblemListenerDefault(l); 
-    if (m_transformerImpl != null)
-      m_transformerImpl.setErrorListener(m_problemListener);
-    m_tfactory.setErrorListener(m_problemListener);
-  }
-
-  /**
-   * Get the problem listener property.
-   * The XSL class can have a single listener to be informed
-   * of errors and warnings. The problem listener normally controls whether an exception
-   * is thrown or not (or the problem listener can throw its own RuntimeException).
-   * @return A ProblemListener interface.
-   */
-  public ProblemListener getProblemListener()
-  {
-    if (m_problemListener.getProblemListener() != null)
-      return m_problemListener.getProblemListener();
-    else
-      return m_problemListener;
-  }
-  
-  public TransformerImpl getTransformer()
-  {
-    return m_transformerImpl;  
-    //return (StylesheetProcessor)m_processor;
-  }  
-
-  public TransformerFactoryImpl getTransformerFactory()
-  {
-    return (TransformerFactoryImpl)m_tfactory;    
-  } 
-
-  
-} // end XSLTEngineImpl class
diff --git a/compat_src/org/apache/xalan/xslt/XSLTInputSource.java b/compat_src/org/apache/xalan/xslt/XSLTInputSource.java
deleted file mode 100644
index 1fe47cb..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTInputSource.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import javax.xml.transform.Source;
-import org.w3c.dom.Node;
-import java.io.InputStream;
-import java.io.Reader;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.dom.DOMSource;
-
-/**
- * <meta name="usage" content="general"/>
- * Represents an XML source document or XSL stylesheet.
- * Use XSLTInputSource objects to provide input to the XSLTProcessor process() method
- * for a transformation. This class extends the SAX input source to handle
- * DOM nodes as input as well as files, character streams, byte streams and SAX DocumentHandlers.
- *
- * @see XSLTProcessor#process(XSLTInputSource, XSLTInputSource, XSLTResultTarget)
- */
-public class XSLTInputSource //extends SAXSource 
-{
-  
-  private StreamSource streamSource = null;
-  private SAXSource saxSource = null;
-  private DOMSource domSource = null;
-  
-  /**
-    * Zero-argument default constructor -- Before you can use the new XSLTInputSource object in a transformation,
-    * you must define the document source with setSystemId(), setNode(), setInputStream(), or setCharacterStream().
-    *
-    * @see #setSystemId(String)
-    * @see #setNode(Node)
-    * @see #setInputStream
-    * @see #setCharacterStream
-    * @see #setEncoding(String)
-    */
-  public XSLTInputSource ()
-  {
-    saxSource = new SAXSource();
-  }
-
-  /**
-    * Create a new input source with a system identifier (for a URL or file name) --
-    * the equivalent of creating an input source with the zero-argument
-    * constructor and setting the new object's SystemId property.
-
-    * If the system identifier is a URL, it must be fully resolved.
-    *
-    * If the system identifier is a URL, it must be fully resolved.
-    *
-    * @param systemId The system identifier (URI).
-    * @see #setSystemId(String)
-    * @see #setNode(Node)
-    * @see #setInputStream
-    * @see #setEncoding(String)
-    * @see #setCharacterStream
-    */
-  public XSLTInputSource (String systemId)
-  {
-    saxSource = new SAXSource();
-    this.setSystemId(systemId);
-  }
-
-
-  /**
-    * Create a new input source with a byte stream -- the equivalent of creating an input source
-    * with the zero-argument constructor and setting the new object's ByteStream property.
-    *
-    * @param byteStream The raw byte stream containing the document.
-    * @see #setInputStream
-    * @see #setSystemId(String)
-    * @see #setNode(Node)
-    * @see #setEncoding(String)
-    * @see #setCharacterStream
-    */
-  public XSLTInputSource (InputStream byteStream)
-  {
-    streamSource = new StreamSource();
-    streamSource.setInputStream(byteStream);
-  }
-
-  /**
-    * Create a new input source with a character stream -- the equivalent of creating an input source
-    * with the zero-argument constructor and setting the new object's CharacterStream property.
-    * <p>The character stream shall not include a byte order mark.</p>
-    *
-    * @param characterStream The character stream containing the document.
-    * @see #setCharacterStream
-    * @see #setInputStream
-    * @see #setSystemId(String)
-    * @see #setNode(Node)
-    * @see #setEncoding(String)
-    */
-  public XSLTInputSource (Reader characterStream)
-  {
-    streamSource = new StreamSource();
-    streamSource.setReader(characterStream);
-  }
-
-  /**
-    * Create a new input source with a DOM Node -- the equivalent of creating an input source
-    * with the zero-argument constructor and setting the new object's Node property.
-    *
-    * @param node The DOM Node containing the document.
-    * @see #setNode(Node)
-    * @see #setCharacterStream
-    * @see #setInputStream
-    * @see #setSystemId(String)
-    * @see #setEncoding(String)
-    */
-  public XSLTInputSource (Node node)
-  {
-    domSource = new DOMSource();
-    domSource.setNode(node);
-  }
-
-  /**
-    * Create a new XSLTInputSource source from a SAX input source.
-    * This operation sets the ByteStream, CharacterStream, SystemId, PublicID, and Encoding properties.
-    *
-   * @param isource The SAX input source.
-    * @see #setCharacterStream
-    * @see #setInputStream
-    * @see #setSystemId(String)
-    * @see #setEncoding(String)
-    * @see #setNode(Node)
-    */
-  public XSLTInputSource (InputSource isource)
-  {
-    saxSource = new SAXSource();
-    saxSource.setInputSource(isource);
-    //saxSource.setXMLReader(isource.getCharacterStream());
-    this.setEncoding(isource.getEncoding());
-    this.setSystemId(isource.getSystemId());
-  }
-
-  /**
-    * Set the DOM Node for this input source.
-    *
-    * @param node The DOM node containing the
-    *        XML document or XSL stylesheet.
-    * @see #XSLTInputSource(Node)
-    * @see #getCharacterStream()    * 
-    * @see java.io.Reader
-    */
-  public void setNode (Node node)
-  {
-    if (domSource == null)
-      domSource = new DOMSource();
-    domSource.setNode(node);
-  }
-
-  /**
-    * Get the DOM Node for this input source.
-    *
-    * @return The DOM node containing the document, or null if none was supplied.
-    * @see #XSLTInputSource(Node)
-    * @see #setNode(Node)
-    */
-  public Node getNode ()
-  {
-    if (domSource != null)
-      return domSource.getNode();
-    else
-      return null;
-  }
-
-  
-  
-   /** 
-     * Set the character encoding, if known.
-     *
-     * <p>The encoding must be a string acceptable for an
-     * XML encoding declaration (see section 4.3.3 of the XML 1.0
-     * recommendation).</p>
-     *
-     * <p>This method has no effect when the application provides a
-     * character stream.</p>
-     *
-     * @param encoding A string describing the character encoding.
-     * @see #setSystemId
-     * @see #getEncoding
-     */
-    public void setEncoding (String encoding)
-    {
-	this.encoding = encoding;
-    }
-    
-    
-    /**
-     * Get the character encoding for a byte stream or URI.
-     *
-     * @return The encoding, or null if none was supplied.
-     * @see #getSystemId
-     */
-    public String getEncoding ()
-    {
-	return encoding;
-    }
-    
-    private String encoding = null;
-    
-    /**
-     * Set the character stream for this input source.
-     *
-     * <p>If there is a character stream specified, the SAX parser
-     * will ignore any byte stream and will not attempt to open
-     * a URI connection to the system identifier.</p>
-     *
-     * @param characterStream The character stream containing the
-     *        XML document or other entity.
-     * @see java.io.Reader
-     */
-    public void setCharacterStream (Reader characterStream)
-    {
-      if (streamSource == null)
-	      streamSource = new StreamSource();
-      streamSource.setReader(characterStream);
-    }
-    
-    
-    /**
-     * Get the character stream for this input source.
-     *
-     * @return The character stream, or null if none was supplied.
-     */
-    public Reader getCharacterStream ()
-    {
-      if (streamSource != null)
-        return streamSource.getReader();
-      else
-        return null;
-    }
-    
-    
-    
-    /**
-     * Set the base ID (URL or system ID) from where URLs
-     * will be resolved.
-     *
-     * @param baseID Base URL for this.
-     */
-    public void setSystemId(String baseID) 
-    {
-      this.baseID = baseID;
-      
-      if (saxSource != null)
-        saxSource.setSystemId(baseID);
-      else if (domSource != null)
-        domSource.setSystemId(baseID);
-      else if (streamSource != null)
-        streamSource.setSystemId(baseID);      
-    }
-
-    /**
-     * Get the base ID (URL or system ID) from where URLs
-     * will be resolved.
-     *
-     * @return Base URL for this.
-     */
-    public String getSystemId() {
-        return this.baseID;
-    }
-    
-    private String baseID = null;
-
-    
-    /**
-     * Set the byte stream to be used as input.  Normally,
-     * a stream should be used rather than a reader, so that
-     * the XML parser can resolve character encoding specified
-     * by the XML declaration.
-     *
-     * <p>If this Source object is used to process a stylesheet, normally
-     * setSystemId should also be called, so that relative URL references
-     * can be resolved.</p>
-     *
-     * @param inputStream A valid InputStream reference to an XML stream.
-     */
-    public void setInputStream(InputStream inputStream) 
-    {
-      if (streamSource == null)
-        streamSource = new StreamSource();
-      streamSource.setInputStream(inputStream);
-    }
-
-    /**
-     * Get the byte stream that was set with setInputStream.
-     *
-     * @return The byte stream that was set with setInputStream, or null
-     * if setByteStream or the ByteStream constructor was not called.
-     */
-    public InputStream getInputStream() {
-      if (streamSource != null)
-        return streamSource.getInputStream();
-      else
-        return null;
-    }
-    
-    
-     /**
-     * Get the Result object associated with this XSLTResultTarget object .
-     *
-     * @return The Result object associated with this XSLTResultTarget object
-     * 
-     */
-    public Source getSourceObject() 
-    {
-      if (streamSource != null)        
-        return streamSource;
-      else if (domSource != null)
-        return domSource;
-      else 
-        return saxSource;
-    } 
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLTProcessor.java b/compat_src/org/apache/xalan/xslt/XSLTProcessor.java
deleted file mode 100644
index b2e5cc5..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTProcessor.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import java.util.TooManyListenersException;
-import java.util.Vector;
-
-import org.apache.xalan.xpath.XObject;
-import org.apache.xalan.xpath.XNodeSet;
-import org.apache.xalan.xpath.XBoolean;
-import org.apache.xalan.xpath.XNumber;
-import org.apache.xalan.xpath.XNull;
-import org.apache.xalan.xpath.XString;
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-import org.apache.xalan.xpath.xml.ProblemListener;
-
-import org.apache.xalan.templates.Stylesheet;
-//import org.apache.xalan.templates.StylesheetRoot;
-//import org.apache.xalan.xslt.StylesheetSpec;
-import org.apache.xalan.trace.*;
-
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Node;
-import org.xml.sax.DocumentHandler;
-import org.xml.sax.SAXException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import org.apache.xml.serialize.OutputFormat;
-import org.xml.sax.ext.LexicalHandler;
-
-/**
- * <meta name="usage" content="general"/>
- * The transformation processor -- use {@link org.apache.xalan.xslt.XSLTProcessorFactory} to instantiate an implementation of this interface.
- * It's the responsibility of the implementation (XSLTEngineImpl),
- * collaborating with a XMLParserLiaison, the DOM,
- * and the XPath engine, to transform a source tree
- * of nodes into a result tree according to instructions
- * and templates specified by a stylesheet tree.
- * Use the <code>process(...)</code> are the primary
- * public entry points.
- *
- * Look at the Process class main() method for
- * for an advanced usage example.
- *
- * <p>If you reuse the processor instance, you should call reset() between transformations.</p>
- */
-public interface XSLTProcessor extends DocumentHandler, LexicalHandler
-{
-  /**
-   * Use the XSL stylesheet to transform the XML input, placing the result in the result tree.
-   * @param xmlSource  The XML input to be transformed.
-   * @param xslStylesheet  The XSL stylesheet to be used for the transformation.  May be null if XML input
-   * has an XSL stylesheet PI.
-   * @param resultTree The tree where the result of the transformation is placed.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public void process( XSLTInputSource xmlSource,
-                       XSLTInputSource xslStylesheet,
-                       XSLTResultTarget resultTree)
-    throws SAXException;
-
-  /**
-   * Compile the XSL stylesheet represented by an XSLTInputSource object into an internal representation,
-   * and use it to set the XSLTProcessor Stylesheet property.
-   * This operation is required if the XSLTProcessor is to function as a
-   * SAX DocumentHandler.
-   * If the Stylesheet property has already been set to non-null, this operation
-   * calls reset() before a transformation is performed.
-   *
-   * @param stylesheetSource  The XSL stylesheet.
-   * @return The compiled stylesheet object.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public StylesheetRoot processStylesheet(XSLTInputSource stylesheetSource)
-    throws SAXException;
-
-  /**
-   * Given a URL to (or file name of) an XSL stylesheet,
-   * Compile the stylesheet into an internal representation, and use it to
-   * set the XSLTProcessor Stylesheet property.
-   * This operation is required if the XSLTProcessor is to function as a
-   * SAX DocumentHandler.
-   * If the Stylesheet property has already been set to non-null, this operation
-   * calls reset() before a transformation is performed.
-   *
-   * @param xsldocURLString  The URL to the XSL stylesheet.
-   * @return The compiled stylesheet object.
-   * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
-   * the error condition is severe enough to halt processing.
-   */
-  public StylesheetRoot processStylesheet(String xsldocURLString)
-    throws SAXException;
-
-  /**
-   * Set the output stream. Required when the XSLTProcessor is being used
-   * as a SAX DocumentHandler.
-   */
-  public void setOutputStream(java.io.OutputStream os);
-
-  /**
-   * Reset the XSLTProcessor state.  Must be used after a process() call
-   * if the XSLTProcessor instance is to be used again.
-   */
-  public void reset();
-
-  /**
-   * Get the DOM Node from the XSLTInputSource object. Returns null if the XSLTInputSource
-   * object does not contain a Node (it may, for example, contain an input stream).
-   */
-  public Node getSourceTreeFromInput(XSLTInputSource inputSource)
-    throws org.xml.sax.SAXException;
-
-  /**
-   * Use a compiled stylesheet to set the Stylesheet property for this processor.
-   * When this property is set, the process method uses this stylesheet rather than
-   * looking for a stylesheet PI if the stylesheet parameter is null.  Also required
-   * if you are going to use the XSLTProcessor as a SAX DocumentHandler.
-   */
-  public void setStylesheet(StylesheetRoot stylesheetRoot);
-
-  /**
-   * Get the current Stylesheet setting for this XSLTProcessor.
-   */
-  public StylesheetRoot getStylesheet();
-
-  /**
-   * Get the XMLParserLiaison that this processor uses.
-   */
-  public XMLParserLiaison getXMLProcessorLiaison();
-
-  /**
-   * Get the preferred stylesheet for the XSLTInputSource XML document,
-   * as identified by the xml-stylesheet PI, and matching the media and
-   * charset criteria. See <a href="http://www.w3.org/TR/xml-stylesheet/">
-   * Associating Style Sheets with XML documents</a>.
-   * Does not yet handle the LINK REL="stylesheet" syntax.
-   *
-   * @param media The media attribute to be matched.  May be null, in which
-   *              case the prefered stylesheet will be used (i.e., alternate = no).
-   * @param title The value of the title attribute to match.  May be null.
-   * @param charset The value of the charset attribute to match.  May be null.
-   * @returns StylesheetSpec extends XSLTInputSource extends SAX InputSource; the return value
-   * can be passed to the processStylesheet method.
-   */
-  public StylesheetSpec getAssociatedStylesheet(XSLTInputSource source,
-                                                      String media,
-                                                      String charset)
-    throws SAXException;
-
-  /**
-   * Get a list of stylesheet specifications for the XSLTInputSource XML document,
-   * as identified by the xml-stylesheet PI, and matching the media and
-   * charset criteria. See <a href="http://www.w3.org/TR/xml-stylesheet/">
-   * Associating Style Sheets with XML documents</a>.
-   * Does not yet handle the LINK REL="stylesheet" syntax.
-   *
-   * @param media The media attribute to be matched.  May be null, in which
-   *              case the prefered stylesheet will be used (i.e., alternate = no).
-   * @param title The value of the title attribute to match.  May be null.
-   * @param charset The value of the charset attribute to match.  May be null.
-   * @returns list of StylesheetSpecs (extend XSLTInputSources extend SAX InputSources; a
-   * list member may be passsed to the processStylesheet method.
-   */
-  public Vector getAssociatedStylesheets(XSLTInputSource source,
-                                                      String media,
-                                                      String charset)
-    throws SAXException;
-
-
-  /**
-   * Convenience function to create an XString.
-   * @param s A valid string.
-   * @return An XString object.
-   */
-  public XString createXString(String s);
-
-  /**
-   * Convenience function to create an XObject.
-   * @param o Any java object.
-   * @return An XObject object.
-   */
-  public XObject createXObject(Object o);
-
-  /**
-   * Convenience function to create an XNumber.
-   * @param d Any double number.
-   * @return An XNumber object.
-   */
-  public XNumber createXNumber(double d);
-
-  /**
-   * Convenience function to create an XBoolean.
-   * @param b boolean value.
-   * @return An XBoolean object.
-   */
-  public XBoolean createXBoolean(boolean b);
-
-  /**
-   * Convenience function to create an XNodeSet.
-   * @param nl A NodeList object.
-   * @return An XNodeSet object.
-   */
-  public XNodeSet createXNodeSet(NodeList nl);
-
-  /**
-   * Convenience function to create an XNodeSet from a node.
-   * @param n A DOM node.
-   * @return An XNodeSet object.
-   */
-  public XNodeSet createXNodeSet(Node n);
-
-  /**
-   * Convenience function to create an XNull.
-   * @return An XNull object.
-   */
-  public XNull createXNull();
-
-  /**
-   * Submit a top-level stylesheet parameter.  This value can
-   * be evaluated in the stylesheet via xsl:param-variable.
-   * @param key The name of the param.
-   * @param value An XObject that will be used.
-   */
-  public void setStylesheetParam(String key, XObject value);
-
-  /**
-   * Set a top-level stylesheet parameter.  This value can
-   * be evaluated via xsl:param-variable.  Note that the value
-   * passed is an expression, and not a string.  This means that
-   * setStylesheetParam("foo", "hello"); will look for the
-   * element "hello".  If you want to pass a string, you'll
-   * need to put quotes around it:
-   * setStylesheetParam("foo", "'hello'"); will look for the
-   * @param key The name of the param.
-   * @param expression An expression that will be evaluated.
-   */
-  public void setStylesheetParam(String key, String expression);
-
-  /**
-   * Get the current FormatterListener (SAX DocumentHandler), or null if none has been set.
-   */
-  public DocumentHandler getFormatterListener();
-
-  /**
-   * Set the FormatterListener (the SAX DocumentHandler).
-   */
-  public void setFormatterListener(DocumentHandler flistener);
-
-  /**
-   * Get the current SAX DocumentHandler (the same object as the FormatterListener), or null if none has been set.
-   */
-  public DocumentHandler getDocumentHandler();
-
-  /**
-   * Set the current SAX DocumentHandler (the same
-   * object as the FormatterListener).
-   */
-  public void setDocumentHandler(DocumentHandler listener);
-
-  /**
-   * Add a trace listener for the purposes of debugging and diagnosis.
-   * @param tl Trace listener to be added.
-   */
-  public void addTraceListener(TraceListener tl)
-    throws TooManyListenersException;
-
-  /**
-   * If set to true, template calls are traced.
-   */
-  public void setTraceTemplates(boolean b);
-
-  /**
-   * If set to true, selection events are traced.
-   */
-  public void setTraceSelect(boolean b);
-
-  /**
-   * If set to true (the default is false), as template children are being constructed, debug diagnostics
-   * are written to the m_diagnosticsPrintWriter
-   * stream.
-   */
-  public void setTraceTemplateChildren(boolean b);
-
-  /**
-   * If set to true (the default), pattern conflict warnings are not printed to the diagnostics stream.
-   * @param b true if conflict warnings should be suppressed.
-   */
-  public void setQuietConflictWarnings(boolean b);
-
-  /**
-   * Remove a trace listener.
-   * @param tl Trace listener to be removed.
-   */
-  public void removeTraceListener(TraceListener tl);
-
-  /**
-   * If set, diagnostics will be
-   * written to the m_diagnosticsPrintWriter stream. If
-   * null, diagnostics are turned off. This convenience method calls
-   * {@link #setDiagnosticsOutput(java.io.PrintWriter)}.
-   */
-  public void setDiagnosticsOutput(java.io.OutputStream out);
-
-  /**
-   * If set, diagnostics will be
-   * written to the m_diagnosticsPrintWriter stream. If
-   * null, diagnostics are turned off.
-   */
-  public void setDiagnosticsOutput(java.io.PrintWriter pw);
-
-  /**
-   * Set the problem listener property.
-   * The XSL class can have a single listener to be informed
-   * of errors and warnings. The problem listener normally controls whether an exception
-   * is thrown or not (or the problem listeners can throw its own RuntimeException).
-   * @param l A ProblemListener interface.
-   */
-  public void setProblemListener(ProblemListener l);
-
-  /**
-   * Get the problem listener property.
-   * The XSL class can have a single listener to be informed
-   * of errors and warnings. The problem listener normally controls whether an exception
-   * is thrown or not (or the problem listener can throw its own RuntimeException).
-   * @return A ProblemListener interface.
-   */
-  public ProblemListener getProblemListener();
-
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLTProcessorFactory.java b/compat_src/org/apache/xalan/xslt/XSLTProcessorFactory.java
deleted file mode 100644
index c295028..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTProcessorFactory.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-import org.apache.xpath.XPathFactory;
-//import javax.xml.transform.Processor;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.Templates;
-import org.apache.xml.utils.TreeWalker;
-
-/**
- * <meta name="usage" content="general"/>
- * Manufactures the processor for performing transformations. Use one of the static getProcessor methods
- * to create an XSLTProcessor object.
- */
-public class XSLTProcessorFactory
-{
-  /**
-   * Get a new XSLTProcessor.
-   */
-  public static XSLTProcessor getProcessor()
-    throws org.xml.sax.SAXException
-  {
-    //Processor processor = Processor.newInstance("xslt"); 
-    return new XSLTEngineImpl();
-  }
-
-  /**
-   * Get a new XSLTProcessor (parserLiaisonClassName no longre used).
-   * *
-   * @see #getProcessor()
-   * @see org.apache.xalan.xpath.xml.XMLParserLiaison
-   */
-  public static XSLTProcessor getProcessorUsingLiaisonName(String parserLiaisonClassName)
-    throws org.xml.sax.SAXException
-  {
-    //return new XSLTEngineImpl(parserLiaisonClassName);
-    //Processor processor = Processor.newInstance("xslt"); 
-    return new XSLTEngineImpl();
-  }
-
-  /**
-   * Get a new XSLTProcessor (XMLParserLiaison no longer used).
-   *
-   * @param parserLiaison the XMLParserLiaison set up to interact with a given XML parser.
-   * @return An implementation of the XSLTProcessor interface with which you can perform transformations.
-   *
-   * @see #getProcessor()
-   * @see org.apache.xalan.xpath.xml.XMLParserLiaison
-   */
-  public static XSLTProcessor getProcessor(XMLParserLiaison parserLiaison)
-  {
-    //return new XSLTEngineImpl(parserLiaison);
-    try{
-      //Processor processor = Processor.newInstance("xslt"); 
-      return new XSLTEngineImpl();
-    }
-   /* catch (TransformerConfigurationException tce)
-    {
-      return null;
-    }*/
-    catch (org.xml.sax.SAXException e)
-    {
-      return null;
-    }
-    
-  }
-
-  /**
-   * Get a new XSLTProcessor (XMLParserLiaison and XPathFactory no longer used).
-   *
-   * @param parserLiaison the XMLParserLiaison set up to interact with a given XML parser.
-   * @param xpathFactory A custom XPathFactory.
-   * @return An implentation of the XSLTProcessor interface with which you
-   * can perform transformations.
-   *
-   * @see #getProcessor()
-   * @see org.apache.xalan.xpath.xml.XMLParserLiaison
-   */
-  public static XSLTProcessor getProcessor(XMLParserLiaison parserLiaison,
-                                                  XPathFactory xpathFactory)
-  {
-    //return new XSLTEngineImpl(parserLiaison, xpathFactory);
-    try{
-      //Processor processor = Processor.newInstance("xslt"); 
-      return new XSLTEngineImpl();
-    }
-  /*  catch (TransformerConfigurationException pe)
-    {
-      return null;
-    }*/
-    catch (org.xml.sax.SAXException e)
-    {
-      return null;
-    }
-  }
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java b/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java
deleted file mode 100644
index 4d8e398..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * The Apache Software License, Version 1.1  
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.w3c.dom.Node;
-import java.io.OutputStream;
-import java.io.Writer;
-import org.xml.sax.DocumentHandler;
-import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.helpers.ParserAdapter;
-import javax.xml.transform.Result;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.sax.SAXResult;
-
-
-/**
- * <meta name="usage" content="general"/>
- * Contains the result of a transformation that you perform with the
- * XSLTProcessor process() method or one of the StylesheetRoot process() methods.
- * Create an instance of this class to provide the process() method a container
- * for the transformation result tree.
- * You can use a file name or URL, character stream, byte stream, DOM Node, or SAX DocumentHandler
- * to instantiate an XSLTResultTarget object.
- *
- * @see XSLTProcessor#process(XSLTInputSource, XSLTInputSource, XSLTResultTarget)
- * @see StylesheetRoot
- */
-public class XSLTResultTarget //implements Result //extends StreamResult
-{
-  
-  private StreamResult sr = null;
-  private SAXResult saxResult = null;
-  private DOMResult dr = null;
-  
-  
-  /**
-    * Zero-argument default constructor  -- Before you can use the new XSLTResultTarget object in a transformation,
-    * you must define the output container by setting its FileName, CharacterStrea, ByteStream, or Node property.
-    *
-    * @see #setFileName(String)
-    * @see #setCharacterStream(Writer)
-    * @see #setByteStream(OutputStream)
-    * @see #setNode(Node)
-    * @see #setDocumentHandler(DocumentHandler)
-    * @see #setEncoding(String)
-    */
-  public XSLTResultTarget ()
-  {
-     sr = new StreamResult();
-  }
-
-  /**
-   * Create a new output target with a file name -- the equivalent of creating an output target
-   * with the zero-argument constructor and setting the new object's FileName property.
-   *
-   * @param fileName Identifies the file that will contain the transformation result (must be a valid system file name).
-   *
-   * @see #setFileName(String)
-   * @see #setCharacterStream(Writer)
-   * @see #setByteStream(OutputStream)
-   * @see #setNode(Node)
-   * @see #setDocumentHandler(DocumentHandler)
-   * @see #setEncoding(String)
-   */
-  public XSLTResultTarget (String fileName) // File?
-  {
-    sr = new StreamResult();
-    sr.setSystemId(fileName);
-  }
-
-
-  /**
-   * Create a new output target with a byte stream -- the equivalent of creating an output target
-   * with the zero-argument constructor and setting the new object's ByteStream property.
-   *
-   * @param byteStream The raw byte stream that will contain the transformation result.
-   *
-   * @see #setByteStream(OutputStream)
-   * @see #setFileName(String)
-   * @see #setCharacterStream(Writer)
-   * @see #setNode(Node)
-   * @see #setDocumentHandler(DocumentHandler)
-   * @see #setEncoding(String)
-   */
-
-  public XSLTResultTarget (OutputStream byteStream)
-  {
-    sr = new StreamResult();
-    sr.setOutputStream(byteStream);
-  }
-
-
-  /**
-   * Create a new output target with a character stream -- the equivalent of creating an output target
-   * with the zero-argument constructor and setting the new object's CharacterStream property.
-   *
-   * @param characterStream The character stream where the transformation result is written.
-   *
-   * @see #setCharacterStream(Writer)
-   * @see #setByteStream(OutputStream)
-   * @see #setFileName(String)
-   * @see #setNode(Node)
-   * @see #setDocumentHandler(DocumentHandler)
-   * @see #setEncoding(String)
-   */
-  public XSLTResultTarget (Writer characterStream)
-  {
-    sr = new StreamResult();
-    sr.setWriter(characterStream);
-  }    
-
-  /**
-   * Create a new output target with a DOM Node -- the equivalent of creating an output target
-   * with the zero-argument constructor and setting the new object's Node property.
-   *
-   * @param node The DOM Node that will contain the transformation result.
-   *
-  * @see #setNode(Node)
-   * @see #setCharacterStream(Writer)
-   * @see #setByteStream(OutputStream)
-   * @see #setFileName(String)
-   * @see #setDocumentHandler(DocumentHandler)
-   * @see #setEncoding(String)
-   */
-  public XSLTResultTarget (Node n)
-  {
-    dr = new DOMResult();
-    dr.setNode(n);
-  }    
-
-  /**
-   * Create a new output target with a SAX Document handler, which
-   * will handle result events -- the equivalent of creating an output target with the
-   * zero-argument constructor and setting the new object's DocyumentHandler property.
-   *
-   * @param handler The SAX Document handler to which the result is written.
-   *
-  * @see #setDocumentHandler(DocumentHandler)
-   * @see #setNode(Node)
-   * @see #setCharacterStream(Writer)
-   * @see #setByteStream(OutputStream)
-   * @see #setFileName(String)
-   * @see #setEncoding(String)
-   */
-  public XSLTResultTarget(DocumentHandler handler)
-  { 
-    SAXResult saxResult = new SAXResult();    
-    setDocumentHandler(handler);
-  }
-    
-
-  /**
-   * Set the file name or URL where the transformation result will be written.
-   *
-   * @param fileName The system identifier as a string.
-   *
-   * @see #XSLTResultTarget(String)
-   * @see #getFileName
-   */
-  public void setFileName (String fileName) // File?
-  {
-    if (sr == null)
-      sr = new StreamResult();
-    sr.setSystemId(fileName);
-  }
-
-
-  /**
-   * Get the file name where the results are or will be written, or null if none was supplied.
-   *
-   * @return The file name or URL.
-   *
-   * @see #XSLTResultTarget(String)
-   * @see #setFileName(String)
-   */
-  public String getFileName ()
-  {
-    if (sr != null)
-      return sr.getSystemId();
-    else
-      return null;
-  } 
-
-
-
-  /**
-   * Set the character encoding, if known.
-   *
-   * @param encoding The character encoding.
-   */
-  public void setEncoding (String encoding)
-  {
-    this.encoding = encoding;
-  }
-
-
-  /**
-   * Get the character encoding that was used.
-   *
-   * @return The encoding, or null if none was supplied.
-   */
-  public String getEncoding ()
-  {
-    return encoding;
-  }
-  
-  private String encoding;
-
-
-  /**
-   * Set a SAX DocumentHandler to process the result tree events.
-   * You can process events as they occur
-   * rather than waiting for the transformation to be completed.
-   *
-   * @param handler The SAX DocumentHandler to process result tree events.
-   *
-   * @see #XSLTResultTarget(DocumentHandler)
-   * @see #getDocumentHandler()
-   */
-  public void setDocumentHandler (DocumentHandler handler)
-  {
-    this.formatterListener = handler;
-    if (handler instanceof ParserAdapter)
-    {
-      if (saxResult == null)
-        saxResult = new SAXResult();
-      saxResult.setHandler(((ParserAdapter)handler).getContentHandler());
-    }  
-  }
-
-  /**
-   * Get the SAX DocumentHandler that processes the result tree events.
-   * You can use the DocumentHandler to process events as they occur
-   * rather than waiting for the transformation to be completed.
-   *
-   * @return The SAX DocumentHandler that processes result tree events.
-   *
-   * @see #XSLTResultTarget(DocumentHandler)
-   * @see #setDocumentHandler(DocumentHandler)
-   */
-  public DocumentHandler getDocumentHandler ()
-  {
-    return formatterListener;
-  }
-  
-  private DocumentHandler formatterListener = null;
-  
-  /**
-     * Set the node that will contain the result DOM tree.  In practice,
-     * the node should be a {@link org.w3c.dom.Document} node,
-     * a {@link org.w3c.dom.DocumentFragment} node, or a
-     * {@link org.w3c.dom.Element} node.  In other words, a node
-     * that accepts children.
-     *
-     * @param node The node to which the transformation
-     * will be appended.
-     */
-    public void setNode(Node node) {
-      if (dr == null)
-        dr = new DOMResult();
-      dr.setNode(node);
-    }
-
-    /**
-     * Get the node that will contain the result DOM tree.
-     * If no node was set via setNode, the node will be
-     * set by the transformation, and may be obtained from
-     * this method once the transformation is complete.
-     *
-     * @return The node to which the transformation
-     * will be appended.
-     */
-    public Node getNode() {
-      if (dr != null)
-        return dr.getNode();
-      else
-        return null;
-    }
-    
- /**
-   * Set the byte stream to contain the transformation result.
-   *
-   * @param byteStream A byte stream that will contain the transformation result.
-   *
-   * @see #XSLTResultTarget(OutputStream)
-   * @see #setByteStream(OutputStream)
-   */
-    public void setByteStream(OutputStream byteStrm) {
-        if (sr == null)
-          sr = new StreamResult();
-        sr.setOutputStream(byteStrm);
-    }
-
- /**
-   * Get the byte stream that contains or will contain the transformation result.
-   *
-   * @return The byte stream, or null if none was supplied.
-   *
-   * @see #XSLTResultTarget(OutputStream)
-   * @see #setByteStream(OutputStream)
-   */
-    public OutputStream getByteStream() {
-      if (sr != null)
-        return sr.getOutputStream();
-      else
-        return null;
-    }
-    
-    /**
-     * Set the system identifier for this Result.
-     *
-     * <p>If the Result is not to be written to a file, the system identifier is optional.
-     * The application may still want to provide one, however, for use in error messages
-     * and warnings, or to resolve relative output identifiers.</p>
-     *
-     * @param systemId The system identifier as a URI string.
-     */
-    public void setSystemId(String systemID)
-    {
-      if (sr != null)
-        sr.setSystemId(systemID);
-      else if (dr != null)
-        dr.setSystemId(systemID);
-      else if (saxResult != null)
-        saxResult.setSystemId(systemID);
-    }
-
-    /**
-     * Get the system identifier that was set with setSystemId.
-     *
-     * @return The system identifier that was set with setSystemId,
-     * or null if setSystemId was not called.
-     */
-    public String getSystemId()
-    {
-      if (sr != null)
-        return sr.getSystemId();
-      else if (dr != null)
-        dr.getSystemId();
-      else if (saxResult != null)
-        saxResult.getSystemId();
-      
-      return null;
-    }
-    
-     /**
-     * Set the writer that is to receive the result.  Normally,
-     * a stream should be used rather than a writer, so that
-     * the transformer may use instructions contained in the
-     * transformation instructions to control the encoding.  However,
-     * there are times when it is useful to write to a writer,
-     * such as when using a StringWriter.
-     *
-     * @param writer  A valid Writer reference.
-     */
-    public void setCharacterStream(Writer writer) {      
-      if (sr == null)
-        sr = new StreamResult();
-      sr.setWriter(writer);
-    }
-
-    /**
-     * Get the character stream that was set with setWriter.
-     *
-     * @return The character stream that was set with setWriter, or null
-     * if setWriter or the Writer constructor was not called.
-     */
-    public Writer getCharacterStream() {
-      if (sr != null)
-        return sr.getWriter();
-      else
-        return null;
-    }
-  
-  
-    /**
-     * Get the Result object associated with this XSLTResultTarget object .
-     *
-     * @return The Result object associated with this XSLTResultTarget object
-     * 
-     */
-    public Result getResultObject() 
-    {
-      if (sr != null)        
-        return sr;
-      else if (dr != null)
-        return dr;
-      else 
-        return saxResult;
-    } 
-    
-}
diff --git a/compat_src/org/apache/xalan/xslt/package.html b/compat_src/org/apache/xalan/xslt/package.html
deleted file mode 100644
index 76e39f2..0000000
--- a/compat_src/org/apache/xalan/xslt/package.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<HTML><HEAD></HEAD><BODY>
-     <P><B>The main Xalan-Java 1 compatability package</B> -- facilities for setting up and performing XSL transformations.</P>
-   
-     <P>Use one of the {@link org.apache.xalan.xslt.XSLTProcessorFactory} static getProcessor methods to
-      instantiate an {@link org.apache.xalan.xslt.XSLTProcessor}. The XSLTProcessor interface defines the 
-      XSLT processor API. You should never need to call the underlying implementation 
-      ({@link org.apache.xalan.xslt.XSLTEngineImpl}) directly.</P>
-      
-      <P>Instantiate {@link org.apache.xalan.xslt.XSLTInputSource} objects for the XML input and the XSL
-      stylesheet, and an {@link org.apache.xalan.xslt.XSLTResultTarget} object for the transformation output. 
-      You may construct these objects with a variety of containers/formats, including files or URLs, character
-      streams,byte streams, SAX input streams or document handlers, and a DOM tree.</P>
-      <P>As a general rule, use the XSLTProcessor process method to perform a transformation, thereby filling the
-      XSLTResultTarget object. For repeated transformations, to gather information from the stylesheet before you
-      perform the transformation, or to set up the processor to function as a SAX document handler, use the
-       XSLTProcessor processStylesheet method to compile the XSL stylesheet, which returns a 
-       {@link org.apache.xalan.xslt.StylesheetRoot} object with its own process method.</P>
-   </BODY></HTML>
\ No newline at end of file
diff --git a/make.include b/make.include
deleted file mode 100644
index d971ce9..0000000
--- a/make.include
+++ /dev/null
@@ -1,168 +0,0 @@
-###########################################################
-# Common variables and targets for XPath and xslt4j
-#
-# See Makefile for important environment notes
-#
-###########################################################
-
-###########################################################
-# Project-specific variables and rules
-#
-# You should not need to edit these
-###########################################################
-JAVAX = .java
-CLASSX = .class
-JARX  = .jar
-TARX  = .tar.gz
-ZIPX  = .zip
-OBJS  = $(SRCS:%.java=%.class)
-
-# A simple marker file created to show last compile time
-# Note subdirectories may reset the name!
-SINCE_FILE       = since.last
-
-# Relative directory (usually from ./src/.) where class files are to go
-CLASS_DIR        = classes
-
-CURRENT_DIR      = .
-
-###########################################################
-# Build-specific tools and flags definitions
-###########################################################
-PRODUCT_NAME := xalan
-VERSION      = _1_1_D01
-JARNAME      = $(PRODUCT_NAME)$(JARX)
-JARDISTNAME  = $(PRODUCT_NAME)-j$(VERSION)$(JARX)
-TARDISTNAME  = $(PRODUCT_NAME)-j$(VERSION)$(TARX)
-ZIPDISTNAME  = $(PRODUCT_NAME)-j$(VERSION)$(ZIPX)
-
-###########################################################
-# Environment-specific tools and flags definitions
-#
-# You may need to edit these if you're not using
-# a standard JDK or the tools aren't on the path.
-###########################################################
-# References to default tools
-JAVA       = java
-JAVAC      = javac
-JAVADOC    = javadoc
-JAR        = jar
-# References to JDK 1.2-only tools; required for xdocs build
-# While the code compiles under 1.1.8 or 1.2.2, the docs require 1.2.2
-# Thus, you can install both JDK's, set 1.1.8 up as default,
-# then call us like 'make -f Makefile JAVAC12=c:/jdk122/bin/javac.exe ...'
-#    This should compile the sources with 1.1.8, but the doc with 1.2.2
-JAVA12     = java
-JAVAC12    = javac
-JAVADOC12  = javadoc
-
-# Setting flags for various tools
-# You can override these on the make command line as well
-#    Call us like 'make -f Makefile JAVADEBUG=-g:none ...'
-JAVADEBUG   = -g
-# JAVADEBUG   = -g:none -O
-JAVADESTDIR = -d $(CLASS_DIR)
-JAVACFLAGS  = $(JAVADEBUG) $(JAVADESTDIR)
-JARFLAGS    = Mcf0
-
-# References to other tools
-RM         = rm -f
-RM-RF      = rm -rf
-CP         = cp -f
-CPR        = cp -Rvf
-UPDIR      := ..
-
-# References to standard UNIX or Cygwin tar utility, filtering through gzip
-TARGZ      = tar cvzf
-UNTARGZ      = tar xvzf 
-
-# Decide if we're on unix or DOS
-ifeq (,$(findstring usr,$(PATH)))
-# DOS
-PATHSEP := \\
-CLPATHSEP := ;
-else 
-# UNIX
-PATHSEP := /
-CLPATHSEP := :
-endif
-
-###########################################################
-# Main targets definitions
-###########################################################
-.PHONY: makeall
-makeall: all
-
-.PHONY: clean
-clean::
-	$(RM) *.class $(JARNAME) *~ *.bak *.o *.obj *.dll $(SINCE_FILE)
-
-.PHONY: makesubdirs
-makesubdirs:
-	@for i in $(SUBDIRS) ; \
-	do \
-	(cd $$i; echo making xpath engine in "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makexpath4j JAVACFLAGS="$(JAVACFLAGS)" all); \
-	(cd $$i; echo making xslt engine in "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makexslt4j JAVACFLAGS="$(JAVACFLAGS)" all); \
-	done
-
-.PHONY: makecompat
-makecompat:
-	@for i in $(SUBDIRS) ; \
-	do \
-	(cd $$i; echo making compat engine in "$(CURRENT_DIR)/$$i...";pwd; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makecompat JAVACFLAGS="$(JAVACFLAGS)" all); \
-	done
-
-.PHONY: makedocs
-makedocs:
-	@for i in xdocs ; \
-	do \
-	(cd $$i; echo making x-docs in "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile all); \
-	done
-
-.PHONY: makesamples
-makesamples:
-	@for i in samples ; \
-	do \
-	(cd $$i; echo making samples in "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile all); \
-	done
-
-.PHONY: cleansubdirs 
-cleansubdirs:
-	-@for i in $(SUBDIRS) ; \
-	do \
-	(cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i -f makexpath4j $(MFLAGS) clean); \
-	(cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i -f makexslt4j $(MFLAGS) clean); \
-	done
-
-.PHONY: cleancompat
-cleancompat:
-	-@for i in $(SUBDIRS) ; \
-	do \
-	(cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i -f makecompat $(MFLAGS) clean); \
-	done
-
-.PHONY: cleandocs
-cleandocs:
-	@for i in xdocs ; \
-	do \
-	(cd $$i; echo cleaning up x-docs "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile clean); \
-	done
-
-.PHONY: cleansamples
-cleansamples:
-	@for i in samples ; \
-	do \
-	(cd $$i; echo cleaning up samples "$(CURRENT_DIR)/$$i..."; \
-	$(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile clean); \
-	done
-
-# End of file
\ No newline at end of file
diff --git a/make.include2 b/make.include2
deleted file mode 100644
index abb866f..0000000
--- a/make.include2
+++ /dev/null
@@ -1,23 +0,0 @@
-###########################################################
-# Common definitions and main 'compile' rule for xpath and xslt.
-#
-# See Makefile for important environment notes
-# 
-###########################################################
-
-# Note this is separate from the variable in make.include
-CLASSESDIR = classes
-
-# Add other required dirs to the classpath
-XML4J_CLASSPATH := ..$(PATHSEP)..$(PATHSEP)..$(PATHSEP)xml-xerces$(PATHSEP)java$(PATHSEP)bin$(PATHSEP)xerces.jar
-BSF_CLASSPATH := ..$(PATHSEP)bin$(PATHSEP)bsf.jar
-# Add . (current dir) to end of classpath to help 1.1.x compilers find all the source files, thanks to Sean Timm
-EXTRA_CLASSPATH := $(XML4J_CLASSPATH)$(CLPATHSEP)$(BSF_CLASSPATH)$(CLPATHSEP)$(CLASSESDIR)$(CLPATHSEP)$(CLASSPATH)$(CLPATHSEP).
-
-sincelast: $(SINCE_FILE)
-$(SINCE_FILE): $(SRCS)
-	-mkdir $(CLASSESDIR)
-	$(JAVAC) $(JAVACFLAGS) -classpath "$(EXTRA_CLASSPATH)" $?
-	touch $(SINCE_FILE)
-
-
diff --git a/readme.html b/readme.html
deleted file mode 100644
index dae48ad..0000000
--- a/readme.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-<html>
-<head>
-<title>
-</title>
-</head>
-<body>
-<meta content="0; URL=docs/whatsnew.html" http-equiv="Refresh">
-      Redirecting to <a href="docs/whatsnew.html">What's New in Xalan_Java 2</a>
-</body>
-</html>
-
-
-
-
-            
-            
-
-
-
-
-            
-   
diff --git a/samples/AppletXMLtoHTML/README.html b/samples/AppletXMLtoHTML/README.html
deleted file mode 100644
index c0b584d..0000000
--- a/samples/AppletXMLtoHTML/README.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title></title>Xalan Sample Applets</title>
-</head>
-<body bgcolor="#808080" text="#ffffff">
-  <table>
-    <tr>
-      <td><img border="0" hspace="0" vspace="0" align="left" src="rabbitwhorn.jpg"></td>
-      <td><h2>&nbsp;Running the Xalan sample applets</h2></td>
-    </tr>
-  </table>
-  <hr>
-  <ul>
-  <li>appletXMLtoHTML.html transforms XML into HTML, and displays the XML document and XSL stylesheet as well as the HTML transformation result.<br/><br/></li>
-  <li>get-todo-list.html uses todo.xsl to transform todo.xml and display the transformation result. The XML source is a snapshot of todo.xml in the xml-xalan CVS repository, an ongoing list of tasks and task completions for the Xalan-Java 2 development project.</li>
-  <p>Both applets look for xalan.jar and xerces.jar in the bin directory. If the JAR files are elsewhere, you must move them or adjust the applet archive setting in client.html and get-todo-list.html.</p>
-</ul>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/AppletXMLtoHTML/appletXMLtoHTML.html b/samples/AppletXMLtoHTML/appletXMLtoHTML.html
deleted file mode 100644
index 0aaa900..0000000
--- a/samples/AppletXMLtoHTML/appletXMLtoHTML.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Using an applet to perform XSL transformations</title>
-</head>
-  <FRAMESET ROWS="125,*" >
-    <FRAME NAME="processor" SRC="client.html" SCROLLING="auto" >
-      <frameset cols="33%, 33%, *">
-        <FRAME NAME="targetArea0" SRC="target.html" >
-        <FRAME NAME="targetArea1" SRC="target.html" >
-        <FRAME NAME="targetArea2" SRC="target.html" >        
-      </frameset>
-  </FRAMESET>
-
-</html>
diff --git a/samples/AppletXMLtoHTML/client.html b/samples/AppletXMLtoHTML/client.html
deleted file mode 100644
index 00a4382..0000000
--- a/samples/AppletXMLtoHTML/client.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-  <head>
-	  <title>Untitled</title>
-  </head>
-  <script language="JavaScript">
-
-    
-    function writeSource(sourceString)
-    {
-
-      var escString=document.xslControl.escapeString(sourceString);
-      var title="XML Source Doc";
-      var doc=top.frames[1].document;      
-      doc.open();
-      doc.write("<h3>" + title + "</h3>");
-      doc.write("<PRE>");
-      doc.write(escString);
-      doc.write("</PRE>");
-      doc.close();    
-    }
-  
-    function writeStylesheet(styleString)
-    {
-      var escString=document.xslControl.escapeString(styleString);
-      var title="XSL Stylesheet";
-      var doc=top.frames[2].document;          
-      doc.open();
-      doc.write("<h3>" + title + "</h3>");
-      doc.write("<PRE>");
-      doc.write(escString);
-      doc.write("</PRE>");
-      doc.close();     
-    } 
-
-    function writeTarget(targetString)
-    {
-      var doc=top.frames[3].document;
-      doc.open();
-      var title="HTML Output";      
-      doc.write("<h3>" + title + "</h3>");
-      if (document.xmlTransform.displayMode[0].checked) //display HTML
-      {
-        doc.write(targetString);
-      }
-      else // display source
-      {
-        var escString=document.xslControl.escapeString(targetString);
-        doc.write("<PRE>");
-        doc.write(escString);
-        doc.write("</PRE>");
-      }
-      doc.close();    
-    }
-  
-    function clearFrames()
-    {
-      document.xslControl.freeCache();
-      for (i=1; i<4; i++)
-        {
-        var doc=top.frames[i].document;
-        doc.open();
-        doc.clear();
-        doc.close();
-        }
-    }
-  
-    function transform()
-    {  
-      clearFrames();
-      var xmlSource=document.xmlTransform.xmlSourceList.options[document.xmlTransform.xmlSourceList.selectedIndex].value;
-      document.xslControl.setDocumentURL(xmlSource);
-      var sourceString=document.xslControl.getSourceTreeAsText();
-      var styleString=document.xslControl.getStyleTreeAsText();
-      var targetString=document.xslControl.getHtmlText();      
-      writeSource(sourceString);
-      writeStylesheet(styleString);
-      writeTarget(targetString);
-    }
-  </script>
-  <body onLoad="clearFrames();" bgcolor="#808080" text="#ffffff">
-    <form name="xmlTransform" action="" method="POST">
-      <h2><img border="0" hspace="0" vspace="0" align="left" src="rabbitwhorn.jpg">&nbsp;Transform XML Document</h2>
-        <table>
-          <tr>
-            <td width="50"></td>
-            <td align="center"><i>Document to transform</i></td>
-            <td align="center"><i>Display output as</i></td>
-          </tr>
-          <tr>
-          <td></td>
-          <td align="center">
-            <select name="xmlSourceList">
-              <option value="xalanApplets.xml" selected>&nbsp;xalanApplets.xml&nbsp;
-              <option value="foo-s1.xml">&nbsp;foo-s1.xml&nbsp;
-            </select>
-          </td>
-          <td align="center">
-            <input type="radio" name="displayMode" checked>HTML&nbsp;&nbsp;
-            <input type="radio" name="displayMode">HTML Source
-          </td>
-          <td>&nbsp;&nbsp;&nbsp;&nbsp;
-            <input type="button" name="transformButton" value="Transform" 
-            onClick="transform();">
-          </td>
-        </tr>
-      </table>
-    </form>
-    <!-- Be sure you have applet archive attribute set
-         so the applet can find xalan.jar and xerces.jar -->  
-    <applet  
-      name="xslControl"
-      code="org.apache.xalan.client.XSLTProcessorApplet.class"
-      archive="../../bin/xalan.jar,../../bin/xerces.jar"
-      height="0"
-      width"0">
-      <param name="documentURL" value="xalanApplets.xml"/>  <!--default setting-->
-      <param name="styleURL" value="s1ToHTML.xsl"/> <!--doesn't change-->
-    </applet>
-  </body>
-</html>
diff --git a/samples/AppletXMLtoHTML/foo-s1.xml b/samples/AppletXMLtoHTML/foo-s1.xml
deleted file mode 100644
index e8ce033..0000000
--- a/samples/AppletXMLtoHTML/foo-s1.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<s1 title="s1 foo">
-  <s2 title="Foo">
-    <p>Hello</p>
-  </s2>
-</s1>
\ No newline at end of file
diff --git a/samples/AppletXMLtoHTML/get-todo-list.html b/samples/AppletXMLtoHTML/get-todo-list.html
deleted file mode 100644
index 30d9073..0000000
--- a/samples/AppletXMLtoHTML/get-todo-list.html
+++ /dev/null
@@ -1,26 +0,0 @@
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-  <head>
-	<title>Xalan-Java 2 "to do" list</title>
-  </head>
-  <script language="JavaScript">
- 
-    function transform()
-    { 
-      var todolist = xslControl.getHtmlText();
-      document.write(todolist);
-    }
-  </script>
-  <body onLoad="transform();">
-    <applet  
-      name="xslControl"
-      code="org.apache.xalan.client.XSLTProcessorApplet.class"
-      archive="../../bin/xalan.jar,../../bin/xerces.jar"
-      height="0"
-      width="0">
-      <param name="documentURL" value="../../todo.xml"/> 
-      <param name="styleURL" value="../../todo.xsl"/>
-    </applet>
-  </body>
-</html>
diff --git a/samples/AppletXMLtoHTML/lts3611beac.jpg b/samples/AppletXMLtoHTML/lts3611beac.jpg
deleted file mode 100644
index c249149..0000000
--- a/samples/AppletXMLtoHTML/lts3611beac.jpg
+++ /dev/null
@@ -1 +0,0 @@
-OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
\ No newline at end of file
diff --git a/samples/AppletXMLtoHTML/rabbitwhorn.jpg b/samples/AppletXMLtoHTML/rabbitwhorn.jpg
deleted file mode 100644
index 4544a38..0000000
--- a/samples/AppletXMLtoHTML/rabbitwhorn.jpg
+++ /dev/null
Binary files differ
diff --git a/samples/AppletXMLtoHTML/s1ToHTML.xsl b/samples/AppletXMLtoHTML/s1ToHTML.xsl
deleted file mode 100644
index 2605e6f..0000000
--- a/samples/AppletXMLtoHTML/s1ToHTML.xsl
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="html" indent="yes"/>
-    
-  <xsl:template match="/">
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="s1">
-    <html>
-      <head><title><xsl:value-of select="@title"/></title></head>
-      <body  bgcolor="#ffffff" text="#000000">
-        <xsl:apply-templates select="s2"/>
-      </body>
-    </html>
-  </xsl:template>
-
-  <xsl:template match="s2">
-    <table width="100%" border="0" cellspacing="0" cellpadding="4">
-      <tr>
-        <td bgcolor="#006699">
-          <font color="#ffffff" size="+1">
-            <b><xsl:value-of select="@title"/></b>
-          </font>
-        </td>
-      </tr>
-    </table>
-    <xsl:apply-templates/>
-    <br/>
-  </xsl:template>
-
-  <xsl:template match="p">
-    <p><xsl:apply-templates/></p>
-  </xsl:template>
-
-  <xsl:template match="note">
-    <table border="0" width="100%">
-      <tr>
-        <td width="20">&#160;</td>
-        <td bgcolor="#88aacc">
-          <font size="-1"><i>NOTE: <xsl:apply-templates/></i></font>
-        </td>
-        <td width="20">&#160;</td>
-      </tr>
-    </table>
-  </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="gloss">
-    <dl><xsl:apply-templates/></dl>
-  </xsl:template>
-   <!-- <term> contains a single-word, multi-word or symbolic 
-       designation which is regarded as a technical term. --> 
-  <xsl:template match="term">
-    <dfn><xsl:apply-templates/></dfn>
-  </xsl:template>
-
-  <xsl:template match="label" priority="1">
-    <dt><xsl:apply-templates/></dt>
-  </xsl:template>
-
-  <xsl:template match="item" priority="2">
-    <dd>
-      <xsl:apply-templates/>
-    </dd>
-  </xsl:template>
-
-  <xsl:template match="table">
-    <p align="center"><table border="0"><xsl:apply-templates/></table></p>
-  </xsl:template>
-
-  <xsl:template match="source">
-    <table border="0" width="100%">
-      <tr>
-        <td width="20">&#160;</td>
-        <td bgcolor="#88aacc"><pre><xsl:apply-templates/></pre></td>
-        <td width="20">&#160;</td>
-      </tr>
-    </table>
-  </xsl:template>
-
-  <xsl:template match="li">
-    <li><xsl:apply-templates/></li>
-  </xsl:template>
-
-  <xsl:template match="tr">
-    <tr><xsl:apply-templates/></tr>
-  </xsl:template>
-
-  <xsl:template match="th">
-    <td bgcolor="#006699" align="center">
-      <font color="#ffffff"><b><xsl:apply-templates/></b></font>
-    </td>
-  </xsl:template>
-
-  <xsl:template match="td">
-    <td bgcolor="#88aacc"><xsl:apply-templates/>&#160;</td>
-  </xsl:template>
-
-  <xsl:template match="tn">
-    <td>&#160;</td>
-  </xsl:template>
-
-  <xsl:template match="em">
-    <b><xsl:apply-templates/></b>
-  </xsl:template>
-
-  <xsl:template match="ref">
-    <i><xsl:apply-templates/></i>
-  </xsl:template>
-
-  <xsl:template match="code">
-    <code><xsl:apply-templates/></code>
-  </xsl:template>
-
-  <xsl:template match="br">
-    <br/>
-  </xsl:template>
-
-
-  <xsl:template match="jump">
-    <a href="{@href}" target="_top"><xsl:apply-templates/></a>
-  </xsl:template>  
-
-  <xsl:template match="anchor">
-    <a name="{@id}"> </a>
-  </xsl:template>
-
-  <xsl:template match="img">
-    <img src="{@src}" align="right" border="0" vspace="4" hspace="4"/>
-  </xsl:template>
-  
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/AppletXMLtoHTML/target.html b/samples/AppletXMLtoHTML/target.html
deleted file mode 100644
index ea8545c..0000000
--- a/samples/AppletXMLtoHTML/target.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-  <head>
-    <title>Untitled</title>
-  </head>
-  <body>&nbsp;</body>
-</html>
diff --git a/samples/AppletXMLtoHTML/xalanApplets.xml b/samples/AppletXMLtoHTML/xalanApplets.xml
deleted file mode 100644
index ef86fc1..0000000
--- a/samples/AppletXMLtoHTML/xalanApplets.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?> 
-<s1 title="About Xalan Applets">
-  <s2 title="Transforming XML to HTML in an Applet">
-    <ol> 
-      <li>
-        <p>Include
-        org.apache.xalan.xslt.client.XSLTProcessorApplet
-        in an HTML client.</p>
-      </li>
-      <li>
-        <p>Specify the XML source document and XSL
-        stylesheet.</p>
-        <p>You can use the DocumentURL and StyleURL PARAM tags 
-        or the setDocumentURL() and setStyleURL() methods. 
-        If the XML document contains a stylesheet Processing
-        Instruction (PI), you do not need to specify an XSL
-        stylesheet.</p>
-      </li>
-      <li>
-        <p>Call the getHtmlText() method, which performs
-        the transformation and returns the new document as a
-        String.</p>
-      </li>
-    </ol>
-  </s2>
-</s1>
\ No newline at end of file
diff --git a/samples/ApplyXPath/ApplyXPath.java b/samples/ApplyXPath/ApplyXPath.java
deleted file mode 100644
index b9635f2..0000000
--- a/samples/ApplyXPath/ApplyXPath.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// This file uses 4 space indents, no tabs.
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.util.Properties;
-import org.apache.xerces.parsers.DOMParser;
-import org.apache.xpath.XPathAPI;
-import org.apache.xml.utils.TreeWalker;
-import org.apache.xml.utils.DOMBuilder;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.traversal.NodeIterator;
-import org.xml.sax.SAXException;
-import org.xml.sax.InputSource;
-
-// Imported JAVA API for XML Parsing 1.0 classes
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException; 
-
-// Imported Serializer classes
-import javax.xml.transform.*;
-import javax.xml.transform.stream.*;
-import javax.xml.transform.dom.*;
-
-/**
- *  Very basic utility for applying an XPath epxression to an xml file and printing information
- /  about the execution of the XPath object and the nodes it finds.
- *  Takes 2 arguments:
- *     (1) an xml filename
- *     (2) an XPath expression to apply to the file
- *  Examples:
- *     java ApplyXPath foo.xml /
- *     java ApplyXPath foo.xml /doc/name[1]/@last
- * @see XPathAPI
- */
-public class ApplyXPath
-{
-  protected String filename = null;
-  protected String xpath = null;
-
-  /** Process input args and execute the XPath.  */
-  public void doMain(String[] args)
-    throws Exception
-  {
-    filename = args[0];
-    xpath = args[1];
-
-    if ((filename != null) && (filename.length() > 0)
-        && (xpath != null) && (xpath.length() > 0))
-    {
-      // Tell that we're loading classes and parsing, so the time it 
-      // takes to do this doesn't get confused with the time to do 
-      // the actual query and serialization.
-      System.out.println("Loading classes, parsing "+filename+", and setting up serializer");
-      
-      // Set up a DOM tree to query.
-      InputSource in = new InputSource(new FileInputStream(filename));
-      DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-      Document doc = dfactory.newDocumentBuilder().parse(in);
-      
-      // Set up an identity transformer to use as serializer.
-      Transformer serializer = TransformerFactory.newInstance().newTransformer();
-      serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-
-      // Use the simple XPath API to select a nodeIterator.
-      System.out.println("Querying DOM using "+xpath);
-      NodeIterator nl = XPathAPI.selectNodeIterator(doc, xpath);
-
-      // Serialize the found nodes to System.out.
-      System.out.println("<output>");
-                  
-      Node n;
-      while ((n = nl.nextNode())!= null)
-      {         
-        serializer.transform(new DOMSource(n), new StreamResult(System.out));
-        System.out.println();
-      }
-      System.out.println("</output>");
-    }
-    else
-    {
-      System.out.println("Bad input args: " + filename + ", " + xpath);
-    }
-  }
-  
-  /** Main method to run from the command line.    */
-  public static void main (String[] args)
-    throws Exception
-  {
-    if (args.length != 2)
-    {
-      System.out.println("java ApplyXPath filename.xml xpath\n"
-                         + "Reads filename.xml and applies the xpath; prints the nodelist found.");
-      return;
-    }
-        
-    ApplyXPath app = new ApplyXPath();
-    app.doMain(args);
-  }	
-  
-} // end of class ApplyXPath
-
diff --git a/samples/ApplyXPath/foo.xml b/samples/ApplyXPath/foo.xml
deleted file mode 100644
index 0423708..0000000
--- a/samples/ApplyXPath/foo.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <name first="David" last="Marston"/>
-  <name first="David" last="Bertoni"/>
-  <name first="Donald" last="Leslie"/>
-  <name first="Emily" last="Farmer"/>
-  <name first="Joseph" last="Kesselman"/>
-  <name first="Myriam" last="Midy"/>
-  <name first="Paul" last="Dick"/>
-  <name first="Stephen" last="Auriemma"/>
-  <name first="Scott" last="Boag"/>
-  <name first="Shane" last="Curcuru"/>
-</doc>
\ No newline at end of file
diff --git a/samples/ApplyXPath/readme.html b/samples/ApplyXPath/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/ApplyXPath/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/DOM2DOM/DOM2DOM.java b/samples/DOM2DOM/DOM2DOM.java
deleted file mode 100644
index 98c3269..0000000
--- a/samples/DOM2DOM/DOM2DOM.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.dom.DOMResult;
-
-// Imported java.io classes
-import java.io.IOException;
-import java.io.FileNotFoundException;
-
-// Imported SAX classes
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-// Imported DOM classes
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-// Imported Serializer classes
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-
-import org.apache.xalan.templates.OutputProperties;
-
-// Imported JAVA API for XML Parsing classes
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException; 
-
-  /**
-   * Show how to transform a DOM tree into another DOM tree.  
-   * This uses the javax.xml.parsers to parse both an XSL file 
-   * and the XML file into a DOM, and create an output DOM.
-   */
-public class DOM2DOM
-{
-	public static void main(String[] args)
-    throws TransformerException, TransformerConfigurationException, FileNotFoundException,
-           ParserConfigurationException, SAXException, IOException
-  {    
-	  TransformerFactory tFactory = TransformerFactory.newInstance();
-
-    if(tFactory.getFeature(DOMSource.FEATURE) && tFactory.getFeature(DOMResult.FEATURE))
-    {
-      //Instantiate a DocumentBuilderFactory.
-      DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
-
-      // And setNamespaceAware, which is required when parsing xsl files
-      dFactory.setNamespaceAware(true);
-      
-      //Use the DocumentBuilderFactory to create a DocumentBuilder.
-      DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
-      
-      //Use the DocumentBuilder to parse the XSL stylesheet.
-      Document xslDoc = dBuilder.parse("birds.xsl");
-
-      // Use the DOM Document to define a DOMSource object.
-      DOMSource xslDomSource = new DOMSource(xslDoc);
-
-      // Set the systemId: note this is actually a URL, not a local filename
-      xslDomSource.setSystemId("birds.xsl");
-
-      // Process the stylesheet DOMSource and generate a Transformer.
-      Transformer transformer = tFactory.newTransformer(xslDomSource);
-
-      //Use the DocumentBuilder to parse the XML input.
-      Document xmlDoc = dBuilder.parse("birds.xml");
-      
-      // Use the DOM Document to define a DOMSource object.
-      DOMSource xmlDomSource = new DOMSource(xmlDoc);
-      
-      // Set the base URI for the DOMSource so any relative URIs it contains can
-      // be resolved.
-      xmlDomSource.setSystemId("birds.xml");
-      
-      // Create an empty DOMResult for the Result.
-      DOMResult domResult = new DOMResult();
-  
-  	  // Perform the transformation, placing the output in the DOMResult.
-      transformer.transform(xmlDomSource, domResult);
-	  
-	    //Instantiate an Xalan XML serializer and use it to serialize the output DOM to System.out
-	    // using a default output format.
-      Serializer serializer = SerializerFactory.getSerializer
-                                   (OutputProperties.getDefaultMethodProperties("xml"));
-      serializer.setOutputStream(System.out);
-      serializer.asDOMSerializer().serialize(domResult.getNode());
-	}
-    else
-    {
-      throw new org.xml.sax.SAXNotSupportedException("DOM node processing not supported!");
-    }
-  }
-}
diff --git a/samples/DOM2DOM/birds.xml b/samples/DOM2DOM/birds.xml
deleted file mode 100644
index 7027642..0000000
--- a/samples/DOM2DOM/birds.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Class>
-<Order Name="TINAMIFORMES">
-        <Family Name="TINAMIDAE">
-            <Species Scientific_Name="Tinamus major">  Great Tinamou.</Species>
-            <Species Scientific_Name="Nothocercus">Highland Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus soui">Little Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus cinnamomeus">Thicket Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus boucardi">Slaty-breasted Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus kerriae">Choco Tinamou.</Species>
-        </Family>
-    </Order>
-<Order Name="GAVIIFORMES">
-        <Family Name="GAVIIDAE">
-            <Species Scientific_Name="Gavia stellata">Red-throated Loon.</Species>
-            <Species Scientific_Name="Gavia arctica">Arctic Loon.</Species>
-            <Species Scientific_Name="Gavia pacifica">Pacific Loon.</Species>
-            <Species Scientific_Name="Gavia immer">Common Loon.</Species>
-            <Species Scientific_Name="Gavia adamsii">Yellow-billed Loon.</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="PODICIPEDIFORMES">
-        <Family Name="PODICIPEDIDAE">
-            <Species Scientific_Name="Tachybaptus dominicus">Least Grebe.</Species>
-            <Species Scientific_Name="Podilymbus podiceps">Pied-billed Grebe.</Species>
-            <Species Scientific_Name="">Atitlan Grebe.</Species>
-            <Species Scientific_Name="">Horned Grebe.</Species>
-            <Species Scientific_Name="">Red-necked Grebe.</Species>
-            <Species Scientific_Name="">Eared Grebe.</Species>
-            <Species Scientific_Name="">Western Grebe.</Species>
-            <Species Scientific_Name="">Clark's Grebe.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="PROCELLARIIFORMES">
-        <Family Name="DIOMEDEIDAE">
-            <Species Scientific_Name="Thalassarche chlororhynchos">Yellow-nosed Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche cauta">Shy Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche melanophris">Black-browed Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebetria palpebrata">Light-mantled Albatross. (A)</Species>
-            <Species Scientific_Name="Diomedea exulans">Wandering Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebastria immutabilis">Laysan Albatross.</Species>
-            <Species Scientific_Name="Phoebastria nigripes">Black-footed Albatross.</Species>
-            <Species Scientific_Name="Phoebastria albatrus">Short-tailed Albatross. (N)</Species>
-        </Family>
-        <Family Name="PROCELLARIIDAE">
-            <Species Scientific_Name="Fulmarus glacialis">Northern Fulmar.</Species>
-            <Species Scientific_Name="Pterodroma neglecta">Kermadec Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma arminjoniana">Herald Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma ultima">Murphy's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma inexpectata">Mottled Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma cahow">Bermuda Petrel.</Species>
-            <Species Scientific_Name="Pterodroma hasitata">Black-capped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma externa">Juan Fernandez Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma phaeopygia">Dark-rumped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma cervicalis">White-necked Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma hypoleuca">Bonin Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma nigripennis">Black-winged Petrel. (H, A)</Species>
-            <Species Scientific_Name="Pterodroma cookii">Cook's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma longirostris">Stejneger's Petrel. (A)</Species>
-            <Species Scientific_Name="Bulweria bulwerii">Bulwer's Petrel. (H)</Species>
-            <Species Scientific_Name="Bulweria fallax">Jouanin's Petrel. (H, A)</Species>
-            <Species Scientific_Name="Procellaria parkinsoni">Parkinson's Petrel. (N)</Species>
-            <Species Scientific_Name="Calonectris leucomelas">Streaked Shearwater. (A)</Species>
-            <Species Scientific_Name="Calonectris diomedea">Cory's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus creatopus">Pink-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus carneipes">Flesh-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus gravis">Greater Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus pacificus">Wedge-tailed Shearwater.</Species>
-            <Species Scientific_Name="Puffinus bulleri">Buller's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus griseus">Sooty Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus tenuirostris">Short-tailed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus nativitatis">Christmas Shearwater. (H)</Species>
-            <Species Scientific_Name="Puffinus puffinus">Manx Shearwater.</Species>
-            <Species Scientific_Name="Puffinus auricularis">Townsend's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus opisthomelas">Black-vented Shearwater.</Species>
-            <Species Scientific_Name="Puffinus lherminieri">Audubon's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus assimilis">Little Shearwater. (A)</Species>
-        </Family>
-        <Family Name="HYDROBATIDAE">
-            <Species Scientific_Name="Oceanites oceanicus">Wilson's Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Pelagodroma marina">White-faced Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Hydrobates pelagicus">European Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma furcata">Fork-tailed Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma leucorhoa">Leach's Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma homochroa">Ashy Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma castro">Band-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma tethys">Wedge-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma melania">Black Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma macrodactyla">Guadalupe Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma markhami">Markham's Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma tristrami">Tristram's Storm-Petrel. (H)</Species>
-            <Species Scientific_Name="Oceanodroma microsoma">Least Storm-Petrel.</Species>
-        </Family>
-    </Order>
-
-<Order Name="PELECANIFORMES">
-        <Family Name="PHAETHONTIDAE">
-            <Species Scientific_Name="Phaethon lepturus">White-tailed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon aethereus">Red-billed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon rubricauda">Red-tailed Tropicbird.</Species>
-        </Family>
-        <Family Name="SULIDAE">
-            <Species Scientific_Name="Sula dactylatra">Masked Booby.</Species>
-            <Species Scientific_Name="Sula nebouxii">Blue-footed Booby.</Species>
-            <Species Scientific_Name="Sula variegata">Peruvian Booby. (A)</Species>
-            <Species Scientific_Name="Sula leucogaster">Brown Booby.</Species>
-            <Species Scientific_Name="Sula sula">Red-footed Booby.</Species>
-            <Species Scientific_Name="Morus bassanus">Northern Gannet.</Species>
-        </Family>
-        <Family Name="PELECANIDAE">
-            <Species Scientific_Name="Pelecanus erythrorhynchos">American White Pelican.</Species>
-            <Species Scientific_Name="Pelecanus occidentalis">Brown Pelican.</Species>
-        </Family>
-        <Family Name="PHALACROCORACIDAE">
-            <Species Scientific_Name="Phalacrocorax penicillatus">Brandt's Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax brasilianus">Neotropic Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax auritus">Double-crested Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax carbo">Great Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax urile">Red-faced Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax pelagicus">Pelagic Cormorant.</Species>
-        </Family>
-        <Family Name="ANHINGIDAE">
-            <Species Scientific_Name="Anhinga anhinga">Anhinga.</Species>
-        </Family>
-        <Family Name="FREGATIDAE">
-            <Species Scientific_Name="Fregata magnificens">Magnificent Frigatebird.</Species>
-            <Species Scientific_Name="Fregata minor">Great Frigatebird.</Species>
-            <Species Scientific_Name="Fregata ariel">Lesser Frigatebird. (A)</Species>
-        </Family>
-    </Order>
-</Class>
diff --git a/samples/DOM2DOM/birds.xsl b/samples/DOM2DOM/birds.xsl
deleted file mode 100644
index 4d6f8e1..0000000
--- a/samples/DOM2DOM/birds.xsl
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" indent="yes"/>
-
-<xsl:template match="Class">
-<BirdInfo>
-	<xsl:apply-templates select="Order"/>
-</BirdInfo>
-</xsl:template>
-
-<xsl:template match="Order">
-Order is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Family"/><xsl:text>
-</xsl:text>
-</xsl:template>
-
-<xsl:template match="Family">
-	Family is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Species | SubFamily | text()"/>
-</xsl:template>
-
-<xsl:template match="SubFamily">
-		SubFamily is <xsl:value-of select="@Name"/>
-    <xsl:apply-templates select="Species | text()"/>
-</xsl:template>
-
-<xsl:template match="Species">
-	<xsl:choose>
-	  <xsl:when test="name(..)='SubFamily'">
-		<xsl:text>	</xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-		<xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/DOM2DOM/readme.html b/samples/DOM2DOM/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/DOM2DOM/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/Pipe/Pipe.java b/samples/Pipe/Pipe.java
deleted file mode 100644
index 40e25da..0000000
--- a/samples/Pipe/Pipe.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.dom.DOMResult;
-
-// Imported SAX classes
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.Parser;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.XMLReader;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-
-// Imported DOM classes
-import org.w3c.dom.Node;
-
-// Imported Serializer classes
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.templates.OutputProperties;
-
-// Imported JAVA API for XML Parsing 1.0 classes
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException; 
-
-// Imported java.io classes
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.IOException;
-
-import org.apache.xalan.transformer.TransformerImpl;
-
-  /**
-   * This example shows how to chain a series of transformations by
-   * piping SAX events from one Transformer to another. Each Transformer
-   * operates as a SAX2 XMLFilter/XMLReader.
-   */
-public class Pipe
-{
-	public static void main(String[] args)
-	throws TransformerException, TransformerConfigurationException, 
-         SAXException, IOException	   
-	{
-    // Instantiate  a TransformerFactory.
-  	TransformerFactory tFactory = TransformerFactory.newInstance();
-    // Determine whether the TransformerFactory supports The use uf SAXSource 
-    // and SAXResult
-    if (tFactory.getFeature(SAXSource.FEATURE) && tFactory.getFeature(SAXResult.FEATURE))
-    { 
-      // Cast the TransformerFactory to SAXTransformerFactory.
-      SAXTransformerFactory saxTFactory = ((SAXTransformerFactory) tFactory);	  
-      // Create a TransformerHandler for each stylesheet.
-      TransformerHandler tHandler1 = saxTFactory.newTransformerHandler(new StreamSource("foo1.xsl"));
-      TransformerHandler tHandler2 = saxTFactory.newTransformerHandler(new StreamSource("foo2.xsl"));
-      TransformerHandler tHandler3 = saxTFactory.newTransformerHandler(new StreamSource("foo3.xsl"));
-    
-      // Create an XMLReader.
-	    XMLReader reader = XMLReaderFactory.createXMLReader();
-      reader.setContentHandler(tHandler1);
-      reader.setProperty("http://xml.org/sax/properties/lexical-handler", tHandler1);
-
-      tHandler1.setResult(new SAXResult(tHandler2));
-      tHandler2.setResult(new SAXResult(tHandler3));
-
-      // transformer3 outputs SAX events to the serializer.
-      Serializer serializer = SerializerFactory.getSerializer
-                                   (OutputProperties.getDefaultMethodProperties("xml"));        
-      serializer.setOutputStream(System.out);
-      tHandler3.setResult(new SAXResult(serializer.asContentHandler()));
-
-	    // Parse the XML input document. The input ContentHandler and output ContentHandler
-      // work in separate threads to optimize performance.   
-      reader.parse("foo.xml");
-    }
-  }
-}
\ No newline at end of file
diff --git a/samples/Pipe/foo.xml b/samples/Pipe/foo.xml
deleted file mode 100644
index da9f79b..0000000
--- a/samples/Pipe/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/Pipe/foo1.xsl b/samples/Pipe/foo1.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/Pipe/foo1.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/Pipe/foo2.xsl b/samples/Pipe/foo2.xsl
deleted file mode 100644
index 67cd197..0000000
--- a/samples/Pipe/foo2.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="out">
-    <out><xsl:value-of select="."/> ...good to see you again!</out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/Pipe/foo3.xsl b/samples/Pipe/foo3.xsl
deleted file mode 100644
index 83cfaa6..0000000
--- a/samples/Pipe/foo3.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="out">
-    <out><xsl:value-of select="."/> ...and goodby!</out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/Pipe/readme.html b/samples/Pipe/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/Pipe/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/SAX2SAX/SAX2SAX.java b/samples/SAX2SAX/SAX2SAX.java
deleted file mode 100644
index 7d208ab..0000000
--- a/samples/SAX2SAX/SAX2SAX.java
+++ /dev/null
@@ -1,148 +0,0 @@
-
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-/**
- *  Replicate the SimpleTransform sample, explicitly using the SAX model to handle the
- *  stylesheet, the XML input, and the transformation.
- */
-
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Templates;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.Result;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TemplatesHandler;
-import javax.xml.transform.sax.TransformerHandler;              
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.templates.OutputProperties;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-
-public class SAX2SAX
-{
-  public static void main(String[] args)
-	throws TransformerException, TransformerConfigurationException, 
-         SAXException, IOException	   
-	{
-
-    // Instantiate a TransformerFactory.
-  	TransformerFactory tFactory = TransformerFactory.newInstance();
-    // Determine whether the TransformerFactory supports The use of SAXSource 
-    // and SAXResult
-    if (tFactory.getFeature(SAXSource.FEATURE) && tFactory.getFeature(SAXResult.FEATURE))
-    { 
-      // Cast the TransformerFactory.
-      SAXTransformerFactory saxTFactory = ((SAXTransformerFactory) tFactory);
-      // Create a ContentHandler to handle parsing of the stylesheet.
-      TemplatesHandler templatesHandler = saxTFactory.newTemplatesHandler();
-
-      // Create an XMLReader and set its ContentHandler.
-      XMLReader reader = XMLReaderFactory.createXMLReader();
-      reader.setContentHandler(templatesHandler);
-    
-      // Parse the stylesheet.                       
-      reader.parse("birds.xsl");
-
-      //Get the Templates object from the ContentHandler.
-      Templates templates = templatesHandler.getTemplates();
-      // Create a ContentHandler to handle parsing of the XML source.  
-      TransformerHandler handler 
-        = saxTFactory.newTransformerHandler(templates);
-      // Reset the XMLReader's ContentHandler.
-      reader.setContentHandler(handler);  
-
-      // Set the ContentHandler to also function as a LexicalHandler, which
-      // includes "lexical" events (e.g., comments and CDATA). 
-      reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler);
-      
-   	  FileOutputStream fos = new FileOutputStream("birds.out");
-      
-      Serializer serializer = SerializerFactory.getSerializer
-                              (OutputProperties.getDefaultMethodProperties("xml"));
-      serializer.setOutputStream(fos);
-   
-      
-      // Set the result handling to be a serialization to the file output stream.
-      Result result = new SAXResult(serializer.asContentHandler());
-      handler.setResult(result);
-      
-      // Parse the XML input document.
-      reader.parse("birds.xml");
-      
-    	System.out.println("************* The result is in birds.out *************");	
-    }	
-    else
-      System.out.println("The TransformerFactory does not support SAX input and SAX output");
-  }
-}
\ No newline at end of file
diff --git a/samples/SAX2SAX/birds.xml b/samples/SAX2SAX/birds.xml
deleted file mode 100644
index 7027642..0000000
--- a/samples/SAX2SAX/birds.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Class>
-<Order Name="TINAMIFORMES">
-        <Family Name="TINAMIDAE">
-            <Species Scientific_Name="Tinamus major">  Great Tinamou.</Species>
-            <Species Scientific_Name="Nothocercus">Highland Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus soui">Little Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus cinnamomeus">Thicket Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus boucardi">Slaty-breasted Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus kerriae">Choco Tinamou.</Species>
-        </Family>
-    </Order>
-<Order Name="GAVIIFORMES">
-        <Family Name="GAVIIDAE">
-            <Species Scientific_Name="Gavia stellata">Red-throated Loon.</Species>
-            <Species Scientific_Name="Gavia arctica">Arctic Loon.</Species>
-            <Species Scientific_Name="Gavia pacifica">Pacific Loon.</Species>
-            <Species Scientific_Name="Gavia immer">Common Loon.</Species>
-            <Species Scientific_Name="Gavia adamsii">Yellow-billed Loon.</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="PODICIPEDIFORMES">
-        <Family Name="PODICIPEDIDAE">
-            <Species Scientific_Name="Tachybaptus dominicus">Least Grebe.</Species>
-            <Species Scientific_Name="Podilymbus podiceps">Pied-billed Grebe.</Species>
-            <Species Scientific_Name="">Atitlan Grebe.</Species>
-            <Species Scientific_Name="">Horned Grebe.</Species>
-            <Species Scientific_Name="">Red-necked Grebe.</Species>
-            <Species Scientific_Name="">Eared Grebe.</Species>
-            <Species Scientific_Name="">Western Grebe.</Species>
-            <Species Scientific_Name="">Clark's Grebe.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="PROCELLARIIFORMES">
-        <Family Name="DIOMEDEIDAE">
-            <Species Scientific_Name="Thalassarche chlororhynchos">Yellow-nosed Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche cauta">Shy Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche melanophris">Black-browed Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebetria palpebrata">Light-mantled Albatross. (A)</Species>
-            <Species Scientific_Name="Diomedea exulans">Wandering Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebastria immutabilis">Laysan Albatross.</Species>
-            <Species Scientific_Name="Phoebastria nigripes">Black-footed Albatross.</Species>
-            <Species Scientific_Name="Phoebastria albatrus">Short-tailed Albatross. (N)</Species>
-        </Family>
-        <Family Name="PROCELLARIIDAE">
-            <Species Scientific_Name="Fulmarus glacialis">Northern Fulmar.</Species>
-            <Species Scientific_Name="Pterodroma neglecta">Kermadec Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma arminjoniana">Herald Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma ultima">Murphy's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma inexpectata">Mottled Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma cahow">Bermuda Petrel.</Species>
-            <Species Scientific_Name="Pterodroma hasitata">Black-capped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma externa">Juan Fernandez Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma phaeopygia">Dark-rumped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma cervicalis">White-necked Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma hypoleuca">Bonin Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma nigripennis">Black-winged Petrel. (H, A)</Species>
-            <Species Scientific_Name="Pterodroma cookii">Cook's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma longirostris">Stejneger's Petrel. (A)</Species>
-            <Species Scientific_Name="Bulweria bulwerii">Bulwer's Petrel. (H)</Species>
-            <Species Scientific_Name="Bulweria fallax">Jouanin's Petrel. (H, A)</Species>
-            <Species Scientific_Name="Procellaria parkinsoni">Parkinson's Petrel. (N)</Species>
-            <Species Scientific_Name="Calonectris leucomelas">Streaked Shearwater. (A)</Species>
-            <Species Scientific_Name="Calonectris diomedea">Cory's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus creatopus">Pink-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus carneipes">Flesh-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus gravis">Greater Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus pacificus">Wedge-tailed Shearwater.</Species>
-            <Species Scientific_Name="Puffinus bulleri">Buller's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus griseus">Sooty Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus tenuirostris">Short-tailed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus nativitatis">Christmas Shearwater. (H)</Species>
-            <Species Scientific_Name="Puffinus puffinus">Manx Shearwater.</Species>
-            <Species Scientific_Name="Puffinus auricularis">Townsend's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus opisthomelas">Black-vented Shearwater.</Species>
-            <Species Scientific_Name="Puffinus lherminieri">Audubon's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus assimilis">Little Shearwater. (A)</Species>
-        </Family>
-        <Family Name="HYDROBATIDAE">
-            <Species Scientific_Name="Oceanites oceanicus">Wilson's Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Pelagodroma marina">White-faced Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Hydrobates pelagicus">European Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma furcata">Fork-tailed Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma leucorhoa">Leach's Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma homochroa">Ashy Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma castro">Band-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma tethys">Wedge-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma melania">Black Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma macrodactyla">Guadalupe Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma markhami">Markham's Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma tristrami">Tristram's Storm-Petrel. (H)</Species>
-            <Species Scientific_Name="Oceanodroma microsoma">Least Storm-Petrel.</Species>
-        </Family>
-    </Order>
-
-<Order Name="PELECANIFORMES">
-        <Family Name="PHAETHONTIDAE">
-            <Species Scientific_Name="Phaethon lepturus">White-tailed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon aethereus">Red-billed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon rubricauda">Red-tailed Tropicbird.</Species>
-        </Family>
-        <Family Name="SULIDAE">
-            <Species Scientific_Name="Sula dactylatra">Masked Booby.</Species>
-            <Species Scientific_Name="Sula nebouxii">Blue-footed Booby.</Species>
-            <Species Scientific_Name="Sula variegata">Peruvian Booby. (A)</Species>
-            <Species Scientific_Name="Sula leucogaster">Brown Booby.</Species>
-            <Species Scientific_Name="Sula sula">Red-footed Booby.</Species>
-            <Species Scientific_Name="Morus bassanus">Northern Gannet.</Species>
-        </Family>
-        <Family Name="PELECANIDAE">
-            <Species Scientific_Name="Pelecanus erythrorhynchos">American White Pelican.</Species>
-            <Species Scientific_Name="Pelecanus occidentalis">Brown Pelican.</Species>
-        </Family>
-        <Family Name="PHALACROCORACIDAE">
-            <Species Scientific_Name="Phalacrocorax penicillatus">Brandt's Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax brasilianus">Neotropic Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax auritus">Double-crested Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax carbo">Great Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax urile">Red-faced Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax pelagicus">Pelagic Cormorant.</Species>
-        </Family>
-        <Family Name="ANHINGIDAE">
-            <Species Scientific_Name="Anhinga anhinga">Anhinga.</Species>
-        </Family>
-        <Family Name="FREGATIDAE">
-            <Species Scientific_Name="Fregata magnificens">Magnificent Frigatebird.</Species>
-            <Species Scientific_Name="Fregata minor">Great Frigatebird.</Species>
-            <Species Scientific_Name="Fregata ariel">Lesser Frigatebird. (A)</Species>
-        </Family>
-    </Order>
-</Class>
diff --git a/samples/SAX2SAX/birds.xsl b/samples/SAX2SAX/birds.xsl
deleted file mode 100644
index 4d6f8e1..0000000
--- a/samples/SAX2SAX/birds.xsl
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" indent="yes"/>
-
-<xsl:template match="Class">
-<BirdInfo>
-	<xsl:apply-templates select="Order"/>
-</BirdInfo>
-</xsl:template>
-
-<xsl:template match="Order">
-Order is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Family"/><xsl:text>
-</xsl:text>
-</xsl:template>
-
-<xsl:template match="Family">
-	Family is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Species | SubFamily | text()"/>
-</xsl:template>
-
-<xsl:template match="SubFamily">
-		SubFamily is <xsl:value-of select="@Name"/>
-    <xsl:apply-templates select="Species | text()"/>
-</xsl:template>
-
-<xsl:template match="Species">
-	<xsl:choose>
-	  <xsl:when test="name(..)='SubFamily'">
-		<xsl:text>	</xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-		<xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/SAX2SAX/foo.xml b/samples/SAX2SAX/foo.xml
deleted file mode 100644
index da9f79b..0000000
--- a/samples/SAX2SAX/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/SAX2SAX/foo.xsl b/samples/SAX2SAX/foo.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/SAX2SAX/foo.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/SQLExtension/ConnectionPools.htm b/samples/SQLExtension/ConnectionPools.htm
deleted file mode 100644
index af6e746..0000000
--- a/samples/SQLExtension/ConnectionPools.htm
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>SQL Extension; DB Connection Pools</title>
-</head>
-<body>
-<hr />
-<h2>Overview</h2> 
-<hr />
-<p>
-   Database connection pools have been added to the Xalan SQL Extension 
-   for two reasons. 
-<ol>
- <li>A performance enhancement where consecutive transformation can reused
- databse connections without reallocating resources from the JDBC Driver. 
- </li>
- <li>A method to share databse connections created outside the scope of the
- Xalan XSLT process with the stylesheets that use the SQL extensions
- <li>
-</ol>
-</p>
-
- <hr /> 
- <h2>Requirments</h2>
- <hr />
- <p>
- <DL>
-  <DT><i>Named Connection Pools</i></DT>
-   <DD>Connection Pools will be refered to by name to provide a linkage to
-   connection pools created outside the scope of the Xalan Processor. Named
-   Connection Pools will also provide a mechinsim to support non-native
-   connection used in JDBC 1.0 and JNDI references in JDBC 2.0
-   </DD>
-  <DT><i>Backwards Compatibility</i><DT>
-   <DD>If the existing connection mechinsim is used (constructors in
-   XConnection), crreate a connection pool on its behalf. The name of the 
-   connecton pool will be the concatenation of the Driver name, DB URL, 
-   User name and password.
-   </DD>
-  <DT><i>Connection Pool Wrapppers</i><DT>
-   <DD>Implement a connection pool interface that defines the required
-   beahvoiur for connection pools. This interface will be used to adapt
-   other connection mechinsims to the Xalan SQL Extensions
-   </DD>
-  <DT><i>Minimal Dependancies</i></DT>
-   <DD>The SQL Extension will implement a minimal default connection pool 
-   mechinism. This will reduce the dependancy of third party libraries to 
-   build and use the Xalan SQL Processor. Other wrappers can be written
-   to adapt third party connection pools to the processor. A sample of the
-   Apache Turbine project is planned as a sample for the project.
-   </DD>
-  </DL>
- </p>
-
- <hr />
- <h2>Examples of Use</h2>
- <hr />
- <UL>
- <li>Establishing a basic connection</li><br />
- <code> Some code text</code>
- <li>Establishing a connection by suppliying the connection information
-     in the XML </li><br />
- <code> Some code text</code>
- <li>Using a connecction that has been established outside the Xalan
-     Processor</li><br />
- <code> Some code text</code>
- </UL>
-  
- <hr />
- <h2>SQL Results</h2>
- <hr />
-
- <hr />
- <h2>Error Control</h2>
- <hr />
-
-
-</body>
-</html>
diff --git a/samples/SQLExtension/README b/samples/SQLExtension/README
deleted file mode 100644
index bb7d302..0000000
--- a/samples/SQLExtension/README
+++ /dev/null
@@ -1,22 +0,0 @@
-Samples
- Static login, Static Query
- Login with XML Data, Static Query
- Login with Ext Param, Static Query
- Login with Ext Pool, Static Query
- 
- Login with XML Data,PQuery - Type with data, Data in XML
- Login with XML Data, PQuery - Type with query, Data in XML
- 
- Login with XML Data, PQuery - Type with query, Data Ext Param
- 
- To Do,
-  Single XConnection constructor
-  Make a connect method that returns a NodeIterator
-  Create a Exception that will serianlze itself as a stree Node
-  
- Docs
-  How to Connect
-  How to execute a query
- 
- 
- 
diff --git a/samples/SQLExtension/basic-connection/dbinfo.xml b/samples/SQLExtension/basic-connection/dbinfo.xml
deleted file mode 100644
index e57d25f..0000000
--- a/samples/SQLExtension/basic-connection/dbinfo.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<dbtest>
- <description>This file contains information required to make a connection to the DBMS</description>
-
- <DBINFO>
-   <dbdriver>com.sybase.jdbc2.jdbc.SybDriver</dbdriver>
-   <dburl>jdbc:sybase:Tds:localhost:5000/smart911</dburl>
-   <user>sa</user>
-   <password/>
- </DBINFO>
- 
-
-</dbtest>
diff --git a/samples/SQLExtension/basic-connection/dbtest-cinfo.xsl b/samples/SQLExtension/basic-connection/dbtest-cinfo.xsl
deleted file mode 100644
index d3d5c26..0000000
--- a/samples/SQLExtension/basic-connection/dbtest-cinfo.xsl
+++ /dev/null
@@ -1,48 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="/org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-  <xsl:output method="html" indent="yes"/>
-  <xsl:param name="query" select="&quot;SELECT FirstName, LastName, Street1, City, Zip  FROM Account where AcctID='2019001010'&quot;"/>
- 
-  <xsl:template match="/">
-    <!-- 1. Make the connection -->
-    <xsl:param name="cinfo" select="//DBINFO" />
-    <xsl:variable name="accounts"
-                  select='sql:new($cinfo)'/>
-    <HTML>
-      <HEAD>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-        <!--2. Execute the query -->
-        <xsl:variable name="table" select='sql:query($accounts, $query)'/>
-          <TR>
-          <!-- Get column-label attribute from each column-header-->
-          <xsl:for-each select="$table/row-set/column-header">
-            <TH><xsl:value-of select="@column-label"/></TH>
-          </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/row-set/row"/>
-          <xsl:text>&#10;</xsl:text>
-        </TABLE>
-      </BODY>
-    </HTML> 
-    <!-- 3. Close the connection -->
-    <xsl:value-of select="sql:close($accounts)"/>
-  </xsl:template>
-
-  <xsl:template match="row">
-        <TR>
-          <xsl:apply-templates select="col"/>
-        </TR>
-  </xsl:template>
-
-  <xsl:template match="col">
-    <TD>
-      <!-- Here is the column data -->
-      <xsl:value-of select="text()"/>
-    </TD>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/SQLExtension/basic-connection/dbtest.xsl b/samples/SQLExtension/basic-connection/dbtest.xsl
deleted file mode 100644
index 1fc6db5..0000000
--- a/samples/SQLExtension/basic-connection/dbtest.xsl
+++ /dev/null
@@ -1,49 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-  <xsl:output method="html" indent="yes"/>
-  <xsl:param name="query" select="&quot;SELECT FirstName, LastName, Street1, City, Zip  FROM Account where AcctID='2019002010'&quot;"/>
- 
-  <xsl:template match="/">
-    <!-- 1. Make the connection -->
-    <xsl:variable name="accounts"
-                  select="sql:new('com.sybase.jdbc2.jdbc.SybDriver',
-                                'jdbc:sybase:Tds:localhost:5000/smart911', 'sa',
-                                '')"/>
-    <HTML>
-      <HEAD>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-        <!--2. Execute the query -->
-        <xsl:variable name="table" select='sql:query($accounts, $query)'/>
-          <TR>
-          <!-- Get column-label attribute from each column-header-->
-          <xsl:for-each select="$table/row-set/column-header">
-            <TH><xsl:value-of select="@column-label"/></TH>
-          </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/row-set/row"/>
-          <xsl:text>&#10;</xsl:text>
-        </TABLE>
-      </BODY>
-    </HTML> 
-    <!-- 3. Close the connection -->
-    <xsl:value-of select="sql:close($accounts)"/>
-  </xsl:template>
-
-  <xsl:template match="row">
-        <TR>
-          <xsl:apply-templates select="col"/>
-        </TR>
-  </xsl:template>
-
-  <xsl:template match="col">
-    <TD>
-      <!-- Here is the column data -->
-      <xsl:value-of select="text()"/>
-    </TD>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/SQLExtension/ext-connection/ExternalConnection.java b/samples/SQLExtension/ext-connection/ExternalConnection.java
deleted file mode 100644
index 41a108d..0000000
--- a/samples/SQLExtension/ext-connection/ExternalConnection.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "XSLT4J" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-import org.apache.xalan.lib.sql.DefaultConnectionPool;
-import org.apache.xalan.lib.sql.XConnectionPoolManager;
-
-
-// Imported java classes
-import java.io.FileOutputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-/**
- *  Use the TraX interface to perform a transformation in the simplest manner possible
- *  (3 statements).
- */
-public class ExternalConnection
-{
-	public static void main(String[] args)
-    throws TransformerException, TransformerConfigurationException,
-           FileNotFoundException, IOException
-  {
-
-  // Create a connection to the database server
-  // Up the connection pool count for testing
-  DefaultConnectionPool cp = new DefaultConnectionPool();
-  cp.setDriver("com.sybase.jdbc2.jdbc.SybDriver");
-  cp.setURL("jdbc:sybase:Tds:localhost:5000/smart911");
-  cp.setUser("sa");
-  cp.setPassword("");
-  cp.setMinConnections(10);
-  cp.setActive(true);
-
-  // Now let's register our connection pool so we can use
-  // in a stylesheet
-  XConnectionPoolManager pm = new XConnectionPoolManager();
-  pm.registerPool("sybase", cp);
-
-
-  // Use the static TransformerFactory.newInstance() method to instantiate
-  // a TransformerFactory. The javax.xml.transform.TransformerFactory
-  // system property setting determines the actual class to instantiate --
-  // org.apache.xalan.transformer.TransformerImpl.
-	TransformerFactory tFactory = TransformerFactory.newInstance();
-
-	// Use the TransformerFactory to instantiate a Transformer that will work with
-	// the stylesheet you specify. This method call also processes the stylesheet
-  // into a compiled Templates object.
-	Transformer transformer = tFactory.newTransformer(
-        new StreamSource("dbtest.xsl"));
-
-	// Use the Transformer to apply the associated Templates object to an XML document
-	// (foo.xml) and write the output to a file (foo.out).
-	transformer.transform(
-        new StreamSource("dbtest.xml"),
-        new StreamResult(new FileOutputStream("dbtest.out")));
-
-	System.out.println("************* The result is in dbtest.out *************");
-  }
-}
\ No newline at end of file
diff --git a/samples/SQLExtension/ext-connection/dbtest.out b/samples/SQLExtension/ext-connection/dbtest.out
deleted file mode 100644
index 5614dca..0000000
--- a/samples/SQLExtension/ext-connection/dbtest.out
+++ /dev/null
@@ -1,19 +0,0 @@
-<HTML>
-<HEAD>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-</HEAD>
-<BODY>
-<TABLE border="1">
-<TR>
-<TH>FirstName</TH><TH>LastName</TH><TH>Street1</TH><TH>City</TH><TH>Zip</TH>
-</TR>
-<TR>
-<TD></TD><TD></TD><TD></TD><TD></TD><TD></TD>
-</TR>
-<TR>
-<TD>Lawrence                      </TD><TD>Friesen                                      </TD><TD>4010 Santa Rosa Ave                     </TD><TD>Tulare                        </TD><TD>92313</TD>
-</TR>
-
-</TABLE>
-</BODY>
-</HTML>
diff --git a/samples/SQLExtension/ext-connection/dbtest.xml b/samples/SQLExtension/ext-connection/dbtest.xml
deleted file mode 100644
index e57d25f..0000000
--- a/samples/SQLExtension/ext-connection/dbtest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<dbtest>
- <description>This file contains information required to make a connection to the DBMS</description>
-
- <DBINFO>
-   <dbdriver>com.sybase.jdbc2.jdbc.SybDriver</dbdriver>
-   <dburl>jdbc:sybase:Tds:localhost:5000/smart911</dburl>
-   <user>sa</user>
-   <password/>
- </DBINFO>
- 
-
-</dbtest>
diff --git a/samples/SQLExtension/ext-connection/dbtest.xsl b/samples/SQLExtension/ext-connection/dbtest.xsl
deleted file mode 100644
index b8d7179..0000000
--- a/samples/SQLExtension/ext-connection/dbtest.xsl
+++ /dev/null
@@ -1,47 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-  <xsl:output method="html" indent="yes"/>
-  <xsl:param name="query" select="&quot;SELECT FirstName, LastName, Street1, City, Zip  FROM Account where AcctID='2019990000'&quot;"/>
- 
-  <xsl:template match="/">
-    <!-- 1. Make the connection -->
-    <xsl:variable name="accounts"
-                  select="sql:new('sybase')"/>
-    <HTML>
-      <HEAD>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-        <!--2. Execute the query -->
-        <xsl:variable name="table" select='sql:query($accounts, $query)'/>
-          <TR>
-          <!-- Get column-label attribute from each column-header-->
-          <xsl:for-each select="$table/row-set/column-header">
-            <TH><xsl:value-of select="@column-label"/></TH>
-          </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/row-set/row"/>
-          <xsl:text>&#10;</xsl:text>
-        </TABLE>
-      </BODY>
-    </HTML> 
-    <!-- 3. Close the connection -->
-    <xsl:value-of select="sql:close($accounts)"/>
-  </xsl:template>
-
-  <xsl:template match="row">
-        <TR>
-          <xsl:apply-templates select="col"/>
-        </TR>
-  </xsl:template>
-
-  <xsl:template match="col">
-    <TD>
-      <!-- Here is the column data -->
-      <xsl:value-of select="text()"/>
-    </TD>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/SQLExtension/pquery/dbinfo.xml b/samples/SQLExtension/pquery/dbinfo.xml
deleted file mode 100644
index 98d1c1a..0000000
--- a/samples/SQLExtension/pquery/dbinfo.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<XMLSTORE>
-
- <QUERY>
-   <ACCTID>2019990000</ACCTID>
- </QUERY>
-  
- <DBINFO>
-   <dbdriver>com.sybase.jdbc2.jdbc.SybDriver</dbdriver>
-   <dburl>jdbc:sybase:Tds:localhost:5000/smart911</dburl>
-   <user>sa</user>
-   <password/>
- </DBINFO>
-
-</XMLSTORE>
diff --git a/samples/SQLExtension/pquery/dbtest-pquery.xsl b/samples/SQLExtension/pquery/dbtest-pquery.xsl
deleted file mode 100644
index cac98dc..0000000
--- a/samples/SQLExtension/pquery/dbtest-pquery.xsl
+++ /dev/null
@@ -1,51 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="/org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-  <xsl:output method="html" indent="yes"/>
-  <xsl:param name="q1" select="&quot;SELECT FirstName, LastName, Street1, City, Zip  FROM Account where AcctID= ? &quot;"/>
-  <xsl:param name="q1type" select="string"/>
- 
-  <xsl:template match="/">
-    <!-- 1. Make the connection -->
-    <xsl:param name="cinfo" select="//DBINFO" />
-    <xsl:variable name="accounts"
-                  select='sql:new($cinfo)'/>
-    <HTML>
-      <HEAD>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-        <!--2. Execute the query -->
-	<xsl:param name="q1param" select="//QUERY" />
-        <xsl:variable name="foo" select='sql:addParameterFromElement($accounts, $q1param)' />
-	<xsl:variable name="table" select='sql:pquery($accounts, $q1, $q1type)'/>
-          <TR>
-          <!-- Get column-label attribute from each column-header-->
-          <xsl:for-each select="$table/row-set/column-header">
-            <TH><xsl:value-of select="@column-label"/></TH>
-          </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/row-set/row"/>
-          <xsl:text>&#10;</xsl:text>
-        </TABLE>
-      </BODY>
-    </HTML> 
-    <!-- 3. Close the connection -->
-    <xsl:value-of select="sql:close($accounts)"/>
-  </xsl:template>
-
-  <xsl:template match="row">
-        <TR>
-          <xsl:apply-templates select="col"/>
-        </TR>
-  </xsl:template>
-
-  <xsl:template match="col">
-    <TD>
-      <!-- Here is the column data -->
-      <xsl:value-of select="text()"/>
-    </TD>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/SQLExtension/show-error/dbinfo.xml b/samples/SQLExtension/show-error/dbinfo.xml
deleted file mode 100644
index 8dc2dda..0000000
--- a/samples/SQLExtension/show-error/dbinfo.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<XMLSTORE>
-
- <USERPROFILE>
-  <USERNAME>gentijo</USERNAME>
-  <PASSWD>drowssap</PASSWD>
- </USERPROFILE>
-
- <QUERY>
-   <ACCTID>2019990000</ACCTID>
- </QUERY>
-  
- <DBINFO>
-   <dbdriver>com.sybase.jdbc2.jdbc.SybDriver</dbdriver>
-   <dburl>jdbc:sybase:Tds:localhost:5000/smart911</dburl>
-   <user>sa</user>
-   <password/>
- </DBINFO>
-
-</XMLSTORE>
diff --git a/samples/SQLExtension/show-error/dbtest.xsl b/samples/SQLExtension/show-error/dbtest.xsl
deleted file mode 100644
index 4813a08..0000000
--- a/samples/SQLExtension/show-error/dbtest.xsl
+++ /dev/null
@@ -1,65 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="/org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-  <xsl:output method="html" indent="yes"/>
-  <xsl:param name="query" select="&quot;SELEC FirstName, LastName, Street1, City, Zip  FROM Account where AcctID='2019990000'&quot;"/>
- 
-  <xsl:template match="/">
-    <!-- 1. Make the connection -->
-    <xsl:variable name="accounts"
-                  select="sql:new('com.sybase.jdbc2.jdbc.SybDriver',
-                                'jdbc:sybase:Tds:localhost:5000/smart911', 'sa',
-                               '')"/>
-    <!--2. Execute the query -->
-    <xsl:variable name="table" select='sql:query($accounts, $query)'/>
-                               
-    
-   	<xsl:apply-templates select="$table/row-set" />
- 		<xsl:apply-templates select="$table/ext-error" />
-    
-    <!-- 3. Close the connection -->
-    <xsl:value-of select="sql:close($accounts)"/>
-
-  </xsl:template>
-
-  <xsl:template match="row-set">
-    
-    <HTML>
-      <HEAD>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-          <TR>
-          <!-- Get column-label attribute from each column-header-->
-          <xsl:for-each select="row-set/column-header">
-            <TH><xsl:value-of select="@column-label"/></TH>
-          </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="/row-set/row"/>
-          <xsl:text>&#10;</xsl:text>
-        </TABLE>
-      </BODY>
-    </HTML> 
-  </xsl:template>
-
-  <xsl:template match="row">
-        <TR>
-          <xsl:apply-templates select="col"/>
-        </TR>
-  </xsl:template>
-
-  <xsl:template match="col">
-    <TD>
-      <!-- Here is the column data -->
-      <xsl:value-of select="text()"/>
-    </TD>
-  </xsl:template>
-
-  <xsl:template match="//ext-error">
-    <xsl:text>Woops, an error occured: </xsl:text>
-  	<xsl:apply-templates />
-  </xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/samples/SimpleTransform/SimpleTransform.java b/samples/SimpleTransform/SimpleTransform.java
deleted file mode 100644
index 0b46a25..0000000
--- a/samples/SimpleTransform/SimpleTransform.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "XSLT4J" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-
-// Imported java classes
-import java.io.FileOutputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-/**
- *  Use the TraX interface to perform a transformation in the simplest manner possible
- *  (3 statements).
- */
-public class SimpleTransform
-{
-	public static void main(String[] args)
-    throws TransformerException, TransformerConfigurationException, 
-           FileNotFoundException, IOException
-  {  
-  // Use the static TransformerFactory.newInstance() method to instantiate 
-  // a TransformerFactory. The javax.xml.transform.TransformerFactory 
-  // system property setting determines the actual class to instantiate --
-  // org.apache.xalan.transformer.TransformerImpl.
-	TransformerFactory tFactory = TransformerFactory.newInstance();
-	
-	// Use the TransformerFactory to instantiate a Transformer that will work with  
-	// the stylesheet you specify. This method call also processes the stylesheet
-  // into a compiled Templates object.
-	Transformer transformer = tFactory.newTransformer(new StreamSource("birds.xsl"));
-
-	// Use the Transformer to apply the associated Templates object to an XML document
-	// (foo.xml) and write the output to a file (foo.out).
-	transformer.transform(new StreamSource("birds.xml"), new StreamResult(new FileOutputStream("birds.out")));
-	
-	System.out.println("************* The result is in birds.out *************");
-  }
-}
\ No newline at end of file
diff --git a/samples/SimpleTransform/birds.xml b/samples/SimpleTransform/birds.xml
deleted file mode 100644
index 7027642..0000000
--- a/samples/SimpleTransform/birds.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Class>
-<Order Name="TINAMIFORMES">
-        <Family Name="TINAMIDAE">
-            <Species Scientific_Name="Tinamus major">  Great Tinamou.</Species>
-            <Species Scientific_Name="Nothocercus">Highland Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus soui">Little Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus cinnamomeus">Thicket Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus boucardi">Slaty-breasted Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus kerriae">Choco Tinamou.</Species>
-        </Family>
-    </Order>
-<Order Name="GAVIIFORMES">
-        <Family Name="GAVIIDAE">
-            <Species Scientific_Name="Gavia stellata">Red-throated Loon.</Species>
-            <Species Scientific_Name="Gavia arctica">Arctic Loon.</Species>
-            <Species Scientific_Name="Gavia pacifica">Pacific Loon.</Species>
-            <Species Scientific_Name="Gavia immer">Common Loon.</Species>
-            <Species Scientific_Name="Gavia adamsii">Yellow-billed Loon.</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="PODICIPEDIFORMES">
-        <Family Name="PODICIPEDIDAE">
-            <Species Scientific_Name="Tachybaptus dominicus">Least Grebe.</Species>
-            <Species Scientific_Name="Podilymbus podiceps">Pied-billed Grebe.</Species>
-            <Species Scientific_Name="">Atitlan Grebe.</Species>
-            <Species Scientific_Name="">Horned Grebe.</Species>
-            <Species Scientific_Name="">Red-necked Grebe.</Species>
-            <Species Scientific_Name="">Eared Grebe.</Species>
-            <Species Scientific_Name="">Western Grebe.</Species>
-            <Species Scientific_Name="">Clark's Grebe.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="PROCELLARIIFORMES">
-        <Family Name="DIOMEDEIDAE">
-            <Species Scientific_Name="Thalassarche chlororhynchos">Yellow-nosed Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche cauta">Shy Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche melanophris">Black-browed Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebetria palpebrata">Light-mantled Albatross. (A)</Species>
-            <Species Scientific_Name="Diomedea exulans">Wandering Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebastria immutabilis">Laysan Albatross.</Species>
-            <Species Scientific_Name="Phoebastria nigripes">Black-footed Albatross.</Species>
-            <Species Scientific_Name="Phoebastria albatrus">Short-tailed Albatross. (N)</Species>
-        </Family>
-        <Family Name="PROCELLARIIDAE">
-            <Species Scientific_Name="Fulmarus glacialis">Northern Fulmar.</Species>
-            <Species Scientific_Name="Pterodroma neglecta">Kermadec Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma arminjoniana">Herald Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma ultima">Murphy's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma inexpectata">Mottled Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma cahow">Bermuda Petrel.</Species>
-            <Species Scientific_Name="Pterodroma hasitata">Black-capped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma externa">Juan Fernandez Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma phaeopygia">Dark-rumped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma cervicalis">White-necked Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma hypoleuca">Bonin Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma nigripennis">Black-winged Petrel. (H, A)</Species>
-            <Species Scientific_Name="Pterodroma cookii">Cook's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma longirostris">Stejneger's Petrel. (A)</Species>
-            <Species Scientific_Name="Bulweria bulwerii">Bulwer's Petrel. (H)</Species>
-            <Species Scientific_Name="Bulweria fallax">Jouanin's Petrel. (H, A)</Species>
-            <Species Scientific_Name="Procellaria parkinsoni">Parkinson's Petrel. (N)</Species>
-            <Species Scientific_Name="Calonectris leucomelas">Streaked Shearwater. (A)</Species>
-            <Species Scientific_Name="Calonectris diomedea">Cory's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus creatopus">Pink-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus carneipes">Flesh-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus gravis">Greater Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus pacificus">Wedge-tailed Shearwater.</Species>
-            <Species Scientific_Name="Puffinus bulleri">Buller's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus griseus">Sooty Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus tenuirostris">Short-tailed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus nativitatis">Christmas Shearwater. (H)</Species>
-            <Species Scientific_Name="Puffinus puffinus">Manx Shearwater.</Species>
-            <Species Scientific_Name="Puffinus auricularis">Townsend's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus opisthomelas">Black-vented Shearwater.</Species>
-            <Species Scientific_Name="Puffinus lherminieri">Audubon's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus assimilis">Little Shearwater. (A)</Species>
-        </Family>
-        <Family Name="HYDROBATIDAE">
-            <Species Scientific_Name="Oceanites oceanicus">Wilson's Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Pelagodroma marina">White-faced Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Hydrobates pelagicus">European Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma furcata">Fork-tailed Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma leucorhoa">Leach's Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma homochroa">Ashy Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma castro">Band-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma tethys">Wedge-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma melania">Black Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma macrodactyla">Guadalupe Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma markhami">Markham's Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma tristrami">Tristram's Storm-Petrel. (H)</Species>
-            <Species Scientific_Name="Oceanodroma microsoma">Least Storm-Petrel.</Species>
-        </Family>
-    </Order>
-
-<Order Name="PELECANIFORMES">
-        <Family Name="PHAETHONTIDAE">
-            <Species Scientific_Name="Phaethon lepturus">White-tailed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon aethereus">Red-billed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon rubricauda">Red-tailed Tropicbird.</Species>
-        </Family>
-        <Family Name="SULIDAE">
-            <Species Scientific_Name="Sula dactylatra">Masked Booby.</Species>
-            <Species Scientific_Name="Sula nebouxii">Blue-footed Booby.</Species>
-            <Species Scientific_Name="Sula variegata">Peruvian Booby. (A)</Species>
-            <Species Scientific_Name="Sula leucogaster">Brown Booby.</Species>
-            <Species Scientific_Name="Sula sula">Red-footed Booby.</Species>
-            <Species Scientific_Name="Morus bassanus">Northern Gannet.</Species>
-        </Family>
-        <Family Name="PELECANIDAE">
-            <Species Scientific_Name="Pelecanus erythrorhynchos">American White Pelican.</Species>
-            <Species Scientific_Name="Pelecanus occidentalis">Brown Pelican.</Species>
-        </Family>
-        <Family Name="PHALACROCORACIDAE">
-            <Species Scientific_Name="Phalacrocorax penicillatus">Brandt's Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax brasilianus">Neotropic Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax auritus">Double-crested Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax carbo">Great Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax urile">Red-faced Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax pelagicus">Pelagic Cormorant.</Species>
-        </Family>
-        <Family Name="ANHINGIDAE">
-            <Species Scientific_Name="Anhinga anhinga">Anhinga.</Species>
-        </Family>
-        <Family Name="FREGATIDAE">
-            <Species Scientific_Name="Fregata magnificens">Magnificent Frigatebird.</Species>
-            <Species Scientific_Name="Fregata minor">Great Frigatebird.</Species>
-            <Species Scientific_Name="Fregata ariel">Lesser Frigatebird. (A)</Species>
-        </Family>
-    </Order>
-</Class>
diff --git a/samples/SimpleTransform/birds.xsl b/samples/SimpleTransform/birds.xsl
deleted file mode 100644
index 4d6f8e1..0000000
--- a/samples/SimpleTransform/birds.xsl
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" indent="yes"/>
-
-<xsl:template match="Class">
-<BirdInfo>
-	<xsl:apply-templates select="Order"/>
-</BirdInfo>
-</xsl:template>
-
-<xsl:template match="Order">
-Order is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Family"/><xsl:text>
-</xsl:text>
-</xsl:template>
-
-<xsl:template match="Family">
-	Family is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Species | SubFamily | text()"/>
-</xsl:template>
-
-<xsl:template match="SubFamily">
-		SubFamily is <xsl:value-of select="@Name"/>
-    <xsl:apply-templates select="Species | text()"/>
-</xsl:template>
-
-<xsl:template match="Species">
-	<xsl:choose>
-	  <xsl:when test="name(..)='SubFamily'">
-		<xsl:text>	</xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-		<xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/SimpleTransform/foo.xml b/samples/SimpleTransform/foo.xml
deleted file mode 100644
index da9f79b..0000000
--- a/samples/SimpleTransform/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/SimpleTransform/foo.xsl b/samples/SimpleTransform/foo.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/SimpleTransform/foo.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/SimpleTransform/readme.html b/samples/SimpleTransform/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/SimpleTransform/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/Trace/Trace.java b/samples/Trace/Trace.java
deleted file mode 100644
index d059e4b..0000000
--- a/samples/Trace/Trace.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xalan.trace.TraceManager;
-import org.apache.xalan.trace.PrintTraceListener;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-public class Trace
-{	
-  public static void main (String[] args)
-	  throws java.io.IOException, 
-			 TransformerException, TransformerConfigurationException,
-			 java.util.TooManyListenersException, 
-			 org.xml.sax.SAXException			 
-  {
-    // Set up a PrintTraceListener object to print to a file.
-    java.io.FileWriter fw = new java.io.FileWriter("events.log");  
-    java.io.PrintWriter pw = new java.io.PrintWriter(fw, true);
-    PrintTraceListener ptl = new PrintTraceListener(pw);
-
-    // Print information as each node is 'executed' in the stylesheet.
-    ptl.m_traceElements = true;
-    // Print information after each result-tree generation event.
-    ptl.m_traceGeneration = true;
-    // Print information after each selection event.
-    ptl.m_traceSelection = true;
-    // Print information whenever a template is invoked.
-    ptl.m_traceTemplates = true;
-
-    // Set up the transformation    
-   	TransformerFactory tFactory = TransformerFactory.newInstance();
-    Transformer transformer = tFactory.newTransformer(new StreamSource("foo.xsl"));
-
-    // Cast the Transformer object to TransformerImpl.
-    if (transformer instanceof TransformerImpl) 
-	  {
-      TransformerImpl transformerImpl = (TransformerImpl)transformer;
-      // Register the TraceListener with a TraceManager associated 
-      // with the TransformerImpl.
-      TraceManager trMgr = transformerImpl.getTraceManager();
-      trMgr.addTraceListener(ptl);
-                     
-      // Perform the transformation --printing information to
-      // the events log during the process.
-      transformer.transform
-                         ( new StreamSource("foo.xml"), 
-                           new StreamResult(new java.io.FileWriter("foo.out")) );
-    }
-    // Close the PrintWriter and FileWriter.
-    pw.close();
-    fw.close();
-   	System.out.println("**The output is in foo.out; the log is in events.log ****");	
-    
-  }
-}
\ No newline at end of file
diff --git a/samples/Trace/foo.xml b/samples/Trace/foo.xml
deleted file mode 100644
index 5e72e15..0000000
--- a/samples/Trace/foo.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<upload>
-  <day>
-    <dow>tue</dow>
-    <order>
-      <line>
-         <product>Belt</product>
-         <price>5.54</price>
-      </line>
-    </order>
-  </day>
-  <day>
-    <dow>wed</dow>
-  </day>
-  <day>
-    <dow>thu</dow>
-    <order>
-      <line>
-         <product>Boots</product>
-         <price>9.23</price>
-      </line>
-    </order>
-  </day>
-  <day>
-    <dow>fri</dow>
-    <order>
-    </order>
-    <order>
-    </order>
-  </day>
-  <day>
-    <dow>sat</dow>
-    <order>
-      <line>
-         <product>Jacket</product>
-         <price>9.84</price>
-      </line>
-    </order>
-  </day>
-  <day>
-    <dow>mon</dow>
-    <order>
-    </order>
-    <order>
-      <line>
-         <product>Tie</product>
-         <price>5.37</price>
-      </line>
-    </order>
-  </day>
-  <day>
-    <dow>tue</dow>
-  </day>
-  <day>
-    <dow>wed</dow>
-    <order>
-    </order>
-  </day>
-  <day>
-    <dow>thu</dow>
-    <order>
-      <line>
-         <product>Overalls</product>
-         <price>3.16</price>
-      </line>
-    </order>
-  </day>
-</upload>
diff --git a/samples/Trace/foo.xsl b/samples/Trace/foo.xsl
deleted file mode 100644
index 2775ee7..0000000
--- a/samples/Trace/foo.xsl
+++ /dev/null
@@ -1,69 +0,0 @@
-<xsl:stylesheet
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-  xmlns="http://www.w3.org/TR/REC-html40">
-
-  <!-- FileName: misc-evans -->
-  <!-- Document: http://www.w3.org/TR/xslt -->
-  <!-- DocVersion: 19991116 -->
-  <!-- Purpose: COPY of perf test;"A Practical Suggestion for XSLT Performance Improvement" by Clark Evans. -->
-
-   <xsl:variable name="day-list" 
-     select="//dow[not(.=following::dow)]" />
-
-   <xsl:variable name="product-list" 
-            select="//product[not(.=following::product)]" />
-     
-<xsl:template match="/">
-  <xsl:variable name="my-test"><a><b/></a></xsl:variable>
-  <html>
-    <xsl:copy-of select="$my-test"/>
-    <body>
-    <table>
-      <tr>
-        <td><xsl:text> </xsl:text></td>
-        <xsl:for-each select="$day-list">
-          <xsl:sort order="ascending" select="." />
-          <th><xsl:value-of select="."/></th>
-        </xsl:for-each>
-      </tr>
-      <xsl:for-each select="$product-list">
-        <xsl:sort    order="ascending" select="." />
-        <xsl:variable name="product" select="." />
-        <tr>
-          <td>
-            <xsl:value-of select="$product" />
-          </td>
-          <xsl:for-each select="$day-list">
-            <xsl:sort order="ascending" select="." />
-            <xsl:variable name="day" select="." />
-            <td>
-              <xsl:value-of 
-             select="sum(//price[../product=$product][../../../dow=$day])"
-/> .
-            </td>
-          </xsl:for-each>
-          <td>
-            <xsl:value-of 
-              select="sum(//price[../product=$product])" /> .
-           </td>
-        </tr>
-      </xsl:for-each>
-      <tr>
-        <td><xsl:text> </xsl:text></td>
-        <xsl:for-each select="$day-list">
-          <xsl:sort    order="ascending" select="." />
-          <xsl:variable name="day" select="." />
-          <td>
-            <xsl:value-of 
-              select="sum(//price[../../../dow=$day])" />
-          </td>
-        </xsl:for-each>
-        <td>
-          <xsl:value-of select="sum(//price)" />
-        </td>
-      </tr>
-    </table>
-    </body>
-  </html>
-</xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseStylesheetPI/UseStylesheetPI.java b/samples/UseStylesheetPI/UseStylesheetPI.java
deleted file mode 100644
index aa0c714..0000000
--- a/samples/UseStylesheetPI/UseStylesheetPI.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-// Imported java.io classes
-import java.io.FileOutputStream;
-import java.io.IOException;	
-
-public class UseStylesheetPI
-{
-  public static void main(String[] args)
-	  throws TransformerException, TransformerConfigurationException
-	{
-	  String media= null , title = null, charset = null;
-	  try
-	  {	
-    	TransformerFactory tFactory = TransformerFactory.newInstance();
-      Source stylesheet = tFactory.getAssociatedStylesheet
-        (new StreamSource("fooX.xml"),media, title, charset);
-      
-      Transformer transformer = tFactory.newTransformer(stylesheet);
-        
-		   transformer.transform(new StreamSource("fooX.xml"), 
-                             new StreamResult(new java.io.FileOutputStream("foo.out")));
-       
-      System.out.println("************* The result is in foo.out *************");
-       
-	  }
-  	  catch (Exception e)
-	  {
-	    e.printStackTrace();
-	  }
-  }
-}
diff --git a/samples/UseStylesheetPI/foo.xsl b/samples/UseStylesheetPI/foo.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/UseStylesheetPI/foo.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseStylesheetPI/fooX.xml b/samples/UseStylesheetPI/fooX.xml
deleted file mode 100644
index cd4b743..0000000
--- a/samples/UseStylesheetPI/fooX.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="foo.xsl"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/UseStylesheetParam/UseStylesheetParam.java b/samples/UseStylesheetParam/UseStylesheetParam.java
deleted file mode 100644
index a8b3c91..0000000
--- a/samples/UseStylesheetParam/UseStylesheetParam.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "XSLT4J" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Imported TraX classes
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-// Imported SAX classes
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-// Imported java classes
-import java.io.IOException;
-
-  /**
-   * Use command-line input as a stylesheet parameter.
-   */
-
-public class UseStylesheetParam
-{
-  public static void main(String[] args)
-	throws TransformerException, TransformerConfigurationException, 
-         SAXException, IOException	   
-	{
-    if(args.length != 1)
-    {
-      System.err.println("Please pass one string to this program");
-      return;
-    }
-  	// Get the parameter value from the command line.
-    String paramValue = args[0];
-	
-   	TransformerFactory tFactory = TransformerFactory.newInstance();
-    Transformer transformer = tFactory.newTransformer(new StreamSource("foo.xsl"));
-
-	// Set the parameter. I can't get non-null namespaces to work!!
-    transformer.setParameter("param1",	/* parameter name */
-               							 paramValue /* parameter value */ );
-    
-    transformer.transform(new StreamSource("foo.xml"), new StreamResult(System.out));
-  }   
-}
\ No newline at end of file
diff --git a/samples/UseStylesheetParam/foo.xml b/samples/UseStylesheetParam/foo.xml
deleted file mode 100644
index 03c32b5..0000000
--- a/samples/UseStylesheetParam/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
diff --git a/samples/UseStylesheetParam/foo.xsl b/samples/UseStylesheetParam/foo.xsl
deleted file mode 100644
index 5ee19dc..0000000
--- a/samples/UseStylesheetParam/foo.xsl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:param name="param1" select="'default value'"/>
-  <xsl:template match="doc">
-    <out><xsl:value-of select="$param1"/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseStylesheetParam/readme.html b/samples/UseStylesheetParam/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/UseStylesheetParam/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/UseXMLFilters/UseXMLFilters.java b/samples/UseXMLFilters/UseXMLFilters.java
deleted file mode 100644
index 2fe78fd..0000000
--- a/samples/UseXMLFilters/UseXMLFilters.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Templates;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.Result;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TemplatesHandler;
-import javax.xml.transform.sax.TransformerHandler;              
-
-// Imported SAX classes
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.Parser;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.XMLReader;
-import org.xml.sax.XMLFilter;
-import org.xml.sax.ContentHandler;
-
-// Imported DOM classes
-import org.w3c.dom.Node;
-
-// Imported Serializer classes
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.templates.OutputProperties;
-
-// Imported JAVA API for XML Parsing classes
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException; 
-
-// Imported java.io classes
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.IOException;
-
-  /**
-   * This example shows how to chain a series of transformations by
-   * piping SAX events from one Transformer to another. Each Transformer
-   * operates as a SAX2 XMLFilter/XMLReader.
-   */
-public class UseXMLFilters
-{
-  public static void main(String[] args)
-	throws TransformerException, TransformerConfigurationException, 
-         SAXException, IOException	   
-	{
-    // Instantiate  a TransformerFactory.
-  	TransformerFactory tFactory = TransformerFactory.newInstance();
-    // Determine whether the TransformerFactory supports The use uf SAXSource 
-    // and SAXResult
-    if (tFactory.getFeature(SAXSource.FEATURE) && tFactory.getFeature(SAXResult.FEATURE))
-    { 
-      // Cast the TransformerFactory to SAXTransformerFactory.
-      SAXTransformerFactory saxTFactory = ((SAXTransformerFactory) tFactory);
-  	  // Create an XMLFilter for each stylesheet.
-      XMLFilter xmlFilter1 = saxTFactory.newXMLFilter(new StreamSource("foo1.xsl"));
-      XMLFilter xmlFilter2 = saxTFactory.newXMLFilter(new StreamSource("foo2.xsl"));
-      XMLFilter xmlFilter3 = saxTFactory.newXMLFilter(new StreamSource("foo3.xsl"));
-    
-      // Create an XMLReader.
-	    XMLReader reader = XMLReaderFactory.createXMLReader();
-    
-      // xmlFilter1 uses the XMLReader as its reader.
-      xmlFilter1.setParent(reader);
-    
-      // xmlFilter2 uses xmlFilter1 as its reader.
-      xmlFilter2.setParent(xmlFilter1);
-    
-      // xmlFilter3 uses xmlFilter2 as its reader.
-      xmlFilter3.setParent(xmlFilter2);
-    
-      // xmlFilter3 outputs SAX events to the serializer.
-      Serializer serializer = SerializerFactory.getSerializer
-                                   (OutputProperties.getDefaultMethodProperties("xml"));        
-      serializer.setOutputStream(System.out);
-      xmlFilter3.setContentHandler(serializer.asContentHandler());
-
-  	  // Perform the series of transformations as follows:
-	    //   - transformer3 gets its parent (transformer2) as the XMLReader/XMLFilter
-	    //     and calls transformer2.parse(new InputSource("foo.xml")).
-      //   - transformer2 gets its parent (transformer1) as the XMLReader/XMLFilter
-	    //     and calls transformer1.parse(new InputSource("foo.xml")). 
-      //   - transformer1 gets its parent (reader, a SAXParser) as the XMLReader 
-      //     and calls reader.parse(new InputSource("foo.xml")).
-	    //   - reader parses the XML document and sends the SAX parse events to transformer1, 
-	    //     which performs transformation 1 and sends the output to transformer2.
-  	  //   - transformer2 parses the transformation 1 output, performs transformation 2, and 
-	    //     sends the output to transformer3.
-	    //   - transformer3 parses the transformation 2 output, performs transformation 3,
-  	  //     and sends the output to the serializer.
-      xmlFilter3.parse(new InputSource("foo.xml"));
-    }
-  }
-}
\ No newline at end of file
diff --git a/samples/UseXMLFilters/foo.xml b/samples/UseXMLFilters/foo.xml
deleted file mode 100644
index da9f79b..0000000
--- a/samples/UseXMLFilters/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/UseXMLFilters/foo1.xsl b/samples/UseXMLFilters/foo1.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/UseXMLFilters/foo1.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseXMLFilters/foo2.xsl b/samples/UseXMLFilters/foo2.xsl
deleted file mode 100644
index 67cd197..0000000
--- a/samples/UseXMLFilters/foo2.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="out">
-    <out><xsl:value-of select="."/> ...good to see you again!</out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseXMLFilters/foo3.xsl b/samples/UseXMLFilters/foo3.xsl
deleted file mode 100644
index 83cfaa6..0000000
--- a/samples/UseXMLFilters/foo3.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="out">
-    <out><xsl:value-of select="."/> ...and goodby!</out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseXMLFilters/readme.html b/samples/UseXMLFilters/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/UseXMLFilters/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/1-redir.xml b/samples/extensions/1-redir.xml
deleted file mode 100644
index e99f05a..0000000
--- a/samples/extensions/1-redir.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0"?> 
-<doc>
-  <foo file="1-redir.out">
-    Testing Redirect extension:
-    <bar>A foo subelement text node</bar>
-  </foo>
-  <main>
-    Everything else
-  </main>  
-</doc>
diff --git a/samples/extensions/1-redir.xsl b/samples/extensions/1-redir.xsl
deleted file mode 100644
index b3e69c2..0000000
--- a/samples/extensions/1-redir.xsl
+++ /dev/null
@@ -1,43 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    version="1.0"
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:redirect="org.apache.xalan.lib.Redirect"
-    extension-element-prefixes="redirect">
-
-  <lxslt:component prefix="redirect" elements="write open close" functions="">
-    <lxslt:script lang="javaclass" src="org.apache.xalan.lib.Redirect"/>
-  </lxslt:component>  
-    
-  <xsl:template match="/">
-    <standard-out>
-      Standard output:
-      <xsl:apply-templates/>
-    </standard-out>
-  </xsl:template>
-
-  <!-- not redirected -->
-  <xsl:template match="doc/main">
-    <main>
-    -- look in <xsl:value-of select="/doc/foo/@file"/> for the redirected output --
-      <xsl:apply-templates/>
-    </main>
-  </xsl:template>
-  
-  <!-- redirected -->
-  <xsl:template match="doc/foo">
-    <!-- get redirect file name from XML input -->
-    <redirect:write select="@file">
-      <foo-out>
-        <xsl:apply-templates/>
-      </foo-out>
-    </redirect:write>
-  </xsl:template>
-  
-<!-- redirected (from the xsl:apply-templates above. I.e., bar is in /doc/foo -->  
-  <xsl:template match="bar">
-    <foobar-out>
-      <xsl:apply-templates/>
-    </foobar-out>
-  </xsl:template>
-  
-</xsl:stylesheet>
diff --git a/samples/extensions/2-basicJscript.xml b/samples/extensions/2-basicJscript.xml
deleted file mode 100644
index 9c66ca1..0000000
--- a/samples/extensions/2-basicJscript.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <deadline numdays="2"/>
-</doc>  
- 
\ No newline at end of file
diff --git a/samples/extensions/2-basicJscript.xsl b/samples/extensions/2-basicJscript.xsl
deleted file mode 100644
index a219cf7..0000000
--- a/samples/extensions/2-basicJscript.xsl
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<!--Namespaces are global if you set them in the stylesheet element-->
-<xsl:stylesheet 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    version="1.0"   
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:my-ext="ext2"
-    extension-element-prefixes="my-ext">
-    
-  <!--The component and its script are in the lxslt namespace and define the implementation-->
-  <lxslt:component prefix="my-ext" elements="timelapse" functions="getdate">
-    <lxslt:script lang="javascript">
-      var multiplier=1;
-      // Extension element implementations always take two arguments. The first
-      // argument is the XSL Processor context; the second argument is the element.
-      function timelapse(xslProcessorContext, elem)
-      {
-        multiplier=parseInt(elem.getAttribute("multiplier"));
-        // The element return value is placed in the result tree.
-        // If you do not want a return value, return null.
-        return null;
-      }
-      function getdate(numdays)
-      {
-        var d = new Date();
-        d.setDate(d.getDate() + parseInt(numdays*multiplier));
-        return d.toLocaleString();
-      }
-    </lxslt:script>
-  </lxslt:component>
-      
-  <xsl:template match="deadline">
-    <p><my-ext:timelapse multiplier="2"/>We have received your enquiry and will 
-      respond by <xsl:value-of select="my-ext:getdate(string(@numdays))"/></p>
-  </xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/3-java-namespace.xml b/samples/extensions/3-java-namespace.xml
deleted file mode 100644
index 6f2eb44..0000000
--- a/samples/extensions/3-java-namespace.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<doc>
-   <date
-    year="2001" month="5" day="27"
-    format="EEEE, MMM dd, yyyy"/>
-</doc>
\ No newline at end of file
diff --git a/samples/extensions/3-java-namespace.xsl b/samples/extensions/3-java-namespace.xsl
deleted file mode 100644
index 45b6e59..0000000
--- a/samples/extensions/3-java-namespace.xsl
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:java="http://xml.apache.org/xslt/java"
-                version="1.0">
-                
-  <xsl:template match="/">
-    <xsl:apply-templates select="/doc/date"/> 
-  </xsl:template>
- 
-  <xsl:template match="date">
-    <xsl:variable name="year" select="string(@year)"/>
-    <xsl:variable name="month" select="string(@month)"/> 
-    <xsl:variable name="day" select="string(@day)"/>          
-    <xsl:variable name="format" select="string(@format)"/>
-    <xsl:variable name="formatter"       
-         select="java:java.text.SimpleDateFormat.new($format)"/>
-    <xsl:variable name="date" 
-         select="java:IntDate.getDate($year,$month,$day)"/>
-    <p>Date: <xsl:value-of select="java:format($formatter, $date)"/></p>
-  </xsl:template>
- 
-</xsl:stylesheet>
diff --git a/samples/extensions/4-numlistJava.xsl b/samples/extensions/4-numlistJava.xsl
deleted file mode 100644
index bff9924..0000000
--- a/samples/extensions/4-numlistJava.xsl
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:counter="MyCounter"
-                extension-element-prefixes="counter"
-                version="1.0">
-
-
-  <lxslt:component prefix="counter"
-                   elements="init incr" functions="read">
-    <lxslt:script lang="javaclass" src="MyCounter"/>
-  </lxslt:component>
-
-  <xsl:template match="/">
-    <HTML>
-      <H1>Java Example</H1>
-      <counter:init name="index" value="1"/>
-      <p>Here are the names in alphabetical order by last name:</p>
-      <xsl:for-each select="doc/name">
-        <xsl:sort select="@last"/>
-        <xsl:sort select="@first"/>
-        <p>
-        <xsl:text>[</xsl:text>
-        <xsl:value-of select="counter:read('index')"/>
-        <xsl:text>]. </xsl:text>
-        <xsl:value-of select="@last"/>
-        <xsl:text>, </xsl:text>
-        <xsl:value-of select="@first"/>
-        </p>
-        <counter:incr name="index"/>
-      </xsl:for-each>
-    </HTML>
-  </xsl:template>
- 
-</xsl:stylesheet>
diff --git a/samples/extensions/5-numlistJscript.xsl b/samples/extensions/5-numlistJscript.xsl
deleted file mode 100644
index 0f351cb..0000000
--- a/samples/extensions/5-numlistJscript.xsl
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:counter="MyCounter"
-                extension-element-prefixes="counter"
-                version="1.0">
-
-  <lxslt:component prefix="counter"
-                   elements="init incr" functions="read">
-    <lxslt:script lang="javascript">
-      var counters = new Array();
-
-      function init (xslproc, elem) {
-        name = elem.getAttribute ("name");
-        value = parseInt(elem.getAttribute ("value"));
-        counters[name] = value;
-        return null;
-      }
-
-      function read (name) {
-        return "" + (counters[name]);
-      }
-
-      function incr (xslproc, elem)
-      {
-        name = elem.getAttribute ("name");
-        counters[name]++;
-        return null;
-      }
-    </lxslt:script>
-  </lxslt:component>
-
-  <xsl:template match="/">
-    <HTML>
-      <H1>JavaScript Example.</H1>
-      <counter:init name="index" value="1"/>
-      <p>Here are the names in alphabetical order by last name:</p>
-      <xsl:for-each select="doc/name">
-        <xsl:sort select="@last"/>
-        <xsl:sort select="@first"/>
-        <p>
-        <xsl:text>[</xsl:text>
-        <xsl:value-of select="counter:read('index')"/>
-        <xsl:text>]. </xsl:text>
-        <xsl:value-of select="@last"/>
-        <xsl:text>, </xsl:text>
-        <xsl:value-of select="@first"/>
-        </p>
-        <counter:incr name="index"/>
-      </xsl:for-each>
-    </HTML>
-  </xsl:template>
- 
-</xsl:stylesheet>
diff --git a/samples/extensions/6-sqllib-instantdb.xsl b/samples/extensions/6-sqllib-instantdb.xsl
deleted file mode 100644
index 7e5359d..0000000
--- a/samples/extensions/6-sqllib-instantdb.xsl
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-  <xsl:output method="html" indent="yes"/>
-  <xsl:param name="query" select="'SELECT * FROM import1'"/>
- 
-  <xsl:template match="/">
-    <!-- 1. Make the connection -->
-    <xsl:variable name="products"
-                  select="sql:new('org.enhydra.instantdb.jdbc.idbDriver',
-                                'jdbc:idb:./instantdb/sample.prp')"/>
-    <HTML>
-      <HEAD>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-        <!--2. Execute the query -->
-        <xsl:variable name="table" select='sql:query($products, $query)'/>
-          <TR>
-          <!-- Get column-label attribute from each column-header-->
-          <xsl:for-each select="$table/row-set/column-header">
-            <TH><xsl:value-of select="@column-label"/></TH>
-          </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/row-set/row"/>
-          <xsl:text>&#10;</xsl:text>
-        </TABLE>
-      </BODY>
-    </HTML> 
-    <!-- 3. Close the connection -->
-    <xsl:value-of select="sql:close($products)"/>
-  </xsl:template>
-
-  <xsl:template match="row">
-        <TR>
-          <xsl:apply-templates select="col"/>
-        </TR>
-  </xsl:template>
-
-  <xsl:template match="col">
-    <TD>
-      <!-- Here is the column data -->
-      <xsl:value-of select="text()"/>
-    </TD>
-  </xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/IntDate.java b/samples/extensions/IntDate.java
deleted file mode 100644
index cc9c6c3..0000000
--- a/samples/extensions/IntDate.java
+++ /dev/null
@@ -1,17 +0,0 @@
-
-import java.util.Date;
-import java.util.Calendar;
-
-public class IntDate
-{
-  public static Date getDate(String year, String month, String day)
-    {
-      // Date(int, int, int) has been deprecated, so use Calendar to
-      // set the year, month, and day.
-      Calendar c = Calendar.getInstance();
-      // Convert each argument to int.
-      c.set(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day));
-      return c.getTime();
-    }
-}
-
diff --git a/samples/extensions/MyCounter.java b/samples/extensions/MyCounter.java
deleted file mode 100644
index 2b5f54a..0000000
--- a/samples/extensions/MyCounter.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import java.util.Hashtable;
-
-public class MyCounter {
-  static Hashtable counters = new Hashtable ();
-
-
-  public void init(org.apache.xalan.extensions.XSLProcessorContext context, 
-                   org.w3c.dom.Element elem) 
-  {
-    String name = elem.getAttribute("name");
-    String value = elem.getAttribute("value");
-    int val;
-    try 
-    {
-      val = Integer.parseInt (value);
-    } 
-    catch (NumberFormatException e) 
-    {
-      e.printStackTrace ();
-      val = 0;
-    }
-    counters.put (name, new Integer (val));
-  }
-
-  public int read(String name) 
-  { 
-    Integer cval = (Integer)counters.get(name);
-    return (cval == null) ? 0 : cval.intValue();
-  }
-
-  public void incr(org.apache.xalan.extensions.XSLProcessorContext context,  
-                   org.w3c.dom.Element elem) {
-    String name = elem.getAttribute("name");
-    Integer cval = (Integer) counters.get(name);
-    int nval = (cval == null) ? 0 : (cval.intValue () + 1);
-    counters.put (name, new Integer (nval));
-  }
-}
\ No newline at end of file
diff --git a/samples/extensions/instantdb/idb.jar b/samples/extensions/instantdb/idb.jar
deleted file mode 100644
index b501833..0000000
--- a/samples/extensions/instantdb/idb.jar
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/sample.prp b/samples/extensions/instantdb/sample.prp
deleted file mode 100644
index 9d5b246..0000000
--- a/samples/extensions/instantdb/sample.prp
+++ /dev/null
@@ -1,316 +0,0 @@
-!---------------------------------------------------------------------
-!
-! BASIC PROPERTIES
-!
-!---------------------------------------------------------------------
-
-!
-! Path where index tables are held. Can be absolute or relative 
-! to the properties file. Defaults to tablePath.
-!
-!indexPath=./indexes
-!
-! Path where system tables are held. Can be absolute or relative to 
-! the properties file. Defaults to tablePath.
-!
-!systemPath=./system
-!
-! Path where database tables are held. Can be absolute or relative 
-! to the properties file. Defaults to "current" directory.
-!
-tablePath=./tables
-!
-! Path where results set tables are held. Can be absolute or relative 
-! to the properties file. Defaults to tablePath.
-!
-!tmpPath=./tmp
-!
-! Non-zero means paths are relative to the properties file. 
-! Default is absolute paths for files.
-!
-relativeToProperties=1
-!
-! Alternative partitions can be defined so that tables can be placed
-! in multiple locations. Each partition is numbered: 1, 2, 3,... Tables
-! can be created on partitions using the syntax 
-!
-!   CREATE TABLE <name> ON PARTITION <number>...
-!
-! The partition count has to be supplied.
-!
-!partitionCount=2
-!
-! The locations of each partition must be supplied. These are always
-! absolute path names.
-!
-!partition1=d:/petes
-!partition2=c:/temp
-
-
-!---------------------------------------------------------------------
-!
-! TUNING PROPERTIES
-!
-!---------------------------------------------------------------------
-
-!
-! The amount of each column to cache, expressed either as an absolute 
-! number of rows or as a percentage figure. Defaults to 256 or 10 respectively.
-!
-! This value applies only when tables are first created. It has no effect
-! when a table is being re-opened.
-!
-cacheAmount=512
-!
-! CACHE_ROWS Must be one of CACHE_ROWS or CACHE_PERCENT. Determines whether 
-! to cache columns in tables based on an absolute number of rows, or the 
-! percentage number of rows in the table. 
-!
-! This value applies only when tables are first created. It has no effect
-! when a table is being re-opened.
-!
-cacheCondition=CACHE_ROWS
-!
-! The amount of the system tables to be cached. Defaults to 100.
-!
-! This value applies only when tables are first created. It has no effect
-! when a table is being re-opened.
-!
-!systemCacheSize=10
-!
-! Similar to cacheCondition, but applies only to the system tables.
-!
-! This value applies only when tables are first created. It has no effect
-! when a table is being re-opened.
-!
-!systemCacheCondition=CACHE_ROWS
-!
-! The percentage cache hit improvement required in order to move the 
-! cache to a new location in a column. 
-!
-! (Currently not implemented).
-!
-cacheResetPercent=10
-!
-! Non-zero means that database changes do not get written to the 
-! database immediately. See tuning.html. 
-!
-fastUpdate=0
-!
-! Percentage of free space in an index that must be present before 
-! the index reorganises itself. High values means frequent index
-! reorganisation. Low values means slow index inserts.
-!
-indexLoad=5
-!
-! The number of cache misses to include in calculations of the next 
-! base for the cache. 
-!
-! (Currently not implemented).
-!
-missesInCacheStats=100
-!
-! Non-zero means that results sets get instantiated on disk. By default
-! InstantDB holds results sets emtirely in memory (apart from Binary
-! columns). For large results sets this can be a problem. This property
-! forces all results sets to be held on disk.
-!
-resultsOnDisk=0
-!
-! Similar to cacheCondition but applies only to disk based
-! results sets. Default is CACHE_ROWS.
-!
-resultsSetCache=CACHE_ROWS
-!
-! Similar to cacheAmount but applies only to disk based
-! results sets. Default is 100.
-!
-resultsSetCacheAmount=100
-!
-! Number of rows to read into the disk read ahead buffer. 
-! Recommended to be set somewhere around 128 to 256. 
-! Default is 20.
-!
-rowCacheSize=128
-!
-! The read ahead buffer is effective at speeding up full
-! table scans. However for indexed lookups or multiple
-! simultaneous scans it is better to read a single row at
-! a time. Each table holds a small number of single row
-! buffers to improve such operations. Default is 8.
-!
-!singleRowCount=4
-!
-! Sometimes the look ahead buffer can be held by a single
-! thread even though it is not retrieveing many values from it.
-! If too many lookups retrieve data from the single row
-! buffers then it is better to flush the look ahead buffer and
-! make it available for re-use. Default is 128.
-!
-!flushAfterCacheMisses=64
-!
-! Number of rows to read ahead for system tables. By default
-! system tables cache everything, so it is wasteful to have large
-! read ahead buffers since they will very rarely be used. This
-! allows the size of the system read ahead buffers to be reduced
-! if necessary. Defaults to rowCacheSize.
-!
-!systemRows=20
-!
-! The control column in all tables normally has a large cache
-! since this speeds up all operation on that table. This can be
-! varied to either improve performance or to reduce space.
-! default is 8192.
-!
-! This value applies only when tables are first created. It has no effect
-! when a table is being re-opened.
-!
-!controlColCacheSize=512
-!
-! By default, InstantDB only does a cursory search for deleted rows during 
-! UPDATE statements. Setting searchDeletes=1 causes more detailed searches 
-! for deleted rows. This slows down UPDATE executions, but reults in more 
-! compact tables.  Default is 0.
-!
-searchDeletes=0
-!
-! The interval, in milliseconds, between checks for statement execution
-! timeouts. Default is 5000.
-!
-!timerCheck=5000
-
-!---------------------------------------------------------------------
-!
-! LOGGING AND DEBUGGING PROPERTIES
-!
-!---------------------------------------------------------------------
-
-!
-! Non-zero means include SQL statements in the export file. 
-!
-exportSQL=0
-!
-! Non-zero means trace output also directed to console. 
-! Defaults to 0.
-!
-traceConsole=1
-!
-! Relative or absolute path where exporting and tracing goes.
-!
-traceFile=./trace.log
-!
-! Bitmap of various items that can be traced. See debug.html. 
-! Defaults to 0.
-!
-traceLevel=2
-
-!---------------------------------------------------------------------
-!
-! TRANSACTION AND RECOVERY PROPERTIES
-!
-!---------------------------------------------------------------------
-
-!
-! 0 means do not perform recovery on startup.
-! 1 means perform automatic recovery
-! 2 (default) means prompt the user using standard in 
-!
-recoveryPolicy=2
-!
-! Sets the level of transaction journalling. See trans.html.
-! Defaults to 1.
-!
-! 0 - No journalling takes place.
-! 1 - Normal journalling (default).
-! 2 - Full journalling.
-!
-transLevel=1
-!
-! When doing an import, defines the number of rows imported 
-! before the transaction is committed. Recommended value 8192.
-! defaults to 100.
-!
-transImports=100
-
-!---------------------------------------------------------------------
-!
-! DATE, TIME AND CURRENCY PROPERTIES
-!
-!---------------------------------------------------------------------
-
-!
-! Number of digits after decimal point in currency outputs. Defaults to 2.
-!
-currencyDecimal=2
-!
-! Currency symbol used in currency outputs. Defaults to $.
-!
-currencySymbol=$
-!
-! Default format for date columns. Defaults to "yyyy-mm-dd".
-!
-dateFormat=yyyy-mm-dd
-!
-! Default format for timestamp columns. Defaults to "yyyy-mm-dd hh:mm:ss.lll".
-!
-dateTimeFormat=yyyy-mm-dd hh:mm:ss.lll
-!
-! If set, then all two digit dates less than its value are interpreted 
-! as 21st century dates. 
-!
-!milleniumBoundary=50
-!
-! Set to 1 causes the date string "now" to store a full timestamp. 
-! Default is to store only the date for fields with now hour in the 
-! format string.
-!
-nowMeansTime=0
-
-!---------------------------------------------------------------------
-!
-! STRING HANDLING PROPERTIES
-!
-!---------------------------------------------------------------------
-
-!
-! If set to 1 then String hashes use the JDK Object.hashCode() function.
-! By default, uses InstantDB's String hashing.
-!
-altStringHashing=0
-!
-! Set to 1 to cause LIKE clauses to always perform case insensitive 
-! comparisons. 
-!
-likeIgnoreCase=0
-!
-! Same as SET LITERAL STRICT_ON. Prevents string literals being interpreted
-! as column names or numbers. Default is 0.
-!
-strictLiterals=0
-!
-! Set this value to 1 (one) if you would like PreparedStatement.setString()
-! to ignore "\" (backslash) characters when proceesing string constants.
-! When set, InstantDB will not attempt to interpret \ as the start of an
-! escape sequence. Default is 0.
-!
-!prepareIgnoresEscapes=1
-
-!---------------------------------------------------------------------
-!
-! MISCELLANEOUS PROPERTIES
-!
-!---------------------------------------------------------------------
-
-!
-! Allows selected InstantDB keywords to be un-reserved. 
-! e.g. ignoreKeywords=url,quote would allow the keywords 
-! url and quote to be used as table or column names. 
-!
-! This faciliy is provided for compatatbility reasons only.
-! It's use is not recommended AND IS NOT SUPPORTED.
-!
-!ignoreKeywords
-!
-! Non-zero means database is opened in read only mode.
-!
-readOnly=0
diff --git a/samples/extensions/instantdb/tables/$db$types.tbl b/samples/extensions/instantdb/tables/$db$types.tbl
deleted file mode 100644
index 8e78192..0000000
--- a/samples/extensions/instantdb/tables/$db$types.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/import1.tbl b/samples/extensions/instantdb/tables/import1.tbl
deleted file mode 100644
index cb20871..0000000
--- a/samples/extensions/instantdb/tables/import1.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Cols$pKey.tbl b/samples/extensions/instantdb/tables/sample$db$Cols$pKey.tbl
deleted file mode 100644
index c23982a..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Cols$pKey.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Cols.tbl b/samples/extensions/instantdb/tables/sample$db$Cols.tbl
deleted file mode 100644
index 3092d01..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Cols.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Indexes.tbl b/samples/extensions/instantdb/tables/sample$db$Indexes.tbl
deleted file mode 100644
index 3aa1517..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Indexes.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Tables$pKey.tbl b/samples/extensions/instantdb/tables/sample$db$Tables$pKey.tbl
deleted file mode 100644
index 28f0c09..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Tables$pKey.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Tables.tbl b/samples/extensions/instantdb/tables/sample$db$Tables.tbl
deleted file mode 100644
index 744194d..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Tables.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample.jrl b/samples/extensions/instantdb/tables/sample.jrl
deleted file mode 100644
index 78bef4f..0000000
--- a/samples/extensions/instantdb/tables/sample.jrl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/numlist.xml b/samples/extensions/numlist.xml
deleted file mode 100644
index 76d41c2..0000000
--- a/samples/extensions/numlist.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <name first="Sanjiva" last="Weerawarana"/>
-  <name first="Joseph" last="Kesselman"/>
-  <name first="Stephen" last="Auriemma"/>
-  <name first="Igor" last="Belakovskiy"/>    
-  <name first="David" last="Marston"/>
-  <name first="David" last="Bertoni"/>
-  <name first="Donald" last="Leslie"/>
-  <name first="Emily" last="Farmer"/>
-  <name first="Myriam" last="Midy"/>
-  <name first="Paul" last="Dick"/>
-  <name first="Scott" last="Boag"/>
-  <name first="Shane" last="Curcuru"/>
-  <name first="Marcia" last="Hoffman"/>
-  <name first="Noah" last="Mendelsohn"/>
-  <name first="Alex" last="Morrow"/>    
-</doc>
\ No newline at end of file
diff --git a/samples/extensions/readme.html b/samples/extensions/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/extensions/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/servlet/ApplyXSLT.java b/samples/servlet/ApplyXSLT.java
deleted file mode 100644
index 472e326..0000000
--- a/samples/servlet/ApplyXSLT.java
+++ /dev/null
@@ -1,889 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import java.io.*;
-import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.net.URLConnection;
-import javax.xml.transform.OutputKeys;
-
-import org.apache.xalan.templates.Constants;
-import org.apache.xalan.templates.StylesheetRoot;
-// SAX2 Imports
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.Locator;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.ext.DeclHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-
-import org.w3c.dom.*;
-import javax.xml.transform.*;
-import javax.xml.transform.stream.*;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xalan.stree.SourceTreeHandler;
-import org.apache.xpath.objects.XObject;
-import org.apache.xpath.objects.XString;
-import org.apache.xalan.processor.*;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.helpers.XMLFilterImpl;
-
-/*****************************************************************************************************
- *
- * ApplyXSLT supplies the basic
- * functions for transforming XML data using XSL stylesheets.
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- * @author Don Leslie (donald_leslie@lotus.com)
- *
- *****************************************************************************************************/
-
-public class ApplyXSLT extends HttpServlet
-{
-
-  /**
-   * Operational parameters for this class.
-   * <p>Request-time values override init-time values which override class defaults.</p>
-   * @see #init
-   * @serial
-   */
-  protected ApplyXSLTProperties ourDefaultParameters = null;
-
-  /**
-   * String representing the end of line characters for the System.
-   */
-  public final static String EOL = System.getProperty("line.separator");
-
-  /**
-   * String representing the file separator characters for the System.
-   */
-  public final static String FS = System.getProperty("file.separator");
-
-   /**
-   * String representing the current directory for properties files. See init().
-   */
-  public final static String ROOT = System.getProperty("server.root");
-  public static String CURRENTDIR;
-
-  /**
-   * Initialize operational parameters from the configuration.
-   * @param config Configuration
-   * @exception ServletException Never thrown
-   */
-  public void init(ServletConfig config)
-    throws ServletException
-  {
-    super.init(config);
-    // If the server.root property --see above-- is null, use current working directory
-    // as default location for media.properties.
-    if (ROOT != null)
-      CURRENTDIR= ROOT + FS + "servlets" + FS;
-    else
-      CURRENTDIR = System.getProperty("user.dir")+ FS;
-    
-	setDefaultParameters(config);
-	
-    setMediaProps(config.getInitParameter("mediaURL"));	
-  }
-  
- /**
-   * Sets the default parameters for the servlet from the configuration.
-   * Also sets required system properties until we figure out why servlet 
-   * sometimess fails to read properties from properties files.
-   * @param config Configuration
-   */
-  protected void setDefaultParameters(ServletConfig config)
-  {
-    ourDefaultParameters = new DefaultApplyXSLTProperties(config);
-  }
-  
-  /**
-   *	Loads the media properties file specified by the given string.
-   * @param mediaURLstring Location of the media properties file.  Can be either a full URL or a path relative
-   * to the System's server.root /servlets directory.  If this parameter is null,
-   * server.root/servlets/media.properties will be used.
-   * @see ApplyXSL#CURRENTDIR
-   */
-  protected void setMediaProps(String mediaURLstring)
-  {
-    if (mediaURLstring != null)
-    {
-      URL url = null;
-      try
-      {
-        url = new URL(mediaURLstring);
-      }
-      catch (MalformedURLException mue1)
-      {
-        try
-        {
-          url = new URL("file", "", CURRENTDIR + mediaURLstring);
-        }
-        catch (MalformedURLException mue2)
-        {
-          writeLog("Unable to find the media properties file based on parameter 'mediaURL' = "
-                   + mediaURLstring, HttpServletResponse.SC_ACCEPTED, mue2);
-          url = null;
-        }
-      }
-      if (url != null)
-      {
-        try
-        {
-          ourMediaProps = new OrderedProps(url.openStream());
-        }
-        catch (IOException ioe1)
-        {
-          writeLog("Exception occurred while opening media properties file: " + mediaURLstring +
-                   ".  Media table may be invalid.", HttpServletResponse.SC_ACCEPTED, ioe1);
-        }
-      }
-    }
-    else
-    {
-      String defaultProp = CURRENTDIR + "media.properties";
-      try
-      {
-        ourMediaProps = new OrderedProps(new FileInputStream(defaultProp));
-      }
-      catch (IOException ioe2)
-      {
-        writeLog("Default media properties file " + defaultProp + " not found.",
-                 HttpServletResponse.SC_ACCEPTED, ioe2);
-      }
-    }
-  }
-
-  public String getMedia(HttpServletRequest request)
-  {
-    return ourMediaProps.getValue(request.getHeader(HEADER_NAME));
-  }
-  
-  // doPost removed for security reasons due to the possibility of sending
-  // unsecure XML and XSL XSLTInputSources through the request input stream
-
-  /**
-   * HTTP Get method passed on to process().
-   * @param request The request
-   * @param response The response
-   * @see #process
-   * @exception ServletException Never thrown
-   * @exception IOException Never thrown
-   */
-  public void doGet (HttpServletRequest request,
-                     HttpServletResponse response)
-    throws ServletException, IOException
-  {
-    try
-    {	
-      TransformerFactory tFactory = TransformerFactory.newInstance();
-      process(tFactory, request, response);
-    }
-    catch (Exception e)
-    {
-    }
-  }
-  
-  /**
-   * Coordinates applying an XSL stylesheet to XML data using operational parameters.
-   * <p>If successfully applied, the result tree will be streamed to the response object
-   * and the content type set according to the XSL stylesheet's &lt;xsl:output> element(s).</p>
-   * <p>If there is a problem in parsing the XML/XSL or if there is a problem in applying
-   * the XSL to the XML, an exception will be streamed to the response object.  The detail
-   * of the information returned in the response object will depend on whether we're
-   * running in debug mode or not.</p>
-   * @param processor implementation of TRaX processor
-   * @param request  May contain information relevant to creating XML and XSL XSLTInputSource's
-   * @param response Where to write the transformation result
-   * @see #getDocument
-   * @see #getStylesheet
-   * @see #getContentType
-   * @see #displayException
-   * @see #setStylesheetParams
-   * @exception ServletException Never thrown
-   * @exception IOException Never thrown
-   */
-  
-  public void process(TransformerFactory tFactory, 
-					  HttpServletRequest request,
-                      HttpServletResponse response)
-    throws ServletException, IOException, SAXException
-  {
-    boolean debug = ourDefaultParameters.isDebug(request);
-
-    long time = 0;
-    if (debug)
-      time = System.currentTimeMillis();
-
-    // Listener to be used for all reporting
-    ApplyXSLTListener listener = new ApplyXSLTListener();
-	listener.out.println("debug is " + debug);
-
-    StreamSource xmlSource = null;
-	StreamSource xslSource = null;
-    try
-    {
-      if ((xmlSource = getDocument(request, listener)) == null)
-        throw new ApplyXSLTException("getDocument() returned null",
-                                     new NullPointerException(),
-                                     response.SC_NOT_FOUND);
-    }
-    catch (ApplyXSLTException axe)
-    {
-      axe.appendMessage(EOL + "getDocument() resulted in ApplyXSLTException" + EOL
-                        + listener.getMessage());
-      if (debug) writeLog(axe);
-      displayException(response, axe, debug);
-      xmlSource = null;
-    }
-    // creating XSL Stylesheet
-    if (xmlSource != null)
-	{
-      try
-      {
-	    if ((xslSource = getStylesheet(tFactory, request, xmlSource, listener)) == null)
-		{
-          throw new ApplyXSLTException("getStylesheet() returned null",
-                                       new NullPointerException(),
-                                       response.SC_NOT_FOUND);
-        }
-        // For time being, must "reset" xmlSource after extracting stylesheet PI
-		xmlSource = getDocument(request, listener); 
-      }
-      catch (ApplyXSLTException axe)
-      {
-        axe.appendMessage(EOL + "getStylesheet() resulted in ApplyXSLTException" + EOL
-                          + listener.getMessage());
-        if (debug) writeLog(axe);
-        displayException(response, axe, debug);
-        xslSource = null;
-      }
-    // perform Transformation
-	  
-    if ((xmlSource != null) && (xslSource != null))
-    {
-	  try
-	  {
-        listener.out.println("Performing transformation...");
-		
-        Templates templates = tFactory.newTemplates(xslSource);
-        Transformer transformer = templates.newTransformer();
-        {
-          try
-          {
-            String contentType = null;
-			      contentType = getContentType(templates);
-            if (contentType != null);
-              response.setContentType(contentType);
-
-			      if (transformer instanceof TransformerImpl)
-			      {
-			        TransformerImpl transformerImpl = (TransformerImpl)transformer;
-              transformerImpl.setQuietConflictWarnings(ourDefaultParameters.isNoCW(request));
-			      }
-			
-			      setStylesheetParams(transformer, request);			
-	          transformer.transform(xmlSource, new StreamResult(response.getOutputStream()));
-			
-			      if (debug)              
-              writeLog(listener.getMessage(), response.SC_OK);
-          }
-          catch (Exception exc)
-          {
-            ApplyXSLTException axe = new ApplyXSLTException
-				                     ("Exception occurred during Transformation:"
-                                          + EOL + listener.getMessage() + EOL
-                                          + exc.getMessage(), 
-									              exc,
-                                response.SC_INTERNAL_SERVER_ERROR);
-            if (debug) writeLog(axe);
-            displayException(response, axe, debug);
-          }
-          finally
-          {
-            // transformer.reset();
-          } // end of try ... catch ... finally
-		}
-	  }
-      catch (/*org.xml.sax.SAX*/Exception saxExc)
-      {
-        ApplyXSLTException axe = new ApplyXSLTException
-			                     ("Exception occurred during ctor/Transformation:"
-                                             + EOL + listener.getMessage() + EOL
-                                             + saxExc.getMessage(), 
-			                					  saxExc,
-                                  response.SC_INTERNAL_SERVER_ERROR);
-        if (debug) writeLog(axe);
-        displayException(response, axe, debug);
-      } // end of new try ... catch
-    } // end of if((stylesheetRoot != null) ...
-    if (debug)
-    {
-      time = System.currentTimeMillis() - time;
-      writeLog("  No Conflict Warnings = " + ourDefaultParameters.isNoCW(request) +
-               "  Transformation time: " + time + " ms", response.SC_OK);
-    }
-  }
-  }  
-
-  /**
-   * Returns an XML XSLTInputSource DOM.  Attempts will be make to create the DOM from the following
-   * sources:
-   * <ol>
-   * <li>A relative URL specified in the HTTP request's path information. This capability is intended
-   * for use by <b>servlet engines that map</b> some or all XML data to be processed at the server.</li>
-   * <li>A URL specified in the HTTP request's <code>URL=</code> parameter.  This capability
-   * is intended for <b>clients wishing to selectively process</b> XML data at the server.  For
-   * security reasons, this URL will be forced to the local IP host.</li>
-   * <li>The HTTP request's XML input stream. This capability is intended for use by chained servlets.</li>
-   * </ol>
-   * @param request May contain or point to the XML XSLTInputSource
-   * @param listener To record detailed parsing messages for possible return to requestor
-   * @return XML XSLTInputSource DOM, or null if the XSLTInputSource could not be parsed
-   * @exception ApplyXSLTException Thrown if exception occurs while handling request
-   */
-  protected StreamSource getDocument(HttpServletRequest request,
-                                     ApplyXSLTListener listener)
-    throws ApplyXSLTException
-  {
-    try
-    {
-      String xmlURL = null;
-      // document from PathInfo
-      if ((xmlURL = request.getPathInfo()) != null)
-      {
-        listener.out.println("Parsing XML Document from PathInfo: " + xmlURL);
-        return new StreamSource(new URL("http", ((DefaultApplyXSLTProperties)
-                                         ourDefaultParameters).getLocalHost(),
-                                         xmlURL.replace('\\', '/')).openStream());		
-      }
-      // document from Request parameter
-      if ((xmlURL = ourDefaultParameters.getXMLurl(request)) != null)
-      {
-        listener.out.println("Parsing XML Document from request parameter: " + xmlURL);
-        return new StreamSource(new URL(xmlURL).openStream());
-      }
-      // document from chain
-      String contentType = request.getContentType();
-      if ((contentType != null) && contentType.startsWith("text/xml"))
-      {
-        listener.out.println("Parsing XML Document from request chain");
-        return new StreamSource(request.getInputStream());
-      }
-    }
-    catch (IOException ioe)
-    {
-      throw new ApplyXSLTException(ioe, HttpServletResponse.SC_NOT_FOUND);
-    }
-    catch (Exception e)
-    {
-      throw new ApplyXSLTException(e, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-    }
-    return null;
-  }
-
-  /**
-   * Returns a Templates (StylesheetRoot) object.  Attempts will be make to create the Stylesheet 
-   * from the followingsources:
-   * <ol>
-   * <li>A URL specified in the HTTP request's <code>xslURL=</code> parameter.  This capability
-   * is intended for clients wishing to selectively override the server algorithm for applying XSL
-   * stylesheets.  For security reasons, this URL will be forced to the local IP host.</li>
-   * <li>XML association.  XML documents may contain references to one or more stylesheets using
-   * <a HREF="http://www.w3.org/TR/1999/PR-xml-stylesheet-19990114">this</a> W3C proposed recommendation.
-   * If the XML document does contain such references, a best match will be chosen based on the browser
-   * type making the request and the default association.  This capability enables relationships to be
-   * defined between client capabilities and stylesheets capable of acting on these capabilities.</li>
-   * <li>A configured default stylesheet URL</li>
-   * </ol>
-   * @param request May contain or point to the XSL XSLTInputSource
-   * @param xmlSource  May point to the XSL XSLTInputSource
-   * @param listener To record detailed parsing messages for possible return to requestor
-   * @return XSL XSLTInputSource, or null if the request could not be parsed
-   * @see #makeDocument
-   * @see #getMedia
-   * @see #STYLESHEET_ATTRIBUTE
-   * @see #getXSLURLfromDoc
-   * @see #toAcceptLanguageConnection
-   * @exception ApplyXSLTException Thrown if exception occurs while handling request
-   */
-  protected StreamSource getStylesheet(TransformerFactory tFactory,
-				   		  			   HttpServletRequest request,
-                                       StreamSource xmlSource,
-                                       ApplyXSLTListener listener)
-    throws ApplyXSLTException
-  {
-    try
-    {
-      //stylesheet URL from request
-      String xslURL = ((DefaultApplyXSLTProperties) ourDefaultParameters).getXSLRequestURL(request);
-
-      if (xslURL != null)
-        listener.out.println("Parsing XSL Stylesheet Document from request parameter: "
-                             + xslURL);
-      else
-      {
-        // find stylesheet from XML Document, Media tag preference
-        if (xmlSource != null){
-          listener.out.println("calling getXSLURLfromDoc and getMedia " + getMedia(request) );
-          xslURL = getXSLURLfromDoc(xmlSource, STYLESHEET_ATTRIBUTE, getMedia(request), tFactory);
-        }
-        if (xslURL != null)
-          listener.out.println("Parsing XSL Stylesheet Document from XML Document tag: " + xslURL);
-        else
-          // Configuration Default
-          if ((xslURL = ourDefaultParameters.getXSLurl(null)) != null)
-            listener.out.println("Parsing XSL Stylesheet Document from configuration: " + xslURL);
-      }
-      return new StreamSource(xslURL);
-    }
-    catch (IOException ioe)
-    {
-      throw new ApplyXSLTException(ioe, HttpServletResponse.SC_NOT_FOUND);
-    }
-    catch (Exception e)
-    {
-      throw new ApplyXSLTException(e, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-    }
-  }
-
-  /**
-   * Returns the response content type specified by the media-type and encoding attributes of
-   * the &lt;xsl:output> element(s) of the stylesheet.
-   * @param xslSourceRoot XSL Stylesheet to be examined for &lt;xsl:output> elements.
-   * @return The response content type (MIME type and charset) of the stylesheet output
-   * @see #process
-   */
-  public String getContentType(Templates templates)
-  {
-    Properties oprops = templates.getOutputProperties();
-    String encoding = oprops.getProperty(OutputKeys.ENCODING);  
-          String media = oprops.getProperty(OutputKeys.MEDIA_TYPE);
-          if (media != null)
-          {
-      if (encoding != null)
-        return media + "; charset=" + encoding;
-      return media;
-          }
-          else
-          {
-            String method = oprops.getProperty(OutputKeys.METHOD);
-            if (method.equals("html"))
-                    return "text/html";
-            else if (method.equals("text"))
-                    return "text/plain";
-            else 
-                    return "text/xml";
-          }
-  }  
-  
-
-  /**
-   * Defines and sets select top-level XSL stylesheet variables from the HTTP request, which
-   * can be evaluated using &lt;xsl:param-variable&gt;.  The following variables will be
-   * automatically set:
-   * <dl>
-   * <dt><i>ParameterName</i></dt>
-   * <dd>Each non-reserved request parameter returned from request.getParameterNames().  If a
-   *     parameter contains more than a single value, only the first value is available.</dd>
-   * <dt>servlet-RemoteAddr</dt>
-   * <dd>Contains String output from request.getRemoteAddr(), which is the IP address
-   *     of the client machine.</dd>
-   * <dt>servlet-RemoteHost</dt>
-   * <dd>Contains String output from request.getRemoteHost(), which is the host name
-   *     of the client machine.</dd>
-   * <dt>servlet-RemoteUser</dt>
-   * <dd>Contains String output from request.getRemoteUser(), which was the user name
-   *     accepted by the server to grant access to this servlet.</dd>
-   * <dt>servlet-Request</dt>
-   * <dd>Contains the request object.</dd>
-   * </dl>
-   * @param xslprocessor Where to register parameters to be set
-   * @param request Provides access to all meaningful parameters to set
-   * @see #process
-   */
-  public void setStylesheetParams(Transformer transformer, HttpServletRequest request)
-  {
-    Enumeration paramNames = request.getParameterNames();
-    while (paramNames.hasMoreElements())
-    {
-      String paramName = (String) paramNames.nextElement();
-      try
-      {
-        String[] paramVals = request.getParameterValues(paramName);
-        if (paramVals != null)
-            transformer.setParameter(paramName, new XString(paramVals[0]));
-                                            
-      }
-      catch (Exception e)
-      {
-      }
-    }
-    try
-    {
-      transformer.setParameter("servlet-RemoteAddr", new XString(request.getRemoteAddr()));
-                                      
-    }
-    catch (Exception e)
-    {
-    }
-    try
-    {
-      transformer.setParameter("servlet-RemoteHost", new XString(request.getRemoteHost()));
-                                      
-    }
-    catch (Exception e)
-    {
-    }
-    try
-    {
-      transformer.setParameter("servlet-RemoteUser", new XString(request.getRemoteUser()));
-                                      
-    }
-    catch (Exception e)
-    {
-    }
-  }
-
-
-  /**
-   * Writes the following information to the servlet log:
-   * <ol>
-   * <li>HTTP status code</li>
-   * <li>Message</li>
-   * <li>Stack trace</li>
-   * </ol>
-   * @param axe Contains valid HTTP status code, message, and stack trace (optional)
-   */
-  protected void writeLog(ApplyXSLTException axe)
-  {
-    writeLog(axe.getMessage(), axe.getStatusCode(), axe.getException());
-  }
-
-  /**
-   * Writes the following information to the servlet log:
-   * <ol>
-   * <li>HTTP status code</li>
-   * <li>Message</li>
-   * <li>Stack trace</li>
-   * </ol>
-   * @param msg Message to be logged
-   * @param statusCode Valid status code from javax.servlet.http.HttpServletResponse
-   * @param t Used to generate stack trace (may be =null to suppress stack trace)
-   */
-  protected void writeLog(String msg, int statusCode, Throwable t)
-  {
-    if (t == null)
-      writeLog(msg, statusCode);
-    else
-    {
-      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-      PrintWriter writer = new PrintWriter(bytes, true);
-      System.out.println("Exception is " + t.getClass().getName());
-      t.printStackTrace(writer);
-      log("HTTP Status Code: " + statusCode + " - " + msg + EOL + bytes.toString());
-    }
-  }
-
-  /**
-   * Writes the following information to the servlet log:
-   * <ol>
-   * <li>HTTP status code</li>
-   * <li>Message</li>
-   * </ol>
-   * @param msg Message to be logged
-   * @param statusCode Valid status code from javax.servlet.http.HttpServletResponse
-   */
-  protected void writeLog(String msg, int statusCode)
-  {
-    log("HTTP Status Code: " + statusCode + " - " + msg);
-  }
-
-  /**
-   * Invokes response.sendError setting an HTTP status code and optionally an error message
-   * as an HTML page.
-   * <p>If running in debug mode, also try to return a stack trace of the exception and
-   * and xml/xsl processor messages.</p>
-   * @param response Where to stream the exception to
-   * @param xse The wrapper which contains the exception and its HTTP status code
-   * @param debug Indicates whether to include stack trace, etc.
-   */
-  protected void displayException(HttpServletResponse response, ApplyXSLTException xse, boolean debug)
-  {
-    String mesg = xse.getMessage();
-    if (mesg == null)
-      mesg = "";
-    else mesg = "<B>" + mesg + "</B>";
-    StringTokenizer tokens = new StringTokenizer(mesg, EOL);
-    StringBuffer strBuf = new StringBuffer();
-    while (tokens.hasMoreTokens())
-      strBuf.append(tokens.nextToken() + EOL + "<BR>");
-    mesg = strBuf.toString();
-    if (debug)
-    {
-      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-      PrintWriter writer = new PrintWriter(bytes, true);
-      xse.getException().printStackTrace(writer);
-      mesg += " <PRE> " + bytes.toString() + " </PRE> ";
-    }
-    response.setContentType("text/html");
-    try
-    {
-      response.sendError(xse.getStatusCode(), mesg);
-    }
-    catch (IOException ioe)
-    {
-      System.err.println("IOException is occurring when sendError is called");
-    }
-  }
-
-  /**
-   * Mapping of HTTP request's user-Agent values to stylesheet media= values.
-   * <p>This mapping is defined by a file pointed to by the operational parameter "mediaURL" which can
-   *  either contain a full URL or a path relative to the System's server.root /servlets directory.</p>
-   * @see #setMediaProps
-   * @see #getMedia
-   * @serial
-   */
-  protected OrderedProps ourMediaProps = null;
-
-  /**
-   * Returns a connection which respects the Accept-Language header of the HTTP request.  This
-   * is useful when XSL files are internationalized for use with Web servers which respect this
-   * header.
-   * <p>For example, Apache 1.3.6 may be configured for multiviews.  Under this configuration,
-   * requests for http://myhost/index.html would return http://myhost/index.html.fr to French browsers
-   * and http://myhost/index.html.en to English browsers.</p>
-   * @param url Location to connect to
-   * @param request Could contain an Accept-Language header
-   * @return An Accept-Language-enabled URL connection
-   * @see #getStylesheet
-   */
-  protected URLConnection toAcceptLanguageConnection(URL url, HttpServletRequest request)
-    throws Exception
-  {
-    URLConnection tempConnection = url.openConnection();
-    tempConnection.setRequestProperty("Accept-Language", request.getHeader("Accept-Language"));
-    return tempConnection;
-  }
-
-
-  /**
-   * Returns the XSL stylesheet URL associated with the specified XML document.  If multiple XSL
-   * stylesheets are associated with the XML document, preference will be given to the stylesheet
-   * which contains an attribute name/value pair that corresponds to the specified attributeName
-   * and attributeValue.
-   * @param xmlSource XML XSLTInputSource to be searched for associated XSL stylesheets
-   * @param attributeName  Attribute name to provide preferential matching
-   * @param attributeValue Attribute value to provide preferential matching
-   * @return The preferred XSL stylesheet URL, or null if no XSL stylesheet association is found
-   * @see #getStylesheet
-   */
-  public static String getXSLURLfromDoc(StreamSource xmlSource,
-                                        String attributeName,
-                                        String attributeValue,
-                                        TransformerFactory tFactory)
-  {
-    String tempURL = null, returnURL = null;
-    try
-    {
-	  DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-      DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-      Node sourceTree = docBuilder.parse(xmlSource.getInputStream());
-      for(Node child=sourceTree.getFirstChild(); null != child; child=child.getNextSibling())
-      {
-        if(Node.PROCESSING_INSTRUCTION_NODE == child.getNodeType())
-        {
-          ProcessingInstruction pi = (ProcessingInstruction)child;
-          if(pi.getNodeName().equals("xml-stylesheet"))
-          {
-            PIA pia = new PIA(pi);
-            if("text/xsl".equals(pia.getAttribute("type")))
-            {
-              tempURL = pia.getAttribute("href");
-              String attribute = pia.getAttribute(attributeName);
-              if ((attribute != null) && (attribute.indexOf(attributeValue) > -1))
-                return tempURL;
-              if (!"yes".equals(pia.getAttribute("alternate")))
-                returnURL = tempURL;
-            }
-          }
-        }
-      }
-    }
-    catch(Exception saxExc)
-    {
-    }
-    return returnURL;
-  }  
-
- /**
-   * The attribute name in the <?xml-stylesheet> tag used in stylesheet selection.
-   */
-  protected static final String STYLESHEET_ATTRIBUTE = "media";
-
-  /**
-   *	The HTTP Header used for matching the Stylesheet attribute via the
-   * media properties file selected.
-   */
-  protected static final String HEADER_NAME = "user-Agent";
-}
-
-/**
- *  Stores the keys and values from a file (similar to a properties file) and
- *  can return the first value which has a key contained in its string.
- *  File can have comment lines starting with '#" and for each line the entries are
- *  separated by tabs and '=' char.
- */
-class OrderedProps
-{
-
-  /**
-   * Stores the Key and Values as an array of Strings
-   */
-  private Vector attVec = new Vector(15);
-
-  /**
-   * Constructor.
-   * @param inputStream Stream containing the properties file.
-   * @exception IOException Thrown if unable to read from stream
-   */
-  OrderedProps(InputStream inputStream)
-    throws IOException
-  {
-    BufferedReader input  = new BufferedReader(new InputStreamReader(inputStream));
-    String currentLine, Key = null;
-    StringTokenizer currentTokens;
-    while ((currentLine = input.readLine()) != null)
-    {
-      currentTokens = new StringTokenizer(currentLine, "=\t\r\n");
-      if (currentTokens.hasMoreTokens()) Key = currentTokens.nextToken().trim();
-      if ((Key != null) && !Key.startsWith("#") && currentTokens.hasMoreTokens())
-      {
-        String temp[] = new String[2];
-        temp[0] = Key; temp[1] = currentTokens.nextToken().trim();
-        attVec.addElement(temp);
-      }
-    }
-  }
-
-  /**
-   * Iterates through the Key list and returns the first value for whose
-   * key the given string contains.  Returns "unknown" if no key is contained
-   * in the string.
-   * @param s String being searched for a key.
-   * @return Value for key found in string, otherwise "unknown"
-   */
-  String getValue(String s)
-  {
-    int i, j = attVec.size();
-    for (i = 0; i < j; i++)
-    {
-      String temp[] = (String[]) attVec.elementAt(i);
-      if (s.indexOf(temp[0]) > -1)
-        return temp[1];
-    }
-    return "unknown";
-  }
-}
-
-/**
- * Parses a processing instruction's (PI) attributes for easy retrieval.
- */
-class PIA
-{
-
-  private Hashtable piAttributes = null;
-
-  /**
-   * Constructor.
-   * @param pi The processing instruction whose attributes are to be parsed
-   */
-  PIA(ProcessingInstruction pi)
-  {
-    piAttributes = new Hashtable();
-    StringTokenizer tokenizer = new StringTokenizer(pi.getNodeValue(), "=\"");
-    while(tokenizer.hasMoreTokens())
-    {
-      piAttributes.put(tokenizer.nextToken().trim(), tokenizer.nextToken().trim());
-    }
-  }
-
-  /**
-   * Returns value of specified attribute.
-   *  @param name Attribute name
-   *  @return Attribute value, or null if the attribute name does not exist
-   */
-  String getAttribute(String name)
-  {
-    return (String) piAttributes.get(name);
-  }  
-}
\ No newline at end of file
diff --git a/samples/servlet/ApplyXSLTException.java b/samples/servlet/ApplyXSLTException.java
deleted file mode 100644
index f63c6a1..0000000
--- a/samples/servlet/ApplyXSLTException.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
-/*****************************************************************************************************
- *
- * Wrapper for exceptions occurring during apply XSL processing.  
- * Allows for exceptions to be returned with an associated HTTP Status Code.
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- *
- *****************************************************************************************************/
-package servlet;
-
-public class ApplyXSLTException extends Exception {
-
-    /**
-      * Exception Message.
-      * @serial
-      */ 
-    private String myMessage = "";
-
-    /**
-      * HTTP Status Code. Default= internal server error.
-      * @serial
-      */
-    private int  myHttpStatusCode = javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR; 
-
-    /**
-      * Wrapped exception
-      * @serial
-      */
-    private Exception myException = null;
-
-    /**
-      * Constructor for exception with no additional detail.
-      */
-    public ApplyXSLTException() 
-    { 
-        super(); 
-    }
-
-    /**
-      * Constructor for exception with message.
-      * @param s Exception message
-      */
-    public ApplyXSLTException(String s) 
-    { 
-        super(); 
-	myMessage = s;
-    }
-
-    /**
-      * Constructor for exception with HTTP status code.
-      * @param hsc Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public ApplyXSLTException(int hsc) 
-    {
-	super();
-	myHttpStatusCode = hsc;
-    }
-
-    /**
-      * Constructor for exception with message and HTTP status code.
-      * @param s Exception message
-      * @param hsc Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public ApplyXSLTException(String s, int hsc)
-    {
-	super();
-	myHttpStatusCode = hsc;
-    }
-
-    /**
-      * Constructor for exception.
-      * @param e Exception to be wrapped.
-      */
-    public ApplyXSLTException(Exception e)
-    {
-	super();
-	myMessage = e.getMessage();
-	myException = e;
-    }
-
-    /**
-      * Constructor for passed exception with message.
-      * @param s Exception message
-      * @param e Exception to be wrapped.
-      */
-    public ApplyXSLTException (String s, Exception e)
-    {
-	super();
-	myMessage = s;
-	myException = e;
-    }
-
-    /**
-      * Constructor for passed exception with HTTP status code.
-      * @param e Exception to be wrapped.
-      * @param hsc Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public ApplyXSLTException(Exception e, int hsc)
-    {
-	super();
-	myMessage = e.getMessage();
-	myException = e;
-	myHttpStatusCode = hsc;
-    }
-
-    /**
-      * Constructor for passed exception with HTTP status code and message.
-      * @param s Exception message
-      * @param e Exception to be wrapped.
-      * @param hsc Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public ApplyXSLTException(String s, Exception e, int hsc)
-    {
-	super();
-	myMessage = s;
-	myException = e;
-	myHttpStatusCode = hsc;
-    }
-
-    /**
-      * Returns exception message.
-      * @return exception message
-      */
-    public String getMessage()
-    {
-	return myMessage;
-    }
-
-    /**
-      * Appends string to exception message.
-      * @param s String to be added to message
-      */
-    public void appendMessage(String s)
-    {
-	myMessage += s;
-    }
-
-    /**
-      * Returns the wrapped exception.
-      * @return Wrapped exception
-      */
-    public Exception getException()
-    {
-	return myException;
-    }
-
-    /**
-      * Returns the HTTP status code associated with the exception.
-      * @return Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public int getStatusCode()
-    {
-	return myHttpStatusCode;
-    }
-}
-
diff --git a/samples/servlet/ApplyXSLTListener.java b/samples/servlet/ApplyXSLTListener.java
deleted file mode 100644
index 2e46e26..0000000
--- a/samples/servlet/ApplyXSLTListener.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import java.io.*;
-import org.xml.sax.*;
-import org.apache.xml.utils.DefaultErrorHandler;
-
-/*****************************************************************************************************
- * ApplyXSLTListener provides a buffered listener essential for capturing, and then subsequently
- * reporting, XML and XSL processor messages which may be of use in debugging XML+XSL processed at
- * the server.
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- *
- *****************************************************************************************************/
-
-public class ApplyXSLTListener extends DefaultErrorHandler implements ErrorHandler
-{
-
-    /**
-      * Output stream
-      */
-    private ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-
-    /**
-      * Buffered output stream
-      */
-    public PrintWriter out = null;
-
-    /**
-      * Constructor.
-      */
-    public ApplyXSLTListener()
-    {
-      out = new PrintWriter(new BufferedOutputStream(outStream), true);
-    }
-
-    /**
-      * Receive notification of a warning.
-      *
-      * @param spe The warning information encapsulated in a SAX parse exception.
-      */
-    public void warning(SAXParseException spe)
-    {
-	out.println("Parser Warning: " + spe.getMessage());
-    }
-
-    /**
-      * Receive notification of a recoverable error.
-      *
-      * @param spe The error information encapsulated in a SAX parse exception.
-      */
-    public void error(SAXParseException spe)
-    {
-	out.println("Parser Error: " + spe.getMessage());
-    }
-
-    /**
-      * Receive notification of a non-recoverable error.
-      *
-      * @param spe The error information encapsulated in a SAX parse exception.
-      * @exception SAXException Always thrown
-      */
-    public void fatalError(SAXParseException spe)
-    throws SAXException
-    {
-	out.println("Parser Fatal Error: " + spe.getMessage());
-	throw spe;
-    }
-
-    /**
-      * Returns the buffered processing message(s).
-      * @return Buffered processing message(s)
-      */
-    public String getMessage()
-    {
-	return outStream.toString();
-    }
-}
-
diff --git a/samples/servlet/ApplyXSLTProperties.java b/samples/servlet/ApplyXSLTProperties.java
deleted file mode 100644
index 69e0ed4..0000000
--- a/samples/servlet/ApplyXSLTProperties.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import java.net.MalformedURLException;
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-/*****************************************************************************************************
- * 
- * ApplyXSLTProperties contains operational parameters for ApplyXSLT based 
- * on program defaults and configuration.  
- * <p>This class is also used to return values for request-time parameters.</p>
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- *
- *****************************************************************************************************/
-
-public class ApplyXSLTProperties {
-
-    /**
-      * Program default for parameter "URL"
-      */
-    private final String DEFAULT_URL;
-
-    /**
-      * Program default for parameter "xslURL"
-      */
-    private final String DEFAULT_xslURL;
-    
-    /**
-      * Program default for parameter "debug"
-      */
-    private final boolean DEFAULT_debug;
-
-    /**
-      * Program default for parameter "noConflictWarnings"
-      */
-    private final boolean DEFAULT_noCW;
-    
-    /**
-      * Constructor to use program defaults.
-      */
-    public ApplyXSLTProperties() 
-    {
-	DEFAULT_URL = null;
-	DEFAULT_xslURL = null;
-	DEFAULT_debug = false;
-	DEFAULT_noCW = false;
-    }
-
-    /**
-      * Constructor to use to override program defaults.
-      * @param config Servlet configuration
-      */
-    public ApplyXSLTProperties(ServletConfig config)
-    {
-	String xm = config.getInitParameter("URL"),
-	       xu = config.getInitParameter("xslURL"),
-	       db = config.getInitParameter("debug"),
-	       cw = config.getInitParameter("noConflictWarnings");
-	       
-	if (xm != null) DEFAULT_URL = xm;
-	else DEFAULT_URL = null;
-	if (xu != null) DEFAULT_xslURL = xu;
-	else DEFAULT_xslURL = null;
-	if (db != null) DEFAULT_debug = new Boolean(db).booleanValue();
-	else DEFAULT_debug = false;
-	if (cw != null) DEFAULT_noCW = new Boolean(cw).booleanValue();
-	else DEFAULT_noCW = false;
-    }
-   
-    /**
-      * Given a parameter name, returns the HTTP request's String value; 
-      * if not present in request, returns default String value.
-      * @param request Request to check for default override
-      * @param param Name of the parameter
-      * @return String value of named parameter
-      */
-    public String getRequestParmString(HttpServletRequest request, String param)
-    {
-	if (request != null) { 
-	    String[] paramVals = request.getParameterValues(param); 
-	    if (paramVals != null) 
-		return paramVals[0];
-	}
-	return null;
-    }
-
-    /**
-      * Returns the current setting for "URL".
-      * @param request Request to check for parameter value
-      * @return String value for "URL"
-      * @exception MalformedURLException Will not be thrown
-      */
-    public String getXMLurl(HttpServletRequest request)
-    throws MalformedURLException
-    {
-	String temp = getRequestParmString(request, "URL");
-	if (temp != null)
-	    return temp;
-	return DEFAULT_URL;
-    }     
-    
-    /**
-      * Returns the current setting for "xslURL".
-      * @param request Request to check for parameter value
-      * @return String value for "xslURL"
-      * @exception MalformedURLException Will not be thrown
-      */
-    public String getXSLurl(HttpServletRequest request)
-    throws MalformedURLException
-    {  
-	String temp = getRequestParmString(request, "xslURL");
-	if (temp != null)
-	    return temp;
-	return DEFAULT_xslURL;
-    }
-    
-    /**
-      * Returns the current setting for "debug".
-      * @param request Request to check for parameter value
-      * @return Boolean value for "debug"
-      */
-    public boolean isDebug(HttpServletRequest request)
-    {
-	String temp = getRequestParmString(request, "debug");
-	if (temp != null)
-	    return new Boolean(temp).booleanValue();
-	return DEFAULT_debug;
-    }
-
-    /**
-      * Returns the current setting for "noConflictWarnings".
-      * @param request Request to check for parameter value
-      * @return Boolean value for "noConflictWarnings"
-      */
-    boolean isNoCW(HttpServletRequest request)
-    {
-	String temp = getRequestParmString(request, "noConflictWarnings");
-	if (temp != null)
-	    return new Boolean(temp).booleanValue();
-	return DEFAULT_noCW;
-    }    
-}
\ No newline at end of file
diff --git a/samples/servlet/DefaultApplyXSLTProperties.java b/samples/servlet/DefaultApplyXSLTProperties.java
deleted file mode 100644
index 1fdb967..0000000
--- a/samples/servlet/DefaultApplyXSLTProperties.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import java.net.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.util.Enumeration;
-import java.util.Properties;
-
-/*****************************************************************************************************
- * 
- * DefaultApplyXSLTProperties contains operational parameters for DefaultApplyXSLT based 
- * on program defaults and configuration.  
- * <p>This class is also used to return values for request-time parameters.</p>
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- *
- *****************************************************************************************************/
-
-public class DefaultApplyXSLTProperties extends ApplyXSLTProperties {
-    
-    /**
-      * Program default for parameter "catalog".
-      * @see #getCatalog
-      */
-    private final String DEFAULT_catalog;
-
-    /**
-      * Host used for local context comparisons.
-      * @see #getLocalHost
-      * @see #setLocalHost
-      */
-    protected transient String localHost = null;
-    
-    /**
-     * Server port. Used in toSafeURL() -- fix submitted by Ritesh Kumar.
-     */
-    protected static int port =0;
-
-    /**
-      * Constructor to use program defaults.
-      */
-    public DefaultApplyXSLTProperties()
-    {
-	super();
-	DEFAULT_catalog = null;
-	setLocalHost();
-	// setSystemProperties();
-    }
-
-    /**
-      * Constructor to use to override program defaults.
-      * @param config Servlet configuration
-      * @see #setLocalHost
-      */
-    public DefaultApplyXSLTProperties(ServletConfig config)
-    {
-	    super(config);
-	    String cat = config.getInitParameter("catalog");
-	    if (cat != null) DEFAULT_catalog = cat;
-	    else DEFAULT_catalog = null;
-	    setLocalHost();
-	    setSystemProperties();
-    }
-
-    /**
-      * Sets the name of the local IP host name; this value will be used to constrain untrusted 
-      * XML document and XSL stylesheet URLs to this trusted host.
-      * @see #getLocalHost
-      */
-    protected void setLocalHost()
-    {
-	    try 
-	    { 
-	        localHost = InetAddress.getLocalHost().getHostName();
-	    } 
-	    catch (Exception uhe) 
-	    {
-	      localHost = null;
-	    }
-    }
-
-    /**
-      * Returns the name of trusted IP host.
-      * @return Name of trusted host
-      * @see #setLocalHost
-      */
-    public String getLocalHost()
-    {
-	    return localHost;
-    }
-
-    /**
-      * Returns a URL which is constrained to a trusted IP host.
-      * @param xURL URL or file path to be made safe 
-      * @return Safe URL
-      * @exception MalformedURLException Thrown when xURL is not a valid URL
-      * @see #setLocalHost
-      * @see #getLocalHost
-      */
-    public URL toSafeURL(String xURL, HttpServletRequest request)
-    throws MalformedURLException
-    {
-      // Fix submitted by Ritesh Kumar. Port is included in construction of URL that is returned.
-      if (port == 0)
-        port = request.getServerPort();
-      
-	    if (xURL == null)
-	      return null;
-
-	    if (xURL.startsWith("/")) 
-      {
-	      try 
-        {
-		      return new URL("http", localHost, port, xURL);
-	      }
-        catch (MalformedURLException mue) 
-        {
-	        throw new MalformedURLException("toSafeURL(): " + xURL + 
-					                                " did not map to local");
-	      }
-	    }
-	    URL tempURL = null;
-	    try 
-      { 
-	      tempURL = new URL(xURL);
-	    } 
-      catch (MalformedURLException mue) 
-      {
-	      throw new MalformedURLException("toSafeURL(): " + xURL + 
-					                              " not a valid URL"); 
-	    }
-	    try 
-      { 
-	      return new URL(tempURL.getProtocol(), localHost, 
-			                 port, tempURL.getFile());
-	    } 
-      catch (MalformedURLException mue) 
-      {
-	      throw new MalformedURLException("toSafeURL(): " + xURL + 
-				                          	    " could not be converted to local host");
-	    }
-    }
-
-    /**
-      *	Returns a string representing the constrained URL for the XML document.
-      * If there is no request parameter for the XML document, return the configured default.
-      * @param request May contain an XML document URL parameter
-      * @return String form of XML URL
-      * @exception MalformedURLException Thrown when request URL is not a valid URL or path
-      * @see #toSafeURL
-      */
-    public String getXMLurl(HttpServletRequest request)
-    throws MalformedURLException
-    {
-	    URL url = toSafeURL(getRequestParmString(request, "URL"),request);
-	    if (url == null)
-	      return super.getXMLurl(null);
-	    return url.toExternalForm();
-    }
-
-    /**
-      * Returns a string representing the constrained URL for the XSL stylesheet 
-      * from the request.
-      * @param request May contain an XSL stylesheet URL parameter
-      * @return String form of request XSL URL, or null if request contains no xslURL parameter
-      * @exception MalformedURLException Thrown when request URL is not a valid URL or path
-      * @see #toSafeURL
-      */
-    public String getXSLRequestURL(HttpServletRequest request)
-    throws MalformedURLException
-    {
-	    URL url = toSafeURL(getRequestParmString(request, "xslURL"),request);
-	    if (url == null)
-	        return null;
-	    return url.toExternalForm();
-    }
-
-    /**
-      * Returns a string representing the constrained request URL for the XSL stylesheet.
-      * If there is no request parameter for the XSL stylesheet, return the configured default.
-      * @param request May contain an XSL stylesheet URL parameter
-      * @return String form of XSL URL
-      * @exception MalformedURLException Thrown when request URL is not a valid URL or path
-      * @see #toSafeURL
-      */
-    public String getXSLurl(HttpServletRequest request)
-    throws MalformedURLException
-    {
-	    String reqURL = getXSLRequestURL(request);
-	    if (reqURL != null)
-	        return reqURL;
-	    return super.getXSLurl(null);
-    }
-
-    /**
-      * Returns URLs for all <a href="http://www.ccil.org/~cowan/XML/XCatalog.html">XCatalogs</a> 
-      * that are to be used to process the request.  Catalogs are used to resolve XML public identifiers
-      * into system identifiers.
-      * <p>A single XCatalog can be configured as a default,
-      * but multiple XCatalogs can be specified at request time to augment the configured default.
-      * @param request May contain one or more XCatalog parameters
-      * @return Array of strings for all catalog URLs
-      */
-    public String[] getCatalog(HttpServletRequest request)
-    {
-	    String temp[] = request.getParameterValues("catalog");
-	    if (DEFAULT_catalog == null)
-	        return temp;
-	    if (temp == null) 
-      {
-	      String defaultArray[] = new String [1];
-	      defaultArray[0] = DEFAULT_catalog;
-	      return defaultArray;
-	    }
-	    int i, len = temp.length + 1;
-	    String newCatalogs[] = new String[len];
-	    newCatalogs[0] = DEFAULT_catalog;
-	    for (i=1; i < len; i++) 
-      {
-	      newCatalogs[i] = temp[i-1];
-	    }
-	    return newCatalogs;
-    }
-	
-	 /**
-   * I think we no longer need this. Sets the 3 jaxp core system properties.
-   */	
-    protected void setSystemProperties()
-	{
-	  Properties props = new Properties();
-    props.put("javax.xml.transform.TransformerFactory", 
-              "org.apache.xalan.processor.TransformerFactoryImpl");
-    props.put("javax.xml.parsers.DocumentBuilderFactory", 
-              "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
-    props.put("javax.xml.parsers.SAXParserFactory", 
-              "org.apache.xerces.jaxp.SAXParserFactoryImpl");
-    
-      Properties systemProps = System.getProperties();
-      Enumeration propEnum = props.propertyNames();
-      while(propEnum.hasMoreElements())
-      {
-        String prop = (String)propEnum.nextElement();
-        if(!systemProps.containsKey(prop))
-          systemProps.put(prop, props.getProperty(prop));
-      }
-      System.setProperties(systemProps);
-	}
-
-}
diff --git a/samples/servlet/SimpleXSLTServlet.java b/samples/servlet/SimpleXSLTServlet.java
deleted file mode 100644
index c7c0822..0000000
--- a/samples/servlet/SimpleXSLTServlet.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.io.*;
-import java.net.URL;
-
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-
-/*
- * This sample applies the todo.xsl stylesheet to the
- * todo.xml XML document, and returns the transformation
- * output (HTML) to the client browser.
- *
- * IMPORTANT: For this to work, you must place todo.xsl and todo.xml 
- * in the servlet root directory for documents.
- *
- */
-
-public class SimpleXSLTServlet extends HttpServlet {
-
-  public void init(ServletConfig config) throws ServletException
-  {
-    super.init(config);
-  }
-
-  public void doGet (HttpServletRequest request,
-                     HttpServletResponse response)
-    throws ServletException, IOException
-  {
-    // Output goes in the response stream.
-    PrintWriter out = new PrintWriter (response.getOutputStream());
-    // The servlet returns HTML.
-    response.setContentType("text/html");    
-    try
-    {	
-      TransformerFactory tFactory = TransformerFactory.newInstance();
-      // Get the XML input document and the stylesheet.
-      Source xmlSource = new StreamSource(new URL("file:todo.xml").openStream());
-      Source xslSource = new StreamSource(new URL("file:todo.xsl").openStream());
-      // Generate the transformer.
-      Transformer transformer = tFactory.newTransformer(xslSource);
-      // Perform the transformation, sending the output to the response.
-      transformer.transform(xmlSource, new StreamResult(out));
-    }
-    catch (Exception e)
-    {
-      out.write(e.getMessage());
-      e.printStackTrace(out);    
-    }
-    out.close();
-  }
-  
-}
diff --git a/samples/servlet/UseStylesheetParamServlet.java b/samples/servlet/UseStylesheetParamServlet.java
deleted file mode 100644
index c3840bb..0000000
--- a/samples/servlet/UseStylesheetParamServlet.java
+++ /dev/null
@@ -1,71 +0,0 @@
-
-/*
-Simple Servlet Example using a stylesheet parameter
- */
-package servlet;
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-// Imported SAX classes
-import org.xml.sax.SAXException;
-
-// Imported java.io and javax.servlet classes
-import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-public class UseStylesheetParamServlet extends HttpServlet {
-	
-	PrintWriter out;
-	String xslFile, xmlFile, paramValue;
-	public void doGet(HttpServletRequest req,
-		HttpServletResponse res)
-			throws ServletException, IOException {
-		try {
-			res.setContentType("text/html");
-			out = res.getWriter();
-
-      paramValue = req.getParameter("PVAL");
-			xmlFile    = req.getParameter("XML");
-			xslFile    = req.getParameter("XSL");
- 		if (paramValue == null) {
-			out.println(
-			"<h1>No input for paramValue</h1>");
-			return;
-		}
- 		if ( xmlFile == null) {
-			out.println(
-			"<h1>No input for xmlFile</h1>");
-			return;
-		}	
-		if ( xslFile == null) {
-			out.println(
-			"<h1>No input for xslFile</h1>");
-			return;
-		}
-		TransformerFactory tFactory =
-			TransformerFactory.newInstance();
-		Transformer transformer =
-			tFactory.newTransformer(new StreamSource(xslFile));
-
-    // Set the stylesheet parameter (named param1).
-			transformer.setParameter("param1", paramValue);
-    // Perform the transformation.
-			transformer.transform(new StreamSource(xmlFile),
-					                  new StreamResult(out));
-		}		
-    catch (IOException e) {			
-			e.printStackTrace();
-			System.exit(-1);
-		}
-		catch (TransformerException e) {
-      e.printStackTrace(out);
-			return;
-		}
-	}
-}
diff --git a/samples/servlet/XSLTServletWithParams.java b/samples/servlet/XSLTServletWithParams.java
deleted file mode 100644
index 32e73f9..0000000
--- a/samples/servlet/XSLTServletWithParams.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.io.*;
-import java.util.Enumeration;
-import java.net.URL;
-
-import org.xml.sax.*;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-
-/*
- * This sample takes input parameters in the request URL: a URL
- * parameter for the XML input, an xslURL parameter for the stylesheet,
- * and optional stylesheet parameters.
- * To run the equivalent of SimplestXSLServlet (with the documents in the
- * servlet document root directory), the request URL is
- * http://<server/servletpath>servlet.SimpleXSLServlet?URL=file:todo.xml&xslURL=file:todo.xsl
- *
- * Using a stylesheet Processing Instruction:
- * If the XML document includes a stylesheet PI that you want to use, 
- * omit the xslURL parameter.
- *
- * Sending stylesheet parameters: 
- * If, for example, a servlet takes a stylesheet parameter named param1
- * param1 that you want to set to foo, include param1=foo in the URL.
- */
-
-public class XSLTServletWithParams extends HttpServlet {
-
-  public void init(ServletConfig config) throws ServletException
-  {
-    super.init(config);
-  }
-
-  public void doGet (HttpServletRequest request,
-                     HttpServletResponse response)
-    throws ServletException, IOException
-  {
-    // Output goes in the response stream.
-    PrintWriter out = new PrintWriter (response.getOutputStream());
-    // This servlet is intended to return HTML.
-    response.setContentType("text/html");    
-    try
-    {	
-      TransformerFactory tFactory = TransformerFactory.newInstance();
-      // Get params from URL.
-      String xml = getRequestParam(request, "URL");
-      String xsl = getRequestParam(request, "xslURL");
-      Source xmlSource = null;
-      Source xslSource = null;
-      Transformer transformer = null;
-      // Get the XML input document.
-      if (xml != null && xml.length()> 0)
-        xmlSource = new StreamSource(new URL(xml).openStream());
-      // Get the stylesheet.
-      if (xsl != null && xsl.length()> 0)
-        xslSource = new StreamSource(new URL(xsl).openStream());
-      if (xmlSource != null) // We have an XML input document.
-      {
-        if (xslSource == null) // If no stylesheet, look for PI in XML input document.
-        {
-     	    String media= null , title = null, charset = null;
-          xslSource = tFactory.getAssociatedStylesheet(xmlSource,media, title, charset);
-        }
-        if (xslSource != null) // Now do we have a stylesheet?
-        {
-          transformer = tFactory.newTransformer(xslSource);
-          setParameters(transformer, request); // Set stylesheet params.
-          transformer.transform(xmlSource, new StreamResult(out)); // Perform the transformation.
-        }
-        else
-          out.write("No Stylesheet!");
-      }
-      else
-        out.write("No XML Input Document!");
-    }
-    catch (Exception e)
-    {
-      out.write(e.getMessage());
-      e.printStackTrace(out);    
-    }
-    out.close();
-  }
-  
-  // Get parameters from the request URL.
-  String getRequestParam(HttpServletRequest request, String param)
-  {
-	  if (request != null) 
-    { 
-	    String paramVal = request.getParameter(param); 
-		  return paramVal;
-	  }
-	  return null;
-  }
-  
-  // Set stylesheet parameters from the request URL.
-  void setParameters(Transformer transformer, HttpServletRequest request)
-  {
-    Enumeration paramNames = request.getParameterNames();
-    while (paramNames.hasMoreElements())
-    {
-      String paramName = (String) paramNames.nextElement();
-      try
-      {
-        String paramVal = request.getParameter(paramName);
-        if (paramVal != null)
-          transformer.setParameter(paramName, paramVal);                                            
-      }
-      catch (Exception e)
-      {
-      }
-    }
-  }  
-}
diff --git a/samples/servlet/default.xsl b/samples/servlet/default.xsl
deleted file mode 100644
index e1a85e0..0000000
--- a/samples/servlet/default.xsl
+++ /dev/null
@@ -1,276 +0,0 @@
-<?xml version="1.0"?>
-
-<!--                                                                                -->
-<!--  Default XSL stylesheet for use by com.lotus.xsl.server#DefaultApplyXSL.       -->
-<!--                                                                                -->
-<!--  This stylesheet mimics the default behavior of IE when XML data is displayed  -->
-<!--  without a corresponding XSL stylesheet.  This stylesheet uses JavaScript      -->
-<!--  to accommodate node expansion and contraction.                                -->
-<!--                                                                                -->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-                xmlns="http://www.w3.org/TR/REC-html40">
-                
-<xsl:output method="html" indent="no"/>
-<xsl:strip-space elements="*"/>
-
-<xsl:template match="/">
-  <HTML>
-    <HEAD>
-      <STYLE type="text/css">
-        BODY {font:x-small 'Verdana'; margin-right:1.5em}
-      <!-- container for expanding/collapsing content -->
-        .c  {cursor:hand}
-      <!-- button - contains +/-/nbsp -->
-        .b  {color:red; font-family:'Courier New'; font-weight:bold; text-decoration:none}
-      <!-- element container -->
-        .e  {margin-left:1em; text-indent:-1em; margin-right:1em}
-      <!-- comment or cdata -->
-        .k  {margin-left:1em; text-indent:-1em; margin-right:1em}
-      <!-- tag -->
-        .t  {color:#990000}
-      <!-- tag in xsl namespace -->
-        .xt {color:#990099}
-      <!-- attribute in xml or xmlns namespace -->
-        .ns {color:red}
-      <!-- markup characters -->
-        .m  {color:blue}
-      <!-- text node -->
-        .tx {font-weight:bold}
-      <!-- multi-line (block) cdata -->
-        .db {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
-             padding-left:.3em; border-left:1px solid #CCCCCC; font:small Courier}
-      <!-- single-line (inline) cdata -->
-        .di {font:small Courier}
-      <!-- DOCTYPE declaration -->
-        .d  {color:blue}
-      <!-- pi -->
-        .pi {color:blue}
-      <!-- multi-line (block) comment -->
-        .cb {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
-             padding-left:.3em; font:small Courier; color:#888888}
-      <!-- single-line (inline) comment -->
-        .ci {font:small Courier; color:#888888}
-        PRE {margin:0px; display:inline}
-      </STYLE>
-
-      <SCRIPT type="text/javascript"><xsl:comment><![CDATA[
-        // Detect and switch the display of CDATA and comments from an inline view
-        //  to a block view if the comment or CDATA is multi-line.
-        function f(e)
-        {
-          // if this element is an inline comment, and contains more than a single
-          //  line, turn it into a block comment.
-          if (e.className == "ci") {
-            if (e.children(0).innerText.indexOf("\n") > 0)
-              fix(e, "cb");
-          }
-          
-          // if this element is an inline cdata, and contains more than a single
-          //  line, turn it into a block cdata.
-          if (e.className == "di") {
-            if (e.children(0).innerText.indexOf("\n") > 0)
-              fix(e, "db");
-          }
-          
-          // remove the id since we only used it for cleanup
-          e.id = "";
-        }
-        
-        // Fix up the element as a "block" display and enable expand/collapse on it
-        function fix(e, cl)
-        {
-          // change the class name and display value
-          e.className = cl;
-          e.style.display = "block";
-          
-          // mark the comment or cdata display as a expandable container
-          j = e.parentElement.children(0);
-          j.className = "c";
-
-          // find the +/- symbol and make it visible - the dummy link enables tabbing
-          k = j.children(0);
-          k.style.visibility = "visible";
-          k.href = "#";
-        }
-
-        // Change the +/- symbol and hide the children.  This function works on "element"
-        //  displays
-        function ch(e)
-        {
-          // find the +/- symbol
-          mark = e.children(0).children(0);
-          
-          // if it is already collapsed, expand it by showing the children
-          if (mark.innerText == "+")
-          {
-            mark.innerText = "-";
-            for (var i = 1; i < e.children.length; i++)
-              e.children(i).style.display = "block";
-          }
-          
-          // if it is expanded, collapse it by hiding the children
-          else if (mark.innerText == "-")
-          {
-            mark.innerText = "+";
-            for (var i = 1; i < e.children.length; i++)
-              e.children(i).style.display="none";
-          }
-        }
-        
-        // Change the +/- symbol and hide the children.  This function work on "comment"
-        //  and "cdata" displays
-        function ch2(e)
-        {
-          // find the +/- symbol, and the "PRE" element that contains the content
-          mark = e.children(0).children(0);
-          contents = e.children(1);
-          
-          // if it is already collapsed, expand it by showing the children
-          if (mark.innerText == "+")
-          {
-            mark.innerText = "-";
-            // restore the correct "block"/"inline" display type to the PRE
-            if (contents.className == "db" || contents.className == "cb")
-              contents.style.display = "block";
-            else contents.style.display = "inline";
-          }
-          
-          // if it is expanded, collapse it by hiding the children
-          else if (mark.innerText == "-")
-          {
-            mark.innerText = "+";
-            contents.style.display = "none";
-          }
-        }
-        
-        // Handle a mouse click
-        function cl()
-        {
-          e = window.event.srcElement;
-          
-          // make sure we are handling clicks upon expandable container elements
-          if (e.className != "c")
-          {
-            e = e.parentElement;
-            if (e.className != "c")
-            {
-              return;
-            }
-          }
-          e = e.parentElement;
-          
-          // call the correct funtion to change the collapse/expand state and display
-          if (e.className == "e")
-            ch(e);
-          if (e.className == "k")
-            ch2(e);
-        }
-        
-        // Erase bogus link info from the status window
-        function h()
-        {
-          window.status=" ";
-        }
-
-        // Set the onclick handler
-        document.onclick = cl;
-        
-      ]]>//</xsl:comment></SCRIPT>
-    </HEAD>
-
-    <BODY class="st"><xsl:apply-templates/></BODY>
-
-  </HTML>
-</xsl:template>
-
-<!-- Templates for each node type follows.  The output of each template has a similar structure
-  to enable script to walk the result tree easily for handling user interaction. -->
-  
-<!-- Template for pis not handled elsewhere -->
-<xsl:template match="processing-instruction()">
-  <DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;?</SPAN><SPAN class="pi"><xsl:value-of select="name(.)"/> <xsl:value-of select="."/></SPAN><SPAN class="m">?&gt;</SPAN>
-  </DIV>
-</xsl:template>
-
-<!-- Template for the XML declaration.  Need a separate template because the pseudo-attributes
-    are actually exposed as attributes instead of just element content, as in other pis 
-<xsl:template match="processing-instruction('xml')">
-  <DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;?</SPAN><SPAN class="pi">xml <xsl:for-each select="@*"><xsl:value-of select="name(.)"/>="<xsl:value-of select="."/>" </xsl:for-each></SPAN><SPAN class="m">?&gt;</SPAN>
-  </DIV>
-</xsl:template>
--->
-
-<!-- Template for attributes not handled elsewhere -->
-<xsl:template match="@*"><SPAN class="t"><xsl:text> </xsl:text><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
-
-<!-- Template for attributes in the xmlns or xml namespace
-<xsl:template match="@xmlns:*|@xmlns|@xml:*"><SPAN class="ns"> <xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B class="ns"><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
--->
-
-<!-- Template for text nodes -->
-<xsl:template match="text()">
-  <xsl:choose><xsl:when test="name(.) = '#cdata-section'"><xsl:call-template name="cdata"/></xsl:when>
-  <xsl:otherwise><DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="tx"><xsl:value-of select="."/></SPAN>
-  </DIV></xsl:otherwise></xsl:choose>
-</xsl:template>
-  
-<!-- Template for comment nodes -->
-<xsl:template match="comment()">
-  <DIV class="k">
-  <SPAN><A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A> <SPAN class="m">&lt;!--</SPAN></SPAN>
-  <SPAN id="clean" class="ci"><PRE><xsl:value-of select="."/></PRE></SPAN>
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">--&gt;</SPAN>
-  <SCRIPT>f(clean);</SCRIPT></DIV>
-</xsl:template>
-
-<!-- Template for cdata nodes -->
-<xsl:template name="cdata">
-  <DIV class="k">
-  <SPAN><A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A> <SPAN class="m">&lt;![CDATA[</SPAN></SPAN>
-  <SPAN id="clean" class="di"><PRE><xsl:value-of select="."/></PRE></SPAN>
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">]]&gt;</SPAN>
-  <SCRIPT>f(clean);</SCRIPT></DIV>
-</xsl:template>
-
-<!-- Template for elements not handled elsewhere (leaf nodes) -->
-<xsl:template match="*">
-  <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN> <xsl:apply-templates select="@*"/><SPAN class="m"> /&gt;</SPAN>
-  </DIV></DIV>
-</xsl:template>
-  
-<!-- Template for elements with comment, pi and/or cdata children
-<xsl:template match="*[comment() or processing-instruction() or cdata()]">
-  <DIV class="e">
-  <DIV class="c"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m">&lt;</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/> <SPAN class="m">&gt;</SPAN></DIV>
-  <DIV><xsl:apply-templates/>
-  <DIV><SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;/</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
-  </DIV></DIV>
-</xsl:template> -->
-
-<!-- Template for elements with only text children -->
-<xsl:template match="*[text() and not(comment() or processing-instruction() or *)]">
-  <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/>
-  <SPAN class="m">&gt;</SPAN><SPAN class="tx"><xsl:value-of select="."/></SPAN><SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN>
-  </DIV></DIV>
-</xsl:template>
-
-<!-- Template for elements with element children -->
-<xsl:template match="*[*]">
-  <DIV class="e">
-  <DIV class="c" STYLE="margin-left:1em;text-indent:-2em"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/><SPAN class="m">&gt;</SPAN></DIV>
-  <DIV><xsl:apply-templates/>
-  <DIV><SPAN class="b">&#160;</SPAN><SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
-  </DIV></DIV>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/servlet/default2.xsl b/samples/servlet/default2.xsl
deleted file mode 100644
index 1619f3f..0000000
--- a/samples/servlet/default2.xsl
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0"?>
-
-<!--                                                                                -->
-<!--  Default XSL stylesheet for use by com.lotus.xsl.server#DefaultApplyXSL.       -->
-<!--                                                                                -->
-<!--  This stylesheet mimics the default behavior of IE when XML data is displayed  -->
-<!--  without a corresponding XSL stylesheet.  This stylesheet uses no JavaScript   -->
-<!--  and displays all nodes as fully expanded.                                     -->
-<!--                                                                                -->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-                xmlns="http://www.w3.org/TR/REC-html40">
-                
-<xsl:output method="html" indent="no"/>
-<xsl:strip-space elements="*"/>
-
-<xsl:template match="/">
-  <HTML>
-    <HEAD>
-      <STYLE type="text/css">
-        BODY {font:x-small 'Verdana'; margin-right:1.5em}
-      <!-- container for expanding/collapsing content -->
-        .c  {cursor:hand}
-      <!-- button - contains +/-/nbsp -->
-        .b  {color:red; font-family:'Courier New'; font-weight:bold; text-decoration:none}
-      <!-- element container -->
-        .e  {margin-left:1em; text-indent:-1em; margin-right:1em}
-      <!-- comment or cdata -->
-        .k  {margin-left:1em; text-indent:-1em; margin-right:1em}
-      <!-- tag -->
-        .t  {color:#990000}
-      <!-- tag in xsl namespace -->
-        .xt {color:#990099}
-      <!-- attribute in xml or xmlns namespace -->
-        .ns {color:red}
-      <!-- markup characters -->
-        .m  {color:blue}
-      <!-- text node -->
-        .tx {font-weight:bold}
-      <!-- multi-line (block) cdata -->
-        .db {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
-             padding-left:.3em; border-left:1px solid #CCCCCC; font:small Courier}
-      <!-- single-line (inline) cdata -->
-        .di {font:small Courier}
-      <!-- DOCTYPE declaration -->
-        .d  {color:blue}
-      <!-- pi -->
-        .pi {color:blue}
-      <!-- multi-line (block) comment -->
-        .cb {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
-             padding-left:.3em; font:small Courier; color:#888888}
-      <!-- single-line (inline) comment -->
-        .ci {font:small Courier; color:#888888}
-        PRE {margin:0px; display:inline}
-      </STYLE>
-    </HEAD>
-
-    <BODY class="st"><xsl:apply-templates/></BODY>
-
-  </HTML>
-</xsl:template>
-
-<!-- Templates for each node type follows.  The output of each template has a similar structure
-  to enable script to walk the result tree easily for handling user interaction. -->
-  
-<!-- Template for pis not handled elsewhere -->
-<xsl:template match="processing-instruction()">
-  <DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;?</SPAN><SPAN class="pi"><xsl:value-of select="name(.)"/> <xsl:value-of select="."/></SPAN><SPAN class="m">?&gt;</SPAN>
-  </DIV>
-</xsl:template>
-
-<!-- Template for the XML declaration.  Need a separate template because the pseudo-attributes
-    are actually exposed as attributes instead of just element content, as in other pis 
-<xsl:template match="processing-instruction('xml')">
-  <DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;?</SPAN><SPAN class="pi">xml <xsl:for-each select="@*"><xsl:value-of select="name(.)"/>="<xsl:value-of select="."/>" </xsl:for-each></SPAN><SPAN class="m">?&gt;</SPAN>
-  </DIV>
-</xsl:template>
--->
-
-<!-- Template for attributes not handled elsewhere -->
-<xsl:template match="@*"><SPAN class="t"><xsl:text> </xsl:text><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
-
-<!-- Template for attributes in the xmlns or xml namespace
-<xsl:template match="@xmlns:*|@xmlns|@xml:*"><SPAN class="ns"> <xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B class="ns"><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
--->
-
-<!-- Template for text nodes -->
-<xsl:template match="text()">
-  <xsl:choose><xsl:when test="name(.) = '#cdata-section'"><xsl:call-template name="cdata"/></xsl:when>
-  <xsl:otherwise><DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="tx"><xsl:value-of select="."/></SPAN>
-  </DIV></xsl:otherwise></xsl:choose>
-</xsl:template>
-  
-<!-- Template for comment nodes -->
-<xsl:template match="comment()">
-  <DIV class="k">
-  <SPAN><SPAN class="b" STYLE="visibility:hidden">-</SPAN> <SPAN class="m">&lt;!--</SPAN></SPAN>
-  <SPAN class="cb"><PRE><xsl:value-of select="."/></PRE></SPAN>
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">--&gt;</SPAN>
-  </DIV>
-</xsl:template>
-
-<!-- Template for cdata nodes -->
-<xsl:template name="cdata">
-  <DIV class="k">
-  <SPAN><SPAN class="b" STYLE="visibility:hidden">-</SPAN> <SPAN class="m">&lt;![CDATA[</SPAN></SPAN>
-  <SPAN class="db"><PRE><xsl:value-of select="."/></PRE></SPAN>
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">]]&gt;</SPAN>
-  </DIV>
-</xsl:template>
-
-<!-- Template for elements not handled elsewhere (leaf nodes) -->
-<xsl:template match="*">
-  <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN> <xsl:apply-templates select="@*"/><SPAN class="m"> /&gt;</SPAN>
-  </DIV></DIV>
-</xsl:template>
-  
-<!-- Template for elements with comment, pi and/or cdata children
-<xsl:template match="*[comment() or processing-instruction() or cdata()]">
-  <DIV class="e">
-  <DIV class="c"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m">&lt;</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/> <SPAN class="m">&gt;</SPAN></DIV>
-  <DIV><xsl:apply-templates/>
-  <DIV><SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;/</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
-  </DIV></DIV>
-</xsl:template> -->
-
-<!-- Template for elements with only text children -->
-<xsl:template match="*[text() and not(comment() or processing-instruction() or *)]">
-  <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/>
-  <SPAN class="m">&gt;</SPAN><SPAN class="tx"><xsl:value-of select="."/></SPAN><SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN>
-  </DIV></DIV>
-</xsl:template>
-
-<!-- Template for elements with element children -->
-<xsl:template match="*[*]">
-  <DIV class="e">
-  <DIV class="c" STYLE="margin-left:1em;text-indent:-2em"><SPAN class="b">-</SPAN><SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/> <SPAN class="m">&gt;</SPAN></DIV>
-  <DIV><xsl:apply-templates/>
-  <DIV><SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
-  </DIV></DIV>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/servlet/fooparam.xml b/samples/servlet/fooparam.xml
deleted file mode 100644
index 03c32b5..0000000
--- a/samples/servlet/fooparam.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
diff --git a/samples/servlet/fooparam.xsl b/samples/servlet/fooparam.xsl
deleted file mode 100644
index a6691d1..0000000
--- a/samples/servlet/fooparam.xsl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:param name="param1" select="'default value'"/>
-  <xsl:template match="doc">
-    <html><body><p><xsl:value-of select="$param1"/></p></body></html>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/servlet/media.properties b/samples/servlet/media.properties
deleted file mode 100644
index 1b3cf45..0000000
--- a/samples/servlet/media.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-# This property file is used by com.lotus.xsl.server.DefaultApplyXSL.
-#
-# Each line below specifies a mapping rule between a value contained in the HTTP request's user-Agent 
-# field and a value to be scanned for in XSL stylesheet(s) associated with the XML data. This mapping 
-# enables relationships to be defined between client capabilities and stylesheets capable of acting 
-# on these capabilities.
-#
-# The rules defined below are order-significant.  In other words, if the first rule is unsuccessful,
-# the second rule will be tried, etc.  The media value "unknown" will be used when no rules are
-# satisfied.
-#
-# Example: 
-#
-# Mapping rules of...
-#
-#   MSIE=explorer
-#   MSPIE=pocketexplorer
-#
-# ...and XML data that contains XSL stylesheet associations of...
-#
-# <?xml-stylesheet                 media="explorer"       href="alldata.xsl"  type="text/xsl"?>
-# <?xml-stylesheet alternate="yes" media="pocketexplorer" href="somedata.xsl" type="text/xsl"?>
-#
-# ...and an HTTP request that contains a user-Agent value of...
-#    
-#   foo MSPIE bar
-#
-# ...will apply the XSL stylesheet somedata.xsl.
-#
-MSIE=explorer
-MSPIE=pocketexplorer
-HandHTTP=handweb
-Mozilla=netscape
-Lynx=lynx
-Opera=opera
-Java=java
-AvantGo=avantgo
-Nokia=nokia
-UP.Browser=up
-DoCoMo=imode
diff --git a/samples/servlet/readme.html b/samples/servlet/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/servlet/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/trax/ExampleContentHandler.java b/samples/trax/ExampleContentHandler.java
deleted file mode 100644
index 3e308f4..0000000
--- a/samples/trax/ExampleContentHandler.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.Locator;
-
-public class ExampleContentHandler implements ContentHandler
-{
-  public void setDocumentLocator (Locator locator)
-  {
-    System.out.println("setDocumentLocator");
-  }
-
-
-  public void startDocument ()
-    throws SAXException
-  {
-    System.out.println("startDocument");
-  }
-
-
-  public void endDocument()
-    throws SAXException
-  {
-    System.out.println("endDocument");
-  }
-
-
-  public void startPrefixMapping (String prefix, String uri)
-    throws SAXException
-  {
-    System.out.println("startPrefixMapping: "+prefix+", "+uri);
-  }
-
-
-  public void endPrefixMapping (String prefix)
-    throws SAXException
-  {
-    System.out.println("endPrefixMapping: "+prefix);
-  }
-
-
-  public void startElement (String namespaceURI, String localName,
-                            String qName, Attributes atts)
-    throws SAXException
-  {
-    System.out.print("startElement: "+namespaceURI+", "+namespaceURI+
-                       ", "+qName);
-    int n = atts.getLength();
-    for(int i = 0; i < n; i++)
-    {
-      System.out.print(", "+atts.getQName(i));
-    }
-    System.out.println("");
-  }
-
-
-  public void endElement (String namespaceURI, String localName,
-                          String qName)
-    throws SAXException
-  {
-    System.out.println("endElement: "+namespaceURI+", "+namespaceURI+
-                       ", "+qName);
-  }
-
-
-  public void characters (char ch[], int start, int length)
-    throws SAXException
-  {
-    String s = new String(ch, start, (length > 30) ? 30 : length);
-    if(length > 30)
-      System.out.println("characters: \""+s+"\"...");
-    else
-      System.out.println("characters: \""+s+"\"");
-  }
-
-
-  public void ignorableWhitespace (char ch[], int start, int length)
-    throws SAXException
-  {
-    System.out.println("ignorableWhitespace");
-  }
-
-
-  public void processingInstruction (String target, String data)
-    throws SAXException
-  {
-    System.out.println("processingInstruction: "+target+", "+target);
-  }
-
-
-  public void skippedEntity (String name)
-    throws SAXException
-  {
-    System.out.println("skippedEntity: "+name);
-  }
-
-}
diff --git a/samples/trax/Examples.java b/samples/trax/Examples.java
deleted file mode 100644
index e8efecc..0000000
--- a/samples/trax/Examples.java
+++ /dev/null
@@ -1,880 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import javax.xml.transform.*;
-import javax.xml.transform.sax.*;
-import javax.xml.transform.dom.*;
-import javax.xml.transform.stream.*;
-
-// Needed java classes
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.IOException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.FileNotFoundException;
-
-import java.util.Properties;
-
-// Needed SAX classes
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.Parser;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.XMLReader;
-import org.xml.sax.XMLFilter;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.ext.DeclHandler;
-
-// Needed DOM classes
-import org.w3c.dom.Node;
-
-// Needed JAXP classes
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import java.io.BufferedInputStream;    // dml
-
-/**
- * Some examples to show how the Simple API for Transformations
- * could be used.
- * 
- * Xalan Developers: please see 
- * xml-xalan/test/java/src/org/apache/qetest/trax/ExamplesTest.java
- * when updating this file, and update that test file as well.
- *
- * @author <a href="mailto:scott_boag@lotus.com">Scott Boag</a>
- */
-public class Examples
-{
-  /**
-   * Method main
-   */
-  public static void main(String argv[])
-          throws TransformerException, TransformerConfigurationException, IOException, SAXException,
-                 ParserConfigurationException, FileNotFoundException
-  {
-    System.out.println("\n\n==== exampleSimple ====");
-    try {
-        exampleSimple1("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleSimple2 ====");
-    try {
-        exampleSimple2("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleFromStream ====");
-    try {
-        exampleFromStream("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleFromReader ====");
-    try {
-        exampleFromReader("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleUseTemplatesObj ====");
-    try {
-        exampleUseTemplatesObj("xml/foo.xml", "xml/baz.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleContentHandlerToContentHandler ====");
-    try {
-        exampleContentHandlerToContentHandler("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleXMLReader ====");
-    try {
-        exampleXMLReader("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleXMLFilter ====");
-    try {
-        exampleXMLFilter("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleXMLFilterChain ====");
-    try {
-        exampleXMLFilterChain("xml/foo.xml", "xsl/foo.xsl", "xsl/foo2.xsl", "xsl/foo3.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleDOM2DOM ====");
-    try {
-        exampleDOM2DOM("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleParam ====");
-    try {
-        exampleParam("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleTransformerReuse ====");
-    try {
-        exampleTransformerReuse("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleOutputProperties ====");
-    try {
-        exampleOutputProperties("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleUseAssociated ====");
-    try {
-        exampleUseAssociated("xml/foo.xml");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleContentHandler2DOM ====");
-    try {
-        exampleContentHandler2DOM("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleAsSerializer ====");
-    try {
-        exampleAsSerializer("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleContentHandler2DOM ====");
-    try {
-        exampleContentHandler2DOM("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-
-    System.out.println("\n==== done! ====");
-  }
-  
-  /**
-   * Show the simplest possible transformation from system id 
-   * to output stream.
-   */
-  public static void exampleSimple1(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    // Create a transformer for the stylesheet.
-    Transformer transformer 
-      = tfactory.newTransformer(new StreamSource(xslID));
-    
-    // Transform the source XML to System.out.
-    transformer.transform( new StreamSource(sourceID),
-                           new StreamResult(System.out));
-  }
-  
-  /**
-   * Show the simplest possible transformation from File 
-   * to a File.
-   */
-  public static void exampleSimple2(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    // Create a transformer for the stylesheet.
-    Transformer transformer 
-      = tfactory.newTransformer(new StreamSource(xslID));
-    
-    // Transform the source XML to System.out.
-    transformer.transform( new StreamSource(new File(sourceID)),
-                           new StreamResult(new File("foo.out")));
-  }
-
-  
-  /**
-   * Show simple transformation from input stream to output stream.
-   */
-  public static void exampleFromStream(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException,
-           FileNotFoundException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    InputStream xslIS = new BufferedInputStream(new FileInputStream(xslID));
-    StreamSource xslSource = new StreamSource(xslIS);
-    // Note that if we don't do this, relative URLs can not be resolved correctly!
-    xslSource.setSystemId(xslID);
-
-    // Create a transformer for the stylesheet.
-    Transformer transformer = tfactory.newTransformer(xslSource);
-    
-    InputStream xmlIS = new BufferedInputStream(new FileInputStream(sourceID));
-    StreamSource xmlSource = new StreamSource(xmlIS);
-    // Note that if we don't do this, relative URLs can not be resolved correctly!
-    xmlSource.setSystemId(sourceID);
-    
-    // Transform the source XML to System.out.
-    transformer.transform( xmlSource, new StreamResult(System.out));
-  }
-  
-  /**
-   * Show simple transformation from reader to output stream.  In general 
-   * this use case is discouraged, since the XML encoding can not be 
-   * processed.
-   */
-  public static void exampleFromReader(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException,
-           FileNotFoundException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    // Note that in this case the XML encoding can not be processed!
-    Reader xslReader = new BufferedReader(new FileReader(xslID));
-    StreamSource xslSource = new StreamSource(xslReader);
-    // Note that if we don't do this, relative URLs can not be resolved correctly!
-    xslSource.setSystemId(xslID);
-
-    // Create a transformer for the stylesheet.
-    Transformer transformer = tfactory.newTransformer(xslSource);
-    
-    // Note that in this case the XML encoding can not be processed!
-    Reader xmlReader = new BufferedReader(new FileReader(sourceID));
-    StreamSource xmlSource = new StreamSource(xmlReader);
-    // Note that if we don't do this, relative URLs can not be resolved correctly!
-    xmlSource.setSystemId(sourceID);
-    
-    // Transform the source XML to System.out.
-    transformer.transform( xmlSource, new StreamResult(System.out));
-  }
-
-
- 
-  /**
-   * Show the simplest possible transformation from system id to output stream.
-   */
-  public static void exampleUseTemplatesObj(String sourceID1, 
-                                    String sourceID2, 
-                                    String xslID)
-          throws TransformerException, TransformerConfigurationException
-  {
-
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    // Create a templates object, which is the processed, 
-    // thread-safe representation of the stylesheet.
-    Templates templates = tfactory.newTemplates(new StreamSource(xslID));
-
-    // Illustrate the fact that you can make multiple transformers 
-    // from the same template.
-    Transformer transformer1 = templates.newTransformer();
-    Transformer transformer2 = templates.newTransformer();
-    
-    System.out.println("\n\n----- transform of "+sourceID1+" -----");
-    
-    transformer1.transform(new StreamSource(sourceID1),
-                          new StreamResult(System.out));
-    
-    System.out.println("\n\n----- transform of "+sourceID2+" -----");
-    
-    transformer2.transform(new StreamSource(sourceID2),
-                          new StreamResult(System.out));
-  }
-  
-
-
-  /**
-   * Show the Transformer using SAX events in and SAX events out.
-   */
-  public static void exampleContentHandlerToContentHandler(String sourceID, 
-                                                           String xslID)
-          throws TransformerException, 
-                 TransformerConfigurationException, 
-                 SAXException, IOException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    // Does this factory support SAX features?
-    if (tfactory.getFeature(SAXSource.FEATURE))
-    {
-      // If so, we can safely cast.
-      SAXTransformerFactory stfactory = ((SAXTransformerFactory) tfactory);
-      
-      // A TransformerHandler is a ContentHandler that will listen for 
-      // SAX events, and transform them to the result.
-      TransformerHandler handler 
-        = stfactory.newTransformerHandler(new StreamSource(xslID));
-
-      // Set the result handling to be a serialization to System.out.
-      Result result = new SAXResult(new ExampleContentHandler());
-      handler.setResult(result);
-      
-      // Create a reader, and set it's content handler to be the TransformerHandler.
-      XMLReader reader=null;
-
-      // Use JAXP1.1 ( if possible )
-      try {
-	  javax.xml.parsers.SAXParserFactory factory=
-	      javax.xml.parsers.SAXParserFactory.newInstance();
-	  factory.setNamespaceAware( true );
-	  javax.xml.parsers.SAXParser jaxpParser=
-	      factory.newSAXParser();
-	  reader=jaxpParser.getXMLReader();
-	  
-      } catch( javax.xml.parsers.ParserConfigurationException ex ) {
-	  throw new org.xml.sax.SAXException( ex );
-      } catch( javax.xml.parsers.FactoryConfigurationError ex1 ) {
-	  throw new org.xml.sax.SAXException( ex1.toString() );
-      } catch( NoSuchMethodError ex2 ) {
-      }
-      if( reader==null ) reader = XMLReaderFactory.createXMLReader();
-      reader.setContentHandler(handler);
-      
-      // It's a good idea for the parser to send lexical events.
-      // The TransformerHandler is also a LexicalHandler.
-      reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler);
-      
-      // Parse the source XML, and send the parse events to the TransformerHandler.
-      reader.parse(sourceID);
-    }
-    else
-    {
-      System.out.println(
-        "Can't do exampleContentHandlerToContentHandler because tfactory is not a SAXTransformerFactory");
-    }
-  }
-  
-  /**
-   * Show the Transformer as a SAX2 XMLReader.  An XMLFilter obtained 
-   * from newXMLFilter should act as a transforming XMLReader if setParent is not
-   * called.  Internally, an XMLReader is created as the parent for the XMLFilter.
-   */
-  public static void exampleXMLReader(String sourceID, String xslID)
-          throws TransformerException, TransformerConfigurationException, SAXException, IOException    // , ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    if(tfactory.getFeature(SAXSource.FEATURE))
-    {
-      XMLReader reader 
-        = ((SAXTransformerFactory) tfactory).newXMLFilter(new StreamSource(xslID));
-      
-      reader.setContentHandler(new ExampleContentHandler());
-
-      reader.parse(new InputSource(sourceID));
-    }
-    else
-      System.out.println("tfactory does not support SAX features!");
-  }
-
-  /**
-   * Show the Transformer as a simple XMLFilter.  This is pretty similar
-   * to exampleXMLReader, except that here the parent XMLReader is created 
-   * by the caller, instead of automatically within the XMLFilter.  This 
-   * gives the caller more direct control over the parent reader.
-   */
-  public static void exampleXMLFilter(String sourceID, String xslID)
-          throws TransformerException, TransformerConfigurationException, SAXException, IOException    // , ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    XMLReader reader=null;
-    
-    // Use JAXP1.1 ( if possible )
-    try {
-	javax.xml.parsers.SAXParserFactory factory=
-	    javax.xml.parsers.SAXParserFactory.newInstance();
-	  factory.setNamespaceAware( true );
-	  javax.xml.parsers.SAXParser jaxpParser=
-	    factory.newSAXParser();
-	reader=jaxpParser.getXMLReader();
-	
-    } catch( javax.xml.parsers.ParserConfigurationException ex ) {
-	throw new org.xml.sax.SAXException( ex );
-    } catch( javax.xml.parsers.FactoryConfigurationError ex1 ) {
-	throw new org.xml.sax.SAXException( ex1.toString() );
-    } catch( NoSuchMethodError ex2 ) {
-    }
-    if( reader==null ) reader = XMLReaderFactory.createXMLReader();
-    // The transformer will use a SAX parser as it's reader.    
-    reader.setContentHandler(new ExampleContentHandler());
-    try
-    {
-      reader.setFeature("http://xml.org/sax/features/namespace-prefixes",
-                        true);
-      reader.setFeature("http://apache.org/xml/features/validation/dynamic",
-                        true);
-    }
-    catch (SAXException se)
-    {
-
-      // What can we do?
-      // TODO: User diagnostics.
-    }
-
-    XMLFilter filter 
-      = ((SAXTransformerFactory) tfactory).newXMLFilter(new StreamSource(xslID));
-
-    filter.setParent(reader);
-
-    // Now, when you call transformer.parse, it will set itself as 
-    // the content handler for the parser object (it's "parent"), and 
-    // will then call the parse method on the parser.
-    filter.parse(new InputSource(sourceID));
-  }
-
-  /**
-   * This example shows how to chain events from one Transformer
-   * to another transformer, using the Transformer as a
-   * SAX2 XMLFilter/XMLReader.
-   */
-  public static void exampleXMLFilterChain(
-                                           String sourceID, String xslID_1, 
-                                           String xslID_2, String xslID_3)
-    throws TransformerException, TransformerConfigurationException, SAXException, IOException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    Templates stylesheet1 = tfactory.newTemplates(new StreamSource(xslID_1));
-    Transformer transformer1 = stylesheet1.newTransformer();
-    
-     // If one success, assume all will succeed.
-    if (tfactory.getFeature(SAXSource.FEATURE))
-    {
-      SAXTransformerFactory stf = (SAXTransformerFactory)tfactory;
-      XMLReader reader=null;
-
-      // Use JAXP1.1 ( if possible )
-      try {
-	  javax.xml.parsers.SAXParserFactory factory=
-	      javax.xml.parsers.SAXParserFactory.newInstance();
-	  factory.setNamespaceAware( true );
-	  javax.xml.parsers.SAXParser jaxpParser=
-	      factory.newSAXParser();
-	  reader=jaxpParser.getXMLReader();
-	  
-      } catch( javax.xml.parsers.ParserConfigurationException ex ) {
-	  throw new org.xml.sax.SAXException( ex );
-      } catch( javax.xml.parsers.FactoryConfigurationError ex1 ) {
-	  throw new org.xml.sax.SAXException( ex1.toString() );
-      } catch( NoSuchMethodError ex2 ) {
-      }
-      if( reader==null ) reader = XMLReaderFactory.createXMLReader();
-
-      XMLFilter filter1 = stf.newXMLFilter(new StreamSource(xslID_1));
-      XMLFilter filter2 = stf.newXMLFilter(new StreamSource(xslID_2));
-      XMLFilter filter3 = stf.newXMLFilter(new StreamSource(xslID_3));
-
-      if (null != filter1) // If one success, assume all were success.
-      {
-        // transformer1 will use a SAX parser as it's reader.    
-        filter1.setParent(reader);
-
-        // transformer2 will use transformer1 as it's reader.
-        filter2.setParent(filter1);
-
-        // transform3 will use transform2 as it's reader.
-        filter3.setParent(filter2);
-
-        filter3.setContentHandler(new ExampleContentHandler());
-        // filter3.setContentHandler(new org.xml.sax.helpers.DefaultHandler());
-
-        // Now, when you call transformer3 to parse, it will set  
-        // itself as the ContentHandler for transform2, and 
-        // call transform2.parse, which will set itself as the 
-        // content handler for transform1, and call transform1.parse, 
-        // which will set itself as the content listener for the 
-        // SAX parser, and call parser.parse(new InputSource("xml/foo.xml")).
-        filter3.parse(new InputSource(sourceID));
-      }
-      else
-      {
-        System.out.println(
-                           "Can't do exampleXMLFilter because "+
-                           "tfactory doesn't support asXMLFilter()");
-      }
-    }
-    else
-    {
-      System.out.println(
-                         "Can't do exampleXMLFilter because "+
-                         "tfactory is not a SAXTransformerFactory");
-    }
-  }
-
-  /**
-   * Show how to transform a DOM tree into another DOM tree.
-   * This uses the javax.xml.parsers to parse an XML file into a
-   * DOM, and create an output DOM.
-   */
-  public static Node exampleDOM2DOM(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException, SAXException, IOException,
-    ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    if (tfactory.getFeature(DOMSource.FEATURE))
-    {
-      Templates templates;
-
-      {
-        DocumentBuilderFactory dfactory =
-          DocumentBuilderFactory.newInstance();
-        dfactory.setNamespaceAware(true);
-        DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-        org.w3c.dom.Document outNode = docBuilder.newDocument();
-        Node doc = docBuilder.parse(new InputSource(xslID));
- 
-        DOMSource dsource = new DOMSource(doc);
-        // If we don't do this, the transformer won't know how to 
-        // resolve relative URLs in the stylesheet.
-        dsource.setSystemId(xslID);
-
-        templates = tfactory.newTemplates(dsource);
-      }
-
-      Transformer transformer = templates.newTransformer();
-      DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-      DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-      org.w3c.dom.Document outNode = docBuilder.newDocument();
-      Node doc = docBuilder.parse(new InputSource(sourceID));
-
-      transformer.transform(new DOMSource(doc), new DOMResult(outNode));
-      
-      Transformer serializer = tfactory.newTransformer();
-      serializer.transform(new DOMSource(outNode), new StreamResult(System.out));
-
-      return outNode;
-    }
-    else
-    {
-      throw new org.xml.sax
-        .SAXNotSupportedException("DOM node processing not supported!");
-    }
-  } 
-
-  /**
-   * This shows how to set a parameter for use by the templates. Use 
-   * two transformers to show that different parameters may be set 
-   * on different transformers.
-   */
-  public static void exampleParam(String sourceID, 
-                                  String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    Templates templates = tfactory.newTemplates(new StreamSource(xslID));
-    Transformer transformer1 = templates.newTransformer();
-    Transformer transformer2 = templates.newTransformer();
-
-    transformer1.setParameter("a-param",
-                              "hello to you!");
-    transformer1.transform(new StreamSource(sourceID),
-                           new StreamResult(System.out));
-    
-    System.out.println("\n=========");
-    
-    transformer2.setOutputProperty(OutputKeys.INDENT, "yes");
-    transformer2.transform(new StreamSource(sourceID),
-                           new StreamResult(System.out));
-  }
-  
-  /**
-   * Show the that a transformer can be reused, and show resetting 
-   * a parameter on the transformer.
-   */
-  public static void exampleTransformerReuse(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    // Create a transformer for the stylesheet.
-    Transformer transformer 
-      = tfactory.newTransformer(new StreamSource(xslID));
-    
-    transformer.setParameter("a-param",
-                              "hello to you!");
-    
-    // Transform the source XML to System.out.
-    transformer.transform( new StreamSource(sourceID),
-                           new StreamResult(System.out));
-
-    System.out.println("\n=========\n");
-
-    transformer.setParameter("a-param",
-                              "hello to me!");
-    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-
-    // Transform the source XML to System.out.
-    transformer.transform( new StreamSource(sourceID),
-                           new StreamResult(System.out));
-  }
-
-  /**
-   * Show how to override output properties.
-   */
-  public static void exampleOutputProperties(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    Templates templates = tfactory.newTemplates(new StreamSource(xslID));
-    Properties oprops = templates.getOutputProperties();
-
-    oprops.put(OutputKeys.INDENT, "yes");
-
-    Transformer transformer = templates.newTransformer();
-
-    transformer.setOutputProperties(oprops);
-    transformer.transform(new StreamSource(sourceID),
-                          new StreamResult(System.out));
-  }
-
-  /**
-   * Show how to get stylesheets that are associated with a given
-   * xml document via the xml-stylesheet PI (see http://www.w3.org/TR/xml-stylesheet/).
-   */
-  public static void exampleUseAssociated(String sourceID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    // The DOM tfactory will have it's own way, based on DOM2, 
-    // of getting associated stylesheets.
-    if (tfactory instanceof SAXTransformerFactory)
-    {
-      SAXTransformerFactory stf = ((SAXTransformerFactory) tfactory);
-      Source sources =
-        stf.getAssociatedStylesheet(new StreamSource(sourceID),
-          null, null, null);
-
-      if(null != sources)
-      {
-        Transformer transformer = tfactory.newTransformer(sources);
-
-        transformer.transform(new StreamSource(sourceID),
-                              new StreamResult(System.out));
-      }
-      else
-      {
-        System.out.println("Can't find the associated stylesheet!");
-      }
-    }
-  }
-  
-  /**
-   * Show the Transformer using SAX events in and DOM nodes out.
-   */
-  public static void exampleContentHandler2DOM(String sourceID, String xslID)
-          throws TransformerException, TransformerConfigurationException, SAXException, IOException, ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    // Make sure the transformer factory we obtained supports both
-    // DOM and SAX.
-    if (tfactory.getFeature(SAXSource.FEATURE)
-        && tfactory.getFeature(DOMSource.FEATURE))
-    {
-      // We can now safely cast to a SAXTransformerFactory.
-      SAXTransformerFactory sfactory = (SAXTransformerFactory) tfactory;
-      
-      // Create an Document node as the root for the output.
-      DocumentBuilderFactory dfactory 
-        = DocumentBuilderFactory.newInstance();
-      DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-      org.w3c.dom.Document outNode = docBuilder.newDocument();
-      
-      // Create a ContentHandler that can liston to SAX events 
-      // and transform the output to DOM nodes.
-      TransformerHandler handler 
-        = sfactory.newTransformerHandler(new StreamSource(xslID));
-      handler.setResult(new DOMResult(outNode));
-      
-      // Create a reader and set it's ContentHandler to be the 
-      // transformer.
-      XMLReader reader=null;
-
-      // Use JAXP1.1 ( if possible )
-      try {
-	  javax.xml.parsers.SAXParserFactory factory=
-	      javax.xml.parsers.SAXParserFactory.newInstance();
-	  factory.setNamespaceAware( true );
-	  javax.xml.parsers.SAXParser jaxpParser=
-	      factory.newSAXParser();
-	  reader=jaxpParser.getXMLReader();
-	  
-      } catch( javax.xml.parsers.ParserConfigurationException ex ) {
-	  throw new org.xml.sax.SAXException( ex );
-      } catch( javax.xml.parsers.FactoryConfigurationError ex1 ) {
-	  throw new org.xml.sax.SAXException( ex1.toString() );
-      } catch( NoSuchMethodError ex2 ) {
-      }
-      if( reader==null ) reader= XMLReaderFactory.createXMLReader();
-      reader.setContentHandler(handler);
-      reader.setProperty("http://xml.org/sax/properties/lexical-handler",
-                         handler);
-      
-      // Send the SAX events from the parser to the transformer,
-      // and thus to the DOM tree.
-      reader.parse(sourceID);
-      
-      // Serialize the node for diagnosis.
-      exampleSerializeNode(outNode);
-    }
-    else
-    {
-      System.out.println(
-        "Can't do exampleContentHandlerToContentHandler because tfactory is not a SAXTransformerFactory");
-    }
-  }
-  
-  /**
-   * Serialize a node to System.out.
-   */
-  public static void exampleSerializeNode(Node node)
-    throws TransformerException, TransformerConfigurationException, SAXException, IOException,
-    ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance(); 
-    
-    // This creates a transformer that does a simple identity transform, 
-    // and thus can be used for all intents and purposes as a serializer.
-    Transformer serializer = tfactory.newTransformer();
-    
-    serializer.setOutputProperty(OutputKeys.INDENT, "yes");
-    serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-    serializer.transform(new DOMSource(node), 
-                         new StreamResult(System.out));
-  }  
-  
-  /**
-   * A fuller example showing how the TrAX interface can be used 
-   * to serialize a DOM tree.
-   */
-  public static void exampleAsSerializer(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException, SAXException, IOException,
-    ParserConfigurationException
-  {
-    DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-    DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-    org.w3c.dom.Document outNode = docBuilder.newDocument();
-    Node doc = docBuilder.parse(new InputSource(sourceID));
-
-    TransformerFactory tfactory = TransformerFactory.newInstance(); 
-    
-    // This creates a transformer that does a simple identity transform, 
-    // and thus can be used for all intents and purposes as a serializer.
-    Transformer serializer = tfactory.newTransformer();
-    
-    Properties oprops = new Properties();
-    oprops.put("method", "html");
-    oprops.put("indent-amount", "2");
-    serializer.setOutputProperties(oprops);
-    serializer.transform(new DOMSource(doc), 
-                         new StreamResult(System.out));
-  }
-  
-
-  private static void  handleException( Exception ex ) {
-    System.out.println("EXCEPTION: " );
-    ex.printStackTrace();
-    
-    if( ex instanceof TransformerConfigurationException ) {
-      System.out.println();
-      System.out.println("Internal exception: " );
-      Throwable ex1=((TransformerConfigurationException)ex).getException();
-      ex1.printStackTrace();
-
-      if( ex1 instanceof SAXException ) {
-	  Exception ex2=((SAXException)ex1).getException();
-	  System.out.println("Internal sub-exception: " );
-	  ex2.printStackTrace();
-      }
-    }
-  }
-
-}
diff --git a/samples/trax/xml/baz.xml b/samples/trax/xml/baz.xml
deleted file mode 100644
index 9ecf473..0000000
--- a/samples/trax/xml/baz.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version='1.0'?>
-<foo:document 
-		  xmlns:foo="http://apache.org/foo"
-		  xmlns:bar="http://apache.org/bar">
-<bar:element>MyBaz</bar:element>
-</foo:document>
\ No newline at end of file
diff --git a/samples/trax/xml/foo.xml b/samples/trax/xml/foo.xml
deleted file mode 100644
index 79597ab..0000000
--- a/samples/trax/xml/foo.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version='1.0'?>
-<?xml-stylesheet type="text/xsl" href="../xsl/foo.xsl"?>
-<foo:document 
-		  xmlns:foo="http://apache.org/foo"
-		  xmlns:bar="http://apache.org/bar"
-		  file-name="test"
-         file-path="work"
-		  creation-date="971255692078">
-<bar:element>MyBar</bar:element>
-</foo:document>
\ No newline at end of file
diff --git a/samples/trax/xml/subdir1/foo2.xml b/samples/trax/xml/subdir1/foo2.xml
deleted file mode 100644
index 5708ae4..0000000
--- a/samples/trax/xml/subdir1/foo2.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version='1.0'?>
-<doc>text in foo2.xml</doc>
\ No newline at end of file
diff --git a/samples/trax/xml/subdir1/subdir2/foo3.xml b/samples/trax/xml/subdir1/subdir2/foo3.xml
deleted file mode 100644
index 77da1f0..0000000
--- a/samples/trax/xml/subdir1/subdir2/foo3.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version='1.0'?>
-<doc>text in foo3.xml</doc>
\ No newline at end of file
diff --git a/samples/trax/xsl/baz.xsl b/samples/trax/xsl/baz.xsl
deleted file mode 100644
index c1843b3..0000000
--- a/samples/trax/xsl/baz.xsl
+++ /dev/null
@@ -1,18 +0,0 @@
-<xsl:stylesheet 
-      xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
-    
-  <!-- same as foo.xsl but doesn't include the param because of a bug -->  
-  <xsl:template match="/">
-    <out>
-      <xsl:apply-templates/>
-    </out>
-  </xsl:template>
-      
-  <xsl:template 
-      match="@*|*|text()|processing-instruction()">
-    <xsl:copy>
-      <xsl:apply-templates 
-         select="@*|*|text()|processing-instruction()"/>
-    </xsl:copy>
-  </xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/trax/xsl/foo.xsl b/samples/trax/xsl/foo.xsl
deleted file mode 100644
index b13b945..0000000
--- a/samples/trax/xsl/foo.xsl
+++ /dev/null
@@ -1,27 +0,0 @@
-<xsl:stylesheet 
-      xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'
-      xmlns:bar="http://apache.org/bar"
-      exclude-result-prefixes="bar">
-      
-  <xsl:include href="inc1/inc1.xsl"/>
-      
-  <xsl:param name="a-param">default param value</xsl:param>
-  
-  <xsl:template match="bar:element">
-    <bar>
-      <param-val>
-        <xsl:value-of select="$a-param"/><xsl:text>, </xsl:text>
-        <xsl:value-of select="$my-var"/>
-      </param-val>
-      <data><xsl:apply-templates/></data>
-    </bar>
-  </xsl:template>
-      
-  <xsl:template 
-      match="@*|*|text()|processing-instruction()">
-    <xsl:copy>
-      <xsl:apply-templates 
-         select="@*|*|text()|processing-instruction()"/>
-    </xsl:copy>
-  </xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/trax/xsl/foo2.xsl b/samples/trax/xsl/foo2.xsl
deleted file mode 100644
index b04f5f0..0000000
--- a/samples/trax/xsl/foo2.xsl
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-                xmlns:bar="http://apache.org/bar">
-  
-  <xsl:template match="bar">
-    <out>
-      <xsl:value-of select="."/>
-    </out>
-  </xsl:template>
-  
-  <xsl:template match="text()">
-  </xsl:template>  
- 
-</xsl:stylesheet>
diff --git a/samples/trax/xsl/foo3.xsl b/samples/trax/xsl/foo3.xsl
deleted file mode 100644
index a1bf42a..0000000
--- a/samples/trax/xsl/foo3.xsl
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  
-  <xsl:template match="out">
-    <out>
-      <xsl:apply-templates/>
-    </out>
-  </xsl:template>
-  
-  <xsl:template match="text()">
-    <some-text><xsl:value-of select="."/></some-text>
-  </xsl:template>  
-   
-</xsl:stylesheet>
diff --git a/samples/trax/xsl/inc1/inc1.xsl b/samples/trax/xsl/inc1/inc1.xsl
deleted file mode 100644
index 04ebb25..0000000
--- a/samples/trax/xsl/inc1/inc1.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<xsl:stylesheet 
-      xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
-      
-  <xsl:include href="inc2/inc2.xsl"/>
-  
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/trax/xsl/inc1/inc2/inc2.xsl b/samples/trax/xsl/inc1/inc2/inc2.xsl
deleted file mode 100644
index 36728eb..0000000
--- a/samples/trax/xsl/inc1/inc2/inc2.xsl
+++ /dev/null
@@ -1,4 +0,0 @@
-<xsl:stylesheet 
-      xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
-  <xsl:variable name="my-var" select="'text from my-var in inc2.xsl'"/>
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/src/trax/trax.properties b/src/trax/trax.properties
deleted file mode 100644
index e593c39..0000000
--- a/src/trax/trax.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# $Revision$ $Date$
-#
-# Note: This properties file is provided for illustrative purposes
-#       only and is not part of the interface definition.
-#       This properties file is located in the implementation JAR
-#       and different implementations will specify different
-#       implementation classes and output methods.
-#
-
-# The TRaX Stylesheet processor
-trax.processor.xslt=org.apache.xalan.processor.StylesheetProcessor
diff --git a/todo.xml b/todo.xml
deleted file mode 100644
index 04de0f8..0000000
--- a/todo.xml
+++ /dev/null
@@ -1,402 +0,0 @@
-<?xml version="1.0"?>
-
-<todo title="Things To Do" project="Xalan" major-version="2">
-
- <devs>
-  <!-- in alphabetical order, by last name -->
-  <person name="Scott Boag" email="scott_boag@lotus.com" id="SB" expertise="code">
-    Xalan architect, lead developer on Xalan-J 2.x.
-  </person>
-  <person name="Shane Curcuru" email="Shane_Curcuru@lotus.com" id="SC" expertise="test">
-    Lead tester for API issues, automation framework.
-  </person>
-  <person name="Paul Dick" email="Paul_Dick@lotus.com" id="PD" expertise="test">
-    XSLT Conformance stylesheet issues and Xalan-C testing.
-  </person>
-  <person name="Joseph Kesselman" email="Joseph_Kesselman@lotus.com" id="JK" expertise="code">
-    Xalan-J 2.x developer, compiling/compiled stylesheets experiments.
-  </person>
-  <person name="Donald Leslie" email="donald_leslie@lotus.com" id="DL" expertise="doc">
-    Xalan-J and -C documentation, servlets and samples.
-  </person>
-  <person name="Costin Manolache" email="cmanolache@yahoo.com" id="CM">
-    Xalan-J 2.x developer.
-  </person>
-  <person name="David Marston" email="David_Marston@lotus.com" id="DM" expertise="test">
-    Lead tester for XSLT Conformance stylesheet issues.
-  </person>
-  <person name="Myriam Midy" email="myriam_midy@lotus.com" id="MM" expertise="code">
-    Xalan-J 1.x and 2.x developer.
-  </person>
-  <person name="Gary L Peskin" email="garyp@firstech.com" id="GP" expertise="code">
-    Xalan-J 1.x and 2.x developer, especially extension mechanisim.
-  </person>
-
- </devs>
-
- <actions>
-
-   <target-release-description>
-    <date>01/19/01</date>
-    <level>production</level>
-    <goal type="conformance">XSLT 1.0 and XPath 1.0 compliant, 99% conformance test passage.</goal>
-    <goal type="performance">Reasonable, competative performance. [need metrics]</goal>
-    <goal type="stability">Robust.</goal>
-    <goal type="api">API Complete.</goal>
-    <goal type="documentation">Documentation complete.</goal>
-   </target-release-description>
-
-  <!-- Move to completed section when done. -->
-            
-   <action context="code" category="release">
-      No known actions pending for 2.0.0 release.
-   </action>
-  
- </actions>
-
- <actions priority="long-term" >
-  <!-- Move to completed section when done. -->
-
-   <target-release-description>
-    <date>4/15/01</date>
-    <level>beta</level>
-    <goal type="conformance">XSLT 1.1 and XPath 1.0+addendum compliant, 100% conformance test passage.</goal>
-    <goal type="performance">Very good performance. [need metrics]</goal>
-    <goal type="stability">Stable, reasonable.</goal>
-    <goal type="api">API Complete.</goal>
-    <goal type="documentation">Documentation functionally complete.</goal>
-   </target-release-description>
-   
-   <action context="code" category="conformance" who="GP">
-      Verify that the recomposing procedure for each of the recomposable
-      elements matches the standard (including errata).
-   </action>
-
-   <action context="code" category="conformance" who="GP">
-      Fix xsl:output method= so that it only accepts valid values per the
-      standard (xml, html, text, qname-that-is-not-an-ncname).  I'm looking
-      into where this change should be made.
-   </action>
-
-   <action context="code" category="conformance" who="GP">
-      Verify that the element-available function exhibits the proper
-      behavior according to Errata E7 regarding the interaction between the
-      default namespace and the element-available function.
-   </action>
-
-   <action context="code" category="extensions" who="GP">
-      Add compatibility with XalanJ1 NodeSet extension, so that stylehsheets 
-      can work with both processors.
-   </action>
-
-   <action context="code" category="bug" who="SB">
-    Handle qName paramterer to the ContentHandler methods being an empty string.
-    See note from mikael@ingen.reklam.staldal.nu (Mikael Ståldal), 01/01/2001 09:42 AM.
-   </action>
-
-   <action context="code" category="performance" who="SB">
-    Optimize "." patterns to be ultra simple iterator.
-   </action>
-
-   <action context="code" category="performance" who="SB">
-    Optimize "/foo/baz" patterns that have no variability, to a global space, 
-    and don't re-evaluate each time.
-   </action>
-
-  <action context="code" category="feature">
-    Don published a list of proposed extensions a while ago.
-    I would really like to get these implemented.  This is a good
-    area for part-time contributers, as the extensions have limited scope.
-  </action>
-
-  <action context="code" category="performance">
-    Joe could use help with the stylesheet compiler stuff.
-    Lots of work to be done there.  In particular, I would like to
-    figure out how to inline some simple itterator operations,
-    like select="node()" and select="foo".  Also, we need to figure
-    out how to analyze a particular stylesheet's dependencies, and
-    be able to package just those classes in a jar, along with the
-    compiled classes.
-    <issue id="issue-compiler-for-january-release">I suspect it is unlikely this
-    will be ready in time for this release.</issue>
-  </action>
-
-  <action context="test" category="feature" priority="high">
-    @todo need to find an HTML to DOM parser we can use!!
-    Get a good, apache-licensed HTML-to-DOM parser checked into the 
-    xml-xalan\test\java repository, for use by org.apache.qetest.xsl.XHTComparator
-  </action>
-
-  <action context="test" category="tests" priority="medium">
-    Get more real-world stylesheets checked into xml-xalan\test\tests\contrib.
-    We need more real-life examples of how people are using stylesheets, along 
-    with expected outputs (in contrib-gold) - we can then run our test driver 
-    over the whole set of them easily to get more test points.
-    Note: please feel free to contribute tests here - the committers 
-    will review and move tests into conformance, product, etc. test 
-    areas as needed, but we can always just run ContribTest on any tests.
-  </action>
-
-  <action context="test" category="tests" priority="high">
-    Get extension tests checked into xml-xalan\test\tests\extend
-    We have some at Lotus we need to cleanup and checkin, and we 
-    hope to get more examples from Gary and other list members.
-  </action>
-   
-   <action context="code" category="performance" who="SB">
-    Delete nodes in the source tree when possible.  (?? Note sure if this 
-    is do-able by beta2.)
-    <psuedo-code>
-      1) For each expression, tell if expression can traverse outside it's 
-         subtree.
-      2) For each element, tell if any following elements may need to  
-         access that node.
-      3) In instructions that traverse nodes, once the processing of the 
-         node is completed, remove the node if no following elements may 
-         need to access that node.
-      4) Keep the parse events from getting too far ahead of the transform.
-      
-      TODO: In StepPattern, Ancestors tests with predicates are problematic, 
-      and will require special treatment.
-    </psuedo-code>
-   </action>
-
-  <action context="code" category="feature">
-    XPointer built on the XPath package.
-  </action>
-
-  <action context="code" packages="xpath.axes" category="performance">
-    Schema-savy itterators.
-    This is hard because there is no standard API for schemas yet.
-  </action>
-
-  <action context="code" id="stylesheet-analysis" packages="processor" category="performance">
-    Stylesheet analysis module.  When I call a template, where is it likely to walk in the tree?
-    Can I be sure that it will not walk up again?
-  </action>
-
-  <action context="code" packages="stree" category="performance">
-    Related to stylesheet-analysis, the ability to throw away parts of the tree that have been processed,
-    and we know we won't reuse, based on the stylesheet analysis.
-  </action>
-
-  <action context="code" packages="processor" category="performance">
-    Sub-expression elimination.  When I call a series of
-    xsl:when tests, are there common subexpressions that can be
-    executed once and then shared?
-  </action>
-
-  <action context="code">
-  </action>
-
- </actions>
-
- <completed>
-  <!-- Move action sections to here when completed, and date them. -->
-  
-   <action context="doc" category="documentation" who="SB" completed="01/12/01">
-    Update and add to architecture documentation, including package headers.
-   </action>
-
-   <action context="code" category="error-handling" who="SB" completed="01/06/01">
-    Simplify some of the exception nesting, maybe, and make sure error listeners 
-    are being called for all cases.
-    <note>Fixed bug with XPaths in this area.  Most of the nesting is being caused 
-    by TranformerHandler to SAXException nesting, which can be unnested.</note>
-   </action>
-  
-   <action context="code" category="bug" who="SB" completed="01/06/01">
-    Fix 1.8 problems: extend01 (exception), numberformat 06, numberformat16, output77 (exception).
-    JDK 1.1.8, using xml-xalan\test\ConformanceTest.bat, runharness.bat, and testthreads.bat as-is.
-    <note>The number format stuff is a bug in JDK 1.8 and can't easily be fixed 
-    or hacked.</note>
-   </action>
-
-   <!-- action context="code" category="feature" who="SB" completed="01/04/01">
-    Integrate John Gentilin &lt;johnglinux@eyecatching.com> code, 
-    for SQL Extension Enhancements.
-   </action  (CHANGES BACKED OUT OF) -->
-
-   <action context="code" category="bug" who="SB" completed="01/04/01">
-    Implement xsl:strip-space for generic DOM processing.
-   </action>
-
-   <action context="code" category="performance" who="SB" completed="01/03/01">
-    For default transformer, do direct transform without stylesheet.
-   </action>
-   
-   <action context="code" category="documentation" who="SB" completed="01/01/01">
-    Fix some javadoc headers that still have old XalanJ1 text.  For instance, 
-    TransformerImpl.
-   </action>
-  
-   <action context="code" category="bugs" who="SB" completed="12/31/00">
-    Fix bug with Shane's s2s test hang.
-   </action>
-   
-   <action context="code" category="bugs" who="SB, JK" completed="12/31/00">
-    Fix bug with rare intermittent failures, probably in the STree.
-    <note>Verification testing on JK's machine needed.</note>
-   </action>
-
-   <action context="code" category="performance" who="SB" completed="12/26/00">
-    Optimize "/foo/baz" patterns to use simple child walkers.
-   </action>
-  
-  <action context="test" who="SC" category="minitest" priority="medium" completed="12/08/00">
-    Create Minitest automated test for developers to run before checkin; 
-    verifies basic functionality of TRAX interface and Xalan processor. 
-    (Still todo, minor: get xalan-dev list to vote to use this)
-  </action>
-
-  <action context="code" category="architecture" priority="high" who="SB" completed="12/10/00">
-    Fix remaining axes tests.
-  </action>
-
-  <action context="code" category="performance" priority="high" who="MM" completed="12/8/00">
-    When using STree for the input, use STree for the document() and
-    result tree fragments.
-  </action>
-
-  <action context="code" category="architecture, conformance" priority="high" who="SB" completed="12/06/00">
-    Restructure OutputFormat class to be based on properties.  Make sure 
-    include/import conformance is correct.
-  </action>
-  
-  <action context="code" category="architecture" priority="high" who="SB" completed="12/06/00">
-    Make entities in the html serializer to be resource file driven.
-  </action>
-  
-  <action context="code" category="architecture" priority="high" who="SB" completed="12/06/00">
-    Removed linefeed normalization from serializers.  I think.
-  </action>
-
-  <action context="code" completed-date="10/31/00">
-    Make this todo list.
-  </action>
-
-  <action context="code" who="SB"  category="trax" completed-date="11/06/00">
-    implement javax.trax interfaces.
-  </action>
-
-  <action context="code" packages="serialize" who="SB"  category="feature"
-          completed-date="11/17/00">
-    Implement DOMSerializer on SerializerToXML.
-  </action>
-
-  <action context="code" who="SB" packages="xpath.axes" category="performance"
-          priority="high" completed-date="11/17/00">
-    implement fast iterator for "foo" pattern.
-  </action>
-
-  <action context="code" who="MM" category="performance" priority="high" completed-date="11/29/00">
-    optimize xsl:key and key() stuff by building hash table of iterators for
-    each key.
-  </action>
-
-  <action context="code" category="code-cleanup" priority="medium" completed="12/01/00">
-    Clean up treatment of null namespaces, re "" vs. null.
-    <completed-comment>I consider this to be pretty good in most places.  "" 
-    equals the default namespace.  No pending plans for action, other than ongoing 
-    cleanup and javadoc as it occurs.</completed-comment>
-  </action>
-  
-  <action context="code"  category="conformance" priority="high" completed="12/10/00">
-    Implement namespace aliasing.
-  </action>
-
-  <action context="code" packages="templates" category="conformance" priority="medium"
-          note="done?" completed="11/29/00">
-    Catch multiple definitions of a variable with the same name and scope.
-  </action>
-  
-  <action context="code" category="code-cleanup" priority="medium" completed="11/25/00">
-    Move org.apache.xalan.utils package to org.apache.xml.utils.
-    remove resource dependencies on xalan and/or xpath package.
-  </action>
-  
-  <action context="code" category="code-cleanup, performance" packages="templates"
-   priority="medium" who="GP" completed="11/30/00">
-    Refactored the recompose logic to operate more cleanly and quickly. Fixed TemplateList
-    to properly order templates.
-  </action>
-  
-  <action context="code" category="code-cleanup" packages="extensions"
-   priority="medium" who="GP" completed="10/29/00">
-    Improved error reporting for java extension method errors.
-  </action>
-  
-  <action context="code" category="documentation" priority="medium" who="GP" completed="11/23/00">
-    Updated documentation for Extension Handling to conform to the new extension mechanism.
-  </action>
-  
-  <action context="code" category="feature" priority="medium" who="GP" completed="12/03/00">
-    Changed extension mechanism to load extensions using the thread's ContextClassLoader,
-    if available.
-  </action>
-  
-  <action context="code" category="feature" packages="extensions" 
-   priority="medium" who="GP" completed="11/28/00">
-    Implement tokenize extension.  Implement element-available and function-available for
-    built-in elements and functions.
-  </action>
-  
-  <action context="code" category="code-cleanup" packages="extensions" 
-   priority="medium" who="GP" completed="11/07/00">
-     Fix handling of xsl:fallback elements within extension elements that process their own
-     code (like redirect).
-  </action>
-  
-  <action context="code" category="code-cleanup" packages="compiler" 
-   priority="medium" who="GP" completed="11/09/00">
-     Cleaned up compiler handling of getWhatToShow() to result in cleaner code and provide
-     a more accurate filter.
-  </action>
-  
-  <action context="code" who="SB" packages="xpath.axes" category="performance" priority="high" completed="12/13/00">
-    implement fast iterator for "@foo" pattern.
-  </action>
-
-  <action context="code" who="SB" packages="xpath.axes" category="performance" priority="high" completed="12/14/00">
-    implement fast iterator for "//foo" pattern.
-  </action>
-  
-   <action context="code" category="code-cleanup" who="DL" packages="xalanservlet" priority="medium" completed="12/15/00">
-     Rewrite the sample servlet to use the TrAX interfaces and eliminate setting system properties
-     within the servlet.
-  </action>  
-
-  <action context="code" who="SB" packages="org.apache.xalan.serialize" category="samples" priority="high" completed="12/16/00">
-    Fix the serializer so it can serialize arbitrary XPath expression results (other than Document nodes).
-    As it currently stands, the ApplyXPath sample only works when you give it an expression that returns 
-    the entire Document.
-  </action>
-  
-  <action context="code" category="documentation" priority="high" completed="12/17/00">
-    Fill in all NEEDSDOC sections.
-  </action>
-
-  <action context="code" category="code-cleanup" who="DL" packages="xalan.client" priority="medium" completed="12/17/00">
-    Rewrite the client applet to use the TrAX interfaces, and move fetching of source
-    documents and stylesheets to the trusted worker thread to get around IE security restrictions.
-  </action>
-
-  <action context="code"  category="conformance" priority="high" completed="12/19/00">
-    Check relative URL resolution with notations and unparsed entities.
-    Not sure if there is a bug here.  See note from Thomal Maesing on
-    10/24/2000, titled "Antwort: Re:".
-  </action>
-
-  <action context="test" category="feature" priority="high" completed="12/19/00">
-    Update the xml-xalan\test\viewResults.xsl stylesheet to show 
-    differences between two result files from the same test (eg.
-    show differences from a results-before.xml run before a developer 
-    makes a change, with results-after.xml, which was after the 
-    developer's change.)
-    This could be a bunch of stuff added to viewResults.xsl or could 
-    be a separate stylesheet. See <b>SC</b> for details.
-  </action>
-
- </completed>
-
-</todo>
diff --git a/todo.xsl b/todo.xsl
deleted file mode 100644
index 2406854..0000000
--- a/todo.xsl
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-  <xsl:template match="/">
-    <HTML>
-      <HEAD>
-         <TITLE>Xalan-Java Version 2</TITLE>
-      </HEAD>
-      <BODY>
-        <!-- H1>Xalan for Java Version 2</H1 -->
-        <H2>Xalan for Java Version 2: <xsl:value-of select="todo/@title"/></H2>
-        <p><font size="-1">See a 
-          <xsl:element name="a">
-            <xsl:attribute name="href">#developer-list</xsl:attribute>
-            <xsl:text>list of developers/initials.</xsl:text>
-          </xsl:element>
-        </font></p>
-        <font size="-1"><p>Planned releases: 
-            <BR/><xsl:for-each select="todo/actions/target-release-description">
-              <xsl:element name="a">
-                <xsl:attribute name="href">#release-date-<xsl:value-of select="date"/></xsl:attribute>
-                <xsl:value-of select="date"/>
-              </xsl:element><xsl:text> </xsl:text><xsl:text> </xsl:text>
-            </xsl:for-each>
-            <xsl:element name="a">
-                <xsl:attribute name="href">#release-date-completed</xsl:attribute>
-                <xsl:text>Completed</xsl:text>
-              </xsl:element>
-
-        </p></font>
-        <xsl:for-each select="todo">
-          <xsl:for-each select="actions">
-              <xsl:for-each select="target-release-description">
-                <p>
-                  <xsl:apply-templates/>
-                </p>
-              </xsl:for-each>
-              <xsl:for-each select="action">
-                <xsl:if test="normalize-space(.)">
-                  <p>
-                   <xsl:number/>) <xsl:apply-templates/>
-                   <xsl:if test="@*">
-                    <BR/>
-                   </xsl:if>
-                   <xsl:apply-templates select="@*"/>
-                  </p>
-                </xsl:if>
-            </xsl:for-each>
-            <HR/>
-          </xsl:for-each>
-
-          <xsl:for-each select="completed">
-              <xsl:element name="a">
-                <xsl:attribute name="name">release-date-completed</xsl:attribute>
-                <H3>Completed: </H3>
-              </xsl:element>
-            <xsl:for-each select="action">
-              <xsl:if test="normalize-space(.)">
-                <p>
-                 <xsl:number/>) <xsl:apply-templates/>
-                 <xsl:if test="@*">
-                  <BR/>
-                 </xsl:if>
-                 <xsl:apply-templates select="@*"/>
-                </p>
-              </xsl:if>
-          </xsl:for-each>
-          <HR/>
-        </xsl:for-each>
-
-        <xsl:call-template name="developer-list"/>
-       </xsl:for-each>
-
-      </BODY>
-    </HTML>
-  </xsl:template>
-
-  <xsl:template match="action/@*">
-  <!-- Add link to the who attributes to corresponding item in developer-list -->
-    <b><xsl:value-of select="name(.)"/>:</b><xsl:text> </xsl:text>
-      <xsl:choose>
-        <xsl:when test="name(.)='who'">
-          <xsl:element name="a">
-            <xsl:attribute name="href">#personref-<xsl:value-of select="."/></xsl:attribute>
-            <xsl:value-of select="."/>
-          </xsl:element>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="."/>
-        </xsl:otherwise>
-      </xsl:choose>
-    <xsl:if test="not (position()=last())">
-      <xsl:text>, </xsl:text>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/date">
-      <xsl:element name="a">
-        <xsl:attribute name="name">release-date-<xsl:value-of select="."/></xsl:attribute>
-        <b><xsl:text>For release: </xsl:text><xsl:value-of select="."/></b>
-      </xsl:element>
-    
-  </xsl:template>
-
-  <xsl:template match="issue">
-    <BR/><b>Issue </b><xsl:text>[</xsl:text><xsl:value-of select="@id"/>
-    <xsl:text>]: </xsl:text>
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/level">
-    <xsl:text>, </xsl:text><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/goal">
-    <BR/><b>Goal </b><xsl:text>[</xsl:text><xsl:value-of select="@type"/>
-    <xsl:text>]: </xsl:text>
-    <xsl:apply-templates/>
-  </xsl:template>
-
-
-  <xsl:template name="developer-list">
-    <H3>
-      <xsl:element name="a">
-        <xsl:attribute name="name">developer-list</xsl:attribute>
-        <xsl:text>Developers:</xsl:text>
-      </xsl:element>
-    </H3>
-    <p>A list of some of people working on Xalan currently:</p>
-    <ul>
-    <xsl:for-each select="devs/person">
-      <li>
-        <a href="mailto:{@email}">
-          <xsl:value-of select="@name"/>
-        </a>
-         <xsl:element name="a">
-           <xsl:attribute name="name"><xsl:text>personref-</xsl:text><xsl:value-of select="@id"/></xsl:attribute>
-           <xsl:text> (</xsl:text><xsl:value-of select="@id"/><xsl:text>)</xsl:text>
-         </xsl:element>
-         <BR/><xsl:value-of select="."/>
-      </li>
-    </xsl:for-each>
-    </ul>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/trax_bugs.xml b/trax_bugs.xml
deleted file mode 100644
index cb6f9c5..0000000
--- a/trax_bugs.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<?xm-well_formed path="E:\xml-xalan\java\bugs.dtd"?>
-<!-- This should contain *only* SPRs (Software Problem Reports) for the TrAX API 
-     interfaces and classes. -->
-<Sprs><Spr><Name>TRAXSPR0001</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc>SAXTransformerFactoty#FEATURE should document support for all TransformerFactories.</TestDesc><Details><![CDATA[In SAXTransformerFactoty:
-
-    /** If {@link javax.xml.transform.TransformerFactory#getFeature}
-     * returns true when passed this value as an argument,
-     * the TransformerFactory returned from
-     * {@link javax.xml.transform.TransformerFactory#newInstance} may
-     * be safely cast to a SAXTransformerFactory.
-     */
-    public static final String FEATURE =
-
-I propose you remove the phrase "returned from
-TransforerFactory.newInstance". Isn't the intent that feature testing
-can be done on all TransformerFactories, regardless how they are
-created? It can be like this instead:
-
-    /** If {@link javax.xml.transform.TransformerFactory#getFeature}
-     * returns true when passed this value as an argument,
-     * the TransformerFactory can be safely cast to a
-     * SAXTransformerFactory.
-     */]]></Details></Spr><Spr><Name>TRAXSPR0002</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc>OutputKeys#method should document qname instead of qname-but-not-ncname</TestDesc><Details><![CDATA[In OutputKeys:
-
-    /**
-     * method = "xml" | "html" | "text" | <var>qname-but-not-ncname</var>.
-     *
-     * <p>The method attribute identifies the overall method that
-     * should be used for outputting the result tree.  Other
-     * non-namespaced values may be used,
-
-This is contradictary, change "qname-but-not-ncname" to "qname".]]></Details></Spr>
-<Spr><Name>TRAXSPR0003</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc></TestDesc><Details><![CDATA[]]></Details></Spr>
-<Spr><Name>TRAXSPR0004</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc></TestDesc><Details><![CDATA[]]></Details></Spr>
-<Spr><Name>TRAXSPR0005</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc></TestDesc><Details><![CDATA[]]></Details></Spr>
-
-</Sprs>
diff --git a/xdocs/sources/design/compilation.gif b/xdocs/sources/design/compilation.gif
deleted file mode 100644
index 675d7d4..0000000
--- a/xdocs/sources/design/compilation.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/conceptual.gif b/xdocs/sources/design/conceptual.gif
deleted file mode 100644
index 283fee5..0000000
--- a/xdocs/sources/design/conceptual.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/data.gif b/xdocs/sources/design/data.gif
deleted file mode 100644
index 0f28a17..0000000
--- a/xdocs/sources/design/data.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/design2_0_0.xml b/xdocs/sources/design/design2_0_0.xml
deleted file mode 100644
index d0fc2e5..0000000
--- a/xdocs/sources/design/design2_0_0.xml
+++ /dev/null
@@ -1,272 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
-<s1 title="Xalan-J 2.0 Design">
-  <p><link>Xalan-J 2.0 Design</link><img src="xmllogo.gif" alt="xmllogo.gif"/></p>
-  <p>Author: Scott Boag<br/>State: In Progress</p>
-  <ul> 
-	   <li><link anchor="intro">Introduction</link></li>
- 	   <li><link anchor="requirements">Xalan Requirements</link></li>
-	   <li><link anchor="overarch">Overview of Architecture</link></li>
-	   <li><link anchor="process">Process Module</link></li>
-	   <li><link anchor="templates">Templates Module</link></li>
-	   <li><link anchor="transformer">Transformer Module</link></li>
-       <ul>
-         <li><link anchor="stree">Stree Module</link></li>
-         <li><link anchor="extensions">Extensions Module</link></li>
-     </ul>
-	   <li><link anchor="xpath">XPath Module</link></li>
-       <ul><li><link anchor="xpathdbconn">XPath Database Connection</link></li></ul>
-	   <li><link anchor="utils">Utils Package</link></li>         
-	   <li><link anchor="other">Other Packages</link></li>         
-	   <li><link anchor="compilation">Xalan Stylesheet Complilation to Java</link></li><li><link anchor="optimizations">Future Optimizations</link></li><li><link anchor="coding">Coding Conventions</link></li>
-	        
-   <li><jump href="../apidocs/index.html">Xalan-J 2.0 Javadoc</jump></li>
-  </ul><anchor name="intro"/>
-  <s2 title="Introduction"> 
-	 <p><link>Introduction</link></p> 
-	 <p>This document presents the basic design for Xalan-J 2.0, which is a
-		<jump href="http://www.awl.com/cseng/titles/0-201-89542-0/techniques/refactoring.htm">refactoring</jump>
-		and redesign of the Xalan-J 1.x processor.   This document will expand and grow over time, and is also incomplete in some sections, though hopefully overall accurate.  The reader should be able to get a good overall idea of the internal design of Xalan, and begin to understand the process flow, and also the technical challanges.</p> 
-	 <p>The main goals of this redesign are
-		to: </p><ol> 
-		<li>Make the design and code more understandable by Open Source
-		  people.</li> 
-		<li>Reduce code size and complexity.</li>
-		<li>By simplifying the code, make optimization easier.</li> 
-		<li>Make modules generally more localized, and less tangled with other
-		  modules.</li> 
-		<li>Conform to the <jump href="http://java.sun.com/aboutJava/communityprocess/jsr/jsr_063_jaxp11.html">javax.xml.transform  (TrAX [Transformations for XML])</jump> interfaces.</li> 
-	 <li>Increase the ability to incrementally produce the result tree.</li></ol> 
-	 <p>The techniques used toward these goals are to:</p> 
-	 <ol> 
-		<li>In general, flatten the hierarchy of packages, in order to make the
-		  structure more apparent from the top-level view.</li> 
-		<li>Break the construction and the validation of the XSLT stylesheet from
-		  the stylesheet objects themselves.</li>
-		<li>Drive the construction of the stylesheet through a table, so that it
-		  is less prone to error.</li> 
-		<li>Break the transformation process into a separate package, away from
-		  the stylesheet objects.</li> 
-		<li>Create this design document, as a starting point for people interested in
-		  approaching the code.</li> 
-	 </ol> 
-	 <p>The goals are not:</p> 
-	 <ol> 
-		<li>To add more features in the progress of this refactoring. This is
-		  design and code clean-up in order to meet the above-named goals. We expect that it will be <em>much</em> easier to add
-		  features once this work is completed.</li> 
-		<li>To optimize code for the sake of optimization. However, we
-		  expect that the code will be faster once this work is complete.</li> 
-	 </ol> 
-	 <p>How well we've achieved the goals will be measured by feedback from the
-		<jump href="http://archive.covalent.net/">Xalan-dev</jump> list, and by software metrics tools.</p> 
-	 <p>Please note that the diagrams in this design document are meant to be
-		useful abstractions, and may not always be exact.</p> 
-  </s2><anchor name="requirements"/> 
-  <s2 title="Xalan Requirements"><p><link>Xalan Requirements</link></p><p>These are the concrete general requirements of Xalan, as I understand them, and covering both the Java and C++ versions.  These requirements have been built up over time by experience with product groups and general users.</p><ol><li>Java, C++ Versions.</li><li>XSLT 1.0 conformance, and beyond. (i.e. conform to the current W3C recommendation).</li><li>Have design and Code understandable by Open Source Community.</li><li>Ability to interoperate with standard APIs.  (SAX2, DOM2, JAXP)  [this is currently Less of an issue with C++].</li><li>High Performance (Raw performance, Incremental ability, Scaleability to large documents, Reduction of Garbage Collection for the Java version.)</li><li>Tooling API (Access stylesheet data structures, Access source node from result event, Ask runtime questions, Debugging API).</li><li>Support addressing of XML in standalone fashion (i.e. XPath API).</li><li>Extensibility (Ability to call Java, Ability to call JavaScript, other languages).</li><li>Multiple data sources (JDBC, LDAP, other data sources, Direct XML repository coupling).</li></ol></s2><anchor name="overarch"/> 
-  <s2 title="Overview of Architecture"> 
-	 <p><link>Overview of Architecture</link></p><p>The following diagram shows the XSLT abstract processing model.  A transformation expressed in XSLT describes rules for transforming a <jump href="http://www.w3.org/TR/xpath#data-model">Source Tree </jump> into a result tree. The transformation is achieved by associating patterns with templates. A pattern is matched against elements in the source tree. A template is instantiated to create part of the result tree. The result tree is separate from the source tree. The structure of the result tree can be completely different from the structure of the source tree. In constructing the result tree, elements from the source tree can be filtered and reordered, and arbitrary structure can be added.
-
-</p><p>The term "tree", as used within this document, describes an
-			 abstract structure that consists of nodes or events that may be produced by
-			 XML. A Tree physically may be a DOM tree, a series of well balanced parse
-			 events (such as those coming from a SAX2 ContentHander), a series of requests
-			 (the result of which can describe a tree), or a stream of marked-up
-			 characters.</p><p><img src="xslt_abstract.gif" alt="xslt_abstract.gif"/></p><p>The primary interface for Xalan 2.0 external usage is defined in the <jump href="../apidocs/javax/xml/transform/package-summary.html#package_description">javax.xml.transform</jump> interfaces.  These interfaces define a standard and powerful interface to perform tree-based transformations.</p> 
-	 <p>The internal architecture of Xalan 2.0 is divided into four major modules, and various smaller
-		modules. The main modules are:</p> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/processor/package-summary.html">org.apache.xalan.processor</jump></code></label> 
-		<item>The module that processes the stylesheet, and provides the main
-		  entry point into Xalan.</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/templates/package-summary.html">org.apache.xalan.templates</jump></code></label> 
-		<item>The module that defines the stylesheet structures, including the
-		  Stylesheet object, template element instructions, and Attribute Value
-		  Templates. </item> 
-	 </gloss> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/transformer/package-summary.html">org.apache.xalan.transformer</jump></code></label> 
-		<item>The module that applies the source tree to the Templates, and
-		  produces a result tree.</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xpath/package-summary.html">org.apache.xpath</jump></code></label> 
-		<item>The module that processes both XPath expressions, and XSLT Match
-		  patterns.</item> 
-	 </gloss> 
-	 <p>In addition to the above modules, Xalan implements the
-		<jump href="../apidocs/javax/xml/transform/package-summary.html#package_description">javax.xml.transform</jump> interfaces, and depends on the
-	 <jump href="http://www.megginson.com/SAX/Java/index.html">SAX2</jump> and <jump href="http://www.w3.org/TR/DOM-Level-2/">DOM</jump> packages.
-</p><p><img src="trax.gif" alt="trax.gif"/></p><p>There is also a general utilities package that contains both XML utility
-	 classes such as QName, but generally useful classes such as
-	 StringToIntTable.</p> 
-	 <p>In the diagram below, the dashed lines denote visibility. All packages
-		access the SAX2 and DOM packages.</p> 
-	 <p><img src="xalan1_1x1.gif" alt="xalan1_1x1.gif"/></p> 
-	 <p>In addition to the above packages, there are the following additional
-		packages:</p> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/client/package-summary.html">org.apache.xalan.client</jump></code></label> 
-		<item>This package has a client applet. I suspect this should be moved
-		  into the samples directory.</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/extensions/package-summary.html">org.apache.xalan.extensions</jump></code></label> 
-		<item>This holds classes belonging to the Xalan extensions mechanism,
-		  which allows Java code and script to be called from within a stylesheet.</item>
-		
-	 </gloss> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/lib/package-summary.html">org.apache.xalan.lib</jump></code></label> 
-		<item>This is the built-in Xalan extensions library, which holds
-		  extensions such as Redirect (which allows a stylesheet to produce multiple
-		  output files).</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/res/package-summary.html">org.apache.xalan.res</jump></code></label> 
-		<item>This holds resource files needed by Xalan, such as error message
-		  resources.</item> 
-	 </gloss> 
-	  
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/trace/package-summary.html">org.apache.xalan.trace</jump></code></label> 
-		<item>This package contains classes and interfaces that allow a caller to
-		  add trace listeners to the transformation, allowing an interface to XSLT
-		  debuggers and similar tools.</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><code><jump href="../apidocs/org/apache/xalan/xslt/package-summary.html">org.apache.xalan.xslt</jump></code></label> 
-		<item>This package holds the Xalan2 command line processor.</item> 
-	 </gloss> 
-  <p>A more conceptual view of this architecture is as follows:</p><p><img src="conceptual.gif" alt="Picture of conceptual architecture."/></p></s2><anchor name="process"/> 
-  <s2 title="Process Module"> 
-	 <p><link>Processor Module</link></p> 
-	 <p>The <code><jump href="../apidocs/org/apache/xalan/processor/package-summary.html">org.apache.xalan.processor</jump></code> module implements the
-		<code><jump href="../apidocs/javax/xml/transform/TransformerFactory.html">javax.xml.transform.TransformerFactory</jump></code> interface, which provides a
-		factory method for creating a concrete Processor instance, and provides methods
-		for creating a <code><jump href="../apidocs/javax/xml/transform/Templates.html">javax.xml.transform.Templates</jump></code> instance, which, in
-		Xalan and XSLT terms, is the Stylesheet. Thus the task of the process module is
-		to read the XSLT input in the form of a file, stream, SAX events, or a DOM
-		tree, and produce a Templates/Stylesheet object.</p> 
-	 <p>The overall strategy is to define a schema in that dictates the legal
-		structure for XSLT elements and attributes, and to associate with those
-		elements construction-time processors that can fill in the appropriate fields
-		in the top-level Stylesheet object, and also associate classes in the templates
-		module that can be created in a generalized fashion. This makes the validation
-		object-to-class associations centralized and declarative.</p> 
-	 <p>The schema's root class is
-		<code><jump href="../apidocs/org/apache/xalan/processor/XSLTSchema.html">org.apache.xalan.processor.XSLTSchema</jump></code>, and it is here that the
-		XSLT schema structure is defined. XSLTSchema uses
-		<code><jump href="../apidocs/org/apache/xalan/processor/XSLTElementDef.html">org.apache.xalan.processor.XSLTElementDef</jump></code> to define elements, and
-		<code><jump href="../apidocs/org/apache/xalan/processor/XSLTAttributeDef.html">org.apache.xalan.processor.XSLTAttributeDef</jump></code> to define attributes.
-		Both classes hold the allowed namespace, local name, and type of element or
-		attribute. The XSLTElementDef also holds a reference to a
-		<code><jump href="../apidocs/org/apache/xalan/processor/XSLTElementProcessor.html">org.apache.xalan.processor.XSLTElementProcessor</jump></code>, and a sometimes a
-		<code>Class</code> object, with which it can create objects that derive from
-		<code><jump href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html">org.apache.xalan.templates.ElemTemplateElement</jump></code>. In addition, the
-		XSLTElementDef instance holds a list of XSLTElementDef instances that define
-		legal elements or character events that are allowed as children of the given
-		element.</p> 
-	 <p>The implementation of the <code><jump href="../apidocs/javax/xml/transform/TransformerFactory.html">javax.xml.transform.TransformerFactory</jump></code>
-		interface is in <code><jump href="../apidocs/org/apache/xalan/processor/TransformerFactoryImpl.html">org.apache.xalan.processor.TransformerFactoryImpl</jump></code>,
-		which creates a <code><jump href="../apidocs/org/apache/xalan/processor/StylesheetHandler.html">org.apache.xalan.processor.StylesheetHandler</jump></code>
-		instance. This instance acts as the ContentHandler for the parse events, and is
-		handed to the <code><jump href="../apidocs/org/xml/sax/XMLReader.html">org.xml.sax.XMLReader</jump></code>, which the StylesheetProcessor
-		uses to parse the XSLT document. The <code>StylesheetHandler</code> then receives the parse
-		events, which maintains the state of the construction, and passes the events on
-		to the appropriate <code>XSLTElementProcessor</code> for the given event, as dictated by the
-		<code>XSLTElementDef</code> that is associated with the given event.</p> 
-	 </s2><anchor name="templates"/> 
-  <s2 title="Templates Module"> 
-	 <p><link>Templates Module</link></p> 
-	 <p>The <code><jump href="../apidocs/org/apache/xalan/templates/package-summary.html">org.apache.xalan.templates</jump></code> module implements the
-		<code><jump href="../apidocs/javax/xml/transform/Templates.html">javax.xml.transform.Templates</jump></code> interface, and defines a set of
-		classes that represent a Stylesheet. The primary purpose of this module is to
-		hold stylesheet data, not to perform procedural tasks associated with the
-		construction of the data, nor tasks associated with the transformation itself.
-		</p> 
-	 <p>The base class of all templates objects that are associated with an XSLT element is the <code><jump href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html">ElemTemplateElement</jump></code> object, which in turn implements <code><jump href="../apidocs/org/apache/xml/utils/UnImplNode.html">UnImplNode</jump></code>.   A <code>ElemTemplateElement</code> object must be immutable once it's constructed, so that it may be shared among multiple threads concurrently.  Ideally, a <code>ElemTemplateElement</code> should be a data object only, and be used via a visitor pattern.  However, in practice this is impractical, because it would cause too much data exposure and would have a significant impact on performance.  Therefore, each <code>ElemTemplateElement</code> class has an <code><jump href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html#execute(org.apache.xalan.transformer.TransformerImpl, org.w3c.dom.Node, org.apache.xml.utils.QName)">execute</jump></code> method where it performs it's transformation duties.  A <code>ElemTemplateElement</code> also knows it's position in the source stylesheet, and can answer questions about current namespace nodes.</p><p>A <code><jump href="../apidocs/org/apache/xalan/templates/StylesheetRoot.html">StylesheetRoot</jump></code>, which implements the
-		<code>Templates</code> interface, is a type of <code><jump href="../apidocs/org/apache/xalan/templates/StylesheetComposed.html">StylesheetComposed</jump></code>,
-		which is a <code><jump href="../apidocs/org/apache/xalan/templates/Stylesheet.html">Stylesheet</jump></code> composed of itself and all included
-		<code>Stylesheet</code> objects. A <code>StylesheetRoot</code> has a global
-		imports list, which is a list of all imported <code>StylesheetComposed</code>
-		instances. From each <code>StylesheetComposed</code> object, one can iterate
-		through the list of directly or indirectly included <code>Stylesheet</code>
-		objects, and one call also iterate through the list of all
-		<code>StylesheetComposed</code> objects of lesser import precedence.
-		<code>StylesheetRoot</code> is a <code>StylesheetComposed</code>, which is a
-		<code>Stylesheet</code>.</p> 
-	 <p>Each stylesheet has a set of properties, which can be set by various
-		means, usually either via an attribute on xsl:stylesheet, or via a top-level
-		xsl instruction (for instance, xsl:attribute-set). The get methods for these
-		properties only access the declaration within the given <code>Stylesheet</code>
-		object, and never takes into account included or imported stylesheets. The
-		<code>StylesheetComposed</code> derivative object, if it is a root
-		<code>Stylesheet</code> or imported <code>Stylesheet</code>, has "composed"
-		getter methods that do take into account imported and included stylesheets, for
-		some of these properties.</p> 
-	  
-  </s2><anchor name="transformer"/> 
-  <s2 title="Transformer Module"> 
-	 <p><link>Transformer Module</link></p> 
-	 <p>The <jump href="../apidocs/org/apache/xalan/transformer/package-summary.html">Transformer</jump> module is in charge of run-time transformations.  The <jump href="../apidocs/org/apache/xalan/transformer/TransformerImpl.html">TransformerImpl</jump> object, which implements the TrAX <jump href="../apidocs/javax/xml/transform/Transformer.html">Transformer</jump> interface, and has an association with a <jump href="../apidocs/org/apache/xalan/templates/StylesheetRoot.html">StylesheetRoot</jump> object, begins the processing of the source tree (or provides a <jump href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html">ContentHandler</jump> reference via the<code><jump href="../apidocs/org/apache/xalan/stree/SourceTreeHandler.html">SourceTreeHandler</jump></code>), and performs the transformation.  The Transformer package does as much of the transformation as it can, but element level operations are generally performed in the <jump href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html#execute(org.apache.xalan.transformer.TransformerImpl, org.w3c.dom.Node, org.apache.xalan.utils.QName)">ElemTemplateElement.execute(...)</jump> methods.</p><p>Result Tree events are fed into a <jump href="../apidocs/org/apache/xalan/transformer/ResultTreeHandler.html">ResultTreeHandler</jump> object, which acts as a layer between the direct calls to the result 
-tree content handler (often a <jump href="../apidocs/org/apache/xalan/serialize/package-summary.html">Serializer</jump>), and the <code>Transformer</code>.  For one thing, 
- we have to delay the call to
- startElement(name, atts) because of the
- xsl:attribute and xsl:copy calls.  In other words,
- the attributes have to be fully collected before you
- can call startElement.</p><p>Other important classes in this package are:</p><gloss><label>CountersTable and Counter</label><item>The <code><jump href="../apidocs/org/apache/xalan/transformer/Counter.html">Counter</jump></code> class does incremental counting for support of xsl:number.
- This class stores a cache of counted nodes (m_countNodes). 
-  It tries to cache the counted nodes in document order... 
- the node count is based on its position in the cache list.  The <code><jump href="../apidocs/org/apache/xalan/transformer/CountersTable.html">CountersTable</jump></code> class is a table of counters, keyed by <code><jump href="../apidocs/org/apache/xalan/templates/ElemNumber.html">ElemNumber</jump></code> objects, each 
- of which has a list of <code>Counter</code> objects.</item></gloss><gloss><label>KeyIterator, KeyManager, and KeyTable</label><item>These classes handle mapping of keys declared with the xsl:key element.  They attempt to work incrementally, locating nodes on request but indexing all as they traverse the tree, and stopping when the requested node is found.  If a requested node is not found, then the entire tree will be traversed.  Such is the nature of xsl:key.</item></gloss><gloss><label>TransformState</label><item>This interface is meant to be used by a consumer of SAX2 events produced by Xalan, and enables the consumer 
- to get information about the state of the transform.  It 
- is primarily intended as a tooling interface.</item></gloss><p>Even though the following modules are defined in the <code>org.apache.xalan</code> package, instead of the transformer package, they are defined in this section as they are mostly related to runtime transformation.</p><anchor name="stree"/>
-  <s3 title="Stree Module"><p><link>Stree Module [And discussions about streaming]</link></p><p>The Stree module implements the default <jump href="http://www.w3.org/TR/xpath#data-model">Source Tree </jump> for Xalan, that is to be transformed.  It implements read-only <jump href="http://www.w3.org/TR/DOM-Level-2/">DOM2</jump> interfaces, and provides some information needed for fast transforms, such as document order indexes.  It also attempts to allow an incremental transform by launching the transform on a secondary thread as soon as the SAX2 <jump href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html#startDocument()">StartDocument</jump> event has occurred.  When the transform requests a node, and the node is not present, the getFirstChild and GetNextSibling methods will wait until the child node has arrived, or an <jump href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html#endElement(java.lang.String,%20java.lang.String,%20java.lang.String)">endElement</jump> event has occurred.</p><p>Note that the secondary thread is an issue.  It would be better to do the same thing as described above on a single thread, but using the parser in 'pull' mode, or simply with a parseNext method so the parse would occur in blocks.  However, this model would only be possible</p><p>This kind of incrementality is not perfect because it still requires an entire source tree to be concretely built.  There have been a lot of good discussions on the xalan-dev list about how to do static analysis of a stylesheet, and be able to allocate only the nodes needed by the transform, while they are needed (or not allocate source objects at all).</p></s3><s3 title="Serializer Module"><p><link>Serializer Module</link></p><p>XML serialization is a term used for turning a tree or set of events into a stream, and should not be confused with Java object serialization.  The Xalan serializers implement the <jump href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html">ContentHandler</jump> to turn parser events coming from the transform, into a stream of XML, HTML, or plain text.  The serializers also implement the <code><jump href="../apidocs/org/apache/xalan/serializer/Serializer.html">Serializer</jump></code> which allows the transform process to set XSLT output properties and the output stream or Writer.</p></s3><s3 title="Extensions Module"><p><link>Extensions Module</link></p><p>This package contains an implementation of Xalan Extension Mechanism, which uses the <jump href="http://oss.software.ibm.com/developerworks/opensource/bsf/">Bean Scripting Framework</jump>.
-
-The Bean Scripting Framework (BSF) is an architecture for incorporating scripting into Java applications and applets.  Scripting languages such as Netscape Rhino (Javascript), VBScript, Perl, Tcl, Python, NetRexx and Rexx can be used to augment XSLT's functionality.  In addition, the Xalan extension mechanism allows use of Java classes.  See the <jump href="http://xml.apache.org/xalan/extensions.html">Xalan-J 2 extension documentation</jump> for a description of using extensions in a stylesheet. Please note that the W3C XSL Working Group is working on a specification for standard extension bindings, and this module will change to follow that specification.  </p><p>[More needed... -sb]</p></s3></s2><anchor name="xpath"/> 
-  <s2 title="XPath Module"> 
-	 <p><link>XPath Module</link></p> 
-	 <p>This module is pulled out of the Xalan package, and put in the org.apache package, to emphasize that the intention is that this package can be used independently of the XSLT engine, even though it has dependencies on the Xalan utils module.</p><p><img src="org_apache.gif" alt="xalan ---> xpath"/></p> 
-  <p>The XPath module first compiles the XPath strings into expression trees, and then executes these expressions via a call to the XPath execute(...) function.  </p>  <p>Major classes are:</p><gloss><label>XPath</label><item>Represents a compiled XPath.  Major function is <code>XObject execute(XPathContext xctxt, Node contextNode, 
-                         PrefixResolver namespaceContext).</code></item></gloss><gloss><label>XPathAPI</label><item>The methods in this class are convenience methods into the
- low-level XPath API.</item></gloss><gloss><label>XPathContext</label><item>Used as the runtime execution context for XPath.</item></gloss><gloss><label>DOMHelper</label><item>Used as a helper for handling DOM issues.  May be subclassed to take advantage 
-   of specific DOM implementations.</item></gloss><gloss><label>SourceTreeManager</label><item>bottlenecks all management of source trees.  The methods
- in this class should allow easy garbage collection of source 
- trees, and should centralize parsing for those source trees.</item></gloss><gloss><label>Expression</label><item>The base-class of all expression objects, allowing polymorphic behaviors.</item></gloss><p>The general architecture of the XPath module is divided into the compiler, and categories of expression objects.</p><p><img src="xpath.gif" alt="xpath modules"/></p><p>The most important module is the axes module.  This module implements the DOM2 <jump href="http://www.w3.org/TR/DOM-Level-2/traversal.html#Iterator-overview">NodeIterator</jump> interface, and is meant to allow XPath clients to either override the default behavior or to replace this behavior.</p><p>The <code><jump href="../apidocs/org/apache/xpath/axes/LocPathIterator.html">LocPathIterator</jump></code> and <code><jump href="../apidocs/org/apache/xpath/axes/UnionPathIterator.html">UnionPathIterator</jump></code> classes implement the <jump href="http://www.w3.org/TR/DOM-Level-2/java-binding.html#org.w3c.dom.traversal.NodeIterator">NodeIterator</jump> interface, and polymorphically use <code><jump href="../apidocs/org/apache/xpath/axes/AxesWalker.html">AxesWalker</jump></code> derived objects to execute each step in the path.  The whole trick is to execute the <code>LocationPath</code> in depth-first document order so that nodes can be found without necessarily looking ahead or performing a breadth-first search.  Because a document order depth-first search requires state to be saved for many expressions, the default operations create "Waiter" clones that have to wait while the main <code>AxesWalkers</code> traverses child nodes (think carefully about what happens when a "//foo/baz" expression is executed).   Optimization is done by implementing specialized iterators and <code>AxesWalkers</code> for certain types of operations.  The decision as to what type of iterator or walker will be created is done in the <code><jump href="../apidocs/org/apache/xpath/axes/WalkerFactory.html">WalkerFactory</jump></code> class.</p><p>[Frankly, the implementation of the default AxesWalker, with it's waiters, is the one totally incomprehensible part of Xalan.  It gets especially difficult because you can not look to the node ahead.  I would be very interested if any rocket scientists out there can come up with a better algorithm.]</p><anchor name="xpathdbconn"/><s3 title="XPath Database Connection"><p><link>XPath Direct Database Connections</link></p><p>An important part of the XPath design in both Xalan 1 and Xalan 2, is to enable database connections to be used as drivers directly to the XPath <jump href="http://www.w3.org/TR/xpath#location-paths">LocationPath</jump> handling.  This allows databases to be directly connected to the transform, and be able to take advantage of internal indexing and the like.  While in Xalan 1 this was done via the <jump href="http://xml.apache.org/xalan/apidocs/org/apache/xalan/xpath/XLocator.html">XLocator</jump> interface, in Xalan 2 this interface is no longer used, and has been replaced by the DOM2 <jump href="http://www.w3.org/TR/DOM-Level-2/traversal.html#Iterator-overview">NodeIterator</jump> interface.  An application or extension should be able to install their own NodeIterator for a given document.</p><p><img src="data.gif" alt="data.gif"/></p><p>[More to do]</p></s3></s2><anchor name="utils"/> 
-  <s2 title="Utils Package"> 
-	 <p><link>Utils Package</link></p> 
-  <p>This package contains general utilities for use by both the xalan and xpath packages.</p></s2><anchor name="other"/>
-  <s2 title="Other Packages"> 
-	 <p><link>Other Packages</link></p> 
-	 <gloss><label>client</label><item>Implementation of Xalan Applet [should we keep this?].
-
-</item></gloss> 
-		 
-		 
-		<gloss><label>lib</label><item>Implementation of Xalan-specific extensions.</item></gloss><gloss><label>res</label><item>Contains strings that require internationalization.</item></gloss></s2><anchor name="compilation"/><s2 title="Xalan Stylesheet Complilation to Java"><p><link>Xalan Stylesheet Complilation to Java</link></p><p>We are doing some work on compiling stylesheet objects to Java.  This is a work in progress, and is not meant for general use yet.  For the moment, we are writing out Java text files, and then compiling them to bytecodes via javac, rather than directly producing bytecodes.  The CompilingStylesheetProcessor derives from TransformerFactoryImpl to produce these classes, which are then bundled into a jar file.  For the moment the full Xalan jar is required, but we're looking at ways to only use a subset of Xalan, so that only a minimal jar would be required.</p><p><img src="compilation.gif" alt="compilation.gif"/></p></s2><anchor name="optimizations"/><s2 title="Future Optimizations"><p><link>Future Optimizations</link></p><p>This section enumerates some optimizations that we're planning to do in future versions of Xalan.</p><p>Likely near term optimizations (next six months?):</p><ol><li>By pre-analysis of the stylesheet, prune nodes from the tree that have been processed and can be predicted that they won't be visited again.</li><li>Eliminate redundent expressions (xsl:when, variable sets, rooted patterns, etc.).</li><li>Optimize variable patterns such as &lt;xsl:variable name="foo"&gt;&lt;xsl:variable select="yada"/&gt;&lt;/xsl:variable&gt; into &lt;xsl:variable name="foo" select="string(yada)"/&gt;, in order to reduce result tree fragment creation.</li><li>Reduce size of Stree nodes.</li><li>Implement our own NamespaceSupport class (the SAX2 one is too expensive).</li><li>More specialization of itterators and walkers.</li><li>Full Java compilation support.</li><li>Schema Awareness (if "//foo", the Schema can tell us where to look, but we need standard interface to Schemas).</li></ol><p>Likely longer term optimizations (12-18 months?):</p><ol><li>On-the-fly indexing.</li><li>Predict if nodes won't be processed at all, and so don't build them, achieve full streaming support for a certain class of stylesheets.</li></ol></s2><anchor name="coding"/> 
-  <s2 title="Coding Conventions"> 
-	 <p><link>Coding Conventions</link></p> 
-	 <p>This section documents the coding conventions used in the Xalan
-		source.</p> 
-	 <ol> 
-		<li>Class files are arranged with constructors and possibly an init()
-		  function first, public API methods second, package specific, protected, and
-		  private methods following (arranged based on related functionality), member
-		  variables with their getter/setter access methods last.</li> 
-		<li>Non-static member variables are prefixed with "m_".</li> 
-		<li>static final member variables should always be upper case, without
-		  the "m_" prefix. They need not have accessors.</li> 
-		<li>Private member variables that are not accessed outside the class need
-		  not have getter/setter methods declared.</li> 
-		<li>Private member variables that are accessed outside the class should
-		  have either package specific or public getter/setter methods declared. All
-		  accessors should follow the bean design patterns.</li> 
-		<li>Package-scoped member variables, public member variables, and
-		  protected member variables should not be declared.</li> 
-	 </ol> 
-  </s2><anchor name="open"/> 
-  
-</s1>
diff --git a/xdocs/sources/design/org_apache.gif b/xdocs/sources/design/org_apache.gif
deleted file mode 100644
index 105f264..0000000
--- a/xdocs/sources/design/org_apache.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/process.gif b/xdocs/sources/design/process.gif
deleted file mode 100644
index c7a871e..0000000
--- a/xdocs/sources/design/process.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/trax.gif b/xdocs/sources/design/trax.gif
deleted file mode 100644
index 8eb9614..0000000
--- a/xdocs/sources/design/trax.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xalan.gif b/xdocs/sources/design/xalan.gif
deleted file mode 100644
index ca4a57c..0000000
--- a/xdocs/sources/design/xalan.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xalan1_1x1.gif b/xdocs/sources/design/xalan1_1x1.gif
deleted file mode 100644
index c9e1536..0000000
--- a/xdocs/sources/design/xalan1_1x1.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xmllogo.gif b/xdocs/sources/design/xmllogo.gif
deleted file mode 100644
index b63188d..0000000
--- a/xdocs/sources/design/xmllogo.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xpath.gif b/xdocs/sources/design/xpath.gif
deleted file mode 100644
index cf28f9c..0000000
--- a/xdocs/sources/design/xpath.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xslt_abstract.gif b/xdocs/sources/design/xslt_abstract.gif
deleted file mode 100644
index fa041a6..0000000
--- a/xdocs/sources/design/xslt_abstract.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/entities.ent b/xdocs/sources/entities.ent
deleted file mode 100644
index f7de044..0000000
--- a/xdocs/sources/entities.ent
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml encoding="US-ASCII"?>
-
-<!ENTITY xslt4j "Xalan-Java">
-<!ENTITY xslt4j2 "Xalan-Java 2">
-<!ENTITY xslt4j-dist "xalan-j_2_0_1">
-<!ENTITY xslt4j-current "&xslt4j; version 2.0.1">
-<!ENTITY xml4j "Xerces-Java">
-<!ENTITY xml4j-used "&xml4j; version 1.3.0">
-<!ENTITY xslt4c "Xalan-C++">
-<!ENTITY xml4c "Xerces-C++">
-<!ENTITY download "The &xslt4j-current; download from xml.apache.org includes xerces.jar from &xml4j-used;.">
-<!ENTITY traxsamplenote "To run the trax sample, you must be using an XML parser (such as Xerces 1.3.0 or Crimson 1.1) 
-                         that fully implements the JAXP 1.1 javax.xml.parsers interface.">
-
diff --git a/xdocs/sources/trax/trax.xml b/xdocs/sources/trax/trax.xml
deleted file mode 100644
index b6ecb01..0000000
--- a/xdocs/sources/trax/trax.xml
+++ /dev/null
@@ -1,533 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE spec SYSTEM "../../style/dtd/spec.dtd">
-<spec> 
-  <title>Transformation API For XML (TrAX)</title>
-  <frontmatter> 
-  <pubdate>November 12, 2000</pubdate> 
-  <copyright>Copyright 2000 Java Community Process (Sun Microsystems,
-	 Inc.)</copyright> 
-  <author><firstname>Scott</firstname> 
-	 <surname>Boag</surname> 
-	 <orgname>IBM Research</orgname> 
-	 <address> 
-		<email>sboag@lotus.com</email> 
-	 </address> 
-  </author></frontmatter> 
-  <introduction> 
-  <title>Introduction</title> 
-  <para>This overview describes the set of APIs contained in
-	 <ulink url="package-summary.html">javax.xml.transform</ulink>, <ulink url="package-summary.html">javax.xml.transform.stream</ulink>, <ulink url="package-summary.html">javax.xml.transform.dom</ulink>, and <ulink url="package-summary.html">javax.xml.transform.sax</ulink>. For the sake of brevity, these interfaces are referred to
-	 as TrAX (Transformation API for XML). </para> 
-  <para>There is a broad need for Java applications to be able to transform XML
-	 and related tree-shaped data structures. In fact, XML is not normally very
-	 useful to an application without going through some sort of transformation,
-	 unless the semantic structure is used directly as data. Almost all XML-related
-	 applications need to perform transformations. Transformations may be described
-	 by Java code, Perl code, <ulink url="http://www.w3.org/TR/xslt">XSLT</ulink>
-	 Stylesheets, other types of script, or by proprietary formats. The inputs, one
-	 or multiple, to a transformation, may be a URL, XML stream, a DOM tree, SAX
-	 Events, or a proprietary format or data structure. The output types are the
-	 pretty much the same types as the inputs, but different inputs may need to be
-	 combined with different outputs.</para> 
-  <para>The great challenge of a transformation API is how to deal with all the
-	 possible combinations of inputs and outputs, without becoming specialized for
-	 any of the given types.</para> 
-  <para>The Java community will greatly benefit from a common API that will
-	 allow them to understand and apply a single model, write to consistent
-	 interfaces, and apply the transformations polymorphically. TrAX attempts to
-	 define a model that is clean and generic, yet fills general application
-	 requirements across a wide variety of uses. </para> 
-  <sect2> 
-	 <title>General Terminology</title> 
-	 <para>This section will explain some general terminology used in this
-		document. Technical terminology will be explained in the Model section. In many
-		cases, the general terminology overlaps with the technical terminology.</para> 
-	 <variablelist> 
-		<varlistentry> 
-		  <term>Tree</term> 
-		  <listitem>This term, as used within this document, describes an
-			 abstract structure that consists of nodes or events that may be produced by
-			 XML. A Tree physically may be a DOM tree, a series of well balanced parse
-			 events (such as those coming from a SAX2 ContentHander), a series of requests
-			 (the result of which can describe a tree), or a stream of marked-up
-			 characters.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Source Tree(s)</term> 
-		  <listitem>One or more trees that are the inputs to the
-			 transformation.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Result Tree(s)</term> 
-		  <listitem>One or more trees that are the output of the
-			 transformation.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Transformation</term> 
-		  <listitem>The processor of consuming a stream or tree to produce
-			 another stream or tree.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Identity (or Copy) Transformation</term> 
-		  <listitem>The process of transformation from a source to a result,
-			 making as few structural changes as possible and no informational changes. The
-			 term is somewhat loosely used, as the process is really a copy. from one
-			 "format" (such as a DOM tree, stream, or set of SAX events) to
-			 another.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Serialization</term> 
-		  <listitem>The process of taking a tree and turning it into a stream. In
-			 some sense, a serialization is a specialized transformation.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Parsing</term> 
-		  <listitem>The process of taking a stream and turning it into a tree. In
-			 some sense, parsing is a specialized transformation.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Transformer</term> 
-		  <listitem>A Transformer is the object that executes the transformation.
-			 </listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Transformation instructions</term> 
-		  <listitem>Describes the transformation. A form of code, script, or
-			 simply a declaration or series of declarations.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Stylesheet</term> 
-		  <listitem>The same as "transformation instructions," except it is
-			 likely to be used in conjunction with <ulink
-			 url="http://www.w3.org/TR/xslt">XSLT</ulink>.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Templates</term> 
-		  <listitem>Another form of "transformation instructions." In the TrAX
-			 interface, this term is used to describe processed or compiled transformation
-			 instructions. The Source flows through a Templates object to be formed into the
-			 Result.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>Processor</term> 
-		  <listitem>A general term for the thing that may both process the
-			 transformation instructions, and perform the transformation.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>DOM</term> 
-		  <listitem>Document Object Model, specifically referring to the
-			 <termref link-url="http://www.w3.org/TR/DOM-Level-2 ">Document Object Model
-			 (DOM) Level 2 Specification</termref>.</listitem> 
-		</varlistentry> 
-		<varlistentry> 
-		  <term>SAX</term> 
-		  <listitem>Simple API for XML, specifically referring to the
-			 <termref link-url="http://www.megginson.com/SAX/SAX2">SAX 2.0
-			 release</termref>.</listitem> 
-		</varlistentry> 
-	 </variablelist> 
-  </sect2></introduction>
-  <requirements> 
-  <title>Requirements</title> 
-  <para>The following requirements have been determined from broad experience
-	 with XML projects from the various members participating on the JCP.</para> 
-  <orderedlist> 
-	 <listitem id="requirement-simple">TrAX must provide a clean, simple
-		interface for simple uses.</listitem> 
-	 <listitem id="requirement-general">TrAX must be powerful enough to be
-		applied to a wide range of uses, such as, e-commerce, content management,
-		server content delivery, and client applications.</listitem> 
-	 <listitem id="requirement-optimizeable">A processor that implements a TrAX
-		interface must be optimizeable. Performance is a critical issue for most
-		transformation use cases.</listitem> 
-	 <listitem id="requirement-compiled-model">As a specialization of the above
-		requirement, a TrAX processor must be able to support a compiled model, so that
-		a single set of transformation instructions can be compiled, optimized, and
-		applied to a large set of input sources.</listitem> 
-	 <listitem id="requirement-independence">TrAX must not be dependent an any
-		given type of transformation instructions. For instance, it must remain
-		independent of <ulink url="http://www.w3.org/TR/xslt">XSLT</ulink>.</listitem> 
-	 <listitem id="requirement-from-dom">TrAX must be able to allow processors
-		to transform DOM trees.</listitem> 
-	 <listitem id="requirement-to-dom">TrAX must be able to allow processors to
-		produce DOM trees.</listitem> 
-	 <listitem id="requirement-from-sax">TrAX must allow processors to transform
-		SAX events.</listitem> 
-	 <listitem id="requirement-to-sax">TrAX must allow processors to produce SAX
-		events.</listitem> 
-	 <listitem id="requirement-from-stream">TrAX must allow processors to
-		transform streams of XML.</listitem> 
-	 <listitem id="requirement-to-stream">TrAX must allow processors to produce
-		XML, HTML, and other types of streams.</listitem> 
-	 <listitem id="requirement-combo-input-output">TrAX must allow processors to
-		implement the various combinations of inputs and outputs within a single
-		processor.</listitem> 
-	 <listitem id="requirement-limited-input-output">TrAX must allow processors
-		to implement only a limited set of inputs. For instance, it should be possible
-		to write a processor that implements the TrAX interfaces and that only
-		processes DOM trees, not streams or SAX events.</listitem> 
-	 <listitem id="requirement-proprietary-data-structures">TrAX should allow a
-		processor to implement transformations of proprietary data structures. For
-		instance, it should be possible to implement a processor that provides TrAX
-		interfaces that performs transformation of JDOM trees.</listitem> 
-	 <listitem id="requirement-serialization-props">TrAX must allow the setting
-		of serialization properties, without constraint as to what the details of those
-		properties are.</listitem> 
-	 <listitem id="requirement-setting-parameters">TrAX must allow the setting
-		of parameters to the transformation instructions.</listitem> 
-	 <listitem id="requirement-namespaced-properties">TrAX must support the
-		setting of parameters and properties as XML Namespaced items (i.e., qualified
-		names).</listitem> 
-	 <listitem id="requirement-relative-url-resolution">TrAX must support URL
-		resolution from within the transformation, and have it return the needed data
-		structure.</listitem> 
-	 <listitem id="requirement-error-reporting">TrAX must have a mechanism for
-		reporting errors and warnings to the calling application.</listitem> 
-  </orderedlist> </requirements> 
-  <model> 
-  <title>Model</title> 
-  <para>The section defines the abstract model for TrAX, apart from the details
-	 of the interfaces.</para> 
-  <para>A TRaX <termref
-	 link-url="pattern-TransformerFactory">TransformerFactory</termref> is an object
-	 that processes transformation instructions, and produces
-	 <termref link-url="pattern-Templates">Templates</termref> (in the technical
-	 terminology). A <termref link-url="pattern-Templates">Templates</termref>
-	 object provides a <termref
-	 link-url="pattern-Transformer">Transformer</termref>, which transforms one or
-	 more <termref link-url="pattern-Source">Source</termref>s into one or more
-	 <termref link-url="pattern-Result">Result</termref>s.</para> 
-  <para>To use the TRaX interface, you create a
-	 <termref link-url="pattern-TransformerFactory">TransformerFactory</termref>,
-	 which may directly provide a <termref
-	 link-url="pattern-Transformers">Transformers</termref>, or which can provide
-	 <termref link-url="pattern-Templates">Templates</termref> from a variety of
-	 <termref link-url="pattern-Source">Source</termref>s. The
-	 <termref link-url="pattern-Templates">Templates</termref> object is a processed
-	 or compiled representation of the transformation instructions, and provides a
-	 <termref link-url="pattern-Transformer">Transformer</termref>. The
-	 <termref link-url="pattern-Transformer">Transformer</termref> processes a
-	 <termref link-url="pattern-Transformer">Source</termref> according to the
-	 instructions found in the <termref
-	 link-url="pattern-Templates">Templates</termref>, and produces a
-	 <termref link-url="pattern-Result">Result</termref>.</para> 
-  <para>The process of transformation from a tree, either in the form of an
-	 object model, or in the form of parse events, into a stream, is known as
-	 <termref>serialization</termref>. We believe this is the most suitable term for
-	 this process, despite the overlap with Java object serialization.</para> 
-  <patterns module="TRaX"> <pattern><pattern-name
-  id="pattern-Processor">Processor</pattern-name><intent>Generic concept for the
-  set of objects that implement the TrAX interfaces.</intent>
-  <responsibilities>Create compiled transformation instructions, transform
-  sources, and manage transformation parameters and
-  properties.</responsibilities><thread-safety>Only the Templates object can be
-  used concurrently in multiple threads. The rest of the processor does not do
-  synchronized blocking, and so may not be used to perform multiple concurrent
-  operations.</thread-safety></pattern><pattern> 
-  <pattern-name id="pattern-TransformerFactory">TransformerFactory</pattern-name>
-  <intent>Serve as a vendor-neutral Processor interface for
-  <ulink url="http://www.w3.org/TR/xslt">XSLT</ulink> and similar
-  processors.</intent> <responsibilities>Serve as a factory for a concrete
-  implementation of an TransformerFactory, serve as a direct factory for
-  Transformer objects, serve as a factory for Templates objects, and manage
-  processor specific features.</responsibilities> <thread-safety>A
-  TransformerFactory may not perform mulitple concurrent
-  operations.</thread-safety> </pattern> <pattern> 
-  <pattern-name id="pattern-Templates">Templates</pattern-name> <intent>The
-  runtime representation of the transformation instructions.</intent> 
-  <responsibilities>A data bag for transformation instructions; act as a factory
-  for Transformers.</responsibilities> <thread-safety>Threadsafe for concurrent
-  usage over multiple threads once construction is complete.</thread-safety>
-  </pattern> <pattern> <pattern-name
-  id="pattern-Transformer">Transformer</pattern-name> <intent>Act as a per-thread
-  execution context for transformations, act as an interface for performing the
-  transformation.</intent><responsibilities>Perform the
-  transformation.</responsibilities> <thread-safety>Only one instance per thread
-  is safe.</thread-safety> <notes>The Transformer is bound to the Templates
-  object that created it.</notes> </pattern> <pattern> 
-  <pattern-name id="pattern-Source">Source</pattern-name> <intent>Serve as a
-  single vendor-neutral object for multiple types of input.</intent> 
-  <responsibilities>Act as simple data holder for System IDs, DOM nodes, streams,
-  etc.</responsibilities> <thread-safety>Threadsafe concurrently over multiple
-  threads for read-only operations; must be synchronized for edit
-  operations.</thread-safety> </pattern><pattern> 
-  <pattern-name id="pattern-Result">Result</pattern-name> 
-  <potential-alternate-name>ResultTarget</potential-alternate-name> <intent>Serve
-  as a single object for multiple types of output, so there can be simple process
-  method signatures.</intent> <responsibilities>Act as simple data holder for
-  output stream, DOM node, ContentHandler, etc.</responsibilities> 
-  <thread-safety>Threadsafe concurrently over multiple threads for read-only,
-  must be synchronized for edit.</thread-safety> </pattern> </patterns></model> 
-  <sect1 id="package"> 
-	 <title>javax.xml.transform</title> 
-	 <para>This package defines the generic APIs for processing transformation instructions,
-		and performing a transformation from source to result. These 
-		interfaces have no dependencies on SAX or the DOM standard, and try to make as
-		few assumptions as possible about the details of the source and result of a
-		transformation. The API achieves this by defining 
-		<plink>javax.xml.transform.Source</plink> and 
-		<plink>javax.xml.transform.Result</plink> interfaces.</para> 
-	 <para>To define concrete classes for the user, the API defines specializations
-		of the interfaces found at the root level. These interfaces are found in 
-		<plink>javax.xml.transform.sax</plink>, <plink>javax.xml.transform.dom</plink>,
-		and <plink>javax.xml.transform.stream</plink>.</para> 
-	 <sect2> 
-		<title>Creating Objects</title> 
-		<para>The API allows a concrete 
-		  <plink>javax.xml.transform.TransformerFactory</plink> object to be created from
-		  the static function 
-		  <plink>javax.xml.transform.TransformerFactory#newInstance</plink>. The
-		  "javax.xml.transform.TransformerFactory" system property determines which
-		  factory implementation to instantiate. This property names a concrete subclass
-		  of the TransformerFactory abstract class. If this system property is not
-		  defined, a platform default is used.</para> 
-	 </sect2> 
-	 <sect2> 
-		<title>Specification of Inputs and Outputs</title> 
-		<para>This API defines two interface objects called 
-		  <plink>javax.xml.transform.Source</plink> and 
-		  <plink>javax.xml.transform.Result</plink>. In order to pass Source and Result
-		  objects to the interfaces, concrete classes must be used. The transformation API defines
-		  three concrete representations for each of these objects: 
-		  <plink>javax.xml.transform.stream.StreamSource</plink> and 
-		  <plink>javax.xml.transform.stream.StreamResult</plink>,
-		  <plink>javax.xml.transform.sax.SAXSource</plink> and 
-		  <plink>javax.xml.transform.sax.SAXResult</plink>, and 
-		  <plink>javax.xml.transform.dom.DOMSource</plink> and 
-		  <plink>javax.xml.transform.dom.DOMResult</plink>. Each of these objects defines
-		  a FEATURE string (which is i the form of a URL), which can be passed into 
-		  <plink>javax.xml.transform.TransformerFactory#getFeature</plink> to see if the
-		  given type of Source or Result object is supported. For instance, to test if a
-		  DOMSource and a StreamResult is supported, you can apply the following
-		  test.</para> 
-		<programlisting>    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    if (tfactory.getFeature(DOMSource.FEATURE) &amp;&amp; tfactory.getFeature(StreamResult.FEATURE))
-    {
-       ...
-    }</programlisting>
-  </sect2> 
-  <sect2> 
-	 <title id="qname-delimiter">Qualified Name representation</title> 
-	 <para><ulink url="http://www.w3.org/TR/REC-xml-names">Namespaces</ulink>
-		present something of a problem area when dealing with XML objects. Qualified
-		Names appear in XML markup as prefixed names. But the prefixes themselves do
-		not hold identity. Rather, it is the URIs that they contextually map to that
-		hold the identity. Therefore, when passing a Qualified Name like "xyz:foo"
-		among Java programs, one must provide a means to map "xyz" to a namespace.
-		</para> 
-	 <para>One solution has been to create a "QName" object that holds the
-		namespace URI, as well as the prefix and local name, but this is not always an
-		optimal solution, as when, for example, you want to use unique strings as keys
-		in a dictionary object. Not having a string representation also makes it
-		difficult to specify a namespaced identity outside the context of an XML
-		document.</para> 
-	 <para>In order to pass namespaced values to transformations, for instance
-		as a set of properties to the Serializer, this specification defines that a
-		String "qname" object parameter be passed as two-part string, the namespace URI
-		enclosed in curly braces ({}), followed by the local name. If the qname has a
-		null URI, then the String object only contains the local name. An application
-		can safely check for a non-null URI by testing to see if the first character of
-		the name is a '{' character.</para> 
-	 <para>For example, if a URI and local name were obtained from an element
-		defined with &lt;xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/&gt;,
-		then the transformation API Qualified Name would be "{http://xyz.foo.com/yada/baz.html}foo".
-		Note that the prefix is lost.</para> 
-  </sect2> 
-  <sect2> 
-	 <title>Result Tree Serialization</title> 
-	 <para>Serialization of the result tree to a stream can be controlled with
-		the <plink>javax.xml.transform.Transformer#setOutputProperties</plink> and the 
-		<plink>javax.xml.transform.Transformer#setOutputProperty</plink> methods.
-		Strings that match the <ulink url="http://www.w3.org/TR/xslt#output">XSLT
-		specification for xsl:output attributes</ulink> can be referenced from the 
-		<plink>javax.xml.transform.OutputKeys</plink> class. Other strings can be
-		specified as well. If the transformer does not recognize an output key, a 
-		<plink>java.lang.IllegalArgumentException</plink> is thrown, unless the 
-		<emphasis>unless</emphasis> the key name is <link
-		linkend="qname-delimiter">namespace qualified</link>. Output key names that are
-		qualified by a namespace are ignored or passed on to the serializer
-		mechanism.</para> 
-	 <para>If all that is desired is the simple identity transformation of a
-		source to a result, then <plink>javax.xml.transform.TransformerFactory</plink>
-		provides a
-		<plink>javax.xml.transform.TransformerFactory#newTransformer()</plink> method
-		with no arguments. This method creates a Transformer that effectively copies
-		the source to the result. This method may be used to create a DOM from SAX
-		events or to create an XML or HTML stream from a DOM or SAX events.</para>
-</sect2> 
-<sect2> 
-  <title>Exceptions and Error Reporting</title> 
-  <para>The transformation API throws three types of specialized exceptions. A
-	 <plink>javax.xml.transform.TransformerFactoryConfigurationError</plink> is parallel to
-	 the <plink>javax.xml.parsers.FactoryConfigurationError</plink>, and is thrown
-	 when a configuration problem with the TransformerFactory exists. This error
-	 will typically be thrown when the transformation factory class specified with
-	 the "javax.xml.transform.TransformerFactory" system property cannot be found or
-	 instantiated.</para> 
-  <para>A <plink>javax.xml.transform.TransformerConfigurationException</plink>
-	 may be thrown if for any reason a Transformer can not be created. A
-	 TransformerConfigurationException may be thrown if there is a syntax error in
-	 the transformation instructions, for example when
-	 <plink>javax.xml.transform.TransformerFactory#newTransformer</plink> is
-	 called.</para> 
-  <para><plink>javax.xml.transform.TransformerException</plink> is a general
-	 exception that occurs during the course of a transformation. A transformer
-	 exception may wrap another exception, and if any of the
-	 <plink>javax.xml.transform.TransformerException#printStackTrace()</plink>
-	 methods are called on it, it will produce a list of stack dumps, starting from
-	 the most recent. The transformer exception also provides a
-	 <plink>javax.xml.transform.SourceLocator</plink> object which indicates where
-	 in the source tree or transformation instructions the error occurred.
-	 <plink>javax.xml.transform.TransformerException#getMessageAndLocation()</plink>
-	 may be called to get an error message with location info, and
-	 <plink>javax.xml.transform.TransformerException#getLocationAsString()</plink>
-	 may be called to get just the location string.</para> 
-  <para>Transformation warnings and errors are normally first sent to a
-	 <plink>javax.xml.transform.ErrorListener</plink>, at which point the
-	 implementor may decide to report the error or warning, and may decide to throw
-	 an exception for a non-fatal error. The error listener may be set via
-	 <plink>javax.xml.transform.TransformerFactory#setErrorListener</plink> for
-	 reporting errors that have to do with syntax errors in the transformation
-	 instructions, or via
-	 <plink>javax.xml.transform.Transformer#setErrorListener</plink> to report
-	 errors that occur during the transformation. The error listener on both objects
-	 should always be valid and non-null, whether set by the user or a default
-	 implementation provided by the processor.</para> 
-</sect2> 
-<sect2> 
-  <title>Resolution of URIs within a transformation</title> 
-  <para>The API provides a way for URIs referenced from within the stylesheet
-	 instructions or within the transformation to be resolved by the calling
-	 application. This can be done by creating a class that implements the
-	 URIResolver interface, with its one method,
-	 <plink>javax.xml.transform.URIResolver#resolve</plink>, and use this class to
-	 set the URI resolution for the transformation instructions or transformation
-	 with <plink>javax.xml.transform.TransformerFactory#setURIResolver</plink> or
-	 <plink>javax.xml.transform.Transformer#setURIResolver</plink>. The
-	 URIResolver.resolve method takes two String arguments, the URI found in the
-	 stylesheet instructions or built as part of the transformation process, and the
-	 base URI in effect when the URI passed as the first argument was encountered.
-	 The returned <plink>javax.xml.transform.Source</plink> object must be usable by
-	 the transformer, as specified in its implemented features.</para> 
-</sect2> 
-<sect2 id="specialized-packages"> 
-<title>Specialized Packages</title> 
-<sect3> 
-  <title>javax.xml.transform.stream</title> 
-  <para>This package implements stream- and URI- specific transformation APIs.
-	 </para> 
-  <para>The <plink>javax.xml.transform.stream.StreamSource</plink> class
-	 provides methods for specifying <plink>java.io.InputStream</plink> input,
-	 <plink>java.io.Reader</plink> input, and URL input in the form of strings. Even
-	 if an input stream or reader is specified as the source,
-	 <plink>javax.xml.transform.stream.StreamSource#setSystemId</plink> should still
-	 be called, so that the transformer can know from where it should resolve
-	 relative URIs. The public identifier is always optional: if the application
-	 writer includes one, it will be provided as part of the
-	 <plink>javax.xml.transform.SourceLocator</plink> information.</para> 
-  <para>The <plink>javax.xml.transform.stream.StreamResult</plink> class
-	 provides methods for specifying <plink>java.io.OutputStream</plink>,
-	 <plink>java.io.Writer</plink>, or an output system ID, as the output of the
-	 transformation result.</para> 
-  <para>Normally streams should be used rather than readers or writers, for
-	 both the Source and Result, since readers and writers already have the encoding
-	 established to and from the internal Unicode format. However, there are times
-	 when it is useful to write to a character stream, such as when using a
-	 StringWriter in order to write to a String, or in the case of reading source
-	 XML from a StringReader.</para> 
-</sect3> 
-<sect3> 
-<title>javax.xml.transform.sax</title> 
-<para>This package implements SAX2-specific transformation APIs. It provides
-  classes which allow input from <plink>org.xml.sax.ContentHandler</plink>
-  events, and also classes that produce org.xml.sax.ContentHandler events. It
-  also provides methods to set the input source as an
-  <plink>org.xml.sax.XMLReader</plink>, or to use a
-  <plink>org.xml.sax.InputSource</plink> as the source. It also allows the
-  creation of a <plink>org.xml.sax.XMLFilter</plink>, which enables
-  transformations to "pull" from other transformations, and lets the transformer
-  to be used polymorphically as an <plink>org.xml.sax.XMLReader</plink>.</para> 
-<para>The <plink>javax.xml.transform.sax.SAXSource</plink> class allows the
-  setting of an <plink>org.xml.sax.XMLReader</plink> to be used for "pulling"
-  parse events, and an <plink>org.xml.sax.InputSource</plink> that may be used to
-  specify the SAX source.</para> 
-<para>The <plink>javax.xml.transform.sax.SAXResult</plink> class allows the
-  setting of a <plink>org.xml.sax.ContentHandler</plink> to be the receiver of
-  SAX2 events from the transformation.</para>
-<para>The <plink>javax.xml.transform.sax.SAXTransformerFactory</plink> extends
-  <plink>javax.xml.transform.TransformerFactory</plink> to provide factory
-  methods for creating <plink>javax.xml.transform.sax.TemplatesHandler</plink>,
-  <plink>javax.xml.transform.sax.TransformerHandler</plink>, and
-  <plink>org.xml.sax.XMLReader</plink> instances.</para> 
-<para>To obtain a <plink>javax.xml.transform.sax.SAXTransformerFactory</plink>,
-  the caller must cast the <plink>javax.xml.transform.TransformerFactory</plink>
-  instance returned from
-  <plink>javax.xml.transform.TransformerFactory#newInstance</plink>.</para>
-<para>The <plink>javax.xml.transform.sax.TransformerHandler</plink> interface
-  allows a transformation to be created from SAX2 parse events, which is a "push"
-  model rather than the "pull" model that normally occurs for a transformation.
-  Normal parse events are received through the
-  <plink>org.xml.sax.ContentHandler</plink> interface, lexical events such as
-  startCDATA and endCDATA are received through the
-  <plink>org.xml.sax.ext.LexicalHandler</plink> interface, and events that signal
-  the start or end of disabling output escaping are received via
-  <plink>org.xml.sax.ContentHandler#processingInstruction</plink>, with the
-  target parameter being
-  <plink>javax.xml.transform.Result#PI_DISABLE_OUTPUT_ESCAPING</plink> and
-  <plink>javax.xml.transform.Result#PI_ENABLE_OUTPUT_ESCAPING</plink>. If
-  parameters, output properties, or other features need to be set on the
-  Transformer handler, a <plink>javax.xml.transform.Transformer</plink> reference
-  will need to be obtained from
-  <plink>javax.xml.transform.sax.TransformerHandler#getTransformer</plink>, and
-  the methods invoked from that reference.</para>
-<para>The <plink>javax.xml.transform.sax.TemplatesHandler</plink> interface
-  allows the creation of <plink>javax.xml.transform.Templates</plink> objects
-  from SAX2 parse events. Once the <plink>org.xml.sax.ContentHandler</plink>
-  events are complete, the Templates object may be obtained from
-  <plink>javax.xml.transform.sax.TemplatesHandler#getTemplates</plink>. Note that 
-  <plink>javax.xml.transform.sax.TemplatesHandler#setSystemId</plink> should
-  normally be called in order to establish a base system ID from which relative
-  URLs may be resolved.</para>
-<para>The
-  <plink>javax.xml.transform.sax.SAXTransformerFactory#newXMLFilter</plink>
-  method allows the creation of a <plink>org.xml.sax.XMLFilter</plink>, which
-  encapsulates the SAX2 notion of a "pull" transformation. The following
-  illustrates several transformations chained together. Each filter points to a
-  parent <plink>org.xml.sax.XMLReader</plink>, and the final transformation is
-  caused by invoking <plink>org.xml.sax.XMLReader#parse</plink> on the final
-  reader in the chain.</para>
-</sect3> 
-<sect3> 
-<title>javax.xml.transform.dom</title> 
-<para>This package implements DOM-specific transformation APIs.</para> 
-<para>The <plink>javax.xml.transform.dom.DOMSource</plink> class allows the
-client of the implementation of this API to specify a DOM
-<plink>org.w3c.dom.Node</plink> as the source of the input tree. The model of
-how the Transformer deals with the DOM tree in terms of mismatches with the
-<ulink url="http://www.w3.org/TR/xslt#data-model">XSLT data model</ulink> or
-other data models is beyond the scope of this document. Any of the nodes
-derived from <plink>org.w3c.dom.Node</plink> are legal input.</para>
-<para>The <plink>javax.xml.transform.dom.DOMResult</plink> class allows a
-<plink>org.w3c.dom.Node</plink> to be specified to which result DOM nodes will
-be appended. If an output node is not specified, the transformer will use 
-<plink>javax.xml.parsers.DocumentBuilder#newDocument</plink> to create an
-output <plink>org.w3c.dom.Document</plink> node. If a node is specified, it
-should be one of the following: <plink>org.w3c.dom.Document</plink>, 
-<plink>org.w3c.dom.Element</plink>, or 
-<plink>org.w3c.dom.DocumentFragment</plink>. Specification of any other node
-type is implementation dependent and undefined by this API. If the result is a 
-<plink>org.w3c.dom.Document</plink>, the output of the transformation must have
-a single element root to set as the document element.</para>
-<para>The <plink>javax.xml.transform.dom.DOMLocator</plink> node may be passed
-to <plink>javax.xml.transform.TransformerException</plink> objects, and
-retrieved by trying to cast the result of
-the <plink>javax.xml.transform.TransformerException#getLocator()</plink> method.
-The implementation has no responsibility to use a DOMLocator instead of
-a <plink>javax.xml.transform.SourceLocator</plink> (though line numbers and the
-like do not make much sense for a DOM), so the result of getLocator must always
-be tested with an instanceof. </para>
-</sect3> 
-</sect2>
-</sect1>
-</spec>
\ No newline at end of file
diff --git a/xdocs/sources/xalan-collate.xsl b/xdocs/sources/xalan-collate.xsl
deleted file mode 100644
index d555d2a..0000000
--- a/xdocs/sources/xalan-collate.xsl
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<xsl:template match ="/">
-  <documentation>
-    <chapter id="index"><xsl:copy-of select="document('xalan/index.xml')"/></chapter>  
-    <chapter id="whatsnew"><xsl:copy-of select="document('xalan/whatsnew.xml')"/></chapter>
-    <chapter id="overview"><xsl:copy-of select="document('xalan/overview.xml')"/></chapter>
-    <chapter id="getstarted"><xsl:copy-of select="document('xalan/getstarted.xml')"/></chapter>
-    <chapter id="faq"><xsl:copy-of select="document('xalan/faq.xml')"/></chapter>
-    <chapter id="samples"><xsl:copy-of select="document('xalan/samples.xml')"/></chapter>
-    <chapter id="commandline"><xsl:copy-of select="document('xalan/commandline.xml')"/></chapter>
-    <chapter id="usagepatterns"><xsl:copy-of select="document('xalan/usagepatterns.xml')"/></chapter>
-    <chapter id="extensions"><xsl:copy-of select="document('xalan/extensions.xml')"/></chapter>
-    <chapter id="extensionslib"><xsl:copy-of select="document('xalan/extensionslib.xml')"/></chapter>
-    <chapter id="readme"><xsl:copy-of select="document('xalan/readme.xml')"/></chapter>
-    <chapter id="api">
-      <s1 title="Java API">
-        <p>Javadoc for the entire Xalan-Java API:</p>
-        <ul>
-          <li><jump href="apidocs/index.html">Xalan-Java 2 API</jump></li>
-          <li><jump href="compat_apidocs/index.html">Xalan-Java 1 compatibility API</jump></li>
-        </ul>         
-      </s1>
-    </chapter>
-  </documentation>
-</xsl:template>
-</xsl:stylesheet>
-
-
diff --git a/xdocs/sources/xalan-jlocal.xml b/xdocs/sources/xalan-jlocal.xml
deleted file mode 100644
index d538272..0000000
--- a/xdocs/sources/xalan-jlocal.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-
-<book title="Xalan XSL Transformer User's Guide" copyright="2000 The Apache Software Foundation">
-  <resources source="sbk:/sources/xalan/resources.xml"/>
-  <document id="whatsnew" label="What's New" source="xalan/whatsnew.xml"/>
-  <separator/>
-  <document id="overview" label="Overview" source="xalan/overview.xml"/>
-  <document id="getstarted" label="Getting Started" source="xalan/getstarted.xml"/>
-  <separator/>
-  <faqs id="faq" label="FAQs" source="xalan/faq.xml"/>
-  <separator/>
-  <document id="samples" label="Sample Apps" source="xalan/samples.xml"/>
-  <document id="commandline" label="Command Line" source="xalan/commandline.xml"/>
-  <separator/>
-  <document id="usagepatterns" label="Usage Patterns" source="xalan/usagepatterns.xml"/>
-  <separator/>
-  <external href="apidocs/index.html" label="API (Javadoc)"/>
-  <separator/>
-  <document id="extensions" label="Extensions" source="xalan/extensions.xml"/>
-  <document id="extensionslib" label="Extensions Library" source="xalan/extensionslib.xml"/>
-  <separator/>
-  <document id="readme" label="Release Notes" source="xalan/readme.xml"/>
-  <separator/>
-  <external href="design/design2_0_0.html" label="Xalan 2 Design"/>
-  <separator/>
-  <external href="readme.html#bugs" label="Bugs"/>
-  <external href="http://xml.apache.org/xalan-j/test/overview.html" label="Testing"/>
-  <separator/>
-  <external href="todo.html#developer-list" label="Credits"/>  
-</book>
diff --git a/xdocs/sources/xalan-jsite.xml b/xdocs/sources/xalan-jsite.xml
deleted file mode 100644
index cb3eba1..0000000
--- a/xdocs/sources/xalan-jsite.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-
-<book title="Xalan XSL Transformer User's Guide" copyright="2000 The Apache Software Foundation">
-  <resources source="sbk:/sources/xalan/resources.xml"/>
-  <external href="../index.html" label="Home"/>
-  <separator/>
-  <document id="index" label="Xalan-J 2.0.1" source="xalan/index.xml"/>
-  <document id="whatsnew" label="What's New" source="xalan/whatsnew.xml"/>
-  <separator/>
-  <document id="overview" label="Overview" source="xalan/overview.xml"/>
-  <document id="getstarted" label="Getting Started" source="xalan/getstarted.xml"/>
-  <separator/>
-  <faqs id="faq" label="FAQs" source="xalan/faq.xml"/>
-  <separator/>
-  <document id="samples" label="Sample Apps" source="xalan/samples.xml"/>
-  <document id="commandline" label="Command Line" source="xalan/commandline.xml"/>
-  <separator/>
-  <document id="usagepatterns" label="Usage Patterns" source="xalan/usagepatterns.xml"/>
-  <separator/>
-  <external href="apidocs/index.html" label="API (Javadoc)"/>
-  <separator/>
-  <document id="extensions" label="Extensions" source="xalan/extensions.xml"/>
-  <document id="extensionslib" label="Extensions Library" source="xalan/extensionslib.xml"/>
-  <separator/>
-  <document id="readme" label="Release Notes" source="xalan/readme.xml"/>
-  <separator/>
-  <external href="design/design2_0_0.html" label="Xalan 2 Design"/>
-  <separator/>
-  <external href="readme.html#bugs" label="Bugs"/>  
-  <external href="http://xml.apache.org/xalan-j/test/overview.html" label="Testing"/>
-  <separator/>
-  <external href="todo.html#developer-list" label="Credits"/>  
-</book>
diff --git a/xdocs/sources/xalan/STATUS b/xdocs/sources/xalan/STATUS
deleted file mode 100644
index 0e0a3fc..0000000
--- a/xdocs/sources/xalan/STATUS
+++ /dev/null
@@ -1,6 +0,0 @@
-  <s3 title="Version of Xerces to use"> 
-<p>The &xslt4j-current; has been tested with &xml4j-used;. &download; For information about including xerces.jar on the system class path, see <link idref="getstarted" anchor="classpath">Setting up the system class path</link>.</p>
-<p><em>Important</em> You may experience unpredictable anomalies if your Xalan and Xerces builds are not in synch. If you download an update to Xalan, check the release notes to determine which version of Xerces you should use.</p>
-<note>You can use Xalan with other XML parsers that implement the <resource-ref idref="jaxp"/>. See 
-<link idref="usagepatterns" anchor="plug">Plugging in the Transformer and XML parser</link>.</note>
-</s3>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/commandline.xml b/xdocs/sources/xalan/commandline.xml
deleted file mode 100644
index f09619a..0000000
--- a/xdocs/sources/xalan/commandline.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
- 
-
-<s1 title="Command-Line Utility">
-   
-   <s2 title="Using the Command-Line Utility">
-      <p>To perform a transformation, you can call &xslt4j; from the command line (or script), 
-      an applet, an application, or a servlet (see <link idref="usagepatterns">Usage Patterns</link>).</p>
-     <p>The org.apache.xalan.xslt.Process main() method provides a command-line interface
-    for performing XSL transformation. To perform a transformation from the command line or a script,
-    do the following:</p>
- 		<ol>
-    <li>Download &xslt4j;.<br/><br/></li> 
-    <li><link idref="getstarted" anchor="classpath">Set the Java classpath</link> to include xalan.jar and
-    xerces.jar (or another conformant XML Parser -- see <link idref="usagepatterns" anchor="plug">Plugging in 
-    the Transformer and XML parser</link>).<br/><br/></li>
-    <li>Call java and the Process class with the appropriate flags and
-    arguments (described below). The following command line, for example, includes the -IN, -XSL,
-    and -OUT flags with their accompanying arguments -- the XML source document, the XSL
-    stylesheet, and the output file:<br/><br/>
-    <code>java org.apache.xalan.xslt.Process -IN foo.xml -XSL foo.xsl -OUT foo.out</code>
-    </li></ol>
-    <p>The command line utility can take the following flags and arguments (the flags are case insensitive):</p> 
-      <source>-IN inputXMLURL
--XSL XSLTransformationURL
--OUT outputFileName
--V (Version info)
--QC (Quiet Pattern Conflicts Warnings)
--Q  (Quiet Mode)
--LF (Use linefeeds only on output -- default is CR/LF)
--CR (Use carriage returns only on output -- default is CR/LF)
--INDENT (Number of spaces to indent each level in output tree --default is 0)
--TT (Trace the templates as they are being called)
--TG (Trace each result tree generation event)
--TS (Trace each selection event)
--TTC (Trace the template children as they are being processed)
--EDUMP [optional]FileName (Do stackdump on error)
--XML (Use XML formatter and add XML header)
--TEXT (Use simple Text formatter)
--HTML (Use HTML formatter)
--PARAM name value (Set a stylesheet parameter)
--DIAG put out timing diagnostics
--URIRESOLVER fullClassName (Use a custom URIResolver)
--ENTITYRESOLVER fullClassName (Use a custom EntityResolver)
--CONTENTHANDLER fullClassName (Use a custom ContentHandler)
-</source>
-      <p>Use <code>-IN</code> to specify the XML source document.</p> 
-      <p>Use <code>-XSL</code> to specify the XSL stylesheet file.</p>
-      <p>Use <code>-TEXT</code> if you want the output to include only element values (not element tags with element names and
-      attributes).</p>
-      <p>Use <code>-HTML</code> to write 4.0 transitional HTML (some elements, such as &lt;br&gt;, are
-      not well formed XML).</p>
-      <p>To set stylesheet parameters from the command line, use <br/>
-      <code>java org.apache.xalan.xslt.Process -PARAM <ref>name value</ref></code></p>
-      <p>Use <code>-URIRESOLVER</code> with a fully qualified class name to utilize a custom implementation of the
-      <jump href="apidocs/javax/xml/transform/URIResolver.html">URIResolver</jump> TrAX interface to resolve URIs for
-       xsl:include, xsl:import, and the document() function.</p>
-       <p>Use <code>-ENTITYRESOLVER</code> with a fully qualified class name to utilize a custom implementation of the
-       <jump href="apidocs/org/xml/sax/EntityResolver.html">EntityResolver</jump> SAX interface to handle external entity references.</p>
-       <p>Use <code>-CONTENTHANDLER</code> with a fully qualified class name to utilize a custom implementation of the 
-       <jump href="apidocs/org/xml/sax/ContentHandler.html">ContentHandler</jump> SAX interface to serialize output.</p>
-   </s2>
-</s1>
diff --git a/xdocs/sources/xalan/extensions.xml b/xdocs/sources/xalan/extensions.xml
deleted file mode 100644
index d18614b..0000000
--- a/xdocs/sources/xalan/extensions.xml
+++ /dev/null
@@ -1,720 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-
-<s1 title="&xslt4j; Extensions">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="supported-lang">Supported languages</link></li>
-<li><link anchor="basic-pattern">The basic pattern</link></li>
-<li><link anchor="setup-runtime">Setting up the runtime environment</link></li>
-<li><link anchor="basic-syntax">Syntax</link></li>
-<li><link anchor="ext-elements">Using an extension element</link></li>
-<li><link anchor="ext-functions">Using extension functions</link></li>
-<li><link anchor="java-namespace">Alternative: using the abbreviated syntax for extensions implemented in Java</link></li>
-<li>Examples: <link anchor="ex-basic">basic JavaScript example</link>, <link anchor="ex-java-namespace">using the java namespace</link>, <link anchor="ex-java">using a Java Hashtable</link>, <link anchor="ex-javascript">using a JavaScript array</link></li>
-</ul><anchor name="intro"/>
-  <s2 title="Introduction">
-  <p>For those situations where you would like to augment the functionality of XSLT with calls to a procedural language, &xslt4j; supports the creation and use of extension elements and extension functions. &xslt4j; also provides a growing <link idref="extensionslib">extensions library</link> available for your use. An extension (a collection of elements and functions) inhabits a namespace, either a namespace you declare and designate as an extensions namespace, or one of the predefined namespaces that &xslt4j; provides. For information about XML namespaces, see <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</jump>.</p>
-
-<p><em>Extension elements</em>  Unlike a literal result element, which the stylesheet simply transfers to the result tree, an extension element performs an action. For example, you can use the Redirect extension elements shipped with &xslt4j; to redirect portions of your transformation output to one or more files. Extension elements may contain attributes, text nodes, other elements, basically any valid XML. Extension elements may perform quite sophisticated actions, given that the extension routine (the implementation) has direct access to the XSLT processor context object and to the element. In many cases the implementation returns void or null; if it does return a value, that value is placed in the transformation result tree.</p>
-
-<p><em>Extension functions</em>  You can think of extension functions as extending the core library of functions that XPath provides. An extension function passes arguments to the extension implementation and returns a value. You can use extension functions to return values that XSLT can interact with directly (node-set, result tree fragment, string, boolean, and number) as well as values (of any type) that you pass in turn to other extension functions. Extension functions written in Java can also access certain items in the XSLT execution environment through an <jump href="apidocs/org/apache/xalan/extensions/ExpressionContext.html">ExpressionContext</jump> interface.</p>
-
-<p>XSLT extensions are specified in the <jump href="http://www.w3.org/TR/xslt#extension">XSLT Recommendation</jump>.  This document focuses on the &xslt4j; implementation of those requirements, not on XSLT extensions in general. For additional information on extensions, consult the Recommendation or the other resources listed in <link idref="overview" anchor="uptospeed">Getting up to speed with XSLT</link>.</p>
-</s2><anchor name="supported-lang"/>
-<s2 title="Supported languages">
-<p>Extensions written in Java are directly supported by &xslt4j;.  For extensions written in languages other than Java, &xslt4j; uses the <resource-ref idref="bsf"/>, an architecture for incorporating scripting into Java applications and applets. BSF allows an application to take advantage of scripting while being independent of any specific scripting language. To date, we have tested extensions implemented in JavaScript. Other languages with BSF support appear in the table below.</p>
-<p>BSF requires bsf.jar on the classpath. This JAR file is shipped with &xslt4j; and is required only if you have extensions written in languages other than Java. The additional JAR files or DLLs required to support extensions written in other languages are listed in the table below. These files are available from the sources indicated and are not shipped with &xslt4j;.</p>
-<table>
-  <tr>
-    <td><em>Language</em></td>
-    <td><em>Version</em></td>
-    <td><em>Requirements</em></td>
-  </tr>
-  <tr>
-    <td>Mozilla Rhino (JavaScript)<br/><br/></td>
-    <td>1.5<br/><br/></td>
-    <td>js.jar available from 
-				    http://www.mozilla.org/rhino<br/><br/></td>
-  </tr>
-  <tr>
-    <td>NetRexx<br/><br/></td>
-    <td>1.148 up <br/><br/></td>
-    <td>NetRexxC.zip available from http://www2.hursley.ibm.com/netrexx<br/><br/></td>
-  </tr>
-    <tr>
-    <td>BML<br/><br/></td>
-    <td>2.4<br/><br/></td>
-    <td>bmlall.jar available from http://oss.software.ibm.com/developerworks/projects/bsf<br/><br/></td>
-  </tr>
-    <tr>
-    <td>JPython<br/><br/></td>
-    <td>1.1-beta3<br/><br/></td>
-    <td>python.jar available from http://www.jpython.org/<br/><br/></td>
-  </tr>
-    <tr>
-    <td>Jacl<br/><br/></td>
-    <td>1.1.1<br/><br/></td>
-    <td> jacl.jar and tcljava.jar from http://www.scriptics.com/java<br/><br/></td>
-  </tr>
-    <tr>
-    <td>Win32 ActiveScript langs
-	JScript, VBScript<br/><br/></td>
-    <td><br/><br/></td>
-    <td>MSVCP60.DLL from Microsoft, appropriate language DLLs from Microsoft 
-    http://msdn.microsoft.com/scripting<br/><br/></td>
-  </tr>
-    <tr>
-    <td>PerlScript<br/><br/></td>
-    <td><br/><br/></td>
-    <td>ActivePerl from http://www.activestate.com/<br/><br/></td>
-  </tr>  
-</table>
-</s2><anchor name="basic-pattern"/>
-<s2 title="The basic pattern">
-<p>Let's examine a simple example. The stylesheet below uses an extension element and an extension function to transform an element in the XML source into a statement in the output indicating the date by which a customer can expect a response to a given enquiry.</p>
-
-<p>The source element contains a numdays attribute. The extension element contains a multiplier attribute, which is used to set a variable in the extension. The extension function computes the deadline, that is the current date plus numdays * multiplier. So for &lt;deadline numdays="3"/&gt; (in the XML source) and &lt;my-ext:timelapse multiplier="2"/&gt; (in the stylesheet), the extension computes a deadline 6 days from now, and the stylesheet template transforms the deadline element into a string along the lines of <code>&lt;p&gt;We have logged your enquiry and will respond by April 29, 2000 12:07:16 PM EST.&lt;/p&gt;</code></p>
-<note>The extension function could include both numdays and multiplier as arguments, thus bypassing the need for the extension element, but the purpose here is to illustrate the usage pattern for extension elements.</note>
-<p>As you review this stylesheet, please note the following:</p>
-<ol>
-	  <li>The declaration of the Xalan lxslt namespace, which provides support for the component and
-     component/script elements:<br/><br/>
-    <code>xmlns:lxslt="http://xml.apache.org/xslt"</code><br/><br/></li>
-    <li>The declaration of a namespace for this extension:<br/><br/>
-    <code>xmlns:my-ext="ext1"</code><br/><br/></li>
-  	<li>The designation of this namespace prefix as an extension prefix. This causes any element in the namespace associated with this prefix to be treated as an extension element rather than a literal result element.<br/><br/>
-     <code>extension-element-prefixes="my-ext"</code><br/><br/></li>
-	  <li>The lxslt:component with attributes designating the namespace prefix and the elements and
-     functions this extension provides.<br/><br/></li>
-  	<li>The lxslt:script subelement with a JavaScript implementation of the extension. For Java
-     extensions, the lxslt:script element has a src attribute that you set to identify the Java class.</li>
-</ol><anchor name="ex-basic"/>   
-<source>&lt;?xml version="1.0"?&gt;
-&lt;!--Namespaces are global if you set them in the stylesheet element--&gt;
-&lt;xsl:stylesheet 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    version="1.0"   
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:my-ext="ext1"
-    extension-element-prefixes="my-ext"&gt;
-    
-  &lt;!--The component and its script are in the lxslt namespace and define the 
-    implementation of the extension.--&gt;
-  &lt;lxslt:component prefix="my-ext" elements="timelapse" functions="getdate"&gt;
-    &lt;lxslt:script lang="javascript"&gt;
-      var multiplier=1;
-      // The methods or functions that implement extension elements always take 2
-      // arguments. The first argument is the XSL Processor context; the second 
-      // argument is the element node.
-      function timelapse(xslProcessorContext, elem)
-      {
-        multiplier=parseInt(elem.getAttribute("multiplier"));
-        // The element return value is placed in the result tree.
-        // If you do not want a return value, return null.
-        return null;
-      }
-      function getdate(numdays)
-      {
-        var d = new Date();
-        var totalDays = parseInt(numdays) * multiplier;
-        d.setDate(d.getDate() + totalDays);
-        return d.toLocaleString();
-      }
-    &lt;/lxslt:script&gt;
-  &lt;/lxslt:component&gt;
-      
-  &lt;xsl:template match="deadline"&gt;
-    &lt;p&gt;&lt;my-ext:timelapse multiplier="2"/&gt;We have logged your enquiry and will 
-      respond by &lt;xsl:value-of select="my-ext:getdate(string(@numdays))"/&gt;.&lt;/p&gt;
-  &lt;/xsl:template>
-
-&lt;/xsl:stylesheet&gt;
-</source>
-</s2><anchor name="setup-runtime"/>
-<s2 title="Setting up the runtime environment">
-<p>To run the preceding example, bsf.jar and js.jar must be on the classpath. Remember that bsf.jar must be on the classpath to run any extension written in a language other than Java. For extensions implemented in a scripting language, see the additional requirements in <link anchor="supported-lang">Supported languages</link>.</p>
-</s2><anchor name="basic-syntax"/>
-<s2 title="Syntax">
-<p>You can always use the pattern illustrated above to set up and use extension elements and extension functions. For extension elements and functions implemented in Java, you can also use an abbreviated syntax, described in <link anchor="java-namespace">Alternative: using the abbreviated syntax for extensions implemented in Java</link>. Unless you are using the abbreviated syntax, do the following:</p>
-<s3 title="1. Declare the lxslt namespace">
-<p><br/><code>xmlns:lxslt="http://xml.apache.org/xslt"</code></p>
-<p>The lxslt namespace provides support for the lxslt:component element and lxslt:script subelement.</p>
-</s3>
-<s3 title="2. Declare a unique namespace for each extension prefix">
-<p><br/><code>xmlns:<ref>prefix</ref>=<ref>URI</ref></code></p>
-<p>The <ref>prefix</ref> identifies the namespace, and <ref>URI</ref> is an arbitrary (but unique) string that matches the value of the prefix attribute of an lxslt:component element in the stylesheet.<br/>
-Example: <code>xmlns:ext1="xyz"</code><br/><br/></p>
-</s3>
-<s3 title="3. If you are using extension elements, designate the extension element prefixes">
-<p><br/>This step is required only if you are using extension elements.  If you are using extension functions only, you can skip this step.</p>
-<p>In the stylesheet element, write:</p> 
-<p><code>extension-element-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code></p>
-<p>In a literal result element or extension element include the xsl prefix:</p>
-<p><code>xsl:extension-element-prefixes="<ref>prefix1 prefix2 ...</ref>"</code></p>
-<p>Keep in mind that where you declare namespaces and designate extension prefixes determines the scope of those namespaces.To make your extensions available throughout the stylesheet, include these settings and attribute in the stylesheet element.</p>
-</s3>
-<s3 title="4. (Optional) Exclude the extension namespace declaration from the result tree">
-<p><br/>By default, namespace declarations are included in the transformation output. To exclude namespaces from the output, use</p>
-<p><code>exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code></p>
-<p>in the stylesheet element or</p>
-<p><code>xsl:exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code></p> 
-<p>in a literal result element or extension element.</p>
-</s3>
-<s3 title="5. Set up an lxslt:component">
-<p><br/>In the scope of the lxslt namespace declaration:</p>
-<p><code>&lt;lxslt:component prefix="<ref>prefix</ref>" </code><br/>
-   <code>&nbsp;&nbsp;&nbsp;&nbsp;functions="<ref>func-1 func-2 ...func-n</ref>"</code><br/> 
-   <code>&nbsp;&nbsp;&nbsp;&nbsp;elements="<ref>elem-1 elem-2 ...elem-n</ref>"&gt;</code><br/>
-   <code>&nbsp;&nbsp;&lt;!--See lxslt:script below--&gt;</code><br/>
-   <code>&lt;/lxslt:component&gt;</code></p>
-<p>where <ref>func-1 func-2 ... func-n</ref> and <ref>elem-1 elem-2 ... elem-n</ref> designate the functions and elements the extension provides and the stylesheet uses. You can use the function-available and element-available functions to determine at run time whether a function or element designated in the lxslt:component is actually available.</p>
-<note>If the component is implemented in Java, the values of the <code>functions</code> and <code>elements</code> attributes are ignored. The function-available and element-available functions use reflection to examine the actual Java methods.</note>
-</s3>
-<anchor name="setup-script"/>
-<s3 title="6. Set up the lxslt:script element">
-<p><br/>In each lxslt:component, you must include exactly one lxslt:script element. If the extension is implemented in JavaScript:</p>
-<p><code>&lt;lxslt:script lang="javascript" &gt;</code><br/>
-<code>&nbsp;&nbsp;&lt;!--The implementation script--&gt;</code><br/>
-<code>&lt;/lxslt:script&gt;</code></p>
-<p>For other scripting languages supported by BSF, use the same approach as for JavaScript. &xslt4j; plans to add support for using the src attribute to identify another document that contains the implementation script; this feature is not yet supported.</p>
-<p>If the extension is implemented in Java, you have three choices for the format of the src attribute in the lxslt:script element.</p>
-<p><code>&lt;lxslt:script lang="javaclass" src="xalan://<ref>FQCN</ref>"/&gt;</code>
-<br/>where <ref>FQCN</ref> is the fully qualified class name.
-<br/>Example: <code>&lt;lxslt:script lang="javaclass" src="xalan://java.util.Hashtable"/&gt;</code></p>
-<p><code>&lt;lxslt:script lang="javaclass" src="xalan://<ref>PJPN</ref>"/&gt;</code>
-<br/>where <ref>PJPN</ref> is the beginning of or the complete name of a java package.
-<br/>Example: <code>&lt;lxslt:script lang="javaclass" src="java.util"/&gt;</code></p>
-<p><code>&lt;lxslt:script lang="javaclass" src="http://xml.apache.org/xslt/java"/&gt;</code></p>
-<p>The different formats for the value of the src attribute when using Java extensions are more fully explained in <link anchor="java-namespace-declare">Declare the namespace</link>.</p>
-</s3>
-<s3 title="Implicit DTD for lxslt:component">
-<source>&lt;!ELEMENT lxslt:component (lxslt:script)&gt;
-&lt;!ATTLIST lxslt:component
-  prefix CDATA #REQUIRED
-  elements NMTOKENS #IMPLIED
-  functions NMTOKENS #IMPLIED&gt;
-
-&lt;!ELEMENT lxslt:script (#PCDATA | EMPTY)?&gt;
-&lt;!ATTLIST lxslt:script
-  lang CDATA #REQUIRED
-  src CDATA #IMPLIED&gt;</source>
-</s3>
-</s2><anchor name="ext-elements"/>
-<s2 title="Using an extension element">
-<p>Extension elements pass the extension two objects:</p>
-<ul>
-<li><jump href="apidocs/org/apache/xalan/extensions/XSLProcessorContext.html">org.apache.xalan.extensions.XSLProcessorContext</jump>, which provides access to the XSL processor, the XML source tree, the stylesheet tree, the current context node, and the current mode (if any).<br/><br/></li>
-<li><jump href="apidocs/org/apache/xalan/templates/ElemExtensionCall.html">org.apache.xalan.templates.ElemExtensionCall</jump>, which provides the API for interacting with the extension element.</li>
-</ul>
-<p>You can use the ElemExtensionCall getAttribute(String name) method, for example, to read element attributes in their raw form.  Use the getAttribute(String name, Node sourceNode, XSLTEngineImpl processor) method to evaluate the attribute as an attribute value template.  Note that the method names are the same but the method signatures are different.  For full details, see the <jump href="apidocs/org/apache/xalan/templates/ElemExtensionCall.html">Javadoc</jump> for the ElemExtensionCall class.</p>
-<s3 title="Implementing an extension element">
-<p>For each extension element in a namespace, the implementation must be a Java method with the following signature, or the scripting language equivalent:</p>
-<p><code><ref>Type element</ref>(org.apache.xalan.extensions.XSLProcessorContext, </code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.xalan.templates.ElemExtensionCall extensionElement)</code></p>
-<p>where <ref>Type</ref> designates the return type and <ref>element</ref> is the local part of the extension element name (the element name without the namespace prefix). In the method signature, you may also use superclasses of the indicated types.</p>
-<p>If the extension element is implemented in a loosely typed scripting language, such as JavaScript, the arguments and return value are untyped.</p>
-<p><em>Caution:</em> The value returned by an extension element is placed in the transformation result. If you are not interested in a return value, use a public void Java method or return null from a scripting language function.</p>
-<p>Java example: <code>public void myElement</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(org.apache.xalan.xslt.XSLProcessorContext, </code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.xalan.templates.ElemExtensionCall extensionElement)</code></p>
-<p>JavaScript example: <code>function myElement(xslProcContext, element)</code></p>
-<p>The <link idref="extensionslib" anchor="redirect">Redirect extension</link> in the extensions library contains three extension elements.</p>
-</s3>
-
-</s2><anchor name="ext-functions"/>
-<s2 title="Using extension functions">
-<p>Extension functions may include arguments of any type and return a value of any type.</p>
-<p>XSLT recognizes five data types: node-set, result-tree-fragment, string, boolean, and number. You can use XPath expressions to set variables with values of these types. You can also pass literals for string, boolean, and number arguments. If you want to pass an argument of a type that XSLT does not recognize, use another extension function to return an object of that type. The stylesheet that appears in <link anchor="format-date-stylesheet">Formatting a date</link>, for example uses extension functions to return a Date object and a SimpleDateFormat object, and then uses these objects to call another extension function.</p>
-<s3 title="Data type mapping and method selection">
-<p>When calling an extension function written in a language other than Java, objects of the following Java classes will always be passed to the extension function:</p>
-  <table>
-    <tr>
-      <th>XSLT Type</th>
-      <th>Java Type</th>
-    </tr>
-    <tr>
-       <td>Node-Set</td>
-       <td>org.w3c.dom.traversal.NodeIterator</td>
-    </tr>
-    <tr>
-       <td>String</td>
-       <td>java.lang.String</td>
-    </tr>
-    <tr>
-       <td>Boolean</td>
-       <td>java.lang.Boolean</td>
-    </tr>
-    <tr>
-       <td>Number</td>
-       <td>java.lang.Double</td>
-    </tr>
-    <tr>
-       <td>Result Tree Fragment</td>
-       <td>org.w3c.dom.DocumentFragment</td>
-    </tr>
-  </table>
-<p>Any non-XSLT type is passed without conversion.</p>
-<p>When calling an extension function written in Java, the extension function signature can specify any of the indicated Java types, as explained below:</p>
-  <table>
-    <tr>
-      <th>XSLT Type</th>
-      <th>Java Types</th>
-    </tr>
-    <tr>
-       <td>Node-Set</td>
-       <td>org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, org.w3c.dom.Node or its subclasses, java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean</td>
-    </tr>
-    <tr>
-       <td>String</td>
-       <td>java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean</td>
-    </tr>
-    <tr>
-       <td>Boolean</td>
-       <td>boolean, java.lang.Boolean, java.lang.Object, java.lang.String</td>
-    </tr>
-    <tr>
-       <td>Number</td>
-       <td>double, java.lang.Double, float, long, int, short,char, byte, boolean, java.lang.String, java.lang.Object</td>
-    </tr>
-    <tr>
-       <td>Result Tree Fragment</td>
-       <td>org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, org.w3c.dom.Node or its subclasses, java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean</td>
-    </tr>
-    <tr>
-       <td>Non-XSLT Type</td>
-       <td>the native type or any of its superclasses, double, float, long, int, short, char, byte, java.lang.String</td>
-    </tr>
-  </table>
-<p>When calling extension functions written in Java, &xslt4j; selects the method to call as follows:</p>
-<ol>
-  <li>&xslt4j; selects all methods whose name matches the extension function name as specified in <link anchor="ext-func-calls">Extension function Java calls</link>.</li>
-  <li>From this list of methods, &xslt4j; determines which methods are <ref>qualified</ref>.</li>
-  <li>Each qualified method is assigned a score based on the table shown above. To assign the score to a given method, &xslt4j; examines each of the XSLT argument types in the function invocation in the stylesheet. For each argument, the appropriate row in the table above is selected. Then, the corresponding Java parameter type in the method signature in the Java program is scored. Types which appear earlier in the list are given a higher score.  That is, the list appears in order of scoring preference from highest to lowest. Types shown in square brackets have equal priority.</li>
-  <li>The method with the highest score is invoked after the arguments are converted to the appropriate type. If more than one method has the highest score, an exception is thrown.</li>
-</ol>
-<p>Any extension function written in Java can have a first parameter of type <code>org.apache.xalan.extensions.ExpressionContext</code>. Any method with an ExpressionContext as the first parameter will score higher than any method which does not have an ExpressionContext as a first parameter.</p>
-</s3>
-<anchor name="ext-func-calls"/>
-<s3 title="Extension function Java calls">
-<p>The technique for instantiating Java objects and calling Java methods depends on the format of the extension namespace that was declared.  See <link anchor="java-namespace-declare">Declare the namespace</link> for the three different formats of namespace declarations for Java extensions. For each namespace format, the section below describes how to instantiate an object, how to invoke an instance method, and how to invoke a static method. The sections below explain, for each syntax, which methods are <ref>qualified</ref> for method selection as described in the preceeding section.</p>
-<s4 title="Class format namespace">
-<p><br/><em>To create an instance of an object</em>:
-<br/><code><ref>prefix</ref>:new (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix. A new instance is to be created with the <ref>args</ref> constructor arguments (if any). All constructor methods are qualified for method selection.
-<br/>Example: <code>&lt;xsl:variable name="myType"</code>
-<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:new()"&gt;</code></p>
-
-<p><em>To invoke an instance method on a specified object</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, <ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> with the <ref>args</ref> arguments. <ref>object</ref> must be an object of the class indicated by the namespace declaration.  Otherwise, the case shown immediately below will apply. Only instance methods with  the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>object</ref> will be used to identify the object instance and <ref>args</ref> will be passed to the invoked method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:valueOf($myType, string(@population))"&gt;</code></p>
-
-<p><em>To invoke an instance method on a default object</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke with the <ref>args</ref> arguments. The first <ref>arg</ref>, if any, must not be an object of the class indicated by the namespace declaration.  Otherwise, the case shown immediately above will apply. Only instance methods with the name <ref>methodName</ref> are qualified methods. If a matching method is found, a default instance of the class will be created if it does not already exist.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:valueOf(string(@population))"&gt;</code></p>
-
-<p><em>To invoke a static method</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke with the <ref>args</ref> arguments. Only static methods with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>args</ref> will be passed to the invoked static method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:printit(string(@population))"&gt;</code></p>
-</s4>
-<s4 title="Package format namespace">
-<p><br/><em>To create an instance of an object</em>:
-<br/><code><ref>prefix</ref>:<ref>subpackage</ref>.<ref>class</ref>.new (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix, <ref>subpackage</ref> is the rest of the package name (the beginning of the package name was in the namespace declaration), and <ref>class</ref> is the name of the class. A new instance is to be created with the <ref>args</ref> constructor arguments (if any). All constructor methods are qualified for method selection.
-<br/>Example: <code>&lt;xsl:variable name="myType"</code>
-<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:extclass.new()"&gt;</code></p>
-
-<p><em>To invoke an instance method on a specified instance</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, <ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> with the <ref>args</ref> arguments. Only instance methods of the <ref>object</ref> with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>object</ref> will be used to identify the object instance and <ref>args</ref> will be passed to the invoked method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:valueOf($myType, string(@population))"&gt;</code></p>
-
-<p><em>To invoke a static method</em>:
-<br/><code><ref>prefix</ref>:<ref>subpackage</ref>.<ref>class</ref>.<ref>methodName</ref> (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix, <ref>subpackage</ref> is the rest of the package name (the beginning of the package name was in the namespace declaration), <ref>class</ref> is the name of the class, and <ref>methodName</ref> is the name of the method to invoke with the <ref>args</ref> arguments. Only static methods with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>args</ref> will be passed to the invoked static method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:extclass.printit(string(@population))"&gt;</code></p>
-<note>Unlike the class format namespace, there is no concept of a default object since the namespace declaration does not identify a unique class.</note>
-</s4>
-<s4 title="Java format namespace">
-<p><br/><em>To create an instance of an object</em>:
-<br/><code><ref>prefix</ref>:<ref>FQCN</ref>.new (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix for the Java namespace and <ref>FQCN</ref> is the fully qualified class name of the class whose constructor is to be called. A new instance is to be created with the <ref>args</ref> constructor arguments (if any). All constructor methods are qualified for method selection.
-<br/>Example: <code>&lt;xsl:variable name="myHash"</code>
-<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:java.util.Hashtable.new()"&gt;</code></p>
-
-<p><em>To invoke an instance method on a specified instance</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, <ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> with the <ref>args</ref> arguments. Only instance methods of the <ref>object</ref> with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>object</ref> will be used to identify the object instance and <ref>args</ref> will be passed to the invoked method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:put($myHash, string(@region), $newpop)"&gt;</code></p>
-
-<p><em>To invoke a static method</em>:
-<br/><code><ref>prefix</ref>:<ref>FQCN</ref>.<ref>methodName</ref> (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix, <ref>FQCN</ref> is the fully qualified class name of the class whose static method is to be called, and <ref>methodName</ref> is the name of the method to invoke with the <ref>args</ref> arguments. Only static methods with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>args</ref> will be passed to the invoked static method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:java.lang.Integer.valueOf(string(@population))"&gt;</code></p>
-<note>Unlike the class format namespace, there is no concept of a default object since the namespace declaration does not identify a unique class.</note>
-</s4>
-</s3>
-
-<s3 title="Passing Nodes to java">
-<p>Please keep in mind that <em>all</em> LocationPath expressions return a node-set, even if the expression only returns a single attribute or a text node (node-sets with one member). You can use the XSLT string() function (as in the syntax examples above) to convert a node-set value to string, and the number() function to convert a node-set value to number (a double).</p>
-<p>If you want to pass a node-set to an extension function, set up a Java method to accept an 
-org.w3c.dom.NodeList (or an org.apache.xpath.NodeSet, which implements NodeList, if you want to modify the nodes).</p>
-<p>Suppose, for example, you have a myExtensions.ProcessNodes class with the following doSomething method:</p>
-<p><code>public static boolean doSomething(org.w3c.dom.NodeList nList)</code></p>
-<p>Assuming you set up this extension in the node-ext namespace, any of the following extension calls from a stylesheet are syntactically possible:</p>
-<p><code>&lt;!--Process the current node--&gt;</code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(.)"/&gt;</code></p>
-<p><code>&lt;!--Process all nodes in current context--></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(*)"/&gt;</code></p>
-<p><code>&lt;!-- Process all nodes --></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(/*)"/&gt;</code></p>
-<p><code>&lt;!--Process the foo/baz nodes in current context --></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(foo/baz)"/&gt;</code></p>
-<p><code>&lt;!--Process the/foo/baz and /bar/saz nodes --></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(/foo/baz | /bar/saz)"/&gt;</code></p>
-<p>The NodeList is in fact a list of references into the XML document, so keep in mind that getNextSibling(), for example, gets you the next sibling in the document, which may not be the next Node in the NodeList.</p>
-</s3>
-<s3 title="Implementing extension functions">
-<p>For each extension function in a namespace which is implemented in a language other than Java, the implementation must include a method with the following signature, or the scripting language equivalent:</p>
-<p><code>public <ref> object function</ref>(<ref>args</ref>)</code></p>
-<p>where <ref>object</ref> is the return type, <ref>function</ref> is the local part of the extension function name (the function name without the namespace prefix), and <ref>args</ref> correspond to the arguments in the function call.</p>
-<p>In addition, for extension functions implemented in Java, the implementation may include either a Java method with the signature shown above or one with the following signature:</p>
-<p><code>public <ref> object function</ref>(org.apache.xalan.extensions.ExpressionContext, <ref>args</ref>)</code></p>
-</s3>
-</s2><anchor name="java-namespace"/>
-<s2 title="Alternative: using the abbreviated syntax for extensions implemented in Java">
-<p>For extension functions and extension elements implemented in Java, Xalan permits an abbreviated syntax. When you use the abbreviated syntax, you do not use an lxslt:component to designate the functions.</p>
-<p>The abbreviated syntax supports the use of extension functions and extension elements implemented in Java. You cannot use this syntax with extensions implemented in JavaScript or another scripting language.</p>
-<anchor name="java-namespace-declare"/>
-<s3 title="Declare the namespace">
-<p>Declare the namespace for your extensions using one of the following three formats. The technique for invoking an extension for each format is explained in <link anchor="ext-func-calls">Extension function Java calls</link>.</p>
-<p><em>class format:</em> <code>xmlns:my-class="xalan://<ref>FQCN</ref>"</code></p>
-<p>where <ref>FQCN</ref> is the fully qualified class name.
-<br/>Examples: <code>xmlns:my-class="xalan://java.util.Hashtable"</code>
-<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>xmlns:my-class="xalan://mypackage.myclass"</code></p>
-<p><em>package format:</em> <code>xmlns:my-class="xalan://<ref>PJPN</ref>"</code></p>
-<p>where <ref>PJPN</ref> is a partial java package name.  That is, it is the beginning of or the complete name of a java package.
-<br/>Examples: <code>xmlns:my-package="xalan://java.util"</code>
-<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>xmlns:my-package="xalan://mypackage"</code></p>
-<p><em>Java format:</em> <code>xmlns:java="http://xml.apache.org/xslt/java"</code></p>
-<note>Although the namespace declarations for the class and package formats are shown with the xalan:// prefix, the current implementation for those formats will simply use the string to the right of the rightmost forward slash as the Java class name. This format is shown in order to comply with W3C recommendations for namespace declarations.</note>
-<note>The class: prefix which was sometimes required in earlier versions of &xslt4j; is no longer required.</note>
-<note>These formats are also available when coding the src attribute of the lxslt:script element as explained in <link anchor="setup-script">Set up the lxslt:script element</link>.</note>
-</s3>
-<s3 title="Use the namespace when you make extension calls">
-<p>Use the declared prefix with the syntax described in <link anchor="ext-func-calls">Extension function Java calls</link>.</p>
-<p>That is all. You do not include an lxslt:component element. Using the abbreviated syntax clearly involves less setup than using the lxslt:component/lxslt:script approach.</p>
-<note>We recommend that, for extensions coded in Java, the abbreviated syntax should always be used since the lxslt:component/lxslt:script constructs add no functionality.</note>
-</s3><anchor name="ex-java-namespace"/> 
-<s3 title="Example: Formatting a date">
-<p>This example uses extension functions to call the SimpleDateFormat class and the IntDate class. IntDate uses String arguments to set up a Date object:</p>
-<source>import java.util.Date;
-import java.util.Calendar;
-
-public class IntDate
-{
-  public static Date getDate(String year, String month, String day)
-    {
-      // Date(int, int, int) has been deprecated, so use Calendar to
-      // set the year, month, and day.
-      Calendar c = Calendar.getInstance();
-      // Convert each argument to int.
-      c.set ( Integer.parseInt(year),
-              Integer.parseInt(month),
-              Integer.parseInt(day) );
-      return c.getTime();
-    }
-}</source>
-<p>The template transforms date elements with four attributes. For example, it transforms <code>&lt;date format="EEEE, MMM dd, yyyy" year="2000" month="4" day="27"/&gt;</code> into &lt;p&gt;Date: Thursday, April 27, 2000.&lt;/p&gt;.</p>
-<p>As you review this stylesheet, please keep the following in mind:</p>
- <ul>
-  <li>The exclude-result-prefixes stylesheet attribute prevents the java namespace declaration from
-   appearing in the output.</li>
-  <li>The XSLT type returned by any LocationPath expression is node-set, so the XSLT string
-    function is used to convert the format, year, month, and day attribute values from node-sets to
-    strings.</li>
-  <li>The format attribute provides a String argument for constructing a java.text.SimpleDateFormat
-    object.</li>
-    <li>The IntDate class uses String values provided by the year, month, and day attributes, to set the
-    date. XSLT can pass number values, but these are converted into doubles.</li>
-  <li>The formatter variable holds a SimpleDateFormat object, and the date variable holds a Date object.
-    XSLT does not understand either of these types, but they are used to call the SimpleDateFormat format
-     method. In that call, $formatter is the object, and $date is the argument. The syntax for calling
-     Java constructors and methods is described above in <link anchor="ext-func-calls">Extension function Java calls</link>.</li>    
- </ul><anchor name="format-date-stylesheet"/>   
-<source>&lt;?xml version="1.0"?&gt;
-&lt;xsl:stylesheet 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    version="1.0"   
-    xmlns:java="http://xml.apache.org/xslt/java"
-    exclude-result-prefixes="java"&gt;
-    
-  &lt;!--Other templates for transforming the rest of
-                                            the XML source documents--&gt;
-  
-  &lt;xsl:template match="date"&gt; 
-    &lt;xsl:variable name="year" select="string(./@year)"/&gt;
-    &lt;xsl:variable name="month" select="string(./@month)"/&gt; 
-    &lt;xsl:variable name="day" select="string(./@day)"/&gt;          
-    &lt;xsl:variable name="format" select="string(./@format)"/&gt;
-
-    &lt;xsl:variable name="formatter"       
-        select="java:java.text.SimpleDateFormat.new($format)"/&gt;
-
-    &lt;xsl:variable name="date" 
-        select="java:IntDate.getDate($year, $month, $day)"/&gt;
-
-    &lt;p&gt;Date: &lt;xsl:value-of select="java:format($formatter, $date)"/&gt;&lt;/p&gt;
-  &lt;/xsl:template&gt;
-&lt;/xsl:stylesheet&gt;  
-</source>
-</s3>
-</s2>
-<s2 title="Examples: using Java and JavaScript to implement the same extension">
-<p>This section contains two examples. The first example uses a Java extension to transform a set of name elements  into an alphabetical and numbered list. The second example uses a JavaScript script to do the same. Both examples include equivalent extension elements and an extension function.</p>
-<anchor name="ex-java"/> 
-<s3 title="Java implementation">
-<p>MyCounter.java</p>
-<source>Import java.util.*;
-
-public class MyCounter {
-  Hashtable counters = new Hashtable ();
-
-  public MyCounter () 
-  {}
-
-  public void init
-             ( org.apache.xalan.extensions.XSLProcessorContext context,
-               org.apache.xalan.templates.ElemExtensionCall extElem ) 
-  {
-    String name = extElem.getAttribute("name");
-    String value = extElem.getAttribute("value");
-    int val;
-    try 
-    {
-      val = Integer.parseInt (value);
-    } 
-    catch (NumberFormatException e) 
-    {
-      e.printStackTrace ();
-      val = 0;
-    }
-    counters.put (name, new Integer (val));
-  }
-
-  public int read(String name) 
-  {
-    Integer cval = (Integer) counters.get (name);
-    return (cval == null) ? 0 : cval.intValue ();
-  }
-
-  public void incr
-             ( org.apache.xalan.extensions.XSLProcessorContext context,
-               org.apache.xalan.templates.ElemExtensionCall extElem) 
-  {
-    String name = extElem.getAttribute("name");
-    Integer cval = (Integer) counters.get(name);
-    int nval = (cval == null) ? 0 : (cval.intValue () + 1);
-    counters.put (name, new Integer (nval));
-  }
-}
-</source>
-<p>An XML source document:</p>
-<source>&lt;?xml version="1.0"?&gt;
-&lt;doc&gt;
-  &lt;name first="David" last="Marston"/&gt;
-  &lt;name first="David" last="Bertoni"/&gt;
-  &lt;name first="Donald" last="Leslie"/&gt;
-  &lt;name first="Emily" last="Farmer"/&gt;
-  &lt;name first="Jack" last="Donohue"/&gt;
-  &lt;name first="Myriam" last="Midy"/&gt;
-  &lt;name first="Paul" last="Dick"/&gt;
-  &lt;name first="Robert" last="Weir"/&gt;
-  &lt;name first="Scott" last="Boag"/&gt;
-  &lt;name first="Shane" last="Curcuru"/&gt;
-&lt;/doc&gt;</source>
-<p>The stylesheet:</p>
-<source>&lt;?xml version="1.0"?&gt; 
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:counter="MyCounter"
-                extension-element-prefixes="counter"
-                version="1.0"&gt;
-
-  &lt;lxslt:component prefix="counter"
-                   elements="init incr" functions="read"&gt;
-    &lt;lxslt:script lang="javaclass" src="xalan://MyCounter"/&gt;
-  &lt;/lxslt:component&gt;
-
-  &lt;xsl:template match="/"&gt;
-    &lt;HTML&gt;
-      &lt;H1&gt;Names in alphabetical order&lt;/H1&gt;
-      &lt;counter:init name="index" value="1"/&gt;
-      &lt;xsl:for-each select="doc/name"&gt;
-        &lt;xsl:sort select="@last"/&gt;
-        &lt;xsl:sort select="@first"/&gt;
-        &lt;p&gt;
-        &lt;xsl:text&gt;[&lt;/xsl:text&gt;
-        &lt;xsl:value-of select="counter:read('index')"/&gt;
-        &lt;xsl:text&gt;]. &lt;/xsl:text&gt;
-        &lt;xsl:value-of select="@last"/&gt;
-        &lt;xsl:text&gt;, &lt;/xsl:text&gt;
-        &lt;xsl:value-of select="@first"/&gt;
-        &lt;/p&gt;
-        &lt;counter:incr name="index"/&gt;
-      &lt;/xsl:for-each&gt;
-    &lt;/HTML&gt;
-  &lt;/xsl:template&gt;
- 
-&lt;/xsl:stylesheet&gt;
-</source>
-<p>Transformation output:</p>
-<source>&lt;HTML&gt;
-&lt;H1&gt;Names in alphabetical order&lt;/H1&gt;
-&lt;p&gt;[1]. Bertoni, David&lt;/p&gt;
-&lt;p&gt;[2]. Boag, Scott&lt;/p&gt;
-&lt;p&gt;[3]. Curcuru, Shane&lt;/p&gt;
-&lt;p&gt;[4]. Dick, Paul&lt;/p&gt;
-&lt;p&gt;[5]. Donohue, Jack&lt;/p&gt;
-&lt;p&gt;[6]. Farmer, Emily&lt;/p&gt;
-&lt;p&gt;[7]. Leslie, Donald&lt;/p&gt;
-&lt;p&gt;[8]. Marston, David&lt;/p&gt;
-&lt;p&gt;[9]. Midy, Myriam&lt;/p&gt;
-&lt;p&gt;[10]. Weir, Robert&lt;/p&gt;
-&lt;/HTML&gt;</source>
-</s3><anchor name="ex-javascript"/> 
-<s3 title="JavaScript implementation">
-<p></p>
-<source>&lt;?xml version="1.0"?&gt; 
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:counter="MyCounter"
-                extension-element-prefixes="counter"
-                version="1.0"&gt;
-
-  &lt;lxslt:component prefix="counter"
-                   elements="init incr" functions="read"&gt;
-    &lt;lxslt:script lang="javascript"&gt;
-      var counters = new Array();
-
-      function init (xslproc, elem) {
-        name = elem.getAttribute ("name");
-        value = parseInt(elem.getAttribute ("value"));
-        counters[name] = value;
-        return null;
-      }
-
-      function read (name) {
-        // Return a string.
-        return "" + (counters[name]);
-      }
-
-      function incr (xslproc, elem)
-      {
-        name = elem.getAttribute ("name");
-        counters[name]++;
-        return null;
-      }
-    &lt;/lxslt:script&gt;
-  &lt;/lxslt:component&gt;
-
-  &lt;xsl:template match="/"&gt;
-    &lt;HTML&gt;
-      &lt;H1&gt;Names in alphatebical order&lt;/H1&gt;
-      &lt;counter:init name="index" value="1"/&gt;
-      &lt;xsl:for-each select="doc/name"&gt;
-        &lt;xsl:sort select="@last"/&gt;
-        &lt;xsl:sort select="@first"/&gt;
-        &lt;p&gt;
-        &lt;xsl:text&gt;[&lt;/xsl:text&gt;
-        &lt;xsl:value-of select="counter:read('index')"/&gt;
-        &lt;xsl:text&gt;]. &lt;/xsl:text&gt;
-        &lt;xsl:value-of select="@last"/&gt;
-        &lt;xsl:text&gt;, &lt;/xsl:text&gt;
-        &lt;xsl:value-of select="@first"/&gt;
-        &lt;/p&gt;
-        &lt;counter:incr name="index"/&gt;
-      &lt;/xsl:for-each&gt;
-    &lt;/HTML&gt;
-  &lt;/xsl:template&gt;
- 
-&lt;/xsl:stylesheet&gt;
-</source>
-<p>This stylesheet produces the same output as the preceding example with the Java extension.</p>
-</s3>
-</s2>
-</s1>
diff --git a/xdocs/sources/xalan/extensionslib.xml b/xdocs/sources/xalan/extensionslib.xml
deleted file mode 100644
index 2915c80..0000000
--- a/xdocs/sources/xalan/extensionslib.xml
+++ /dev/null
@@ -1,325 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="Extensions library">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="xalanns">Xalan namespace</link></li>
-<li><link anchor="redirect">Redirect</link></li>
-<li><link anchor="nodeset">nodeset</link></li>
-<li><link anchor="intersection">intersection</link></li>
-<li><link anchor="difference">difference</link></li>
-<li><link anchor="distinct">distinct</link></li>
-<li><link anchor="hassamenodes">hasSameNodes</link></li>
-<li><link anchor="sql">SQL extensions</link></li>
-<li><link anchor="evaluate">evaluate</link></li>
-<li><link anchor="tokenize">tokenize</link></li>
-<li><link anchor="groupitem">group and item</link> <ref>(to be done)</ref></li>
-<li><link anchor="type">type</link> <ref>(to be done)</ref></li>
-<li><link anchor="todate">toDate</link> <ref>(to be done)</ref></li>
-<li><link anchor="formatdate">formatDate</link> <ref>(to be done)</ref></li>
-<li><link anchor="grep">grep</link> <ref>(to be done)</ref></li>
-<li><link anchor="foreachtoken">forEachToken</link> <ref>(to be done)</ref></li>
-<li>Examples: <link anchor="ex-redirect">Redirect</link>, <link anchor="ex-nodeset">nodeset</link>, <link anchor="ex-sql">SQL library</link></li>
-</ul><anchor name="intro"/>
-<s2 title= "Introduction">
-<p>Extension elements and functions provide a powerful mechanism
-for extending and simplifying what you can do with an XLST processor like
-Xalan. With input and contributions from the XML open-source developer community, we are working on placing the most useful
-extensions in an extensions library distributed with &xslt4j;. If you have ideas and/or contributions you would like to make, please email us at the <human-resource-ref idref="xalandev"/>.</p>
-</s2><anchor name="xalanns"/>
-<s2 title="Xalan namespace">
-<p>Where it makes sense, we are placing the new Xalan extensions in the org.apache.xalan.lib.Extensions class and we have defined a namespace for this class:</p>
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http://xml.apache.org/xalan</code></p>
-<p>If you are calling &xslt4j;-supplied extensions, we recommend that you define this namespace in your stylesheet element, and call the extension using the namespace prefix that you have associated with that namespace. That way, if we later reorganize how the &xslt4j;-supplied extensions are stored, you won't have to modify your stylesheet.</p>
-<p>For an example that uses this namespace, see <link anchor="ex-nodeset">Example with the nodeset extension function</link>.</p>
-</s2><anchor name="redirect"/>
-<s2 title= "Redirect">
-<p>A standard XSL transformation involves an XSL stylesheet, an XML source tree, and the transformation result tree. The transformation sends the entire result to a single <jump href="apidocs/org/apache/trax/Result.html">org.apache.trax.Result</jump> object.</p> 
-<p>The Redirect extension 
-(<jump href="apidocs/org/apache/xalan/xslt/extensions/Redirect.html">org.apache.xalan.xslt.extensions.Redirect</jump>) supplies three extension elements that you can use to redirect portions of your transformation output to multiple files: &lt;open&gt;, &lt;write&gt;, and &lt;close&gt;. If you use the &lt;write&gt; element alone, the extension opens a file, writes to it, and closes the file immediately. If you want explicit control over the opening and closing of files, use &lt;write&gt; in conjunction with the &lt;open&gt; and &lt;close&gt; elements.</p>
-<p>Each of these elements includes a file attribute and/or a select attribute to designate the output file. The file attribute takes a string, so you can use it to directly specify the output file name. The select attribute takes an XPath expression, so you can use it to dynamically generate the output file name. If you include both attributes, the Redirect extension first evaluates the select attribute, and falls back to the file attribute if the select attribute expression does not return a valid file name.</p>
-<anchor name="ex-redirect"/> 
-<s3 title="Example with the Redirect extension">
-<p>Suppose you are outputting the bulk of your result tree to one file, but you want to output the transformation of all &lt;foo&gt; elements and their children to another file. The following example illustrates the basic structure of the XML source:</p>
-<source>&lt;?xml version="1.0"?&gt; 
-&lt;doc&gt;
-  &lt;foo file="foo.out"&gt;
-    Testing Redirect extension:
-      &lt;bar&gt;A foo subelement text node&lt;/bar&gt;
-  &lt;/foo&gt;
-  &lt;main&gt;
-    Everything else
-  &lt;/main&gt;  
-&lt;/doc&gt;</source>
-<p>This stylesheet redirects part of the output to a secondary file:</p>
-<source>
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    version="1.0"
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
-    extension-element-prefixes="redirect"&gt;
-
-  &lt;xsl:template match="/"&gt;
-    &lt;standard-out&gt;
-      Standard output:
-      &lt;xsl:apply-templates/&gt;
-    &lt;/standard-out&gt;
-  &lt;/xsl:template&gt;
-  
-  &lt;xsl:template match="main"&gt;
-    &lt;main&gt;
-      &lt;xsl:apply-templates/&gt;
-    &lt;/main&gt;
-  &lt;/xsl:template&gt;
-  
-  &lt;xsl:template match="/doc/foo"&gt;
-    &lt;redirect:write select="@file"&gt;
-      &lt;foo-out&gt;
-        &lt;xsl:apply-templates/&gt;
-      &lt;/foo-out&gt;
-    &lt;/redirect:write&gt;
-  &lt;/xsl:template&gt;
-  
-  &lt;xsl:template match="bar"&gt;
-    &lt;foobar-out&gt;
-      &lt;xsl:apply-templates/&gt;
-    &lt;/foobar-out&gt;
-  &lt;/xsl:template&gt;
-  
-&lt;/xsl:stylesheet&gt;</source>
-<p>The standard output is:</p>
-<source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;standard-out&gt;
-  Standard output:
-  &lt;main&gt;
-    Everything else.
-  &lt;/main&gt;
-&lt;standard-out&gt;</source>
-<p>The output redirected to foo.out is:</p>
-<source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;foo-out&gt;
-    Testing Redirect extension:
-    &lt;foobar-out&gt;foo subelement text node&lt;/foobar-out&gt;
-  &lt;/foo-out&gt;</source>
-<p>For more information on using the Redirect extension to send output to multiple files, examine the <link idref="samples" anchor="ext1">SimpleRedirect</link> sample and see the <jump href="apidocs/org/apache/xalan/lib/Redirect.html">Redirect</jump> class Javadoc.</p>  
-</s3></s2><anchor name="nodeset"/>
-<s2 title= "nodeset">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>nodeset (result-tree-fragment)</code>  casts a result tree fragment into a node-set.</p>
-<note>When you bind a variable to a template, rather than to the value generated by a select expression, the data type of the variable is result tree fragment. For more information, see <jump href="http://www.w3.org/TR/xslt#section-Result-Tree-Fragments">Result Tree Fragments</jump>.</note>
-<anchor name="ex-nodeset"/>
-<s3 title="Example with the nodeset extension function">
-<p>The following stylesheet uses the nodeset extension function to cast a result tree fragment into a node-set that can then be navigated in standard XPath manner. It uses the http://xml.apache.org/xalan namespace to provide access to the nodeset() method in xml.apache.xalan.lib.Extensions.</p>
-<source>&lt;?xml version="1.0"?&gt;
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-                xmlns:xalan="http://xml.apache.org/xalan"
-                exclude-result-prefixes="xalan"&gt;
-&lt;xsl:template match="/"&gt;
-  &lt;out&gt;
-	  &lt;xsl:variable name="rtf"&gt;
-      &lt;docelem&gt;
-        &lt;elem1&gt;
-          &lt;elem1a&gt;ELEMENT1A&lt;/elem1a&gt;
-          &lt;elem1b&gt;,ELEMENT1B&lt;/elem1b&gt;
-        &lt;/elem1&gt;
-        &lt;elem2&gt;
-          &lt;elem2a&gt;ELEMENT2A&lt;/elem2a&gt;
-        &lt;/elem2&gt;
-      &lt;/docelem&gt;
-    &lt;/xsl:variable&gt;     
-      &lt;xsl:for-each select="xalan:nodeset($rtf)/docelem//*"&gt;
-        &lt;xsl:value-of select="name(.)"/&gt;&lt;xsl:text&gt;,&lt;/xsl:text&gt;
-      &lt;/xsl:for-each>
-  &lt;/out>
-&lt;/xsl:template> 
-&lt;/xsl:stylesheet&gt;</source>
-<p>The output of running this stylesheet (with any XML input source) is a comma-delimited list of the element names in the node-set<br/>
-&nbsp;&nbsp;<code>&lt;out&gt;elem1,elem1a,elem1b,elem2,elem2a&lt;/out&gt;</code></p>
-<note>For illustration purposes, the preceding stylesheet pays no attention to the structure and content of the XML input document. Instead, it processes the template (in the stylesheet) bound to the variable named rtf.</note>
-
-</s3>
-</s2><anchor name="intersection"/>
-<s2 title="intersection">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>intersection (node-set1, node-set2)</code>  function returns a node-set with all nodes that are in ns1 and in ns2 .</p>
-</s2><anchor name="difference"/>
-<s2 title= "difference">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>difference(node-set1, node-set2)</code> returns a node-set with the nodes in node-set1 and not in node-set2.</p>
-</s2><anchor name="distinct"/>
-<s2 title= "distinct">
- <p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
- distinct (node-set) returns a node-set containing nodes with distinct string values. If more than one node in the node-set 
- contains the same text node value, distinct only returns the first of these nodes that it finds.</p>
-</s2><anchor name="hassamenodes"/>
-<s2 title= "hasSameNodes">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>hasSameNodes(node-set1, node-set2)</code> returns true if both node-set1 and node-set2 contain exactly the same set of nodes.</p>
-</s2><anchor name="sql"/>
-<s2 title= "SQL library">
-<p><em>**Experimental**</em> Provides extension functions for connecting to a JDBC data source, executing a query,
-and working incrementally through "streamable" result set.</p>
-<p><em>The SQL extension use of a single row-set node to incrementally return a query result set is experimental. Keep in mind that you
-can only access row elements one at a time moving forward through the result set. The use of XPath expressions in your stylesheet, for
-example, that attempt to return nodes from the result set in any other manner may produce unpredictable results.</em></p>
-<p><jump href="apidocs/org/apache/xalan/lib/sql/XConnection.html">org.apache.xalan.lib.sql.XConnection</jump> provides three extension functions that you can use in your stylesheet.</p>
-    <ol>
-      <li>new() -- Use one of the XConnection constructors to connect to a data source, and return an XConnection
-       object.<br/><br/></li>
-      <li>query() -- Use the XConnection object query() method to return a "streamable" result set in the form of a row-set
-       node. Work your way through the row-set one row at a time. The same row element is used over and over again, so you can
-       begin "transforming" the row-set before the entire result set has been returned.<br/><br/></li>
-      <li>close() -- Use the XConnection object close() method to terminate the connection.</li>      
-    </ol>
-    <p>The query() extension function returns a Document node that contains (as needed) an array of column-header elements, 
-    a single row element that is used repeatedly, and an array of col elements. Each column-header element (one per column in
-    the row-set) contains an attribute (ColumnAttribute) for each of the column descriptors in the ResultSetMetaData object. 
-    Each col element contains a text node with a textual representation of the value for that column in the current row.</p>
-    <anchor name="ex-sql"/> 
-    <s3 title="Example with SQL library">
-    <p>This example displays the result set from a table in a sample InstantDB database. It is also
-    available as a sample application; see 
-    <link idref="samples" anchor="ext6">6-sqllib-instantdb</link>.</p>
-<source>&lt;?xml version="1.0"?&gt;
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql"&gt;
-  &lt;xsl:output method="html" indent="yes"/&gt;
-  &lt;xsl:param name="query" select="'SELECT * FROM import1'"/&gt;
- 
-  &lt;xsl:template match="/"&gt;
-    &lt;!-- 1. Make the connection --&gt;
-    &lt;xsl:variable name="products"
-                  select="sql:new('org.enhydra.instantdb.jdbc.idbDriver',
-                                'jdbc:idb:.\instantdb\sample.prp')"/&gt;
-    &lt;HTML&gt;
-      &lt;HEAD&gt;
-      &lt;/HEAD&gt;
-      &lt;BODY&gt;
-        &lt;TABLE border="1"&gt;
-        &lt;!--2. Execute the query --&gt;
-        &lt;xsl:variable name="table" select='sql:query($products, $query)'/&gt;
-          &lt;TR&gt;
-          &lt;!-- Get column-label attribute from each column-header--&gt;
-          &lt;xsl:for-each select="$table/row-set/column-header"&gt;
-            &lt;TH&gt;&lt;xsl:value-of select="@column-label"/&gt;&lt;/TH&gt;
-          &lt;/xsl:for-each&gt;
-          &lt;/TR&gt;
-          &lt;xsl:apply-templates select="$table/row-set/row"/&gt;
-          &lt;xsl:text&gt;&amp;#10;&lt;/xsl:text&gt;
-        &lt;/TABLE&gt;
-      &lt;/BODY&gt;
-    &lt;/HTML&gt; 
-    &lt;!-- 3. Close the connection --&gt;
-    &lt;xsl:value-of select="sql:close($products)"/&gt;
-  &lt;/xsl:template&gt;
-
-  &lt;xsl:template match="row"&gt;
-        &lt;TR&gt;
-          &lt;xsl:apply-templates select="col"/&gt;
-        &lt;/TR&gt;
-  &lt;/xsl:template&gt;
-
-  &lt;xsl:template match="col"&gt;
-    &lt;TD&gt;
-      &lt;!-- Here is the column data -->
-      &lt;xsl:value-of select="text()"/>
-    &lt;/TD>
-  &lt;/xsl:template>
-
-&lt;/xsl:stylesheet&gt;
-</source>
-</s3>
-</s2><anchor name="evaluate"/>
-<s2 title= "evaluate">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>evaluate (xpath-expression)</code> function returns the result of evaluating the xpath-expression in the current 
-XPath expression context (automatically passed in by the extension mechanism).</p>
-<p>Use the evaluation extension function when the value of the expression is not known until run time.</p>
-</s2><anchor name="tokenize"/>
-<s2 title="tokenize">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>tokenize (tokenize-string, delimiters)</code><br/>
-or<br/>
-<code>tokenize (tokenize-string)</code> function returns a node-set containing one text node for each token in the tokenize-string.</p>
-<p>The delimiters determine which characters are used to divide the tokenize-string into individual tokens. If you do not include
-the delimiters argument, the function uses tab (&amp;#x09), linefeed (&amp;#x0A), return (&amp;#x0D), and space (&amp;#x20) as delimiters.
-If tokenize-string is an empty string or contains only delimiters, the result is an empty node-set.</p>
-</s2><anchor name="groupitem"/>
-<s2 title= "group and item">
-<p><em>To be done.</em> Provides efficient grouping of items with a common value.</p>
-</s2><anchor name="type"/>
-<s2 title= "type">
-<p><em>To be done.</em> Returns a string that represents the Schema or DTD type.</p>
-</s2><anchor name="todate"/>
-<s2 title="to-date">
-<p><em>To be done.</em> Takes a string as input, and returns a long value representing the date.</p>
-</s2><anchor name="formatdate"/>
-<s2 title="format-date">
-<p><em>To be done.</em> Takes a date string, and formats it according to a specification.</p>
-</s2><anchor name="grep"/>
-<s2 title="grep">
-<p><em>To be done.</em> Performs a grep function and returns the substring.</p>
-</s2><anchor name="foreachtoken"/>
-<s2 title="for-each-token">
-<p><em>To be done.</em> Tokenizes a string, treats each token as a DOM Text node, and executes the
-sub-template.</p>
-</s2>
-</s1>
diff --git a/xdocs/sources/xalan/faq.xml b/xdocs/sources/xalan/faq.xml
deleted file mode 100644
index 89448e3..0000000
--- a/xdocs/sources/xalan/faq.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE faqs SYSTEM "../../style/dtd/faqs.dtd">
-
-<faqs title="Frequently asked questions">
-
-  <faq title="Where do I go to learn about XSLT">  
-    <q>Where do I go to learn about XSLT?</q>    
-    <a><p>The definitive sources are the W3C XSLT and XPath recommendations: <resource-ref idref="xslt"/> and 
-    <resource-ref idref="xpath"/>.</p>
-    <p>For a brief listing of tutorials, discussion forums, and other materials, see <link idref="overview"
-     anchor="uptospeed">Getting up to speed with XSLT</link>.</p></a>
-  </faq>
-
-  <faq title="Which version of Xerces should I be using?">  
-    <q>Which version of Xerces should I be using?</q>    
-    <a><p>&xslt4j-current; has been tested with &xml4j-used;. See <link idref="readme" anchor="status">Status</link>.</p></a>
-  </faq>
-  
-  <faq title="Compatibility with &xslt4j; version 1">
-   <q>How do I run applications that use the &xslt4j; version 1 API with &xslt4j2;</q>
-   <a><p>Use the Xalan-Java 1 compatibility JAR to recompile and run your &xslt4j; 1 applications with &xslt4j2;. For more information, see 
-   <link idref="usagepatterns" anchor="compat">Using the &xslt4j; version 1 API</link>.</p></a>
-  </faq>
-    
-  <faq title="TrAX and JAXP">
-    <q>What are TrAX and JAXP, and are they related?</q>
-    <a><p>TrAX is the Transformation API for XML. In November 2000, TrAX was revised and incorporated into JAXP, the JAVA API for XML
-    Processing. JAXP (including TrAX) provides users a standard, vendor-neutral API for working with (and transforming) XML documents. 
-    You can use this API to build applications that are not bound to the particular implementation details of a given XML parser or XSL
-    transformer.</p>
-    <p>&xslt4j; includes the JAXP packages, implements the TrAX portion of that API (javax.xml.transform....), and includes xerces.jar from
-    &xml4j;, which implements the parser portion of the API (javax.xml.parser....).</p>
-<p>For more information, see <resource-ref idref="trax"/> and <resource-ref idref="jaxp11"/>.</p></a>
-  </faq>
-  <faq title="Chaining transformations">  
-    <q>How do you chain together a series of transformations?"</q>
-    
-    <a><p>&xslt4j; supports two strategies for chaining together a series of transformations such that the output of each 
-    transformation provides input for the next transformation.</p>
-    <ul>
-      <li>For each transformation in the series, you can set one SAX ContentHandler to process the input, and another ContenHandler to process
-       the output.<br/><br/></li>
-      <li>You can also set up a series of parent-child relationships between an XMLReader and one or more XMLFilters.</li> 
-    </ul>
-    <p>For the details and links to examples, see <link idref="usagepatterns" anchor="outasin">Using transformation output as input for 
-    another transformation</link>.</p></a>
-  </faq>
-  
-  <faq title="Issues running Xalan on JDK 1.3">
-  <q>I'm having a problem building or running &xslt4j; on the JDK 1.3.</q>
-  <a><p>The JDK 1.3 automatically places everything in the lib/ext directory in front of everything you place on the classpath. If this directory contains a version of DOM, JAXP, or Xerces that predates the &xslt4j; distribution you are using, you may have problems!</p> 
-<p>The IBM JDK 1.3 includes an earlier version of xerces.jar in the lib/ext directory, a version that does not implement the JAXP 1.1 interfaces and therefore does not work with the current Xalan release. Accordingly, you must either purge the xerces.jar that is in that directory or overwrite it with the xerces.jar that is included with the Xalan distribution.</p>
-<p>The SUN JDK 1.3 includes a pre-1.1 version of the JAXP in crimson.jar. Either purge the crimson.jar in that directory or overwrite it with a newer crimson.jar that includes and implements the JAXP 1.1 interfaces.</p></a>  
-  </faq>
-  <faq title="a &quot;DOM006 Hierarchy request error&quot;">
-  <q>Why do I get a "DOM006 Hierarchy request error" when I try to transform into a DOM Document node?</q>
-  <a>
-  <p>This error occurs when Xalan tries to add a Node to a Document node where it isn't allowed. For example, attempting to add non-whitespace
-  text to the DOM Document node produces this error.</p>
-   <p>The error can also occur when a Document node is created with the DOMImplementation createDocument() method, which takes a qualified name
-    as an argument and creates an element node.  If you then pass the returned Document node to Xalan, you get a "DOM006 Hierarchy request
-    error" when Xalan tries to add a second element to the Document node. The solution is to either use the DocumentBuilder newDocument() method
-    to create a Document that does not contain an element node, or use a DocumentFragment. It should be noted that the 
-    DocumentBuilder newDocument() method is "Non-preferred" according to the JAXP 1.1 documentation.</p>
-  </a>
-  </faq>
-  
-  <faq title="Speeding up transformations">
-  
-    <q>What can I do to speed up transformations?</q>
-    
-    <a><p>In the ongoing development of &xslt4j;, enhancing performance is the primary goal of the &xslt4j; team.
-    Here are some preliminary suggestions for you to keep in mind as you set up your applications:</p><ul>
-    <li>Use a Templates object (with a different Transformers for each transformation) to perform multiple transformations with the same 
-    set of stylesheet instructions (see <link idref="usagepatterns" anchor="multithreading">Multithreading</link>).<br/><br/></li>         
-    <li>Set up your stylesheets to function efficiently.<br/><br/></li>
-       <ul>
-         <li>Don't use "//" (descendant axes) patterns near the root of a large document.<br/><br/></li>
-         <li>Use xsl:key elements and the key() function as an efficient way to retrieve node sets.<br/><br/></li>
-         <li>Where possible, use pattern matching rather than xsl:if or xsl:when statements.<br/><br/></li>
-         <li>xsl:for-each is fast because it does not require pattern matching.<br/><br/></li>
-         <li>Keep in mind that xsl:sort prevents incremental processing.<br/><br/></li>
-         <li>When you create variables, &lt;xsl:variable name="fooElem" select="foo"/&gt; is usually faster than
-         &gt;xsl:variable name="fooElem"&gt;&lt;xsl:value-of-select="foo"/&gt;&lt;/xsl:variable&gt;.<br/><br/></li>
-         <li>Be careful using the last() function.<br/><br/></li>
-         <li>The use of index predicates within match patterns can be expensive.<br/><br/></li>
-         <li>Decoding and encoding is expensive.<br/><br/></li>
-       </ul>
-     <li>For the ultimate in server-side scalability, perform transform operations on the client. For examples, see 
-     <link idref="samples" anchor="appletxmltohtml">appletXMLtoHTML</link> and <link idref="samples"
-     anchor="get-todo-list">get-todo-list</link>.</li>
-    </ul></a>
-  </faq>
-
-  <faq title="NoClassDefFound errors">
-  
-    <q>I'm getting a NoClassDefFound error. What has to be on the classpath?</q>
-    
-    <a><ol>
-    <li>xalan.jar and xerces.jar (or the XML parser you are using) must always be on the classpath.<br/><br/></li>
-    <li>To run the samples in the samples subdirectories, xalansamples.jar must be on the classpath. To run the servlet (in
-    samples/servlet), xalanservlet.jar must be on the classpath along with the javax.servlet and javax.servlet.http packages. Sun distributes
-    the javax.servlet packages in the JSWDK servlet.jar file.<br/><br/></li>
-    <li>To run extensions (including the samples in samples/extensions), bsf.jar, and bsfengines.jar must be on the 
-    classpath. To run extensions implemented in JavaScript, js.jar must also be on the classpath. For information on what 
-    you need to run extensions implemented in other scripting languages, see <link idref="extensions"
-    anchor="supported-lang">Supported languages</link>.<br/><br/></li>
-    <li>To run applications that use the &xslt4j; version 1 API, you must put xalanj1compat.jar on the classpath, recompile the application,
-    and be sure xalanj1compat.jar is on the classpath at run time (see <link idref="usagepatterns" anchor="compat">Using the &xslt4j; version 1
-    API)</link>.</li>
-    </ol>
-    <p>For more information, see <link idref="getstarted" anchor="classpath">Setting up the system classpath</link>.</p></a>
-   </faq>
- 
-	<faq title="Stylesheet validation">
-		<q>How do I validate an XSL stylesheet?</q>
-		<a>
-      <p>An XSL stylesheet is an XML document, so it can have a DOCTYPE and be subject to validation, right? </p>
-      <p>The XSLT Recommendation includes a <jump href="http://www.w3.org/TR/xslt#dtd">DTD Fragment 
-      for XSL Stylesheets</jump> with some indications of what you need to do to create a complete DTD for a given
-      stylesheet. Keep in mind that stylesheets can include literal result elements and produce output that is not valid
-      XML.</p>
-      <p>You can use the xsl:stylesheet doctype defined in xsl-html40s.dtd for stylesheets that generate HTML.</p>
-		</a>
-	</faq>
-    
-    <faq title="Retrieving nodes in the default namespace">
-     <q>XPath isn't retrieving nodes that are in the default namespace I defined. How do I get them?</q>
-     <a><p>If you are looking for nodes in a namespace, the XPath expression must include a namespace prefix that you have mapped to the
-       namespace with an xmlns declaration. If you have declared a default namespace, it does not have a prefix (see 
-       <jump href="http://www.w3.org/TR/xpath.html#node-tests">XPath Node Tests</jump>). In order to construct XPath expressions 
-       to retrieve nodes from this namespace, you must add a namespace declaration that provides a prefix you can include in the XPath
-        expressions.</p>
-       <p>Suppose, for example, you you want to locate nodes in a default namespace declared as follows:<br/>
-       <code>xmlns="http://my-namespace"</code></p>
-       <p>Add a nampespace declaration with a prefix:<br/>
-       <code>xmlns:foo="http://my-namespace"</code></p>       
-       <p>Then you can use foo: in your XPath expression.</p>
-       <p>Hint: Don't use default namespaces, and the problem doesn't arise.</p></a>
-    </faq>   
-</faqs>
diff --git a/xdocs/sources/xalan/getstarted.xml b/xdocs/sources/xalan/getstarted.xml
deleted file mode 100644
index b81a2ad..0000000
--- a/xdocs/sources/xalan/getstarted.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" standalone="no"?>  
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<s1 title="Getting Started">
-<ul>
-<li><link anchor="download">Downloading what you need</link></li>
-<li><link anchor="classpath">Setting up the system classpath</link></li>
-<li><link anchor="samples">Trying out the samples</link></li>
-<li><link anchor="commandline">Performing your own transformations from the command line</link></li>
-<li><link anchor="java-apps">Setting up your own XSLT applications</link></li>
-</ul>
-<anchor name="download"/>
-<s2 title="Downloading what you need">
-<p>To use Xalan, you need the following:</p>
-<ul>
-<li>The JDK or JRE 1.1.8, 1.2.2, or 1.3</li>
-<li>xalan.jar</li>
-<li>xerces.jar (or another <link idref="usagepatterns" anchor="plug">XML Parser</link>)</li>
-</ul>
-<p>You can get the JDK or JRE from <jump href="http://www.ibm.com/java/jdk">ibm.com/java/jdk/</jump> or <jump href="http://www.java.sun.com">java.sun.com</jump>.</p> 
-<p>Download <resource-ref idref="xslt4j-dist-zip"/> or <resource-ref idref="xslt4j-dist-targz"/>. Both of these files contain <resource-ref idref="xslt4j-current"/> (with xalan.jar) and xerces.jar from <resource-ref idref="xml4j-used"/>. You can use a zip or tar utility to expand these files into a full build.</p>
-
-<p>If you plan to run <link idref="extensions">XSLT extensions</link>, you need bsf.jar, which is included in the &xslt4j; distribution. If you plan to run XSLT extensions implemented in Javascript or another scripting language, you will need one or more additional files as indicated in <link idref="extensions" anchor="supported-lang">extensions language requirements</link>.</p>
-</s2><anchor name="classpath"/>
-<s2 title="Setting up the system classpath">
-<p>At the very minimum, you must include xalan.jar and xerces.jar (or another conformant XML parser -- see <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML parser</link>) on the system classpath. To run the sample applications, include xalansamples.jar (all samples other than the servlet) and xalanservlet.jar. To run extensions, include bsf.jar. All these JAR files are distributed with &xslt4j;. For extensions implemented in JavaScript or another scripting language, see <link idref="extensions" anchor="supported-lang">extensions language requirements</link> to identify any additional JAR files you must place on the classpath and where you can get them.</p>
-<p>If you are using JDK or JRE 1.1.8, also include classes.zip on the classpath.</p>
-<note>If you are using xerces.jar from a Xerces release that is more recent than &xml4j-used;, you may need to put xerces.jar before xalan.jar on the classpath. Both JAR files include the org.w3c.dom packages. The Xerces team is tracking updates to DOM level 2, and the Xerces parser may require access to updates in these packages.</note>
-</s2><anchor name="samples"/>
-<s2 title="Trying out the samples">
-<p>The &xslt4j; distribution includes a number of basic sample applications. These samples are easy to run, and you can review the source files -- all of which are brief -- to see just how they work.</p>
-<p>To run the samples, do the following:</p>
-<ol>
-<li>Set up your classpath (see above), including xalansamples.jar and (for the servlet) xalanservlet.jar.</li>
-<li>Be sure the java executable is on your path.</li>
-<li>Go to the samples subdirectory containing the sample (use the DOS shell if you are running Windows).</li>
-<li>Use the java executable to run the sample from the command line.</li>
-<li>Examine the application source and result files.</li>
-</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, 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 samples, see <link idref="samples">&xslt4j; Samples</link>.</p>
-</s2><anchor name="commandline"/>
-<s2 title="Performing your own transformations from the command line">
-<p>java.org.apache.xalan.xslt.Process provides a basic utility for performing transformations from the command line. You use this utility, for example, to run several of the extensions samples. The command line for most standard transformations is as follows:</p>
-<p><code>java org.apache.xalan.xslt.Process -in <ref>xmlSource</ref></code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;-xsl <ref>stylesheet</ref> -out <ref>outputfile</ref></code></p>
-<p>where <ref>xmlSource</ref> is the XML source file name, <ref>stylesheet</ref> is the XSL stylesheet file name, and <ref>outputfile</ref> is the output file name.</p>
-<p>If you want the output to be displayed on the screen, simply omit the -out flag and argument.</p>
-<p>You can use this utility to try out XSL stylesheets you have written, to make sure they do what you expect with the XML source files they are designed to transform. The utility provides useful messages if the source file or stylesheet is not well formed. If you include a DOCTYPE statement in your XML source files and include the -validate flag on the command line, the utility will also let you know whether the XML document is valid (conforms to that DOCTYPE). For more information, see <link idref="commandline">Command-Line Utility</link>.</p>
-</s2><anchor name="java-apps"/>
-<s2 title="Setting up your own Java applications">
-<p>You can start by using your own XML source files and XSL stylesheets with the sample applications, which illustrate a number of the <link idref="usagepatterns">basic usage patterns</link>.</p>
-<p>Here is the basic TRaX procedure to keep in mind when you set up a transformation:</p>
-<ol>
-<li>Use the <jump href="apidocs/javax/xml/transform/TransformerFactory.html">TransformerFactory</jump> static newInstance() method to instantiate a TransformerFactory.<br/><br/></li>
-<li>Use the TransformerFactory newTransformer(Source stylesheet) method to process the transformation instructions in an XSLT stylesheet Source (producing under the covers a <jump href="apidocs/javax/xml/transform/Templates.html">Templates</jump> object) and generate a <jump href="apidocs/javax/xml/transform/Transformer.html">Transformer</jump>.<br/><br/></li>
-<li>Use the Transformer transform(Source xmlSource, Result transformResult) method to apply the transformation instructions (the Templates object) to the XML Source and produce the transformation Result.<br/><br/></li>
-</ol>
-<p>For more information about this procedure and its variations, see <link idref="usagepatterns">Basic Usage Patterns</link>.</p>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/history.xml b/xdocs/sources/xalan/history.xml
deleted file mode 100644
index 46db54c..0000000
--- a/xdocs/sources/xalan/history.xml
+++ /dev/null
@@ -1,424 +0,0 @@
-<s3 title="Changes for &xslt4j; 2.0.1">
-<p>This release includes a number of bug fixes to the &xslt4j; and TrAX core and Xalan-Java 1 compability API. We have also</p>
-<ul>
-  <li>Entered all known &xslt4j; 2 <link anchor="bugs">bugs</link> in the Apache Bugzilla database<br/><br/></li>
-  <li>Added support for using custom URIResolver, EntityResolver, and ContentHandler implementations with the <link
-      idref="commandline">command-line utility</link><br/><br/></li> 
-  <li>Upgraded from Ant 1.2 to Ant 1.3 for our <link anchor="build">builds</link> (the new ant.jar is in the bin directory).</li>
-</ul>
-<p>Core source code updates:</p>
-<ul>
-<li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes ChildWalkerMultiStep.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by "Chris P. McCabe" &lt;chris_mccabe@choicehotels.com&gt;
- 02/06/2001 06:55 PM.
- Defensive fix for if the last used walker is null, then don't check to
- see if it is a fast walker! Without this, a null pointer exception is
- very possible.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fixes for exceptions being thrown that weren't being passed through
- the error listener.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes FollowingWalker.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by Dave Haffner &lt;dave.haffner@xmls.com&gt;
- 02/06/2001 04:03 AM
- In parentNode(), don't screen out nextAncestor, since the parent
- is never actually returned. This sets things up correctly for firstChild
- and nextSibling.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes PrecedingWalker.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by Dave Haffner &lt;dave.haffner@xmls.com&gt;
- 02/06/2001 04:03 AM
- In nextSibling(), don't return null if isAncestorOfRootContext, instead
- do next.getFirstChild().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath SourceTreeManager.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by anders.domeij@uc.se
- 02/07/2001 09:35 AM
- removed extra bogus TransformerException decl in resolveURI<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree SourceTreeHandler.java<br/><ref>Committer's log entry: </ref>Fix bug reported by Jason Harrop &lt;jharrop@bigpond.net.au&gt;
- 02/07/2001 08:12 PM
- Don't process comment or whitespace events if inside a startDTD/endDTD
- event.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java<br/><ref>Committer's log entry: </ref>In indirect response to bug posted by "Thee Boon Hoo" &lt;theebh@newstakes.com&gt;
- 02/07/2001 09:37 PM
-
- "//table[1]" patterns would give one node
- when they should have given 2, when applied to Boon Hoo's
- source.
- "//table[1]" is equivelent to
- "/descendant-or-self::node()/table[1]",
- and so must return the first table child
- of each table-inst element.
-
- An optimization was optimizing this to
- "/descendant-or-self::table, which is
- fine as long as indexing isn't used. Since
- we can not tell until runtime if indexing
- is being used, we have to turn of this
- optimization for all predicated "//foo[xx]"
- patterns.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetPIHandler.java
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Patch for Dmitri IIyin to use the specified URIResolver.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemNumber.java<br/><ref>Committer's log entry: </ref>Number Expression should be evaluated then rounded up.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Create a document fragment for the output node, for -flavor d2d.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Compiler.java<br/><ref>Committer's log entry: </ref>Better error message when quo is used.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemCallTemplate.java
- ElemChoose.java ElemCopy.java ElemFallback.java
- ElemIf.java ElemLiteralResult.java
- ElemTemplate.java
- java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Remove extra method/call to TransformerImpl.executeChildTemplates()<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/patterns NodeTest.java<br/><ref>Committer's log entry: </ref>Return an empty string instead of null from getLocalName() when the
- nodetest does not have a name. Encountered with the SQL extension,
- in response to bug reported by "Michael Kay" &lt;mhkay@iclway.co.uk&gt;,
- 02/08/2001 08:57 AM.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ColumnData.java<br/><ref>Committer's log entry: </ref>In getData() return an empty string instead of null if there is
- no data to be obtained.
- In response to bug reported by "Michael Kay" &lt;mhkay@iclway.co.uk&gt;,
- 02/08/2001 08:57 AM.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>02/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>Correct ConversionInfo array for Node-Set and RTF. Remove DocumentFragment 
-from RTF and replace with NodeList. Remove duplicate Boolean from both. Fix 
-Boolean conversion to make java.lang.Boolean higher than string.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ColumnHeader.java
- RowSet.java XStatement.java<br/><ref>Committer's log entry: </ref>Use null nodetest to mean the same as "node()". This fixes a bug reported
- by "Voytenko, Dimitry" &lt;DVoytenko@SECTORBASE.COM&gt;
- where &lt;xsl:copy-of select="sql:query(...)"/&gt;
- crashes with NullPointerException, i.e.
- there are cases where we really don't want
- to set the NodeTest.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Check for null token before checking if it is a letter<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Fix made for bug reported by "Glencross, Christian" 
-&lt;Christian.Glencross@gs.com&gt;
- on 02/16/2001 10:18 AM.
- Xerces 1.2.3 SAX parser calls
- handler.setDocumentLocator() before handler.startDocument().
- TransformerIdentityImpl.m_resultContentHandler isn't initialised until
- TransformerIdentityImpl.startDocument() is called.
- Added lazy construction of result handler
- in setDocumentLocator, in addition to
- startDocument.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>02/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>Correct implementation of string value of a node.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql Column.java
- ColumnAttribute.java ColumnData.java
- ColumnHeader.java Row.java RowSet.java
- StreamableNode.java XConnection.java
- XStatement.java package.html<br/><ref>Committer's log entry: </ref>Added experimental usage metatag to all classes in this package,
- and an explanatory note to package.html.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree ElementImpl.java<br/><ref>Committer's log entry: </ref>Bug fix attributed to Norman Walsh &lt;ndw@nwalsh.com&gt;, on
- 02/20/2001 09:50 AM. if the attribute 'name' doesn't occur in the AttList, 
-the
- result of getIndex(name) is -1, but
- getChildAttribute() would incorrectly
- return the first attribute. Fix returns
- null if index &lt; 0.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java
- java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Implement DeclHandler for identity transforms<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix for bug originally reported by Daryl Beattie &lt;DarylB@screamingmedia.com&gt;
- on 02/14/2001 04:16 PM. A hang was occuring inside the use
- of a Result Tree Fragment. When the result tree fragement was
- being created, the Redirect extension was being called, which
- called createResultContentHandler which set the ContentHandler
- in the Transformer, but not in the ResultTreeHandler. Then, Redirect
- called Transformer#executeChildTemplates(
- ElemTemplateElement elem, Node sourceNode, QName mode, 
-ContentHandler handler)
- which saves the reference to the original content handler in
- the transformer, and then sets the new one by calling setContentHandler,
- which sets the ContentHandler in the ResultTreeHandler as well
- as the Transformer. When it tried to restore the old ContentHandler,
- it restored the value in the ResultTreeHandler to a Serializer, instead
- of the correct ContentHandler. When transformToRTF then called
- endDocument on it's resultTreeFragment, the event was sent
- to the Serializer instead of the SourceTreeHandler, and thus the
- isComplete flag was not set, and thus the hang. (whew!)
- The fix is in executeChildTemplates save the value of the
- resultTreeHandler's contentHandler as well as Transformer's
- content handler, and restore them both. A more architectual fix
- could be made, but not without high risk, so I think this is the best
- and safest way to fix it.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Changed version to 2.0.1<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Changed version to 2.0.1<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java<br/><ref>Committer's log entry: </ref>Update text of error messages
- Submitted by: Andreas Zehnpfund<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Update printArgOptions() with better text and to better reflect actual
- options that are currently supported; catch missing -IN argument<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/client XSLTProcessorApplet.java
- java/src/org/apache/xalan/processor StylesheetHandler.java
- TransformerFactoryImpl.java
- java/src/org/apache/xalan/stree DocImpl.java
- StreeDOMBuilder.java TextImpl.java
- java/src/org/apache/xalan/templates OutputProperties.java
- java/src/org/apache/xalan/xslt Process.java
- java/src/org/apache/xml/utils FastStringBuffer.java
- java/src/trax trax.properties<br/><ref>Committer's log entry: </ref>New approach to FastStringBuffer, and changes needed to support it.
- We still need to do some serious work on both the initial values of the
- tuning parameters and the heuristics driving the "chunk growth" algorithms.
- Currently set for fixed-sized chunks of 8Kch in main tree, .5Kch in RTF.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java
- ElemForEach.java ElemLiteralResult.java
- java/src/org/apache/xalan/transformer
- ClonerToResultTree.java QueuedSAXEvent.java
- QueuedStartDocument.java QueuedStartElement.java
- ResultTreeHandler.java TransformerImpl.java
- TreeWalker2Result.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=741.
-
- 1) ResultTreeHandler now implements the TransformState interface.
- 2) Queued state such as the current node and the current template is stored 
-as part of QueuedStartElement. Storage will only occur if the ContentHandler 
-implements TransformClient.
- 3) When state is requested (for instance TransformState#getCurrentElement()), 
-if the queued element is null or not pending (for instance, in a characters 
-event), it will get the state from the transformer, otherwise it will get the 
-state from the queued element.
-
- Other fixes were attempted for this problem, including trying to
- get rid of queueing altogether, and flushing a bit earlier before
- the state was pushed on the various stacks, but both of
- these had show-stopping issues (see discussions
- on xalan-dev).
-
- Note that for the moment the ContextNodeList is node
- cloned as it needs to be in order for
- TransformState#getContextNodeList.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemParam.java
- java/src/org/apache/xpath Arg.java VariableStack.java<br/><ref>Committer's log entry: </ref>The field Arg.isParamVar was attempting to serve two functions: to indicate 
-variable Frame entries which are not currently activated and to indicate Frames 
-containing parameters passed with xsl:with-param. When processing was finished 
-for a node in a node-set, the isParamVar flag was turned on to indicate the 
-Frame slot was available. Unfortunately, this also indicated that the item was 
-passed as a parameter which it wasn't. This fix changes isParamVar into to 
-fields, isAvailable which indicates that the slot is available and 
-isFromWithParam indicating the Frame slot came from an xsl:with-param or a 
-top-level parameter passed in via the tranformerImpl.setParameter() API.
- I have tested this change against the conformance suite and had no 
-regression. I've also submitted a test case which fails on the existing 
-codebase but works okay after this fix.
- It is possible that I've missed something with regard to the API setParameter 
-calls but we can fix those if problems are reported.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Correct operation when length of content to be appended is zero.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Fix closing out doctype declaration<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Change SystemIdResolver to default to user.dir if the base URI is null<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java
- java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Parameters set with setParameter were available to stylesheet as variable 
-references ($myParam) even though there was no xsl:param element to receive it.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Check if there is a DeclHandler before calling it.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils WrappedRuntimeException.java<br/><ref>Committer's log entry: </ref>Patch attributed to Patrick Moore &lt;patrickm@rioport.com&gt; on 03/09/2001.
- Adds another constructor to pass in the error message.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemAttribute.java
- ElemElement.java<br/><ref>Committer's log entry: </ref>Checkin addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=923.
- elemAttribute now derives from elemElement so the basic name resolution
- code can be shared. Breaks attribset24 test, but I think the newer
- behavior is better. New virtual methods overloaded by elemAttribute are
- constructNode, resolvePrefix, and validateNodeName. Also, in the
- elemAttribute#execute method, checks are made to make sure an
- element is pending.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Added getAbsoluteURI(String url), and merge
- with Myriam's changes.
- Part of fix for problem found when
- investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Call getAbsoluteURI(String url) for the source URL.
- Fix for problem found when
- investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.
- This tries to force us always having an absolute URL in the processing
- stack as the base URL, which should be OK, I hope.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Call getAbsoluteURI(String url) for the source URL.
- Fix for problem found when
- investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.
- This tries to force us always having an absolute URL in the processing
- stack as the base URL, which should be OK, I hope.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer QueuedEvents.java
- QueuedStartElement.java ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>The user for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=741 reported
- problems on testing, so these changes are a re-fix. He tested and
- everything seems OK now. There actually may be a slight performance
- improvement involved here.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>Applied patches from dmitri.ilyin@memiq.com (Dmitri Ilyin)
- from http://nagoya.apache.org/bugzilla/show_bug.cgi?id=705.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathAPI.java<br/><ref>Committer's log entry: </ref>Applied patch submitted by nboyd@atg.com (Norris Boyd)
- at http://nagoya.apache.org/bugzilla/show_bug.cgi?id=702.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize Encodings.java<br/><ref>Committer's log entry: </ref>Applied patch submitted by havardw@underdusken.no (H嶡rd Wigtil).
- Also added "XXX-X" variants for all "XXX_X" java encoding names.
- I'm not totally confident that this is the right thing to do, but I can't
- see that it will hurt, except to make the table a bit larger. I
- would prefer to be safe and make sure we handle the encoding.
- See my comments in http://nagoya.apache.org/bugzilla/show_bug.cgi?id=718.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplateElement.java
- StylesheetRoot.java<br/><ref>Committer's log entry: </ref>Minor changes to better bottleneck throwing of Runtime exceptions
- during processing.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Catch all exceptions thrown when processing stylesheet, and send
- them to the error listener. There's probably some danger of having
- the same error sent to the error listener multiple times, but better too
- many reports, than none, I guess.
- This addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java
- XStatement.java<br/><ref>Added: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java
- DefaultConnectionPool.java ExtensionError.java
- PooledConnection.java QueryParameter.java
- SQLExtensionError.java XConnectionPoolManager.java<br/><ref>Committer's log entry: </ref>These are John Gentilin &lt;johnglinux@eyecatching.com&gt;
- patches for connection pooling and parameterized
- queries. These should be considered to be unstable
- right now, as we are still working on some things.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorInclude.java
- TransformerFactoryImpl.java
- java/src/org/apache/xalan/serialize SerializerToXML.java
- java/src/org/apache/xalan/stree StreeDOMHelper.java
- java/src/org/apache/xalan/transformer ResultTreeHandler.java
- TransformerIdentityImpl.java TreeWalker2Result.java
- java/src/org/apache/xml/utils AttList.java TreeWalker.java
- java/src/org/apache/xpath DOM2Helper.java XPathContext.java<br/><ref>Committer's log entry: </ref>The DOM2Helper#isNodeAfter(Node node1, Node node2) method
- has been fixed so that it no longer does the try/catch thing if one
- of the nodes doesn't implement DOMOrder, but instead does an
- instanceof test. In StreeDOMHelper, it overloads this method and
- *does* do the try/catch business, since almost always both nodes
- will implement DOMOrder in this case, and this will be faster than
- an instanceof test. Also, in various classes, I did some stuff to try
- and make sure that a DOM2Helper wasn't being created and used
- when a StreeDOMHelper is needed.
-
- This addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=800
- and should give a good performance fix for foreign DOM processing.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/patterns NodeTest.java<br/><ref>Committer's log entry: </ref>Xerces at some point decided to use "" instead
- of null for null namespaces. There has been a
- discussion between Gary Peskin in
- Joe Kessleman on xalan-dev about this,
- but I hadn't been fully keeping up the the
- thread that well, and missed it's relation to
- this problem. I include some of the discussion
- at the end of this note. I made Xalan be able to
- compare a "" namespace to null for now, until
- we get this resolved.
-
- The gist of the discussion on xalan-dev regarding this is:
-
- &gt;&gt;1. Declare the Xerces-J support of schemas to have a bug and ask that
- &gt;&gt;Xerces be corrected to always use a null namespace URI to indicate that
- &gt;&gt;there is no default namespace. Even if the Xerces people change this
- &gt;&gt;behavior, is this correct?
- &gt;
- &gt; Yes. If your description of the problem is accurate (you should probably
- &gt; submit a more detailed case so it can be reproduced in the lab), this is a
- &gt; parser/DOM-builder bug.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>03/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ExtensionError.java<br/><ref>Committer's log entry: </ref>Removed ( commented out ) dump() method and the imports in ExtensionError.
-
- So far the method doesn't seem to be used ( no warning in the compile ).
-
- The problem is that this method is breaking the build with crimson ( since
- it uses xerces-specific classes ). It is possible to implement it on top
- of the serialization classes that are part of xalan - if someone needs the
- method I'll try to port it.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Added back in the TreeWalker(ContentHandler contentHandler)
- constructor, because I'm worried I'll break more dependent code.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java
- java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Implement new arguments for the command line interface: URIResolver, 
-EntityResolver and ContentHandler<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates FuncFormatNumb.java<br/><ref>Committer's log entry: </ref>Fix error message to say that 2 or 3 arguments are required.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorLRE.java
- java/src/org/apache/xalan/res XSLTErrorResources.java<br/><ref>Committer's log entry: </ref>Better error message for missing or incorrect XSLT namespace declaration in a 
-stylesheet<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Redirect.java
- java/src/org/apache/xalan/transformer TransformerImpl.java
- java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Remember the Result that was used to trigger the transform. Access that 
-result from the Redirect extension to make file references in Redirect relative 
-to the original result URI.
- If this is not available, references are relative to the source URI.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Added protection for null pointer exception that I discovered when
- running some Cocoon tests. Since I've never seen this before,
- I assume this is related to the changes that Gary made, but am
- unsure as it's 4:00 in the morning and I'm too tired to look into it deeply.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Remove check for missing -IN arg; there are a number of use
- cases for calling Process.main without an XML document<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>A (last ? ) place where XMLReaderFactory was used without
- trying jaxp first. I used the same code that is used in all other
- places in xalan.
-
- With this change, the parser defined in XSLTInfo.properties will be used
- only if jaxp is not available.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils StringVector.java<br/><ref>Committer's log entry: </ref>Added missing @serial Javadoc tags.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java
-                        DefaultConnectionPool.java ExtensionError.java
-                        SQLExtensionError.java XConnection.java
-                        XConnectionPoolManager.java XStatement.java<br/><ref>Committer's log entry: </ref>Update from John Gentilin &lt;johnglinux@eyecatching.com&gt; to
-  fix connection cleanup.<br/><br/></li></ul><p>Compatibility source code updates:</p><ul><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java
- XSLTResultTarget.java<br/><ref>Committer's log entry: </ref>Implement some more methods for compatibility<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java<br/><ref>Committer's log entry: </ref>Fixed javadoc for api that was just added back.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTResultTarget.java<br/><ref>Committer's log entry: </ref>Fixed javadoc for api that was just added back.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem with calling the processor with a liaison<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem where source file was being parsed more than once and if using an 
-input stream, we would get a read error<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Set system id in stylesheet handler<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/14/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java<br/><ref>Committer's log entry: </ref>Call local setSystemId.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/15/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem with processing an input source created from a reader with no 
-systemId
- Fix problem with reading an input source file twice if it has a PI<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt StylesheetRoot.java<br/><ref>Committer's log entry: </ref>Add getOutputMethod API.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xpath/xml
- XMLParserLiaisonDefault.java<br/><ref>Committer's log entry: </ref>Put in Apache copyright.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xpath/xml TreeWalker.java
- java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Made changes for change to API for XalanJ2 TreeWalker, which
- now requires that the DOM helper be created by the caller.</li>
- </ul>
-</s3>
-
-<s3 title="Changes for &xslt4j; version 2.0.0">
-<p>Release 2.0 includes several bug fixes to the &xslt4j; and TrAX core and to the Xalan-Java 1 compatibility API. We also updated bsf.jar to the <resource-ref idref="bsf"/> release candidate 2.2, which fixes a bug running JPython extensions.</p>
-<p><em>Core bug fixes:</em></p>
-<ul>
-  <li>A threading problem showed up when using multiple processors. We fixed it by using a separate XPathContext object to do whitespace node
-   matches (xsl:strip-space).<br/><br/></li>
-  <li>Fixed a bug running Norm Walsh's DocBook stylesheets by not setting the variable stack position if the FilterExprWalker is not owned by a
-  top-level NodeIterator.<br/><br/></li>
-  <li>Fixed a problem with null namespace being passed from xsl:element. This bug also surfaced while processing DocBook
-   stylesheets.<br/><br/></li>
-  <li>In the interest of stability, we now treat "unknown error in XPath" as a fatal error.<br/><br/></li>
-  <li>Added support in stylesheet processing instructions for "text/xml" and "application/xml+xslt" mime types.<br/><br/></li>
-  <li>Fixed tokenizing of stylesheet processing instructions to allow parameters to be passed to server in href attributes.<br/><br/></li>
-  <li>Fixed a bug passing Transformer creation error messages to ErrorListener when an ErrorListener has been set on
-   TransformerFactory.<br/><br/></li>
-  <li>When using an Exception to instantiate a FactoryConfigurationError (extends Error), we now propagate the Exception message to 
-  super().<br/><br/></li>
-  <li>Added defensive code to ElemTemplateElement for handling a null URI.<br/><br/></li>
-  <li>When using an Exception to instantiate a TransformerException (extends Exception), we now propagate the Exception message to super() 
-  rather than a generic message.<br/><br/></li>
-  <li>Fixed a bug (the generation of an unwanted entity reference) performing the identity transformation 
-  (see <link idref="usagepatterns" anchor="serialize">Serializing output</link>) with an XML document containing a DOCTYPE
-   declaration.<br/><br/></li>
-   <li>Message manager modified so that the SourceLocator must always be passed in,
-  which will make a major difference in getting line number information.<br/><br/></li> 
-  <li>xsl:element's handling of namespace attribute and prefix in
-  name attribute changed so that it no longer manufactures prefixes...
-  it always tries its best to match the prefix entered.<br/><br/></li>  
-  <li>Bug fixed with namespace contexts in the stylesheet processor.
-  The bug could cause &lt;a xmlns:a="x"&gt;&lt;b&gt; to produce &lt;a xmlns:a="x"&gt;&lt;b xmlns:a="x"&gt;.<br/><br/></li>  
-  <li>Modified processing of xsl:message to enhance it as a debugging aid. Line numbers are now output with each
-  message. If the terminate attribute is true (the default is false) the message is sent to the console, and an exception is thrown with the
-  message "Stylesheet directed termination".<br/><br/></li>
-  <li>In TransformerException, check that the cause != null when checking for a contained exception.<br/><br/></li>
-  <li>Fixed a problem validating non-namespaced attributes and a problem allowing non-namespaced attributes to be children of the
-   stylesheet element.<br/><br/></li>
-   <li>Fixed checking of number of arguments in document() function.<br/><br/></li>
-   <li>Fixed problem with mutation of templates at run time. Templates resolution now takes place during the compose() method.<br/><br/></li>
-   <li>Fixed some minor threading issues in org.apache.xalan.stree (Child, Parent, ElementImpl, SourceTreeHandler).<br/><br/></li>
-   <li>Synchronized TrAX API functions subject to mutation to prevent mutation during a transformation.<br/><br/></li>
-   <li>Fixed bug reported by Jano Elovirta: substring() was returning an error if the start index is larger than the string.<br/><br/></li>   
-   <li>Set StringKey.toString() to return the underlying String (m_str), thus avoiding a potential symmetry problem with the equals() method
-   reported by Ito Kazumitsu.<br/><br/></li>
-   <li>In response to note from Ito Kazumitsu, changed Java encoding name "EUCJIS" in FormatterToXML to "EUC_JP".<br/><br/></li>
-   <li>When Xalan creates a FileOutputStream, it now closes the stream before exiting.<br/><br/></li>
-   <li>Fixed handling of an exception that can be thrown while building a DOM.<br/><br/></li>
-   <li>Fixed a problem reported by Dimitry Voytenko serializing compiled stylesheets.<br/><br/></li>
-   <li>For support of applets, modified TransformerFactory System.getProperty() calls to catch SecurityExceptions.<br/><br/></li>
-   <li>Fixed a bug reported by Krishna Mohan Meduri setting output properties.<br/><br/></li>
-   <li>Fixed error recovery when xsl:element encounters a bad name or unresolvable prefix.<br/><br/></li>
-   <li>Added AbstractMethodError handling to existing NoSuchMethodError handling as a fallback to the XMLReaderFactory for XML parsers that do
-       not implement the JAXP parsers interface for creating an XMLReader<br/><br/></li>
-   <li>Fixed bug with cloned iterators reported by Tim Sean.<br/><br/></li>
-   <li>Fixed null pointer exception that could occur with getValue("xxx").<br/><br/></li>
-   <li>Fixed bug reported by Tim Sean handling the xml:space attribute.</li>
-</ul>
-<p><em>Bug fixes in the <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatibility API</link>:</em></p>
-<ul>
-  <li>Fixed ProblemListener (for processing error messages) to derive from &xslt4j; 2 ErrorHandler.<br/><br/></li>
-  <li>Fixed evaluation of stylesheet string parameters to conform to &xslt4j; 1 behavior (expressions for &xslt4j; 1 vs. String objects 
-  for &xslt4j; 2).<br/><br/></li>    
-  <li>Added XPathSupport and XPathSupportDefault, and fixed the derivation of XObject sub-types (XString, etc.).<br/><br/></li>
-  <li>Fixed bug with XSLTProcessor process(xmlIn, null, out) method so that it uses the StylesheetRoot (if one exists) that has been created
-   with the processStylesheet() method.</li>
-</ul>
-<p>For a list of tasks in the &xslt4j2; To-Do list that have been completed, see <jump href="todo.html#release-date-completed">Tasks completed</jump>.</p>
-</s3>
-
-<s3 title="Changes for &xslt4j; version 2.0.D07">
-<p>&xslt4j; 2.0.D07 incorporates a <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatibility jar</link>, some performance enhancements, and a number of bug fixes for bugs found in version 2.0.D06.</p>
-<ul>
-<li>Fixed handling of disable-output-escaping="no".  Previously, once it was turned on, it could not be turned off.<br/><br/></li>
-<li>Fixed a bug with whitespace handling where Xalan was incorrectly checking for whitespace 
-    stripping before collation of multiple whitespace events into a single text node.<br/><br/></li>
-<li>Whitespace stripping wasn't working with input DOMs before.  This is now fixed.<br/><br/></li>
-<li>Fixed many exception handling problems and problems with error reporting.<br/><br/></li>
-<li>Fixed a bug resetting parameters in Transformer clearParameters().<br/><br/></li>
-<li>Fixed a bug where CDATA sections were not matching the text() node test.<br/><br/></li>
-<li>Made better memory allocation problem with result tree fragments.<br/><br/></li>
-<li>Made result tree fragment parsing of numbers consistent with strings.<br/><br/></li>
-<li>Exceptions thrown from extensions should now be properly reported via the error listener.<br/><br/></li>
-<li>Fixed hard-coded stack dump set off by m_reportInPostExceptionFromThread variable.<br/><br/></li>
-<li>Fixed intermittent threading problem with text nodes being dropped.<br/><br/></li>
-<li>Fixed problem with variable evaluation inside of union expressions.</li>
-</ul>
-</s3>
-<s3 title="Changes for &xslt4j; version 2.0.D06">
-<p>We have fixed the bugs reported in &xslt4j; 2.0.D05. Along with several other enhancements, 
-we have also fixed a number of bugs found by testing and our users:</p>
-<ul>
-<li>Fixed some threading problems and improved support for handling Exceptions thrown in a secondary thread.<br/><br/>
-Note: To support incremental output, &xslt4j; performs the transformation in a second thread while building the source tree in the main thread.<br/><br/></li>
-<li>Fixed problems encountered in piping (utilizing transformation output as input for another transformation).<br/><br/></li>
-<li>Fixed problems handling attributes and adding attributes to result tree.<br/><br/></li>
-<li>Added defensive checking for null entities, null namespaces, and empty strings passed in for URIs and local names.<br/><br/></li>
-<li>We now conform to the SAX convention of representing null namespaces with empty strings.<br/><br/></li>
-<li>Fixed a bug encountered evaluating a variable in a predicate expression applied to child nodes.<br/><br/></li>
-<li>Changed names of serializers from FormatterTo<ref>Xxx</ref> to SerializerTo<ref>Xxx</ref>. See 
-<jump href="apidocs/org/apache/xalan/serialize/package-summary.html">Package org.apache.xalan.serialize</jump>.<br/><br/></li>
-<li>Improved debugging support in a number of areas.</li>
-</ul>
-</s3>
-<s3 title="Changes for &xslt4j; version 2.0.D05">
-<p>All of the bugs reported in &xslt4j; 2.0.D01 have been fixed. The remainder of this section discusses two changes that we believe are of particular importance:</p>
-<p><em>TrAX</em></p>
-<p>The Transformation API for XML (TrAX) that &xslt4j2; implements has undergone substantial revisions since the release of &xslt4j; 2.0.D01. TrAX has joined the Java API for XML Parsing (JAXP) as part of the Sun&reg; <resource-ref idref="jsr063"/>. Accordingly, the TrAX package names have changed. The conceptual organization has also changed somewhat: The primary transformation interfaces are defined in javax.xml.transform, with concrete classes for managing stream input/output, SAX parsers and ContentHandler, and DOM parsers and DOM trees in javax.xml.transform.stream, javax.xml.transform.sax, and javax.xml.transform.dom. For more information, see <resource-ref idref="trax"/>, and review <link idref="usagepatterns">Usage Patterns</link>.</p>
-<anchor name="outputprops"/><p><em>Output properties</em></p>
-<p>The handling of xsl:output properties has changed: org.apache.xalan.serialize.OutputFormat and apache.xalan.templates.OutputFormatExtended were removed and replaced with org.apache.xalan.templates.OutputProperties. The SerializerFactory getSerializer() method now takes Properties rather than a String indicating the output method. You can replace <code>getSerializer("xml")</code>, for example, with <code>getSerializer(OutputProperties.getDefaultMethodProperties("xml"))</code>.</p>
-<p>HTML, XML, and text xsl:output properties are specified in property files in org.apache.xalan.templates: output_html.properties, output_xml.properties, and output_text.properties.</p>
-<p>You can start using the output properties defined in these files in your stylesheets. For example, you can turn URL escaping off in HTML output with<br/><code>{http\u003a//xml.apache.org/xslt}use-url-escaping=no</code><br/>
-and you can control indenting with<br/>
-<code>{http\u003a//xml.apache.org/xslt}indent-amount=<ref>n</ref></code></p>
-<note>The colon after the "http" protocol must be escaped.</note>
-<p>Character-to-entity mapping is specified in org.apache.xalan.serialize: HTMLEntities.res and XMLEntities.res. You can override entity ref 
-mapping from a stylesheet. For example:</p>
-<source>&lt;?xml version="1.0"?&gt;
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-         xmlns:xalan="http://xml.apache.org/xslt" version="1.0"&gt;
-
-  &lt;xsl:output xalan:entities="myentities.ent"/&gt;
-
-  &lt;xsl:template match="/"&gt;
-    &lt;out&gt;&amp;#125;&lt;/out&gt;
-  &lt;/xsl:template&gt;
-
-&lt;/xsl:stylesheet&gt;</source>
-<p>=== myentities.ent ===</p>
-<source>quot 34
-amp 38
-lt 60
-gt 62
-lala 125</source>
-<p>The output is:</p>
-<source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;out&gt;&amp;lala;&lt;/out&gt;</source>
-<p>See also <link idref="usagepatterns" anchor="outputprops">Setting output properties in your stylesheets</link>.</p>
-</s3>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/index.xml b/xdocs/sources/xalan/index.xml
deleted file mode 100644
index 7687d8e..0000000
--- a/xdocs/sources/xalan/index.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="&xslt4j-current;">
-  <s2 title="What is it?">
-    <p>Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements the
-     W3C Recommendations for XSL Transformations (XSLT) and the XML Path Language (XPath). It can be used from the command line,
-     in an applet or a servlet, or as a module in other program.</p>
-  </s2>
-  <s2 title="I've heard of &xslt4j;, but what is version 2?">
-    <p>&xslt4j; version 2 recasts Xalan as an implementation of the <resource-ref idref="trax"/> interfaces, part of the <resource-ref idref="jaxp11"/>. TRaX provides a
-    modular framework and a standard API for performing XML transformations, and it utilizes system properties to determine which Transformer and which XML parser to use.</p>
-     <p>&xslt4j; version 2 also builds on <resource-ref idref="sax2"/>, <resource-ref idref="dom2"/>, and the XML parser API in
-     <resource-ref idref="jaxp"/>.</p>
-     <p>For more information, see <link idref="whatsnew">What's new in &xslt4j2;</link>.</p>
-  </s2>
-  <s2 title="How about this release?">
-  <p>&xslt4j-current; is a production release It incorporates a number of enhancements and bug fixes. For the details, see 
-  <link idref="readme">Release Notes</link>. Please send your feedback to the <human-resource-ref idref="xalandev"/>.</p>
-  </s2> 
-  <s2 title="How do I get it?">
-    <p>Download and unzip either of the following:</p>
-    <ul>
-      <li><resource-ref idref="xslt4j-dist-zip"/></li>
-      <li><resource-ref idref="xslt4j-dist-targz"/></li>
-    </ul>     
-  </s2>
-  
-  <s2 title="Where do I get Xerces?">
-    <p>The Xalan download includes xerces.jar from &xml4j-used;. This is all you need to run Xalan with the Xerces XML parser. 
-    You can, however, download the complete Xerces distribution from the <resource-ref idref="xml4j-distdir"/>.</p>
-    <note>If you plan to use a different XML parser, see <link idref="usagepatterns" anchor="plug">Plugging in a Transformer
-     and XML parser</link>.</note> 
-  </s2>
-  <s2 title="What else do I need?">
-    <p>You need the Java Development Kit or Java Runtime 1.1.8, 1.2.2, or 1.3, which you can obtain from <jump
-    href="http://www.ibm.com/java/jdk">ibm.com/java/jdk/</jump> or <jump href="http://www.java.sun.com">java.sun.com</jump>.</p> 
-  </s2>  
-    <s2 title="For more information...">
-    <p>For more information, go to <link idref="overview">Xalan Overview</link> and <link idref="getstarted">Getting
-    Started</link>. All of the Xalan documentation on this website is included in the Xalan download, as are a number of
-    <link idref="samples">Samples</link> to help you start using &xslt4j2; to transform XML documents.</p>
-  </s2>  
-</s1> 
\ No newline at end of file
diff --git a/xdocs/sources/xalan/overview.xml b/xdocs/sources/xalan/overview.xml
deleted file mode 100644
index 408e798..0000000
--- a/xdocs/sources/xalan/overview.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
- 
-<s1 title="&xslt4j; Overview">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="features">&xslt4j; Features</link></li>
-<li><link anchor="towork">Getting to work with &xslt4j;</link></li>
-<li><link anchor="uptospeed">Getting up to speed with XSLT</link></li>
-<li><link anchor="glossary">Glossary</link></li>
-</ul><anchor name="intro"/>
-  <s2 title="Introduction">
-    <p>&xslt4j; (named after a rare musical instrument) fully implements the <resource-ref idref="xslt"/> and the 
-    <resource-ref idref="xpath"/>. XSLT is the first part of the XSL stylesheet language for XML. It includes the XSL
-     Transformation vocabulary and XPath, a language for addressing parts of XML documents. For links to background materials, 
-    discussion groups, frequently asked questions, 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>
-    <p>You use the XSLT language to compose XSL stylesheets. An XSL stylesheet contains instructions for
-     transforming XML documents from one document type into another document type (XML, HTML, or other). In structural
-     terms, an XSL stylesheet specifies the transformation of one tree of nodes (the XML input) into another tree of nodes 
-     (the output or transformation result).</p>
-    <note>The XSL stylesheet may generate and refer to cascading style sheets (<jump
-    href="http://www.w3.org/Style/CSS/">CSS</jump>) as part of its output.</note> 
-    <p>In the following example, the foo.xsl stylesheet is used to transform foo.xml into foo.out:</p>
-    <p>foo.xml:</p>
-        <source>&lt;?xml version="1.0"?>
-&lt;doc>Hello&lt;/doc></source>
-        <p>foo.xsl:</p>
-        <source>&lt;?xml version="1.0"?> 
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-&lt;xsl:template match="doc">
-&lt;out>&lt;xsl:value-of select="."/>&lt;/out>
-&lt;/xsl:template>
-&lt;/xsl:stylesheet></source>
-<p>foo.out:</p>
-<source>&lt;out>Hello&lt;/out></source>
-<p>By default, &xslt4j; uses &xml4j;, and it may be configured with system properties to work with other XML parsers (see <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML parser</link>). The input may be submitted in the form of a stream of XML markup (from a URI, a character or byte stream, or another transformation), a SAX InputStream, or a DOM Node.</p>
-<p>&xslt4j; performs the transformations specified in the XSL stylesheet and packages a sequence of SAX events that may be serialized to an output stream or writer, used to build a DOM tree, or forwarded as input to another transformation.</p>
-      </s2><anchor name="features"/>
-   	  <s2 title="&xslt4j; Features">
-	    <ul> 
-		    <li>Implements the relevant W3C specifications: <resource-ref idref="xslt"/> and <resource-ref idref="xpath"/>.<br/><br/></li>
-        <li>Implements <resource-ref idref="trax"/>, now part of <resource-ref idref="jaxp"/>, and builds on
-         <resource-ref idref="sax2"/> and <resource-ref idref="dom2"/>.<br/><br/></li>
-    	  <li>May be configured to work with any XML parser, such
-        <jump href="http://xml.apache.org/xerces-j/index.html">&xml4j;</jump>, that implements <resource-ref
-        idref="jaxp"/> (see <link idref="usagepatterns" anchor="plug">Plugging in an XML
-         parser</link>).<br/><br/></li>
-    	  <li>Can process Stream, SAX or DOM input, and output to a Stream, SAX or DOM.<br/><br/></li>
-        <li>Transformations may be chained (the output of one transformation may be the input for
-         another).<br/><br/></li>
-        <li>May be run from the <link idref="commandline">command line</link> for convenient file-to-file
-            transformations.<br/><br/></li>
-    	  <li>Includes an <link idref="usagepatterns" anchor="applet">applet wrapper</link>.<br/><br/></li>
-        <li>May be used in a <link idref="samples" anchor="servlet">servlet</link> to transform XML documents into
-        HTML and serve the results to clients.<br/><br/></li>
-        <li>Supports the creation of <link idref="extensions">Java and scripting language extensions</link>. and
-         provides a growing library of extension elements and functions.</li>
-	    </ul> 
-	  </s2><anchor name="towork"/>
-    <s2 title="Getting to work with &xslt4j;">
-     <p>For instructions and some suggestions about how to get started using &xslt4j;, see 
-     <link idref="getstarted">Getting Started</link>.</p>
-    </s2><anchor name="uptospeed"/>
-    
-    <s2 title="Getting up to speed with XSLT">
-    <p>If you are still working through the details of the XSLT spec (the W3C 1.0 Recommendation), you may want 
-    to consult one or more of the following:</p>
-    <ul>
-      <li>Michael Kay's <jump href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT Programmer's
-       Reference</jump>, Wrox Press, 2000<br/><br/></li>
-       <li>Neil Bradley's XSL Companion, Addison-Wesley, 2000<br/><br/></li>                 
-        <li>Elliotte Rusty Harold's <jump href="http://metalab.unc.edu/xml/books/bible/updates/14.html">Chapter 14 of 
-        the XML Bible: XSL Transformations</jump><br/><br/></li>
-        <li>Crane Softwright's <jump href="http://www.CraneSoftwrights.com/training/">Free preview of Practical
-         Transformation Using XSLT and XPath</jump><br/><br/></li>
-        <li>The Mulberry <jump href="http://www.mulberrytech.com/xsl/xsl-list/">XSL-List -- Open Forum on XSL</jump> 
-        (of interest to XSL users at all levels)<br/><br/></li>
-        <li>Dave Pawson's <resource-ref idref="dpawsonxslfaq"/><br/><br/></li>
-        <li>Objects by Design's <jump href="http://www.objectsbydesign.com/projects/xmi_to_html.html">Transforming XMI to
-         HTML</jump> (oriented towards XMI, "an XML-based, stream representation of a UML model," but also covers "generic"
-         XML transformations)<br/><br/></li>
-         <li>Objects by Design;'s <jump href="http://objectsbydesign.com/projects/xslt/xslt_by_example.html">XSLT by
-         Example</jump><br/><br/></li>                  
-         <li>Miloslav Nic's <jump href="http://zvon.vscht.cz/HTMLonly/XSLTutorial/Books/Book1/index.html">XSL Tutorial</jump>
-         <br/><br/></li>
-         <li>OASIS (the Organization for the Advancement of Structured Information Standards): 
-         <jump href="http://www.oasis-open.org/cover/xsl.html">Extensible Stylesheet Language (XSL)</jump> by Robin
-         Cover<br/><br/></li>
-         <li>Donald Ball's <jump href="http://www.webslingerZ.com/balld/xsl/designer_manual.xml">A Guide to XML and XSL for
-         Designers</jump><br/><br/></li>
-        <li>XSLT - XSL Transformations in 
-        <jump href="http://www.brics.dk/~amoeller/XML/">The XML Revolution: Technologies for the future Web</jump> by
-        Anders M&oslash;ller and Michael I. Schwartzbach</li>
-    </ul>
-    <p>When you come across other useful introductory or background materials, please email <human-resource-ref
-     idref="xalandev"/>, so we can add them to this list.</p>
-     
-    </s2><anchor name="glossary"/>
-    <s2 title="Glossary">
-      <gloss>
-        <label>XSLT Namespace</label>
-        <item>The <jump href="http://www.w3.org/TR/REC-xml-names/">XML namespace</jump> for XSLT. An XML namespace is a 
-        collection of element and attribute names, identified by a Unique Resource Identifier (URI), which often takes the form of
-        a URL, but is really just a unique string, not a pointer to a web page. The XSLT namespace URI is
-        http://www.w3.org/1999/XSL/Transform. In each XSLT stylesheet, you must declare this namespace in the stylesheet element
-        tag and bind it to a local prefix. Like the XSLT specification, we always use xsl as the XSLT namespace prefix in our
-        descriptions and examples, although you are free to bind any prefix to this namespace.<br/><br/></item>
-        
-        <label>XSL Instruction</label>
-        <item>Any tag associated with the XSLT namespace.<br/><br/></item>
-        
-        <label>Template</label>
-        <item>An element, usually with child elements, that specifies a "rule" or set of 
-        instructions to perform when a particular kind of node is encountered in the source tree.<br/><br/></item>
-                
-        <label>XSL Template Instruction</label>
-        <item>Any tag that occurs inside an xsl:template element and is associated with the XSLT namespace.<br/><br/></item>
-                   
-        <label>Source Tree</label>
-        <item>The XML tree input to the XSL process.<br/><br/></item>
-        
-        <label>Result Tree</label>
-        <item>The tree that is output by the XSL process.<br/><br/></item>
-                
-        <label>Match Pattern</label>
-        <item>The part of a template that defines the kind(s) of nodes to which the template applies.<br/><br/></item>
-
-      </gloss>
-      <p>For more definitions of XSLT terminology, see Dave Pawson's 
-      <jump href="http://www.dpawson.co.uk/xsl/vocab.html">XSLT Terminology
-      Clarification</jump> and the Glossary in Michael Kay's 
-      <jump href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT Programmer's Reference</jump>.</p>
-    </s2>
-</s1> 
diff --git a/xdocs/sources/xalan/readme.xml b/xdocs/sources/xalan/readme.xml
deleted file mode 100644
index 77e143b..0000000
--- a/xdocs/sources/xalan/readme.xml
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"[
-<!ENTITY done-j SYSTEM "DONE">
-<!ENTITY status-j SYSTEM "STATUS">
-<!ENTITY history-j SYSTEM "history.xml">]>
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="Release Notes">
-<p>&xslt4j-current;</p>
- <ul>
-  <li><link anchor="status0">Status</link></li>
-  <li><link anchor="build">Build Notes</link></li>
-  <li><link anchor="contact">Getting in touch</link></li>
-  <li><link anchor="history">History of software changes</link></li>
- </ul><anchor name="status0"/>
-  <s2 title="Status">
-   <ul>
-    <li><link anchor="done">Changes since version 2.0.1</link></li>
-    <li><link anchor="other">Other points of interest</link></li>
-    <li><link anchor="bugs">Bugs</link></li>
-    <li><link anchor="status">Version of Xerces to use</link></li>
-    <li><link anchor="to-do">To-do tasks for future &xslt4j; releases</link></li>
-   </ul>
-     <anchor name="done"/>
-     <s3 title="Changes since &xslt4j; 2.0.1">
-     <p>This release includes a number of bug fixes to the &xslt4j; and TrAX core and Xalan-Java 1 compability API. We have also</p>
-     <ul>
-     <li></li>
-     <li><br/><br/></li> 
-     <li></li>
-     </ul>
-     &done-j;
-     </s3>
-     <anchor name="other"/>
-     <s3 title="Other points of interest">
-     <ul>
-     <li>Handling xsl:namespace-alias declarations: In release 2.0.D01, we reported the need to do some research concerning exactly how Xalan
-     should handle xsl:namespace-alias declarations. As a result of discussions among members of the W3C Working Group on XSL, we have reached a
-     more precise consensus on how namespaces should be represented when an xsl:namespace-alias declaration is in effect.<br/><br/>
-     If a literal result element has a namespace prefix, the prefix will be preserved and the namespace URI of the element will be as
-     specified in the xsl:namespace-alias element, but the result-prefix is not required to appear in the result. This also applies to the
-     two other cases of "Literal namespace URI" mentioned in the XSLT Recommendation on 
-     <jump href="http://www.w3.org/TR/xslt#literal-result-element">Literal Result Elements</jump>. More simply, if the stylesheet calls for
-     &lt;axsl:foo&gt; to be output as a literal result element, then it will be output as &lt;axsl:foo&gt; in the result, but the namespace
-     associated with this "axsl" prefix will be as designated in the xsl:namespace-alias declaration.<br/><br/></li>
-     <li>For HTML output, &xslt4j2; outputs character entity references (&amp;copy; etc.) for the special characters designated in  
-     <jump href="http://www.w3.org/TR/xhtml1/#dtds">Appendix A. DTDs of the XHTML 1.0: The Extensible HyperText Markup
-     Language</jump>. &xslt4j; 1.x, on the other hand, outputs literal characters for some of these special characters.<br/><br/></li>
-     <li>In conformance with the <jump href="http://www.w3.org/TR/xslt#section-HTML-Output-Method">XSLT Recommendation on the HTML 
-     Output Method</jump> and <jump href="http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.1">Section B.2.1 of the HTML 4.0
-     Recommendation</jump>, &xslt4j2; uses %hh encoding for each byte of the UTF-8 representation of non-ASCII characters in HTML URI
-     attributes.<br/><br/></li>
-     <li>When your stylesheet asks for an explicit carriage-return character (&amp;#13;) to be inserted into the output, it is output during
-     the serialization process in escaped form unless escaping has been disabled.  When your stylesheet asks for an explicit line-feed character
-     (&amp;#10;) to be output, the system-default line-break character(s) is/are output during the serialization process.  Also keep in mind that
-     the XML parser normalizes line-breaks to line-feeds when it sends character events to the processor.<br/><br/></li>
-     <li>If your XML input is a DOM, use the javax.xml.parsers.DocumentBuilderFactory setCoalescing() method to set coalescing to true (it is
-     false by default), if you want to append CDATA sections to adjacent text sections to form a single text node (as the XPath standard calls
-      for), and if the XML parser supports this feature (&xml4j-used; does not).</li>
-     </ul>
-     </s3><anchor name="bugs"/>
-     <s3 title="Bugs">
-     <p>All known &xslt4j; bugs are listed in <resource-ref idref="bugzilla"/>. For a list of open bugs with links to each bug
-      report, see <resource-ref idref="buglist"/>. If you find a new bug, please enter a XalanJ2 bug report in this
-      database.</p>
-     <note>Before you can enter your first bug report, you must submit your email address to Bugzilla and receive a password.</note> 
-     <p>We strongly encourage you write patches for problems you find and submit them to
-      xalan-dev@xml.apache.org. We review the patches we receive to make sure they do not break something else, and (assuming they 
-     do not) include them in our next release. In the interest of fixing bugs, adding enhancements, and addressing outstanding design
-     issues, we sincerely want (and need!) your active participation in the ongoing development of Xalan.</p>
-     <p>Xerces bug in &xml4j-used;:</p>
-     <ul>
-       <li>&xml4j; 1.2.3 does not process namespaces in SAX events when parsing UTF-16 documents, which causes &xslt4j; to fail with UTF-16
-        documents. Xerces will post a fix shortly.<br/><br/></li>
-     </ul>
-     </s3>     
-     <anchor name="status"/>
-     &status-j;
-     <anchor name="to-do"/>
-     <s3 title="To-do tasks">
-       <p>For a list of goals, tasks, and target dates for completion, see <jump href="todo.html">Xalan-Java Version 2: Things To Do</jump>. 
-       As tasks are completed, they are moved from the to-do list to 
-       <jump href="todo.html#release-date-completed">Completed</jump>.</p>
-       <p>The source document for the to-do list is an active document in the Apache CVS repository: 
-       <jump href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xalan/java/todo.xml">xml-xalan/java/todo.xml</jump>.</p>
-      </s3> 
-  </s2>
-  <anchor name="build"/>
-  
-  <s2 title="Build Notes">
-<ul>
-<li><link anchor="ant">Using Ant</link></li>
-<li><link anchor="jar">Rebuilding xalan.jar</link></li>
-<li><link anchor="samples">Rebuilding sample applications</link></li>
-<li><link anchor="doc">Rebuilding the &xslt4j; documentation</link></li>
-</ul>
-<anchor name="ant"/>
-   <s3 title="Using Ant">
-     <p>Apache <resource-ref idref="ant"/> is a flexible, powerful, and easy-to-use Java build tool that we include with the
-     &xslt4j; distribution. The Ant JAR file is in the bin directory, and the cross-platform XML build file (build.xml) is in 
-     the root directory along with a Windows32 batch file (build.bat) and a UNIX shell file (build.sh). The build file defines 
-     the "targets" that you can use Ant to build. The batch and shell files set up the classpath and launch Ant with the target 
-     (and any other arguments) you provide.</p>
-     <p><em>Instructions for using Ant</em></p>
-     <ol>
-       <li>Set the JAVA_HOME environment variable to the JDK root directory.<br/><br/>
-       If you are using JDK 1.1.8, you must also put classes.zip in the JDK bin directory on the classpath. You can use Ant 
-       with JDK 1.1.8 to compile and jar the &xslt4j; source files, but you must have JDK 1.2.2 or higher to build the
-       documentation.<br/><br/></li>
-       <li>Depending on your environment, run the batch file (build.bat) or shell file (build.sh) from the &xslt4j; root
-       directory, optionally with arguments (see the table of targets below).<br/><br/>
-       The batch/shell file adds several JAR files to the classpath and launches Ant with any arguments you provide. If you
-       provide no target, Ant compiles the source files and rebuilds xalan.jar (the "jar" target).</li>
-     </ol>
-     <p>You can also set up your classpath manually (see build.bat or build.sh for the details), and then run Ant as
-     follows:<br/><br/>
-     <code>java org.apache.tools.ant.Main <ref>target</ref></code><br/><br/>
-     where <ref>target</ref> is nothing (for the default target) or one of the following.</p>
-     <table>
-       <tr><td><em>Target</em></td><td><em>What Ant does</em></td></tr>
-       <tr><td>compile</td><td>compiles Xalan-Java in build/classes.</td></tr>
-       <tr><td>jar (the default)</td><td>creates xalan.jar in the build directory</td></tr>
-       <tr><td>samples</td><td>compiles and jars the sample apps in build/xalansamples.jar</td></tr>
-       <tr><td>servlet</td><td>compiles and jars the sample servlet in build/xalanservlet.jar</td></tr>       
-       <tr><td>docs</td><td>creates the HTML User's Guide in build/docs</td></tr>
-       <tr><td>javadocs</td><td>generates the API documentation in ./build/docs/apidocs</td></tr>
-       <tr><td>dist</td><td>generates a complete distribution tree with zip and tar.gz distribution files in build</td></tr>
-       <tr><td>clean</td><td>purges the build and distribution</td></tr> 
-  </table>
-  <p>If you build a target that depends on other targets, Ant creates those other targets in the correct order.</p>
-   </s3><anchor name="jar"/> 
-   <s3 title="Rebuilding &xslt4j;">
-     <p>The &xslt4j; build is in xalan.jar. The &xslt4j; source code tree is in the src directory.</p>
-     <p>If you are using Ant, the target is jar (the default). For more information, see <link anchor="ant">Using
-     Ant</link>.</p>
-     <p>If you want to do the build without Ant, keep the following in mind:</p>
-     <ul>
-     <li>Set the classpath to include the src directory, xerces.jar, bsf.jar, and bsfengines.jar.</li>
-     <li>Use a Java compiler (such as the IBM Just-In-Time compiler or the Sun javac) to compile all the .java files in the src
-     tree. </li>
-     <li>Use the Sun jar utility to store the resulting .class files in xalan.jar</li>
-     </ul>
-   </s3><anchor name="samples"/>
-   <s3 title="Rebuilding a sample application">
-   <p>If you modify a sample and want to recompile it, you can run the Java compiler in the directory containing the
-   example. Be sure xalan.jar and xerces.jar are on the classpath. To recompile (and run!) the class files in the
-   Servlet subdirectory, the javax.servlet and javax.servlet.http packages must also be on the classpath. Sun
-   distributes these packages in the JSWDK 1.0.1 servlet.jar file.</p> 
-   <p>After recompiling a sample, you can use the Sun jar utility to place your new .class files in
-    xalansamples.jar.</p>
-    <p>You can use Ant with the samples target to recompile the samples and place the unpackaged class files in xalansamples.jar.
-     For more information, see <link anchor="ant">Using Ant</link>.</p>
-    <note>To rebuild (and to run) the sample servlet, the javax.servlet and javax.servlet.http packages must be on your
-    classpath.</note>
-   </s3><anchor name="doc"/>
-   <s3 title="Rebuilding the &xslt4j; documentation">
-     <p>&xslt4j; includes a number of XML source files, XSL stylesheets, document type definition (DTD)
-      files, entity relationship (ENT) files, graphics, and a JavaScript file that provide the input for the Xalan
-      HTML User's Guide, and the overview and package-level documents used during the generation of Javadoc.</p>
-      <p>To rebuild the documentation, you must use the StyleBook tool and the JDK 1.2.2 java and javadoc
-      tools. StyleBook (which uses Xalan and Xerces) is in stylebook-1.0-b2.jar. Some of the document definition files,
-      stylesheets, and resources are stored in xml-site-style.tar.gz, and are unzipped when you run Ant as described
-       below.</p>
-      <p>You can use Ant with the docs target to regenerate the User's Guide and with the javadocs target to regenerate the
-      Javadoc API documentation. For more information, see <link anchor="ant">Using Ant</link>.</p>
-      <p>If you want to rebuild the documentation without using Ant, keep the following in mind:</p>
-       <ul>
-       <li>Unzip xml-site-style.tar.gz into the xdocs directory (the operation places files in a number of subdirectories).
-       <br/><br/></li>
-       <li>Be sure stylebook-1.0-b2.jar, xalanjdoc.jar, xalan.jar, bsf.jar, bsfengines.jar, and xerces.jar are on the class
-       path.<br/><br/></li>
-       <li>To build doc in a build/docs subdirectory, run StyleBook from the xdocs directory as follows:<br/><br/>
-       <code>java org.apache.stylebook.StyleBook "targetDirectory=../build/docs/" sources/xalanLocal.xml style</code>
-       <br/><br/></li>
-       <li>To build the HTML source files that javadoc needs for the TrAX top-level and package-level documentation, add
-       a build/docs/apdidocs/javax/xml/transform directory and run the Xalan command-line utility from the xdocs directory 
-       as follows (all one line):<br/><br/>
-<code>
-java org.apache.xalan.xslt.Process 
-  -in sources/trax/trax.xml
-  -param package-root '../../../src/'
-  -xsl style/stylesheets/spec.xsl 
-  -out build/docs/apidocs/javax/xml/transform/trax.html</code><br/><br/></li>
-        <li>Before you run javadoc, make sure the following directory structure exists under the Xalan root
-         directory: build/docs/apidocs.<br/><br/></li>
-       <li>To build the API documentation, run the JDK 1.2.2 javadoc tool from the xdocs directory (all one line):<br/><br/>
-<code>
-javadoc -doclet xalanjdoc.Standard 
- -docletpath ../bin/xalanjdoc.jar 
- -private
- -overview ../src/javadocOverview.html -sourcepath ../src 
- -group TrAX "javax.xml.transform*" 
- -group Xalan_Core "org.apache.xalan.processor:
-        org.apache.xalan.templates:
- org.apache.xalan.transformer"
- -group XPath "org.apache.xpath*"
- -group Utilities "org.apache.xml.utils*"
- -group Xalan_Other "org.apache.xalan.client:
-        org.apache.xalan.dtm:
- org.apache.xalan.extensions:org.apache.xalan.res:
- org.apache.xalan.stree:org.apache.xalan.trace:
- org.apache.xalan.xslt" 
- -group Xalan_Extensions "org.apache.xalan.lib*" 
- -group Serializers "org.apache.xalan.serialize" 
- org.apache.xalan.client org.apache.xalan.dtm 
- org.apache.xalan.extensions org.apache.xalan.lib 
- org.apache.xalan.lib.sql org.apache.xalan.processor 
- org.apache.xalan.res org.apache.xalan.stree 
- org.apache.xalan.templates org.apache.xalan.trace 
- org.apache.xalan.transformer org.apache.xalan.xslt 
- org.apache.xpath org.apache.xpath.axes 
- org.apache.xpath.compiler org.apache.xpath.functions 
- org.apache.xpath.objects org.apache.xpath.operations 
- org.apache.xpath.patterns org.apache.xpath.res
- org.apache.xalan.serialize javax.xml.transform  
- javax.xml.transform.dom javax.xml.transform.sax 
- javax.xml.transform.stream javax.xml.parsers
- -d ../build/docs/apidocs -windowtitle "Xalan-Java 2" 
- -doctitle "Xalan-Java 2" -bottom "Copyright &#169; 
-  2000 Apache XML Project. All Rights Reserved."
-</code></li>
-</ul>
-  </s3>    
- </s2><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"/>.</p>
- </s2><anchor name="history"/>
- <s2 title="Cumulative history of software changes">
-   <p>The following sections list the changes in each release since &xslt4j; version 2.0.D01.</p>
-   &history-j;
- </s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/resources.xml b/xdocs/sources/xalan/resources.xml
deleted file mode 100644
index 3cfa5f2..0000000
--- a/xdocs/sources/xalan/resources.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE resources [
-  <!ENTITY % externalEntity SYSTEM "../entities.ent">
-  %externalEntity;
-  <!ELEMENT resources (resource|human-resource)+>
-  <!ELEMENT resource EMPTY>
-  <!ATTLIST resource 		
-        id CDATA #IMPLIED
-				title CDATA #IMPLIED
-				location CDATA #IMPLIED>
-  <!ELEMENT human-resource EMPTY>
-  <!ATTLIST human-resource 	
-        id CDATA #IMPLIED
-				name CDATA #IMPLIED
-				mailto CDATA #IMPLIED>
-   ]>  
-<resources> 	
-  <resource id="xslt4j-current" 
-            title="&xslt4j-current;" 
-            location="http://xml.apache.org/xalan"/>
-  <resource id="xslt4j-dist-zip" 
-            title="&xslt4j-dist;.zip" 
-            location="http://xml.apache.org/dist/xalan-j/&xslt4j-dist;.zip"/>
-  <resource id="xslt4j-dist-targz" 
-            title="&xslt4j-dist;.tar.gz" 
-            location="http://xml.apache.org/dist/xalan-j/&xslt4j-dist;.tar.gz"/>
-  <resource id="xslt4j-distdir" 
-            title="xalan-j distribution directory" 
-            location="http://xml.apache.org/dist/xalan-j/"/>
-  <resource id="xml4j-used" 
-            title="&xml4j-used;" 
-            location="http://xml.apache.org/xerces-j/index.html"/>
-  <resource id="xml4j-distdir" 
-            title="xerces-j distribution directory" 
-            location="http://xml.apache.org/dist/xerces-j/"/>
-  <resource id="ant" title="Ant" 
-            location="http://jakarta.apache.org/ant/index.html"/>
-  <resource id="ApacheLicense" 
-            title="The Apache Software License, Version 1.1" 
-            location="http://xml.apache.org/dist/LICENSE.txt"/>
-  <resource id="bugzilla"
-            title="Bugzilla (the Apache bug database)"
-            location="http://nagoya.betaversion.org/bugzilla/"/>
-  <resource id="buglist"
-            title="XalanJ2 open bugs"         location="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=XalanJ2&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=%27Importance%27"/>                   
-  <resource id="bsf"
-            title="Bean Scripting Framework (BSF)"
-            location="http://oss.software.ibm.com/developerworks/projects/bsf"/>     
-	
-  <resource id="Readme" 
-            title="Xalan Repository Release Notes" 
-            location="http://www.apache.org/websrc/cvsweb.cgi/xml-xalan/README"/>
-            
-  <resource id="xsl" title="Extensible Stylesheet Language (XSL) Version 1.0 W3C Candidate Recommendation"
-   location="http://www.w3.org/TR/xsl"/>
-
-  <resource id="dpawsonxslfaq" title="XSL Frequently Asked Questions" location="http://www.dpawson.co.uk/xsl/xslfaq.html"/>
-  
-  <resource id="xslt" 
-            title="W3C Recommendation XSL Transformations (XSLT) Version 1.0"
-            location="http://www.w3.org/TR/xslt"/>
-  
-  <resource id="xpath" 
-            title="XML Path Language (XPath) Version 1.0" 
-            location="http://www.w3.org/TR/xpath"/>            
-            
-  <resource id="dom" 
-            title="DOM" 
-            location="http://www.w3.org/DOM"/>
-  <resource id="dom2" 
-            title="DOM level 2" 
-            location="http://www.w3.org/TR/DOM-Level-2/"/>
-
-  <resource id="sax" 
-            title="SAX" 
-            location="http://www.megginson.com/SAX/sax.html"/>
-  <resource id="sax2" 
-            title="SAX 2" 
-            location="http://www.megginson.com/SAX/Java/index.html"/>
-  <resource id="jaxp" 
-            title="Java API for XML Parsing 1.0" 
-            location="http://java.sun.com/xml/docs/api/index.html"/>
-  <resource id="jaxp11" 
-            title="Java API for XML Processing 1.1 Public Review 2" 
-            location="http://java.sun.com/aboutJava/communityprocess/review/jsr063/jaxp-pd2.pdf"/>
-  <resource id="jsr063"
-            title="Java Specification Request 63"
-            location="http://java.sun.com/aboutJava/communityprocess/review/jsr063"/>
-  <resource id="trax" 
-            title="TRaX (Transformation API for XML)" 
-            location="apidocs/javax/xml/transform/trax.html"/>
-            
-  <resource id="compatapi"
-            title="Xalan-Java 1 compatibility Javadoc"
-            location="compat_apidocs/index.html"/>
-            
-  <human-resource id="xalandev" 
-                  name="Xalan Development Mailing List" 
-                  mailto="xalan-dev@xml.apache.org"/>
-</resources>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/samples.xml b/xdocs/sources/xalan/samples.xml
deleted file mode 100644
index fa8a12b..0000000
--- a/xdocs/sources/xalan/samples.xml
+++ /dev/null
@@ -1,375 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="&xslt4j2; Samples">
-<ul>
-<li><link anchor="simpletransform">SimpleTransform</link></li>
-<li><link anchor="usestylesheetpi">UseStylesheetPI</link></li>
-<li><link anchor="usestylesheetparam">UseStylesheetParam</link></li>
-<li><link anchor="sax2sax">SAX2SAX</link></li>
-<li><link anchor="dom2dom">DOM2DOM</link></li>
-<li><link anchor="pipe">Pipe</link></li>
-<li><link anchor="usexmlfilters">UseXMLFilters</link></li>
-<li><link anchor="applyxpath">ApplyXPath</link></li>
-<li><link anchor="appletxmltohtml">AppletXMLtoHTML</link></li>
-<li><link anchor="get-todo-list">get-todo-list</link></li>
-<li><link anchor="servlet">servlet</link></li>
-<li><link anchor="extensions">Extensions</link></li>
-<li><link anchor="trace">Trace</link></li>
-<li><link anchor="trax">trax</link></li>
-</ul>  
-	  <s2 title="Samples to help you get started">
-    <p>Each of the subdirectories in the &xslt4j; java/samples directory contains the source files for one or more
-     sample applications. The class files for the samples are in xalansamples.jar (everything except the servlet) and xalanservlet.jar, so to run the samples, you should place these JAR files on the system classpath.</p>
-     <p>With most of the samples, you can use the following procedure:</p>
-     <ol>
-     <li>Be sure xalan.jar, xalansamples.jar, and xerces.jar are on the system class
-      path. For the extension examples, bsf.jar and (for the JavaScript extensions) js.jar must also be on the class
-      path.</li>
-     <li>Be sure the java executable is on your path.</li>
-     <li>Go to the samples subdirectory containing the sample (use the DOS shell if you are running Windows).</li>
-     <li>Run the sample from the command line (as indicated below).</li>
-    <li>Examine the application source files. You may also want to modify the source files. Remember that if you
-     modify a java file, you must recompile the class and place it on the classpath before you can run the
-     modified application.</li>
-     </ol>      
-    <p>The basic command line for running most of the samples is </p> 
-    <p><code>java <ref>classname args</ref></code></p>
-    <p>where <ref>classname</ref> is the sample class and <ref>args</ref> are the arguments, if any. As described in
-     the following sections, some samples take no arguments. The UseStylesheetParam sample takes an
-     additional argument. Several samples in extensions use the &xslt4j; 
-     <link idref="commandline">command-line utility</link>, so they take arguments for the XML source
-     file and the XSL stylesheet.</p>
-  	</s2><anchor name="simpletransform"/>
-    <s2 title="SimpleTransform">
-    <p>What it does: The SimpleTransform class uses the birds.xsl stylesheet to transform birds.xml, and prints the
-     output to birds.out.</p>
-    <p>You can run it from the SimpleTransform subdirectory with</p>
-    <p><code>java SimpleTransform</code></p>
-    </s2><anchor name="usestylesheetpi"/>
-    <s2 title="UseStylesheetPI">
-    <p>What it does: The UseStylesheetPI class uses the stylesheet processing instruction in the XML source document to determine
-     which stylesheet to use to perform the transformation.</p>
-     <p>You can run it from the UseStylesheetPI subdirectory with</p>
-     <p><code>java UseStylesheetPI</code></p>
-     <p>For more information, see <link idref="usagepatterns" anchor="embed">Working with embedded stylesheets</link>.</p>
-    </s2><anchor name="usestylesheetparam"/>
-    <s2 title="UseStylesheetParam">
-      <p>What it does: The UseStyleSheetParam class uses foo.xsl and a stylesheet parameter to transform foo.xml,
-       and prints the output to System.out. The stylesheet parameter appears as a text node in the output.</p>
-    <p>Run this sample from the UseStylesheetParam subdirectory with</p> 
-    <p><code>java UseStylesheetParam <ref>param</ref></code></p>
-    <p>where <ref>param</ref> is the stylesheet parameter value (a string of your choice).</p>  
-    </s2><anchor name="sax2sax"/>
-  <s2 title="SAX2SAX">
-  <p>What it does: Explicitly set the SAX XMLReader and SAX ContentHandler for processing the stylesheet (birds.xsl), processing the XML input (birds.xml), and producing the output (birds.out).</p>
-  <p>Run this sample from the SAX2SAX subdirectory with</p>
-   <p><code>java SAX2SAX</code></p>
-    </s2><anchor name="dom2dom"/>
-    <s2 title="DOM2DOM">
-    <p>What it does: the DOM2DOM class uses the birds.xsl stylesheet to transform a DOM Document generated from birds.xml,
-     produces an output DOM, and traverses the DOM, printing the traversal to System.out. In contrast to SimpleTransform,
-      DOM2DOM illustrates the procedure for processing an input DOM and creating an output DOM that is available for
-      further processing.</p>
-   <p>You can run it from the DOM2DOM subdirectory with</p>
-    <p><code>java DOM2DOM</code></p>
-    </s2><anchor name="pipe"/>
-    <s2 title="Pipe">
-    <p>What it does: Pipes the output from one transformation to a second transformation, then from the second
-    transformation to the third transformation. Transformer1 is the ContentHandler for the XMLReader (which parses the
-    input document). Transformer2 provides the ContentHandler for Transformer1, and Transformer3 for Transformer2.</p>
-    <note>Pipe and UseXMLFilters illustrate two strategies for using the output of one transformation as the input for
-    another transformation. The Pipe sample incorporates a "push" model -- Transformer1 "pushes" its output to
-    Transformer2, and so on -- whereas in the UseXMLFilters sample, Transformer3 "pulls" its input from Transformer2,
-    and so on.</note>
-    <p>Run this sample from the Pipe subdirectory with</p> 
-    <p><code>java Pipe</code></p>
-    </s2><anchor name="usexmlfilters"/>
-    <s2 title="UseXMLFilters">
-    <p>What it does: Chains together the same transformations as the preceding Pipe sample. Using each Transformer
-     object as an extension of the SAX XMLFilter interface, sets the XMLReader as the parent of Transformer1,
-     Transformer1 as the parent of Transformer2, and Transformer2 as the parent of of Transformer3.</p>
-      <p>Run this sample from the UseXMLFilters subdirectory with</p>
-   <p><code>java UseXMLFilters</code></p>
-    </s2><anchor name="applyxpath"/>
-    <s2 title="ApplyXPath">
-    <p>What it does: ApplyXPath uses the <jump href="apidocs/org/apache/xpath/XPathAPI.html">XPathAPI</jump> convenience methods to
-    execute an XPath expression against an XML document and return the nodes (if any) it finds.</p>
-     <note>You can use this sample as an aid when you want to find out what a given XPath expression returns from a
-     given XML file. Keep in mind that the context node (base point of evaluation) for the XPath expression is the document
-     root.</note>
-    <p>Run this sample from the ApplyXPath subdirectory with</p> 
-    <p><code>java ApplyXPath <ref>XMLFile XPathExpression</ref></code></p>
-    <p>where <ref>XMLFile</ref> is an XML source file and <ref>XPathExpression</ref> is an XPath expression to
-     apply to that file. The ApplyXPath subdirectory contains an XML file named foo.xml --<br/>
-     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>&lt;doc&gt;&lt;name first="David" last="Marston"/&gt;...&lt;/doc></code><br/> -- so you can try command
-     lines like</p>
-    <p><code>java ApplyXPath foo.xml /</code></p>
-    <p>and</p>
-    <p><code>java ApplyXPath foo.xml /doc/name/@first</code></p>
-    <p>For more information, see <link idref="usagepatterns" anchor="xpath">Working with XPath expressions</link>.</p>
-    </s2><anchor name="appletxmltohtml"/>
-    <s2 title="AppletXMLtoHTML">
-    <p>The applet uses a stylesheet to transform an XML document into HTML. It displays the XML document, the
-     stylesheet, and the HTML output.</p>
-    <p>How to run it: Open appletXMLtoHTML.hmtl in the Internet Explorer 5 browser.</p>
-    <note>This and the following sample applet do not work in the Netscape Communicator 4.7. We have some work to do to get
-    our basic strategy of using system properties to identify the Transformer and XML Parser to work in the Netscape applet
-    sandbox.<br/><br/>
-    Both applets look for xalan.jar and xerces.jar in the bin subdirectory. If you have placed these JAR files
-    elsewhere, adjust the applet archive setting in client.html and get-todo-list.html accordingly.</note>
-    </s2><anchor name="get-todo-list"/>
-    <s2 title="get-todo-list">
-    <p>This applet uses todo.xsl to transform todo.xml and display the result. The XML source (todo.xml) is a snapshot of an
-     ongoing list of tasks and task completions for the &xslt4j2; project that is maintained in the xml-xalan/java
-     subdirectory of the Apache CVS repository.</p>
-     <p>How to run it: Open get-todo-list.html in the Internet Explorer 5 browser.</p>
-    </s2><anchor name="servlet"/>
-    <s2 title="servlet">
-   <p>For a general introduction, see <link idref="usagepatterns" anchor="servlet">Using &xslt4j; in a servlet</link>.</p>
-    <p>The servlet subdirectory contains four sample servlets that use &xslt4j; to perform transformations. These servlets 
-    are in a package named servlet and are compiled in xalanservlet.jar. To run these samples, you must place 
-    xalanservlet.jar, and any XML and XSL files you want to use on a web server with a servlet engine, place 
-    xalanservlet.jar, xalan.jar, and xerces.jar on the servlet engine class path, and configure the servlet engine to
-    locate the XML and XSL files, and the properties file used by ApplyXSL.</p>
-    <p><link anchor="simplexsltservlet">servlet.SimpleXSLTServlet</link> applies a particular stylesheet to a particular 
-    XML document.</p> 
-    <p><link anchor="usestylesheetparamservlet">servlet.UseStylesheetParamServlet</link> sets a stylesheet parameter 
-    (the parameter name is hardwired into the servlet), and requires the user to supply parameters for the 
-    XML document and XSL stylesheet.</p>
-    <p><link anchor="xsltservletwithparams">servlet.XSLTServletWithParams</link> accepts parameters for the XML document, 
-    the XSL stylesheet, and any number of stylesheet parameters.</p>
-    <p><link anchor="applyxslt">servlet.ApplyXSLT</link> (and associated classes) is closer to a production level servlet. It accepts parameters, provides a 
-    listener for capturing and reporting debugger messages, and supports  use of a property file to determine which 
-    stylesheet to apply based on the identity of the client browser/device.</p>
-    <anchor name="simplexsltservlet"/>
-    <s3 title="servlet.SimpleXSLTServlet">
-    <p>What it does: servlet.SimpleXSLTServlet applies the todo.xsl stylesheet to todo.xml and returns the transformation result to the
-    HTTP client.</p>
-    <p>To run this servlet: place todo.xsl and todo.xml (from the distribution root directory) in the directory where your servlet engine
-    looks for HTTP documents, place xalanservlet.jar on the servlet engine classpath, and set up an HTML page to call the servlet as
-    follows:</p>
-<gloss><label>http://localhost/servlethome/servlet.SimpleXSLTServlet</label></gloss>
-     </s3><anchor name="usestylesheetparamservlet"/>
-     <s3 title="servlet.UseStylesheetParamServlet">
-     <note>Paul Campbell &lt;seapwc@halcyon.com&gt; wrote this servlet and the following explanatory text.
-     Thank you, Paul!</note>
-     <p>What it does: The client (perhaps an HTML form ) specifies an XML document, a stylesheet, and a value to be passed
-      to the stylesheet for a stylesheet parameter named "param1". The servlet performs the transformation and returns
-      the output to the client. The client must specify which stylesheet (containing a "param1" stylesheet parameter") 
-      and XML file are to be used.</p>
-     <p>How to run it: Configure your application server (Tomcat, Websphere or JServ, for example)
-     so it can find servlet.UseStylesheetParamServlet (in xalanservlet.jar) as well as the XML document 
-     and XSL stylesheet. For example, you can copy fooparam.xml and fooparam.xsl from samples/servlet to the application 
-     server root directory for documents.</p>
-     <p>Then you can set up an HTML client to call the servlet with arguments along the lines of</p>
-    <gloss><label>http://localhost/servlethome/servlet.UseStylesheetParamServlet?
-    XML=fooparam.xml&amp;XSL=fooparam.xsl&amp;PVAL=GoodBye</label></gloss>
-     <p>In the doGet() method, the servlet obtains the PVAL value "GoodBye") from the servlet request and passes it to the 
-     stylesheet as the paramValue argument in a Transformer setParameter() call:</p>
-      <p><code>String paramValue = httpServletRequest.getParameter("PVAL");</code><br/>
-      <code>...</code><br/>
-     <code>transformer.setParameter("param1", paramValue);</code></p>
- <p>The result is returned to the client:</p>
-<p><code>&lt;html&gt;&lt;body&gt;&lt;p&gt;GoodBye&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</code></p>
-     </s3><anchor name="xsltservletwithparams"/>
-     <s3 title="servlet.XSLTServletWithParams">
-     <p>What it does: servlet.XSLTServletWithParams takes parameters in the request -- a URL parameter for
-     the XML input document URL and an xslURL parameter for the stylesheet URL.</p>
-     <p>To use XSLTServletWithParams to perform the same transformation as SimplestServlet: 
-     place todo.xsl and todo.xml in the directory where your servlet engine looks for HTTP documents, place
-     xalanservlet.jar on the servlet engine classpath, and set up an HTML page to call the servlet as follows:</p>
-<gloss><label>http://localhost/servlethome/servlet.XSLTServletWithParams?URL=file:todo.xml&amp;
-xslURL=file:todo.xsl</label></gloss>
-     <p>If the XML document contains an associated stylesheet (a stylesheet Processing Instruction) that you want to use, simply omit the
-     xslURL parameter.</p>
-     <p>If the stylesheet takes stylesheet parameters, you can include them in the URL. For example to set set the param1
-     stylesheet parameter to foo, include param1=foo in the URL.</p>
-     </s3><anchor name="applyxslt"/>
-     <s3 title="servlet.ApplyXSLT">
-    <p>What it does: The client (which you must set up) specifies an XML document and a stylesheet. The servlet
-     performs the transformation and returns the output to the client. You can use media.properties to specify 
-    which stylesheet is to be used depending on the client browser/device.</p>
-    <note>The source files for this servlet include ApplyXSLT.java, ApplyXSLTProperties.java, DefaultApplyXSLTProperties.java,
-    ApplyXSLTListener.java, and ApplyXSLTException.java.</note>
-    <p>To run the servlet: put xalanservlet.jar on the servlet engine classpath, configure your servlet engine so it can find the 
-     stylesheets and properties file in the servlet subdirectory (and in xalanservlet.jar), and set up an HTML page to call
-     servlet.ApplyXSLT with arguments as illustrated below.</p>
-     <p>Examples:</p>
-<gloss>
-<label>http://localhost/servlethome/servlet.ApplyXSLT?URL=/data.xml&amp;xslURL=
-/style.xsl</label>
-<item>...applies the style.xsl stylesheet to the data.xml data. Both files are<br/>
-served from the Web server's HTTP document root.<br/><br/></item>
-<label>http://localhost/servlethome/servlet.ApplyXSLT?URL=/data.xml&amp;xslURL=
-/style.xsl&amp;debug=true</label>
-<item>...ensures that XML and XSL processor messages are returned in the event of problems
-applying style.xsl to data.xml<br/><br/></item>
-<label>http://localhost/servlethome/servlet.ApplyXSLT/data.xml?xslURL=/style.xsl</label>
-<item>...applies the style.xsl stylesheet to the data.xml data, just like the first example.
-This is an alternative way of specifying the XML XSLTInputSource by utilizing the HTTP request's path
-information.<br/><br/></item>
-<label>http://localhost/servlethome/servlet.ApplyXSLT/data.xml</label>
-<item>...examines data.xml for an associated XSL stylesheet (a stylesheet Processing Instruction). If multiple XSLs are associated with the data, the stylesheet whose media attribute maps to your browser type will be chosen.  If no mapping is successful, the primary associated stylesheet is used.<br/><br/></item>
-<label>http://localhost/servlet/data.xml</label>
-<item>...provides the same function as the previous example, but this example assumes
-that /servlet/data.xml has been mapped to be executed by this servlet.  The servlet engine may be configured
-to map all or some *.xml files to this servlet through the use of servlet aliases or filters.<br/><br/></item>
-<label>http://localhost/servlet/data.xml?catalog=http://www.xml.org/dtds/oag.xml</label>
-<item>...supplements any servlet-configured XCatalog
-with a catalog of supply chain DTDs residing at the XML.ORG DTD repository.</item>
-</gloss>     
-   </s3>
-     </s2><anchor name="extensions"/>
-    <s2 title="Extensions">
-    <p>For an introduction to the creation and use of extension elements and extension functions, and
-    for information about the extensions library distributed with &xslt4j;, see
-    <link idref="extensions">Extensions</link>.</p>
-    <ul>
-      <li><link anchor="ext1">1-redir</link></li>
-      <li><link anchor="ext2">2-basicJscript</link></li>
-      <li><link anchor="ext3">3-java-namespace</link></li>
-      <li><link anchor="ext4">4-numlistJava</link></li>
-      <li><link anchor="ext5">5-numlistJScript</link></li>
-      <li><link anchor="ext6">6-sqllib-instantdb</link></li>
-    </ul>
-    <p>The extensions subdirectory contains six samples with &xslt4j; extensions. Two of the samples use
-     extensions implemented in JavaScript, and four of the samples use extensions implemented in Java.</p>
-     <p>To run these examples, you must place bsf.jar (distributed with &xslt4j;), and js.jar
-      (version 1.5, available from 
-      <jump href="http://www.mozilla.org/rhino">http://www.mozilla.org/rhino</jump>) on the classpath. 
-     You do not need js.jar on the classpath for the samples that use Java extensions. </p>
-     <p>Use java.org.apache.xalan.xslt.Process, the &xslt4j; command-line utility, to run most of these samples from
-      the <link idref="commandline">command line</link>. The command line must include an -in flag with the 
-      XML source and an -xsl flag with the XSL stylesheet. If you want the output to be written to a file, rather
-      than to the screen, add an -out flag with the output file name.</p>
-      <p>Run these samples from the extensions directory as follows (each of the following is a single command
-       line):</p> 
-
-      <anchor name="ext1"/>
-      <s3 title="1-redir">
-      <p>What it does: Uses the Redirect extension elements shipped with &xslt4j; to direct output to two output
-        files.</p>
-      <p>Run this sample from the extensions subdirectory with</p> 
-       <p><code>java org.apache.xalan.xslt.Process -in 1-redir.xml</code><br/>
-       &nbsp;&nbsp;<code>-xsl 1-redir.xsl</code></p>
-      <p>The standard (non-redirected) output is written to the screen. The redirected output is written to 1-redir-out, or
-      whatever filename you assign to the doc/foo @file attribute in 1-redir.xml. The stylesheet gets the file name for
-      redirected output from the XML input file.</p>
-      </s3><anchor name="ext2"/>
-      <s3 title="2-basicJscript">
-      <p>What it does: Uses an extension element and extension function implemented in JavaScript to compute a
-      deadline for responding to a customer inquiry.</p>
-      <note>js.jar must be on the classpath.</note>
-      <p>Run this sample from the extensions subdirectory with</p>
-      <p><code>java org.apache.xalan.xslt.Process -in 2-basicJscript.xml</code>
-         <br/>&nbsp;&nbsp;<code>-xsl 2-jbasicJscript.xsl</code></p>     
-      </s3><anchor name="ext3"/>
-      <s3 title="3-java-namespace">
-      <p>What it does: Uses extension functions to format dates. This sample illustrates use of the predefined java
-        extension namespace to provide ready access to extensions implemented in Java.</p>
-      <p>Run this sample from the extensions subdirectory with</p> 
-      <p><code>java org.apache.xalan.xslt.Process -in 3-java-namespace.xml</code>
-         <br/>&nbsp;&nbsp;<code>-xsl 3-java-namespace.xsl</code></p>    
-      </s3><anchor name="ext4"/>
-      <s3 title="4-numlistJava">
-      <p>What it does: Uses a Java extension to transform a set of name elements into a numbered and alphabetized
-       list.</p>
-      <p>Run this sample from the extensions subdirectory with</p> 
-      <p><code>java org.apache.xalan.xslt.Process -in numlist.xml</code> 
-        <br/>&nbsp;&nbsp;<code>-xsl 4-numlistJava.xsl</code></p>    
-      </s3><anchor name="ext5"/>
-      <s3 title="5-numlistJscript">
-      <p>What it does: Uses a JavaScript  extension to transform a set of name elements into a numbered and
-      alphabetized list. This sample performs the same operations as the preceding Java extension.</p>
-      <note>js.jar must be on the classpath.</note>
-    <p>Run this sample from the extensions subdirectory with</p>
-      <p><code> java org.apache.xalan.xslt.Process -in numlist.xml</code>
-        <br/>&nbsp;&nbsp;<code>-xsl 5-numlistJscript.xsl</code></p>
-      </s3><anchor name="ext6"/>
-      <s3 title="6-sqllib-instantdb">
-      <p>What it does: Uses <link idref="extensionslib" anchor="sql">SQL library XConnection
-      extension</link> to connect to an InstantDB sample database, perform a query, and display the
-      query result in an HTML table.</p>
-      <note>You must include idb.jar on the classpath. We have placed a copy of idb.jar from
-      InstantDB version 3.25 in samples/extensions/instantdb. For information about InstantDB, see
-      <jump href="http://instantdb.enhydra.org/software/documentation/index.html">InstantDB</jump>
-      and the <jump href="http://instantdb.enhydra.org/software/license/index.html">Enydra Public
-      License</jump>.</note>
-      <p>Run this sample from the extensions subdirectory with (adjust the Windows classpath setting 
-      below for your operating environment):</p>
-      <p><code>java -cp instantdb/idb.jar;%classpath%</code> 
-      <br/>&nbsp;&nbsp;org.apache.xalan.xslt.Process<code></code>
-      <br/>&nbsp;&nbsp;<code>-xsl 6-sqllib-instantdb.xsl -out import1.html</code></p>
-      </s3>
-    </s2><anchor name="trace"/>
-    <s2 title="Trace">
-      <p>What it does: Trace uses the TraceListener and TraceManager classes to log transformation events.</p>
-      <p>Run this sample from the Trace subdirectory with</p>
-      <p><code>java Trace</code></p>
-      <p>and examine the result in events.log. For more information, see <link idref="usagepatterns" anchor="debugging">Debugger
-      Interface</link></p>
-     </s2><anchor name="trax"/>
-     <s2 title="trax">
-     <note>&traxsamplenote;</note>
-     <p>What it does: run a number of samples illustrating uses of the <resource-ref idref="trax"/> interfaces.</p>
-     <p>Run this sample from the trax subdirectory with</p>
-     <p><code>java Examples</code></p>
-     <p>and examine the source in Examples.java and ExampleContentHandler.java.</p>
-     </s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/usagepatterns.xml b/xdocs/sources/xalan/usagepatterns.xml
deleted file mode 100644
index 0fc9312..0000000
--- a/xdocs/sources/xalan/usagepatterns.xml
+++ /dev/null
@@ -1,501 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="Basic usage patterns">
-<ul>
-<li><link anchor="basic">Basic steps</link></li>
-<li><link anchor="plug">Plugging in the Transformer and XML parser</link></li>
-<li><link anchor="outputprops">Setting output properties in your stylesheets</link></li>
-<li><link anchor="embed">Working with embedded stylesheets</link></li>
-<li><link anchor="params">Setting stylesheet parameters</link></li>
-<li><link anchor="serialize">Serializing output</link></li>
-<li><link anchor="sax">Explicitly working with SAX</link></li>
-<li><link anchor="outasin">Using transformation output as input for another transformation</link></li>
-<li><link anchor="dom">Processing and producing DOM trees</link></li>
-<li><link anchor="xpath">Working with XPath expressions</link></li>
-<li><link anchor="applet">Using the &xslt4j; applet wrapper</link></li>
-<li><link anchor="servlet">Using &xslt4j; in a servlet</link></li>
-<li><link anchor="extensions">Creating and using extensions</link></li>
-<li><link anchor="multithreading">Multithreading</link></li>
-<li><link anchor="debugging">Debugger interface</link></li>
-<li><link anchor="compat">Using the &xslt4j; version 1 API</link></li>
-</ul>
-<anchor name="basic"/>
-  <s2 title="Basic steps">
-    <ol>
-    <li><link anchor="transformerfactory">Instantiate a TransformerFactory</link></li>
-    <li><link anchor="transformer">Process the stylesheet and generate a Transformer</link></li>
-    <li><link anchor="transformation">Perform the transformation</link></li>
-  </ol>
-    <p>The following example illustrates the three basic steps involved in performing a transformation.</p>
-    <source>// 1. Instantiate a TransformerFactory.
-javax.xml.transform.TransformerFactory tFactory = 
-                  javax.xml.transformerTransformerFactory.newInstance();
-
-// 2. Use the TransformerFactory to process the stylesheet Source and
-//    generate a Transformer.
-javax.xml.transform.Transformer transformer = tFactory.newTransformer
-                (new javax.xml.transform.stream.StreamSource("foo.xsl");
-
-// 3. Use the Transformer to transform an XML Source and send the
-//    output to a Result object.
-transformer.transform
-    (new javax.xml.transform.stream.StreamSource("foo.xml"), 
-     new javax.xml.transform.stream.StreamResult( new
-                                  java.io.FileOutputStream("foo.out")));</source>
-  <note>For a working example of this model at its simplest, see SimpleTransform.java in the java/samples/SimpleTransform subdirectory.</note>
-  </s2><anchor name="transformerfactory"/>
-  <s2 title="1. Instantiate a TransformerFactory">
-  <p><jump href="apidocs/javax/xml/transform/TransformerFactory#html">TransformerFactory</jump> is an abstract class with a static newInstance() method that instantiates the concrete subclass designated by the javax.xml.transform.TransformerFactory system property.</p>
-  <p>The default setting for this system property is <jump href="apidocs/org/apache/xalan/processor/TransformerFactoryImpl.html">org.apache.xalan.processor.TransformerFactoryImpl</jump>.</p>
-</s2><anchor name="transformer"/>
-  <s2 title="2. Use the TransformerFactory to process the stylesheet Source and produce a Transformer">
-<p>The TransformerFactory <jump href="apidocs/javax/xml/transform/TransformerFactory.html#newTransformer(javax.xml.transform.Source)">newTransformer(Source xslSource)</jump> method processes the stylesheet Source into a Templates object and returns a Transformer that you can use to perform a transformation (apply the Templates object to an XML Source).</p>
-<p>You may provide the stylesheet Source in the form of a stream of XML markup (<jump href="apidocs/javax/xml/transform/stream/StreamSource.html">StreamSource</jump>), a DOM Node (<jump href="apidocs/javax/xml/transform/dom/DOMSource.html">DOMSource</jump>), or a SAX InputSource (<jump href="apidocs/javax/xml/transform/sax/SAXSource.html">SAXSource</jump>). To specify a StreamSource, you may use a system ID or file name (using URI syntax), a java.io.InputStream, or a java.io.Reader. The use of DOMSource and SAXSource are illustrated in subsequent sections.</p>
-<note>If you plan to use the stylesheet Source to transform multiple XML Sources, you should use the TransformerFactory <jump href="apidocs/javax/xml/import/TransformerFactory.html#newTemplates(javax.xml.transform.Source)">newTemplates(Source xslSource)</jump> method to explicitly generate a Templates object. For each transformation, use the Templates object to generate a new Transformer. For the details, see <link anchor="multithreading">Multithreading</link>.</note>
-</s2><anchor name="transformation"/>
-<s2 title="3. Use the Transformer to perform a transformation">
-<p>Use the Transformer <jump href="apidocs/javax/xml/import/Transformer.html#transform(javax.xml.transform.Source, javax.xml.transform.Result">transform(Source xmlSource, Result transformResult)</jump> method to transform  the XML Source and place the transformation output in a Result object.</p>
-<p>Just as with the stylesheet, you can supply the XML Source in the form of a <jump href="apidocs/javax/xml/transform/stream/StreamSource.html">StreamSource</jump>, <jump href="apidocs/javax/xml/transform/dom/DOMSource.html">DOMSource</jump>, or <jump href="apidocs/javax/xml/transform/sax/SAXSource.html">SAXSource</jump>. Likewise, the Result may be a <jump href="apidocs/javax/xml/transform/stream/StreamResult.html">StreamResult</jump>, <jump href="apidocs/javax/xml/transform/dom/DOMResult.html">DOMResult</jump>, or <jump href="apidocs/javax/xml/transform/sax/SAXResult.html">SAXResult</jump>.</p>
-<p>For each node in the XML source, the Transformer uses the transformation instructions in the Templates object to determine which template to apply: one of the templates in the Templates object, a default template rule as specified in the XSLT spec, or none.</p>
-</s2><anchor name="plug"/>
-<s2 title="Plugging in a Transformer and XML parser">
-<p>The Java API for XML Processing interfaces enable you to isolate your application from the internal implementation details of a given Transformer, SAX parser, or DOM parser. For each of these objects, there is an abstract Factory class with a static newInstance() method that instantiates a concrete Factory which wraps the underlying implementation. These newInstance() methods use system property settings to determine which implementation to instantiate.</p>
-<p>&xslt4j; is distributed with system property settings for the Xalan XSLT Transformer and the Xerces DOM and SAX parsers. These settings are in xalan.jar in META-INF/services (see src/META-INF/services).</p>
-<gloss>
-  <label>System property</label>
-    <item>Setting</item>
-  <label><code>javax.xml.transform.TransformerFactory</code></label>
-   <item><code>org.apache.xalan.processor.TransformerFactoryImpl</code></item>    
-  <label><code>javax.xml.parsers.DocumentBuilderFactory</code></label>
-   <item><code>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</code></item>    
-  <label><code>javax.xml.parsers.SAXParserFactory</code></label>
-   <item><code>org.apache.xerces.jaxp.SAXParserFactoryImpl</code></item>
- </gloss>
-<p>You can change any of these settings as follows (in order of precedence):</p>
-<ol>
-  <li>Set the system property from the command line when you launch Java or from within your application.<br/><br/></li>
-  <li>Set the system property in jaxp.properties in the JAVA_HOME/lib directory, where JAVA_HOME is the root of the JDK.<br/><br/></li>
-  <li>Revise the entry in src/META-INF/services and rebuild xalan.jar.<br/><br/></li>
-</ol>
-<p>For more information about the mechanism used to determine system property values and how you can plug other implementations into your applications, see "Section 3: Plugability Layer" in the <ref>Java API for XML Processing</ref> at 
-<jump href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/index.html">JSR-000063 1.1</jump>.</p> 
-</s2><anchor name="outputprops"/>
-<s2 title="Setting output properties in your stylesheets">
-<p>Output properties for XML, HTML, and Text transformation output are defined in property files in the org.apache.xalan.templates package.</p>
-<p>You can change these settings as follows:</p>
-<ol>
-  <li>Declare the xalan namespace in your stylesheet element (xmlns:xalan="http://xml.apache.org/xslt").<br/><br/></li>
-  <li>Use the namespace prefix you assign (we use "xalan" here in the text) to redefine properties of interest in the stylesheet xsl:output
-      element (for example, xalan:indent-amount="5").</li>
-</ol>
-  <p>If you want to change the property settings globally, edit the values in the property files in src/org/apache/xalan/templates, 
-  and use Ant to <link idref="readme" anchor="jar">rebuild xalan.jar</link>.</p>
-<p>The properties files define the following properties:</p>
-<p><ref>output_xml.properties</ref>:</p>
-<table>
-  <tr>
-    <th>Property</th>
-    <th>Default value</th>
-  </tr>  
-  <tr>
-    <td>xalan:indent-amount</td>
-    <td>0</td>
-  </tr>
-  <tr>
-    <td>xalan:content-handler</td>
-    <td>org.apache.xalan.serialize.SerializerToXML</td>
-  </tr>
-</table>
-<p><ref>output_html.properties</ref>:</p>
-<table>
-  <tr>
-    <th>Property</th>
-    <th>Default value</th>
-  </tr>  
-  <tr>
-    <td>xalan:indent-amount</td>
-    <td>0</td>
-  </tr>
-  <tr>
-    <td>xalan:content-handler</td>
-    <td>org.apache.xalan.serialize.SerializerToHTML</td>
-  </tr>
-  <tr>
-    <td>entities</td>
-    <td>HTMLEntities.res</td>
-  </tr>
-  <tr>
-    <td>xalan:use-url-escaping</td>
-    <td>yes</td>
-  </tr>
-</table>
-<note>You can also create your own HTML entity file (mapping characters to entities) 
-or edit src/org/apache/xalan/serialize/HTMLEntities.res and rebuild xalan.jar.</note>
-<p><ref>output_text.properties</ref>:</p>
-<table>  
-  <tr>
-    <th>Property</th>
-    <th>Default value</th>
-  </tr>
-  <tr>
-    <td>xalan:content-handler</td>
-    <td>org.apache.xalan.serialize.SerializerToText</td>
-  </tr>
-</table>
-<p>See also <link idref="readme" anchor="outputprops">Release Notes: Output Properties</link>.</p>
-</s2><anchor name="embed"/>
-<s2 title="Working with embedded stylesheets">
-<p>An XML Source may include an <jump href="http://www.w3.org/TR/xml-stylesheet/">xml-stylesheet processing instruction</jump> which identifies the stylesheet to be used to process the document. As indicated by the processing instruction <ref>href</ref> attribute, the stylesheet itself may be embedded in the XML document or located elsewhere.</p>
-<p>Suppose you have an XML document (foo.xml) with the following xml-stylesheet processing instruction:</p>
-<p><code>&lt;?xml-stylesheet type="text/xml" href="foo.xsl"?&gt;</code></p>
-<p>The following fragment, uses this instruction to locate the stylesheet (foo.xsl in the same directory as foo.xml) and create a Templates object. Note the use of the TransformerFactory getAssociatedStylesheet() in step 2a.</p>
-<note>An XML document may include more than one xml-stylesheet processing instruction, hence the support for working with multiple stylesheets. If more than one stylesheet is returned, the other stylesheets are imported into the first stylesheet.</note>
-<source>// 1. Instantiate the TransformerFactory.
-javax.xml.transform.TransformerFactory tFactory = 
-                    javax.xml.transform.TransformerFactory.newInstance();
-// 2a. Get the stylesheet from the XML source.
-String media = null , title = null, charset = null;
-javax.xml.transform.Source stylesheet = tFactory.getAssociatedStylesheet
-                   (new StreamSource("foo.xml"),media, title, charset);
-
-// 2b. Process the stylesheet and generate a Transformer.
-Transformer transformer = tFactory.newTransformer(stylesheet);
-
-// 3. Use the Transformer to perform the transformation and send the
-//    the output to a Result object.
-transformer.transform
-             (new javax.xml.transform.stream.StreamSource("foo.xml"),
-              new StreamResult (new java.io.FileOutputStream("foo.out")));</source>
-<p>For a sample that uses this technique, see <link idref="samples" anchor="usestylesheetpi">UseStylesheetPI</link>.</p>
-<p>You can also instruct the <link idref="commandline">command-line utility</link> to use stylesheet processing
-instructions:</p>
-<ol>
-  <li>Include the <code>-in</code> flag with an XML source that contains a stylesheet processing instruction.<br/><br/></li>
-  <li>Do not include the <code>-xsl</code> flag.</li>
-</ol>
-</s2><anchor name="serialize"/>
-<s2 title="Serializing output">
-<p>In some cases, you may want to "transform" a DOM tree into a stream, which the XML community calls serialization. <resource-ref idref="trax"/> and the &xslt4j; Transformer implementation provide direct support for this operation. Simply use the TransformerFactory newTransformer() method (no arguments) to create a Transformer that you can use to "copy" a DOMSource to a StreamResult. For examples, see Examples.exampleDOM2DOM(), Examples.exampleSerializeNode(), and Examples.exampleAsSerializer() in the <link idref="samples" anchor="trax">trax sample</link>.</p>
-</s2><anchor name="params"/>
-<s2 title="Setting stylesheet parameters">
-<p>An XSLT stylesheet may include parameters that are set at run time each time a transformation is performed. To set a stylesheet parameter, use the Transformer 
-<jump href="apidocs/javax/xml/transform/Transformer.html#setParameter(java.lang.String,java.lang.Object)">setParameter(String name, Object value)</jump> method. For a working example, see UseStylesheetParam.java in the samples/UseStylesheetParam subdirectory.</p>
-<p>You can also set a parameter with the command-line utility by including the <code>-param</code> flag. For example:</p>
-<p><code>java org.apache.xalan.xslt.Process -in foo.xml -xsl foo.xsl -param param1 foobar</code></p>
-<p>where <code>param</code> is the parameter name and <code>foobar</code> is the parameter value. The parameter namespace is null.</p>
-<note>&xslt4j2; processes string parameters. You are no longer required (as you were with &xslt4j; version 1) to enclose strings in single 
-quotes (') as string expressions.</note>
-</s2><anchor name="sax"/>
-<s2 title="Explicitly working with SAX">
-  <p>&xslt4j; uses the SAX event model to process stylesheets, to parse XML input documents, and to produce output. For each of these operations, an XMLReader reads input, firing parse events, and a ContentHandler listens to the XMLReader and executes parse event methods.</p>
-<p>When you use the basic procedure described above for performing transformations, &xslt4j; takes care of many of the SAX details under the covers. You are free to make these details explicit, which simply means that you can intervene in the procedure to accommodate the precise environment in which your application operates.</p>
-<p>Suppose, for example, you are using a custom XMLReader, perhaps doing more than just parsing static XML documents) to generate &xslt4j; SAX parse events. You might even have a custom reader for producing/processing stylesheets. You can cast the TransformerFactory to a SAXTransformerFactory, which provides access to a TransformerHandler, which you can set as the ContentHandler for this reader.</p>
-  <p>The following example explicitly sets up the XMLReader and ContentHandlers, and replicates the <link anchor="basic">basic steps</link> described above.</p>
-  <source>// Instantiate a TransformerFactory.
-javax.xml.transform.TransformerFactory tFactory = 
-                    javax.xml.transform.TransformerFactory.newInstance();
-// Verify that the TransformerFactory implementation you are using
-// supports SAX input and output (&xslt4j; does!).
-if (tFactory.getFeature(javax.xml.transform.sax.SAXSource.FEATURE) &amp;&amp; 
-    tFactory.getFeature(javax.xml.transform.sax.SAXResult.FEATURE))
-  { 
-    // Cast the TransformerFactory to SAXTransformerFactory.
-    javax.xml.transform.sax.SAXTransformerFactory saxTFactory = 
-                   ((javax.xml.transform.SAXTransformerFactory) tFactory);
-    // Create a Templates ContentHandler to handle parsing of the 
-    // stylesheet.
-    javax.xml.transform.sax.TemplatesHandler templatesHandler = 
-                                        saxTFactory.newTemplatesHandler();
-
-    // Create an XMLReader and set its ContentHandler.
-    org.xml.sax.XMLReader reader = 
-                   org.xml.sax.helpers.XMLReaderFactory.createXMLReader();
-    reader.setContentHandler(templatesHandler);
-    
-    // Parse the stylesheet.                       
-    reader.parse("foo.xsl");
-
-    // Get the Templates object (generated during the parsing of the stylesheet)
-    // from the TemplatesHandler.
-    javax.xml.transform.Templates templates = 
-                                          templatesHandler.getTemplates();
-    // Create a Transformer ContentHandler to handle parsing of 
-    // the XML Source.  
-    javax.xml.transform.sax.TransformerHandler transformerHandler 
-                           = saxTFactory.newTransformerHandler(templates);
-    // Reset the XMLReader's ContentHandler to the TransformerHandler.
-    reader.setContentHandler(transformerHandler);
-
-    // Set the ContentHandler to also function as a LexicalHandler, which
-    // can process "lexical" events (such as comments and CDATA). 
-    reader.setProperty("http://xml.org/sax/properties/lexical-handler", 
-                        transformerHandler);
-
-    // Set up a Serializer to serialize the Result to a file.
-    org.apache.xalan.serialize.Serializer serializer = 
-    org.apache.xalan.serialize.SerializerFactory.getSerializer
-    (org.apache.xalan.templates.OutputProperties.getDefaultMethodProperties
-                                                                   ("xml"));
-    serializer.setOutputStream(new java.io.FileOutputStream("foo.out"));
-    // The Serializer functions as a SAX ContentHandler.
-    javax.xml.transform.Result result =
-      new javax.xml.transform.sax.SAXResult(serializer.asContentHandler());
-    transformerHandler.setResult(result);
-      
-    // Parse the XML input document.
-    reader.parse("foo.xml");</source>
-</s2><anchor name="outasin"/>
-<s2 title="Using transformation output as input for another transformation">
-
-<p>You can chain together a series of transformations such that the output of each transformation provides input for the next transformation. &xslt4j; supports two basic strategies for chaining a series of transformations:</p>
-<ul>
-  <li>Use the SAXTransformerFactory to process the stylesheet and create a TransformerHandler for each transformation. Then you can set
-the first TransformerHandler as the ContentHandler for the XMLReader that parses the input, make the second TransformerHandler the ContentHandler for the output of the first TransformerHandler, and so on. For more detail and an example, see the <link idref="samples" anchor="pipe">Pipe</link> sample.<br/><br/></li>
-  <li>Use the SAXTransformerFactory to process the stylesheet and create a SAX XMLFilter for each transformation. Set an XMLReader as the parent of the first XMLFilter, the first XMLFilter as the parent of the second XMLFilter, and so on. You launch the series of transformations by instructing the last XMLFilter to parse the XML Source for the first transformation. For more detail and an example, see the <link idref="samples" anchor="usexmlfilters">UseXMLFilters</link> sample.</li>
-</ul>
-</s2><anchor name="dom"/>
-<s2 title="Processing and producing DOM trees">
-  <p>In some cases, the input and/or desired output for a transformation may be a DOM tree object. The javax.xml.transform.DOM package provides <jump href="apidocs/javax/xml/transform/dom/DOMSource.html">DOMSource</jump> and a <jump href="apidocs/javax/xml/transform/dom/DOMResult.html">DOMResult</jump>, either or both of which you can use when you perform a transformation.</p>
-<p>In some cases, your application provides input in the form of a DOM tree, which accelerates the transformation process, since the input has in effect already been processed. To produce DOM input from a stream, you can use a <jump href="apidocs/javax/xml/parsers/DocumentBuilderFactory.html">DocumentBuilderFactory</jump> to produce a <jump href="apidocs/javax/xml/parsers/DocumentBuilder.html">DocumentBuilder</jump> with which you can parse the XML input into a DOM Document, as illustrated below.</p>
-<source>// Instantiate a DocumentBuilderFactory.
-javax.xml.parsers.DocumentBuilderFactory dfactory =
-                    javax.xml.parsers.DocumentBuilderFactory.newInstance();
-// Use the DocumentBuilderFactory to provide access to a DocumentBuilder.
-javax.xml.parsers.DocumentBuilder dBuilder = dfactory.newDocumentBuilder();
-// Use the DocumentBuilder to parse the XML input.
-org.w3c.dom.Document inDoc = dBuilder.Parse("foo.xml");</source>
-<p>To produce DOM output, simply use a Transformer to transform to a DOMResult object.</p>
-<source>// Generate a Transformer.
-javax.xml.transform.Transformer transformer = tFactory.newTransformer
-                  (new javax.xml.transform.Stream.StreamSource("foo.xsl"));
-// Create an empy DOMResult object for the output.
-javax.xml.transform.dom.DOMResult domResult =
-                                   new javax.xml.transform.dom.DOMResult();
-// Perform the transformation.
-transformer.transform(new javax.xml.transform.dom.DOMSource(inDoc)
-                      domResult;
-// Now you can get the output Node from the DOMResult.
-org.w3c.dom.Node node = domResult.getNode();</source>
-<note>Create a new DOMResult object or use DOMResult.setNode() to assign a new container each time you want to perform a transformation 
-and place the output in a DOMResult object.</note>
-<p>The <link idref="samples" anchor="dom2dom">DOM2DOM</link> illustrates both procedures, and serializes the DOMResult to System.out.</p>
-</s2><anchor name="xpath"/>
-<s2 title="Working with XPath expressions">
-<p>XSLT stylesheets use XPath expressions to select nodes, specify conditions, and generate text for the result tree. XPath provides an API that you can call directly. For example, you may want to select nodes programmatically and do your own processing without a stylesheet.</p>
-<p>XPath is an independent entity, with clients other than XSLT processors (such as XPointer). Accordingly, &xslt4j2; has packaged XPath as a separate module (org.apache.xpath and its subpackages), although concurrently this module does use some utility classes packaged in org.apache.xalan.utils. The org.apache.xpath.XPathAPI class contains convenience methods that you can use to return single DOM Nodes, NodeIterators, and XObjects. Apart from their own functionality, these methods also provide a path into the lower-level XPath API that you may find useful.</p>
-<p>For an example that uses the XPathAPI convenience methods to execute XPath expressions against XML source files, see <link idref="samples" anchor="applyxpath">ApplyXPath</link>.</p>
-</s2><anchor name="applet"/>
-<s2 title="Using the &xslt4j; applet wrapper">
-<ol> 
-<li>Include <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html">XSLTProcessorApplet</jump> in an HTML client.<br/><br/></li>
-<li>Specify the XML source document and XSL stylesheet.<br/><br/>
-You can use the DocumentURL and StyleURL PARAM tags or the <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html#setDocumentURL(java.lang.String)">setdocumentURL()</jump> and <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html#setStyleURL(java.lang.String)">setStyleURL()</jump> methods. If the XML document contains a stylesheet Processing Instruction (PI), you do not need to specify an XSL stylesheet.<br/><br/></li>
-<li>Call the <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html#transformToHtml(java.lang.String,java.lang.String)">transformToHtml()</jump> or <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html#getHtmlText()">getHtmlText()</jump> method, which performs the transformation and returns the new document as a String.</li></ol>
-<note>The transformToHTML() method takes arguments for the XML source document and XSL stylesheet. The getHtmlText() method takes no arguments: it uses property or parameter settings, as in the example below.</note>
-<p>For an example, see the <link idref="samples" anchor="appletxmltohtml">AppletXMLtoHTML</link> sample applet. The &lt;applet&gt; tag is in samples/AppletXMLtoHTML/client.html:</p>
-<source>&lt;applet  
-    name="xslControl"
-    code="org.apache.xalan.client.XSLTProcessorApplet.class"
-    archive="../../bin/xalan.jar,../../bin/xerces.jar"
-    height="0"
-    width"0">
-    &lt;param name="documentURL" value="xalanApplets.xml"/&gt;
-    &lt;param name="styleURL" value="s1ToHTML.xsl"/&gt;
-&lt;/applet&gt;</source>
-<p>When the user clicks the Transform button, the HTML client calls the getHtmlText() method, and puts the returned HTML text in a frame for the user to view.</p>
-
-</s2><anchor name="servlet"/>
-<s2 title="Using &xslt4j; in a servlet">
-<p>You can set up a servlet to use &xslt4j; to respond to requests for XML documents by transforming those documents into HTML and serving them to web browsers. To respond to HTTP GET requests, all you need to do is overwrite the HttpServlet doGet() method with a procedure that instantiates a Transformer and uses it to perform a transformation. As the following example shows, you can generate a ResultStream that a PrintWriter writes to the HttpResponse OutputStream, returning the transformation output to the web browser.</p>
-<source>
-public class SampleXSLTServlet extends javax.servlet.http.HttpServlet {
-  
-  // Respond to HTTP GET requests from browsers.
-  public void doGet (javax.servlet.http.HttpServletRequest request,
-                     javax.servlet.http.HttpServletResponse response)
-    throws javax.servlet.ServletException, java.io.IOException
-  {
-    // Output goes in the response stream.
-    java.io.PrintWriter out = 
-                         new java.io.PrintWriter(response.getOutputStream());
-    // Set content type for HTML.
-    response.setContentType("text/html");    
-    try
-    {	
-      javax.xml.transform.TransformerFactory tFactory = 
-                javax.xml.transform.TransformerFactory.newInstance();
-      // Get the XML input document and the stylesheet, both in the servlet
-      // engine document directory.
-      javax.xml.transform.Source xmlSource = 
-                new javax.xml.transform.stream.StreamSource
-                             (new java.net.URL("file:foo.xml").openStream());
-      javax.xml.transform.Source xslSource = 
-                new javax.xml.transform.stream.StreamSource
-                             (new java.net.URL("file:foo.xsl").openStream());
-      // Generate the transformer.
-      javax.xml.transform.Transformer transformer = 
-                             tFactory.newTransformer(xslSource);
-      // Perform the transformation, sending the output to the response.
-      transformer.transform(xmlSource, 
-                           new javax.xml.transform.stream.StreamResult(out));
-    }
-    // If an Exception occurs, return the error to the client.
-    catch (Exception e)
-    {
-      out.write(e.getMessage());
-      e.printStackTrace(out);    
-    }
-    // Close the PrintWriter.
-    out.close();
-  }  
-}</source>
-<p>For a working sample, see <link idref="samples" anchor="simplexsltservlet">SimpleXSLTServlet</link>.</p>
-<p>In the preceding example, the URLs for the XML document and XSL stylesheet are hardcoded in the servlet. You can also create a servlet that parses the request URL for input parameters specifying the XML document, XSL stylesheet, and any relevant stylesheet parameters. For samples, see <link idref="samples"
-anchor="usestylesheetparamservlet">UseStylesheetParamServlet</link> and <link idref="samples" anchor="xsltservletwithparams">XSLTServletWithParams</link>. For a more robust and complex sample that also employs a properties file to determine which stylesheet to use depending on the client browser/device, see <link idref="samples" anchor="applyxslt">ApplyXSLT</link>.</p>
-</s2><anchor name="extensions"/>
-<s2 title="Creating and using extensions">
-<p>For those cases where you want to be able to call procedural code from within a stylesheet, the &xslt4j; Extensions facility supports the creation of extension elements and extension functions. See <link idref="extensions">Extensions</link> and <link idref="samples" anchor="extensions">Extensions samples</link>.</p>
-</s2><anchor name="multithreading"/>
-<s2 title="Multithreading">
-<p>A given Templates object may be used repeatedly and even in multiple threads running concurrently for the transformation of XML input, but you should use the Templates object to instantiate a separate Transformer for each transformation you perform. The Templates object is an immutable runtime representation of the structure and content of a stylesheet (which may include and import multiple stylesheet sources). A Transformer, on the other hand, is a lightweight object that tracks state information during the transformation, and should only be used to perform a single transformation.</p>
-
-<p>If you want to perform multiple transformations (sequentially or concurrently) with the same stylesheet instructions, do the following:</p>
-<ol>
-  <li>Use the TransformerFactory <jump href="apidocs/javax/xml/transform/TransformerFactory.html#newTemplates(javax.xml.transform.Source)">newTemplates(Source xslSource)</jump> method to create a Templates object.<br/><br/></li>
-<li>For each transformation, use the Templates object <jump href="apidocs/javax/xml/transform/Templates.html#newTransformer()">newTransformer()</jump> method to create a Transformer, and use that Transformer's <jump href="apidocs/javax/xml/transform/Transformer.html#transform(javax.xml.transform.Source, javax.xml.transform.Result)">transform(Source xmlSource, Result transformResult)</jump> method to perform the transformation.</li>
-</ol>
-<p>For an example, see Examples.exampleUseTemplatesObj() in the <link idref="samples" anchor="trax">trax sample</link>.</p>
-</s2><anchor name="debugging"/>
-<s2 title="Debugger Interface">
-		<p>&xslt4j; contains a debugger interface in the org.apache.xalan.xslt.trace package:</p> 
-		<ul>
-		  <li><jump href="apidocs/org/apache/xalan/trace/TraceListener.html">TraceListener</jump> is an interface that debuggers 
-		  can implement. Or, like the <link idref="commandline">command-line utility</link>, you can use the <jump
-      href="apidocs/org/apache/xalan/trace/PrintTraceListener.html">PrintTraceListener</jump> implementation of that interface.
-      <br/><br/></li>
-      <li>You can register a TraceListener with the 
-      <jump href="apidocs/org/apache/xalan/trace/TraceManager.html">TraceManager</jump> associated
-      with the Transformer that will perform a given transformation.<br/><br/></li>
-		  <li><jump href="apidocs/org/apache/xalan/trace/TracerEvent.html">TracerEvent</jump> is an event that is 
-		  passed to the TraceListener.trace function. It is called before a node is 'executed' in the stylesheet.<br/><br/></li>
-		  <li><jump href="apidocs/org/apache/xalan/trace/GenerateEvent.html">GenerateEvent</jump> is an event that is 
-		  passed to the TraceListener.generated() function. It is called after an event occurs to create something in the result
-      tree.<br/><br/></li>
-      <li><jump href="apidocs/org/apache/xalan/trace/SdelectionEvent.html">SelectionEvent</jump> is an event triggered by the
-       selection of a stylesheet node.</li>
-		</ul>
-    <p>The <link idref="commandline">command-line utility</link> uses the debugger interface when you include one or more of the
-     following switches: <code>-TT</code>, <code>-TG</code>, <code>-TS</code>, <code>-TTC</code>.</p>
-    <p>Example:</p>
-<source>import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xalan.trace.TraceManager;
-import org.apache.xalan.trace.PrintTraceListener;
-...
-// Set up a PrintTraceListener object to print to a file.
-java.io.FileWriter fw = new java.io.FileWriter("events.log");
-java.io.PrintWriter pw = new java.io.PrintWriter(fw);
-PrintTraceListener ptl = new PrintTraceListener(pw);
-
-// Print information as each node is 'executed' in the stylesheet.
-ptl.m_traceElements = true;
-// Print information after each result-tree generation event.
-ptl.m_traceGeneration = true;
-// Print information after each selection event.
-ptl.m_traceSelection = true;
-// Print information whenever a template is invoked.
-ptl.m_traceTemplates = true;
-
-// Set up the transformation    
-javax.xml.transform.TransformerFactory tFactory = 
-                     javax.xml.trnasform.TransformerFactory.newInstance();
-javax.xml.transform.Transformer transformer = 
-  tFactory.newTransformer(new javax.xml.transform.stream.StreamSource
-                                                             ("foo.xsl"));
-
-// Cast the Transformer object to TransformerImpl.
-if (transformer instanceof TransformerImpl) {
-  TransformerImpl transformerImpl = (TransformerImpl)transformer;
-  
-  // Register the TraceListener with the TraceManager associated 
-  // with the TransformerImpl.
-  TraceManager trMgr = transformerImpl.getTraceManager();
-  trMgr.addTraceListener(ptl);
-  
-  // Perform the transformation --printing information to
-  // the events log during the process.
-  transformer.transform
-      ( new javax.xml.transform.stream.StreamSource("foo.xml"), 
-        new javax.xml.transform.stream.StreamResult
-                                    (new java.io.FileWriter("foo.out")) );
-}
-// Close the PrintWriter and FileWriter.
-pw.close();
-fw.close();</source>
-<p>For a sample application that uses this technique, see <link idref="samples" anchor="trace">Trace</link>.</p>
-</s2><anchor name="compat"/>
-<s2 title="Using the &xslt4j; version 1 API">
-<p>The bin directory includes a compatibility jar, xalanj1compat.jar, that lets you rebuild your Xalan-Java 1.x applications to run with Xalan-Java 2. As a point of reference, this JAR includes the API required to recompile the Xalan-Java 1.x core sample applications (excluding the sample extensions) and run them with Xalan-Java 2. To use this compatibility layer with an existing Xalan-Java 1.x application, do the following:</p>
-<ol>
-<li>Place xalanj1compat.jar on the system classpath in front of the Xalan-Java 2 xalan.jar (both are in the bin directory).<br/><br/></li>
-<li>Recompile your application. It it does not compile, you may be using Xalan-Java 1.x API that the compatibility layer does not support. <br/><br/></li>
-<li>Run the recompiled application with xalanj1compat.jar on the system classpath in front of the Xalan-Java 2 xalan.jar.</li>
-</ol>
-<p>We urge our Xalan-Java 1.x users to start using Xalan-Java 2. That is where we are concentrating our efforts to improve performance and fix any outstanding bugs. To see what portion of the Xalan-Java 1.x API we have included in xalanj1compat.jar, see <resource-ref idref="compatapi"/>. For example, the compatibility layer does not support the use of Xalan-Java 1.x extensions. If you feel that we should extend our compatibility JAR to support additional Xalan-Java 1.x API calls, please let us know exactly what you would like to see.</p>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/whatsnew.xml b/xdocs/sources/xalan/whatsnew.xml
deleted file mode 100644
index 9a4eb46..0000000
--- a/xdocs/sources/xalan/whatsnew.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="What's new in &xslt4j2;">
-
-  <s2 title="New Design">
-  <p>&xslt4j2; represents a fundamental redesign of Xalan. The primary objective of this redesign is an easier-to-use, more understandable, and more modular API that encourages wider participation in its ongoing development by the open-source XML developer community, and that lends itself to "streaming," the production of transformation output while the input is still being parsed.</p>
-<p>&xslt4j2; builds on <resource-ref idref="sax2"/>, <resource-ref idref="dom2"/>, and the <resource-ref idref="jaxp"/>. For example, &xslt4j2; incorporates the SAX parsing event model in its support for the incremental production of transformation output. &xslt4j2; also implements the  standard TrAX API (see below) that enables you to code your XML applications without reference to the internal details of a particular Transformer or XML parser.</p>
-<p>Given the scope of the redesign, the changes with respect to <jump href="http://xml.apache.org/xalan/index.html">&xslt4j; 1.x</jump> are global in nature. For an introduction to the &xslt4j2; usage patterns, see <link idref="usagepatterns">Basic Usage Patterns</link>.</p>
-<p>&xslt4j2; implements the <resource-ref idref="trax"/> interfaces. The product of extensive open-source collaboration by members of the XML developer community, TrAX provides a conceptual framework and a standard API for performing XML transformations. During its evolution, the TrAX API has undergone several revisions. We believe this API has now reached or is very close to final form. In November 2000, TrAX was incorporated into <resource-ref idref="jsr063"/>, the Java API for XML Processing 1.1 , which has been published for public review (see <resource-ref idref="jaxp11"/>). We strongly encourage you to utilize the TrAX framework when you use &xslt4j2; to perform XML transformations.</p>
-<p>The basic organization of TrAX is quite simple: use a TransformerFactory to process transformation instructions and generate a Transformer, with which you can apply the processed transformation instructions to your XML Source, producing a transformation Result. For more detail, see <link idref="usagepatterns" anchor="basic">Basic steps</link>.</p>
-<p>As part of the Java API for XML Processing, TraX provides a stable framework for plugging Transformers (like &xslt4j;) and XML parsers (like &xml4j;) into your applications without tying yourself to the internal details of those implementations. See <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML parser</link>.</p>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalandesign.xml b/xdocs/sources/xalandesign.xml
deleted file mode 100644
index 702da28..0000000
--- a/xdocs/sources/xalandesign.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 2000, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-
-<book title="Xalan 2.0.0 Design" copyright="2000 The Apache Software Foundation">
- 
-  <document id="design2_0_0"
-            label="Xalan-J 2.0.0 Design"
-            source="design/design2_0_0.xml"/>    
-</book>
-  
\ No newline at end of file
diff --git a/xdocs/style/dtd/spec.dtd b/xdocs/style/dtd/spec.dtd
deleted file mode 100644
index 8720289..0000000
--- a/xdocs/style/dtd/spec.dtd
+++ /dev/null
@@ -1,578 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--  MODULE:    spec DTD                                          -->
-<!--  VERSION:   1.0                                               -->
-<!--  DATE:      October 18, 2000                                  -->
-
-
-<!-- ============================================================= -->
-<!--                   ISO STANDARD SPECIAL CHARACTER SETS         -->
-<!-- ============================================================= -->
-<!--
-<!ENTITY % isolat1      PUBLIC
-"ISO 8879-1986//ENTITIES Added Latin 1//EN"
-"entities/ISOlat1.pen"
-                                                                    >
-
-<!ENTITY % isonum       PUBLIC
-"ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN"
-"entities/ISOnum.pen"
-                                                                    >
-
-<!ENTITY % isopub       PUBLIC
-"ISO 8879-1986//ENTITIES Publishing//EN"
-"entities/ISOpub.pen"
-                                                                    >
-
-<!ENTITY % isotech      PUBLIC
-"ISO 8879-1986//ENTITIES General Technical//EN"
-"entities/ISOtech.pen"
-                                                                    >
-
-%isolat1; %isonum; %isopub; %isotech;
--->
-
-<!-- ============================================================= -->
-<!--                    parameter entities for content models      -->
-<!-- ============================================================= -->
-
-
-<!--                    list elements                              -->
-<!ENTITY % lists       "itemizedlist | orderedlist | variablelist"   >
-
-
-<!--                    linespecific elements                      -->
-<!--                    elements where line endings and whitespace
-                        are significant                            -->
-<!ENTITY % linespecific
-                       "literallayout | programlisting"              >
-
-
-<!--                    phrase-level elements                      -->
-<!--                    elements allowed at the same level as text -->
-<!ENTITY % phraselevel "citation | emphasis | inlinegraphic | link | plink |
-                        subscript | superscript | ulink | termref"   >
-
-
-<!--                    paragraph-level elements                   -->
-<!--                    elements (including paragraphs) allowed at
-                        the level of paragraphs                    -->
-<!ENTITY % paralevel   "%linespecific; | %lists; | note | para | issue |
-                        table | figure | graphic"                    >
-
-
-<!-- ============================================================= -->
-<!--                    parameter entities for attributes          -->
-<!-- ============================================================= -->
-
-
-<!--                    common attributes                          -->
-<!ENTITY % common.atts
-             "id         ID                                 #IMPLIED
-              link-url   CDATA                              #IMPLIED" >
-
-<!--                    graphic-related attributes                 -->
-<!ENTITY % graphic.atts
-            "fileref    CDATA                              #IMPLIED
-             alt        CDATA                              #IMPLIED
-             srccredit  CDATA                              #IMPLIED
-             width      NMTOKEN                            #IMPLIED
-             depth      NMTOKEN                            #IMPLIED
-             scale      NMTOKEN                            #IMPLIED
-             scalefit   NMTOKEN                            #IMPLIED" >
-
-<!-- ============================================================= -->
-<!--                    external modules                           -->
-<!-- ============================================================= -->
-
-<!--
-<!ENTITY % table.ent SYSTEM "table.ent"                              >
-%table.ent;
--->
-
-<!-- ============================================================= -->
-<!--                    element definitions                        -->
-<!-- ============================================================= -->
-
-
-<!--                    specification                              -->
-<!ELEMENT  spec         (title, frontmatter, introduction, requirements, model, sect1+,
-                         appendix*, bibliography?)                   >
-
-<!ATTLIST  spec
-            %common.atts;                                            >
-
-<!ELEMENT  frontmatter   (pubdate, copyright, author*, abstract?)    >
-
-<!--                    title                                      -->
-<!ELEMENT  title        (#PCDATA | %phraselevel;)*                   >
-<!ATTLIST  title
-            %common.atts;                                            >
-
-
-<!--                    issue                                      -->
-<!ELEMENT  issue        (#PCDATA | %phraselevel;)*                   >
-<!ATTLIST  issue
-            %common.atts;                                            >
-
-
-<!--                    publication date                           -->
-<!--                    publication date and, possibly, time       -->
-<!ELEMENT  pubdate      (#PCDATA)                                    >
-<!ATTLIST  pubdate
-            %common.atts;                                            >
-
-
-<!--                    copyright statement                        -->
-<!ELEMENT  copyright    (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  copyright
-            %common.atts;                                            >
-
-
-<!--                    author                                     -->
-<!ELEMENT  author       (firstname, surname, jobtitle?, orgname?,
-                         address?)                                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  author
-            %common.atts;                                            >
-
-
-<!--                    abstract                                   -->
-<!ELEMENT  abstract     (para+)                                      >
-<!--         id         unique identifier                          -->
-<!ATTLIST  abstract
-            %common.atts;                                            >
-
-<!ELEMENT  introduction        (title, (((%paralevel;)+, sect2*) | sect2+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  introduction
-            %common.atts;                                            >
-
-<!ELEMENT  requirements        (title, (((%paralevel;)+, sect2*) | sect2+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  requirements
-            %common.atts; >    
-
-<!ELEMENT  model        (title, (((%paralevel;)+, patterns) | sect2+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  model
-            %common.atts;                                            >
-
-<!ELEMENT  patterns        (pattern+) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  patterns
-            %common.atts; 
-			module  CDATA                              #IMPLIED
-            > 
-                        
-<!ELEMENT  pattern        (pattern-name, potential-alternate-name?, intent, responsibilities, thread-safety, notes?) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  pattern
-            %common.atts;  
-                                                      >
-<!ELEMENT  pattern-name        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  pattern-name
-            %common.atts; >
-            
-<!ELEMENT  potential-alternate-name        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  potential-alternate-name
-            %common.atts; >  
-
-<!ELEMENT  intent        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  intent
-            %common.atts; >  
-
-<!ELEMENT  responsibilities        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  responsibilities
-            %common.atts; >  
-
-<!ELEMENT  thread-safety        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  thread-safety
-            %common.atts; >
-
-<!ELEMENT  notes         (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  notes
-            %common.atts;                                            >
-
-<!--         id         unique identifier                          -->
-<!ATTLIST  sect1
-            %common.atts;                                            >
-
-<!--                    section 1                                  -->
-<!ELEMENT  sect1        (title, (((%paralevel;)+, sect2*) | sect2+)) >						   
-<!--                    section 2                                  -->
-<!ELEMENT  sect2        (title, (((%paralevel;)+, sect3*) | sect3+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  sect2
-            %common.atts;                                            >
-
-
-<!--                    section 3                                  -->
-<!ELEMENT  sect3        (title, (((%paralevel;)+, sect4*) | sect4+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  sect3
-            %common.atts;                                            >
-
-
-<!--                    section 4                                  -->
-<!ELEMENT  sect4        (title, (%paralevel;)+)                      >
-<!--         id         unique identifier                          -->
-<!ATTLIST  sect4
-            %common.atts;                                            >
-
-
-<!--                    appendix                                   -->
-<!ELEMENT  appendix     (title, (((%paralevel;)+, sect1*) | sect1+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  appendix
-            %common.atts;                                            >
-
-
-<!--                    bibliography                               -->
-<!ELEMENT  bibliography (title, biblioitem+)                         >
-<!--         id         unique identifier                          -->
-<!ATTLIST  bibliography
-            %common.atts;                                            >
-
-
-<!--                    bibliography item                          -->
-<!ELEMENT  biblioitem   (designator, biblioentry)                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  biblioitem
-            %common.atts;                                            >
-
-
-<!--                    bibliography item designator               -->
-<!--                    designator contains whatever designator the
-                        author uses to identify publications listed in
-                        the bibliography (e.g., [lab 87]).  the
-                        stylesheet generates the square "[]" brackets
-                        fore & aft.                                -->
-<!ELEMENT  designator   (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  designator
-            %common.atts;                                            >
-
-
-<!--                    bibliography entry                         -->
-<!ELEMENT  biblioentry  (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  biblioentry
-            %common.atts;                                            >
-
-
-<!-- ============================================================= -->
-<!--                    author-related elements                    -->
-<!-- ============================================================= -->
-
-
-<!--                    first name                                 -->
-<!ELEMENT  firstname    (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  firstname
-            %common.atts;                                            >
-
-
-<!--                    surname                                    -->
-<!ELEMENT  surname      (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  surname
-            %common.atts;                                            >
-
-
-<!--                    job title                                  -->
-<!ELEMENT  jobtitle     (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  jobtitle
-            %common.atts;                                            >
-
-
-<!--                    organization name                          -->
-<!ELEMENT  orgname      (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  orgname
-            %common.atts;                                            >
-
-
-<!--                    address                                    -->
-<!ELEMENT  address      (street?, pob?, city?, state?, postcode?, 
-                         country?, phone?, fax?, email?)             >
-<!--         id         unique identifier                          -->
-<!ATTLIST  address
-            %common.atts;                                            >
-
-
-<!-- ============================================================= -->
-<!--                    address elements                           -->
-<!-- ============================================================= -->
-
-
-<!--                    street address                             -->
-<!ELEMENT  street       (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  street
-            %common.atts;                                            >
-
-
-<!--                    post office box                            -->
-<!ELEMENT  pob          (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  pob
-            %common.atts;                                            >
-
-
-<!--                    postcode                                   -->
-<!ELEMENT  postcode     (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  postcode
-            %common.atts;                                            >
-
-
-<!--                    city                                       -->
-<!ELEMENT  city         (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  city
-            %common.atts;                                            >
-
-
-<!--                    state                                      -->
-<!ELEMENT  state        (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  state
-            %common.atts;                                            >
-
-
-<!--                    country                                    -->
-<!ELEMENT  country      (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  country
-            %common.atts;                                            >
-
-
-<!--                    phone number                               -->
-<!ELEMENT  phone        (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  phone
-            %common.atts;                                            >
-
-
-<!--                    fax number                                 -->
-<!ELEMENT  fax          (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  fax
-            %common.atts;                                            >
-
-
-<!--                    email address                              -->
-<!ELEMENT  email        (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  email
-            %common.atts;                                            >
-
-
-<!-- ============================================================= -->
-<!--                    paragraph-level elements                   -->
-<!-- ============================================================= -->
-
-
-<!--                    paragraph                                  -->
-<!ELEMENT  para         (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  para
-            %common.atts;                                            >
-
-
-<!--                    note                                       -->
-<!ELEMENT  note         (%paralevel;)+                               >
-<!--         id         unique identifier                          -->
-<!ATTLIST  note
-            %common.atts;                                            >
-
-
-<!--                    itemized list                              -->
-<!ELEMENT  itemizedlist (listitem+)                                  >
-<!--         id         unique identifier                          -->
-<!ATTLIST  itemizedlist
-            %common.atts;                                            >
-
-
-<!--                    ordered list                               -->
-<!ELEMENT  orderedlist  (listitem+)                                  >
-<!--         id         unique identifier                          -->
-<!ATTLIST  orderedlist
-            %common.atts;                                            >
-
-
-<!--                    variable list                              -->
-<!ELEMENT  variablelist (varlistentry+)                              >
-<!--         id         unique identifier                          -->
-<!ATTLIST  variablelist
-            %common.atts;                                            >
-
-
-<!--                    list item                                  -->
-<!ELEMENT  listitem     (#PCDATA | %phraselevel; | %paralevel;)*     >
-<!--         id         unique identifier                          -->
-<!ATTLIST  listitem
-            %common.atts;                                            >
-
-
-<!--                    variable list entry                        -->
-<!ELEMENT  varlistentry (term+, listitem)                            >
-<!--         id         unique identifier                          -->
-<!ATTLIST  varlistentry
-            %common.atts;                                            >
-
-
-<!--                    term                                       -->
-<!ELEMENT  term         (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  term
-            %common.atts;                                            >
-
-<!--                    termref                                       -->
-<!ELEMENT  termref         (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  termref
-            %common.atts;	   >
-
-<!--                    literal layout                             -->
-<!ELEMENT  literallayout
-                        (#PCDATA | %phraselevel;)*                   >
-<!--         xml:space  whitespace handling
-             id         unique identifier                          -->
-<!ATTLIST  literallayout
-            %common.atts;                                            >
-
-
-<!--                    program listing                            -->
-<!ELEMENT  programlisting
-                        (#PCDATA | %phraselevel;)*                   >
-<!--         xml:space  whitespace handling
-             id         unique identifier                          -->
-<!ATTLIST  programlisting
-            %common.atts;                                            >
-
-
-<!--                    figure                                     -->
-<!ELEMENT  figure       (title, graphic)                             >
-<!--         id         unique identifier                          -->
-<!ATTLIST  figure
-            %common.atts;                                            >
-
-
-<!--                    graphic                                    -->
-<!ELEMENT  graphic      EMPTY                                        >
-<!--         align      alignment of graphic image.  values are:
-                          left          left aligned
-                          right         right aligned
-                          center        centered
-             fileref    path to external file
-             alt        alternate text
-             srccredit  source of graphic
-             width      width of area in which to fit graphic
-             depth      depth of area in which to fit graphic
-             scale      percentage scaling factor
-             scalefit   scale to fit width and/or depth
-             id         unique identifier                          -->
-<!ATTLIST  graphic
-             align      (left |right |center)              #IMPLIED
-            %graphic.atts;
-            %common.atts;                                            >
-
-<!--                    inline graphic                             -->
-<!ELEMENT  inlinegraphic
-                        EMPTY                                        >
-<!--         fileref    path to external file
-             alt        alternate text
-             srccredit  source of graphic
-             width      width of area in which to fit graphic
-             depth      depth of area in which to fit graphic
-             scale      percentage scaling factor
-             scalefit   scale to fit width and/or depth
-             id         unique identifier                          -->
-<!ATTLIST  inlinegraphic
-            %graphic.atts;
-            %common.atts;                                            >
-
-<!-- ============================================================= -->
-<!--                    text-level elements                        -->
-<!-- ============================================================= -->
-
-
-<!--                    bibliographic citation                     -->
-<!--                    a <citation> appears in the body of the
-                        article, and it refers through its
-                        "linkend" attribute to the id of the
-                        relevant bibliography item.
-                          the <citation> receives the same
-                        formatting as the <designator> element
-                        within the <biblioitem> being referenced.
-                        for example, when for the bibitem
-                        <biblioitem id="bib1"><designator>lab
-                        87</designator>...</biblioitem> is
-                        formatted as "[lab 87]", the bibliographic
-                        citation <citation linkend="bib1">lab
-                        87</citation> also formats as "[lab 87]".  -->
-<!ELEMENT  citation     (#PCDATA | emphasis | inlinegraphic |
-                         subscript | superscript)*                   >
-<!--         linkend    id of referenced bibliography entry
-             id         unique identifier                          -->
-<!ATTLIST  citation
-             linkend    IDREF                              #REQUIRED
-            %common.atts;                                            >
-
-
-<!--                    emphasis                                   -->
-<!ELEMENT  emphasis     (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  emphasis
-            %common.atts;                                            >
-
-
-<!--                    subscript                                  -->
-<!ELEMENT  subscript    (#PCDATA | emphasis | subscript |
-                         superscript)*                               >
-<!--         id         unique identifier                          -->
-<!ATTLIST  subscript
-            %common.atts;                                            >
-
-
-<!--                    superscript                                -->
-<!ELEMENT  superscript  (#PCDATA | emphasis | subscript |
-                         superscript)*                               >
-<!--         id         unique identifier                          -->
-<!ATTLIST  superscript
-            %common.atts;                                            >
-
-
-<!--                    link                                       -->
-<!ELEMENT  link         (#PCDATA)                                    >
-<!--         linkend    id of referenced element
-             id         unique identifier                          -->
-<!ATTLIST  link
-             linkend    IDREF                              #REQUIRED
-            %common.atts;                                            >
-
-<!--  package link (for {@link org.xml.trax.Processor} type links, for javadocs.                              -->
-<!ELEMENT  plink         (#PCDATA)                                   >
-<!ATTLIST  plink
-            %common.atts;                                            >
-
-<!--                    ulink (external link)                      -->
-<!ELEMENT  ulink        (#PCDATA)                                    >
-<!--         url        uniform resource locator; the target of the
-                        ulink
-             id         unique identifier                          -->
-<!ATTLIST  ulink
-             url        CDATA                              #REQUIRED
-            %common.atts;                                            >
-
-
diff --git a/xdocs/style/dtd/xsl-html40s.dtd b/xdocs/style/dtd/xsl-html40s.dtd
deleted file mode 100644
index a8848bd..0000000
--- a/xdocs/style/dtd/xsl-html40s.dtd
+++ /dev/null
@@ -1,1505 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 
-     XSLT (WD-19990813) DTD and HTML 4.0 Strict (REC-HTML40-19980424) DTD
-     This DTD defines a XSLT stylesheet with a result-ns of html
-
-     Credits:
-       Original XSLT DTD from W3C XSLT WD-19990813
-       Original XML  DTD for HTML 4.0 Strict by
-         TAMURA, Kent <kent@trl.ibm.co.jp>, for IBM's XML4J package
-       Minor fixes to XSLT & HTML DTDs by 
-         Scott Boag <scott_boag@lotus.com>
-         Henrique M. Holschuh <henriqmh@dca.fee.unicamp.br>
-       HTML/XSLT composite DTD by
-         Henrique M. Holschuh <henriqmh@dca.fee.unicamp.br>
-
-     Caveats: It is possible to generate invalid XSLT and HTML documents 
-       using this DTD, as the result-ns elements (HTML) must allow all 
-       possible xsl elements as content, and all result-ns elements had 
-       to be relaxed on their element content rules.
-
-     TODO:
-       - A XSLT/XHTML1.0 Strict DTD to use instead of this one. Lowercase
-         element names allow for better compression ratios, at least in
-         English documents.
-       - Update to HTML 4.01
-
-     $Id$
--->
-
-<!-- Predefined XML (REC-XML-19980210) entities -->
-<!ENTITY lt     "&#38;#60;">
-<!ENTITY gt     "&#62;">
-<!ENTITY amp    "&#38;#38;">
-<!ENTITY apos   "&#39;">
-<!ENTITY quot   "&#34;">
-
-<!-- 
-  Result elements allowed (inside xsl elements). These are actually
-  all of the HTML40 Strict elements. 
--->
-
-<!ENTITY % result-elements "
-  | TT
-  | I
-  | B
-  | BIG
-  | SMALL
-  | EM
-  | STRONG
-  | DFN
-  | CODE
-  | SAMP
-  | KBD
-  | VAR
-  | CITE
-  | ABBR
-  | ACRONYM
-  | SUP
-  | SUB
-  | SPAN
-  | BDO
-  | BR
-  | BODY
-  | ADDRESS
-  | DIV
-  | A
-  | MAP
-  | AREA
-  | LINK
-  | IMG
-  | OBJECT
-  | PARAM
-  | HR
-  | P
-  | H1
-  | H2
-  | H3
-  | H4
-  | H5
-  | H6
-  | PRE
-  | Q
-  | BLOCKQUOTE
-  | INS
-  | DEL
-  | DL
-  | DT
-  | DD
-  | OL
-  | UL
-  | LI
-  | FORM
-  | LABEL
-  | INPUT
-  | SELECT
-  | OPTGROUP
-  | OPTION
-  | TEXTAREA
-  | FIELDSET
-  | LEGEND
-  | BUTTON
-  | TABLE
-  | CAPTION
-  | THEAD
-  | TFOOT
-  | TBODY
-  | COLGROUP
-  | COL
-  | TR
-  | TH
-  | TD
-  | HEAD
-  | TITLE
-  | BASE
-  | META
-  | STYLE
-  | SCRIPT
-  | NOSCRIPT
-  | HTML
-">
-
-<!-- begin XSLT DTD, patched -->
-
-<!ENTITY % char-instructions "
- | xsl:apply-templates
- | xsl:call-template
- | xsl:apply-imports
- | xsl:for-each
- | xsl:value-of
- | xsl:copy-of
- | xsl:number
- | xsl:choose
- | xsl:if
- | xsl:text
- | xsl:copy
- | xsl:variable
- | xsl:message
-">
-
-<!ENTITY % instructions "
- %char-instructions;
- | xsl:processing-instruction
- | xsl:comment
- | xsl:element
- | xsl:attribute
-">
-
-<!ENTITY % char-template "
-(#PCDATA
- %char-instructions;)*
-">
-
-<!ENTITY % template "
-(#PCDATA
- %instructions;
- %result-elements;)*
-">
-
-<!-- Used for the type of an attribute value that is a URI reference.-->
-<!ENTITY % URI "CDATA">
-
-<!-- Used for the type of an attribute value that is a pattern.-->
-<!ENTITY % pattern "CDATA">
-
-<!-- Used for the type of an attribute value that is an
-    attribute value template.-->
-<!ENTITY % avt "CDATA">
-
-<!-- Used for the type of an attribute value that is a QName; the prefix
-    gets expanded by the XSLT processor. -->
-<!ENTITY % qname "NMTOKEN">
-
-<!-- Like qname but a whitespace-separated list of QNames. -->
-<!ENTITY % qnames "NMTOKENS">
-
-<!-- Used for the type of an attribute value that is an expression.-->
-<!ENTITY % expr "CDATA">
-
-<!-- Used for the type of an attribute value that consists
-    of a single character.-->
-<!ENTITY % char "CDATA">
-
-<!-- Used for the type of an attribute value that is a priority. -->
-<!ENTITY % priority "NMTOKEN">
-
-<!ENTITY % space-att "xml:space (default|preserve) #IMPLIED">
-
-<!-- This may be overridden to customize the set of elements allowed
-at the top-level. -->
-
-<!ENTITY % non-xsl-top-level "">
-
-<!ENTITY % top-level "
-(xsl:import*,
- (xsl:include
- | xsl:strip-space
- | xsl:preserve-space
- | xsl:output
- | xsl:key
- | xsl:locale
- | xsl:attribute-set
- | xsl:variable
- | xsl:param
- | xsl:template
- %non-xsl-top-level;)*)
-">
-
-<!-- added xmlns attribute suitable for this DTD -->
-<!ENTITY % top-level-atts '
- extension-element-prefixes CDATA #IMPLIED
- id ID #IMPLIED
- xmlns:xsl CDATA #FIXED "http://www.w3.org/XSL/1999/Transform"
- xmlns CDATA #FIXED "http://www.w3.org/TR/REC-html40"
- %space-att;
-'>
-
-<!-- This entity is defined for use in the ATTLIST declaration
-for result elements. -->
-
-<!ENTITY % result-element-atts '
- xsl:extension-element-prefixes CDATA #IMPLIED
- xsl:use-attribute-sets %qnames; #IMPLIED
-'>
-
-<!ELEMENT xsl:stylesheet %top-level;>
-<!ATTLIST xsl:stylesheet %top-level-atts;>
-
-<!ELEMENT xsl:transform %top-level;>
-<!ATTLIST xsl:transform %top-level-atts;>
-
-<!ELEMENT xsl:import EMPTY>
-<!ATTLIST xsl:import href %URI; #REQUIRED>
-
-<!ELEMENT xsl:include EMPTY>
-<!ATTLIST xsl:include href %URI; #REQUIRED>
-
-<!ELEMENT xsl:strip-space EMPTY>
-<!ATTLIST xsl:strip-space elements CDATA #REQUIRED>
-
-<!ELEMENT xsl:preserve-space EMPTY>
-<!ATTLIST xsl:preserve-space elements CDATA #REQUIRED>
-
-<!ELEMENT xsl:output EMPTY>
-<!ATTLIST xsl:output
- method %qname; #IMPLIED
- version NMTOKEN #IMPLIED
- encoding NMTOKEN #IMPLIED
- xml-declaration (yes|no) #IMPLIED
- standalone (yes|no) #IMPLIED
- doctype-public CDATA #IMPLIED
- doctype-system CDATA #IMPLIED
- cdata-section-elements %qnames; #IMPLIED
- indent (yes|no) #IMPLIED
- media-type CDATA #IMPLIED
->
-
-<!ELEMENT xsl:key EMPTY>
-<!ATTLIST xsl:key
- name %qname; #REQUIRED
- match %pattern; #REQUIRED
- use %expr; #REQUIRED
->
-
-<!ELEMENT xsl:locale EMPTY>
-<!ATTLIST xsl:locale
- name %qname; #IMPLIED
- decimal-separator %char; "."
- grouping-separator %char; ","
- infinity CDATA "&#x221E;"
- minus-sign %char; "-"
- NaN CDATA "&#xFFFD;"
- percent %char; "%"
- per-mille %char; "&#x2030;"
- zero-digit %char; "0"
- digit %char; "#"
- pattern-separator %char; ";"
->
-
-<!ELEMENT xsl:template
-(#PCDATA
- %instructions;
- %result-elements;
- | xsl:param)*
->
-
-<!ATTLIST xsl:template
- match %pattern; #IMPLIED
- name %qname; #IMPLIED
- priority %priority; #IMPLIED
- mode %qname; #IMPLIED
- %space-att;
->
-
-<!ELEMENT xsl:value-of EMPTY>
-<!ATTLIST xsl:value-of
- select %expr; #REQUIRED
- disable-output-escaping (yes|no) "no"
->
-
-<!ELEMENT xsl:copy-of EMPTY>
-<!ATTLIST xsl:copy-of select %expr; #REQUIRED>
-
-<!ELEMENT xsl:number EMPTY>
-<!ATTLIST xsl:number
-  level (single|multiple|any) "single"
-  count %pattern; #IMPLIED
-  from %pattern; #IMPLIED
-  value %expr; #IMPLIED
-  format %avt; '1'
-  lang %avt; #IMPLIED
-  letter-value %avt; #IMPLIED
-  grouping-separator%avt; #IMPLIED
-  grouping-size %avt; #IMPLIED
->
-
-<!ELEMENT xsl:apply-templates (xsl:sort|xsl:with-param)*>
-<!ATTLIST xsl:apply-templates
- select %expr; "node()"
- mode %qname; #IMPLIED
->
-
-<!ELEMENT xsl:apply-imports EMPTY>
-
-<!-- xsl:sort cannot occur after any other elements or
-any non-whitespace character -->
-
-<!ELEMENT xsl:for-each
-(#PCDATA
- %instructions;
- %result-elements;
- | xsl:sort)*
->
-
-<!ATTLIST xsl:for-each
- select %expr; #REQUIRED
- %space-att;
->
-
-<!ELEMENT xsl:sort EMPTY>
-<!ATTLIST xsl:sort
- select %expr; "."
- lang %avt; #IMPLIED
- data-type %avt; "text"
- order %avt; "ascending"
- case-order %avt; #IMPLIED
->
-
-<!ELEMENT xsl:if %template;>
-<!ATTLIST xsl:if
- test %expr; #REQUIRED
- %space-att;
->
-
-<!ELEMENT xsl:choose (xsl:when+, xsl:otherwise?)>
-<!ATTLIST xsl:choose %space-att;>
-
-<!ELEMENT xsl:when %template;>
-<!ATTLIST xsl:when
- test %expr; #REQUIRED
- %space-att;
->
-
-<!ELEMENT xsl:otherwise %template;>
-<!ATTLIST xsl:otherwise %space-att;>
-
-<!ELEMENT xsl:attribute-set (xsl:attribute)*>
-<!ATTLIST xsl:attribute-set
- name %qname; #REQUIRED
- use-attribute-sets %qnames; #IMPLIED
->
-
-<!ELEMENT xsl:call-template (xsl:with-param)*>
-<!ATTLIST xsl:call-template
- name %qname; #REQUIRED
->
-
-<!ELEMENT xsl:with-param %template;>
-<!ATTLIST xsl:with-param
- name %qname; #REQUIRED
- select %expr; #IMPLIED
->
-
-<!ELEMENT xsl:variable %template;>
-<!ATTLIST xsl:variable 
- name %qname; #REQUIRED
- select %expr; #IMPLIED
->
-
-<!ELEMENT xsl:param %template;>
-<!ATTLIST xsl:param 
- name %qname; #REQUIRED
- select %expr; #IMPLIED
->
-
-<!ELEMENT xsl:text (#PCDATA)>
-<!ATTLIST xsl:text
- disable-output-escaping (yes|no) "no"
->
-
-<!ELEMENT xsl:processing-instruction %char-template;>
-<!ATTLIST xsl:processing-instruction 
- name %avt; #REQUIRED
- %space-att;
->
-
-<!ELEMENT xsl:element %template;>
-<!ATTLIST xsl:element 
- name %avt; #REQUIRED
- namespace %avt; #IMPLIED
- use-attribute-sets %qnames; #IMPLIED
- %space-att;
->
-
-<!ELEMENT xsl:attribute %char-template;>
-<!ATTLIST xsl:attribute 
- name %avt; #REQUIRED
- namespace %avt; #IMPLIED
- %space-att;
->
-
-<!ELEMENT xsl:comment %char-template;>
-<!ATTLIST xsl:comment %space-att;>
-
-<!ELEMENT xsl:copy %template;>
-<!ATTLIST xsl:copy
- %space-att;
- use-attribute-sets %qnames; #IMPLIED
->
-
-<!ELEMENT xsl:message %template;>
-<!ATTLIST xsl:message %space-att;>
-
-<!ELEMENT xsl:fallback %template;>
-<!ATTLIST xsl:fallback %space-att;>
-
-
-
-<!-- ######################################################################## -->
-<!--   HTML 4.0 Strict DTD   (revised to allow for xsl content)               -->
-<!--   Original DTD from XML4J package                                        -->
-<!--   Original SGML to XML conversion by TAMURA, Kent for IBM's XML4J        -->
-
-<!-- 
-     Container for all xsl elements allowed inside result-elements elements,
-     i.e.: all xsl elements which are valid where a result-element is valid,
-     and therefore must be valid inside ALL non-empty HTML elements.
-
-     You'll notice this does allow the user to create invalid XSL documents.
-
-  xsl:sort, xsl:param, xsl:param-variable were not inluded because
-  IMHO it is bad practice (and an error?) not to include them before 
-  other siblings, especially result-ns ones.
--->
-
-<!-- While the content should be simply %instructions; we cannot do that
-     due to the first '|' in %instructions -->
-<!ENTITY % xsl-valid-in-resultns "
-  xsl:processing-instruction
-  | xsl:comment
-  | xsl:element
-  | xsl:attribute
-  %char-instructions;
-">
-
-<!-- Also, %result-element-atts; was added to the ATTLIST of all html
-     elments -->
-
-<!-- Revision: 23 1.3 docs/data/HTML40strict.xml.dtd, xml4jdocs, xml4j-jtcsv, xml4j_1_1_9  -->
-
-<!--
-    This is HTML 4.0 Strict DTD, which excludes the presentation 
-    attributes and elements that W3C expects to phase out as 
-    support for style sheets matures. Authors should use the Strict
-    DTD when possible, but may use the Transitional DTD when support
-    for presentation attribute and elements is required.
-    
-    HTML 4.0 includes mechanisms for style sheets, scripting,
-    embedding objects, improved support for right to left and mixed
-    direction text, and enhancements to forms for improved
-    accessibility for people with disabilities.
-
-          Draft: Date: 1998/07/06 17:50:32
-
-          Authors:
-              Dave Raggett <dsr@w3.org>
-              Arnaud Le Hors <lehors@w3.org>
-              Ian Jacobs <ij@w3.org>
-
-    Further information about HTML 4.0 is available at:
-
-        http://www.w3.org/TR/REC-html40
--->
-
-<!--
-    ================================================================
-    Modified for XML 1.0 by:
-	"TAMURA, Kent" <kent@trl.ibm.co.jp>
-
-    o HTMLspecial, HTMLsymbol, HTMLlat1 aren't included in this DTD.
-    o The `lang' attribute was renamed to `xml:lang'.
-
-
-    Typical usage:
-
-    <?xml version="1.0" encoding="..."?>
-    <!DOCTYPE HTML SYSTEM ".../HTML40strict.xml.dtd">
-    <HTML>
-      <HEAD>
-        ...
-        <TITLE>...</TITLE>
-        ...
-      </HEAD>
-      <BODY>
-        ...
-      </BODY>
-    </HTML>
-
-    Note: XML is case-sensitive.  So element names must be written
-    in uppercase and attribute names must be written in lowercase.
-    ================================================================
--->
-
-<!--
-    Typical usage:
-
-    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
-            "http://www.w3.org/TR/REC-html40/strict.dtd">
-    <html>
-    <head>
-    ...
-    </head>
-    <body>
-    ...
-    </body>
-    </html>
-
-    The URI used as a system identifier with the public identifier allows
-    the user agent to download the DTD and entity sets as needed.
-
-    The FPI for the Transitional HTML 4.0 DTD is:
-
-        "-//W3C//DTD HTML 4.0 Transitional//EN"
-
-    and its URI is:
-
-        http://www.w3.org/TR/REC-html40/loose.dtd
-
-    If you are writing a document that includes frames, use 
-    the following FPI:
-
-        "-//W3C//DTD HTML 4.0 Frameset//EN"
-
-    with the URI:
-
-        http://www.w3.org/TR/REC-html40/frameset.dtd
-
-    The following URIs are supported in relation to HTML 4.0
-
-    "http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD)
-    "http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD)
-    "http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD)
-    "http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities)
-    "http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities)
-    "http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities)
-
-    These URIs point to the latest version of each file. To reference
-    this specific revision use the following URIs:
-
-    "http://www.w3.org/TR/REC-html40-971218/strict.dtd"
-    "http://www.w3.org/TR/REC-html40-971218/loose.dtd"
-    "http://www.w3.org/TR/REC-html40-971218/frameset.dtd"
-    "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"
-    "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"
-    "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"
-
--->
-
-<!--=== for XML ===-->
-<!ENTITY % Number "CDATA">
-<!ENTITY % Name "NMTOKEN">
-
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA"
-> <!-- media type, as per [RFC2045]
-    -->
-
-<!ENTITY % ContentTypes "CDATA"
-> <!-- comma-separated list of media types, as per [RFC2045]
-    -->
-
-<!ENTITY % Charset "CDATA"
-> <!-- a character encoding, as per [RFC2045]
-    -->
-
-<!ENTITY % Charsets "CDATA"
-> <!-- a space separated list of character encodings, as per [RFC2045]
-    -->
-
-<!ENTITY % LanguageCode "NMTOKEN"
-> <!-- a language code, as per [RFC1766]
-    -->
-
-<!ENTITY % Character "CDATA"
-> <!-- a single character from [ISO10646] 
-    -->
-
-<!ENTITY % LinkTypes "CDATA"
-> <!-- space-separated list of link types
-    -->
-
-<!ENTITY % MediaDesc "CDATA"
-> <!-- single or comma-separated list of media descriptors
-    -->
-
-<!-- Defined elsewhere in this DTD
-<!ENTITY % URI "CDATA"
-> <! a Uniform Resource Identifier,
-       see [URI]
-    -->
-
-<!ENTITY % Datetime "CDATA"><!-- date and time information. ISO date format -->
-
-
-<!ENTITY % Script "CDATA"><!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA"><!-- style sheet data -->
-
-
-
-<!ENTITY % Text "CDATA">
-
-
-<!-- Parameter Entities -->
-
-<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT"><!-- repeatable head elements -->
-<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
-<!ENTITY % list "UL | OL">
-<!ENTITY % preformatted "PRE">
-
-
-<!--================ Character mnemonic entities =========================-->
-
-<!--ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin1//EN//HTML"
-   "HTMLlat1.ent"-->
-<!--   "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"-->
-<!--%HTMLlat1;-->
-
-<!--ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols//EN//HTML"
-   "HTMLsymbol.ent"-->
-<!--   "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"-->
-<!--%HTMLsymbol;-->
-
-<!--ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special//EN//HTML"
-   "HTMLspecial.ent"-->
-<!--   "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"-->
-<!--%HTMLspecial;-->
-
-<!-- We define these elsewhere in this mixed DTD
-<!ENTITY quot "&#34;">
-<!ENTITY amp  "&#38;">
-<!ENTITY lt   "&#60;">
-<!ENTITY gt   "&#62;">
--->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  %result-element-atts;"
->
-
-<!ENTITY % i18n
- "xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- Reserved Feature Switch -->
-<!ENTITY % HTML.Reserved "IGNORE">
-
-<!-- The following attributes are reserved for possible future use -->
-<![ %HTML.Reserved; [
-<!ENTITY % reserved
- "datasrc     %URI;          #IMPLIED
-  datafld     CDATA          #IMPLIED
-  dataformatas (plaintext|html) plaintext"
-  >
-]]>
-
-<!ENTITY % reserved "">
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-
-<!--=================== Text Markup ======================================-->
-
-<!ENTITY % fontstyle
- "TT | I | B | BIG | SMALL">
-
-<!ENTITY % phrase "EM | STRONG | DFN | CODE |
-                   SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
-
-<!ENTITY % special
-   "A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
-<!ENTITY % special-A
-   "IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
-
-<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
-
-<!-- %inline; covers inline or "text-level" elements -->
-<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
-<!ENTITY % inline-A "#PCDATA | %fontstyle; | %phrase; | %special-A; | %formctrl;">
-<!ENTITY % inline-LABEL "#PCDATA | %fontstyle; | %phrase; | %special; | INPUT | SELECT | TEXTAREA | BUTTON">
-
-<!--
-<!ELEMENT (%fontstyle;|%phrase;)     (%inline;)*>
-<!ATTLIST (%fontstyle;|%phrase;)
-  %attrs;
-  >-->
-<!ELEMENT TT (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST TT %attrs;>
-<!ELEMENT I (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST I %attrs;>
-<!ELEMENT B (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST B %attrs;>
-<!ELEMENT BIG (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST BIG %attrs;>
-<!ELEMENT SMALL (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST SMALL %attrs;>
-<!ELEMENT EM (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST EM %attrs;>
-<!ELEMENT STRONG (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST STRONG %attrs;>
-<!ELEMENT DFN (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST DFN %attrs;>
-<!ELEMENT CODE (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST CODE %attrs;>
-<!ELEMENT SAMP (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST SAMP %attrs;>
-<!ELEMENT KBD (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST KBD %attrs;>
-<!ELEMENT VAR (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST VAR %attrs;>
-<!ELEMENT CITE (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST CITE %attrs;>
-<!ELEMENT ABBR (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST ABBR %attrs;>
-<!ELEMENT ACRONYM (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST ACRONYM %attrs;>
-
-
-<!ELEMENT SUP (%inline; | %xsl-valid-in-resultns;)*><!-- subscript, superscript -->
-<!ATTLIST SUP
-  %attrs;
-  >
-<!ELEMENT SUB (%inline; | %xsl-valid-in-resultns;)*><!-- subscript, superscript -->
-<!ATTLIST SUB
-  %attrs;
-  >
-
-<!ELEMENT SPAN (%inline; | %xsl-valid-in-resultns;)*><!-- generic language/style container -->
-<!ATTLIST SPAN
-  %attrs;
-  %reserved;			
-  >
-
-<!ELEMENT BDO (%inline; | %xsl-valid-in-resultns;)*><!-- I18N BiDi over-ride -->
-<!ATTLIST BDO
-  %coreattrs;
-  lang        %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-
-<!ELEMENT BR     EMPTY><!-- forced line break -->
-<!ATTLIST BR
-  %coreattrs;
-  >
-
-<!--================== HTML content models ===============================-->
-
-<!--
-    HTML has two basic content models:
-
-        %inline;     character level elements and text strings
-        %block;      block-like elements e.g. paragraphs and lists
--->
-
-<!ENTITY % block
-     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
-      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
-<!ENTITY % block-FORM
-     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
-      BLOCKQUOTE | HR | TABLE | FIELDSET | ADDRESS">
-<!ENTITY % block-FORM-FIELDSET
-     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
-      BLOCKQUOTE | HR | TABLE | ADDRESS">
-
-<!--<!ENTITY % flow "%block; | %inline;">-->
-<!ENTITY % flow "%inline; | %block;">
-
-<!--=================== Document Body ====================================-->
-
-<!--ELEMENT BODY     (%block;|SCRIPT)+ +(INS|DEL)  document body -->
-<!ELEMENT BODY ((INS|DEL)*, (%xsl-valid-in-resultns;|%block;|SCRIPT), (INS|DEL)*)+ ><!-- document body -->
-<!ATTLIST BODY
-  %attrs;
-  onload          %Script;   #IMPLIED
-  onunload        %Script;   #IMPLIED
-  >
-
-<!ELEMENT ADDRESS (%inline; | %xsl-valid-in-resultns;)*><!-- information on author -->
-<!ATTLIST ADDRESS
-  %attrs;
-  >
-
-<!ELEMENT DIV (%flow; | %xsl-valid-in-resultns;)*><!-- generic language/style container -->
-<!ATTLIST DIV
-  %attrs;
-  %reserved;
-  >
-
-
-<!--================== The Anchor Element ================================-->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-<!ENTITY % Coords "CDATA"><!-- comma separated list of lengths -->
-
-<!ELEMENT A (%inline-A; | %xsl-valid-in-resultns;)*><!-- anchor -->
-<!ATTLIST A
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        CDATA          #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT MAP  ((%xsl-valid-in-resultns;|%block;)+ | (%xsl-valid-in-resultns;|AREA+))><!-- client-side image map -->
-<!ATTLIST MAP
-  %attrs;
-  name        CDATA          #REQUIRED
-  >
-
-<!ELEMENT AREA     EMPTY><!-- client-side image map area -->
-<!ATTLIST AREA
-  %attrs;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!--================== The LINK Element ==================================-->
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the LINK element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel=stylesheet)
-   c) to make a link to a script (rel=script)
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a postscript or pdf version (rel=alternate media=print)
--->
-
-<!ELEMENT LINK     EMPTY><!-- a media-independent link -->
-<!ATTLIST LINK
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!-- Length defined in strict DTD for cellpadding/cellspacing -->
-<!ENTITY % Length "CDATA"><!-- nn for pixels or nn% for percentage length -->
-<!ENTITY % MultiLength "CDATA"><!-- pixel, percentage, or relative -->
-
-<!ENTITY % MultiLengths "CDATA"><!-- comma-separated list of MultiLength -->
-
-<!ENTITY % Pixels "CDATA"><!-- integer representing length in pixels -->
-
-
-<!-- To avoid problems with text-only UAs as well as 
-   to make image content understandable and navigable 
-   to users of non-visual UAs, you need to provide
-   a description with ALT, and avoid server-side image maps -->
-<!ELEMENT IMG     EMPTY><!-- Embedded image -->
-<!ATTLIST IMG
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  >
-
-<!-- USEMAP points to a MAP element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--==================== OBJECT ======================================-->
-<!--
-  OBJECT is used to embed objects as part of HTML pages 
-  PARAM elements should precede other content. SGML mixed content
-  model technicality precludes specifying this formally ...
--->
-
-<!ELEMENT OBJECT (%flow; | %xsl-valid-in-resultns; | PARAM)*
-><!-- generic embedded object -->
-<!ATTLIST OBJECT
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %URI;          #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        CDATA          #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  %reserved;
-  >
-
-<!ELEMENT PARAM     EMPTY><!-- named property value -->
-<!ATTLIST PARAM
-  id          ID             #IMPLIED
-  name        CDATA          #REQUIRED
-  value       CDATA          #IMPLIED
-  valuetype   (DATA|REF|OBJECT) "DATA"
-  type        %ContentType;  #IMPLIED
-  >
-
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT HR     EMPTY><!-- horizontal rule -->
-<!ATTLIST HR
-  %coreattrs;
-  %events;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT P (%inline; | %xsl-valid-in-resultns;)*><!-- paragraph -->
-<!ATTLIST P
-  %attrs;
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from H1 (the most important)
-  to H6 (the least important).
--->
-
-<!--
-<!ELEMENT (%heading;)      (%inline;)*>
-<!ATTLIST (%heading;)
-  %attrs;
-  >-->
-<!ELEMENT H1 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H1 %attrs;>
-<!ELEMENT H2 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H2 %attrs;>
-<!ELEMENT H3 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H3 %attrs;>
-<!ELEMENT H4 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H4 %attrs;>
-<!ELEMENT H5 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H5 %attrs;>
-<!ELEMENT H6 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H6 %attrs;>
-
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- excludes markup for images and changes in font size -->
-<!--
-<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
-
-<!ELEMENT PRE  (%inline;)* -(%pre.exclusion;)><! preformatted text -->
-
-<!ELEMENT PRE (#PCDATA |%xsl-valid-in-resultns;| TT|I|B|%phrase;|A|BR|SCRIPT|MAP|Q|SPAN|BDO|%formctrl;)*>
-			<!-- preformatted text -->
-<!ATTLIST PRE
-  %attrs;>
-<!-- Should the attribute below be incuded in PRE?
-  xml:space (default|preserve) #FIXED "preserve"
--->
-
-<!--===================== Inline Quotes ==================================-->
-
-<!ELEMENT Q  (%inline; | %xsl-valid-in-resultns;)*><!-- short inline quotation -->
-<!ATTLIST Q
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT BLOCKQUOTE  (%block;|%xsl-valid-in-resultns;|SCRIPT)+><!-- long quotation -->
-<!ATTLIST BLOCKQUOTE
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-
-<!-- INS/DEL are handled by inclusion on BODY -->
-<!ELEMENT INS (%flow;|%xsl-valid-in-resultns;)*><!-- inserted text, deleted text -->
-<!ATTLIST INS
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-<!ELEMENT DEL (%flow;|%xsl-valid-in-resultns;)*><!-- inserted text, deleted text -->
-<!ATTLIST DEL
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--=================== Lists ============================================-->
-
-<!-- definition lists - DT for term, DD for its definition -->
-
-<!ELEMENT DL  (%xsl-valid-in-resultns;| DT|DD)+><!-- definition list -->
-<!ATTLIST DL
-  %attrs;
-  >
-
-<!ELEMENT DT (%inline; | %xsl-valid-in-resultns;)*><!-- definition term -->
-<!ELEMENT DD (%flow; | %xsl-valid-in-resultns;)*><!-- definition description -->
-<!ATTLIST DT
-  %attrs;
-  >
-<!ATTLIST DD
-  %attrs;
-  >
-
-
-<!ELEMENT OL (%xsl-valid-in-resultns; | LI)+><!-- ordered list -->
-<!ATTLIST OL
-  %attrs;
-  >
-
-<!-- Unordered Lists (UL) bullet styles -->
-<!ELEMENT UL (%xsl-valid-in-resultns; | LI)+><!-- unordered list -->
-<!ATTLIST UL
-  %attrs;
-  >
-
-
-
-<!ELEMENT LI (%flow; | %xsl-valid-in-resultns;)*><!-- list item -->
-<!ATTLIST LI
-  %attrs;
-  >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT FORM (%xsl-valid-in-resultns;|%block-FORM;|SCRIPT)+>
-
-<!-- interactive form -->
-<!ATTLIST FORM
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (GET|POST)     "GET"
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  >
-
-<!-- Each label must not contain more than ONE field -->
-<!ELEMENT LABEL  (%inline-LABEL; | %xsl-valid-in-resultns;)*><!-- form field label text -->
-<!ATTLIST LABEL
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(TEXT | PASSWORD | CHECKBOX |
-    RADIO | SUBMIT | RESET |
-    FILE | HIDDEN | IMAGE | BUTTON)"
-   >
-
-<!-- attribute name required for all but submit & reset -->
-<!ELEMENT INPUT     EMPTY><!-- form control -->
-<!ATTLIST INPUT
-  %attrs;
-  type        %InputType;    "TEXT"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  %reserved;
-  >
-
-<!ELEMENT SELECT ((%xsl-valid-in-resultns;|OPTGROUP)|(%xsl-valid-in-resultns;|OPTION))+ ><!-- option selector -->
-<!ATTLIST SELECT
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  %reserved;
-  >
-
-<!ELEMENT OPTGROUP (%xsl-valid-in-resultns;|OPTION)+>  <!-- option group -->
-<!ATTLIST OPTGROUP
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT OPTION  (#PCDATA | %xsl-valid-in-resultns;)*><!-- selectable choice -->
-<!ATTLIST OPTION
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT TEXTAREA (#PCDATA | %xsl-valid-in-resultns;)*><!-- multi-line text field -->
-<!ATTLIST TEXTAREA
-  %attrs;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  %reserved;
-  >
-
-<!--
-  #PCDATA is to solve the mixed content problem,
-  per specification only whitespace is allowed there!
-
-  We do allow XSL inside as well
- -->
-<!--ELEMENT FIELDSET     (#PCDATA,LEGEND,(%flow;)*)    form control group -->
-<!ELEMENT FIELDSET  (%flow;|%xsl-valid-in-resultns;|LEGEND)*><!-- form control group -->
-<!ATTLIST FIELDSET
-  %attrs;
-  >
-
-<!ELEMENT LEGEND (%inline;|%xsl-valid-in-resultns;)*><!-- fieldset legend -->
-<!ENTITY % LAlign "(top|bottom|left|right)">
-
-<!ATTLIST LEGEND
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  >
-
-<!ELEMENT BUTTON
-     (#PCDATA | %xsl-valid-in-resultns; | %fontstyle; | %phrase; | %special-A; | %block;)*
-><!-- push button -->
-<!ATTLIST BUTTON
-  %attrs;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  %reserved;
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The BORDER attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The FRAME attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the VALIGN attribute.
-
- The value "border" is included for backwards compatibility with
- <TABLE BORDER> which yields frame=border and border=implied
- For <TABLE BORDER=1> you get border=1 and frame=implied. In this
- case, it is appropriate to treat this as frame=border for backwards
- compatibility with deployed browsers.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The RULES attribute defines which rules to draw between cells:
-
- If RULES is absent then assume:
-     "none" if BORDER is absent or BORDER=0 otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal placement of table relative to document -->
-<!ENTITY % TAlign "(left|center|right)">
-
-<!-- horizontal alignment attributes for cell contents -->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT TABLE 
-  ((%xsl-valid-in-resultns;)*, CAPTION?, (%xsl-valid-in-resultns;)*,
-   ((COL | %xsl-valid-in-resultns;)*|(COLGROUP | %xsl-valid-in-resultns;)*),
-   ((THEAD?,(%xsl-valid-in-resultns;)*,TFOOT?,(%xsl-valid-in-resultns;|TBODY)+)
-    | (%xsl-valid-in-resultns;|TR)+) )>
-
-<!ELEMENT CAPTION   (%inline; | %xsl-valid-in-resultns;)*><!-- table caption -->
-<!ELEMENT THEAD     (TR|%xsl-valid-in-resultns;)+><!-- table header -->
-<!ELEMENT TFOOT     (TR|%xsl-valid-in-resultns;)+><!-- table footer -->
-<!ELEMENT TBODY     (TR|%xsl-valid-in-resultns;)+><!-- table body -->
-<!ELEMENT COLGROUP  (%xsl-valid-in-resultns; | COL)*><!-- table column group -->
-<!ELEMENT COL       EMPTY><!-- table column -->
-<!ELEMENT TR        (TH|TD| %xsl-valid-in-resultns;)+><!-- table row -->
-<!ELEMENT TH        (%flow; | %xsl-valid-in-resultns;)*><!-- table header cell, table data cell-->
-<!ELEMENT TD        (%flow; | %xsl-valid-in-resultns;)*><!-- table header cell, table data cell-->
-
-<!ATTLIST TABLE
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  %reserved;
-  datapagesize CDATA         #IMPLIED
-  >
-
-<!ENTITY % CAlign "(top|bottom|left|right)">
-
-<!ATTLIST CAPTION
-  %attrs;
-  >
-
-<!--
-COLGROUP groups a set of COL elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST COLGROUP
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- COL elements define the alignment properties for cells in
- one or more columns.
-
- The WIDTH attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The SPAN attribute causes the attributes of one
- COL element to apply to more than one column.
--->
-<!ATTLIST COL
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use THEAD to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    TBODY sections are rendered in scrolling panel.
-
-    Use TFOOT to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    TBODY sections are rendered in scrolling panel.
-
-    Use multiple TBODY sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST THEAD
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-<!ATTLIST TBODY
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-<!ATTLIST TFOOT
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST TR
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-
-<!-- Scope is simpler than axes attribute for common tables -->
-<!ENTITY % Scope "(ROW|COL|ROWGROUP|COLGROUP)">
-
-<!-- TH is for headers, TD for data, but for cells acting as both use TD -->
-<!ATTLIST TH
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-<!ATTLIST TD
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-
-
-<!--================ Document Head =======================================-->
-<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT",
-     extended now to allow xsl -->
-<!ENTITY % head.misc-HEAD "%head.misc;|%xsl-valid-in-resultns;">
-
-<!ENTITY % head.content "TITLE &amp; BASE?">
-
-<!--ELEMENT HEAD     (%head.content;) +(%head.misc;)   document head -->
-<!ELEMENT HEAD
-   ((%head.misc-HEAD;)*, ((BASE?,(%head.misc-HEAD;)*,TITLE?) | (TITLE?,(%head.misc-HEAD;)*,BASE?)|(%head.misc-HEAD;)*)+, (%head.misc-HEAD;)*)>
-<!ATTLIST HEAD
-  %i18n;
-  profile     %URI;          #IMPLIED
-  %result-element-atts;
-  >
-
-<!-- The TITLE element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!--ELEMENT TITLE     (#PCDATA) -(%head.misc;)  document title -->
-<!ELEMENT TITLE  (#PCDATA |  %xsl-valid-in-resultns;)*><!-- document title -->
-<!ATTLIST TITLE %i18n; %result-element-atts;>
-
-
-<!ELEMENT BASE     EMPTY><!-- document base URI -->
-<!ATTLIST BASE
-  href        %URI;          #REQUIRED
-  >
-
-<!ELEMENT META     EMPTY><!-- generic metainformation -->
-<!ATTLIST META
-  %i18n;
-  http-equiv  %Name;         #IMPLIED
-  name        %Name;         #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  %result-element-atts;
-  >
-
-<!--ELEMENT STYLE     %StyleSheet;  style info -->
-<!ELEMENT STYLE (#PCDATA | %xsl-valid-in-resultns;)*><!-- style info -->
-<!ATTLIST STYLE
-  %i18n;
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  %result-element-atts;
-  >
-
-<!--ELEMENT SCRIPT     %Script; script statements -->
-<!ELEMENT SCRIPT (#PCDATA | %xsl-valid-in-resultns;)*><!-- script statements -->
-<!ATTLIST SCRIPT
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  language    CDATA          #IMPLIED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  event       CDATA          #IMPLIED
-  for         %URI;          #IMPLIED
-  %result-element-atts;
-  >
-
-<!ELEMENT NOSCRIPT (%xsl-valid-in-resultns;|%block;)+
-><!-- alternate content container for non script-based rendering -->
-<!ATTLIST NOSCRIPT
-  %attrs;
-  >
-
-<!--================ Document Structure ==================================-->
-<!ENTITY % html.content "HEAD, BODY">
-
-<!--<!ELEMENT HTML     (%html.content;)> --><!-- document root element -->
-<!ELEMENT HTML (((%xsl-valid-in-resultns;)*,HEAD?,(%xsl-valid-in-resultns;)*,BODY?,
-                (%xsl-valid-in-resultns;)*) | (%xsl-valid-in-resultns;)*)>
-<!-- document root element -->
-<!ATTLIST HTML
-  %i18n;
-  %result-element-atts;
-  >
diff --git a/xdocs/style/loaderdesign.xml b/xdocs/style/loaderdesign.xml
deleted file mode 100644
index 975055b..0000000
--- a/xdocs/style/loaderdesign.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-
-<loader>
-  <processor name="xslt">
-    <parameter name="stylesheet" value="sbk:/style/stylesheets/design2project.xsl"/>
-  </processor>
-</loader>
diff --git a/xdocs/style/stylesheets/design2project.xsl b/xdocs/style/stylesheets/design2project.xsl
deleted file mode 100644
index 8d23940..0000000
--- a/xdocs/style/stylesheets/design2project.xsl
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-  <xsl:template match="/">
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <!-- match the root book element -->
-  <xsl:template match="book">
-    <project>
-      <parameter name="copyright" value="{@copyright}"/>
-      <xsl:apply-templates/>
-    </project>
-  </xsl:template>
-
- <xsl:template match="document">
-
-    <process source="{@source}" producer="parser">
-      <processor name="xslt">
-        <parameter name="stylesheet" value="sbk:/style/stylesheets/any2project.xsl"/>
-      </processor>
-    </process>
-
-    <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
-      <processor name="xslt">
-        <parameter name="id" value="{@id}"/>
-        <parameter name="stylesheet" value="sbk:/style/stylesheets/designdoc2html.xsl"/>
-      </processor>
-    </create>
-  </xsl:template>
-  
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/xdocs/style/stylesheets/designdoc2html.xsl b/xdocs/style/stylesheets/designdoc2html.xsl
deleted file mode 100644
index 4663e41..0000000
--- a/xdocs/style/stylesheets/designdoc2html.xsl
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-  <xsl:param name="stylebook.project"/>
-  <xsl:param name="copyright"/>
-  <xsl:param name="id"/>
-
-  <xsl:template match="/">
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="s1">
-    <html>
-      <head>
-        <title><xsl:value-of select="@title"/></title>
-      </head>
-      <body text="#000000" link="#0000ff" vlink="#0000aa" alink="#ff0000"
-            topmargin="4" leftmargin="4" marginwidth="4" marginheight="4"
-            bgcolor="#ffffff">
-         <xsl:variable name="topimage" select="string(./p/img/@src)"/>
-         <h1><a href="http://xml.apache.org"><img src="images/{$topimage}"/></a>&#160;&#160;
-         <xsl:value-of select="@title"/></h1><hr/>
-             <xsl:apply-templates/>
-         <hr/>
-            <font size="-1" color="#0086b2"><i>
-              Copyright &#169; <xsl:value-of select="$copyright"/>
-            </i></font>
-      </body>
-    </html>
-  </xsl:template>
-
-  <xsl:template match="s2">
-      
-      <h2><xsl:value-of select="@title"/></h2>
-      <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="s3">
-      <h3><xsl:value-of select="@title"/></h3>
-      <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="s4">
-      <h4><xsl:value-of select="@title"/></h4>
-      <xsl:apply-templates/>
-  </xsl:template>
-
-<!-- ###################################################################### -->
-<!-- blocks -->
-
-  <xsl:template match="p">
-    <p><xsl:apply-templates/></p>
-  </xsl:template>
-
-  <xsl:template match="note">
-    <table width="100%" cellspacing="3" cellpadding="0" border="0">
-      <tr>
-        <td width="20" valign="top">
-          <img src="resources/note.gif" width="20" height="24" vspace="0" hspace="0" border="0" alt="Note"/>
-        </td>
-        <td valign="top">
-          <font size="-1" face="arial,helvetica,sanserif" color="#000000">
-            <i>
-              <xsl:apply-templates/>
-            </i>
-          </font>
-        </td>
-      </tr>  
-    </table>
-  </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>
-  
-    <!--Definition lists: gloss, term, label, item -->
-  <xsl:template match="gloss">
-    <dl><xsl:apply-templates/></dl>
-  </xsl:template>
-   <!-- <term> contains a single-word, multi-word or symbolic 
-       designation which is regarded as a technical term. --> 
-  <xsl:template match="term">
-    <dfn><xsl:apply-templates/></dfn>
-  </xsl:template>
-  <xsl:template match="label" priority="1">
-    <dt><xsl:apply-templates/></dt>
-  </xsl:template>
-  <xsl:template match="item" priority="2">
-    <dd>
-      <xsl:apply-templates/>
-    </dd>
-  </xsl:template>
-
-  <xsl:template match="source">
-    <p><font size="-1"><pre><xsl:apply-templates/></pre></font></p>
-  </xsl:template>
-
-  <xsl:template match="table">
-    <table width="100%" border="0" cellspacing="2" cellpadding="2">
-      <xsl:apply-templates/>
-    </table>
-  </xsl:template>
-
-  <xsl:template match="tr">
-    <tr><xsl:apply-templates/></tr>
-  </xsl:template>
-
-  <xsl:template match="th">
-    <td bgcolor="#039acc" colspan="{@colspan}" rowspan="{@rowspan}" valign="center" align="center">
-      <font color="#ffffff" size="-1" face="arial,helvetica,sanserif">
-        <b><xsl:apply-templates/></b>&#160;
-      </font>
-    </td>
-  </xsl:template>
-
-  <xsl:template match="td">
-    <td bgcolor="#a0ddf0" colspan="{@colspan}" rowspan="{@rowspan}" valign="top" align="left">
-      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
-        <xsl:apply-templates/>&#160;
-      </font>
-    </td>
-  </xsl:template>
-
-  <xsl:template match="tn">
-    <td bgcolor="#ffffff" colspan="{@colspan}" rowspan="{@rowspan}">
-      &#160;
-    </td>
-  </xsl:template>
-
-<!-- ###################################################################### -->
-<!-- markup -->
-
-  <xsl:template match="em">
-    <b><xsl:apply-templates/></b>
-  </xsl:template>
-
-  <xsl:template match="ref">
-    <i><xsl:apply-templates/></i>
-  </xsl:template>
-  
-  <xsl:template match="code">
-    <code><font face="courier, monospaced"><xsl:apply-templates/></font></code>
-  </xsl:template>
-  
-  <xsl:template match="br">
-    <br/>
-  </xsl:template>
-  
-<!-- ###################################################################### -->
-<!-- links -->
-
-  <xsl:template match="link">
-    <xsl:if test="string-length(@anchor)=0">
-      <xsl:if test="string-length(@idref)=0">
-        <!--xsl:apply-templates/-->
-      </xsl:if>
-      <xsl:if test="string-length(@idref)>0">
-        <a href="{@idref}.html"><xsl:apply-templates/></a>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="string-length(@anchor)>0">
-      <xsl:if test="string-length(@idref)=0">
-        <a href="#{@anchor}"><xsl:apply-templates/></a>
-      </xsl:if>
-      <xsl:if test="string-length(@idref)>0">
-        <a href="{@idref}.html#{@anchor}"><xsl:apply-templates/></a>
-      </xsl:if>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template match="anchor">
-    <a name="{@name}"><xsl:comment>anchor</xsl:comment></a>
-  </xsl:template>
-
-  <xsl:template match="jump">
-    <a href="{@href}"><xsl:apply-templates/></a>
-  </xsl:template>
-
-  <xsl:template match="/s1/s2//img">
-    <img src="images/{@src}"/>
-  </xsl:template>
-
-  <xsl:template match="resource-ref">
-    <xsl:variable name="resourceFile" 
-          select="document($stylebook.project)/book/resources/@source"/>
-    <xsl:variable name="xref" select="@idref"/>
-    <xsl:variable name="href"
-          select="document($resourceFile)/resources/resource[@id=$xref]/@location"/>
-    <xsl:variable name="label"
-          select="document($resourceFile)/resources/resource[@id=$xref]/@title"/>
-    <A href="{$href}" target="_top"><xsl:value-of select="$label"/></A>
-  </xsl:template>
-
-  <xsl:template match="human-resource-ref">
-    <xsl:variable name="resourceFile" 
-          select="document($stylebook.project)/book/resources/@source"/>  
-    <xsl:variable name="ref"  select="@idref"/>
-    <xsl:variable name="mailto"
-          select="document($resourceFile)/resources/human-resource[@id=$ref]/@mailto"/>
-   <xsl:variable name="name"
-          select="document($resourceFile)/resources/human-resource[@id=$ref]/@name"/>                          
-    <A href="mailto:{$mailto}"><xsl:value-of select="$name"/></A>
-  </xsl:template>
-
-<!-- ###################################################################### -->
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/xdocs/style/stylesheets/done.xsl b/xdocs/style/stylesheets/done.xsl
deleted file mode 100644
index 8288ed8..0000000
--- a/xdocs/style/stylesheets/done.xsl
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<!DOCTYPE xsl:stylesheet>
-
-<!-- XSL Style sheet, DTD omitted -->
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:output method="xml"/>
-  
-  <xsl:template match="Commits">
-  <xsl:comment>This XML fragment contains a list of source code updates to place in an &lt;s3&gt; section of readme.xml</xsl:comment>
-    <xsl:if test="count(Commit[@category='core'])>0">
-      <p>Core source code updates:</p>
-      <ul>
-      <xsl:for-each select="Commit[@category='core']">
-        <li><xsl:apply-templates select="Who|DateCommitted|Modified|Added|Removed|Log"/></li>
-      </xsl:for-each>
-      </ul>
-    </xsl:if>
-    <xsl:if test="count(Commit[@category='core'])=0">
-      <note>This release includes no updates of the core source code.</note>
-    </xsl:if>
-    <xsl:if test="count(Commit[@category='compat'])>0">
-      <p>Compatibility source code updates:</p>
-      <ul>
-      <xsl:for-each select="Commit[@category='compat']">
-        <li><xsl:apply-templates select="Who|DateCommitted|Modified|Added|Removed|Log"/></li>
-      </xsl:for-each>
-      </ul>
-    </xsl:if>
-    <xsl:if test="count(Commit[@category='compat'])=0">
-      <note>This release includes no updates of the compatibility source code.</note>
-    </xsl:if>
-  </xsl:template>
-  
-  <xsl:template match="Who">
-    <ref>Committed by </ref><xsl:value-of select="."/>
-  </xsl:template>
-  <xsl:template match="DateCommitted">
-    <ref> on </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Modified">    
-    <ref>Modified: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Added">    
-    <ref>Added: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Removed">    
-    <ref>Removed: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-    <xsl:template match="Log">    
-    <ref>Committer's log entry: </ref><xsl:value-of select="."/><br/><br/>
-  </xsl:template>
-  
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/xdocs/style/stylesheets/spec.xsl b/xdocs/style/stylesheets/spec.xsl
deleted file mode 100644
index 26d73bd..0000000
--- a/xdocs/style/stylesheets/spec.xsl
+++ /dev/null
@@ -1,220 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY copy   "&#169;">
-<!ENTITY nbsp   "&#160;">
-]>
-
-<!-- XSL Style sheet, DTD omitted -->
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:redirect="org.apache.xalan.lib.Redirect"
-                extension-element-prefixes="redirect">
-  <xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN"/>
-  
-  <xsl:param name="package-root" select="'../../../src/'"/>  <!-- root of destination for package.html files -->
-
-  <xsl:template match="spec">
-    <html>
-      <head>
-        <title>
-          <xsl:value-of select="header/title"/>
-        </title>
-      </head>
-      <body>
-        <xsl:apply-templates/>
-      </body>
-    </html>
-  </xsl:template>
-  
-  <xsl:template match="spec/title[1]">
-    <h1><xsl:apply-templates/></h1>
-  </xsl:template>
-
-  <xsl:template match="frontmatter/pubdate">
-    <p><b>Edit Date: </b><xsl:apply-templates/></p>
-  </xsl:template>
-
-  <xsl:template match="frontmatter/copyright">
-    <!-- p>&copy;<xsl:apply-templates/></p -->
-  </xsl:template>
-
-  <xsl:template match="frontmatter/author">
-  </xsl:template>
-  
-  <xsl:template match="spec/title">
-    <h2>
-      <xsl:choose>
-        <xsl:when test="@id">
-          <a name="@id">
-            <xsl:apply-templates/>
-          </a>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </h2>
-  </xsl:template>
-  
-  <xsl:template name="apply-id-templates">
-    <xsl:choose>
-      <xsl:when test="@id">
-        <a name="{@id}">
-          <xsl:apply-templates/>
-        </a>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  
-  <xsl:template match="sect2/title | spec/*/title">
-    <h3>
-      <xsl:call-template name="apply-id-templates"/>
-    </h3>
-  </xsl:template>
-  
-  <xsl:template match="sect3/title">
-    <h4>
-      <xsl:call-template name="apply-id-templates"/>
-    </h4>
-  </xsl:template>
-
-  <xsl:template match="sect4/title">
-    <h5>
-      <xsl:call-template name="apply-id-templates"/>
-    </h5>
-  </xsl:template>
-  
-  <xsl:template match="para">
-    <p><xsl:apply-templates/></p>
-  </xsl:template>
-
-  <xsl:template match="variablelist">
-    <ul>
-    <xsl:for-each select="varlistentry">
-      <li>
-        <p><b><xsl:apply-templates select="term"/></b><br/>
-        <xsl:apply-templates select="listitem"/></p>
-      </li>
-    </xsl:for-each>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="orderedlist">
-    <ol>
-    <xsl:for-each select="listitem">
-      <li><xsl:apply-templates/></li>
-    </xsl:for-each>
-    </ol>
-  </xsl:template>
-
-  <xsl:template match="patterns">
-    <H3><xsl:value-of select="@module"/><xsl:text> </xsl:text>Patterns</H3>
-    <ul>
-      <xsl:for-each select="pattern">
-        <p>
-          <b>
-            <xsl:for-each select="pattern-name">
-              <xsl:call-template name="apply-id-templates"/>
-            </xsl:for-each>
-          </b>
-          <br/>
-        <xsl:apply-templates select="*[name() != 'pattern-name']"/></p>
-      </xsl:for-each>
-    </ul>
-  </xsl:template>
-  
-  <xsl:template match="pattern/intent">
-    <br/><i>Intent: </i><xsl:apply-templates/>
-  </xsl:template>
-  
-  <xsl:template match="pattern/responsibilities">
-    <br/><i>Responsibilities: </i><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="pattern/potential-alternate-name">
-    <br/><i>Potential alternate name: </i><xsl:apply-templates/>
-  </xsl:template>
-  
-  <xsl:template match="pattern/thread-safety">
-    <br/><i>Thread safety: </i><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="pattern/notes">
-    <br/><i>Notes: </i><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="programlisting">
-    <code>
-    <pre>
-      <xsl:apply-templates/>
-    </pre>
-    </code>
-  </xsl:template>
-  
-  <xsl:template match="link">
-    <A href="#{@linkend}">
-      <xsl:apply-templates/>
-    </A>
-  </xsl:template>
-  <xsl:template match="ulink">
-    <A href="{@url}">
-      <xsl:apply-templates/>
-    </A>
-  </xsl:template>
-
-  <xsl:template match="termref">
-    <xsl:choose>
-      <xsl:when test="@link-url">
-        <A href="#{@link-url}">
-          <xsl:value-of select="."/>
-        </A>
-      </xsl:when>
-      <xsl:otherwise>
-        <U><xsl:value-of select="."/></U>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  
-  <xsl:template match="plink">
-    <xsl:text>{@link </xsl:text>
-      <xsl:value-of select="."/>
-    <xsl:text>}</xsl:text>
-  </xsl:template>
-  
-  <xsl:template match="sect1[@id='package']">
-    <xsl:variable name="filename" select="concat($package-root,translate(title,'.', '/'),'/package.html')"/>
-    <redirect:write file="{$filename}">
-      <xsl:call-template name="sub-package"/>
-    </redirect:write>
-  </xsl:template>
-  
-  <xsl:template match="sect2[@id='specialized-packages']">
-    <xsl:message>Found specialized-packages</xsl:message>
-    <xsl:for-each select="sect3">
-	  <xsl:variable name="filename" select="concat($package-root,translate(title,'.', '/'),'/package.html')"/>
-      <redirect:write file="{$filename}">
-        <xsl:call-template name="sub-package"/>
-      </redirect:write>
-    </xsl:for-each>
-  </xsl:template>
-  
-  <xsl:template name="sub-package">
-    <html>
-       <head>
-         <title>
-           <xsl:value-of select="title"/>
-         </title>
-       </head>
-       <body>
-         <xsl:apply-templates select="*[not (name()='title')]"/>
-       </body>
-     </html>
-  </xsl:template>
-
-
-</xsl:stylesheet>
-
diff --git a/xdocs/style/stylesheets/xml2fo.xsl b/xdocs/style/stylesheets/xml2fo.xsl
deleted file mode 100644
index c05930d..0000000
--- a/xdocs/style/stylesheets/xml2fo.xsl
+++ /dev/null
@@ -1,489 +0,0 @@
-<?xml version="1.0"?>
-
-<!--    XSLT stylesheet to convert the Xalan documentation collected in one xml file into a fo file
-        for use in FOP 
-
-TBD: - The faq doesn't show in the content
-     - check why margin-bottom on the page with properties is too large
-     - check why keep-next not only doesn't work, but leads to repeating already printed lines
-     - make lines containing only code look nicer (smaller line height)
-     - replace bullets in ordered lists with numbers
-     - correct the hack replacing nbsp with '-'
-     - handle the links correctly which have been external in the html doc and are now internal
-
--->
-
-<xsl:stylesheet
-     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-     xmlns:fo="http://www.w3.org/1999/XSL/Format">
-     
-     <!-- to use with document() to get resources.xml -->
-    <xsl:param name="resourceFile" select="'../../sources/xalan/resources.xml'"/>
-    <xsl:param name="project" select="Xalan"/>
-              
-<xsl:template match ="/">
-	<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
-
-	  <!-- defines page layout -->
-	  <fo:layout-master-set>
-		<fo:simple-page-master master-name="simple"
-							   page-height="29.7cm" 
-							   page-width="21cm"
-							   margin-top="1.5cm" 
-							   margin-bottom="2cm" 
-							   margin-left="2.5cm" 
-							   margin-right="2.5cm">
-		  <fo:region-body margin-top="3cm"/>
-		  <fo:region-before extent="1.5cm"/>
-		  <fo:region-after extent="1.5cm"/>
-		</fo:simple-page-master>
-	  </fo:layout-master-set>
-
-	  <fo:page-sequence master-name="simple">
-		<fo:static-content flow-name="xsl-region-before">
-			<fo:block text-align="end" 
-			    	  font-size="10pt" 
-					  font-family="serif" 
-					  line-height="14pt" >
-				<xsl:value-of select="$project"/> documentation - p. <fo:page-number/>
-			</fo:block>
-		</fo:static-content> 
-
-		<fo:flow flow-name="xsl-region-body">
-
-          <fo:block font-size="18pt" 
-                    font-family="sans-serif" 
-                    line-height="24pt"
-                    space-after.optimum="15pt"
-                    background-color="blue"
-                    color="white"
-                    text-align="center">
-            <xsl:value-of select="$project"/> - an XSL Transformer
-          </fo:block>
-
-
-        <!-- generates table of contents and puts it into a table -->
-
-         <fo:block font-size="14pt" 
-                  font-family="sans-serif" 
-                  line-height="18pt"
-                  space-after.optimum="10pt"
-                  font-weight="bold"
-                  start-indent="15pt">
-            Content
-         </fo:block>
-
-         <fo:table>
-            <fo:table-column column-width="1cm"/>
-            <fo:table-column column-width="10cm"/>
-            <fo:table-column column-width="5cm"/>
-            <fo:table-body font-size="12pt" 
-                           line-height="16pt"
-                           font-family="sans-serif">
-              <fo:table-row>
-                  <fo:table-cell>
-                     <fo:block text-align="end" >
-                     </fo:block>
-                  </fo:table-cell>
-                  <fo:table-cell>
-                     <fo:block text-align="end" >
-                     </fo:block>
-                  </fo:table-cell>
-                  <fo:table-cell>
-                     <fo:block text-align="end" >
-                     page
-                     </fo:block>
-                  </fo:table-cell>
-              </fo:table-row>                                 
-              <xsl:for-each select="documentation/chapter"> 
-                <fo:table-row>
-                  <fo:table-cell>
-                     <fo:block text-align="end" >
-                        <xsl:number value="position()" format="I"/>.  
-                     </fo:block>
-                  </fo:table-cell>
-                  <fo:table-cell>
-                     <fo:block  text-align="start" >
-                        <fo:basic-link color="blue">
-                           <xsl:attribute name="internal-destination">
-                           <xsl:value-of select="@id"/>
-                           </xsl:attribute>
-                          <xsl:value-of select="s1/@title|faqs/@title"/>
-                        </fo:basic-link>
-                     </fo:block>
-                  </fo:table-cell>
-                  <fo:table-cell>
-                     <fo:block text-align="end">                                
-                       <fo:page-number-citation ref-id="{@id}"/>
-                     </fo:block>
-                  </fo:table-cell>
-               </fo:table-row>
-            </xsl:for-each>
-            </fo:table-body>
-         </fo:table>
-		 <xsl:apply-templates/> 
-	   </fo:flow>
-	   </fo:page-sequence>
-	</fo:root>
-</xsl:template>
-
-<!--chapter-->
-<xsl:template match="chapter">
-  <fo:block id="{@id}" break-before="page"/>
-	<xsl:apply-templates/>   
-</xsl:template>  
-
-<!-- s1 -->
-<xsl:template match ="s1">
-   <fo:block font-size="18pt" 
-            font-family="sans-serif" 
-            line-height="24pt"
-            space-before.optimum="15pt"
-            space-after.optimum="15pt"
-            background-color="blue"
-            color="white"
-            keep-with-next.within-page="always"
-            text-align="center">
-     <xsl:attribute name="id">
-     <xsl:value-of select="translate(@title,' ),-.(','____')"/>
-     </xsl:attribute>
-     <xsl:value-of select="@title"/>
-   </fo:block>
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- s2 -->
-<xsl:template match ="s2">
-   <fo:block font-size="16pt" 
-            font-family="sans-serif" 
-            line-height="20pt"
-            keep-with-next.within-page="always"            
-            space-before.optimum="15pt"
-            space-after.optimum="12pt"
-            text-align="start"
-            padding-top="3pt"
-            >
-     <xsl:value-of select="@title"/>
-   </fo:block>
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- s3 -->
-<xsl:template match ="s3">
-   <fo:block font-size="14pt" 
-            font-family="sans-serif" 
-            line-height="18pt"
-            keep-with-next.within-page="always"
-            space-before.optimum="10pt"
-            space-after.optimum="9pt"
-            text-align="start"
-            padding-top="3pt">
-     <xsl:value-of select="@title"/>
-   </fo:block>
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- p  [not(code)] -->
-<xsl:template match ="p"> 
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            line-height="13pt"
-            space-after.optimum="3pt"
-            space-before.optimum="3pt"
-            text-align="start">
-     <xsl:apply-templates/> 
-   </fo:block>
-</xsl:template>
-
-<xsl:template match ="note"> 
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            font-weight="italic"
-            line-height="13pt"
-            space-after.optimum="3pt"
-            space-before.optimum="3pt"
-            text-align="start">
-        Note:     
-     <xsl:apply-templates/> 
-   </fo:block>
-</xsl:template>
-
-<xsl:template match="anchor">
-  <fo:block> <!--id="concat(local-name(ancestor::node()="chapter"/@id.,'_',{./@name}"/-->
-    <xsl:attribute name="id">
-      <xsl:value-of select="concat(ancestor::chapter/@id,'_',./@name)"/>
-    </xsl:attribute>
-  </fo:block>    
-</xsl:template>
-
-<xsl:template match="table">
-  <xsl:variable name="colwidth" select="14.5 div count(tr[1]/td)"/>
-  <fo:table>
-  <xsl:for-each select="tr[1]/td">
-    <fo:table-column column-width="{$colwidth}cm"/>
-  </xsl:for-each>
-  <fo:table-body font-size="10pt" font-family="sans-serif">
-  <xsl:apply-templates/>
-  </fo:table-body>
-  </fo:table>  
-</xsl:template>  
-<xsl:template match="tr">
-  <fo:table-row>
-    <xsl:apply-templates/>
-  </fo:table-row>
-</xsl:template>
-<xsl:template match="td">
-  <fo:table-cell>
-    <fo:block>
-      <xsl:apply-templates/>
-    </fo:block>
-   </fo:table-cell>
-</xsl:template>
-
-<!-- p + code 
-<xsl:template match ="p[code]">
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            line-height="11pt"
-            space-after.optimum="0pt"
-            space-before.optimum="0pt"
-            text-align="start">
-     <xsl:apply-templates/> 
-   </fo:block>
-</xsl:template>
--->
-
-<xsl:template match="img">
-  <fo:block>
-    <fo:external-graphic src="file:build/docs/images/{@src}"/>
-  </fo:block>
-</xsl:template>
-
-<!-- faqs -->
-<xsl:template match ="faqs">
-   <fo:block font-size="18pt" 
-            font-family="sans-serif" 
-            line-height="24pt"
-            space-before.optimum="15pt"
-            space-after.optimum="15pt"
-            background-color="blue"
-            color="white"
-            text-align="center"
-            >
-     <xsl:attribute name="id">
-     <xsl:value-of select="translate(.,' ),-.(','____')"/>
-     </xsl:attribute>
-     <xsl:value-of select="@title"/>
-   </fo:block>
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- faq -->
-<xsl:template match ="faq">
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- q in faq -->
-<xsl:template match="q">
-   <fo:block font-size="14pt" 
-            font-family="sans-serif" 
-            line-height="18pt"
-            keep-with-next.within-page="always"
-            space-before.optimum="10pt"
-            space-after.optimum="9pt"
-            text-align="start"
-            padding-top="3pt">     
-      <xsl:apply-templates/> 
-    </fo:block>
-</xsl:template>
-
-<!-- a in faq -->
-<xsl:template match ="a">
-      <xsl:apply-templates/> 
-</xsl:template>
-
-
-<!-- jump (links) -->
-<xsl:template match ="jump">
-  <fo:basic-link color="blue">
-     <xsl:attribute name="external-destination">
-       <xsl:if test="starts-with(@href,'apidocs')">
-         <xsl:value-of select="concat('http://xml.apache.org/xalan-j/',@href)"/>
-       </xsl:if>
-       <xsl:if test="not(starts-with(@href,'apidocs'))">
-         <xsl:value-of select="@href"/>
-       </xsl:if>    
-     </xsl:attribute>  
-   <xsl:value-of select="./text()"/>
-     <!--xsl:apply-templates/--> 
-   </fo:basic-link>
-</xsl:template>
-
-  <xsl:template match="link">
-    <xsl:if test="string-length(@anchor)=0">
-      <xsl:if test="string-length(@idref)=0">
-        <xsl:apply-templates/>
-      </xsl:if>
-      <xsl:if test="string-length(@idref)>0">
-        <fo:basic-link color="blue" internal-destination="{@idref}">
-        <xsl:value-of select="./text()"/></fo:basic-link>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="string-length(@anchor)>0">
-      <xsl:if test="string-length(@idref)=0">
-        <fo:basic-link color="blue"
-                      internal-destination="{concat(ancestor::chapter/@id,'_',@anchor)}">
-        <xsl:value-of select="./text()"/></fo:basic-link>
-      </xsl:if>
-      <xsl:if test="string-length(@idref)>0">
-        <fo:basic-link color="blue" internal-destination="{@idref}_{@anchor}">
-        <xsl:value-of select="./text()"/></fo:basic-link>
-      </xsl:if>
-    </xsl:if>
-  </xsl:template>
-
-
-<xsl:template match="resource-ref">
-  <xsl:variable name="xref" select="@idref"/>
-  <xsl:variable name="href"
-          select="document($resourceFile)/resources/resource[@id=$xref]/@location"/>
-  <xsl:variable name="label"
-          select="document($resourceFile)/resources/resource[@id=$xref]/@title"/>
-  <fo:basic-link color="blue">
-     <xsl:attribute name="external-destination">
-       <xsl:if test="starts-with($href,'apidocs')">
-         <xsl:value-of select="concat('http://xml.apache.org/xalan-j/',$href)"/>
-       </xsl:if>
-       <xsl:if test="not(starts-with($href,'apidocs'))">
-         <xsl:value-of select="$href"/>
-       </xsl:if>    
-     </xsl:attribute>  
-     <xsl:value-of select="$label"/>
-     <!--xsl:apply-templates/--> 
-   </fo:basic-link>        
-  </xsl:template>
-
-  <xsl:template match="human-resource-ref">
-    <xsl:variable name="resourceFile" 
-          select="./xalan/resources.xml"/>  
-    <xsl:variable name="ref"  select="@idref"/>
-    <xsl:variable name="mailto"
-          select="document($resourceFile)/resources/human-resource[@id=$ref]/@mailto"/>
-    <xsl:variable name="name"
-          select="document($resourceFile)/resources/human-resource[@id=$ref]/@name"/>
-  <fo:basic-link color="blue" external-destination="mailto:{$mailto}">
-     <xsl:value-of select="$name"/>
-     <!--xsl:apply-templates/--> 
-   </fo:basic-link>          
-  </xsl:template>
-
-<xsl:template match ="source"> 
-   <fo:block font-size="10pt" 
-            font-family="Courier" 
-            text-align="start"
-            white-space-collapse="false">
-     <xsl:apply-templates/> 
-   </fo:block>
-
-</xsl:template>
-  <xsl:template match ="br">
-  <fo:block></fo:block>
-</xsl:template>
-
-<!-- code -->
-<xsl:template match ="*/code">
-   <fo:inline font-size="10pt" 
-            font-family="Courier">
-     <xsl:apply-templates/> 
-   </fo:inline>
-</xsl:template>
-
-<!-- ul (unordered list) -->
-<xsl:template match ="ul">
-  <fo:list-block start-indent="1cm" 
-                 provisional-distance-between-starts="12pt" 
-                 font-family="sans-serif" 
-                 font-size="11pt" 
-                 line-height="11pt">
-     <xsl:apply-templates/> 
-   </fo:list-block>
-</xsl:template>         
-          
-<!-- ol (ordered list) -->
-<xsl:template match ="ol">
-  <fo:list-block start-indent="1cm" 
-                 provisional-distance-between-starts="12pt" 
-                 font-family="sans-serif" 
-                 font-size="11pt" 
-                 line-height="11pt">
-     <xsl:apply-templates/> 
-   </fo:list-block>
-</xsl:template>
-
-
-<!-- li (list item) in unordered list -->
-<xsl:template match ="ul/li">
-    <fo:list-item>
-      <fo:list-item-label>
-        <fo:block><fo:inline font-family="Symbol">&#183;</fo:inline></fo:block>
-      </fo:list-item-label>
-      <fo:list-item-body>
-        <fo:block space-after.optimum="4pt"
-              text-align="start"
-              padding-top="3pt">
-          <xsl:apply-templates/> 
-       </fo:block>
-      </fo:list-item-body>
-    </fo:list-item>
-</xsl:template>
-
-<!-- li (list item) in ordered list -->
-<xsl:template match ="ol/li">
-    <fo:list-item>
-      <fo:list-item-label>
-        <fo:block>
-          <xsl:number level="multiple" count="li" format="1"/>)
-        </fo:block>
-      </fo:list-item-label>
-      <fo:list-item-body>
-        <fo:block space-after.optimum="4pt"
-              text-align="start"
-              padding-top="3pt">
-          <xsl:apply-templates/> 
-       </fo:block>
-      </fo:list-item-body>
-    </fo:list-item>
-</xsl:template>
-
-<!-- temporary kludge for definition list gloss with label-item pairs ) -->
-
-<xsl:template match="gloss">
-  <xsl:apply-templates/>
-</xsl:template>
-<xsl:template match="label">
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            line-height="13pt"
-            space-after.optimum="3pt"
-            space-before.optimum="6pt"
-            text-align="start">
-     <xsl:apply-templates/> 
-   </fo:block>
-</xsl:template> 
-<xsl:template match="item">
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            line-height="13pt"
-            space-after.optimum="6pt"
-            space-before.optimum="0pt"
-            margin-left="24pt"
-            text-align="start">
-     <xsl:apply-templates/>
-     <fo:block></fo:block> 
-   </fo:block>
-</xsl:template> 
-
-<!-- end body -->
-
-</xsl:stylesheet>
diff --git a/xdocs/xml-site-style.tar.gz b/xdocs/xml-site-style.tar.gz
deleted file mode 100644
index e2c4de3..0000000
--- a/xdocs/xml-site-style.tar.gz
+++ /dev/null
Binary files differ