This commit was manufactured by cvs2svn to create branch
'SBOAG_BRANCH_OPTIMIZATION1'.
diff --git a/KEYS b/KEYS
deleted file mode 100644
index 8b26bc0..0000000
--- a/KEYS
+++ /dev/null
@@ -1,250 +0,0 @@
-This file contains the PGP keys of xml-commons committers 
-and are used for signing .zip/.tar.gz distributions.
-
-To verify the .sig on a distribution:
-  Using PGP:  pgp xalan-j_version.num.zip.sig
-  Using gpg:  gpg -verify xalan-j_version.num.zip.sig xalan-j_version.num.zip
-
-To import these public keys into your keyring: 
-  Using PGP:  pgp < KEYS    or pgp -ka KEYS
-  Using gpg:  gpg --import < KEYS
-
-Committers: to put your key in here: 
-  Using PGP:  pgp -kxa <your name> and append it to this file.
-  Using gpg:  gpg --export -a <your_name> >>KEYS should do the trick
-
-
-Shane Curcuru  curcuru@apache.org
------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+9A9Qq4MAW7QiU2hhbmUgQ3Vy
-Y3VydSA8Y3VyY3VydUBhcGFjaGUub3JnPokATgQQEQIADgUCOy5rCAQLAwIBAhkB
-AAoJEDLsF1kwoh1V/nkAoMGf6NVxNmMxpMJ9mQW6pzwWDAF2AKCe05LW35bV/px3
-c1a5mBZf0U8exokARgQQEQIABgUCOy5q+gAKCRAZucGLZELD3ErhAJ95upvPEsLB
-W+GF/Q27gKwJAJWh5ACg9vPu27CELQPkx5x6fhquWlPZWR6JAEYEEBECAAYFAjsu
-bP0ACgkQ1so098tadVyJkACbBhPpRY1usOMqaEoVi8iQvqJTaxMAoJDFZU6+RUTX
-dpyd/BhwgKB32d7TiQBGBBARAgAGBQI7LsU+AAoJEL66K4f1/EtCBKMAoMTRzp2x
-mzR4TjVuLDS1E4jkOAkWAKC4ONEEtQjIuTuDCVhZPQTtvk+0abQnU2hhbmUgQ3Vy
-Y3VydSA8c2hhbmVfY3VyY3VydUBsb3R1cy5jb20+iQBOBBARAgAOBQI7LmsIBAsD
-AgECGQAACgkQMuwXWTCiHVUPBACdHm9xrBcNMoEEgR0l+m/8zpgNqWEAn1CbpI+L
-0JNmBIyppFM1pCcXp5K6iQBOBBARAgAOBQI4IYzSBAsDAgECGQEACgkQMuwXWTCi
-HVXQIQCg1Q1MKkWygIsDGAOhiPaM09pTdlUAniTeCkoOI0+2IgD/NtqnGDaSvNDn
-iQBGBBARAgAGBQI4qZk/AAoJEFHrPvFXdlryVbIAoO/egti1esgRI6GErIhICg3I
-octfAKDlpw6NWq/WTxk1Aa0pN/1b6fmD5IkARgQQEQIABgUCOxPAFAAKCRAZucGL
-ZELD3ElDAJ9dcJ0/3luizN4DiPKeIiMsN4PiAQCfdCDLUWcAs93yj0MfeACJ7F6+
-UcqJAEYEEBECAAYFAjsubTcACgkQ1so098tadVzvZQCfRN3SVna4GEb5IwSm/zRn
-0exFr6MAoLSGnZ1wKQT12W/tNR/y2BueOEY2iQBGBBARAgAGBQI6rusTAAoJEBm5
-wYtkQsPcIsIAn0lLDcnoFp5jfpJqV5FnIgIjJ8HkAJ49bCzhw7U5n9G8XEYDQVE2
-eLyMgIkARgQQEQIABgUCOy7FfwAKCRC+uiuH9fxLQhjTAKDDUMomB1wKbVEhcdoy
-zpjt13tTMgCgiser+HuJ5boYdvtoEfsn0bHQMFS0J1NoYW5lIEN1cmN1cnUgPHNo
-YW5lX2N1cmN1cnVAeWFob28uY29tPokASwQQEQIACwUCPD8X0QQLAwIBAAoJEDLs
-F1kwoh1VSusAnAuo93Gu3IphIzuBQSsFu9YRl5HLAKCH3V71nV+Td9udzwT6RIsn
-WWIPLIkARgQQEQIABgUCPD8Y0gAKCRAZucGLZELD3KwAAJ45UpvBFaNKOa64ujpg
-2dKYVAGIZACg8fNYqXgVuqaB7Xrzyok45ciCfiC5Ag0EOCGM0hAIAPZCV7cIfwgX
-cqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyD
-vWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5
-u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98
-iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlA
-GBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqr
-ol7DVekyCzsAAgIIAM7v0Dm7spCxsDywqEkBCn3jUhjzq+8Ctl0qfHPA0tQdo61S
-+KB/j2G+sFYXDXd/l7ePj/wX5ZXpkVPNBg+rf0R6ExGYSIaf9/HqwSyXyz6hQ2HY
-yn99BDDIxViIXnIPUJ2Ul1Nn+xCduC/v756LYwM+oWXyb429W9bV9z0NVtnvpUxY
-Us9UWEiseJrBHHs92dMFWpTalpXrd7e/HAmUU+HzzpMjOAuxW7SunLLxVF5CH7t6
-oMeGlZPB1CMF5B2Q9lu14hUj4TLYHD3lAG9wCHmCbP4qj+B+DeKCfAerV8ZqQ5tz
-/OT4QuICThVE4Z2ShpC7VsHVGoKPF0igeVVAP1CJAEYEGBECAAYFAjghjNIACgkQ
-MuwXWTCiHVV0vgCg4cicMdOPPnOwEyDUhn+iMYl0MmEAoOOqSf33NB1VlLx344qA
-0Wi0FCL/
-=QTmn
------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-----
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGPfreeware 6.5.8 for non-commercial use <http://www.pgp.com>
-
-mQGiBDtiOuERBADWqtYvR/wqP9H99bmQ1GNpS8NL7YXmOUEdH9X/7KT3nrFBjacO
-XTJ2/rjnY1ItW6EwnenuFf0okgnf3ZgUai6Ajr4buxCMhpAzm2htOAaSnc3l/FZF
-mcdvpvKkpc4bf2qYC0j4RjKPvXExPdK3DbQnl7Pi5q0qvdaS0JUkYR5X/QCg/7fI
-uJKHVBqIveeAmZKpU8xYd60D/RvTll3dwVCWhs21a/AFFYKpA86A5jyq/yXwIeVr
-IKtKfxnvcjpmZAYIMddsBtVFjW/CyRm6KQZXRdWpXuLymP7+ppT2VlRLM3TqUxum
-4pASJdptk7fj3qzivyfaQ6/fAG3PyJcOe5hS7znLV2a0LX7PQBiPpUwqcjKQ2a2h
-LogQBACalpgAIdN1dfUbgOSm9gdsRb8wYIOKTFGpCWF17rMTMuSYTLAsm6mPdxrl
-FHn2wlROwiDFnzhEDFbPOHdC5XMD+tYdrWJaffJZKW7ZItOEz6OIh7gnmKpBcDsy
-WoJ9J7QRUiETHX3AbKOynSdk5kcgDWymCjSP6rE0M1PAiMVg1LQhU2NvdHQgQm9h
-ZyA8c2NvdHRfYm9hZ0Bsb3R1cy5jb20+iQBOBBARAgAOBQI7YjrhBAsDAgECGQEA
-CgkQQkPbOcGiXuYuqQCgxnuxkA2wfXf/qrhK9FDdhtG67MQAninm2rZVcTHqorBV
-KqUHMeC4VHaEuQINBDtiOuEQCAD2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4
-INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3b
-zpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9G
-AFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67
-VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM
-2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICCADj1YHJzpg7
-J0z0zRmpzhmRfDZtzBZB+bjqXh1lkcJO9P6tqwEe9Jnhm+yMWKtfETeiNxyK7C5f
-qTATo9USqB2+VTfEr0Y+UivUcITB1UvChj02iPj7zhrW6A7ki5UHYzcK6y29Mw6K
-J39nKn7FPaxcqFEzksAGenT+yq0/sSCAydX0GyW6scEkkmdVsUskD5tb83KqNzKK
-wXm/iIkQHS5FyzQ7U/WGAKRMcQf14UkGrfPoeRbMfNmlp/B+Jwpfbn3bH47hgowA
-gdGcKQSAQhUgy6GDpsxWFTVyjiZNEBI2UxkoB7d8HzMRvme6tw51d59MSNK7X/Go
-GtA9P+IqA3UTiQBGBBgRAgAGBQI7YjrhAAoJEEJD2znBol7mw+MAn3pbgcaYV+KZ
-TLJszssOCpQLvJwpAKCOBhKSHNUJR8OXI4VhY2Arvmm33g==
-=genn
------END PGP PUBLIC KEY BLOCK-----
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGPfreeware 6.5.1 for non-commercial use <http://www.pgp.com>
-
-mQGiBDuOlFsRBADT2HtC2QiEuPHzAk6Oa95nupm5zPFdtUasGWnbNhj37JNjhNFA
-/iCAvloRHMG8pR9ltlLZA4ae4X2BhPPqk+Us7zjYY/DkF/+G+cTMwPdoakc5JxL5
-ZRoVntAYRH5bcmv9MdSbY4YDf2iqk8gCaFPjP9EQcw3l38kTbfVvGKIjNwCg/7fU
-aAHIiOYSH+eLMpF4LtuqQP0D/3DhtpvrALSpiF/rw3VnL1rnxcb2IZs9IL1U6bFK
-p0IbqQORSVO2+dYSWo4/Vt7aWBFVPf/yfn/elncVmo12wAzWy7sBnqv8QzfYAvyY
-UuOh2WUD4K1ALOy7VHNM1mMyvH4dDIAoOuqXMQBwJx0A+/zUUaUZZLojsWl366pF
-GHmlBACa5zXSZ0mUf5ScZqZyda7/kUsV+B5tKjEKuOY1d/hnI5e/9Z11EQIfqqxs
-UckzCii+mg8zSpSgWHtsSu5N90teLum98bEuhYNT1tB6Pc7yNWEfq3c3SPw8ZstX
-u1kTQrsQeTiPhmfTQ+RyFiv+ZjonEsETNQK8n7CU+N2diiX5d7QjTXlyaWFtIE1p
-ZHkgPG15cmlhbV9taWR5QGxvdHVzLmNvbT6JAE4EEBECAA4FAjuOlFsECwMCAQIZ
-AQAKCRDeziK2wcV9LzZ/AKCYT4SNAFyQB+tA93nYjRo+NMc12wCaAw6zfJ7j7pI4
-e7L2OA0niSd8vHe5Ag0EO46UWxAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+28W65
-Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09
-jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI61Brw
-v0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/ClWxiN
-jrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgHKXrK
-lQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIIANxxFjYo
-tUFTQpvEVHu1ZJhyZNySlR5EEDFemG/3AC67Mhv7ygHaeKP/oFzIixKmWllT7iKS
-SLjyS75rq7LpTzhasg2+suQPRnV8y2ATTLnlKWQVmZfVKY1RDiO4MWLik9laFTVY
-kEyFbKgF9w0LyeobsD7SU1J4D9IUOYmslq0m9rac0l+1ovNetdzIm3WSTB/gm/B2
-Nrz1z8urh4mf+RJwuO0to9fkSjE1KUcrE7nTiSD6A3eUaQC6S+Q5wEeiB3QN5f18
-giQuxna9Aet9J8tnMk+5iuh0QYKjNyXlyYD5B9ZF/4SXnQVDi6jAIC/Zzt/Yqzwo
-QX3NAtR8yY0WgASJAEYEGBECAAYFAjuOlFsACgkQ3s4itsHFfS+Q1QCg9ywbxv1n
-32glMqfIb9X7icWxYIEAoOGctrkwfA71hEB0S6zhT4UU3zx7
-=eDC+
------END PGP PUBLIC KEY BLOCK-----
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGP 6.5.8
-
-mQGiBDu47OwRBADe/cmSMZz/V8OF9KlVIij1Y66HuKRf9u8ht0JrVZf40BiA6ZF0
-IhXx44ELI1SWU2SqWQOrVR3RRVhHDbCiHGTGGLy8FgL5mhuC8vKRRkKNSzvgJKpD
-dCqRScL0UBWogvKj8plzuvz73rHDGJDdd4BYjOD02FW8wmBnWZO2FRQDhwCg/wwW
-HvcFM/O9dwoUPjdzc5AOteMEAN7vt3PzYpuhPEA21kGHd/wrn47BKGRiwYXv6b4S
-h6OCOWvj/JB9I/BnoeiDpt//1JRte/14JKf8IykuCQgzcZOvA2uuiMi0oWY7kBWe
-KDKzz63pFhlqncCzbxnOlIGUq82Y6ZGCrUvKErddOEdeHeCf2smgEvbxfED7lfKR
-noVTA/9mjXvtQf5tHlSA6/xErh5WVnvtK1voWQKK5CcRYccqoeD6hbYfwH2wHPte
-Rxvh+l8uyF+KTszM2cThA/BfVec01g3qeI1b4F1Izj9iLERxzvczB9QOQ11Ihhn1
-aC6CGDRT8pbrQddWKZy1mGoSJzRDcAGmHleY24+AK371+rKzlrQtSm9zZXBoIEtl
-c3NlbG1hbiA8am9zZXBoX2tlc3NlbG1hbkBsb3R1cy5jb20+iQBOBBARAgAOBQI7
-uOztBAsDAgECGQEACgkQss3trL7oYN6+QwCeNNwhvSTvw/OXKOAJ0wzpzUKc//AA
-oI+/TdbMVKrBDyEIR3fzS+PDYOq/uQINBDu47O0QCAD2Qle3CH8IF3KiutapQvMF
-6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ
-+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarT
-W56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY72
-88kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy
-1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7
-AAICB/4usO5A+4Z5Zqdv3IE/Ffaw7XD2+94Jjr9VLWBvlNPb8hwYaCQ8Sn8c+Vwq
-lrePG3vHQvwsaTVpLWgk7G/tqasTdecCGrBEc9YlB/9jBqNaUuWdT1RlfxzS96Z1
-ayhNSqHM5gF/6cTBedK95HF0++AdtG4Z+CxhX5COZliPcIeOH1mwYqP/OKcbfOmc
-NqsjEpKA81oMpu6RHlzdbvUEyr8JpwqlQnJBPZ6oRi7SUlsTidYvsTA2+ZXJWftr
-TXe/R4RdaoXnwhESiDAL1pJy1Hnw3N5RJGCA5RS3RLHa0wvF0YTCwdk7PJut7100
-bdLw57nTr1edcFUKrPrXHQaAI4KiiQBGBBgRAgAGBQI7uOztAAoJELLN7ay+6GDe
-6ioAn0mSgIVhoKS1/Umun8Let3+az+SMAJ0aDwtI+TswutMqImiCBg2XsQkOug==
-=FVde
------END PGP PUBLIC KEY BLOCK-----
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGP 6.5.8
-
-mQGiBDu46/8RBADy0Wm57RXcDu6sd+sza7pFOoYgWslo51LuSxoCVWZiBjgOhas0
-JZeN9pOZlW89yFG4b4U+IfHJ6S0jrl9dcY4jZbwGZOBHF/03Z1viZajIZQ8X13HT
-xVASnVFspxj/bvnkpALBaaeI75De9XjDJzJmxWpIMnvXqD6r3jA78h5J2wCg/xbc
-xzkV5R1+g5f0YQ5f6LcLK0kD/RWVFuIvrlxzJXZQ+7jduyZmBJat9CQs0U3hHFXq
-DIxQPfFsEn9B/kc/qRTFITTeu1JVmq9SYXhJ/YRP+5yza/bJy3HBs4X4xUSeSGR9
-lgMQ7CdI2RwCP2FiCt1yEZT0FG7V452P5u4GFsrUo0hzwPuF853OFbNMVA9lud7Q
-pKAdA/wN2J7vDQJzAI/Pnf1ilp3Etq5Mm0jm9F13qXY66a9GtqvcS/lZGwEwYb5J
-WHu2kUjDwRwc4rdVbmJS7r4OpuK4n4HSvkA+H7T2fGeAbSlmi2cf0Zj9PQc6nTTX
-xs9/mW+ducQoAWWqBsjYb9WTmETFI/v7XODgkFc8+4bGO79ysLQmSm9zZXBoIEtl
-c3NlbG1hbiA8amtlc3NlbG1AYXBhY2hlLm9yZz6JAE4EEBECAA4FAju46/8ECwMC
-AQIZAQAKCRBM03UrGv/D/h69AJkB04jEwgpZ3U/A3Vo1dfce8zM4/ACfRm4GEOJS
-8R/nsuNzZ8YoRD52DpK5Ag0EO7jr/xAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+2
-8W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZS
-Tz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI6
-1Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/Cl
-WxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgH
-KXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIIAMhL
-pfkBOHvfRhd/Dusekk1af4fMmH82fVhw82Q2+rY9CUNX1N/w0NLZ/AD1wKPugbDK
-QoVqgYaAP2rf0xETMFeZKlUhnPl0fXtfZSPWC8qIeiphac97g8Y4q/ZJL9jqZWiu
-lqQyArwniUUJ4L6obhZ0EjmSOy4etrWkIEv+1Z8Btw3+hn/XwdWRPzDkicMz7iL4
-scAsSLphu53tUhBdlwBDFdjesaKCRqy8bdR3AQf77Z1czNMLfYA7RS6zuoiblkD6
-GlABJDeQuxnBVJsuYpa+/zxlf4ol7P1rP5WohTN+hZWR9JI+MbqqG8EeyuYjI2Gj
-2/jT1kKqjGgVnqjtcb2JAEYEGBECAAYFAju46/8ACgkQTNN1Kxr/w/4tsACgyWj3
-/gI5CMj0KhDDxRXkxzCRP+AAnjY4cIvvgya56KB0IGmFgdgWZxUK
-=Ipr4
------END PGP PUBLIC KEY BLOCK-----
-
-Type Bits/KeyID    Date       User ID
-pub  2048/1AAC221B 2001/11/09 Joseph Kesselman <joseph_kesselman@lotus.com>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGP 6.5.8
-
-mQGhBDvsN+kRBADjapawUAJpEXOp7xNASa4FKdXFx9rLOx45+GP4bdTS9QN/p7Vo
-t4v+Xd8PUhJYHkxyfe39rtWfVTj+JPFotldMaPJUCKixnxnTjehbSoyi5sNraRqj
-WvZFYFDOOmOEy139eBBFXNTGSH+3D8A0PMg9IhUGHYgGZwqhEgd+2yaBlQCg/94k
-idl+3UadWoI4CTOxD+iU0rMD+JUCsUvmFTP1HfJQekMSNN16WSzJF29QOr0JUm9q
-ebnJHvtaQ/GaZrVyVv0bbgC1XAXf36pqWJPldkvOOzxCm0z0JkKdbQ6+r4P3hDMF
-Ppj1kUfz2XmdbkLTROu0PhUwgE4p7IKQspmxcdYGbT8rPtSSxXVF0yvF/NItXcCJ
-KfMEANYbpDzbuzWNtwVTQReFoj5xwYxH1H0CMeXmV+yq0i7DRNU+uAe2DmWOc6om
-bl9K5yk/cf8DP93/0yOaJqmZ1EjhHwKkknucHbjcNcMrG5qozU3bUr4in8IK5XO0
-NDZEw6KZTLCyXWCl9kK/H7vr0ogtSeQo+rnMqM9Ggusl2yMCtC1Kb3NlcGggS2Vz
-c2VsbWFuIDxqb3NlcGhfa2Vzc2VsbWFuQGxvdHVzLmNvbT6JAE4EEBECAA4FAjvs
-N+kECwMCAQIZAQAKCRCVht3BGqwiGxyvAKCOQ+RkwNwxTbrfGj9y3Lm4mYjZ5wCg
-npZjPSr5wXU3YU+yi9TluXrMFWC5Ag0EO+w36RAIAPZCV7cIfwgXcqK61qlC8wXo
-+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D4
-9Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNb
-no2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbz
-ySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLW
-hsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsA
-AgIIAJJnaUDpUG1btIJUVkHLHOeBkm8uIcixAY1BrsoAm+HKW0DfvGZ0OA9RZawL
-ZwE0sWCuOuzQjbMVFjt3B76kK7YRiha+hlsAvbm5Ojnz5cmn+4JhT6fvh7Eh4xBR
-zCyQTOedNtegy0zkV24ddRqjz/zRDa3KJLagZrQFKU4+LXF5DpaTUVDR5xHxDlWg
-Ht2RDbEWVSYALxRjyHobzVZYr9CuhRy6QKRd5pm/fD+qkDtwHbFkrouH8Txegr3y
-zVVc+vKC0GNr1xaX8f0lUGSz2KHPRgqyMfEKGRYM+IWfr/gHeZnP2SUzGHsfYzoi
-6CJS6hPL/HyrPn+UbOmVo5uKNaqJAEYEGBECAAYFAjvsN+kACgkQlYbdwRqsIhuk
-fgCfco+vxnDUpU8cLscpZsPbk6J9p/MAn0VYo0g51AsO36+JJUak7IDWGFwb
-=pFGX
------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/bin/BCEL.jar b/bin/BCEL.jar
deleted file mode 100644
index 3346058..0000000
--- a/bin/BCEL.jar
+++ /dev/null
Binary files differ
diff --git a/bin/JLex.jar b/bin/JLex.jar
deleted file mode 100644
index 1c977f3..0000000
--- a/bin/JLex.jar
+++ /dev/null
Binary files differ
diff --git a/bin/ant.jar b/bin/ant.jar
deleted file mode 100644
index 4942858..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 9168932..0000000
--- a/bin/antRun.bat
+++ /dev/null
@@ -1,20 +0,0 @@
-@echo off
-
-rem 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/java_cup.jar b/bin/java_cup.jar
deleted file mode 100644
index 2f7b1f7..0000000
--- a/bin/java_cup.jar
+++ /dev/null
Binary files differ
diff --git a/bin/runtime.jar b/bin/runtime.jar
deleted file mode 100644
index 5041cdb..0000000
--- a/bin/runtime.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 85b0f7c..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 fd4aff8..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 7410f0c..0000000
--- a/bin/xerces.jar
+++ /dev/null
Binary files differ
diff --git a/bin/xercesImpl.jar b/bin/xercesImpl.jar
deleted file mode 100644
index 0663bf1..0000000
--- a/bin/xercesImpl.jar
+++ /dev/null
Binary files differ
diff --git a/bin/xml-apis.jar b/bin/xml-apis.jar
deleted file mode 100644
index 2c42757..0000000
--- a/bin/xml-apis.jar
+++ /dev/null
Binary files differ
diff --git a/build.bat b/build.bat
deleted file mode 100755
index ab604ce..0000000
--- a/build.bat
+++ /dev/null
@@ -1,62 +0,0 @@
-@echo off
-rem     build.bat: Build Xalan-J 2.x using Ant 
-rem     Usage: build [ant-options] [targets]
-rem     Setup:
-rem         - you should set JAVA_HOME
-rem         - you can set ANT_HOME if you use your own Ant install
-rem         - JAVA_OPTS is added to the java command line
-rem         - PARSER_JAR may be set to use alternate parser (default:bin\xercesImpl.jar)
-echo.
-echo Xalan-J 2.x Build
-echo -------------
-
-if not "%JAVA_HOME%" == "" goto setant
-:noJavaHome
-rem Default command used to call java.exe; hopefully it's on the path here
-if "%_JAVACMD%" == "" set _JAVACMD=java
-echo.
-echo Warning: JAVA_HOME environment variable is not set.
-echo   If build fails because sun.* classes could not be found
-echo   you will need to set the JAVA_HOME environment variable
-echo   to the installation directory of java.
-echo.
-
-:setant
-rem Default command used to call java.exe or equivalent
-if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java
-
-rem Default _ANT_HOME to Xalan's checked-in copy if not set
-set _ANT_HOME=%ANT_HOME%
-if "%_ANT_HOME%" == "" set _ANT_HOME=.
-
-rem Default locations of jars we depend on to run Ant on our build.xml file
-rem Set our local vars to all start with _underscore
-set _ANT_JAR=%ANT_JAR%
-if "%_ANT_JAR%" == "" set _ANT_JAR=bin\ant.jar
-set _PARSER_JAR=%PARSER_JAR%
-if "%_PARSER_JAR%" == "" set _PARSER_JAR=bin\xercesImpl.jar
-set _XML-APIS_JAR=%XML-APIS_JAR%
-if "%_XML-APIS_JAR%" == "" set _XML-APIS_JAR=bin\xml-apis.jar
-
-rem Attempt to automatically add system classes to _CLASSPATH
-rem Use _underscore prefix to not conflict with user's settings
-set _CLASSPATH=%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
-set _CLASSPATH=%_ANT_JAR%;%_XML-APIS_JAR%;%_PARSER_JAR%;%_CLASSPATH%
-
-@echo on
-"%_JAVACMD%" -mx64m %JAVA_OPTS% -Dant.home="%ANT_HOME%" -classpath "%_CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
-@echo off
-
-goto end
-
-:end
-rem Cleanup environment variables
-set _JAVACMD=
-set _CLASSPATH=
-set _ANT_HOME=
-set _ANT_JAR=
-set _PARSER_JAR=
-set _XML-APIS_JAR=
-
diff --git a/build.sh b/build.sh
deleted file mode 100755
index d0979ed..0000000
--- a/build.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-#	Name:   build.sh Build Xalan-J 2.x using Ant
-#	Author: Shane Curcuru
-
-# Alternatively, you can just call "ant" 
-
-echo "Xalan-J 2.x Build"
-echo "-------------"
-
-_JAVACMD=$JAVA_HOME/bin/java
-if [ "$JAVA_HOME" = "" ] ; then
-    echo "Warning: JAVA_HOME environment variable is not set."
-    _JAVACMD=java
-fi
-
-# Default locations of jars we depend on to run Ant on our build.xml file
-if [ "$ANT_HOME" = "" ] ; then
-    ANT_HOME=.
-fi
-if [ "$ANT_JAR" = "" ] ; then
-    ANT_JAR=./bin/ant.jar
-fi
-if [ "$PARSER_JAR" = "" ] ; then
-    PARSER_JAR=./bin/xercesImpl.jar
-fi
-
-if [ "$XML_APIS_JAR" = "" ] ; then
-    XML_APIS_JAR=./bin/xml-apis.jar
-fi
-
-# Use _underscore prefix to not conflict with user's settings
-# Default to UNIX-style pathing
-CLPATHSEP=:
-# if we're on a Windows box make it ;
-uname | grep WIN && CLPATHSEP=\;
-_CLASSPATH="$ANT_JAR${CLPATHSEP}$XML_APIS_JAR${CLPATHSEP}$PARSER_JAR${CLPATHSEP}$CLASSPATH"
-
-# Attempt to automatically add system classes to _CLASSPATH
-if [ -f $JAVA_HOME/lib/tools.jar ] ; then
-  _CLASSPATH=${_CLASSPATH}${CLPATHSEP}${JAVA_HOME}/lib/tools.jar
-fi
-
-if [ -f $JAVA_HOME/lib/classes.zip ] ; then
-  _CLASSPATH=${_CLASSPATH}${CLPATHSEP}${JAVA_HOME}/lib/classes.zip
-fi
-
-
-echo "Starting Ant with targets: $@"
-echo "        ...with classpath: $_CLASSPATH"
-
-"$_JAVACMD" $JAVA_OPTS -Dant.home=$ANT_HOME -classpath "$_CLASSPATH" org.apache.tools.ant.Main $@
-
-
-
-
diff --git a/build.xml b/build.xml
deleted file mode 100644
index b17fb3a..0000000
--- a/build.xml
+++ /dev/null
@@ -1,993 +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/xsltc: use JDK 1.2.x or higher
-   
-Build Instructions:   
-  To build, run
-    build.bat (win32) or build.sh (unix) [antoptions] [targets]
-  in the directory where this file is located; you should also be 
-  able to use an installation of Ant v1.4.1 or later.
-   
-  build -projecthelp  will show a list of supported targets.
-   
-  Developers: include a description="" attribute in all user-callable targets.
-        
-  If you build a target that depends on other targets, those other 
-  targets are *usually* created in the correct order; however a 
-  few of the larger targets like dist do not list all dependencies.
-
-Other Important Notes:
-- 'dist' produces a .tar file that works with GNU compatible tar 
-  programs, because that's what Ant does when it finds a path that's 
-  longer than 100 characters (like in our docs).  Sorry!
-  
-- External build maintainers: look for GUMP: comments; developers 
-  please use great caution when changing these lines!
-
-- Unusual build items: the docs and xsltc.compile targets leave 
-  cruft in the source areas; various clean targets get most of this.
-  
-Authors:
-  Shane Curcuru <shane_curcuru@lotus.com>
-  Don Leslie <donald_leslie@lotus.com>
-
-Copyright:
-  Copyright (c) 1999-2001 The Apache Software Foundation.
-   $Id$
-==================================================================== -->
-
-<project name="Xalan" default="jar" basedir=".">
-  <!-- =================================================================== -->
-  <!-- Defines paths/names of prerequisite jar files we compile against    -->
-  <!-- =================================================================== -->
-  <!-- We keep checked-in known-good .jars here -->
-  <property name="bin.dir" value="./bin"/>
-
-  <!-- GUMP: Allows external build systems to replace .jars Xalan 
-       is dependent on as needed.  Most have separate name and 
-       location properties to make it simpler to reset these values; 
-       please provide feedback if this is useful. 
-  -->
-  <property name="xmlapis.jar.name" value="xml-apis.jar"/>
-  <property name="xmlapis.jar" value="${bin.dir}/${xmlapis.jar.name}"/>
-  <property name="parser.jar.name" value="xercesImpl.jar"/>
-  <property name="parser.jar" value="${bin.dir}/${parser.jar.name}"/>
-  <property name="bsf.jar.name" value="bsf.jar"/>
-  <property name="bsf.jar" value="${bin.dir}/${bsf.jar.name}"/>
-  <property name="stylebook.jar.name" value="stylebook-1.0-b3_xalan-2.jar"/>
-  <property name="stylebook.jar" value="${bin.dir}/${stylebook.jar.name}"/>
-  <property name="doclet.jar.name" value="xalan2jdoc.jar"/>
-  <property name="doclet.jar" value="${bin.dir}/${doclet.jar.name}"/>
-
-  <!-- GUMP: Currently 18-Apr-01 used only for xsltc.compile -->
-  <property name="bcel.jar.name" value="BCEL.jar"/>
-  <property name="bcel.jar" value="${bin.dir}/${bcel.jar.name}"/>
-  <property name="crimson.jar.name" value="crimson.jar"/><!-- Why is this here? 10-Sep-01 -sc -->
-  <property name="crimson.jar" value="${bin.dir}/${crimson.jar.name}"/>
-  <property name="java_cup.jar.name" value="java_cup.jar"/>
-  <property name="java_cup.jar" value="${bin.dir}/${java_cup.jar.name}"/>
-  <property name="jlex.jar.name" value="JLex.jar"/>
-  <property name="jlex.jar" value="${bin.dir}/${jlex.jar.name}"/>
-  <property name="runtime.jar.name" value="runtime.jar"/>
-  <property name="runtime.jar" value="${bin.dir}/${runtime.jar.name}"/>
-
-  <!-- Defines general variables used by the other targets; name controls output xalan.jar  -->
-  <property name="version.VERSION" value="2"/>
-  <property name="version.RELEASE" value="3"/>
-  <property name="version.DEVELOPER" value="D"/><!-- Set this to 'D' if a developer release; blank "" if maintenance release -->
-  <property name="version.MINOR" value="1"/><!-- EITHER the developer release number, or a maintenance release number -->
-  <property name="version" value="${version.VERSION}_${version.RELEASE}_${version.DEVELOPER}${version.MINOR}"/><!-- GUMP: version # of dist file -->
-  <property name="impl.version" value="${version.VERSION}.${version.RELEASE}.${version.DEVELOPER}${version.MINOR}"/><!-- Used in jar task for filtering MANIFEST.MF file -->
-  <property name="name" value="xalan"/><!-- GUMP: base name of jar target's file -->
-  <property name="year" value="2001"/>
-  <property name="build.debug" value="on"/>
-
-  <!-- Relative locations of source directories -->
-  <property name="manifest.mf" value="./src/MANIFEST.MF"/>
-  <property name="manifest.xsltc.mf" value="./src/manifest.xsltc"/>
-  <property name="src.dir" value="./src"/>
-  <property name="apachexml.reldir" value="org/apache/xml"/>
-  <property name="xpath.reldir" value="org/apache/xpath"/>
-  <property name="xalan.reldir" value="org/apache/xalan"/>
-  <property name="xsltc.reldir" value="${xalan.reldir}/xsltc"/>
-  <property name="generated.xpathparser" value="${src.dir}/${xsltc.reldir}/compiler/XPathParser.java"/>
-  <property name="generated.xpathlexer" value="${src.dir}/${xsltc.reldir}/compiler/XPathLexer.java"/>
-  <property name="generated.xpathsym" value="${src.dir}/${xsltc.reldir}/compiler/sym.java"/>
-  
-  <!-- Build and distribution output areas -->
-  <property name="build.dir" value="./build"/><!-- GUMP: root of all normal builds output -->
-  <property name="build.xalan.jar" value="${build.dir}/${name}.jar"/><!-- GUMP: actual path/name of jar target output -->
-  <property name="build.xsltc.jar" value="${build.dir}/xsltc.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"/>
-  <property name="dist.file" value="${name}-j_${version}"/><!-- GUMP: actual path/name of dist target .tar.gz/.zip-->
-  <property name="dist.dir" value="${build.dir}/${dist.file}"/>
-  
-  <!-- Xalan-J1 compatability stuff.  -->
-  <!-- TO BE REMOVED: 'skipcompat' flag allows you to optionally 
-       skip 1.x compat layer; default to true, so we can  
-       switch to Xerces 2.x which compat won't compile with -->
-  <property name="skipcompat" value="true"/>
-  <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"/>        
-
-   <!-- xml-commons sources (for Javadoc) -->                                                                        
-   <property name="xml-commons-srcs.tar.gz" value="${src.dir}/xml-commons-src.tar.gz"/>                                                                         
-   <property name="xml-commons-srcs.tar" value="${build.dir}/xml-commons-src.tar"/>
- 
-  <!-- Documentation and samples information  -->
-  <property name="Name-in-docs" value="Xalan-Java"/>
-  <property name="version.file" value="${xalan.reldir}/processor/XSLProcessorVersion.java"/>
-  <property name="samples.dir" value="./samples"/>
-  <property name="build.samples.jar" value="${build.dir}/xalansamples.jar"/>
-  <property name="build.servlet.jar" value="${build.dir}/xalanservlet.jar"/>
-  <property name="xdocs.dir" value="./xdocs"/>
-  <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="xalan.cmdline.class" value="org.apache.xalan.xslt.Process"/>
-  <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="xdocs.DONE.file" value="${xdocs.dir}/sources/xalan/DONE"/>
-  <property name="xdocs.XSLTCDONE.file" value="XSLTCDONE"/>
-  <property name="xdocs.XSLTCDONE.location" value="${xdocs.dir}/sources/xalan/${xdocs.XSLTCDONE.file}"/>    
-  <path id="docs.class.path">
-    <pathelement location="${xmlapis.jar}" />
-    <pathelement location="${parser.jar}" />
-    <pathelement location="${bsf.jar}" />
-    <pathelement location="${stylebook.jar}" />
-    <pathelement location="${doclet.jar}" />
-    <pathelement location="${build.xalan.jar}" />
-    <pathelement path="${java.class.path}" />
-  </path>
-  <path id="samples.class.path">
-    <pathelement location="${xmlapis.jar}" />
-    <pathelement location="${parser.jar}" />
-    <pathelement location="${build.xalan.jar}" />
-    <pathelement path="${java.class.path}" />
-  </path>
-  <path id="compile.class.path">
-    <!-- Ensure the selected parser.jar file is used to compile against -->
-    <pathelement location="${build.classes}" />
-    <pathelement location="${xmlapis.jar}" />
-    <pathelement location="${parser.jar}" />
-    <pathelement path="${java.class.path}" />
-  </path>
-  <path id="xslt.boot.class.path">
-    <!-- Put this version of xalan in front of the jdk's for JDK 1.4+ -->
-    <pathelement location="${build.classes}" />
-    <pathelement path="${sun.boot.class.path}" />
-  </path>
-
-  <!-- =================================================================== -->
-  <!-- Creates output build directories and doc prerequistes               -->
-  <!-- =================================================================== -->
-  <target name="prepare">
-    <echo message="Project:${Name-in-docs} version:${version} build.xml $Revision$"/>
-    <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="${test.relpath}" property="tests-available" />
-    <available property="xerces.present" 
-      classname="org.apache.xerces.parsers.SAXParser"/>
-  </target>
-
-  <!-- Must depend on jar since we use Xalan to process xml files -->
-  <target name="prepare.docs" depends="jar">
-    <mkdir dir="${build.docs}"/> 
-    <mkdir dir="${build.apidocs}"/>
-
-    <gunzip src="${doc.generator.styletargz}"/>
-    <untar src="${doc.generator.styletar}" dest="${xdocs.dir}"/>
-    <delete file="${doc.generator.styletar}"/>
-
-    <!-- We use a Notes agent to periodically 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 -->      
-    <echo message="Transform commits.xml and put the result in ${xdocs.dir}"/>
-    <java fork="yes" classname="${xalan.cmdline.class}" >
-      <classpath refid="docs.class.path" />
-      <arg line="-in commits.xml -xsl ${xdocs.style}/stylesheets/done.xsl -out ${xdocs.DONE.file} -param xsltcdone ${xdocs.XSLTCDONE.file}"/>
-    </java>
-    <echo message="Generate Xalan-J 2.x design document"/>
-    <java fork="yes" classname="${doc.generator}" >
-      <classpath refid="docs.class.path" />
-      <arg line="loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./build/docs/design/
-                 ./xdocs/sources/xalandesign.xml ./xdocs/style"/>
-    </java>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Compile entire source tree                                          -->
-  <!-- =================================================================== -->
-  <target name="compile" depends="prepare"
-    description="Compile Xalan-J 2.x (skips 1.x compat and XSLTC)" >
-    <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.
-    --> 
-    <!-- Compile XPath engine and some common utilities -->
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           debug="${build.debug}" >
-      <!-- Also compile version info classes here -->
-      <include name="${xalan.reldir}/Version.java" />
-      <include name="${xalan.reldir}/processor/XSLProcessorVersion.java" />
-      <include name="${apachexml.reldir}/**/*.java" />
-      <!-- But exclude unused synthetic* files; should be obsoleted from CVS -->
-      <exclude name="${apachexml.reldir}/utils/synthetic/**/*.java" />
-      <include name="${xpath.reldir}/**/*.java" />
-      <exclude name="**/CoroutineSAXFilterTest.java" 
-        unless="xerces.present"	 />
-      <exclude name="**/CoroutineSAXParser_Xerces.java" 
-        unless="xerces.present"	 />
-      <exclude name="**/IncrementalSAXSource_Xerces.java" 
-        unless="xerces.present"	 />
-      <classpath refid="compile.class.path" />
-      <bootclasspath refid="xslt.boot.class.path" />
-    </javac>
-    <!-- Compile Xalan main engine (but not xsltc package yet) -->
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="${xalan.reldir}/**/*.java"
-           excludes="${xsltc.reldir}/**/*.java,${xalan.reldir}/lib/**/*.java,${xalan.reldir}/xslt/**/*.java"
-           debug="${build.debug}" >
-      <classpath refid="compile.class.path" />
-      <bootclasspath refid="xslt.boot.class.path" />
-    </javac>
-    <!-- Compile various Xalan-specific extensions and command line class -->
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="${xalan.reldir}/lib/**/*.java,${xalan.reldir}/xslt/**/*.java"
-           debug="${build.debug}" >
-      <classpath refid="compile.class.path" />
-      <bootclasspath refid="xslt.boot.class.path" />
-    </javac>
-    <!-- Copy needed properties, resource, etc. files to be put into .jar file -->
-    <copy todir="${build.classes}">
-      <fileset dir="${src.dir}" includes="**/*.properties,**/*.res,META-INF/services/javax.xml.transform.*"/>
-    </copy>  
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Compile just the XSLTC compiler portion (to be integrated soon!) -->
-  <!-- =================================================================== -->
-  <path id="xsltc.class.path">
-    <pathelement location="${bcel.jar}" />
-    <pathelement location="${jlex.jar}" />
-    <pathelement location="${java_cup.jar}" />
-    <pathelement location="${runtime.jar}" />
-    <pathelement location="${crimson.jar}" />
-    <!-- build.classes needed for 
-         org.apache.xalan.xsltc.util.JavaCupRedirect -->
-    <pathelement location="${build.classes}" />
-    <pathelement path="${java.class.path}" />
-  </path>
-
-  <!-- Attempt to determine dependency info for generated sources -->
-  <target name="xsltc.prepare" depends="prepare" >
-    <!-- The first step compiles the utils directory, which includes 
-         a special wrapper for the xsltc.codegen / java_cup step next. -->
-    <echo message="Compiling XSLTC utilities"/>
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="${xsltc.reldir}/util/**/*.java"
-           debug="${build.debug}">
-      <classpath refid="xsltc.class.path" />
-      <bootclasspath refid="xslt.boot.class.path" />
-    </javac>
-    <!-- These tricky uptodate statements hopefully determine if we 
-         actually need to generate the java_cup and jlex files 
-         in the two sub-targets below
-    -->
-    <!-- NOTE: The two uptodate tasks below do not yet work! 28-Nov-01 -sc -->
-    <uptodate property="xsltc.java_cup.needed"  >
-      <srcfiles dir= "${src.dir}/${xsltc.reldir}/compiler" includes="xpath.cup"/>
-      <mapper type="merge" to="${generated.xpathparser}"/>
-    </uptodate>
-    <uptodate property="xsltc.jlex.needed"  >
-      <srcfiles dir= "${src.dir}/${xsltc.reldir}/compiler" includes="xpath.lex"/>
-      <mapper type="merge" to="${generated.xpathlexer}"/>
-    </uptodate>
-  </target>
-
-  <!-- Generate code sources for xsltc if needed -->
-  <target name="xsltc.java_cup" depends="xsltc.prepare" > <!-- if="xsltc.java_cup.needed" -->
-    <!-- The second step generates sym.java and XPathParser.java. -->
-    <echo message="java_cup preparsing"/>
-    <java fork="yes" failonerror="true" 
-       classname="org.apache.xalan.xsltc.util.JavaCupRedirect" >
-      <classpath refid="xsltc.class.path" />
-      <!-- We're using JavaCupRedirect to call the java_cup application -->
-      <arg line="-parser XPathParser -expect 0 
-         -stdin ${src.dir}/${xsltc.reldir}/compiler/xpath.cup"/>
-    </java>
-    <echo message="java_cup move output files"/>
-    <move file="XPathParser.java" tofile="${generated.xpathparser}"/>
-    <move file="sym.java" tofile="${generated.xpathsym}"/>
-
-  </target>
-  <target name="xsltc.jlex" depends="xsltc.java_cup" ><!--if="xsltc.jlex.needed" -->
-    <!-- The third step generates XPathLexer.java. The lexiographical analyser
-    has to be generated after sym.java, so order is important. -->
-    <echo message="JLex preparsing"/>
-    <java fork="yes" failonerror="true" classname="JLex.Main" >
-      <classpath refid="xsltc.class.path" />
-      <arg line="-static ${src.dir}/${xsltc.reldir}/compiler/xpath.lex"/>
-    </java>
-    <echo message="JLex move output file"/>
-    <move file="${src.dir}/${xsltc.reldir}/compiler/xpath.lex.java" tofile="${generated.xpathlexer}"/>
-  </target>
-
-  <!-- The xsltc.compile target should be rewritten to properly 
-       do dependencies on the generated sources: right now, it 
-       will always regenerate the sources, even if it's not needed
-       (which forces all later steps to re-run as well) -->
-  <target name="xsltc.compile" depends="xsltc.java_cup,xsltc.jlex"
-    description="Compile just the XSLTC classes" >
-    <echo message="Compiling remaining XSLTC classes"/>
-    <javac srcdir="${src.dir}" 
-           destdir="${build.classes}"
-           includes="${xsltc.reldir}/**/*.java"
-           debug="${build.debug}">
-      <classpath refid="xsltc.class.path" />
-      <bootclasspath refid="xslt.boot.class.path" />
-    </javac>
-  </target>
-
-  <target name="xsltc.jar" depends="xsltc.compile"
-    description="Jar just the xsltc.jar file" >
-    <!-- Copy over the manifest, with filtering (for version number) -->
-    <filter token="impl.version" value="${impl.version}"/>
-    <copy todir="${build.dir}" file="${manifest.xsltc.mf}" filtering="true"/>
-    <jar jarfile="${build.xsltc.jar}" manifest="${build.dir}/manifest.xsltc" basedir="${build.classes}" >
-      <patternset><!-- relative to jar/@basedir -->
-        <include name="${xsltc.reldir}/**/*" />
-      </patternset>
-    </jar>
-  </target>
-
-
-  <target name="xsltc.bundledjar" depends="xsltc.compile"
-     description="Jar xsltc, BCEL.jar, JLex.jar, java_cup.jar, runtime.jar">
-    <!-- make a tmp directory to work in -->
-    <delete dir="${build.dir}/xsltctmp" includeEmptyDirs="true" quiet="true"/>
-    <mkdir  dir="${build.dir}/xsltctmp" />
-
-    <!-- create jar of xsltc classes in the tmp directory -->
-    <jar jarfile="${build.dir}/xsltctmp/xsltc.jar"
-        basedir="${build.dir}/classes"
-        includes="org/apache/xalan/xsltc/**" />
-
-    <!-- copy the xsltc 3rd party support jar files to tmp dist dir -->
-    <copy todir="${build.dir}/xsltctmp"
-      file="${bin.dir}/BCEL.jar"/>
-    <copy todir="${build.dir}/xsltctmp"
-      file="${bin.dir}/JLex.jar"/>
-    <copy todir="${build.dir}/xsltctmp"
-      file="${bin.dir}/java_cup.jar"/>
-    <copy todir="${build.dir}/xsltctmp"
-      file="${bin.dir}/runtime.jar"/>
-
-    <!-- unjar all jars -->
-    <unjar src="${build.dir}/xsltctmp/xsltc.jar"
-           dest="${build.dir}/xsltctmp" />
-    <unjar src="${build.dir}/xsltctmp/BCEL.jar"
-           dest="${build.dir}/xsltctmp" />
-    <unjar src="${build.dir}/xsltctmp/JLex.jar"
-           dest="${build.dir}/xsltctmp" />
-    <unjar src="${build.dir}/xsltctmp/java_cup.jar"
-           dest="${build.dir}/xsltctmp" />
-    <unjar src="${build.dir}/xsltctmp/runtime.jar"
-           dest="${build.dir}/xsltctmp" />
-
-    <!-- remove jar files -->
-    <delete file="${build.dir}/xsltctmp/xsltc.jar" />
-    <delete file="${build.dir}/xsltctmp/BCEL.jar" />
-    <delete file="${build.dir}/xsltctmp/JLex.jar" />
-    <delete file="${build.dir}/xsltctmp/java_cup.jar" />
-    <delete file="${build.dir}/xsltctmp/runtime.jar" />
-
-    <!-- remove old META-INF dir -->
-    <delete dir="${build.dir}/xsltctmp/META-INF"
-        includeEmptyDirs="true" quiet="true"/>
-
-    <!-- make bundled jar named xsltc.jar -->
-    <jar jarfile="${build.dir}/xsltc.jar"
-         basedir="${build.dir}/xsltctmp" />
-
-    <!-- clean up tmp directory -->
-    <delete dir="${build.dir}/xsltctmp" includeEmptyDirs="true" quiet="true"/>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the xalan JAR                                               -->
-  <!-- =================================================================== -->
-  <target name="jar" depends="compile"
-    description="Jar up xalan.jar, plus the ${xmlapis.jar.name}" >
-    <!-- Copy over the manifest, with filtering (for version number) -->
-    <filter token="impl.version" value="${impl.version}"/>
-    <copy todir="${build.dir}" file="${manifest.mf}" filtering="true"/>
-    <jar jarfile="${build.xalan.jar}" manifest="${build.dir}/MANIFEST.MF" basedir="${build.classes}" >
-      <patternset><!-- relative to jar/@basedir -->
-        <exclude name="${xsltc.reldir}/**/*" />
-      </patternset>
-    </jar>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Default all target simply Creates the xalan JAR                     -->
-  <!-- =================================================================== -->
-  <target name="all" depends="jar"><!-- 'Standardizing build.xml files' <bloritsch@apache.org> -->
-    <echo message="Redirect to jar target; please provide input on desired functionality of this target"/>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the Xalan-J1 compatability JAR: being removed               -->
-  <!-- =================================================================== -->
-  <target name="compat.jar" depends="jar"
-    description="UNSUPPORTED:Compile and jar Xalan-J 1.x backwards compat classes" 
-    unless="skipcompat" >
-    <echo message="UNSUPPORTED:Compile and jar just the Xalan-J 1 compability API"/>
-    <mkdir dir="${build.compat.classes}"/>
-    <javac srcdir="${compat.src.dir}" 
-           destdir="${build.compat.classes}"
-           includes="**/*.java"
-           debug="${build.debug}"
-           bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="docs.class.path" />
-    </javac>           
-    <copy todir="${build.compat.classes}">
-          <fileset dir="${compat.src.dir}" includes="**/*.properties,**/*.res"/>
-    </copy>  
-    <jar jarfile="${build.compat.jar}" manifest="${manifest.mf}" basedir="${build.compat.classes}"/>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the Xalan-J1 compatability javadoc: being removed           -->
-  <!-- =================================================================== -->
-  <target name="compat.javadocs" depends="jar"
-    description="UNSUPPORTED:Build javadocs for Xalan-J 1.x backwards compat classes" 
-    unless="skipcompat" >
-    <mkdir dir="${build.compat.apidocs}"/>
-    <javadoc
-         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="${Name-in-docs} 1 Compatability" 
-         doctitle="${Name-in-docs} 1 Compatability"
-         bottom="Copyright &#169; ${year} Apache XML Project. All Rights Reserved.">
-      <classpath refid="docs.class.path" />
-    </javadoc>
-  </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" 
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/UseStylesheetPI"   
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/UseStylesheetParam" 
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/SAX2SAX"  
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/DOM2DOM"  
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/Pipe"  
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/UseXMLFilters"  
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/Trace"   
-           destdir="${build.samples}"  excludes="${exclude}"
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/ApplyXPath"  
-           destdir="${build.samples}" excludes="${exclude}" 
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/trax"  
-           destdir="${build.samples}" excludes="${exclude}" 
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/extensions"  
-           destdir="${build.samples}" excludes="${exclude}" 
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <javac srcdir="${samples.dir}/Validate"  
-           destdir="${build.samples}" excludes="${exclude}" 
-           debug="${build.debug}" bootclasspathref="xslt.boot.class.path" >
-      <classpath refid="samples.class.path" />
-    </javac>           
-    <jar jarfile="${build.samples.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"
-            destdir="${build.samples}"
-            debug="${build.debug}"
-            bootclasspathref="xslt.boot.class.path" >
-       <classpath refid="samples.class.path" />
-     </javac>           
-      <copy todir="${build.samples}/servlet">
-        <fileset dir="${samples.dir}/servlet" 
-          includes="media.properties,default.xsl,default2.xsl"/>
-      </copy>  		         
-    <jar jarfile="${build.servlet.jar}" 
-         basedir="${build.samples}" 
-         includes="servlet/**"/>
- </target>
- 
-  <!-- =================================================================== -->
-  <!-- Compiles (does not jar) the translet samples in translets.          -->
-  <!-- For time being, classes are generated in place.                     -->
-  <!-- To run these samples, add xsltc.jar, runtime.jar, bcel.jar,         -->
-  <!-- and java_cup.jar (all in the bin directory) to the classpath        --> 
-  <!--                                                                     -->
-  <!-- When we have straightened out classpath issues,                     -->
-  <!-- add samples in CompiledApplet, CompiledBrazil, and CompiledServlet  -->
-  <!-- =================================================================== -->
-  <target name="xsltc.samples" depends="jar,xsltc.jar">
-    <javac srcdir="${samples.dir}/translets" classpath="${java.class.path}:${build.xsltc.jar}" 
-           destdir="${samples.dir}/translets" excludes="${exclude}" 
-           debug="${build.debug}"
-           bootclasspathref="xslt.boot.class.path" />
-  </target>
- 
- 
-  <!-- =================================================================== -->
-  <!-- Generate HTML docs                                                  -->
-  <!-- =================================================================== -->
-  <target name="docs" depends="jar,prepare.docs,autodocs"
-    description="Build the 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}" 
-          classpathref="docs.class.path" >
-       <arg line="targetDirectory=${build.docs} ${xdocs.book} ${xdocs.style}"/>
-    </java>	 
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the API documentation                                       -->
-  <!-- =================================================================== -->
-  <target name="javadocs" depends="jar,prepare.docs,autojavadocs"
-    description="Build the Javadocs for Xalan 2.x and xml-commons sources" >
-    <echo message="javadocs is human-usable target with dependencies"/>  
-  </target>
-
-  <target name="autojavadocs">
-    <echo message="autojavadocs is for automated build process, without dependencies"/>
-    
-      <!-- Expand xml-commons sources (JAXP 1.1, DOM 2, and SAX 2) into source tree for 
-           inclusion in the Javadoc. -->                                            
-     <gunzip src="${xml-commons-srcs.tar.gz}" dest="${build.dir}" />                                                                         
-     <untar src="${xml-commons-srcs.tar}" dest="${src.dir}" /><!-- Note this is into the src area.-->                                                                         
-     <delete file="${xml-commons-srcs.tar}"/>
-      
-    <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
-    <javadoc
-         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-in-docs} 2" 
-         doctitle="${Name-in-docs} 2"
-         bottom="Copyright &#169; ${year} Apache XML Project. All Rights Reserved.">
-          <classpath refid="docs.class.path" />
-          <doclet name="xalanjdoc.Standard" path="${doclet.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="Document Table Model (DTM)" packages="org.apache.xml.dtm*"/>          
-          <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*"/>
-          <group title="XSLTC Core"
-                 packages="org.apache.xalan.xsltc*"/>
-    </javadoc>
-    
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Various targets to clean the build tree                             -->
-  <!-- =================================================================== -->
-  <target name="distclean" depends="clean"
-    description="Clean everything, including dist/jar/docs/xsltc.*" >
-    <delete dir="${dist.dir}"/>
-  </target>
-
-  <target name="clean" depends="xsltc.clean"
-    description="Clean the ${build.dir} tree and doc outputs" >
-    <delete dir="${build.dir}"/>
-    <delete dir="${site.root}"/>
-    <delete>
-      <fileset dir="${xdocs.style}" excludes="${xalanonly-styledocs}"/>
-    </delete>
-    <delete file="${xdocs.DONE.file}"/>
-    <delete file="${xdocs.XSLTCDONE.location}"/>
-    <!-- Also delete files expanded from ${xml-commons-srcs.tar.gz}-->
-  </target>
- 
-  <target name="xsltc.clean"
-    description="Clean miscellaneous generated sources from xsltc.compile" >
-    <delete file="${generated.xpathparser}" />
-    <delete file="${generated.xpathsym}" />
-    <delete file="${generated.xpathlexer}" />
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Install/Uninstall targets - not currently applicable                -->
-  <!-- =================================================================== -->
-  <target name="install"><!-- 'Standardizing build.xml files' <bloritsch@apache.org> -->
-    <echo message="install target currently not supported in ${Name-in-docs}; try jar or dist instead"/>
-  </target>
-  <target name="uninstall"><!-- 'Standardizing build.xml files' <bloritsch@apache.org> -->
-    <echo message="uninstall target currently not supported in ${Name-in-docs}; try distclean instead"/>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Creates the distribution                                            -->
-  <!-- =================================================================== -->
-  <target name="dist" depends="jar,docs,javadocs,samples,servlet,xsltc.jar,xsltc.docs,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}/xdocs"/>
-    <mkdir dir="${dist.dir}/docs"/>
-    <mkdir dir="${dist.dir}/docs/apidocs"/>
-    <mkdir dir="${dist.dir}/samples"/>
-        
-    <!-- Copy bin directory, which includes preexisting checked-in .jar files -->
-    <copy todir="${dist.dir}/bin">
-      <!-- But skip copying old xerces.jar, which will be removed soon -->
-      <fileset dir="${bin.dir}" excludes="xerces.jar" />
-    </copy>  
-
-    <!-- Copy sources and source documentation -->
-    <copy todir="${dist.dir}/src">
-      <fileset dir="${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 various built product .jars into the bin directory 
-         of the distro, note that changes to what .jars we ship 
-         must also be duplicated in the appropriate patternsets 
-         below that actually define the contents of our two 
-         *-bin.zip/tar.gz and *-src.zip/tar.gz files.
-    -->
-    <copy file="${build.xalan.jar}" todir="${dist.dir}/bin" />
-    <copy file="${build.xsltc.jar}" todir="${dist.dir}/bin"/>
-
-    <copy todir="${dist.dir}">
-      <fileset dir="." includes="readme.html,KEYS,License,build.xml,build.sh,build.bat,xsltc_todo.xml,todo.xsl,commits.xml"/>
-    </copy>
-          
-    <!-- Build separate -src and -bin distros for both .zip and .tar.gz -->
-    <!-- Explicitly list xercesImpl.jar in patternsets since we 
-         always want Xerces in distros, immaterial of parser 
-         used to compile (at least for official builds) -->
-    <patternset id="bin-distro" >
-      <include name="${dist.file}/readme.html"/>
-      <include name="${dist.file}/License"/>
-      <include name="${dist.file}/KEYS"/>
-      <include name="${dist.file}/bin/${name}.jar"/>
-      <include name="${dist.file}/bin/${xmlapis.jar.name}"/>
-      <include name="${dist.file}/bin/xsltc.jar"/>
-      <include name="${dist.file}/bin/xercesImpl.jar"/>
-      <include name="${dist.file}/bin/${bsf.jar.name}"/>
-      <include name="${dist.file}/bin/xalansamples.jar"/>
-      <include name="${dist.file}/bin/xalanservlet.jar"/>
-      <include name="${dist.file}/samples/"/>
-      <include name="${dist.file}/docs/"/>
-    </patternset>
-    <patternset id="src-distro" >
-      <include name="${dist.file}/*"/>
-      <include name="${dist.file}/bin/ant*"/>
-      <include name="${dist.file}/bin/xercesImpl.jar"/>
-      <include name="${dist.file}/bin/${xmlapis.jar.name}"/>
-      <include name="${dist.file}/bin/${bsf.jar.name}"/>
-      <include name="${dist.file}/bin/${stylebook.jar.name}"/>
-      <include name="${dist.file}/bin/${doclet.jar.name}"/>
-      <include name="${dist.file}/samples/"/>
-      <include name="${dist.file}/src/"/>
-      <include name="${dist.file}/xdocs/"/>
-    </patternset>
-    <!-- For convenience, list the assorted XSLTC engine dependency
-         .jar files separately, since they go in both -bin and -src.
-    -->
-    <patternset id="xsltc-deps-jars" >
-      <include name="${dist.file}/bin/${bcel.jar.name}"/>
-      <include name="${dist.file}/bin/${java_cup.jar.name}"/>
-      <include name="${dist.file}/bin/${jlex.jar.name}"/>
-      <include name="${dist.file}/bin/${runtime.jar.name}"/>
-    </patternset>
-
-    <tar tarfile="${build.dir}/${dist.file}-bin.tar" >
-      <tarfileset dir="${build.dir}">
-        <patternset refid="bin-distro"/>
-        <patternset refid="xsltc-deps-jars"/>
-      </tarfileset>
-    </tar>
-    <gzip src="${build.dir}/${dist.file}-bin.tar" zipfile="${build.dir}/${dist.file}-bin.tar.gz"/>
-    <delete file="${build.dir}/${dist.file}-bin.tar" />
-
-    <tar tarfile="${build.dir}/${dist.file}-src.tar" >
-      <tarfileset dir="${build.dir}">
-        <patternset refid="src-distro"/>
-        <patternset refid="xsltc-deps-jars"/>
-      </tarfileset>
-    </tar>
-    <gzip src="${build.dir}/${dist.file}-src.tar" zipfile="${build.dir}/${dist.file}-src.tar.gz"/>
-    <delete file="${build.dir}/${dist.file}-src.tar" />
-
-    <zip zipfile="${build.dir}/${dist.file}-bin.zip" >
-      <fileset dir="${build.dir}">
-        <patternset refid="bin-distro"/>
-        <patternset refid="xsltc-deps-jars"/>
-      </fileset>
-    </zip>
-    <zip zipfile="${build.dir}/${dist.file}-src.zip" >
-      <fileset dir="${build.dir}">
-        <patternset refid="src-distro"/>
-        <patternset refid="xsltc-deps-jars"/>
-      </fileset>
-    </zip>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Creates the documentation tree for the org.apache.xml website       -->
-  <!-- =================================================================== -->
-  <target name="site" depends="prepare.docs"
-    description="Build documentation for posting to the website" >
- 
-    <mkdir dir="${site.dir}/apidocs"/>
-    <mkdir dir="${site.dir}/compat_apidocs"/>
-    <mkdir dir="${site.dir}/design"/>
-    <java fork="yes" 
-          classname="${doc.generator}" 
-          classpathref="docs.class.path" >
-       <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 xsltc design doc in the site xsltc subdir -->
-    <copy todir="${site.dir}/xsltc">
-      <fileset dir="${build.docs}/xsltc"/>
-    </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 mini/smoketest from xml-xalan\test, if present    -->
-  <!-- =================================================================== -->
-  <property name="test.relpath" value="../test"/>
-
-  <target name="minitest" depends="prepare,minitest-run,tests-not-available" 
-    description="Run the Minitest from xml-xalan/test" >
-    <!-- This target simply asks the minitest-run worker target to 
-         actually have the Minitest run (by the test/build.xml file);
-         we then also call the tests-not-available target in case 
-         the user never checked out the tests.
-    -->
-  </target>
-  <target name="minitest-run" if="tests-available" depends="jar" >
-    <echo message=" [minitest] Calling ${test.relpath}/build.xml to run the Minitest" />
-    <ant dir="${test.relpath}" antfile="build.xml" target="minitest.gump" >
-    </ant>
-  </target>
-
-  <target name="smoketest" depends="prepare,smoketest-run,tests-not-available" 
-    description="Run Smoketests (Minitest, conf, harness) from xml-xalan/test" >
-  </target>
-  <target name="smoketest-run" if="tests-available" depends="jar" >
-    <echo message=" [minitest] Calling ${test.relpath}/build.xml to run the Smoketest" />
-    <ant dir="${test.relpath}" antfile="build.xml" target="smoketest.dev" >
-    </ant>
-  </target>
-
-  <target name="check" depends="smoketest"><!-- 'Standardizing build.xml files' <bloritsch@apache.org> -->
-    <echo message="Redirect to smoketest target"/>
-  </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 in ${test.relpath}" />
-    <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>
-
-  <!-- =================================================================== -->
-  <!-- Creates the xalan design document                                   -->
-  <!-- =================================================================== -->
-    <target name="xalan-j2-design">
-    <java fork="yes" 
-          classname="${doc.generator}" 
-          classpathref="docs.class.path" >
-      <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="printerdocs" depends="prepare.docs">
-    <echo message="NOTICE: requires fop.jar and xml.jar on the classpath"/>
-    <java fork="yes" 
-          classname="${xalan.cmdline.class}"
-          classpathref="docs.class.path" >
-      <arg line="-xsl ${xdocs.dir}/sources/xalan-collate.xsl 
-                 -out xdocs/sources/xalan/xalan-collate.xml"/>
-    </java>
-    
-    <!-- Transform collation into Formatting Objects 
-         (with a little work on links along the way) -->    
-    <java fork="yes" 
-          classname="${xalan.cmdline.class}"
-          classpathref="docs.class.path" >
-      <arg line="-in  ${xdocs.dir}/sources/xalan/xalan-collate.xml
-                 -param resourceFile '../../sources/xalan/resources.xml'
-                 -param project ${Name-in-docs}      
-                 -xsl ${xdocs.style}/stylesheets/xml2fo.xsl 
-                 -out build/docs/xalan-collate.fo"/>
-    </java>
-    
-    <!-- Use FOP to generate a pdf file (classpath may need updating! -sc 18-Apr-01)-->
-    <java fork="yes" 
-          classname="org.apache.fop.apps.CommandLine"
-      classpath="${java.class.path}:${build.xalan.jar}:${bin.dir}/fop.jar:${bin.dir}/w3c.jar">
-      <arg line="${build.docs}/xalan-collate.fo build/docs/xalan.pdf"/>
-    </java>
-  </target>
-
- 
-  <!-- =================================================================== -->
-  <!-- Build XSLTC design documentation. Eventually intend to incorporate -->
-  <!-- XSLTC into the Xalan book.                                         -->
-  <!-- =================================================================== -->
-
-
-  <target name="xsltc.prepare.docs" depends="prepare.docs">
-      <echo message="Transform xsltc_todo.xml and put the result in ${build.docs}/xsltc"/>
-   <mkdir dir="${build.docs}/xsltc"/>
-    <java fork="yes" classname="${xalan.cmdline.class}">
-      <classpath refid="docs.class.path" />
-      <arg line="-in xsltc_todo.xml -xsl todo.xsl -out build/docs/xsltc/todo.html"/>
-    </java>
-  </target>  
- 
- <target name="xsltc.docs" depends="xsltc.prepare.docs">
-   <echo message="Build the XSLTC Architectural documentation"/>
-   <java fork="yes" 
-         classname="${doc.generator}" 
-         classpathref="docs.class.path" >
-      <arg line="targetDirectory=${build.docs}/xsltc ${xdocs.dir}/sources/xsltc.xml ${xdocs.style}"/>
-    </java>	 
- </target>
- 
-   <!-- pack all doc for transfer to website -->
- <target name="pack.docs">
-    <!--tar tarfile="./build/xalan-j-docs.tar" basedir="./xml-site/target/xalan-j" includes="**"/>
-    <gzip src="./build/xalan-j-docs.tar" zipfile="./build/xalan-j-docs.tar.gz"/-->
-    <zip zipfile="./build/xalan-j-docs.zip" basedir="./xml-site/target/xalan-j" includes="**"/>
-  </target>
-
- 
-</project>
diff --git a/commits.xml b/commits.xml
deleted file mode 100644
index c12e0e8..0000000
--- a/commits.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0"?>
-<Commits>
-<Commit category="core">
-<Who>johng@apache.org</Who>
-<DateCommitted>01/17/2002</DateCommitted>
-<Modified>java/src/org/apache/xalan/lib/sql XConnection.java</Modified>
-<Log>Fixed second connection problem</Log>
-</Commit>
-<Commit category="core">
-<Who>johng@apache.org</Who>
-<DateCommitted>01/17/2002</DateCommitted>
-<Modified>java/src/org/apache/xalan/lib/sql SQLDocument.java</Modified>
-<Log>Update for new DTM Model</Log>
-</Commit>
-<Commit category="core">
-<Who>johng@apache.org</Who>
-<DateCommitted>01/17/2002</DateCommitted>
-<Modified>java/src/org/apache/xalan/lib/sql DTMDocument.java</Modified>
-<Log>Update for new DTM Model</Log>
-</Commit>
-<Commit category="core">
-<Who>johng@apache.org</Who>
-<DateCommitted>01/17/2002</DateCommitted>
-<Modified>java/src/org/apache/xalan/lib/sql SQLDocument.java
- DTMDocument.java</Modified>
-<Log>Removed Debug</Log>
-</Commit>
-<Commit category="core">
-<Who>jkesselm@apache.org</Who>
-<DateCommitted>01/18/2002</DateCommitted>
-<Modified>java/src/org/apache/xml/utils FastStringBuffer.java</Modified>
-<Log>Whups. There's a possible reentrancy problem when data
- is being serialized from an FSB, thru Sax, back into a new
- chunk of the same FSB; if the append causes a rechunking,
- the serialize loop may break.
-
- TEMPORARY PATCH; permanant fix to follow. See comments.</Log>
-</Commit>
-<Commit category="core">
-<Who>jkesselm@apache.org</Who>
-<DateCommitted>01/18/2002</DateCommitted>
-<Modified>java/src/org/apache/xml/utils SuballocatedIntVector.java</Modified>
-<Log>&lt;blush&gt;Wrong side of the fencepost...&lt;/blush></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 00e72ed..0000000
--- a/compat_src/org/apache/xalan/xpath/XBoolean.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.*;
-
-/**
- * <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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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
-  {    
-    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 4669bca..0000000
--- a/compat_src/org/apache/xalan/xpath/XBooleanStatic.java
+++ /dev/null
@@ -1,90 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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
-  {
-    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 819690c..0000000
--- a/compat_src/org/apache/xalan/xpath/XNodeSet.java
+++ /dev/null
@@ -1,359 +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.Text;
-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;
-import org.apache.xpath.DOMHelper;
-import org.apache.xml.dtm.ref.DTMNodeIterator;
-import org.apache.xml.dtm.ref.DTMNodeList;
-import org.apache.xml.dtm.ref.DTMManagerDefault;
-import org.apache.xml.dtm.DTM;
-
-/**
- * <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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-public class XNodeSet extends XObject  
-{
-  org.apache.xpath.objects.XNodeSet m_xnodeset;
-  DTMManagerDefault dtmMgr = new DTMManagerDefault(); 
-  
-  /**
-   * Construct a XNodeSet object.
-   */
-  public XNodeSet(NodeList val)
-  {
-    super();
-    int node = dtmMgr.getDTMHandleFromNode(val.item(0));
-    m_xnodeset = new org.apache.xpath.objects.XNodeSet(dtmMgr.createDTMIterator(node)) ;
-  }
-  
-  /**
-   * Construct an empty XNodeSet object.
-   */
-  public XNodeSet()
-  {
-    super();
-    m_xnodeset = new org.apache.xpath.objects.XNodeSet(dtmMgr);
-  }
-
-  /**
-   * Construct a XNodeSet object for one node.
-   */
-  public XNodeSet(Node n)
-  {
-    super(n);    
-    m_xnodeset = new org.apache.xpath.objects.XNodeSet(dtmMgr.getDTMHandleFromNode(n), dtmMgr);
-  }
-  
-  
-  /**
-   * 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(dtmMgr.getDTMHandleFromNode(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)
-  {
-    switch (n.getNodeType())
-    {
-    case Node.ELEMENT_NODE :
-    case Node.DOCUMENT_NODE :
-      return DOMHelper.getNodeData(n);
-    case Node.CDATA_SECTION_NODE :
-    case Node.TEXT_NODE :
-      return ((Text) n).getData();
-    case Node.COMMENT_NODE :
-    case Node.PROCESSING_INSTRUCTION_NODE :
-    case Node.ATTRIBUTE_NODE :
-      return n.getNodeValue();
-    default :
-      return DOMHelper.getNodeData(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 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)
-  {
-    org.apache.xpath.XPathContext context = (org.apache.xpath.XPathContext)support;
-    return m_xnodeset.rtree(context);
-    //return (DocumentFragment)context.getDTMManager().getDTM(result).getNode(result);    
-  }
-
-  /**
-   * Cast result object to a nodelist.
-   */
-  public NodeList nodeset() throws javax.xml.transform.TransformerException
-  {
-    return new DTMNodeList(m_xnodeset.iter());
-  }  
-
-  /**
-   * Cast result object to a nodelist.
-   */
-  public NodeList mutableNodeset()
-  {
-   return new DTMNodeList(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.m_xObject);
-  }
-  
-  /**
-   * 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.m_xObject);
-  }
-  
-  /**
-   * 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.m_xObject);
-  }
-  
-  /**
-   * 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.m_xObject);
-  }   
-  
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException
-  {
-    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.m_xObject);
-  }  
- 
- static class NodeIteratorWrapper extends org.apache.xpath.NodeSetDTM
-  {
-
-    /** Position of next node          */
-    private int m_pos = 0;
-
-    /** Document fragment instance this will wrap         */
-    private NodeList m_list;
-    private org.apache.xml.dtm.DTMManager dtmManager; 
-
-    /**
-     * Constructor NodeIteratorWrapper
-     *
-     *
-     * @param df Document fragment instance this will wrap
-     */
-    NodeIteratorWrapper(NodeList list)
-    {
-      super(new org.apache.xml.dtm.ref.DTMManagerDefault());
-      m_list = list;
-      dtmManager = getDTMManager(); 
-    }
-
-  
-    /**
-     *  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 int nextNode() throws DOMException
-    {
-
-      Node n;
-      if (m_pos < m_list.getLength())
-      {
-       n = m_list.item(m_pos++);
-       return dtmManager.getDTMHandleFromNode(n);
-      }
-      
-      else
-        return DTM.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 int previousNode() throws DOMException
-    {
-
-      Node n;
-      if (m_pos >0)
-      {
-        n = m_list.item(m_pos-1);
-        return dtmManager.getDTMHandleFromNode(n);
-      }
-      else
-        return DTM.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 d7e46b6..0000000
--- a/compat_src/org/apache/xalan/xpath/XNull.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.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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 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)
-  {
-    org.apache.xpath.XPathContext context = (org.apache.xpath.XPathContext)support;
-    return m_xnull.rtree(context);
-    //return (DocumentFragment)context.getDTMManager().getDTM(result).getNode(result);    
-  } 
-
-  /**
-   * Cast result object to a nodelist.
-   */
-  public NodeList 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 79e1b0d..0000000
--- a/compat_src/org/apache/xalan/xpath/XNumber.java
+++ /dev/null
@@ -1,142 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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
-  {
-    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 12639bb..0000000
--- a/compat_src/org/apache/xalan/xpath/XObject.java
+++ /dev/null
@@ -1,274 +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.io.Serializable;
-import org.apache.xpath.res.XPATHErrorResources;
-import org.apache.xalan.res.XSLMessages;
-
-
-/**
- * <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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-public class XObject extends Object implements Serializable    
-{
-  org.apache.xpath.objects.XObject m_xObject;
-  
-  /**
-   * Create an XObject.
-   */
-  public XObject()
-  {
-    m_xObject = new org.apache.xpath.objects.XObject() ;
-  }
-
-  /**
-   * Create an XObject.
-   */
-  public XObject(Object obj)
-  {
-    m_xObject = new org.apache.xpath.objects.XObject(obj) ;
-  }
-  
-    /**
-   * Tell what kind of class this is.
-   */
-  public int getType()
-  {
-    return m_xObject.getType();
-  }
-
-  /**
-   * Given a request type, return the equivalent string. 
-   * For diagnostic purposes.
-   */
-  protected String getTypeString() // PR:DMAN4MBJ4D Submitted by:<garyp@firstech.com> change to protected
-  {
-    return "#UNKNOWN";
-  }
-  
-  /**
-   * Cast result object to a number.
-   */
-  public double num()
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-	  return m_xObject.num();
-  }
-
-  /**
-   * Cast result object to a boolean.
-   */
-  public boolean bool()
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xObject.bool();
-  }
-
-  /**
-   * Cast result object to a string.
-   */
-  public String str()
-  {
-    return m_xObject.str();
-  }
-  
-  public String toString()
-  {
-    return m_xObject.toString();
-  }
-  
-  /**
-   * Cast result object to a result tree fragment.
-   */
-  public DocumentFragment rtree(XPathSupport support)
-  {
-    org.apache.xpath.XPathContext context = (org.apache.xpath.XPathContext)support;
-    return m_xObject.rtree(context);
-    //return  (DocumentFragment)context.getDTMManager().getDTM(result).getNode(result);         
-  }
-  
-  /**
-   * For functions to override.
-   */
-  public DocumentFragment rtree()
-  {
-    return null;
-  }
-  
-  /**
-   * Return a java object that's closes to the represenation 
-   * that should be handed to an extension.
-   */
-  public Object object()
-  {
-    return m_xObject.object();
-  }
-
-  /**
-   * Cast result object to a nodelist.
-   */
-  public NodeList nodeset()
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    error(XPATHErrorResources.ER_CANT_CONVERT_TO_NODELIST, new Object[] {getTypeString()}); //"Can not convert "+getTypeString()+" to a NodeList!");
-    return null;
-  }  
-  
-  /**
-   * Cast result object to a nodelist.
-   */
-  public NodeList mutableNodeset()
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return new org.apache.xml.dtm.ref.DTMNodeList(m_xObject.mutableNodeset());
-  }  
- 
-  /**
-   * Cast object to type t.
-   */
-  public Object castToType(int t, XPathSupport support)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {   
-    return m_xObject.castToType(t, (org.apache.xpath.XPathContext) support);
-  }
-
-  /**
-   * 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_xObject.lessThan(obj2.m_xObject);
-  }
-
-  /**
-   * 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_xObject.lessThanOrEqual(obj2.m_xObject);
-  }
-
-  /**
-   * Tell if one object is less than the other.
-   */
-  public boolean greaterThan(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xObject.greaterThan(obj2.m_xObject);
-  }
-
-  /**
-   * Tell if one object is less than the other.
-   */
-  public boolean greaterThanOrEqual(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xObject.greaterThanOrEqual(obj2.m_xObject);
-  }
-
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException
-  {
-    return m_xObject.equals(obj2.m_xObject);
-  }
-  
-  /**
-   * Tell if two objects are functionally not equal.
-   */
-  public boolean notEquals(XObject obj2)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    return m_xObject.notEquals(obj2.m_xObject);
-  }
-
-  /**
-   * Tell the user of an error, and probably throw an 
-   * exception.
-   */
-  protected void error(int msg)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-	  error (msg, null);
-  }	   
-
-  /**
-   * Tell the user of an error, and probably throw an 
-   * exception.
-   */
-  protected void error(int msg, Object[] args)
-    throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
-  {
-    String fmsg = XSLMessages.createXPATHMessage(msg, args);
-
-    
-    throw new org.xml.sax.SAXException(fmsg);
-  }
-
-}
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 cfb19f3..0000000
--- a/compat_src/org/apache/xalan/xpath/XPathSupport.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;
-
-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).
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-public interface XPathSupport 
-{
-  
-}
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 b898b32..0000000
--- a/compat_src/org/apache/xalan/xpath/XPathSupportDefault.java
+++ /dev/null
@@ -1,75 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 b9a2984..0000000
--- a/compat_src/org/apache/xalan/xpath/XRTreeFrag.java
+++ /dev/null
@@ -1,151 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-public class XRTreeFrag extends XObject 
-{ 
-  
-  org.apache.xpath.objects.XRTreeFrag m_xrtreefrag;
-  org.apache.xpath.XPathContext context = new org.apache.xpath.XPathContext();
-    
-  
-  /**
-   * Create an XObject.
-   */
-  public XRTreeFrag(DocumentFragment frag)
-  {
-    super(frag);   
-    m_xrtreefrag = new org.apache.xpath.objects.XRTreeFrag(context.getDTMHandleFromNode(frag), context); 
-  }
-  
-  /**
-   * 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() throws javax.xml.transform.TransformerException
-  {    
-    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(context);
-    //return  (DocumentFragment)context.getDTMManager().getDTM(result).getNode(result);    
-  }  
-  
-  /**
-   * Cast result object to a nodelist. (special function).
-   */
-  public NodeList convertToNodeset()
-  {
-    return ((DocumentFragment)this.object()).getChildNodes();    
-  }  
-  
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException
-  {   
-      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 b0e79ae..0000000
--- a/compat_src/org/apache/xalan/xpath/XString.java
+++ /dev/null
@@ -1,213 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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)
-  {  
-    double result;
-
-    if (null == s)
-      result = 0.0;
-    else
-    {
-      try
-      {
-
-        /**
-         * TODO: Adjust this for locale. Need to take into
-         * account the lang parameter on the xsl:sort
-         */
-
-        // It seems we can not use this as it just parses the 
-        // start of the string until it finds a non-number char, 
-        // which is not what we want according to the XSLT spec.  
-        // Also, I *think* this is a local-specific
-        // parse, which is also not what we want according to the 
-        // XSLT spec (see below).
-        // NumberFormat formatter = NumberFormat.getNumberInstance();
-        // result = formatter.parse(s.trim()).doubleValue();
-        // The dumb XSLT spec says: "The number function should 
-        // not be used for conversion of numeric data occurring 
-        // in an element in an XML document unless the element 
-        // is of a type that represents numeric data in a 
-        // language-neutral format (which would typically be 
-        // transformed into a language-specific format for 
-        // presentation to a user). In addition, the number 
-        // function cannot be used unless the language-neutral 
-        // format used by the element is consistent with the 
-        // XPath syntax for a Number."
-        // So I guess we need to check, if the default local 
-        // is french, does Double.valueOf use the local specific 
-        // parse?  Or does it use the ieee parse?
-        result = Double.valueOf(s.trim()).doubleValue();
-      }
-
-      // catch (ParseException e) 
-      catch (NumberFormatException nfe)
-      {
-        result = Double.NaN;
-      }
-    }
-
-    return result;  
-  }
-  
-  /**
-   * 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)
-  {  
-    org.apache.xpath.XPathContext context = (org.apache.xpath.XPathContext)support;
-    return m_xstring.rtree(context);
-    //return (DocumentFragment)context.getDTMManager().getDTM(result).getNode(result);    
-  }
-  
-  
-  /**
-   * 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)
-  {
-    org.apache.xpath.XPathContext context = (org.apache.xpath.XPathContext)support;
-    return m_xstring.rtree(context);
-    //return (DocumentFragment)context.getDTMManager().getDTM(result).getNode(result);    
-  } 
-  
-  
-  /**
-   * Tell if two objects are functionally equal.
-   */
-  public boolean equals(XObject obj2)
-    throws org.xml.sax.SAXException
-  {
-    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 8c4478b..0000000
--- a/compat_src/org/apache/xalan/xpath/xdom/XercesLiaison.java
+++ /dev/null
@@ -1,389 +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
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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.
-   */
-  static 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.
-   */
-  static 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 490c968..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToDOM.java
+++ /dev/null
@@ -1,130 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 5f8411b..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToHTML.java
+++ /dev/null
@@ -1,133 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 889eda0..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToText.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/>.
- */
-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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 70eaade..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToXML.java
+++ /dev/null
@@ -1,139 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 feaf996..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/ProblemListener.java
+++ /dev/null
@@ -1,112 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 f1a7ba2..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/ProblemListenerDefault.java
+++ /dev/null
@@ -1,323 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 0bc4701..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/TreeWalker.java
+++ /dev/null
@@ -1,106 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 822b46b..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaison.java
+++ /dev/null
@@ -1,75 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 f3ade6c..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.*;
-import org.apache.xpath.*;
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-
-/**
- * A class that handles interfacing IBM's XML4J2 to the 
- * Lotus XSL Processor.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 1a4243b..0000000
--- a/compat_src/org/apache/xalan/xslt/Stylesheet.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.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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 3bc29af..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetHandler.java
+++ /dev/null
@@ -1,124 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 88c2f94..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetRoot.java
+++ /dev/null
@@ -1,466 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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, xmlSource, outputTarget);
-    
-  }
-
-  /**
-   * 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);
-		XSLTEngineImpl processor = (XSLTEngineImpl)iprocessor; // TODO: Check for class cast exception
-		
-    synchronized(processor)
-    {      
-      processor.setStylesheet(this);
-
-      try
-      {
-				processor.getTransformer().transform(xmlSource.getSourceObject(),
-																						 outputTarget.getResultObject());
-			}
-      catch (TransformerException te)
-      {
-        throw new SAXException(te); 
-      }             
-    }
-       
-  }
-
-  /**
-   * 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
-      {
-				processor.getTransformer().transform(new javax.xml.transform.dom.DOMSource(sourceTree),
-																						 outputTarget.getResultObject());
-       
-      }
-      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 dad1527..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetSpec.java
+++ /dev/null
@@ -1,130 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 ffe7d92..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)
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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);
-  }
-
-  
-}
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 baab5a0..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLProcessorException.java
+++ /dev/null
@@ -1,108 +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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 d6fbc2c..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.transformer.TransformerHandlerImpl;
-
-// Imported JAVA API for XML Parsing 1.0 classes
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-
-/**
- * <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
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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
-				{
-					try
-					{
-
-						// Use an implementation of the JAVA API for XML Parsing 1.0 to
-						// create a DOM Document node to contain the result.
-						DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-
-						dfactory.setNamespaceAware(true);
-						dfactory.setValidating(false);
-
-						DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-						sourceTree = docBuilder.parse(xmlIdentifier);
-
-					}
-					catch (ParserConfigurationException pce)
-					{
-						error(XSLTErrorResources.ER_COULDNT_PARSE_DOC, new Object[] {xmlIdentifier}, pce); 
-					}
-				}							
-      }
-      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 = new org.apache.xml.dtm.ref.DTMNodeIterator(xobj.iter());
-      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 = new org.apache.xml.dtm.ref.DTMNodeIterator(xobj.iter());
-        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 = new org.apache.xml.dtm.ref.DTMNodeIterator(xobj.iter());
-          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 = new org.apache.xml.dtm.ref.DTMNodeIterator(xobj.iter());
-          }
-        }
-      }
-      }
-      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)
-  {
-    TransformerHandlerImpl handler = new TransformerHandlerImpl(m_transformerImpl, false, null);
-    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.object());
-  }
-
-  /**
-   * 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 4b0c780..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTInputSource.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.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)
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 d60f371..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTProcessor.java
+++ /dev/null
@@ -1,386 +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>
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 785cb4b..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTProcessorFactory.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/>.
- */
-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.
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 0810595..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java
+++ /dev/null
@@ -1,450 +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
- * @deprecated This compatibility layer will be removed in later releases. 
- */
-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 = 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 XSLTEngineImpl)
-			saxResult.setHandler(((XSLTEngineImpl)handler).getTransformer().getContentHandler());
-    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/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 612fa9f..0000000
--- a/samples/AppletXMLtoHTML/client.html
+++ /dev/null
@@ -1,122 +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,xml-apis.jar, and xercesImpl.jar (for Xerces-J2) 
-         or xerces.jar (for Xerces-J1)-->  
-    <applet  
-      name="xslControl"
-      code="org.apache.xalan.client.XSLTProcessorApplet.class"
-      archive="../../bin/xalan.jar,../../bin/xml-apis.jar,../../bin/xercesImpl.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-trax.html b/samples/AppletXMLtoHTML/get-trax.html
deleted file mode 100644
index b86179b..0000000
--- a/samples/AppletXMLtoHTML/get-trax.html
+++ /dev/null
@@ -1,27 +0,0 @@
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-  <head>
-	<title>Draft of Xalan-Java 2 TrAX Spec</title>
-  </head>
-  <script language="JavaScript"> 
-    function transform()
-    { 
-      var traxspec = xslControl.getHtmlText();
-      document.write(traxspec);
-    }
-  </script>
-  <body onLoad="transform();">
-  <!-- The applet archive attribute is set to include xalan.jar, xml-apis.jar, and 
-       xercesImpl.jar (for Xerces-J2) or xerces.jar (for Xerces-J1). -->
-    <applet  
-      name="xslControl"
-      code="org.apache.xalan.client.XSLTProcessorApplet.class"
-      archive="../../bin/xalan.jar,../../bin/xml-apis.jar,../../bin/xercesImpl.jar,../../bin/xerces.jar"
-      height="0"
-      width="0">
-      <param name="documentURL" value="trax.xml"/> 
-      <param name="styleURL" value="spec.xsl"/>
-    </applet>
-  </body>
-</html>
\ No newline at end of file
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/spec.xsl b/samples/AppletXMLtoHTML/spec.xsl
deleted file mode 100644
index df3bf70..0000000
--- a/samples/AppletXMLtoHTML/spec.xsl
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN"/>
-  
-  <xsl:template match="spec">
-    <html>
-      <head>
-        <title>
-          <xsl:value-of select="title"/>
-        </title>
-      </head>
-      <body>
-        <xsl:apply-templates/>
-      </body>
-    </html>
-  </xsl:template>
-  
-  <xsl:template match="spec/title">
-    <h1><xsl:apply-templates/></h1>
-  </xsl:template>
-
-  <xsl:template match="frontmatter">
-    <p><b>Edit Date: </b><xsl:value-of select="./pubdate"/></p>
-    <p><b>Author: </b>
-      <xsl:element name="a">
-        <xsl:attribute name="href">
-          <xsl:value-of select="concat('mailto:', author/address/email)"/>
-        </xsl:attribute>
-        <xsl:value-of select="concat(author/firstname,' ', author/surname, ', ', ./author/orgname)"/>
-      </xsl:element>
-    </p>    
-  </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="spec/*/*/title">
-    <h3>
-      <xsl:call-template name="apply-id-templates"/>
-    </h3>
-  </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">
-    <h2><xsl:value-of select="@module"/><xsl:text> </xsl:text>Patterns</h2>
-    <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:stylesheet>
-
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/trax.xml b/samples/AppletXMLtoHTML/trax.xml
deleted file mode 100644
index 8fa92c5..0000000
--- a/samples/AppletXMLtoHTML/trax.xml
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0"?>
-
-<spec> 
-  <title>Transformation API For XML (TrAX)</title>
-  <frontmatter> 
-  <pubdate>November 12, 2000</pubdate> 
-  <author><firstname>Scott</firstname> 
-         <surname>Boag</surname> 
-         <orgname>IBM Research</orgname> 
-         <address> 
-                <email>Scott_Boag@us.ibm.com</email> 
-         </address> 
-  </author></frontmatter> 
-  <introduction> 
-  <title>Introduction</title> 
-  <para>This overview describes the set of APIs contained in
-         <ulink url="http://xml.apache.org/xalan-j/apidocs/javax/xml/transform/package-summary.html">javax.xml.transform</ulink>, <ulink url="http://xml.apache.org/xalan-j/apidocs/javax/xml/transform/stream/package-summary.html">javax.xml.transform.stream</ulink>, <ulink url="http://xml.apache.org/xalan-j/apidocs/javax/xml/transform/dom/package-summary.html">javax.xml.transform.dom</ulink>, and <ulink url="http://xml.apache.org/xalan-j/apidocs/javax/xml/transform/sax/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> 
-  <terminology> 
-         <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 process 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> 
-  </terminology></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>
-</spec>
\ No newline at end of file
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 cf6d8f1..0000000
--- a/samples/ApplyXPath/ApplyXPath.java
+++ /dev/null
@@ -1,187 +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();
-      dfactory.setNamespaceAware(true);
-      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)
-      {         
-	if (isTextNode(n)) {
-	    // DOM may have more than one node corresponding to a 
-	    // single XPath text node.  Coalesce all contiguous text nodes
-	    // at this level
-	    StringBuffer sb = new StringBuffer(n.getNodeValue());
-	    for (
-	      Node nn = n.getNextSibling(); 
-	      isTextNode(nn);
-	      nn = nn.getNextSibling()
-	    ) {
-	      sb.append(nn.getNodeValue());
-	    }
-	    System.out.print(sb);
-	}
-	else {
-	  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);
-    }
-  }
-  
-  /** Decide if the node is text, and so must be handled specially */
-  static boolean isTextNode(Node n) {
-    if (n == null)
-      return false;
-    short nodeType = n.getNodeType();
-    return nodeType == Node.CDATA_SECTION_NODE || nodeType == Node.TEXT_NODE;
-  }
-
-  /** 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/CompiledApplet/README.applet b/samples/CompiledApplet/README.applet
deleted file mode 100644
index 0f43ba3..0000000
--- a/samples/CompiledApplet/README.applet
+++ /dev/null
@@ -1,91 +0,0 @@
-======================================================================
-The Sun XSLT Compiler (XSLTC) is a Java-based tool for compiling XSL
-stylesheets into extremely lightweight and portable Java byte code.
-The XSLTC Java Runtime environment can then process XML files against
-these compiled stylesheets (Translets) to generate any manner of
-output per the stylesheet instructions.
-
-This Applet Demo shows you how translets can be run in a client 
-browser as Java applets to perform XSLT transformations on XML 
-source documents residing on a Web server. Because of XSLTC's small 
-footprint, it is possible to download the compiled stylesheets 
-(translets) and the runtime classes in the applet. Whereas, this
-would not be easy with a fullsize Java-based XSLT processor. 
-
-There are two important advatages of this approach: 
-
-  1) It offloads XSLT processing from the server
-  2) It enables browsers, such as Netscape 4.x, that do not have native 
-     XSLT support to perform XSLT transformations today!
-
------------------------------------------------------------------------
-DEMO CONTENTS
------------------------------------------------------------------------
-The applet demo is very generic. It will let you run any pre-compiled
-translet through an applet, and it lets you use that on any XML file
-you can refer to using an URL. The contents of this demo are:
-
-  TransformApplet.java -  The applet that wraps the XSLTC runtime 
-      classes and your translet(s).
-
-  index.html - Your main HTML document (displays two frames)
-
-  menu.html  - The HTML document for your dialog frame. This is the
-      document that invokes the TransformApplet
-
------------------------------------------------------------------------
-HOW TO SET UP THE DEMO ON YOUR SITE
------------------------------------------------------------------------
-1. Install and configure Xalan with XSLTC
-
-2. Compile the stylesheets you want to export. This will result in one
-   or more small Java classes (translets).
-
-3. Create a JAR file with your the applet class (compile it first, of
-   cource), your translet classes and these classes from the xalan/xsltc
-   package:
-
-     org/apache/xalan/xsltc/*.class
-     org/apache/xalan/xsltc/dom/*.class
-     org/apache/xalan/xsltc/runtime/*.class
-     org/apache/xalan/xsltc/util/*.class
-
-   Be sure to make the JAR file world readable!
-
-4. Make your XML source documents readable through a URL (either place
-   them behind a web server or make them readable for your browser as
-   a file).
-
-5. Open the supplied index.html and try out the demo!
-
-----------------------------------------------------------------------
-KNOW PROBLEMS
-----------------------------------------------------------------------
-The following problems are specific to the Netscape 4.x browser.
-
-Class Already Loaded - If you start up the Netscape client browser on 
-a Unix system where you have been running XSLTC, and consequently 
-have a CLASSPATH that includes xml.jar, and xlstcrt.jar, the applet 
-demo fails. You'll see a message saying a class has already been 
-loaded in the Javascript console. To bring up the Javascript console,
-you type
-
-    javascript:
-
-in the location/URL field of the browser. To work around this problem, 
-unset your CLASSPATH before starting Netscape from a terminal window.
-This still may not resolve the problem if Netscape is started from 
-a wrapper that sets your environment from your startup file (e.g., 
-your .cshrc file for the C-shell).
-
-Parser Exception - This problem only applies to Netscape on the 
-Windows platform with XML documents that have an external DTD.
-If you see the following message:
-
-    org.xml.sax.SAXParseException: 
-    External parameter entity "%(DOCTYPE);"
-    has characters after markup.
-
-try removing the reference to an external DTD in your XML source.
-----------------------------------------------------------------------
-END OF README
diff --git a/samples/CompiledApplet/TransformApplet.java b/samples/CompiledApplet/TransformApplet.java
deleted file mode 100644
index 8b24fe7..0000000
--- a/samples/CompiledApplet/TransformApplet.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * @(#)$Id$
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001 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) 2001, Sun
- * Microsystems., http://www.sun.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
- * @author Morten Jorgensen
- * @author Jacek Ambroziak
- *
- */
-
-import java.io.*;
-import java.applet.*;
-import java.awt.*;
-import java.awt.event.*;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-
-import org.apache.xalan.xsltc.*;
-import org.apache.xalan.xsltc.runtime.*;
-import org.apache.xalan.xsltc.dom.*;
-
-/**
- * This applet demonstrates how XSL transformations can be made run in
- * browsers without native XSLT support.
- *
- * Note that the XSLTC transformation engine is invoked through its native
- * interface and not the javax.xml.transform (JAXP) interface. This because
- * XSLTC still does not offer precompiled transformations through JAXP.
- */
-public final class TransformApplet extends Applet {
-
-    // Single document cache
-    private String _documentUrl = "";
-    private DOMImpl _dom = null;
-    private DTDMonitor _dtdMonitor = null;
-
-    private static final String NAMESPACE_FEATURE =
-	"http://xml.org/sax/features/namespaces";
-
-    /**
-     * This class implements a dialog box used for XSL messages/comments
-     */
-    public class MessageFrame extends Frame {
-
-	public Frame frame;
-
-        public class ButtonHandler implements ActionListener {
-	    public void actionPerformed(ActionEvent e) {
-	        frame.setVisible(false);
-	    }
-	}
-
-	/**
-	 * This method handles xml:message and xsl:comment by displaying
-	 * the message/comment in a dialog box.
-	 */
-	public MessageFrame(String title, String message) {
-	    super(title);
-	    frame = this; // Make visible to ButtonHandler
-	    setSize(320,200);
-
-	    // Create a panel for the message itself
-	    Panel center = new Panel();
-	    center.add(new Label(message));
-
-	    // Create a panel for the 'OK' button
-	    Panel bottom = new Panel();
-	    Button okButton = new Button("   OK   ");
-	    okButton.addActionListener(new ButtonHandler());
-	    bottom.add(okButton);
-	    
-	    // Add the two panels to the window/frame
-	    add(center, BorderLayout.CENTER);
-	    add(bottom,BorderLayout.SOUTH);
-
-	    // Show the fecking thing
-	    setVisible(true);
-	}
-
-    }
-
-    /**
-     * The appled uses this method to display messages and comments
-     * generated by xsl:message and xsl:comment elements.
-     */
-    public class AppletMessageHandler extends MessageHandler {
-	public void displayMessage(String msg) {
-	    MessageFrame z = new MessageFrame("XSL transformation alert",msg);
-	}
-    }
-
-    /**
-     * Reads the input document from the supplied URL and builds the
-     * internal "DOM" tree.
-     */
-    private DOM getDOM(String url) throws Exception {
-	// Check if the document is already in the 1-document cache
-	if (url.equals(_documentUrl) == false) {
-
-	    // Create a SAX parser and get the XMLReader object it uses
-	    final SAXParserFactory factory = SAXParserFactory.newInstance();
-	    try {
-		factory.setFeature(NAMESPACE_FEATURE,true);
-	    }
-	    catch (Exception e) {
-		factory.setNamespaceAware(true);
-	    }
-	    final SAXParser parser = factory.newSAXParser();
-	    final XMLReader reader = parser.getXMLReader();
-
-	    // Set the DOM's builder as the XMLReader's SAX2 content handler
-	    _dom = new DOMImpl();
-	    reader.setContentHandler(_dom.getBuilder());
-
-	    // Create a DTD monitor and pass it to the XMLReader object
-	    _dtdMonitor = new DTDMonitor();
-	    _dtdMonitor.handleDTD(reader);
-
-	    // Parse the input document
-	    reader.parse(url);
-
-	    // Update the 1-document cahce with this DOM
-	    _documentUrl = url;
-	}
-	return _dom;
-    }
-
-    /**
-     * This method is the main body of the applet. The method is called
-     * by some JavaScript code in an HTML document.
-     */ 
-    public String transform(Object arg1, Object arg2) {
-
-	// Convert the two arguments to strings.
-	final String transletName = (String)arg1;
-	final String documentUrl = (String)arg2;
-
-	// Initialise the output stream
-	final StringWriter sout = new StringWriter();
-	final PrintWriter out = new PrintWriter(sout);
-
-	try {
-	    // Check that the parameters are valid
-	    if (transletName == null || documentUrl == null) {
-		out.println("<h1>Transformation error</h1>");
-		out.println("The parameters <b><tt>class</tt></b> "+
-			    "and <b><tt>source</tt></b> must be specified");
-	    }
-	    else {
-		// Instanciate a message handler for xsl:message/xsl:comment
-		AppletMessageHandler msgHandler = new AppletMessageHandler();
-
-		// Get a refenrence to the translet class
-		final Class tc = Class.forName(transletName);
-
-		// Instanciate and initialise the tranlet object
-		AbstractTranslet translet = (AbstractTranslet)tc.newInstance();
-		((AbstractTranslet)translet).setMessageHandler(msgHandler);
-
-		// Initialise the translet's output handler
-		DefaultSAXOutputHandler saxHandler = 
-		    new DefaultSAXOutputHandler(out);
-		TextOutput textOutput = new TextOutput(saxHandler);
-
-		getDOM(documentUrl);
-
-		final long start = System.currentTimeMillis();
-
-		// Set size of key/id indices
-		translet.setIndexSize(_dom.getSize());
-		// If there are any elements with ID attributes, build an index
-
-		_dtdMonitor.buildIdIndex(_dom, 0, translet);
-		// Pass unparsed entities to translet
-		translet.setUnparsedEntityURIs(_dtdMonitor.
-					       getUnparsedEntityURIs());
-		// Do the actual transformation
-		translet.transform(_dom, textOutput);
-
-		final long done = System.currentTimeMillis() - start;
-		out.println("<!-- transformed by XSLTC in "+done+"msecs -->");
-	    }
-	    // Now close up the sink, and return the HTML output in the
-	    // StringWrite object as a string.
-	    out.close();
-	    System.err.println("Transformation complete!");
-	    System.err.println(sout.toString());
-	    return sout.toString();
-	}
-	catch (RuntimeException e) {
-	    out.close();
-	    return sout.toString();
-	}
-	catch (Exception e) {
-	    out.println("<h1>exception</h1>");
-	    out.println(e.toString());
-	    out.close();
-	    return sout.toString();
-	}
-    }
-}
diff --git a/samples/CompiledApplet/index.html b/samples/CompiledApplet/index.html
deleted file mode 100755
index bde5656..0000000
--- a/samples/CompiledApplet/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
-<head><title>XSLT Applet Demonstration</title></head>
-
-<backgroundcolor=#ffffff>
-
-<frameset border="1" cols="25%,*">
-<frame src="menu.html" name="demo_ctrl">
-<frame src="about:blank" name="demo_output">
-</frameset>
-
-</html>
diff --git a/samples/CompiledApplet/menu.html b/samples/CompiledApplet/menu.html
deleted file mode 100755
index 265501a..0000000
--- a/samples/CompiledApplet/menu.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head></head>
-<body bgcolor=#ffffff>
-<hr>
-
-<center><h3>Xalan/XSLTC Applet Demo</h3></center>
-Each of these examples illustrate the use of translets
-within a Java applet:
-<p>
-
-  <script language="JavaScript">
-
-    function run_transform(form) {
-      /* Get the input document and translet class name from input form */
-      var translet = form.translet;
-      var document = form.document;
-
-      /* Get the frame to output to */
-      var output_frame = parent.frames.demo_output.document;
-
-      /* Display the output in this frame */
-      output_frame.clear();
-      output_frame.writeln(document.TransformApplet.transform(translet, document));
-      output_frame.close();
-      return(true);
-    }
-
-  </script>
-
-  <form name="xslt_form" onSubmit="run_transform(this.form)">
-    <p>Select translet:</p>
-    <p><input name="translet" width="64"></p>
-    <p>Select XML source document:</p>
-    <p><input name="document" width="64"></p>
-    <p><input type="button" value="Run" onClick="run_transform(this.form)"></p>
-
-  </form>
-
-  <!--
-    The xsltc.jar file must contain the XSLTC runtime classes and your
-    pre-compiled translets, as described in the README.applet file.
-  -->
-  <applet archive="xsltc.jar"
-          code="TransformApplet"
-          name="TransformApplet"
-          width="10"
-          height="10">
-  </applet>
-
-</body>
diff --git a/samples/CompiledBrazil/README.brazil b/samples/CompiledBrazil/README.brazil
deleted file mode 100644
index 39890e0..0000000
--- a/samples/CompiledBrazil/README.brazil
+++ /dev/null
@@ -1,161 +0,0 @@
-============================================================
-CONTENTS OF THIS DOCUMENT:
-
-  o) HOW TO PROVIDE XSL TRANSFORMATIONS AS A WEB SERVICE
-  o) HOW TO INVOKE TRANSLETS FROM A BRAZIL HANDLER
-  o) BUILDING YOUR OWN DOM CACHE
-
-------------------------------------------------------------
-HOW TO PROVIDE XSL TRANSFORMATIONS AS A WEB SERVICE
-
-This sample code illustrates how Xalan/XSLTC can be used to
-offer XSL transformations as a web service without using a
-full web server. We have chosen to use the Brazil prototype
-for the web interface, available from Sunlabs:
-    http://www.sun.com/research/brazil/
-but we could easily have used some other web interface such
-as Tomcat. The supplied Java code implements a Brazil
-"handler", which very much resembles a servlet.
-
-The CompiledEJB and CompiledServlet sample code
-demonstrate other aproaches to providing XSL transformations
-as a web service.
-
-------------------------------------------------------------
-HOW TO INVOKE TRANSLETS FROM A BRAZIL HANDLER
-
-The .CompiledBrazil directory contains the example source code:
-
-    TransformHandler.java
-
-This file contains a minimal implementation of an XSL
-transformation handler. The handler performs the same basic
-steps as the class implementing the XSLTC command-line tool:
-
-    // Obtain a reference to the translet class
-    Class cls = Class.forName(transletName);
-    // Instanciate a translet object (inherits AbstractTranslet)
-    AbstractTranslet translet = (AbstractTranslet)cls.newInstance();
-
-    // Prepare the internal DOM tree
-    final DOMImpl dom = new DOMImpl();
-    dom.setDocumentURI(inputURI);
-
-    // Create a parser for the input document
-    // org.apache.xalan.xsltc.runtime.Constants sets NAMESPACE_FEATURE
-    final SAXParserFactory facory = SAXFactory.newInstance();
-    try {
-      factory.setFeature(NAMESPACE_FEATURE,true);
-    }
-    catch (Exception e) {
-      factory.setNamespaceAware(true);
-    }
-    parser = factory.newSAXParser();
-    reader = parser.getXMLReader();
-    reader.setContentHandler(dom.getBuilder());
-
-    // Create a DTDMonitor for handling ID references in the DTD
-    DTDMonitor dtdMonitor = new DTDMonitor();
-    dtdMonitor.handleDTD(reader);
-
-    // Create output handler (you can plug in your own)
-    DefaultSAXOutputHandler saxHandler;
-    saxHandler = new DefaultSAXOutputHandler(out);
-
-    // Parse the document and build the internal DOM
-    reader.parse(inputURI);
-
-    // Pass information on id/key indicies to the translet
-    translet.setIndexSize(dom.getSize());
-    dtdMonitor.buildIdIndex(dom, 0, translet);
-    translet.setUnparsedEntityURIs(dtdMonitor.getUnparsedEntityURIs());
-
-    // Start the transformation
-    translet.transform(dom, new TextOutput(saxHandler));
-
-Alternatively the handler can use a cache for storing
-frequently accessed XML documents. This is not only a matter
-of reading the initial input document from the cache, as
-the translet may load other XML input documents as runtime.
-(If the xsl:document() function was used in the stylesheet.)
-
-    // Get a reference to the translet class
-    Class cls = Class.forName(transletName);
-
-    // Instanciate a translet object (inherits AbstractTranslet)
-    AbstractTranslet translet = (AbstractTranslet)cls.newInstance();
-
-    // The translet needs a reference to the cache in case
-    // in needs to load additional XML documents.
-    translet.setDOMCache(cache);
-
-    // Get the DOM from the DOM cache
-    DOMImpl dom = cache.retrieveDocument(documentURI, 0, translet);
-
-    // Create output handler (you can plug in your own)
-    DefaultSAXOutputHandler saxHandler;
-    saxHandler = new DefaultSAXOutputHandler(out);
-
-    // Start the transformation
-    translet.transform(dom, new TextOutput(saxHandler));
-
-------------------------------------------------------------
-BUILDING YOUR OWN DOM CACHE
-
-The interface for the DOM cache consists of a single method,
-and its definition can be found in:
-
-    org/apache/xalan/xsltc/DOMCache.java
-
-The method contained in the interface is:
-
-    public DOMImpl retrieveDocument(String uri,
-                                    int mask,
-                                    Translet translet);
-
-The responsibilities of this method are:
-
- A) Build new a DOMImpl and DTDMonitor for XML documents
-    that are not already in the cache:
-
-        // Instanciate a DOMImpl object
-        Parser  parser = new Parser();
-        DOMImpl dom = new DOMImpl();
-        dom.setDocumentURI(uri);
-        parser.setDocumentHandler(dom.getBuilder());
-
-        // Use a DTDMonitor to track ID references in DTD
-        DTDMonitor dtdMonitor = new DTDMonitor();
-        parser.setDTDHandler(dtdMonitor);
-
-        // Parse the input document and build DOM
-        parser.parse(uri);
-
-    At this point the DOMImpl and DTDMonitor objects are
-    populated with the necessary data. The two objects
-    are ready to be put in the cache (using the URI as
-    the lookup key).
-
- B) For each time a new document is requested by a translet:
-
-        // Expand translet's index array to fit this DOM
-        translet.setIndexSize(dom.getSize());
-
-        // Build indices for this DOM's DTD's ID references
-        dtd.buildIdIndex(dom, mask, translet);
-
-        // Pass unparsed entity URIs to the translet
-        translet.setUnparsedEntityURIs(dtd.getUnparsedEntityURIs());
-
-Step A) must be done every time a document is read into the
-cache, and step B) every time a document is given to a
-translet.
-
-The XSLTC package contains an example implementation of a
-DOM cache, based on a very simple round-robin caching
-algorithm:
-
-    org/apache/xalan/xsltc/dom/DocumentCache.java
-
-------------------------------------------------------------
-END OF README
diff --git a/samples/CompiledBrazil/TransformHandler.java b/samples/CompiledBrazil/TransformHandler.java
deleted file mode 100644
index c7c7d90..0000000
--- a/samples/CompiledBrazil/TransformHandler.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * @(#)$Id$
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001 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) 2001, Sun
- * Microsystems., http://www.sun.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
- * @author Morten Jorgensen
- *
- */
-
-import java.io.*;
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.xml.sax.*;
-
-import org.apache.xalan.xsltc.*;
-import org.apache.xalan.xsltc.runtime.*;
-import org.apache.xalan.xsltc.dom.*;
-
-import sunlabs.brazil.server.Handler;
-import sunlabs.brazil.server.Request;
-import sunlabs.brazil.server.Server;
-
-/**
- * This Brazil handler demonstrates how XSL transformations can be made
- * available as a web service without using a full web server. This class
- * implements the Handler interface from the Brazil project, see:
- * http://www.sun.com/research/brazil/
- *
- * Note that the XSLTC transformation engine is invoked through its native
- * interface and not the javax.xml.transform (JAXP) interface. This because
- * XSLTC still does not offer precompiled transformations through JAXP.
- */
-public class TransformHandler implements Handler {
-
-    // A cache for internal DOM structures
-    private static DocumentCache cache = null;
-
-    // These two are used while parsing the parameters in the URL
-    private final String PARAM_TRANSLET = "translet=";
-    private final String PARAM_DOCUMENT = "document=";
-    private final String PARAM_STATS = "stats=";
-
-    // All output goes here:
-    private PrintWriter _out = null;
-
-    /**
-     * Dump an error message to output
-     */
-    public void errorMessage(String message, Exception e) {
-	if (_out == null) return;
-	_out.println("<h1>XSL transformation error</h1>"+message);
-	_out.println("<br>Exception:</br>"+e.toString());
-    }
-
-    public void errorMessage(String message) {
-	if (_out == null) return;
-	_out.println("<h1>XSL transformation error</h1>"+message);
-    }
-
-    /**
-     * This method is run when the Brazil proxy is loaded
-     */
-    public boolean init(Server server, String prefix) {
-	return true;
-    }
-
-    /**
-     * This method is run for every HTTP request sent to the proxy
-     */
-    public boolean respond(Request request) throws IOException {
-
-	// Initialise the output buffer
-	final StringWriter sout = new StringWriter();
-	_out = new PrintWriter(sout);
-
-	// These two hold the parameters from the URL 'translet' and 'document'
-	String transletName = null;
-	String document = null;
-	String stats = null;
-
-	// Get the parameters from the URL
-	final StringTokenizer params = new StringTokenizer(request.query,"&");
-	while (params.hasMoreElements()) {
-	    final String param = params.nextToken();
-	    if (param.startsWith(PARAM_TRANSLET)) {
-		transletName = param.substring(PARAM_TRANSLET.length());
-	    }
-	    else if (param.startsWith(PARAM_DOCUMENT)) {
-		document = param.substring(PARAM_DOCUMENT.length());
-	    }
-	    else if (param.startsWith(PARAM_STATS)) {
-		stats = param.substring(PARAM_STATS.length());
-	    }
-	}
-
-	try {
-	    // Initialize the document cache with 32 DOM slots
-	    if (cache == null) cache = new DocumentCache(32);
-
-	    // Output statistics if user looked up "server:port/?stats=xxx"
-	    if (stats != null) {
-		cache.getStatistics(_out); // get cache statistics (in HTML)
-	    }
-	    // Make sure that both parameters were specified
-	    else if ((transletName == null) || (document == null)) {
-		errorMessage("Parameters <b><tt>translet</tt></b> and/or "+
-			     "<b><tt>document</tt></b> not specified.");
-	    }
-	    else {
-		// Get a reference to the translet class
-	        Class transletClass = Class.forName(transletName);
-		// Instanciate the translet object (inherits AbstractTranslet)
-		AbstractTranslet translet =
-		    (AbstractTranslet)transletClass.newInstance();
-		translet.setDOMCache(cache);
-
-		// Get the DOM from the DOM cache
-		DOMImpl dom = cache.retrieveDocument(document, 0, translet);
-
-		if (dom == null) {
-		    errorMessage("Could not locate: \"<b>"+document+"\"</b>");
-		}
-		else {
-		    // Initialise the translet's output handler
-		    DefaultSAXOutputHandler saxHandler = 
-			new DefaultSAXOutputHandler(_out);
-
-		    // Do the actual transformation
-		    final long start = System.currentTimeMillis();
-		    translet.transform(dom, new TextOutput(saxHandler));
-		    final long done = System.currentTimeMillis() - start;
-		    _out.println("<!-- transformed by XSLTC in "+done+"ms -->");
-		}
-	    }
-	}
-	catch (SAXException e) {
-	    errorMessage("Error parsing document \""+document+"\"");
-	}
-	catch (ClassNotFoundException e) {
-	    errorMessage("Could not locate the translet class: \""+
-			 transletName+"\"<br>Exception:</br>",e);
-	}
-	catch (Exception e) {
-	    errorMessage("Internal error.",e);
-	}
-
-	// Pass the transformation output as the HTTP response
-	request.sendResponse(sout.toString());
-	return true;
-    }
-
-
-}
diff --git a/samples/CompiledEJB/README.ejb b/samples/CompiledEJB/README.ejb
deleted file mode 100644
index 3a6f9f9..0000000
--- a/samples/CompiledEJB/README.ejb
+++ /dev/null
@@ -1,85 +0,0 @@
-============================================================
-CONTENTS OF THIS DOCUMENT:
-
-  o) HOW TO PROVIDE XSL TRANSFORMATIONS AS A WEB SERVICE
-  o) HOW TO INVOKE TRANSLETS FROM AN ENTERPRISE JAVA BEAN
-
-------------------------------------------------------------
-HOW TO PROVIDE XSL TRANSFORMATIONS AS A WEB SERVICE
-
-With XSLTC, XSL transformations can be run from within a
-an Enterprise Java Bean (EJB) and exported through a servlet.
-This sample code demonstrates how that can be implemented.
-
-The CompiledServlet and CompiledBrazil sample code
-demonstrates other aproaches to providing XSL transformations
-as a web service.
-
-------------------------------------------------------------
-HOW TO INVOKE TRANSLETS FROM AN ENTERPRISE JAVA BEAN
-
- o) Create an EJB that implements SessionBean and has a
-    single transform() entry point:
-
-    public class TransformBean implements SessionBean {
-        public String transform(String document, String transletName) {
-            // instanciate translet
-            // build internal DOM
-            // run transformation
-            :
-            :
-        }
-        :
-        :
-    }
-
- o) Create this EJB's remote interface (this is the interface
-    your servlet will use to call the bean's entry point):
-
-    public interface TransformRemote extends EJBObject {
-        public String transform(String document, String transletName) 
-        throws RemoteException;
-    }
-
- o) Create the EJB's home interface, which your servlet
-    will use to instanciate the remote interface:
-
-    public interface TransformHome extends EJBHome {
-        TransformRemote create()
-            throws CreateException, RemoteException;
-    }
-
- o) Create a servlet that uses the EJB's home interface to
-    create a remote interface to the EJB, and then calls
-    the EJB's transform() method through that remote
-    interface:
-
-    public class TransformServlet extends HttpServlet {
-
-        public void init(ServletConfig config) {
-            // look up the EJB's home interface using JNDI
-        }
-
-        public void doGet (HttpServletRequest request, 
-                           HttpServletResponse response) 
-            throws ServletException, IOException {
-            // create the remote interface
-            // pass the parameters from teh request to the EJB
-            // display results passed back from EJB
-        }
-    }
-
- o) Set up your J2EE_CLASSPATH to include JAXP and the XSLTC
-    runtime jars.
-
- o) Compile your XSL stylesheets and place them either in
-    your J2EE_CLASSPATH or wrap them in your EJB jar.
-
- o) Deploy your EJB
-
- o) Call the servlet with the necessary parameters (at least
-    an URI to the source XML document and the name of the
-    translet class).
-
-------------------------------------------------------------
-END OF README
diff --git a/samples/CompiledEJB/TransformBean.java b/samples/CompiledEJB/TransformBean.java
deleted file mode 100644
index 1914a89..0000000
--- a/samples/CompiledEJB/TransformBean.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * @(#)$Id$
- *
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2001 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) 2001, Sun
- * Microsystems., http://www.sun.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
- * @author Morten Jorgensen
- *
- */
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-
-import java.rmi.RemoteException;
-import javax.ejb.SessionBean;
-import javax.ejb.SessionContext;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-
-import org.apache.xalan.xsltc.*;
-import org.apache.xalan.xsltc.runtime.*;
-import org.apache.xalan.xsltc.dom.*;
-
-public class TransformBean implements SessionBean {
-
-    private SessionContext _context = null;
-    
-    private final static String nullErrorMsg =
-	"<h1>XSL transformation error</h1>"+
-	"<p>'null' parameters sent to the XSL transformation bean's "+
-	"<tt>transform(String document, String translet)</tt> method.</p>";
-
-    private static final String NAMESPACE_FEATURE =
-	"http://xml.org/sax/features/namespaces";
-
-    /**
-     * Read the input document and build the internal "DOM" tree.
-     */
-    private DOMImpl getDOM(String url, AbstractTranslet translet)
-	throws Exception {
-
-	// Create a SAX parser and get the XMLReader object it uses
-	final SAXParserFactory factory = SAXParserFactory.newInstance();
-	try {
-	    factory.setFeature(NAMESPACE_FEATURE,true);
-	}
-	catch (Exception e) {
-	    factory.setNamespaceAware(true);
-	}
-	final SAXParser parser = factory.newSAXParser();
-	final XMLReader reader = parser.getXMLReader();
-
-	// Set the DOM's builder as the XMLReader's SAX2 content handler
-	DOMImpl dom = new DOMImpl();
-	reader.setContentHandler(dom.getBuilder());
-
-	// Create a DTD monitor and pass it to the XMLReader object
-	final DTDMonitor dtdMonitor = new DTDMonitor();
-	dtdMonitor.handleDTD(reader);
-	translet.setDTDMonitor(dtdMonitor);
-
-	// Parse the input document
-	reader.parse(url);
-
-	return dom;
-    }
-
-    /**
-     * Generates HTML from a basic error message and an exception
-     */
-    private void errorMsg(PrintWriter out, Exception e, String msg) {
-	out.println("<h1>Error</h1>");
-	out.println("<p>"+msg+"</p><br>");
-	out.println(e.toString());
-    }
-
-    /**
-     * Main bean entry point
-     */
-    public String transform(String document, String transletName) {
-
-	// Initialise the output stream
-	final StringWriter sout = new StringWriter();
-	final PrintWriter out = new PrintWriter(sout);
-
-	try {
-	    if ((document == null) || (transletName == null)) {
-		out.println(nullErrorMsg);
-	    }
-	    else {
-		// Instanciate a translet object (inherits AbstractTranslet)
-	        Class tc = Class.forName(transletName);
-		AbstractTranslet translet = (AbstractTranslet)tc.newInstance();
-
-		// Read input document from the DOM cache
-		DOMImpl dom = getDOM(document, translet);
-
-		// Initialize the (default) SAX output handler
-		DefaultSAXOutputHandler saxHandler = 
-		    new DefaultSAXOutputHandler(out);
-
-		// Start the transformation
-		final long start = System.currentTimeMillis();
-		translet.transform(dom, new TextOutput(saxHandler));
-		final long done = System.currentTimeMillis() - start;
-		out.println("<!-- transformed by XSLTC in "+done+"msecs -->");
-	    }
-	}
-
-	catch (IOException e) {
-	    errorMsg(out, e, "Could not locate source document: "+document);
-	}
-	catch (ClassNotFoundException e) {
-	    errorMsg(out, e, "Could not locate the translet class: "+
-		     transletName);
-	}
-	catch (SAXException e) {
-	    errorMsg(out, e, "Error parsing document "+document);
-	}
-	catch (Exception e) {
-	    errorMsg(out, e, "Impossible state reached.");
-	}
-
-	// Now close up the sink, and return the HTML output in the
-	// StringWrite object as a string.
-	out.close();
-	return sout.toString();
-    }
-
-    /**
-     *
-     */
-    public void setSessionContext(SessionContext context) {
-	_context = context;
-    }
-
-    // General EJB entry points
-    public void ejbCreate() { }
-    public void ejbRemove() { }
-    public void ejbActivate() { }
-    public void ejbPassivate() { }
-    public void ejbLoad() { }
-    public void ejbStore() { }
-}
diff --git a/samples/CompiledEJB/TransformHome.java b/samples/CompiledEJB/TransformHome.java
deleted file mode 100644
index ac5f9a7..0000000
--- a/samples/CompiledEJB/TransformHome.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * @(#)$Id$
- *
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2001 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) 2001, Sun
- * Microsystems., http://www.sun.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
- * @author Morten Jorgensen
- *
- */
-
-import java.rmi.RemoteException;
-import javax.ejb.CreateException;
-import javax.ejb.EJBHome;
-
-/**
- * XSL transformation bean home interface
- */
-public interface TransformHome extends EJBHome {
-    TransformRemote create() throws CreateException, RemoteException;
-}
diff --git a/samples/CompiledEJB/TransformRemote.java b/samples/CompiledEJB/TransformRemote.java
deleted file mode 100644
index 8cbaeed..0000000
--- a/samples/CompiledEJB/TransformRemote.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * @(#)$Id$
- *
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2001 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) 2001, Sun
- * Microsystems., http://www.sun.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
- * @author Morten Jorgensen
- *
- */
-
-import javax.ejb.EJBObject;
-import java.rmi.RemoteException;
-
-/**
- * XSL transformation bean remote interface
- */
-public interface TransformRemote extends EJBObject {
-    public String transform(String document, String transletName) 
-	throws RemoteException;
-}
diff --git a/samples/CompiledEJB/TransformServlet.java b/samples/CompiledEJB/TransformServlet.java
deleted file mode 100644
index 4bdab4a..0000000
--- a/samples/CompiledEJB/TransformServlet.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)$Id$
- *
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2001 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) 2001, Sun
- * Microsystems., http://www.sun.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
- * @author Morten Jorgensen
- *
- */
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.io.*;
-import javax.naming.*;
-import javax.rmi.PortableRemoteObject;
-
-public class TransformServlet extends HttpServlet {
-
-    // Error message used when the XSL transformation bean cannot be created
-    private final static String createErrorMsg =
-	"<h1>XSL transformation bean error</h1>"+
-	"<p>An XSL transformation bean could not be created.</p>";
-
-    // Transformer - "more than meets the eye".
-    private TransformHome transformer;
-
-    /**
-     * Servlet initializer - look up the bean's home interface
-     */
-    public void init(ServletConfig config) 
-	throws ServletException{
-	try{
-	    InitialContext context = new InitialContext();
-	    Object transformRef = context.lookup("transform");
-	    transformer =
-		(TransformHome)PortableRemoteObject.narrow(transformRef,
-							   TransformHome.class);
-	} catch (Exception NamingException) {
-	    NamingException.printStackTrace();
-	}
-    }
-
-    /**
-     * Handles "GET" HTTP requests - ie. runs the actual transformation
-     */
-    public void doGet (HttpServletRequest request, 
-		       HttpServletResponse response) 
-	throws ServletException, IOException {
-
-	String document = request.getParameter("document");
-	String translet = request.getParameter("translet");
-
-	response.setContentType("text/html");
-
-	PrintWriter out = response.getWriter();
-	try{
-	    // Get the insult from the bean
-	    TransformRemote xslt = transformer.create();
-	    String result = xslt.transform(document, translet);
-	    out.println(result);
-	} catch(Exception CreateException){
-	    out.println(createErrorMsg);
-	}
-	out.close();
-    }
-
-    public void destroy() {
-	System.out.println("Destroy");
-    }
-}
diff --git a/samples/CompiledEJB/bottom_frame.html b/samples/CompiledEJB/bottom_frame.html
deleted file mode 100644
index edc1918..0000000
--- a/samples/CompiledEJB/bottom_frame.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-  <head></head>
-  <body>
-    <backgroundcolor=#ffffff>
-  </body>
-</html>
-
diff --git a/samples/CompiledEJB/index.html b/samples/CompiledEJB/index.html
deleted file mode 100644
index 641c2b4..0000000
--- a/samples/CompiledEJB/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-  <head><title>XML Technology Center</title></head>
-    <backgroundcolor=#ffffff>
-
-    <frameset border="0" rows="30%,70%">
-      <frame src="top_frame.html" NAME="top" scrolling="off">
-      <frame src="bottom_frame.html" NAME="bottom" scrolling="on">
-    </frameset>
-
-    <noframes>
-    </noframes>
-
-</html>
-
diff --git a/samples/CompiledEJB/top_frame.html b/samples/CompiledEJB/top_frame.html
deleted file mode 100644
index c529088..0000000
--- a/samples/CompiledEJB/top_frame.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<html>
-
-  <head>
-    <base target=xtc_menu>
-  </head>
-
-  <body bgcolor=#ffffff>
-
-    <center><h1>Server-side XSL transformations</h1><p></center>
-
-    <script language="JavaScript">
-
-      function getURI() {
-        var root = "http://gobsheen.ireland/morten/Sun/XTC/demo/plays/";
-	var menu = document.XMLinput.elements[0];
-        var play = menu.options[menu.selectedIndex].value;
-        return(root+play);
-      }
-
-      function getTranslet() {
-	var menu = document.XMLinput.elements[1];
-        var translet = menu.options[menu.selectedIndex].value;
-	return(translet);
-      }
-
-      function setHTMLlocation(translet) {
-        var uri = getURI();
-        var translet = getTranslet();
-        var source = "http://gobsheen:8000/Transform/Transform?"+
-                     "document="+uri+"&translet="+translet;
-        open(source,"bottom");
-      }
-
-      function setXMLlocation() {
-        var target = parent.frames.demo_bottom;
-        var uri = getURI();
-        open(uri,"bottom");
-      }
-
-    </script>
-
-    <form name="XMLinput">
-
-    <table>
-    <tr>
-      <td>
-        <b>Source document:</b>
-      </td>
-      <td>
-        <select name="dropdown">
-          <option value="AsYouLikeIt.xml">As You Like It
-          <option value="Cymbeline.xml">Cymbeline
-          <option value="Hamlet.xml">The Tragedy of Hamlet
-          <option value="HenryV.xml">The Life of Henry V
-          <option value="HenryVIII.xml">The Famous History of the Life of Henry VIII
-          <option value="KingJohn.xml">The Life and Death of King John
-          <option value="KingLear.xml">The Tragedy of King Lear
-          <option value="KingRichardII.xml">The Tragedy of King Richard II
-          <option value="MeasureForMeasure.xml">Measure for Measure
-          <option value="MerchantOfVenice.xml">The Merchant of Venice
-          <option value="MerryWivesOfWindsor.xml">The Merry Wives of Windsor
-          <option value="MidsummerNightsDream.xml">A Midsummer Night's Dream
-          <option value="MuchAdoAboutNothing.xml">Much Ado about Nothing
-          <option value="PericlesPrinceOfTyre.xml">Pericles, Prince of Tyre
-          <option value="RomeoAndJuliet.xml">The Tragedy of Romeo and Juliet
-          <option value="TamingOfTheShrew.xml">The Taming of the Shrew
-          <option value="TheTempest.xml">The Tempest
-          <option value="TimonOfAthens.xml">The Life of Timon of Athens
-          <option value="TragedyOfCoriolanus.xml">The Tragedy of Coriolanus
-          <option value="TragedyOfJuliusCaesar.xml">The Tragedy of Julius Caesar
-          <option value="TragedyOfOthello.xml">The Tragedy of Othello, the Moor of Venice
-          <option value="TroilusAndCresida.xml">The History of Troilus and Cressida
-          <option value="TwelfthNight.xml">Twelfth Night, or What You Will
-          <option value="TwoGentlementOfVerona.xml">The Two Gentlemen of Verona
-          <option value="WintersTale.xml">The Winter's Tale
-        </select>
-      </td>
-    </tr>
-    <tr>
-      <td>
-        <b>Transformation:</b>
-      </td>
-      <td>
-        <select name="dropdown">
-          <option value="PlayToHTML">Full
-          <option value="PlayToSpeakers">Speakers
-          <option value="PlayToIndex">Index
-        </select>
-      </td>
-    </tr>
-    <tr>
-      <td>
-        <b>Method:</b>
-      </td>
-      <td>
-        <input type="button" value="Transform" onClick="setHTMLlocation()">
-        <input type="button" value="XML source" onClick="setXMLlocation()">
-      </td>
-    </tr>
-  </table>
-  </form>
-
-  </body>
-
-</html>
diff --git a/samples/CompiledJAXP/Compile.java b/samples/CompiledJAXP/Compile.java
deleted file mode 100644
index c42dbaa..0000000
--- a/samples/CompiledJAXP/Compile.java
+++ /dev/null
@@ -1,77 +0,0 @@
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.ObjectOutputStream;
-
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.Templates;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-
-import org.apache.xalan.xsltc.trax.TransformerFactoryImpl;
-
-public class Compile {
-
-    public static void main(String[] args){
-        Compile app = new Compile();
-        app.run(args[0]);
-    }
-
-    /**
-     * Compiles an XSL stylesheet into a translet, wraps the translet
-     * inside a Templates object and dumps it to a file.
-     */
-    public void run(String xsl) {
-        try {
-	    // Get an input stream for the XSL stylesheet
-	    StreamSource stylesheet = new StreamSource(xsl);
-
-	    // The TransformerFactory will compile the stylesheet and
-	    // put the translet classes inside the Templates object
-	    TransformerFactory factory = TransformerFactory.newInstance();
-	    Templates templates = factory.newTemplates(stylesheet);
-
-	    // Send the Templates object to a '.translet' file
-	    dumpTemplate(getBaseName(xsl)+".translet", templates);
-        }
-	catch (Exception e) {
-            System.err.println("Exception: " + e); 
-	    e.printStackTrace();
-        }
-        System.exit(0);
-    }
-
-    /**
-     * Returns the base-name of a file/url
-     */
-    private String getBaseName(String filename) {
-	int start = filename.lastIndexOf(File.separatorChar);
-	int stop  = filename.lastIndexOf('.');
-	if (stop <= start) stop = filename.length() - 1;
-	return filename.substring(start+1, stop);
-    }
-
-    /**
-     * Writes a Templates object to a file
-     */
-    private void dumpTemplate(String file, Templates templates) {
-	try {
-	    FileOutputStream ostream = new FileOutputStream(file);
-	    ObjectOutputStream p = new ObjectOutputStream(ostream);
-	    p.writeObject(templates);
-	    p.flush();
-	    ostream.close();
-	}
-	catch (Exception e) {
-	    System.err.println(e);
-	    e.printStackTrace();
-	    System.err.println("Could not write file "+file);
-	}
-    }
-
-    private void usage() {
-        System.err.println("Usage: compile <xsl_file>");
-        System.exit(1);
-    }
-
-}
diff --git a/samples/CompiledJAXP/README.cjaxp b/samples/CompiledJAXP/README.cjaxp
deleted file mode 100755
index af763e6..0000000
--- a/samples/CompiledJAXP/README.cjaxp
+++ /dev/null
@@ -1,26 +0,0 @@
-======================================================================
-The Sun XSLT Compiler (XSLTC) is a Java-based tool for compiling XSL
-stylesheets into extremely lightweight and portable Java byte code.
-
-This Compiled JAXP Demo shows you how can compile and use compiled 
-translets with JAXP.
-
-You use the two classes provided, Compile and Transform, just like the 
-org.apache.xalan.xsltc.cmdline Compile and Transform classes.
-
-Compile.java
-     Compiles an XSL stylesheet into a translet, wraps the translet
-     inside a Templates object and serializes it to a 
-     '.translet' file.
-     
-Transform.java
-     Reads a Templates object from the .translet file, the Templates 
-     object creates a translet and wraps it in a Transformer. The 
-     translet performs the transformation on behalf of the 
-     Transformer.transform() method.
-
-Usuage
-     java Compile <stylesheet.xsl>
-     java Transform <xmlfile.xml> <stylesheet>.translet
-----------------------------------------------------------------------
-END OF README
diff --git a/samples/CompiledJAXP/Transform.java b/samples/CompiledJAXP/Transform.java
deleted file mode 100644
index 102d745..0000000
--- a/samples/CompiledJAXP/Transform.java
+++ /dev/null
@@ -1,77 +0,0 @@
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.ObjectInputStream;
-
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.Templates;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-
-import org.apache.xalan.xsltc.trax.TransformerFactoryImpl;
-
-public class Transform {
-
-    public static void main(String[] args){
-        Transform app = new Transform();
-        app.run(args);
-    }
-
-    /**
-     * Reads a Templates object from a file, the Templates object creates
-     * a translet and wraps it in a Transformer. The translet performs the
-     * transformation on behalf of the Transformer.transform() method.
-     */
-    public void run(String[] args){
-        String xml = args[0];
-        String translet = args[1];
-
-        try {
-	    StreamSource document = new StreamSource(xml);
-	    StreamResult result = new StreamResult(System.out);
-	    Templates templates = readTemplates(translet);
-	    Transformer transformer = templates.newTransformer();
-            transformer.transform(document, result);
-        }
-	catch (Exception e) {
-            System.err.println("Exception: " + e); 
-	    e.printStackTrace();
-        }
-        System.exit(0);
-    }
-
-    /**
-     * Reads a Templates object from a file
-     */
-    private Templates readTemplates(String file) {
-	try {
-	    FileInputStream ostream = new FileInputStream(file);
-	    ObjectInputStream p = new ObjectInputStream(ostream);
-	    Templates templates = (Templates)p.readObject();
-	    ostream.close();
-	    return(templates);
-	}
-	catch (Exception e) {
-	    System.err.println(e);
-	    e.printStackTrace();
-	    System.err.println("Could not write file "+file);
-	    return null;
-	}
-    }
-
-    /**
-     * Returns the base-name of a file/url
-     */
-    private String getBaseName(String filename) {
-	int start = filename.lastIndexOf(File.separatorChar);
-	int stop  = filename.lastIndexOf('.');
-	if (stop <= start) stop = filename.length() - 1;
-	return filename.substring(start+1, stop);
-    }
-
-    public void usage() {
-        System.err.println("Usage: run <xml_file> <xsl_file>");
-        System.exit(1);
-    }
-
-}
diff --git a/samples/CompiledServlet/CompileServlet.java b/samples/CompiledServlet/CompileServlet.java
deleted file mode 100644
index 644b4d7..0000000
--- a/samples/CompiledServlet/CompileServlet.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * @(#)$Id$
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2001 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) 2001, Sun
- * Microsystems., http://www.sun.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
- * @author Morten Jorgensen
- * @author Jacek Ambroziak
- *
- */
-
-package org.apache.xalan.xsltc.demo.servlet;
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-import java.net.URL;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import org.apache.xalan.xsltc.compiler.*;
-import org.apache.xalan.xsltc.compiler.util.*;
-import org.apache.xalan.xsltc.util.getopt.*;
-
-public class CompileServlet extends HttpServlet {
-
-    /**
-     * Main servlet entry point. The servlet reads a stylesheet from the
-     * URI specified by the "sheet" parameter. The compiled Java class
-     * ends up in the CWD of the web server (a better solution would be
-     * to have an environment variable point to a translet directory).
-     */
-    public void doGet(HttpServletRequest request,
-		      HttpServletResponse response)
-	throws IOException, ServletException {
-
-	response.setContentType("text/html");
-	PrintWriter out = response.getWriter();
-		
-	String stylesheetName = request.getParameter("sheet");
-	
-	out.println("<html><head>");
-	out.println("<title>Servlet Stylesheet Compilation</title>");
-	out.println("</head><body>");
-
-	if (stylesheetName == null) {
-	    out.println("<h1>Compilation error</h1>");
-	    out.println("The parameter <b><tt>sheet</tt></b> "+
-			"must be specified");
-	}
-	else {
-	    XSLTC xsltc = new XSLTC();
-
-	    xsltc.init();
-	    xsltc.compile(new URL(stylesheetName));
-	    out.println("<h1>Compilation successful</h1>");
-	    out.println("The stylesheet was compiled into the translet "+
-			"class "+xsltc.getClassName() + " and is now "+
-			"available for transformations on this server.");
-	}
-	out.println("</body></html>");
-    }
-}
diff --git a/samples/CompiledServlet/README.servlet b/samples/CompiledServlet/README.servlet
deleted file mode 100644
index bd704cf..0000000
--- a/samples/CompiledServlet/README.servlet
+++ /dev/null
@@ -1,170 +0,0 @@
-=======================================================================
-CONTENTS OF THIS DOCUMENT:
-
-  o) HOW TO PROVIDE XSL TRANSFORMATIONS AS A WEB SERVICE
-  o) HOW TO INVOKE TRANSLETS FROM A SERVLET
-  o) BUILDING YOUR OWN DOM CACHE
-
------------------------------------------------------------------------
-HOW TO PROVIDE XSL TRANSFORMATIONS AS A WEB SERVICE
-
-With XSLTC, XSL transformations can be run from within a servlet. 
-This sample code demonstrates how that can be implemented.
-
-The CompiledEJB and CompiledBrazil sample code demonstrate other 
-aproaches to providing XSL transformations as a web service.
-
------------------------------------------------------------------------
-HOW TO INVOKE TRANSLETS FROM A SERVLET
-
-The CompiledServlet directory contains the example source code:
-
-    TransformServlet.java
-
-This file contains a minimal implementation of an XSL transformation 
-servlet. It utilizes a cache to store the DOM trees for frequently 
-accessed XML documents. These are not W3C DOM objects; They are 
-specialized DOMs, native to XSLTC and optimzed for use with compiled 
-translets. In addition to the initial input XML documents, the cache 
-may contain DOMs for other XML input documents the translet requires 
-at runtime, when the xsl:document() function is used in the stylesheet.
-
-Here's the essential code in the servlet for doing the transformation:
-
-    // Get a reference to the translet class
-    Class cls = Class.forName(transletName);
-
-    // Instanciate a translet object (inherits AbstractTranslet)
-    AbstractTranslet translet = (AbstractTranslet)cls.newInstance();
-
-    // The translet needs a reference to the cache in case
-    // in needs to load additional XML documents.
-    translet.setDOMCache(cache);
-
-    // Get the DOM from the DOM cache if current, otherwise
-    // build and cache the DOM first
-    DOMImpl dom = cache.retrieveDocument(documentURI, 0, translet);
-
-    // Create output handler (you can plug in your own)
-    DefaultSAXOutputHandler saxHandler;
-    saxHandler = new DefaultSAXOutputHandler(out);
-
-    // Start the transformation
-    translet.transform(dom, new TextOutput(saxHandler));
-
------------------------------------------------------------------------
-BUILDING YOUR OWN DOM CACHE
-
-The interface for the DOM cache consists of a single method,
-and its definition can be found in:
-
-    org/apache/xalan/xsltc/DOMCache.java
-
-The method contained in the interface is:
-
-    public DOMImpl retrieveDocument(String uri,
-                                    int mask,
-                                    Translet translet);
-
-The responsibilities of this method are:
-
- A) Build new a DOMImpl and DTDMonitor for XML documents
-    that are not already in the cache:
-
-        // Instanciate a DOMImpl object
-        Parser  parser = new Parser();
-        DOMImpl dom = new DOMImpl();
-        // Set URI for imports, includes, and document() functions
-        dom.setDocumentURI(uri);
-        parser = factory.newSAXParser();
-        reader = parser.getXMLReader();
-        reader.setContentHandler(dom.getBuilder());
-
-        // Use a DTDMonitor to track ID references in DTD
-        DTDMonitor dtdMonitor = new DTDMonitor();
-        dtdMonitor.handleDTD(reader);
-
-        // Parse the input document and build DOM
-        reader.parse(uri);
-
-    At this point the DOMImpl and DTDMonitor objects are
-    populated with the necessary data. The two objects
-    are ready to be put in the cache (using the URI as
-    the lookup key).
-
- B) For each time a new document is requested by a translet:
-
-        // Expand translet's index array to fit this DOM
-        translet.setIndexSize(dom.getSize());
-
-        // Build indices for this DOM's DTD's ID references
-        dtdMonitor.buildIdIndex(dom, mask, translet);
-
-        // Pass unparsed entity URIs to the translet
-        translet.setUnparsedEntityURIs(dtd.getUnparsedEntityURIs());
-
-Step A) must be done every time a document is read into the
-cache, and step B) every time a document is given to a
-translet.
-
-The XSLTC package contains an example implementation of a
-DOM cache, based on a very simple round-robin caching
-algorithm:
-
-    org/apache/xalan/xsltc/dom/DocumentCache.java
-
------------------------------------------------------------------------
-DOING TRANSFORMATIONS WITHOUT A DOM CACHE
-
-Alternatively, you can program a servlet to perform the same basic
-steps as the XSLTC command-line tool
-
-    org.apache.xalan.xsltc.cmdline.Transform
-
-as follows:
-
-
-    // Obtain a reference to the translet class
-    Class cls = Class.forName(transletName);
-    // Instanciate a translet object (inherits AbstractTranslet)
-    AbstractTranslet translet = (AbstractTranslet)cls.newInstance();
-
-    // Prepare the internal DOM tree
-    final DOMImpl dom = new DOMImpl();
-    dom.setDocumentURI(inputURI);
-
-    // Create a parser for the input document
-    // org.apache.xalan.xsltc.runtime.Constants sets NAMESPACE_FEATURE
-    final SAXParserFactory facory = SAXFactory.newInstance();
-    try {
-      factory.setFeature(NAMESPACE_FEATURE,true);
-    }
-    catch (Exception e) {
-      factory.setNamespaceAware(true);
-    }
-    parser = factory.newSAXParser();
-    reader = parser.getXMLReader();
-    reader.setContentHandler(dom.getBuilder());
-
-    // Create a DTDMonitor for handling ID references in the DTD
-    DTDMonitor dtdMonitor = new DTDMonitor();
-    dtdMonitor.handleDTD(reader);
-
-    // Create output handler (you can plug in your own)
-    DefaultSAXOutputHandler saxHandler;
-    saxHandler = new DefaultSAXOutputHandler(out);
-
-    // Parse the document and build the internal DOM
-    reader.parse(inputURI);
-
-    // Pass information on id/key indicies to the translet
-    translet.setIndexSize(dom.getSize());
-    dtdMonitor.buildIdIndex(dom, 0, translet);
-    translet.setUnparsedEntityURIs(dtdMonitor.getUnparsedEntityURIs());
-
-    // Start the transformation
-    translet.transform(dom, new TextOutput(saxHandler));
-
-
-------------------------------------------------------------
-END OF README
diff --git a/samples/CompiledServlet/TransformServlet.java b/samples/CompiledServlet/TransformServlet.java
deleted file mode 100644
index 8bb4fdf..0000000
--- a/samples/CompiledServlet/TransformServlet.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)$Id$
- *
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2001 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) 2001, Sun
- * Microsystems., http://www.sun.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
- * @author Morten Jorgensen
- * @author Jacek Ambroziak
- *
- */
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import org.xml.sax.*;
-
-import org.apache.xalan.xsltc.*;
-import org.apache.xalan.xsltc.runtime.*;
-import org.apache.xalan.xsltc.dom.*;
-
-/**
- * This servlet demonstrates how XSL transformations can be made available as
- * a web service. See the CompileServlet for an example on how stylesheets
- * can be pre-compiled before this servlet is invoked.
- *
- * Note that the XSLTC transformation engine is invoked through its native
- * interface and not the javax.xml.transform (JAXP) interface. This because
- * XSLTC still does not offer precompiled transformations through JAXP.
- */
-public final class TransformServlet extends HttpServlet {
-
-    /*
-     * This is a document cache with 32 document slots. This servlet returns
-     * cache statistics if the 'stats' parameter is passed with the HTTP
-     * request in doGet().
-     */
-    private static DocumentCache cache = null;
-
-    /**
-     * Main servlet entry point
-     */
-    public void doGet(HttpServletRequest request,
-		      HttpServletResponse response)
-	throws IOException, ServletException {
-
-	// Initialise the output writer
-	response.setContentType("text/html");
-	PrintWriter out = response.getWriter();
-
-	// Get the two paramters "class" and "source".
-	String className   = request.getParameter("class");
-	String documentURI = request.getParameter("source");
-
-	try {
-	    // Initialize document cache with 32 DOM slots
-	    if (cache == null) cache = new DocumentCache(32);
-
-	    if (request.getParameter("stats") != null) {
-		cache.getStatistics(out);
-	    }
-	    else if ((className == null) || (documentURI == null)) {
-	        out.println("<h1>XSL transformation error</h1>");
-		out.println("The parameters <b><tt>class</tt></b> and " +
-			    "<b><tt>source</tt></b> must be specified");
-	    }
-	    else {
-		// Get a reference to the translet class (not object yet)
-	        Class tc = Class.forName(className);
-		// Instanciate a translet object (inherits AbstractTranslet)
-		AbstractTranslet translet = (AbstractTranslet)tc.newInstance();
-
-		// Set the document cache for the translet. This is needed in
-		// case the translet uses the document() function.
-		translet.setDOMCache(cache);
-
-		// Read input document from the DOM cache
-		DOMImpl dom = cache.retrieveDocument(documentURI, 0, translet);
-
-		// Initialize the output handler
-		DefaultSAXOutputHandler saxHandler = 
-		    new DefaultSAXOutputHandler(out);
-
-		// Start the transformation
-		final long start = System.currentTimeMillis();
-		translet.transform(dom, new TextOutput(saxHandler));
-		final long done = System.currentTimeMillis() - start;
-		out.println("<!-- transformed by XSLTC in "+done+"msecs -->");
-	    }
-	}
-	catch (IOException e) {
-	    out.println("<h1>Error</h1>");
-	    out.println("Could not locate source document: " + documentURI);
-	    out.println(e.toString());
-	}
-	catch (ClassNotFoundException e) {
-	  out.println("<h1>Error</h1>");
-	  out.println("Could not locate the translet class: " + className);
-	  out.println(e.toString());
-	}
-	catch (SAXException e) {
-	    out.println("<h1>Error</h1>");
-	    out.println("Error parsing document " + documentURI);
-	}
-	catch (Exception e) {
-	    out.println("<h1>Error</h1>");
-	    out.println(e.toString());
-	}
-    }
-}
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 cinn