This commit was manufactured by cvs2svn to create branch
'SBOAG_BRANCH_OPTIMIZATION1'.

git-svn-id: https://svn.apache.org/repos/asf/xalan/java/branches/SBOAG_BRANCH_OPTIMIZATION1@336013 13f79535-47bb-0310-9956-ffa450edef68
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 cinnamomeus">Thicket Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus boucardi">Slaty-breasted Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus kerriae">Choco Tinamou.</Species>
-        </Family>
-    </Order>
-<Order Name="GAVIIFORMES">
-        <Family Name="GAVIIDAE">
-            <Species Scientific_Name="Gavia stellata">Red-throated Loon.</Species>
-            <Species Scientific_Name="Gavia arctica">Arctic Loon.</Species>
-            <Species Scientific_Name="Gavia pacifica">Pacific Loon.</Species>
-            <Species Scientific_Name="Gavia immer">Common Loon.</Species>
-            <Species Scientific_Name="Gavia adamsii">Yellow-billed Loon.</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="PODICIPEDIFORMES">
-        <Family Name="PODICIPEDIDAE">
-            <Species Scientific_Name="Tachybaptus dominicus">Least Grebe.</Species>
-            <Species Scientific_Name="Podilymbus podiceps">Pied-billed Grebe.</Species>
-            <Species Scientific_Name="">Atitlan Grebe.</Species>
-            <Species Scientific_Name="">Horned Grebe.</Species>
-            <Species Scientific_Name="">Red-necked Grebe.</Species>
-            <Species Scientific_Name="">Eared Grebe.</Species>
-            <Species Scientific_Name="">Western Grebe.</Species>
-            <Species Scientific_Name="">Clark's Grebe.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="PROCELLARIIFORMES">
-        <Family Name="DIOMEDEIDAE">
-            <Species Scientific_Name="Thalassarche chlororhynchos">Yellow-nosed Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche cauta">Shy Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche melanophris">Black-browed Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebetria palpebrata">Light-mantled Albatross. (A)</Species>
-            <Species Scientific_Name="Diomedea exulans">Wandering Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebastria immutabilis">Laysan Albatross.</Species>
-            <Species Scientific_Name="Phoebastria nigripes">Black-footed Albatross.</Species>
-            <Species Scientific_Name="Phoebastria albatrus">Short-tailed Albatross. (N)</Species>
-        </Family>
-        <Family Name="PROCELLARIIDAE">
-            <Species Scientific_Name="Fulmarus glacialis">Northern Fulmar.</Species>
-            <Species Scientific_Name="Pterodroma neglecta">Kermadec Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma arminjoniana">Herald Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma ultima">Murphy's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma inexpectata">Mottled Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma cahow">Bermuda Petrel.</Species>
-            <Species Scientific_Name="Pterodroma hasitata">Black-capped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma externa">Juan Fernandez Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma phaeopygia">Dark-rumped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma cervicalis">White-necked Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma hypoleuca">Bonin Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma nigripennis">Black-winged Petrel. (H, A)</Species>
-            <Species Scientific_Name="Pterodroma cookii">Cook's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma longirostris">Stejneger's Petrel. (A)</Species>
-            <Species Scientific_Name="Bulweria bulwerii">Bulwer's Petrel. (H)</Species>
-            <Species Scientific_Name="Bulweria fallax">Jouanin's Petrel. (H, A)</Species>
-            <Species Scientific_Name="Procellaria parkinsoni">Parkinson's Petrel. (N)</Species>
-            <Species Scientific_Name="Calonectris leucomelas">Streaked Shearwater. (A)</Species>
-            <Species Scientific_Name="Calonectris diomedea">Cory's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus creatopus">Pink-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus carneipes">Flesh-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus gravis">Greater Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus pacificus">Wedge-tailed Shearwater.</Species>
-            <Species Scientific_Name="Puffinus bulleri">Buller's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus griseus">Sooty Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus tenuirostris">Short-tailed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus nativitatis">Christmas Shearwater. (H)</Species>
-            <Species Scientific_Name="Puffinus puffinus">Manx Shearwater.</Species>
-            <Species Scientific_Name="Puffinus auricularis">Townsend's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus opisthomelas">Black-vented Shearwater.</Species>
-            <Species Scientific_Name="Puffinus lherminieri">Audubon's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus assimilis">Little Shearwater. (A)</Species>
-        </Family>
-        <Family Name="HYDROBATIDAE">
-            <Species Scientific_Name="Oceanites oceanicus">Wilson's Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Pelagodroma marina">White-faced Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Hydrobates pelagicus">European Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma furcata">Fork-tailed Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma leucorhoa">Leach's Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma homochroa">Ashy Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma castro">Band-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma tethys">Wedge-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma melania">Black Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma macrodactyla">Guadalupe Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma markhami">Markham's Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma tristrami">Tristram's Storm-Petrel. (H)</Species>
-            <Species Scientific_Name="Oceanodroma microsoma">Least Storm-Petrel.</Species>
-        </Family>
-    </Order>
-
-<Order Name="PELECANIFORMES">
-        <Family Name="PHAETHONTIDAE">
-            <Species Scientific_Name="Phaethon lepturus">White-tailed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon aethereus">Red-billed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon rubricauda">Red-tailed Tropicbird.</Species>
-        </Family>
-        <Family Name="SULIDAE">
-            <Species Scientific_Name="Sula dactylatra">Masked Booby.</Species>
-            <Species Scientific_Name="Sula nebouxii">Blue-footed Booby.</Species>
-            <Species Scientific_Name="Sula variegata">Peruvian Booby. (A)</Species>
-            <Species Scientific_Name="Sula leucogaster">Brown Booby.</Species>
-            <Species Scientific_Name="Sula sula">Red-footed Booby.</Species>
-            <Species Scientific_Name="Morus bassanus">Northern Gannet.</Species>
-        </Family>
-        <Family Name="PELECANIDAE">
-            <Species Scientific_Name="Pelecanus erythrorhynchos">American White Pelican.</Species>
-            <Species Scientific_Name="Pelecanus occidentalis">Brown Pelican.</Species>
-        </Family>
-        <Family Name="PHALACROCORACIDAE">
-            <Species Scientific_Name="Phalacrocorax penicillatus">Brandt's Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax brasilianus">Neotropic Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax auritus">Double-crested Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax carbo">Great Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax urile">Red-faced Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax pelagicus">Pelagic Cormorant.</Species>
-        </Family>
-        <Family Name="ANHINGIDAE">
-            <Species Scientific_Name="Anhinga anhinga">Anhinga.</Species>
-        </Family>
-        <Family Name="FREGATIDAE">
-            <Species Scientific_Name="Fregata magnificens">Magnificent Frigatebird.</Species>
-            <Species Scientific_Name="Fregata minor">Great Frigatebird.</Species>
-            <Species Scientific_Name="Fregata ariel">Lesser Frigatebird. (A)</Species>
-        </Family>
-    </Order>
-</Class>
diff --git a/samples/SAX2SAX/birds.xsl b/samples/SAX2SAX/birds.xsl
deleted file mode 100644
index 4d6f8e1..0000000
--- a/samples/SAX2SAX/birds.xsl
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" indent="yes"/>
-
-<xsl:template match="Class">
-<BirdInfo>
-	<xsl:apply-templates select="Order"/>
-</BirdInfo>
-</xsl:template>
-
-<xsl:template match="Order">
-Order is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Family"/><xsl:text>
-</xsl:text>
-</xsl:template>
-
-<xsl:template match="Family">
-	Family is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Species | SubFamily | text()"/>
-</xsl:template>
-
-<xsl:template match="SubFamily">
-		SubFamily is <xsl:value-of select="@Name"/>
-    <xsl:apply-templates select="Species | text()"/>
-</xsl:template>
-
-<xsl:template match="Species">
-	<xsl:choose>
-	  <xsl:when test="name(..)='SubFamily'">
-		<xsl:text>	</xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-		<xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/SAX2SAX/foo.xml b/samples/SAX2SAX/foo.xml
deleted file mode 100644
index da9f79b..0000000
--- a/samples/SAX2SAX/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/SAX2SAX/foo.xsl b/samples/SAX2SAX/foo.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/SAX2SAX/foo.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/SimpleTransform/SimpleTransform.java b/samples/SimpleTransform/SimpleTransform.java
deleted file mode 100644
index 0b46a25..0000000
--- a/samples/SimpleTransform/SimpleTransform.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "XSLT4J" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-
-// Imported java classes
-import java.io.FileOutputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-/**
- *  Use the TraX interface to perform a transformation in the simplest manner possible
- *  (3 statements).
- */
-public class SimpleTransform
-{
-	public static void main(String[] args)
-    throws TransformerException, TransformerConfigurationException, 
-           FileNotFoundException, IOException
-  {  
-  // Use the static TransformerFactory.newInstance() method to instantiate 
-  // a TransformerFactory. The javax.xml.transform.TransformerFactory 
-  // system property setting determines the actual class to instantiate --
-  // org.apache.xalan.transformer.TransformerImpl.
-	TransformerFactory tFactory = TransformerFactory.newInstance();
-	
-	// Use the TransformerFactory to instantiate a Transformer that will work with  
-	// the stylesheet you specify. This method call also processes the stylesheet
-  // into a compiled Templates object.
-	Transformer transformer = tFactory.newTransformer(new StreamSource("birds.xsl"));
-
-	// Use the Transformer to apply the associated Templates object to an XML document
-	// (foo.xml) and write the output to a file (foo.out).
-	transformer.transform(new StreamSource("birds.xml"), new StreamResult(new FileOutputStream("birds.out")));
-	
-	System.out.println("************* The result is in birds.out *************");
-  }
-}
\ No newline at end of file
diff --git a/samples/SimpleTransform/birds.xml b/samples/SimpleTransform/birds.xml
deleted file mode 100644
index 7027642..0000000
--- a/samples/SimpleTransform/birds.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Class>
-<Order Name="TINAMIFORMES">
-        <Family Name="TINAMIDAE">
-            <Species Scientific_Name="Tinamus major">  Great Tinamou.</Species>
-            <Species Scientific_Name="Nothocercus">Highland Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus soui">Little Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus cinnamomeus">Thicket Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus boucardi">Slaty-breasted Tinamou.</Species>
-            <Species Scientific_Name="Crypturellus kerriae">Choco Tinamou.</Species>
-        </Family>
-    </Order>
-<Order Name="GAVIIFORMES">
-        <Family Name="GAVIIDAE">
-            <Species Scientific_Name="Gavia stellata">Red-throated Loon.</Species>
-            <Species Scientific_Name="Gavia arctica">Arctic Loon.</Species>
-            <Species Scientific_Name="Gavia pacifica">Pacific Loon.</Species>
-            <Species Scientific_Name="Gavia immer">Common Loon.</Species>
-            <Species Scientific_Name="Gavia adamsii">Yellow-billed Loon.</Species>
-        </Family>
-    </Order>
-
-
-<Order Name="PODICIPEDIFORMES">
-        <Family Name="PODICIPEDIDAE">
-            <Species Scientific_Name="Tachybaptus dominicus">Least Grebe.</Species>
-            <Species Scientific_Name="Podilymbus podiceps">Pied-billed Grebe.</Species>
-            <Species Scientific_Name="">Atitlan Grebe.</Species>
-            <Species Scientific_Name="">Horned Grebe.</Species>
-            <Species Scientific_Name="">Red-necked Grebe.</Species>
-            <Species Scientific_Name="">Eared Grebe.</Species>
-            <Species Scientific_Name="">Western Grebe.</Species>
-            <Species Scientific_Name="">Clark's Grebe.</Species>
-            <Species Scientific_Name=""/>
-        </Family>
-    </Order>
-
-
-<Order Name="PROCELLARIIFORMES">
-        <Family Name="DIOMEDEIDAE">
-            <Species Scientific_Name="Thalassarche chlororhynchos">Yellow-nosed Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche cauta">Shy Albatross. (A)</Species>
-            <Species Scientific_Name="Thalassarche melanophris">Black-browed Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebetria palpebrata">Light-mantled Albatross. (A)</Species>
-            <Species Scientific_Name="Diomedea exulans">Wandering Albatross. (A)</Species>
-            <Species Scientific_Name="Phoebastria immutabilis">Laysan Albatross.</Species>
-            <Species Scientific_Name="Phoebastria nigripes">Black-footed Albatross.</Species>
-            <Species Scientific_Name="Phoebastria albatrus">Short-tailed Albatross. (N)</Species>
-        </Family>
-        <Family Name="PROCELLARIIDAE">
-            <Species Scientific_Name="Fulmarus glacialis">Northern Fulmar.</Species>
-            <Species Scientific_Name="Pterodroma neglecta">Kermadec Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma arminjoniana">Herald Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma ultima">Murphy's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma inexpectata">Mottled Petrel. (A)</Species>
-            <Species Scientific_Name="Pterodroma cahow">Bermuda Petrel.</Species>
-            <Species Scientific_Name="Pterodroma hasitata">Black-capped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma externa">Juan Fernandez Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma phaeopygia">Dark-rumped Petrel.</Species>
-            <Species Scientific_Name="Pterodroma cervicalis">White-necked Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma hypoleuca">Bonin Petrel. (H)</Species>
-            <Species Scientific_Name="Pterodroma nigripennis">Black-winged Petrel. (H, A)</Species>
-            <Species Scientific_Name="Pterodroma cookii">Cook's Petrel. (N)</Species>
-            <Species Scientific_Name="Pterodroma longirostris">Stejneger's Petrel. (A)</Species>
-            <Species Scientific_Name="Bulweria bulwerii">Bulwer's Petrel. (H)</Species>
-            <Species Scientific_Name="Bulweria fallax">Jouanin's Petrel. (H, A)</Species>
-            <Species Scientific_Name="Procellaria parkinsoni">Parkinson's Petrel. (N)</Species>
-            <Species Scientific_Name="Calonectris leucomelas">Streaked Shearwater. (A)</Species>
-            <Species Scientific_Name="Calonectris diomedea">Cory's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus creatopus">Pink-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus carneipes">Flesh-footed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus gravis">Greater Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus pacificus">Wedge-tailed Shearwater.</Species>
-            <Species Scientific_Name="Puffinus bulleri">Buller's Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus griseus">Sooty Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus tenuirostris">Short-tailed Shearwater. (N)</Species>
-            <Species Scientific_Name="Puffinus nativitatis">Christmas Shearwater. (H)</Species>
-            <Species Scientific_Name="Puffinus puffinus">Manx Shearwater.</Species>
-            <Species Scientific_Name="Puffinus auricularis">Townsend's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus opisthomelas">Black-vented Shearwater.</Species>
-            <Species Scientific_Name="Puffinus lherminieri">Audubon's Shearwater.</Species>
-            <Species Scientific_Name="Puffinus assimilis">Little Shearwater. (A)</Species>
-        </Family>
-        <Family Name="HYDROBATIDAE">
-            <Species Scientific_Name="Oceanites oceanicus">Wilson's Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Pelagodroma marina">White-faced Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Hydrobates pelagicus">European Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma furcata">Fork-tailed Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma leucorhoa">Leach's Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma homochroa">Ashy Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma castro">Band-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma tethys">Wedge-rumped Storm-Petrel. (N)</Species>
-            <Species Scientific_Name="Oceanodroma melania">Black Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma macrodactyla">Guadalupe Storm-Petrel.</Species>
-            <Species Scientific_Name="Oceanodroma markhami">Markham's Storm-Petrel. (A)</Species>
-            <Species Scientific_Name="Oceanodroma tristrami">Tristram's Storm-Petrel. (H)</Species>
-            <Species Scientific_Name="Oceanodroma microsoma">Least Storm-Petrel.</Species>
-        </Family>
-    </Order>
-
-<Order Name="PELECANIFORMES">
-        <Family Name="PHAETHONTIDAE">
-            <Species Scientific_Name="Phaethon lepturus">White-tailed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon aethereus">Red-billed Tropicbird.</Species>
-            <Species Scientific_Name="Phaethon rubricauda">Red-tailed Tropicbird.</Species>
-        </Family>
-        <Family Name="SULIDAE">
-            <Species Scientific_Name="Sula dactylatra">Masked Booby.</Species>
-            <Species Scientific_Name="Sula nebouxii">Blue-footed Booby.</Species>
-            <Species Scientific_Name="Sula variegata">Peruvian Booby. (A)</Species>
-            <Species Scientific_Name="Sula leucogaster">Brown Booby.</Species>
-            <Species Scientific_Name="Sula sula">Red-footed Booby.</Species>
-            <Species Scientific_Name="Morus bassanus">Northern Gannet.</Species>
-        </Family>
-        <Family Name="PELECANIDAE">
-            <Species Scientific_Name="Pelecanus erythrorhynchos">American White Pelican.</Species>
-            <Species Scientific_Name="Pelecanus occidentalis">Brown Pelican.</Species>
-        </Family>
-        <Family Name="PHALACROCORACIDAE">
-            <Species Scientific_Name="Phalacrocorax penicillatus">Brandt's Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax brasilianus">Neotropic Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax auritus">Double-crested Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax carbo">Great Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax urile">Red-faced Cormorant.</Species>
-            <Species Scientific_Name="Phalacrocorax pelagicus">Pelagic Cormorant.</Species>
-        </Family>
-        <Family Name="ANHINGIDAE">
-            <Species Scientific_Name="Anhinga anhinga">Anhinga.</Species>
-        </Family>
-        <Family Name="FREGATIDAE">
-            <Species Scientific_Name="Fregata magnificens">Magnificent Frigatebird.</Species>
-            <Species Scientific_Name="Fregata minor">Great Frigatebird.</Species>
-            <Species Scientific_Name="Fregata ariel">Lesser Frigatebird. (A)</Species>
-        </Family>
-    </Order>
-</Class>
diff --git a/samples/SimpleTransform/birds.xsl b/samples/SimpleTransform/birds.xsl
deleted file mode 100644
index 4d6f8e1..0000000
--- a/samples/SimpleTransform/birds.xsl
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" indent="yes"/>
-
-<xsl:template match="Class">
-<BirdInfo>
-	<xsl:apply-templates select="Order"/>
-</BirdInfo>
-</xsl:template>
-
-<xsl:template match="Order">
-Order is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Family"/><xsl:text>
-</xsl:text>
-</xsl:template>
-
-<xsl:template match="Family">
-	Family is:  <xsl:value-of select="@Name"/>
-	<xsl:apply-templates select="Species | SubFamily | text()"/>
-</xsl:template>
-
-<xsl:template match="SubFamily">
-		SubFamily is <xsl:value-of select="@Name"/>
-    <xsl:apply-templates select="Species | text()"/>
-</xsl:template>
-
-<xsl:template match="Species">
-	<xsl:choose>
-	  <xsl:when test="name(..)='SubFamily'">
-		<xsl:text>	</xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:when>
-	  <xsl:otherwise>
-		<xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/SimpleTransform/foo.xml b/samples/SimpleTransform/foo.xml
deleted file mode 100644
index da9f79b..0000000
--- a/samples/SimpleTransform/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/SimpleTransform/foo.xsl b/samples/SimpleTransform/foo.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/SimpleTransform/foo.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/SimpleTransform/readme.html b/samples/SimpleTransform/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/SimpleTransform/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/Trace/Trace.java b/samples/Trace/Trace.java
deleted file mode 100644
index d059e4b..0000000
--- a/samples/Trace/Trace.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xalan.trace.TraceManager;
-import org.apache.xalan.trace.PrintTraceListener;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-public class Trace
-{	
-  public static void main (String[] args)
-	  throws java.io.IOException, 
-			 TransformerException, TransformerConfigurationException,
-			 java.util.TooManyListenersException, 
-			 org.xml.sax.SAXException			 
-  {
-    // Set up a PrintTraceListener object to print to a file.
-    java.io.FileWriter fw = new java.io.FileWriter("events.log");  
-    java.io.PrintWriter pw = new java.io.PrintWriter(fw, true);
-    PrintTraceListener ptl = new PrintTraceListener(pw);
-
-    // Print information as each node is 'executed' in the stylesheet.
-    ptl.m_traceElements = true;
-    // Print information after each result-tree generation event.
-    ptl.m_traceGeneration = true;
-    // Print information after each selection event.
-    ptl.m_traceSelection = true;
-    // Print information whenever a template is invoked.
-    ptl.m_traceTemplates = true;
-
-    // Set up the transformation    
-   	TransformerFactory tFactory = TransformerFactory.newInstance();
-    Transformer transformer = tFactory.newTransformer(new StreamSource("foo.xsl"));
-
-    // Cast the Transformer object to TransformerImpl.
-    if (transformer instanceof TransformerImpl) 
-	  {
-      TransformerImpl transformerImpl = (TransformerImpl)transformer;
-      // Register the TraceListener with a TraceManager associated 
-      // with the TransformerImpl.
-      TraceManager trMgr = transformerImpl.getTraceManager();
-      trMgr.addTraceListener(ptl);
-                     
-      // Perform the transformation --printing information to
-      // the events log during the process.
-      transformer.transform
-                         ( new StreamSource("foo.xml"), 
-                           new StreamResult(new java.io.FileWriter("foo.out")) );
-    }
-    // Close the PrintWriter and FileWriter.
-    pw.close();
-    fw.close();
-   	System.out.println("**The output is in foo.out; the log is in events.log ****");	
-    
-  }
-}
\ No newline at end of file
diff --git a/samples/Trace/foo.xml b/samples/Trace/foo.xml
deleted file mode 100644
index 5e72e15..0000000
--- a/samples/Trace/foo.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<upload>
-  <day>
-    <dow>tue</dow>
-    <order>
-      <line>
-         <product>Belt</product>
-         <price>5.54</price>
-      </line>
-    </order>
-  </day>
-  <day>
-    <dow>wed</dow>
-  </day>
-  <day>
-    <dow>thu</dow>
-    <order>
-      <line>
-         <product>Boots</product>
-         <price>9.23</price>
-      </line>
-    </order>
-  </day>
-  <day>
-    <dow>fri</dow>
-    <order>
-    </order>
-    <order>
-    </order>
-  </day>
-  <day>
-    <dow>sat</dow>
-    <order>
-      <line>
-         <product>Jacket</product>
-         <price>9.84</price>
-      </line>
-    </order>
-  </day>
-  <day>
-    <dow>mon</dow>
-    <order>
-    </order>
-    <order>
-      <line>
-         <product>Tie</product>
-         <price>5.37</price>
-      </line>
-    </order>
-  </day>
-  <day>
-    <dow>tue</dow>
-  </day>
-  <day>
-    <dow>wed</dow>
-    <order>
-    </order>
-  </day>
-  <day>
-    <dow>thu</dow>
-    <order>
-      <line>
-         <product>Overalls</product>
-         <price>3.16</price>
-      </line>
-    </order>
-  </day>
-</upload>
diff --git a/samples/Trace/foo.xsl b/samples/Trace/foo.xsl
deleted file mode 100644
index 2775ee7..0000000
--- a/samples/Trace/foo.xsl
+++ /dev/null
@@ -1,69 +0,0 @@
-<xsl:stylesheet
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-  xmlns="http://www.w3.org/TR/REC-html40">
-
-  <!-- FileName: misc-evans -->
-  <!-- Document: http://www.w3.org/TR/xslt -->
-  <!-- DocVersion: 19991116 -->
-  <!-- Purpose: COPY of perf test;"A Practical Suggestion for XSLT Performance Improvement" by Clark Evans. -->
-
-   <xsl:variable name="day-list" 
-     select="//dow[not(.=following::dow)]" />
-
-   <xsl:variable name="product-list" 
-            select="//product[not(.=following::product)]" />
-     
-<xsl:template match="/">
-  <xsl:variable name="my-test"><a><b/></a></xsl:variable>
-  <html>
-    <xsl:copy-of select="$my-test"/>
-    <body>
-    <table>
-      <tr>
-        <td><xsl:text> </xsl:text></td>
-        <xsl:for-each select="$day-list">
-          <xsl:sort order="ascending" select="." />
-          <th><xsl:value-of select="."/></th>
-        </xsl:for-each>
-      </tr>
-      <xsl:for-each select="$product-list">
-        <xsl:sort    order="ascending" select="." />
-        <xsl:variable name="product" select="." />
-        <tr>
-          <td>
-            <xsl:value-of select="$product" />
-          </td>
-          <xsl:for-each select="$day-list">
-            <xsl:sort order="ascending" select="." />
-            <xsl:variable name="day" select="." />
-            <td>
-              <xsl:value-of 
-             select="sum(//price[../product=$product][../../../dow=$day])"
-/> .
-            </td>
-          </xsl:for-each>
-          <td>
-            <xsl:value-of 
-              select="sum(//price[../product=$product])" /> .
-           </td>
-        </tr>
-      </xsl:for-each>
-      <tr>
-        <td><xsl:text> </xsl:text></td>
-        <xsl:for-each select="$day-list">
-          <xsl:sort    order="ascending" select="." />
-          <xsl:variable name="day" select="." />
-          <td>
-            <xsl:value-of 
-              select="sum(//price[../../../dow=$day])" />
-          </td>
-        </xsl:for-each>
-        <td>
-          <xsl:value-of select="sum(//price)" />
-        </td>
-      </tr>
-    </table>
-    </body>
-  </html>
-</xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseStylesheetPI/UseStylesheetPI.java b/samples/UseStylesheetPI/UseStylesheetPI.java
deleted file mode 100644
index aa0c714..0000000
--- a/samples/UseStylesheetPI/UseStylesheetPI.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-// Imported java.io classes
-import java.io.FileOutputStream;
-import java.io.IOException;	
-
-public class UseStylesheetPI
-{
-  public static void main(String[] args)
-	  throws TransformerException, TransformerConfigurationException
-	{
-	  String media= null , title = null, charset = null;
-	  try
-	  {	
-    	TransformerFactory tFactory = TransformerFactory.newInstance();
-      Source stylesheet = tFactory.getAssociatedStylesheet
-        (new StreamSource("fooX.xml"),media, title, charset);
-      
-      Transformer transformer = tFactory.newTransformer(stylesheet);
-        
-		   transformer.transform(new StreamSource("fooX.xml"), 
-                             new StreamResult(new java.io.FileOutputStream("foo.out")));
-       
-      System.out.println("************* The result is in foo.out *************");
-       
-	  }
-  	  catch (Exception e)
-	  {
-	    e.printStackTrace();
-	  }
-  }
-}
diff --git a/samples/UseStylesheetPI/foo.xsl b/samples/UseStylesheetPI/foo.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/UseStylesheetPI/foo.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseStylesheetPI/fooX.xml b/samples/UseStylesheetPI/fooX.xml
deleted file mode 100644
index cd4b743..0000000
--- a/samples/UseStylesheetPI/fooX.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="foo.xsl"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/UseStylesheetParam/UseStylesheetParam.java b/samples/UseStylesheetParam/UseStylesheetParam.java
deleted file mode 100644
index a8b3c91..0000000
--- a/samples/UseStylesheetParam/UseStylesheetParam.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "XSLT4J" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Imported TraX classes
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-// Imported SAX classes
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-// Imported java classes
-import java.io.IOException;
-
-  /**
-   * Use command-line input as a stylesheet parameter.
-   */
-
-public class UseStylesheetParam
-{
-  public static void main(String[] args)
-	throws TransformerException, TransformerConfigurationException, 
-         SAXException, IOException	   
-	{
-    if(args.length != 1)
-    {
-      System.err.println("Please pass one string to this program");
-      return;
-    }
-  	// Get the parameter value from the command line.
-    String paramValue = args[0];
-	
-   	TransformerFactory tFactory = TransformerFactory.newInstance();
-    Transformer transformer = tFactory.newTransformer(new StreamSource("foo.xsl"));
-
-	// Set the parameter. I can't get non-null namespaces to work!!
-    transformer.setParameter("param1",	/* parameter name */
-               							 paramValue /* parameter value */ );
-    
-    transformer.transform(new StreamSource("foo.xml"), new StreamResult(System.out));
-  }   
-}
\ No newline at end of file
diff --git a/samples/UseStylesheetParam/foo.xml b/samples/UseStylesheetParam/foo.xml
deleted file mode 100644
index 03c32b5..0000000
--- a/samples/UseStylesheetParam/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
diff --git a/samples/UseStylesheetParam/foo.xsl b/samples/UseStylesheetParam/foo.xsl
deleted file mode 100644
index 5ee19dc..0000000
--- a/samples/UseStylesheetParam/foo.xsl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:param name="param1" select="'default value'"/>
-  <xsl:template match="doc">
-    <out><xsl:value-of select="$param1"/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseStylesheetParam/readme.html b/samples/UseStylesheetParam/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/UseStylesheetParam/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/UseXMLFilters/UseXMLFilters.java b/samples/UseXMLFilters/UseXMLFilters.java
deleted file mode 100644
index 2fe78fd..0000000
--- a/samples/UseXMLFilters/UseXMLFilters.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Templates;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.Result;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TemplatesHandler;
-import javax.xml.transform.sax.TransformerHandler;              
-
-// Imported SAX classes
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.Parser;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.XMLReader;
-import org.xml.sax.XMLFilter;
-import org.xml.sax.ContentHandler;
-
-// Imported DOM classes
-import org.w3c.dom.Node;
-
-// Imported Serializer classes
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.templates.OutputProperties;
-
-// Imported JAVA API for XML Parsing classes
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException; 
-
-// Imported java.io classes
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.IOException;
-
-  /**
-   * This example shows how to chain a series of transformations by
-   * piping SAX events from one Transformer to another. Each Transformer
-   * operates as a SAX2 XMLFilter/XMLReader.
-   */
-public class UseXMLFilters
-{
-  public static void main(String[] args)
-	throws TransformerException, TransformerConfigurationException, 
-         SAXException, IOException	   
-	{
-    // Instantiate  a TransformerFactory.
-  	TransformerFactory tFactory = TransformerFactory.newInstance();
-    // Determine whether the TransformerFactory supports The use uf SAXSource 
-    // and SAXResult
-    if (tFactory.getFeature(SAXSource.FEATURE) && tFactory.getFeature(SAXResult.FEATURE))
-    { 
-      // Cast the TransformerFactory to SAXTransformerFactory.
-      SAXTransformerFactory saxTFactory = ((SAXTransformerFactory) tFactory);
-  	  // Create an XMLFilter for each stylesheet.
-      XMLFilter xmlFilter1 = saxTFactory.newXMLFilter(new StreamSource("foo1.xsl"));
-      XMLFilter xmlFilter2 = saxTFactory.newXMLFilter(new StreamSource("foo2.xsl"));
-      XMLFilter xmlFilter3 = saxTFactory.newXMLFilter(new StreamSource("foo3.xsl"));
-    
-      // Create an XMLReader.
-	    XMLReader reader = XMLReaderFactory.createXMLReader();
-    
-      // xmlFilter1 uses the XMLReader as its reader.
-      xmlFilter1.setParent(reader);
-    
-      // xmlFilter2 uses xmlFilter1 as its reader.
-      xmlFilter2.setParent(xmlFilter1);
-    
-      // xmlFilter3 uses xmlFilter2 as its reader.
-      xmlFilter3.setParent(xmlFilter2);
-    
-      // xmlFilter3 outputs SAX events to the serializer.
-      Serializer serializer = SerializerFactory.getSerializer
-                                   (OutputProperties.getDefaultMethodProperties("xml"));        
-      serializer.setOutputStream(System.out);
-      xmlFilter3.setContentHandler(serializer.asContentHandler());
-
-  	  // Perform the series of transformations as follows:
-	    //   - transformer3 gets its parent (transformer2) as the XMLReader/XMLFilter
-	    //     and calls transformer2.parse(new InputSource("foo.xml")).
-      //   - transformer2 gets its parent (transformer1) as the XMLReader/XMLFilter
-	    //     and calls transformer1.parse(new InputSource("foo.xml")). 
-      //   - transformer1 gets its parent (reader, a SAXParser) as the XMLReader 
-      //     and calls reader.parse(new InputSource("foo.xml")).
-	    //   - reader parses the XML document and sends the SAX parse events to transformer1, 
-	    //     which performs transformation 1 and sends the output to transformer2.
-  	  //   - transformer2 parses the transformation 1 output, performs transformation 2, and 
-	    //     sends the output to transformer3.
-	    //   - transformer3 parses the transformation 2 output, performs transformation 3,
-  	  //     and sends the output to the serializer.
-      xmlFilter3.parse(new InputSource("foo.xml"));
-    }
-  }
-}
\ No newline at end of file
diff --git a/samples/UseXMLFilters/foo.xml b/samples/UseXMLFilters/foo.xml
deleted file mode 100644
index da9f79b..0000000
--- a/samples/UseXMLFilters/foo.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
\ No newline at end of file
diff --git a/samples/UseXMLFilters/foo1.xsl b/samples/UseXMLFilters/foo1.xsl
deleted file mode 100644
index 5da8d5e..0000000
--- a/samples/UseXMLFilters/foo1.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="doc">
-    <out><xsl:value-of select="."/></out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseXMLFilters/foo2.xsl b/samples/UseXMLFilters/foo2.xsl
deleted file mode 100644
index 67cd197..0000000
--- a/samples/UseXMLFilters/foo2.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="out">
-    <out><xsl:value-of select="."/> ...good to see you again!</out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseXMLFilters/foo3.xsl b/samples/UseXMLFilters/foo3.xsl
deleted file mode 100644
index 83cfaa6..0000000
--- a/samples/UseXMLFilters/foo3.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:template match="out">
-    <out><xsl:value-of select="."/> ...and goodby!</out>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/UseXMLFilters/readme.html b/samples/UseXMLFilters/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/UseXMLFilters/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/Validate/Validate.java b/samples/Validate/Validate.java
deleted file mode 100644
index 6532f76..0000000
--- a/samples/Validate/Validate.java
+++ /dev/null
@@ -1,309 +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 JAXP classes
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.ParserConfigurationException;
-
-// SAX import
-import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-
-// Imported java.io classes
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FilenameFilter;
-import java.io.FileWriter;
-
-/* Use JAXP SAXParser to parse 1 .xml file or all the .xml files in a directory.
- * Takes 1 or 2 command-line arguments:
- *   Argument 1 (required) is a file name or directory name.
- *   Argument 2 (optional) is a log file name. If ommitted, messages are written to screen.
- */
-public class Validate
-{
-  static int numXMLFiles = 0;
-  static int numValidFiles = 0;
-  static int numInvalidFiles = 0;
-  static int numFilesMissingDoctype = 0;
-  static int numMalformedFiles = 0;
-  static boolean useLogFile = false;
-  static StringBuffer buff = new StringBuffer();
-
-  public static void main(String[] args)
-    throws FileNotFoundException, IOException, ParserConfigurationException, SAXException
-  {
-    if (args.length == 0 || args.length > 2)
-    {
-      System.out.println("\nEnter 'java validate -help' for information about running Validate");
-      return;
-    }
-    if (args[0].toLowerCase().equals("-help"))
-    { 
-      String sep = "\n====================================================\n";
-      String a = "Validate uses Xerces to parse the xml files in the directory you specify or the individual xml file you specify. The parser validates each document (checks that it conforms to its DOCTYPE).\n";
-      String b = "Each xml file should contain a DOCTYPE declaration.\n\n";
-      String c = "Validate takes 1 or 2 arguments:\n";
-      String d = " Argument 1 specifies a directory or an individual xml file.\n";
-      String e = " Argument 2 specifies a log file. If you include this argument, Validate appends messages to this file. If you do not, Validate writes messages to the screen.\n";
-      System.out.println(sep+a+b+c+d+e+sep);
-      return;
-    }    
-    try
-    {
-      Validate v = new Validate();
-      v.validate(args);
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-    }    
-  }
-  
-  void validate(String[] args)
-    throws FileNotFoundException, IOException, ParserConfigurationException, SAXException
-  {
-    File dir = new File(args[0]);
-   
-    // User may include a 2nd argument for the log file. 
-    useLogFile = (args.length == 2);
-   
-    if (dir.isFile()) // Just checking one file.
-    {
-      parse(null,args[0]);
-    }
-    else if (dir.isDirectory())  // Checking the contents of a directory.
-    {
-      // Only interested in .xml files.
-      XMLFileFilter filter = new XMLFileFilter();
-      String [] files = dir.list(filter);
-      for (int i = 0; i <files.length; i++)
-      { 
-        parse(dir.toString(),files[i]); // All the work is done here.
-        
-        if (!useLogFile) 
-        // Write messages to screen after parsing each file.
-        {
-          System.out.print(buff.toString());
-          buff = new StringBuffer();
-        }
-      }
-    }
-    else // Command-line argument is no good!
-    {
-      System.out.println(args[0] + " not found!");
-      return;
-    }
-    // Provide user with a summary.
-    buff.append("================SUMMARY=============================\n");
-    if (numXMLFiles > 1)
-      buff.append("Parsed " + numXMLFiles + " .xml files in " +  args[0] + ".\n");
-    if (numValidFiles > 1)
-      buff.append( numValidFiles + " files are valid.\n");
-    else if (numValidFiles == 1)
-      buff.append( numValidFiles + " file is valid.\n");
-    if (numInvalidFiles > 1)
-      buff.append(numInvalidFiles + " files are not valid.\n");
-    else if (numInvalidFiles == 1)
-      buff.append( numInvalidFiles + " file is not valid.\n");
-    if (numMalformedFiles > 1)
-      buff.append(numMalformedFiles + " files are not well-formed.\n");
-    else if (numMalformedFiles == 1)
-      buff.append( numMalformedFiles + " file is not well-formed.\n");
-    if (numFilesMissingDoctype > 1)
-      buff.append(numFilesMissingDoctype + " files do not contain a DOCTYPE declaration.\n");
-    else if (numFilesMissingDoctype == 1)
-      buff.append(numFilesMissingDoctype + " file does not contain a DOCTYPE declaration.\n");
-     
-    if (!useLogFile)
-      System.out.print(buff.toString());
-    else
-    {
-      // If log file exists, append.
-      FileWriter writer = new FileWriter(args[1], true);
-      writer.write(new java.util.Date().toString()+ "\n");
-      writer.write(buff.toString());
-      writer.close();     
-      System.out.println("Done with validation. See " + args[1] + ".");
-    }
-  }
-  
-  // Parse each XML file.
-  void parse(String dir, String filename)
-     throws FileNotFoundException, IOException, ParserConfigurationException, SAXException
-  {
-    try 
-    {
-      File f = new File(dir, filename);
-      StringBuffer errorBuff = new StringBuffer();
-      InputSource input = new InputSource(new FileInputStream(f));
-      // Set systemID so parser can find the dtd with a relative URL in the source document.
-      input.setSystemId(f.toString());
-      SAXParserFactory spfact = SAXParserFactory.newInstance();
-       
-      spfact.setValidating(true);
-      spfact.setNamespaceAware(true);
-            
-      SAXParser parser = spfact.newSAXParser();
-      XMLReader reader = parser.getXMLReader();
-      
-      //Instantiate inner-class error and lexical handler.
-      Handler handler = new Handler(filename, errorBuff);
-      reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler);
-      parser.parse(input, handler);
-
-      if (handler.containsDTD && !handler.errorOrWarning) // valid
-      {
-        buff.append("VALID " + filename +"\n");
-        numValidFiles++;
-      }
-      else if (handler.containsDTD) // not valid
-      {
-        buff.append ("NOT VALID " + filename + "\n");
-        buff.append(errorBuff.toString());
-        numInvalidFiles++;
-      }
-      else // no DOCTYPE to use for validation
-      {
-        buff.append("NO DOCTYPE DECLARATION " + filename + "\n");
-        numFilesMissingDoctype++;
-      }
-    }
-    catch (Exception e) // Serious problem!
-    {
-      buff.append("NOT WELL-FORMED " + filename + ". " + e.getMessage() + "\n");
-      numMalformedFiles++;
-    }
-    finally
-    {
-      numXMLFiles++;
-    }
-  }
-  // Inner classes
-  
-  // Only interested in parsing .xml files.
-  class XMLFileFilter implements FilenameFilter
-  {
-    public boolean accept(File dir, String fileName)
-    {
-      return fileName.toLowerCase().endsWith(".xml") && new File(dir.toString(),fileName).isFile();
-    }
-  }
-  
-  // Catch any errors or warnings, and verify presence of doctype statement.
-  class Handler extends DefaultHandler implements LexicalHandler
-  {
-    boolean errorOrWarning;
-    boolean containsDTD;
-    String sourceFile;
-    StringBuffer errorBuff;  
-  
-    Handler(String sourceFile, StringBuffer errorBuff)
-    {
-      super();
-      this.sourceFile = sourceFile;
-      this.errorBuff = errorBuff;
-      errorOrWarning = false;
-      containsDTD = false;
-    }
-    
-    public void error(SAXParseException exc)
-    {
-      errorBuff.append(sourceFile + " Error: " + exc.getMessage()+ "\n");    
-      errorOrWarning = true;
-    }
-    public void warning(SAXParseException exc)
-    {
-      errorBuff.append(sourceFile + " Warning:" + exc.getMessage()+ "\n");   
-      errorOrWarning = true;
-    }
-
-    // LexicalHandler methods; all no-op except startDTD().
-    
-    // Set containsDTD to true when startDTD event occurs.
-    public void startDTD (String name, String publicId, String systemId)
-	    throws SAXException
-    {
-      containsDTD = true;
-    }
- 
-    public void endDTD () throws SAXException
-    {}  
-  
-    public void startEntity (String name) throws SAXException
-    {}
-  
-    public void endEntity (String name) throws SAXException
-    {}
-  
-    public void startCDATA () throws SAXException
-    {}
-  
-    public void endCDATA () throws SAXException
-    {}
-  
-    public void comment (char ch[], int start, int length) throws SAXException
-    {}
-  }
-}
\ No newline at end of file
diff --git a/samples/Validate/ValidateXMLInput.java b/samples/Validate/ValidateXMLInput.java
deleted file mode 100644
index 06b3c2d..0000000
--- a/samples/Validate/ValidateXMLInput.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "XSLT4J" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-
-import javax.xml.parsers.SAXParserFactory;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Validate the XML input by using SAXParserFactory to turn on namespace awareness and 
- * validation, and a SAX XMLReader to parse the input and report problems to an error 
- * handler.
- * 
- * This sample uses birds.xml with an internal DOCTYPE declaration. As shipped, birds.xml
- * contains an element that violates the declared document type.
- */
-public class ValidateXMLInput
-{
-  
-  public static void main(String[] args) 
-    throws Exception
-  {
-    ValidateXMLInput v = new ValidateXMLInput();
-    v.validate();
-  }
-
-  void validate()
-    throws Exception
-   {
-     // Since we're going to use a SAX feature, the transformer must support 
-    // input in the form of a SAXSource.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    if(tfactory.getFeature(SAXSource.FEATURE))
-    {
-      // Standard way of creating an XMLReader in JAXP 1.1.
-      SAXParserFactory pfactory= SAXParserFactory.newInstance();
-      pfactory.setNamespaceAware(true); // Very important!
-      // Turn on validation.
-      pfactory.setValidating(true);
-      // Get an XMLReader.
-      XMLReader reader = pfactory.newSAXParser().getXMLReader();
-  
-      // Instantiate an error handler (see the Handler inner class below) that will report any
-      // errors or warnings that occur as the XMLReader is parsing the XML input.
-      Handler handler = new Handler();
-      reader.setErrorHandler(handler);
-  
-      // Standard way of creating a transformer from a URL.
-      Transformer t = tfactory.newTransformer(
-        new StreamSource("birds.xsl"));
-      
-      // Specify a SAXSource that takes both an XMLReader and a URL.
-      SAXSource source = new SAXSource(reader,
-        new InputSource("birds.xml"));
-      
-      // Transform to a file.
-      try
-      {
-        t.transform(source, new StreamResult("birds.out"));
-      }
-      catch (TransformerException te)
-      {
-        // The TransformerException wraps someting other than a SAXParseException
-        // warning or error, either of which should be "caught" by the Handler.
-        System.out.println("Not a SAXParseException warning or error: " + te.getMessage());
-      }
-                                  
-      System.out.println("=====Done=====");
-    }
-    else
-      System.out.println("tfactory does not support SAX features!");
-  }
-
-  // Catch any errors or warnings from the XMLReader.
-  class Handler extends DefaultHandler
-  {
-    public void warning (SAXParseException spe)
-	     throws SAXException
-    {
-      System.out.println("SAXParseException warning: " + spe.getMessage());
-    }    
-
-    public void error (SAXParseException spe)
-    	throws SAXException
-    {
-      System.out.println("SAXParseException error: " + spe.getMessage());
-    }     
-  }
-}
diff --git a/samples/Validate/birds.xml b/samples/Validate/birds.xml
deleted file mode 100644
index 5b12938..0000000
--- a/samples/Validate/birds.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Class [
-  <!ELEMENT Class (Order+)>
-  <!ELEMENT Order (Family+)>
-  <!ATTLIST Order Name CDATA #REQUIRED>
-  <!ELEMENT Family (Species+)>
-  <!ATTLIST Family Name CDATA #REQUIRED>
-  <!ELEMENT Species (#PCDATA)>
-  <!ATTLIST Species Scientific_Name CDATA #REQUIRED>
-  ]>
-  
-<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">
-            <Speciesx Scientific_Name="Gavia stellata">Red-throated Loon.</Speciesx>
-            <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>
-        </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/Validate/birds.xsl b/samples/Validate/birds.xsl
deleted file mode 100644
index 4d6f8e1..0000000
--- a/samples/Validate/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/Validate/readme.html b/samples/Validate/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/Validate/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/1-redir.xml b/samples/extensions/1-redir.xml
deleted file mode 100644
index e99f05a..0000000
--- a/samples/extensions/1-redir.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0"?> 
-<doc>
-  <foo file="1-redir.out">
-    Testing Redirect extension:
-    <bar>A foo subelement text node</bar>
-  </foo>
-  <main>
-    Everything else
-  </main>  
-</doc>
diff --git a/samples/extensions/1-redir.xsl b/samples/extensions/1-redir.xsl
deleted file mode 100644
index b3e69c2..0000000
--- a/samples/extensions/1-redir.xsl
+++ /dev/null
@@ -1,43 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    version="1.0"
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:redirect="org.apache.xalan.lib.Redirect"
-    extension-element-prefixes="redirect">
-
-  <lxslt:component prefix="redirect" elements="write open close" functions="">
-    <lxslt:script lang="javaclass" src="org.apache.xalan.lib.Redirect"/>
-  </lxslt:component>  
-    
-  <xsl:template match="/">
-    <standard-out>
-      Standard output:
-      <xsl:apply-templates/>
-    </standard-out>
-  </xsl:template>
-
-  <!-- not redirected -->
-  <xsl:template match="doc/main">
-    <main>
-    -- look in <xsl:value-of select="/doc/foo/@file"/> for the redirected output --
-      <xsl:apply-templates/>
-    </main>
-  </xsl:template>
-  
-  <!-- redirected -->
-  <xsl:template match="doc/foo">
-    <!-- get redirect file name from XML input -->
-    <redirect:write select="@file">
-      <foo-out>
-        <xsl:apply-templates/>
-      </foo-out>
-    </redirect:write>
-  </xsl:template>
-  
-<!-- redirected (from the xsl:apply-templates above. I.e., bar is in /doc/foo -->  
-  <xsl:template match="bar">
-    <foobar-out>
-      <xsl:apply-templates/>
-    </foobar-out>
-  </xsl:template>
-  
-</xsl:stylesheet>
diff --git a/samples/extensions/2-basicJscript.xml b/samples/extensions/2-basicJscript.xml
deleted file mode 100644
index 9c66ca1..0000000
--- a/samples/extensions/2-basicJscript.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <deadline numdays="2"/>
-</doc>  
- 
\ No newline at end of file
diff --git a/samples/extensions/2-basicJscript.xsl b/samples/extensions/2-basicJscript.xsl
deleted file mode 100644
index a219cf7..0000000
--- a/samples/extensions/2-basicJscript.xsl
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<!--Namespaces are global if you set them in the stylesheet element-->
-<xsl:stylesheet 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    version="1.0"   
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:my-ext="ext2"
-    extension-element-prefixes="my-ext">
-    
-  <!--The component and its script are in the lxslt namespace and define the implementation-->
-  <lxslt:component prefix="my-ext" elements="timelapse" functions="getdate">
-    <lxslt:script lang="javascript">
-      var multiplier=1;
-      // Extension element implementations always take two arguments. The first
-      // argument is the XSL Processor context; the second argument is the element.
-      function timelapse(xslProcessorContext, elem)
-      {
-        multiplier=parseInt(elem.getAttribute("multiplier"));
-        // The element return value is placed in the result tree.
-        // If you do not want a return value, return null.
-        return null;
-      }
-      function getdate(numdays)
-      {
-        var d = new Date();
-        d.setDate(d.getDate() + parseInt(numdays*multiplier));
-        return d.toLocaleString();
-      }
-    </lxslt:script>
-  </lxslt:component>
-      
-  <xsl:template match="deadline">
-    <p><my-ext:timelapse multiplier="2"/>We have received your enquiry and will 
-      respond by <xsl:value-of select="my-ext:getdate(string(@numdays))"/></p>
-  </xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/3-java-namespace.xml b/samples/extensions/3-java-namespace.xml
deleted file mode 100644
index 6f2eb44..0000000
--- a/samples/extensions/3-java-namespace.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?> 
-<doc>
-   <date
-    year="2001" month="5" day="27"
-    format="EEEE, MMM dd, yyyy"/>
-</doc>
\ No newline at end of file
diff --git a/samples/extensions/3-java-namespace.xsl b/samples/extensions/3-java-namespace.xsl
deleted file mode 100644
index 45b6e59..0000000
--- a/samples/extensions/3-java-namespace.xsl
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:java="http://xml.apache.org/xslt/java"
-                version="1.0">
-                
-  <xsl:template match="/">
-    <xsl:apply-templates select="/doc/date"/> 
-  </xsl:template>
- 
-  <xsl:template match="date">
-    <xsl:variable name="year" select="string(@year)"/>
-    <xsl:variable name="month" select="string(@month)"/> 
-    <xsl:variable name="day" select="string(@day)"/>          
-    <xsl:variable name="format" select="string(@format)"/>
-    <xsl:variable name="formatter"       
-         select="java:java.text.SimpleDateFormat.new($format)"/>
-    <xsl:variable name="date" 
-         select="java:IntDate.getDate($year,$month,$day)"/>
-    <p>Date: <xsl:value-of select="java:format($formatter, $date)"/></p>
-  </xsl:template>
- 
-</xsl:stylesheet>
diff --git a/samples/extensions/4-numlistJava.xsl b/samples/extensions/4-numlistJava.xsl
deleted file mode 100644
index bff9924..0000000
--- a/samples/extensions/4-numlistJava.xsl
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:counter="MyCounter"
-                extension-element-prefixes="counter"
-                version="1.0">
-
-
-  <lxslt:component prefix="counter"
-                   elements="init incr" functions="read">
-    <lxslt:script lang="javaclass" src="MyCounter"/>
-  </lxslt:component>
-
-  <xsl:template match="/">
-    <HTML>
-      <H1>Java Example</H1>
-      <counter:init name="index" value="1"/>
-      <p>Here are the names in alphabetical order by last name:</p>
-      <xsl:for-each select="doc/name">
-        <xsl:sort select="@last"/>
-        <xsl:sort select="@first"/>
-        <p>
-        <xsl:text>[</xsl:text>
-        <xsl:value-of select="counter:read('index')"/>
-        <xsl:text>]. </xsl:text>
-        <xsl:value-of select="@last"/>
-        <xsl:text>, </xsl:text>
-        <xsl:value-of select="@first"/>
-        </p>
-        <counter:incr name="index"/>
-      </xsl:for-each>
-    </HTML>
-  </xsl:template>
- 
-</xsl:stylesheet>
diff --git a/samples/extensions/5-numlistJscript.xsl b/samples/extensions/5-numlistJscript.xsl
deleted file mode 100644
index 0f351cb..0000000
--- a/samples/extensions/5-numlistJscript.xsl
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:counter="MyCounter"
-                extension-element-prefixes="counter"
-                version="1.0">
-
-  <lxslt:component prefix="counter"
-                   elements="init incr" functions="read">
-    <lxslt:script lang="javascript">
-      var counters = new Array();
-
-      function init (xslproc, elem) {
-        name = elem.getAttribute ("name");
-        value = parseInt(elem.getAttribute ("value"));
-        counters[name] = value;
-        return null;
-      }
-
-      function read (name) {
-        return "" + (counters[name]);
-      }
-
-      function incr (xslproc, elem)
-      {
-        name = elem.getAttribute ("name");
-        counters[name]++;
-        return null;
-      }
-    </lxslt:script>
-  </lxslt:component>
-
-  <xsl:template match="/">
-    <HTML>
-      <H1>JavaScript Example.</H1>
-      <counter:init name="index" value="1"/>
-      <p>Here are the names in alphabetical order by last name:</p>
-      <xsl:for-each select="doc/name">
-        <xsl:sort select="@last"/>
-        <xsl:sort select="@first"/>
-        <p>
-        <xsl:text>[</xsl:text>
-        <xsl:value-of select="counter:read('index')"/>
-        <xsl:text>]. </xsl:text>
-        <xsl:value-of select="@last"/>
-        <xsl:text>, </xsl:text>
-        <xsl:value-of select="@first"/>
-        </p>
-        <counter:incr name="index"/>
-      </xsl:for-each>
-    </HTML>
-  </xsl:template>
- 
-</xsl:stylesheet>
diff --git a/samples/extensions/6-sqllib-instantdb.xsl b/samples/extensions/6-sqllib-instantdb.xsl
deleted file mode 100644
index 31c1782..0000000
--- a/samples/extensions/6-sqllib-instantdb.xsl
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-  <xsl:output method="html" indent="yes"/>
-  <xsl:param name="query" select="'SELECT * FROM import1'"/>
- 
-  <xsl:template match="/">
-    <!-- 1. Make the connection -->
-    <xsl:variable name="products"
-                  select="sql:new('com.lutris.instantdb.jdbc.idbDriver',
-                                'jdbc:idb:./instantdb/sample.prp')"/>
-    <!--2. Execute the query -->
-    <xsl:variable name="table" select='sql:query($products, $query)'/>
-    <HTML>
-      <HEAD>
-        <TITLE>Products</TITLE>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-          <TR>
-          <!-- Get column-label attribute from each column-header-->
-          <xsl:for-each select="$table/sql/metadata/column-header">
-            <TH><xsl:value-of select="@column-label"/></TH>
-          </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/sql/row-set/row"/>
-          <xsl:text>&#10;</xsl:text>
-        </TABLE>
-      </BODY>
-    </HTML> 
-    <!-- 3. Close the connection -->
-    <xsl:value-of select="sql:close($products)"/>
-  </xsl:template>
-
-  <xsl:template match="row">
-        <TR>
-          <xsl:apply-templates select="col"/>
-        </TR>
-  </xsl:template>
-
-  <xsl:template match="col">
-    <TD>
-      <!-- Here is the column data -->
-      <xsl:value-of select="text()"/>
-    </TD>
-  </xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/IntDate.java b/samples/extensions/IntDate.java
deleted file mode 100644
index cc9c6c3..0000000
--- a/samples/extensions/IntDate.java
+++ /dev/null
@@ -1,17 +0,0 @@
-
-import java.util.Date;
-import java.util.Calendar;
-
-public class IntDate
-{
-  public static Date getDate(String year, String month, String day)
-    {
-      // Date(int, int, int) has been deprecated, so use Calendar to
-      // set the year, month, and day.
-      Calendar c = Calendar.getInstance();
-      // Convert each argument to int.
-      c.set(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day));
-      return c.getTime();
-    }
-}
-
diff --git a/samples/extensions/MyCounter.java b/samples/extensions/MyCounter.java
deleted file mode 100644
index 2b5f54a..0000000
--- a/samples/extensions/MyCounter.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import java.util.Hashtable;
-
-public class MyCounter {
-  static Hashtable counters = new Hashtable ();
-
-
-  public void init(org.apache.xalan.extensions.XSLProcessorContext context, 
-                   org.w3c.dom.Element elem) 
-  {
-    String name = elem.getAttribute("name");
-    String value = elem.getAttribute("value");
-    int val;
-    try 
-    {
-      val = Integer.parseInt (value);
-    } 
-    catch (NumberFormatException e) 
-    {
-      e.printStackTrace ();
-      val = 0;
-    }
-    counters.put (name, new Integer (val));
-  }
-
-  public int read(String name) 
-  { 
-    Integer cval = (Integer)counters.get(name);
-    return (cval == null) ? 0 : cval.intValue();
-  }
-
-  public void incr(org.apache.xalan.extensions.XSLProcessorContext context,  
-                   org.w3c.dom.Element elem) {
-    String name = elem.getAttribute("name");
-    Integer cval = (Integer) counters.get(name);
-    int nval = (cval == null) ? 0 : (cval.intValue () + 1);
-    counters.put (name, new Integer (nval));
-  }
-}
\ No newline at end of file
diff --git a/samples/extensions/instantdb/idb.jar b/samples/extensions/instantdb/idb.jar
deleted file mode 100644
index b501833..0000000
--- a/samples/extensions/instantdb/idb.jar
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/$db$types.tbl b/samples/extensions/instantdb/tables/$db$types.tbl
deleted file mode 100644
index 8e78192..0000000
--- a/samples/extensions/instantdb/tables/$db$types.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Cols$pKey.tbl b/samples/extensions/instantdb/tables/sample$db$Cols$pKey.tbl
deleted file mode 100644
index c23982a..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Cols$pKey.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Cols.tbl b/samples/extensions/instantdb/tables/sample$db$Cols.tbl
deleted file mode 100644
index 3092d01..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Cols.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Indexes.tbl b/samples/extensions/instantdb/tables/sample$db$Indexes.tbl
deleted file mode 100644
index 3aa1517..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Indexes.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Tables$pKey.tbl b/samples/extensions/instantdb/tables/sample$db$Tables$pKey.tbl
deleted file mode 100644
index 28f0c09..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Tables$pKey.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample$db$Tables.tbl b/samples/extensions/instantdb/tables/sample$db$Tables.tbl
deleted file mode 100644
index 744194d..0000000
--- a/samples/extensions/instantdb/tables/sample$db$Tables.tbl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/instantdb/tables/sample.jrl b/samples/extensions/instantdb/tables/sample.jrl
deleted file mode 100644
index 78bef4f..0000000
--- a/samples/extensions/instantdb/tables/sample.jrl
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/numlist.xml b/samples/extensions/numlist.xml
deleted file mode 100644
index 76d41c2..0000000
--- a/samples/extensions/numlist.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-  <name first="Sanjiva" last="Weerawarana"/>
-  <name first="Joseph" last="Kesselman"/>
-  <name first="Stephen" last="Auriemma"/>
-  <name first="Igor" last="Belakovskiy"/>    
-  <name first="David" last="Marston"/>
-  <name first="David" last="Bertoni"/>
-  <name first="Donald" last="Leslie"/>
-  <name first="Emily" last="Farmer"/>
-  <name first="Myriam" last="Midy"/>
-  <name first="Paul" last="Dick"/>
-  <name first="Scott" last="Boag"/>
-  <name first="Shane" last="Curcuru"/>
-  <name first="Marcia" last="Hoffman"/>
-  <name first="Noah" last="Mendelsohn"/>
-  <name first="Alex" last="Morrow"/>    
-</doc>
\ No newline at end of file
diff --git a/samples/extensions/readme.html b/samples/extensions/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/extensions/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/sql/Xalan SQL Extension.doc b/samples/extensions/sql/Xalan SQL Extension.doc
deleted file mode 100644
index 6aa566d..0000000
--- a/samples/extensions/sql/Xalan SQL Extension.doc
+++ /dev/null
Binary files differ
diff --git a/samples/extensions/sql/Xalan SQL Extension.htm b/samples/extensions/sql/Xalan SQL Extension.htm
deleted file mode 100644
index 31abf3d..0000000
--- a/samples/extensions/sql/Xalan SQL Extension.htm
+++ /dev/null
@@ -1,161 +0,0 @@
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
-<META NAME="Generator" CONTENT="Microsoft Word 97">
-<TITLE>Xalan SQL Extension</TITLE>
-</HEAD>
-<BODY LINK="#0000ff" VLINK="#800080">
-
-<B><FONT FACE="Arial" SIZE=5><P ALIGN="CENTER"><A NAME="_Toc509062553">Xalan SQL Extension</A></P>
-<P ALIGN="CENTER"><A NAME="_Toc509062554">Connections and Queries</A></P>
-</FONT><FONT SIZE=2><P>Database Connections&#9;</B></FONT><A HREF="#_Toc509119435">*</A><DIR>
-
-<FONT SIZE=2><P>Providing Connection information in the XSL File&#9;</FONT><A HREF="#_Toc509119436">*</A></P>
-<I><FONT SIZE=2><P>XConnection(Sring DBDriver, String DBurl)&#9;</I></FONT><A HREF="#_Toc509119437">*</A></P>
-<I><FONT SIZE=2><P>XConnection(String DBDriver, String DBurl, String User, String Password)&#9;</I></FONT><A HREF="#_Toc509119438">*</A></P>
-<I><FONT SIZE=2><P>XConnection(String DBDriver, String DBurl, NodeList Properties)&#9;</I></FONT><A HREF="#_Toc509119439">*</A></P>
-<FONT SIZE=2><P>Providing Connection information in the XML File&#9;</FONT><A HREF="#_Toc509119440">*</A></P>
-<I><FONT SIZE=2><P>XConnection(NodeList ConnectionData)&#9;</I></FONT><A HREF="#_Toc509119441">*</A></P>
-<FONT SIZE=2><P>Using Existing Connections in a connection pool&#9;</FONT><A HREF="#_Toc509119442">*</A></P>
-<I><FONT SIZE=2><P>XConnection(String ConnectionName)&#9;</I></FONT><A HREF="#_Toc509119443">*</A></P></DIR>
-
-<B><FONT SIZE=2><P>Connection Pools&#9;</B></FONT><A HREF="#_Toc509119444">*</A></P><DIR>
-
-<FONT SIZE=2><P>Overview&#9;</FONT><A HREF="#_Toc509119445">*</A></P>
-<FONT SIZE=2><P>Creating a new wrapper&#9;</FONT><A HREF="#_Toc509119446">*</A></P>
-<FONT SIZE=2><P>The Default Connection Pool&#9;</FONT><A HREF="#_Toc509119447">*</A></P></DIR>
-
-<B><FONT SIZE=2><P>Queries&#9;</B></FONT><A HREF="#_Toc509119448">*</A></P><DIR>
-
-<FONT SIZE=2><P>Standard queries&#9;</FONT><A HREF="#_Toc509119449">*</A></P>
-<FONT SIZE=2><P>Parameter based queries&#9;</FONT><A HREF="#_Toc509119450">*</A></P>
-<I><FONT SIZE=2><P>Overview&#9;</I></FONT><A HREF="#_Toc509119451">*</A></P>
-<I><FONT SIZE=2><P>Handling Value and Type Information&#9;</I></FONT><A HREF="#_Toc509119452">*</A></P></DIR>
-
-<B><FONT SIZE=2><P>Examples&#9;</B></FONT><A HREF="#_Toc509119453">*</A></P><DIR>
-
-<FONT SIZE=2><P>Basic&#9;</FONT><A HREF="#_Toc509119454">*</A></P>
-<FONT SIZE=2><P>External Connections&#9;</FONT><A HREF="#_Toc509119455">*</A></P>
-<FONT SIZE=2><P>PQuery&#9;</FONT><A HREF="#_Toc509119456">*</A></P>
-<FONT SIZE=2></DIR>
-</P>
-</FONT><B><FONT FACE="Arial" SIZE=4><P><A NAME="_Toc509062555"><A NAME="_Toc509119435">Database Connection</A>s</A></P><DIR>
-
-</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The SQL Extension provides 2 basic mechanisms to connect to the database. The connection information can either be provided in the XSL/XML or pulled from a Connection Pool that was created outside the Xalan library.</P>
-<P ALIGN="JUSTIFY">The XConnection object is used to represent a connection to the database. The actual connection is established through the object constructor. Each of the different mechanisms differs with the signature of the extension.</P>
-<P ALIGN="JUSTIFY">When the connection information is provided in the XSL or XML sources, a default connection pool will be created on its behalf but due to restrictions in some drivers, the actual pooling of connections will disabled by default. See Connection Pools, The Default Connection Pool.</P>
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119436">Providing Connection information in the XSL File</A></P><DIR>
-
-</B></I></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">When providing Connection Information from the XSL or XML input sources, the XConnection object will create a default connection pool that will exist for the lifetime of the Transformation object.</P>
-</FONT><FONT FACE="Arial"><P><A NAME="_Toc509119437">XConnection(Sring DBDriver, String DBurl)</A></P>
-</FONT><FONT SIZE=2><P ALIGN="JUSTIFY">Create a standard JDBC connection using the specified driver and URL. This is used primarily for local databases that do not return user identification.</P>
-</FONT><FONT FACE="Arial"><P><A NAME="_Toc509119438">XConnection(String DBDriver, String DBurl, String User, String Password)</A></P><DIR>
-
-</FONT><FONT SIZE=2><P ALIGN="JUSTIFY">Create a standard JDBC Connection, which also provides user identification.</P></DIR>
-
-</FONT><FONT FACE="Arial"><P><A NAME="_Toc509119439">XConnection(String DBDriver, String DBurl, NodeList Properties)</A></P><DIR>
-
-</FONT><FONT SIZE=2><P ALIGN="JUSTIFY">Create a standard JDBC connection that loads the database driver using the specified URL. The NodeList provides will then be converted into a properties object which will be passes in when getting the JDBC connection.</P></DIR>
-</DIR>
-
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119440">Providing Connection information in the XML File</A></P><DIR>
-
-</B></I><P><A NAME="_Toc509119441">XConnection(NodeList ConnectionData)</A></P><DIR>
-
-</FONT><FONT SIZE=2><P ALIGN="JUSTIFY">Create connection and pass in the complete connection information as a Nodelist. This allows the XML data to provide the connection information. The node list will be used to create a named value pair list where the Node Name will represent the name and the Node Value will be the value. Required Tags consist of &quot;dbdriver&quot; and &quot;dburl&quot;. Optional tags can include &quot;user&quot; and &quot;password&quot; to specify the user identification but can also include any other database connection property.</P></DIR>
-</DIR>
-
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119442">Using Existing Connections in a connection pool</A></P><DIR>
-
-</B></I><P><A NAME="_Toc509119443">XConnection(String ConnectionName)</A></P><DIR>
-
-</FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The Xalan SQL Extensions allows the controlling program to create an external JDBC Connection Pool and reference the connection pools by name inside the Stylsheet. Besides providing a mechanism to share connection resources with Xalan, is also allows the Stylesheet to not be concerned with the Connection properties all together.</P></DIR>
-</DIR>
-</DIR>
-
-</FONT><B><FONT FACE="Arial" SIZE=4><P><A NAME="_Toc509119444">Connection Pools</A></P><DIR>
-
-</FONT><I><FONT FACE="Arial"><P><A NAME="_Toc509119445">Overview</A></P><DIR>
-
-</B></I></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">Connection pools allow the Xalan Transformer to share connections with the rest of the application. Any existing JDBC Connection pool should be compatible with the Xalan Transformer by creating a wrapper class around the specific connection pool and registering it with the XConnectionPoolManager.</P></DIR>
-
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119446">Creating a new wrapper</A></P><DIR>
-
-</B></I></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The org.apache.xalan.lib.sql.connection is the interface that needs to be implemented be compatible with the Xalan Transformer.</P></DIR>
-
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119447">The Default Connection Pool</A></P><DIR>
-
-</B></I></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">To provide a uniform internal programming model, the XConnection object will create an instance of the DefaultConnectionPool. By default the Default Connection Pool will</P></DIR>
-</DIR>
-
-</FONT><B><FONT FACE="Arial" SIZE=4><P><A NAME="_Toc509119448">Queries</A></P><DIR>
-
-</FONT><I><FONT FACE="Arial"><P><A NAME="_Toc509119449">Standard queries</A></P><DIR>
-<DIR>
-
-</B></I></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">query(XConnection conn, String SQL)</P>
-<P ALIGN="JUSTIFY">Standard queries take a connection as arguments, an XConnection and the SQL String. It is the responsibility of the Stylesheet designer to format the SQL String completely including any quotes that are necessary. For static queries this is fine because the sting can be assembled at design time.</P></DIR>
-</DIR>
-
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119450">Parameter based queries</A></P><DIR>
-
-</B></I><P><A NAME="_Toc509119451">Overview</A></P><DIR>
-
-</FONT><FONT SIZE=2><P ALIGN="JUSTIFY">Parameter based queries are used when data that dynamically changes the query needs to be supplied from the XML Data.</P>
-<P ALIGN="JUSTIFY">The Stylesheet will provide the skeleton template of the query with place holders where the data goes, then provides several mechanisms to apply that data from the XML Data.</P>
-<P ALIGN="JUSTIFY">Parameter based queries take advantage of the JDBC Prepared statement semantics.</P></DIR>
-
-</FONT><FONT FACE="Arial"><P><A NAME="_Toc509119452">Handling Value and Type Information</A></P><DIR>
-
-</FONT><FONT SIZE=2><P ALIGN="JUSTIFY">When using parameterized query the place markers in the query (a &quot;?&quot;) will be replaced with data that is provided using one of the addParameter.. methods. When adding data to a parameter based query, the type of each value must also be included so that real query can be produced. The type information can be passed in as a component of the Query or the Data which ever is more convenient to the Stylesheet designer. </P>
-<P ALIGN="JUSTIFY">If the type information is missing for a data point, the default type is set to String.</P>
-<P ALIGN="JUSTIFY">The list of possible value types include, string,  bigdecimal, boolean, bytes, date, double, float, long, short, time, timestamp.</P></DIR>
-
-</FONT><B><FONT FACE="Arial"><P>pquery(XConnection, query)</P><DIR>
-
-</B></FONT><FONT SIZE=2><P>When just the query statement is passed as a parameter, the Type information must be passed in as a component of the data. </P></DIR>
-
-</FONT><B><FONT FACE="Arial"><P>pquery(XConnection, query, typeinfo)</P><DIR>
-
-</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">This allows the query to be specified using the &quot;?&quot; place holders and defining the type for each of the placeholders as a comma separated value string. i.e. &quot;string,int,string,datetime&quot;</P></DIR>
-
-</FONT><B><FONT FACE="Arial"><P>addParameter(XConnection, value)</P><DIR>
-
-</B></FONT><FONT SIZE=2><P>Add a new value to be used with a pquery, each new value is appended to a list that will be merged into the query statement when the pquery statement is executed. All data points must be added prior to executing the pquery statement.</P></DIR>
-
-</FONT><B><FONT FACE="Arial"><P>addParameterWithType(XConnection, value,type)</P><DIR>
-
-</B></FONT><FONT SIZE=2><P>Add a new value specifying the type information also.</P></DIR>
-
-</FONT><B><FONT FACE="Arial"><P>addParameterFromElement(XConnection, NodeList)</P><DIR>
-
-</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">Add a block of data points from a node list queried from the XML Data Source.  Each tag name at the START_TAG and TAG1 level are irrelevant, the only significant information is the value and possibly the type attribute.</P>
-<P ALIGN="JUSTIFY">If the type attribute is present, it will set the current type. If the type information is missing, it will either be provide through one of the other mechanisms or default to a string.</P>
-<P ALIGN="JUSTIFY">&lt;START_TAG&gt;</P>
-<P ALIGN="JUSTIFY">  &lt;TAG1&gt; type=&quot;int&quot;&gt;value&lt;/TAG1&gt;</P>
-<P ALIGN="JUSTIFY">&lt;/START_TAG</P>
-<P ALIGN="JUSTIFY"></P>
-<P ALIGN="JUSTIFY">Typical implementation </P>
-<P ALIGN="JUSTIFY">&lt;xsl:param name=&quot;plist&quot; select=&quot;/START_TAG&quot; /&gt;</P>
-<P ALIGN="JUSTIFY">&lt;xsl:addParameterFromElement( $conn, $plist);</P></DIR>
-</DIR>
-</DIR>
-
-</FONT><B><FONT FACE="Arial" SIZE=4><P><A NAME="_Toc509119453">Examples</A></P><DIR>
-
-</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">All of the following examples use the Enhydra InstantDB which is included as part of the Xalan distribution to operate. Please read the Enhydra documentation on managing an InstantDB http://www.instantdb.co.uk/</P>
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119454">Basic</A></P><DIR>
-
-</B></I></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The XML/XSL Files (dbinfo.xml and dbtest.xsl) provide an example of implementing a basic connection where the connection information is provided in the XSL file using a static query.</P>
-<P ALIGN="JUSTIFY">The XML/XSL Files (dbinfo.xml and dbtest-cinfo.xsl) provide an example of implementing a basic connection where the connection information is provided as a node list in the XML file using a static query.</P></DIR>
-
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119455">External Connections</A></P><DIR>
-
-</B></I></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The java file ExternalConnection demonstrates how to build a JDBC connection pool that is independent of Xalan. The actual connection pool used is the Default Connection pool inside the Xalan SQL Extension, which already implements the ConnectionPool interface so no wrapper was required. To implement a third party connection pool, a wrapper function must be implemented.</P></DIR>
-
-</FONT><B><I><FONT FACE="Arial"><P><A NAME="_Toc509119456">PQuery</A></P><DIR>
-
-</B></I></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The XML/XSL file (dbInfo.xml and dbtest.xsl) provide an example of implementing a parameter based query.</P></DIR>
-</DIR>
-</FONT></BODY>
-</HTML>
diff --git a/samples/extensions/sql/basic-connection/DumpSQL.xsl b/samples/extensions/sql/basic-connection/DumpSQL.xsl
deleted file mode 100755
index 4ebe4d7..0000000
--- a/samples/extensions/sql/basic-connection/DumpSQL.xsl
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:param name="driver" select="'com.lutris.instantdb.jdbc.idbDriver'"/>
-<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
-<xsl:param name="query" select="'SELECT * FROM import1'"/>
-
-<xsl:template match="/">
-    <xsl:variable name="db" select="sql:new($driver, $datasource)"/>
-    <xsl:variable name="table" select='sql:query($db, $query)'/>
-    <xsl:copy-of select="$table" />
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/basic-connection/dbinfo.xml b/samples/extensions/sql/basic-connection/dbinfo.xml
deleted file mode 100755
index 8c92030..0000000
--- a/samples/extensions/sql/basic-connection/dbinfo.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<dbtest>
- <description>This file contains information required to make a connection to the DBMS</description>
-
- <DBINFO>
-   <dbdriver>com.lutris.instantdb.jdbc.idbDriver</dbdriver>
-   <dburl>jdbc:idb:../../instantdb/sample.prp</dburl>
-   <user />
-   <password/>
- </DBINFO>
- 
-
-</dbtest>
diff --git a/samples/extensions/sql/basic-connection/dbtest-cinfo.xsl b/samples/extensions/sql/basic-connection/dbtest-cinfo.xsl
deleted file mode 100755
index fcdcc7f..0000000
--- a/samples/extensions/sql/basic-connection/dbtest-cinfo.xsl
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:param name="cinfo" select="//DBINFO"/>
-<xsl:param name="query" select="'SELECT * FROM import1'"/>
-
-<xsl:template match="/">
-    <xsl:variable name="db" select="sql:new()"/>
-
-    <!-- Connect to the database with minimal error detection -->
-		<xsl:if test="not(sql:connect($db, $cinfo))" >
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-    </xsl:if>
-    
-
-    <HTML>
-      <HEAD>
-        <TITLE>List of products</TITLE>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-          <xsl:variable name="table" select='sql:query($db, $query)'/>
-          
-          <!-- 
-          	Let's include Error Checking, the error is actually stored 
-            in the connection since $table will be either data or null
-          -->
-             
-          <xsl:if test="not($table)" >
-          	<xsl:message>Error in Query</xsl:message>
-            <xsl:copy-of select="sql:getError($db)/ext-error" />
-          </xsl:if>
-          
-          
-          <TR>
-             <xsl:for-each select="$table/sql/metadaata/column-header">
-               <TH><xsl:value-of select="@column-label"/></TH>
-             </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/sql/row-set/row"/>
-        </TABLE>
-      </BODY>
-    </HTML>
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-<xsl:template match="row">
-  <TR><xsl:apply-templates select="col"/></TR>
-</xsl:template>
-
-<xsl:template match="col">
-  <TD><xsl:value-of select="text()"/></TD>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/basic-connection/dbtest.xsl b/samples/extensions/sql/basic-connection/dbtest.xsl
deleted file mode 100755
index 6fcf8d8..0000000
--- a/samples/extensions/sql/basic-connection/dbtest.xsl
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-
-                version="1.0"
-
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-
-                extension-element-prefixes="sql">
-
-
-
-<xsl:output method="html" indent="yes"/>
-
-
-
-<xsl:param name="driver" select="'com.lutris.instantdb.jdbc.idbDriver'"/>
-
-<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
-
-<xsl:param name="query" select="'SELECT * FROM import1'"/>
-
-
-
-<xsl:template match="/">
-
-    
-
-    <xsl:variable name="db" select="sql:new()"/>
-
-    
-
-    <!-- Connect to the database with minimal error detection -->
-
-		<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
-
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-
-    </xsl:if>
-
-    
-
-    <HTML>
-
-      <HEAD>
-
-        <TITLE>List of products</TITLE>
-
-      </HEAD>
-
-      <BODY>
-
-        <TABLE border="1">
-
-          <xsl:variable name="table" select='sql:query($db, $query)'/>
-
-          
-
-          <!-- 
-
-          	Let's include Error Checking, the error is actually stored 
-
-            in the connection since $table will be either data or null
-
-          -->
-
-             
-
-          <xsl:if test="not($table)" >
-
-          	<xsl:message>Error in Query</xsl:message>
-
-            <xsl:copy-of select="sql:getError($db)/ext-error" />
-
-          </xsl:if>
-
-          
-
-          <TR>
-
-             <xsl:for-each select="$table/sql/metadata/column-header">
-
-               <TH><xsl:value-of select="@column-label"/></TH>
-
-             </xsl:for-each>
-
-          </TR>
-
-          <xsl:apply-templates select="$table/sql/row-set/row"/>
-
-        </TABLE>
-
-      </BODY>
-
-    </HTML>
-
-    <xsl:value-of select="sql:close($db)"/>
-
-</xsl:template>
-
-
-
-<xsl:template match="row">
-
-  <TR><xsl:apply-templates select="col"/></TR>
-
-</xsl:template>
-
-
-
-<xsl:template match="col">
-
-  <TD><xsl:value-of select="text()"/></TD>
-
-</xsl:template>
-
-
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/basic-connection/readme.html b/samples/extensions/sql/basic-connection/readme.html
deleted file mode 100644
index 5f9d69e..0000000
--- a/samples/extensions/sql/basic-connection/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/sql/ext-connection/ExternalConnection.java b/samples/extensions/sql/ext-connection/ExternalConnection.java
deleted file mode 100755
index 47eac80..0000000
--- a/samples/extensions/sql/ext-connection/ExternalConnection.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "XSLT4J" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-import org.apache.xalan.lib.sql.DefaultConnectionPool;
-import org.apache.xalan.lib.sql.ConnectionPoolManager;
-
-
-// Imported java classes
-import java.io.StringReader;
-import java.io.FileOutputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-/**
- *  Use the TraX interface to perform a transformation in the simplest manner possible
- *  (3 statements).
- */
-public class ExternalConnection
-{
-	public static void main(String[] args)
-    throws TransformerException, TransformerConfigurationException,
-           FileNotFoundException, IOException
-  {
-
-  // Create a connection to the database server
-  // Up the connection pool count for testing
-  DefaultConnectionPool cp = new DefaultConnectionPool();
-  cp.setDriver("org.enhydra.instantdb.jdbc.idbDriver");
-  cp.setURL("jdbc:idb:../../instantdb/sample.prp");
-  //cp.setUser("sa");
-  //cp.setPassword("");
-  cp.setMinConnections(10);
-  cp.setPoolEnabled(true);
-
-  // Now let's register our connection pool so we can use
-  // in a stylesheet
-  ConnectionPoolManager pm = new ConnectionPoolManager();
-  pm.registerPool("extpool", cp);
-
-
-  // Use the static TransformerFactory.newInstance() method to instantiate
-  // a TransformerFactory. The javax.xml.transform.TransformerFactory
-  // system property setting determines the actual class to instantiate --
-  // org.apache.xalan.transformer.TransformerImpl.
-	TransformerFactory tFactory = TransformerFactory.newInstance();
-
-	// Use the TransformerFactory to instantiate a Transformer that will work with
-	// the stylesheet you specify. This method call also processes the stylesheet
-  // into a compiled Templates object.
-	Transformer transformer = tFactory.newTransformer(
-        new StreamSource("dbtest.xsl"));
-
-	// For this transformation, all the required information is in the stylesheet, so generate 
-  // a minimal XML source document for the input.
-  // Note: the command-line processor (org.apache.xalan.xslt.Process) uses this strategy when 
-  // the user does not provide an -IN parameter.
-  StringReader reader =
-              new StringReader("<?xml version=\"1.0\"?> <doc/>");
-
-  // Use the Transformer to apply the associated Templates object to an XML document
-	// and write the output to a file.
-	transformer.transform(
-        new StreamSource(reader),
-        new StreamResult(new FileOutputStream("dbtest-out.html")));
-
-	System.out.println("************* The result is in dbtest-out.html *************");
-  
-  cp.setPoolEnabled(false);
-  }
-}
diff --git a/samples/extensions/sql/ext-connection/dbtest.xsl b/samples/extensions/sql/ext-connection/dbtest.xsl
deleted file mode 100755
index a33dd57..0000000
--- a/samples/extensions/sql/ext-connection/dbtest.xsl
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:param name="query" select="'SELECT * FROM import1'"/>
-
-<xsl:template match="/">
-    <xsl:variable name="db" select="sql:new()"/>
-
-    <!-- Connect to the database with minimal error detection -->
-		<xsl:if test="not(sql:connect($db, 'extpool'))" >
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-    </xsl:if>
-    
-
-    <HTML>
-      <HEAD>
-        <TITLE>List of products</TITLE>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-          <xsl:variable name="table" select='sql:query($db, $query)'/>
-          
-          <!-- 
-          	Let's include Error Checking, the error is actually stored 
-            in the connection since $table will be either data or null
-          -->
-             
-          <xsl:if test="not($table)" >
-          	<xsl:message>Error in Query</xsl:message>
-            <xsl:copy-of select="sql:getError($db)/ext-error" />
-          </xsl:if>
-          
-          <TR>
-             <xsl:for-each select="$table/sql/metadata/column-header">
-               <TH><xsl:value-of select="@column-label"/></TH>
-             </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/sql/row-set/row"/>
-        </TABLE>
-      </BODY>
-    </HTML>
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-<xsl:template match="row">
-  <TR><xsl:apply-templates select="col"/></TR>
-</xsl:template>
-
-<xsl:template match="col">
-  <TD><xsl:value-of select="text()"/></TD>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/ext-connection/readme.html b/samples/extensions/sql/ext-connection/readme.html
deleted file mode 100644
index 5f9d69e..0000000
--- a/samples/extensions/sql/ext-connection/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/sql/pquery/dbinfo.xml b/samples/extensions/sql/pquery/dbinfo.xml
deleted file mode 100755
index 89eabbc..0000000
--- a/samples/extensions/sql/pquery/dbinfo.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<XMLSTORE>
-
- <QUERY>
-   <ProductID>1</ProductID>
- </QUERY>
-  
- <DBINFO>
-   <dbdriver>com.lutris.instantdb.jdbc.idbDriver</dbdriver>
-   <dburl>jdbc:idb:../../instantdb/sample.prp</dburl>
-   <user/>
-   <password/>
- </DBINFO>
-
-</XMLSTORE>
diff --git a/samples/extensions/sql/pquery/dbtest.xsl b/samples/extensions/sql/pquery/dbtest.xsl
deleted file mode 100755
index 88534b2..0000000
--- a/samples/extensions/sql/pquery/dbtest.xsl
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<!-- Build a Parameter Type Query -->
-<xsl:param name="q1" select="'SELECT * FROM import1 where ProductID = ?'"/>
-
-<!-- Build a CSV list of parameter types -->
-<xsl:param name="q1type" select="int" />
-
-<!-- Pull out connection information from the Document Source -->
-<xsl:param name="cinfo" select="//DBINFO" />
-
-<xsl:template match="/">
-    <xsl:variable name="db" select="sql:new()"/>
-    
-    <!-- Connect to the database with minimal error detection -->
-		<xsl:if test="not(sql:connect($db, $cinfo))" >
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-    </xsl:if>
-    
-    <HTML>
-      <HEAD>
-        <TITLE>List of products</TITLE>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-          <xsl:variable name="qparam" select="//QUERY"/>
-          <xsl:value-of select="sql:addParameterFromElement($db, $qparam)"/>
-
-          <xsl:variable name="table" select='sql:pquery($db, $q1, $q1type )'/>
-          
-          <!-- 
-          	Let's include Error Checking, the error is actually stored 
-            in the connection since $table will be either data or null
-          -->
-             
-          <xsl:if test="not($table)" >
-          	<xsl:message>Error in Query</xsl:message>
-            <xsl:copy-of select="sql:getError($db)/ext-error" />
-          </xsl:if>
-          
-          
-          <TR>
-             <xsl:for-each select="$table/sql/metadata/column-header">
-               <TH><xsl:value-of select="@column-label"/></TH>
-             </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/sql/row-set/row"/>
-        </TABLE>
-      </BODY>
-    </HTML>
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-<xsl:template match="row">
-  <TR><xsl:apply-templates select="col"/></TR>
-</xsl:template>
-
-<xsl:template match="col">
-  <TD><xsl:value-of select="text()"/></TD>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/extensions/sql/pquery/readme.html b/samples/extensions/sql/pquery/readme.html
deleted file mode 100644
index 5f9d69e..0000000
--- a/samples/extensions/sql/pquery/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/sql/readme.html b/samples/extensions/sql/readme.html
deleted file mode 100644
index 4f598d0..0000000
--- a/samples/extensions/sql/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/sql/show-error/dbinfo.xml b/samples/extensions/sql/show-error/dbinfo.xml
deleted file mode 100755
index 89eabbc..0000000
--- a/samples/extensions/sql/show-error/dbinfo.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<XMLSTORE>
-
- <QUERY>
-   <ProductID>1</ProductID>
- </QUERY>
-  
- <DBINFO>
-   <dbdriver>com.lutris.instantdb.jdbc.idbDriver</dbdriver>
-   <dburl>jdbc:idb:../../instantdb/sample.prp</dburl>
-   <user/>
-   <password/>
- </DBINFO>
-
-</XMLSTORE>
diff --git a/samples/extensions/sql/show-error/invalidConn.xsl b/samples/extensions/sql/show-error/invalidConn.xsl
deleted file mode 100755
index ac51ce6..0000000
--- a/samples/extensions/sql/show-error/invalidConn.xsl
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"                version="1.0"                xmlns:sql="org.apache.xalan.lib.sql.XConnection"                extension-element-prefixes="sql"><xsl:output method="html" indent="yes"/><xsl:param name="driver" select="'com.lutris.instantdb.jdbc.idbDriver'"/><!-- ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR         We are specifying a database that does not exist,                which will cause a connection errorERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR--><xsl:param name="datasource" select="'jdbc:idb:../../instantdb/DoesNotExist.prp'"/><xsl:param name="query" select="'SELECT * FROM import2'"/><xsl:template match="/">        <xsl:variable name="db" select="sql:new()"/>        <!-- Connect to the database with minimal error detection -->		<xsl:if test="not(sql:connect($db, $driver, $datasource))" >    	<xsl:message>Error Connecting to the Database</xsl:message>      <xsl:copy-of select="sql:getError($db)/ext-error" />    </xsl:if>        <HTML>      <HEAD>        <TITLE>List of products</TITLE>      </HEAD>      <BODY>        <TABLE border="1">          <xsl:variable name="table" select='sql:query($db, $query)'/>                    <!--           	Let's include Error Checking, the error is actually stored             in the connection since $table will be either data or null          -->                       <xsl:if test="not($table)" >          	<xsl:message>Error in Query</xsl:message>            <xsl:copy-of select="sql:getError($db)/ext-error" />          </xsl:if>                    <TR>             <xsl:for-each select="$table/row-set/column-header">               <TH><xsl:value-of select="@column-label"/></TH>             </xsl:for-each>          </TR>          <xsl:apply-templates select="$table/row-set/row"/>        </TABLE>      </BODY>    </HTML>    <xsl:value-of select="sql:close($db)"/></xsl:template><xsl:template match="row">  <TR><xsl:apply-templates select="col"/></TR></xsl:template><xsl:template match="col">  <TD><xsl:value-of select="text()"/></TD></xsl:template></xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/show-error/invalidPQuery.xsl b/samples/extensions/sql/show-error/invalidPQuery.xsl
deleted file mode 100755
index f760d51..0000000
--- a/samples/extensions/sql/show-error/invalidPQuery.xsl
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:param name="driver" select="'com.lutris.instantdb.jdbc.idbDriver'"/>
-
-
-<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
-
-
-<xsl:param name="query" select="'SELECT * FROM import1 where ProductID = ?'"/>
-
-<xsl:template match="/">
-    
-    <xsl:variable name="db" select="sql:new()"/>
-    
-    <!-- Connect to the database with minimal error detection -->
-		<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-    </xsl:if>
-    
-    <HTML>
-      <HEAD>
-        <TITLE>List of products</TITLE>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-        
-<!-- 
-ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
-   We are specifying an extra value where are query only expects one
-ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
--->
-
-          <xsl:value-of select="sql:clearParameters()"/>
-          <xsl:value-of select="sql:addParameterWithType($db, '1', 'short')"/>
-          <xsl:value-of select="sql:addParameterWithType($db, '1', 'short')"/>
-          <xsl:variable name="table" select='sql:pquery($db, $query)'/>
-          
-          <!-- 
-          	Let's include Error Checking, the error is actually stored 
-            in the connection since $table will be either data or null
-          -->
-             
-          <xsl:if test="not($table)" >
-          	<xsl:message>Error in Query</xsl:message>
-            <xsl:copy-of select="sql:getError($db)/ext-error" />
-          </xsl:if>
-          
-          <TR>
-             <xsl:for-each select="$table/sql/metadata/column-header">
-               <TH><xsl:value-of select="@column-label"/></TH>
-             </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/sql/row-set/row"/>
-        </TABLE>
-      </BODY>
-    </HTML>
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-<xsl:template match="row">
-  <TR><xsl:apply-templates select="col"/></TR>
-</xsl:template>
-
-<xsl:template match="col">
-  <TD><xsl:value-of select="text()"/></TD>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/show-error/invalidQuery.xsl b/samples/extensions/sql/show-error/invalidQuery.xsl
deleted file mode 100755
index 93590f5..0000000
--- a/samples/extensions/sql/show-error/invalidQuery.xsl
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:param name="driver" select="'com.lutris.instantdb.jdbc.idbDriver'"/>
-
-
-<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
-
-<!-- 
-ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
-              We will specify a table that does not exist
-              in our Database, causing the Query to Fail
-ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
--->
-
-
-<xsl:param name="query" select="'SELECT * FROM TableNotDefined'"/>
-
-<xsl:template match="/">
-    
-    <xsl:variable name="db" select="sql:new()"/>
-    
-    <!-- Connect to the database with minimal error detection -->
-		<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-    </xsl:if>
-    
-    <HTML>
-      <HEAD>
-        <TITLE>List of products</TITLE>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-          <xsl:variable name="table" select='sql:query($db, $query)'/>
-          
-          <!-- 
-          	Let's include Error Checking, the error is actually stored 
-            in the connection since $table will be either data or null
-          -->
-             
-          <xsl:if test="not($table)" >
-          	<xsl:message>Error in Query</xsl:message>
-            <xsl:copy-of select="sql:getError($db)/ext-error" />
-          </xsl:if>
-          
-          <TR>
-             <xsl:for-each select="$table/sql/metadata/column-header">
-               <TH><xsl:value-of select="@column-label"/></TH>
-             </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/sql/row-set/row"/>
-        </TABLE>
-      </BODY>
-    </HTML>
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-<xsl:template match="row">
-  <TR><xsl:apply-templates select="col"/></TR>
-</xsl:template>
-
-<xsl:template match="col">
-  <TD><xsl:value-of select="text()"/></TD>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/show-error/readme.html b/samples/extensions/sql/show-error/readme.html
deleted file mode 100644
index 5f9d69e..0000000
--- a/samples/extensions/sql/show-error/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/sql/streamable/cachedNodes.xsl b/samples/extensions/sql/streamable/cachedNodes.xsl
deleted file mode 100644
index ff849b6..0000000
--- a/samples/extensions/sql/streamable/cachedNodes.xsl
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:param name="driver" select="'com.lutris.instantdb.jdbc.idbDriver'"/>
-<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
-<xsl:param name="query" select="'SELECT * FROM import1'"/>
-
-<xsl:template match="/">
-    <xsl:variable name="db" select="sql:new()"/>
-    
-    <!-- Connect to the database with minimal error detection -->
-		<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-    </xsl:if>
-    
-
-    <HTML>
-      <HEAD>
-        <TITLE>List of products</TITLE>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-        	<xsl:value-of select="sql:disableStreamingMode($db)" />
-          <xsl:variable name="table" select='sql:query($db, $query)'/>
-      
-      <!-- 
-        	Let's include Error Checking, the error is actually stored 
-          in the connection since $table will be either data or null
-       -->
-             
-          <xsl:if test="not($table)" >
-          	<xsl:message>Error in Query</xsl:message>
-            <xsl:copy-of select="sql:getError($db)/ext-error" />
-          </xsl:if>
-          
-          <TR>
-             <xsl:for-each select="$table/row-set/column-header">
-               <TH><xsl:value-of select="@column-label"/></TH>
-             </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/row-set/row"/>
-        </TABLE>
-      </BODY>
-    </HTML>
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-<xsl:template match="row">
-  <TR><xsl:apply-templates select="col"/></TR>
-</xsl:template>
-
-<xsl:template match="col">
-  <TD><xsl:value-of select="text()"/></TD>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/streamable/dbinfo.xml b/samples/extensions/sql/streamable/dbinfo.xml
deleted file mode 100755
index 8c92030..0000000
--- a/samples/extensions/sql/streamable/dbinfo.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<dbtest>
- <description>This file contains information required to make a connection to the DBMS</description>
-
- <DBINFO>
-   <dbdriver>com.lutris.instantdb.jdbc.idbDriver</dbdriver>
-   <dburl>jdbc:idb:../../instantdb/sample.prp</dburl>
-   <user />
-   <password/>
- </DBINFO>
- 
-
-</dbtest>
diff --git a/samples/extensions/sql/streamable/pivot.xsl b/samples/extensions/sql/streamable/pivot.xsl
deleted file mode 100644
index 5aa7715..0000000
--- a/samples/extensions/sql/streamable/pivot.xsl
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:param name="driver" select="'com.lutris.instantdb.jdbc.idbDriver'"/>
-<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
-<xsl:param name="query" select="'SELECT * FROM import1'"/>
-
-<xsl:template match="/">
-    <xsl:variable name="db" select="sql:new()"/>
-    
-    <!-- Connect to the database with minimal error detection -->
-		<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-    </xsl:if>
-    
-
-    <HTML>
-      <HEAD>
-        <TITLE>List of products</TITLE>
-      </HEAD>
-      <BODY>
-      
-      <!-- Turn off Streaming -->
-      <xsl:value-of select="sql:disableStreamingMode()" />
-      
-      <xsl:variable name="table" select='sql:query($db, $query)'/>
-      
-      <!-- 
-        	Let's include Error Checking, the error is actually stored 
-          in the connection since $table will be either data or null
-       -->
-             
-          <xsl:if test="not($table)" >
-          	<xsl:message>Error in Query</xsl:message>
-            <xsl:copy-of select="sql:getError($db)/ext-error" />
-          </xsl:if>
-          
-      
-      
-        <TABLE border="1">
-          <TR>
-             <xsl:for-each select="$table/row-set/column-header">
-               <TH><xsl:value-of select="@column-label"/></TH>
-             </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/row-set/row"/>
-        </TABLE>
-        
-        <TABLE border="1">
-
-        <xsl:for-each select="$table/row-set/column-header">
-        <xsl:variable name="column" select="@column-label" />
-
-        	<TR>
-          	<TD><TH><xsl:value-of select="$column"/></TH></TD>
-            	<xsl:apply-templates
-               	select="$table/row-set/row/col[@column-label=$column]" />
-          </TR>
-          </xsl:for-each>
-
-        </TABLE>
-       
-        
-      </BODY>
-    </HTML>
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-<xsl:template match="row">
-  <TR><xsl:apply-templates select="col"/></TR>
-</xsl:template>
-
-<xsl:template match="col">
-  <TD><xsl:value-of select="text()"/></TD>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/extensions/sql/streamable/readme.html b/samples/extensions/sql/streamable/readme.html
deleted file mode 100644
index 5f9d69e..0000000
--- a/samples/extensions/sql/streamable/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/extensions/sql/streamable/streamNodes.xsl b/samples/extensions/sql/streamable/streamNodes.xsl
deleted file mode 100644
index 82d212e..0000000
--- a/samples/extensions/sql/streamable/streamNodes.xsl
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:param name="driver" select="'com.lutris.instantdb.jdbc.idbDriver'"/>
-<xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/>
-<xsl:param name="query" select="'SELECT * FROM import1'"/>
-
-<xsl:template match="/">
-    <xsl:variable name="db" select="sql:new()"/>
-    
-    <!-- Connect to the database with minimal error detection -->
-		<xsl:if test="not(sql:connect($db, $driver, $datasource))" >
-    	<xsl:message>Error Connecting to the Database</xsl:message>
-      <xsl:copy-of select="sql:getError($db)/ext-error" />
-    </xsl:if>
-    
-
-    <HTML>
-      <HEAD>
-        <TITLE>List of products</TITLE>
-      </HEAD>
-      <BODY>
-        <TABLE border="1">
-        	<xsl:value-of select="sql:enableStreamingMode($db)" />
-          <xsl:variable name="table" select='sql:query($db, $query)'/>
-          <TR>
-             <xsl:for-each select="$table/row-set/column-header">
-               <TH><xsl:value-of select="@column-label"/></TH>
-             </xsl:for-each>
-          </TR>
-          <xsl:apply-templates select="$table/row-set/row"/>
-        </TABLE>
-      </BODY>
-    </HTML>
-    <xsl:value-of select="sql:close($db)"/>
-</xsl:template>
-
-<xsl:template match="row">
-  <TR><xsl:apply-templates select="col"/></TR>
-</xsl:template>
-
-<xsl:template match="col">
-  <TD><xsl:value-of select="text()"/></TD>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/servlet/ApplyXSLT.java b/samples/servlet/ApplyXSLT.java
deleted file mode 100644
index c235a84..0000000
--- a/samples/servlet/ApplyXSLT.java
+++ /dev/null
@@ -1,963 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import java.io.*;
-import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.net.URLConnection;
-import javax.xml.transform.OutputKeys;
-
-import org.apache.xalan.templates.Constants;
-import org.apache.xalan.templates.StylesheetRoot;
-import org.apache.xalan.templates.OutputProperties;
-// SAX2 Imports
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.Locator;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.ext.DeclHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-
-import org.w3c.dom.*;
-import javax.xml.transform.*;
-import javax.xml.transform.stream.*;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xpath.objects.XObject;
-import org.apache.xpath.objects.XString;
-import org.apache.xalan.processor.*;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.helpers.XMLFilterImpl;
-
-/*****************************************************************************************************
- *
- * ApplyXSLT supplies the basic
- * functions for transforming XML data using XSL stylesheets.
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- * @author Don Leslie (donald_leslie@lotus.com)
- *
- *****************************************************************************************************/
-
-public class ApplyXSLT extends HttpServlet
-{
-
-  /**
-   * Operational parameters for this class.
-   * <p>Request-time values override init-time values which override class defaults.</p>
-   * @see #init
-   * @serial
-   */
-  protected ApplyXSLTProperties ourDefaultParameters = null;
-  private boolean useDefaultTemplates = false;
-  private Templates defaultTemplates = null;
-
-  /**
-   * String representing the end of line characters for the System.
-   */
-  public final static String EOL = System.getProperty("line.separator");
-
-  /**
-   * String representing the file separator characters for the System.
-   */
-  public final static String FS = System.getProperty("file.separator");
-
-   /**
-   * String representing the current directory for properties files. See init().
-   */
-  public final static String ROOT = System.getProperty("server.root");
-  public static String CURRENTDIR;
-
-  /**
-   * Initialize operational parameters from the configuration.
-   * @param config Configuration
-   * @exception ServletException Never thrown
-   */
-  public void init(ServletConfig config)
-    throws ServletException
-  {
-    super.init(config);
-    // If the server.root property --see above-- is null, use current working directory
-    // as default location for media.properties.
-    if (ROOT != null)
-      CURRENTDIR= ROOT + FS + "servlets" + FS;
-    else
-      CURRENTDIR = System.getProperty("user.dir")+ FS;
-    
-	  setDefaultParameters(config);
-	
-    setMediaProps(config.getInitParameter("mediaURL"));
-    String defaultXSL = config.getInitParameter("xslURL");
-    try
-    {
-    if (defaultXSL !=null && defaultXSL.length() > 0)
-      compileXSL(defaultXSL);
-    }
-    catch (Exception e){}
-  }
-  
- /**
-  * If a default setting exists for xslURL, create a Templates object
-  * for rapid transformations.
-  */ 
-  protected void compileXSL(String defaultXSL)
-    throws TransformerConfigurationException
-  {
-    TransformerFactory tFactory = TransformerFactory.newInstance();
-    defaultTemplates = tFactory.newTemplates(new StreamSource(defaultXSL));
-    useDefaultTemplates = true;
-  }
-  
- /**
-   * Sets the default parameters for the servlet from the configuration.
-   * Also sets required system properties until we figure out why servlet 
-   * sometimess fails to read properties from properties files.
-   * @param config Configuration
-   */
-  protected void setDefaultParameters(ServletConfig config)
-  {
-    ourDefaultParameters = new DefaultApplyXSLTProperties(config);
-  }
-  
-  /**
-   *	Loads the media properties file specified by the given string.
-   * @param mediaURLstring Location of the media properties file.  Can be either a full URL or a path relative
-   * to the System's server.root /servlets directory.  If this parameter is null,
-   * server.root/servlets/media.properties will be used.
-   * @see ApplyXSL#CURRENTDIR
-   */
-  protected void setMediaProps(String mediaURLstring)
-  {
-    if (mediaURLstring != null)
-    {
-      URL url = null;
-      try
-      {
-        url = new URL(mediaURLstring);
-      }
-      catch (MalformedURLException mue1)
-      {
-        try
-        {
-          url = new URL("file", "", CURRENTDIR + mediaURLstring);
-        }
-        catch (MalformedURLException mue2)
-        {
-          writeLog("Unable to find the media properties file based on parameter 'mediaURL' = "
-                   + mediaURLstring, HttpServletResponse.SC_ACCEPTED, mue2);
-          url = null;
-        }
-      }
-      if (url != null)
-      {
-        try
-        {
-          ourMediaProps = new OrderedProps(url.openStream());
-        }
-        catch (IOException ioe1)
-        {
-          writeLog("Exception occurred while opening media properties file: " + mediaURLstring +
-                   ".  Media table may be invalid.", HttpServletResponse.SC_ACCEPTED, ioe1);
-        }
-      }
-    }
-    else
-    {
-      String defaultProp = CURRENTDIR + "media.properties";
-      try
-      {
-        ourMediaProps = new OrderedProps(new FileInputStream(defaultProp));
-      }
-      catch (IOException ioe2)
-      {
-        writeLog("Default media properties file " + defaultProp + " not found.",
-                 HttpServletResponse.SC_ACCEPTED, ioe2);
-      }
-    }
-  }
-
-  public String getMedia(HttpServletRequest request)
-  {
-    return ourMediaProps.getValue(request.getHeader(HEADER_NAME));
-  }
-  
-  // doPost removed for security reasons due to the possibility of sending
-  // unsecure XML and XSL XSLTInputSources through the request input stream
-
-  /**
-   * HTTP Get method passed on to process().
-   * @param request The request
-   * @param response The response
-   * @see #process
-   * @exception ServletException Never thrown
-   * @exception IOException Never thrown
-   */
-  public void doGet (HttpServletRequest request,
-                     HttpServletResponse response)
-    throws ServletException, IOException
-  {
-    try
-    {	
-      TransformerFactory tFactory = TransformerFactory.newInstance();
-      process(tFactory, request, response);
-    }
-    catch (Exception e)
-    {
-    }
-  }
-  
-  /**
-   * Coordinates applying an XSL stylesheet to XML data using operational parameters.
-   * <p>If successfully applied, the result tree will be streamed to the response object
-   * and the content type set according to the XSL stylesheet's &lt;xsl:output> element(s).</p>
-   * <p>If there is a problem in parsing the XML/XSL or if there is a problem in applying
-   * the XSL to the XML, an exception will be streamed to the response object.  The detail
-   * of the information returned in the response object will depend on whether we're
-   * running in debug mode or not.</p>
-   * @param processor implementation of TRaX processor
-   * @param request  May contain information relevant to creating XML and XSL XSLTInputSource's
-   * @param response Where to write the transformation result
-   * @see #getDocument
-   * @see #getStylesheet
-   * @see #getContentType
-   * @see #displayException
-   * @see #setStylesheetParams
-   * @exception ServletException Never thrown
-   * @exception IOException Never thrown
-   */
-  
-  public void process(TransformerFactory tFactory, 
-		          			  HttpServletRequest request,
-                      HttpServletResponse response)
-    throws ServletException, IOException, SAXException
-  {
-    boolean debug = ourDefaultParameters.isDebug(request);
-
-    long time = 0;
-    if (debug)
-      time = System.currentTimeMillis();
-
-    // Listener to be used for all reporting
-    ApplyXSLTListener listener = new ApplyXSLTListener();
-	  listener.out.println("debug is " + debug);
-
-    Source xmlSource = null;
-	  Source xslSource = null;
-    try
-    {
-      if ((xmlSource = getDocument(request, listener)) == null)
-        throw new ApplyXSLTException("getDocument() returned null",
-                                     new NullPointerException(),
-                                     response.SC_NOT_FOUND);
-    }
-    catch (ApplyXSLTException axe)
-    {
-      axe.appendMessage(EOL + "getDocument() resulted in ApplyXSLTException" + EOL
-                        + listener.getMessage());
-      if (debug) writeLog(axe);
-      displayException(response, axe, debug);
-      xmlSource = null;
-    }
-    // creating XSL Stylesheet
-    if (xmlSource != null)
-	  {
-      try
-      {
-        if ((xslSource = getStylesheet(tFactory, request, xmlSource, listener)) == null)
-          throw new ApplyXSLTException("getStylesheet() returned null",
-                                      new NullPointerException(),
-                                      response.SC_NOT_FOUND);
- 
-        // Must "reset" xmlSource (a StreamSource) after looking for stylesheet PI
-		    xmlSource = getDocument(request, listener); 
-      }
-      catch (ApplyXSLTException axe)
-      {
-        axe.appendMessage(EOL + "getStylesheet() resulted in ApplyXSLTException" + EOL
-                          + listener.getMessage());
-        if (debug) writeLog(axe);
-        displayException(response, axe, debug);
-        xslSource = null;
-      }
-    // perform Transformation
-	  
-    if (useDefaultTemplates)
-    {
-      try
-      {
-        listener.out.println("Using default templates");
-        if (defaultTemplates == null)
-        {
-          listener.out.println("Must recompile default templates");
-          defaultTemplates = tFactory.newTemplates(xslSource);
-        }
-        Transformer transformer = defaultTemplates.newTransformer();
-            String contentType = null;
-			      contentType = getContentType(defaultTemplates);
-            if (contentType != null);
-              response.setContentType(contentType);
-
-			      if (transformer instanceof TransformerImpl)
-			      {
-			        TransformerImpl transformerImpl = (TransformerImpl)transformer;
-              transformerImpl.setQuietConflictWarnings(ourDefaultParameters.isNoCW(request));
-			      }
-			
-			      setStylesheetParams(transformer, request);			
-	          transformer.transform(xmlSource, new StreamResult(response.getOutputStream()));
-			
-			      if (debug)              
-              writeLog(listener.getMessage(), response.SC_OK);
-        
-      }
-      catch (Exception exc)
-      {
-        ApplyXSLTException axe = new ApplyXSLTException
-				          ("Exception occurred during Transformation:"
-                    + EOL + listener.getMessage() + EOL
-                    + exc.getMessage(), 
-					          exc,
-                    response.SC_INTERNAL_SERVER_ERROR);
-        if (debug) writeLog(axe);
-          displayException(response, axe, debug);      
-       }
-     }   
-      
-     else if ((xmlSource != null) && (xslSource != null))
-     {
-	     try
-	     {
-         listener.out.println("Performing transformation...");		
-         Templates templates = tFactory.newTemplates(xslSource);
-         Transformer transformer = templates.newTransformer();
- 
-         try
-         {
-           String contentType = null;
-			     contentType = getContentType(templates);
-           if (contentType != null);
-             response.setContentType(contentType);
-
-			     if (transformer instanceof TransformerImpl)
-			     {
-			       TransformerImpl transformerImpl = (TransformerImpl)transformer;
-             transformerImpl.setQuietConflictWarnings(ourDefaultParameters.isNoCW(request));
-			     }
-			
-			     setStylesheetParams(transformer, request);			
-	         transformer.transform(xmlSource, new StreamResult(response.getOutputStream()));
-			
-			     if (debug)              
-             writeLog(listener.getMessage(), response.SC_OK);
-          }
-          catch (Exception exc)
-          {
-            ApplyXSLTException axe = new ApplyXSLTException
-				                     ("Exception occurred during Transformation:"
-                                          + EOL + listener.getMessage() + EOL
-                                          + exc.getMessage(), 
-									              exc,
-                                response.SC_INTERNAL_SERVER_ERROR);
-            if (debug) writeLog(axe);
-            displayException(response, axe, debug);
-          }
-          finally
-          {
-            // transformer.reset();
-          } // end of try ... catch ... finally
-		    }
-        catch (/*org.xml.sax.SAX*/Exception saxExc)
-        {
-          ApplyXSLTException axe = new ApplyXSLTException
-			                     ("Exception occurred during ctor/Transformation:"
-                             + EOL + listener.getMessage() + EOL
-                             + saxExc.getMessage(), 
-			             					 saxExc,
-                             response.SC_INTERNAL_SERVER_ERROR);
-          if (debug) writeLog(axe);
-          displayException(response, axe, debug);
-        } // end of new try ... catch
-      } // end of if((stylesheetRoot != null) ...
-      if (debug)
-      {
-        time = System.currentTimeMillis() - time;
-        writeLog("  No Conflict Warnings = " + ourDefaultParameters.isNoCW(request) +
-                 "  Transformation time: " + time + " ms", response.SC_OK);
-      }
-    }
-  }  
-
-  /**
-   * Returns a Source object with the XML document to be transformed. Attempts will be make to create the 
-   * Source object from the following:
-   * <ol>
-   * <li>A relative URL specified in the HTTP request's path information. This capability is intended
-   * for use by <b>servlet engines that map</b> some or all XML data to be processed at the server.</li>
-   * <li>A URL specified in the HTTP request's <code>URL=</code> parameter.  This capability
-   * is intended for <b>clients wishing to selectively process</b> XML data at the server.  For
-   * security reasons, this URL will be forced to the local IP host.</li>
-   * <li>The HTTP request's XML input stream. This capability is intended for use by chained servlets.</li>
-   * </ol>
-   * @param request client HTTPRequest object
-   * @param listener To record detailed parsing messages for possible return to requestor
-   * @return Source with XML document to be transformed, or null if the Source could not be located
-   * @exception ApplyXSLTException Thrown if exception occurs while handling request
-   */
-  protected Source getDocument(HttpServletRequest request,
-                                     ApplyXSLTListener listener)
-    throws ApplyXSLTException
-  {
-    try
-    {
-      String xmlURL = null;
-      // document from PathInfo
-      if ((xmlURL = request.getPathInfo()) != null)
-      {
-        listener.out.println("Parsing XML Document from PathInfo: " + xmlURL);
-        return new StreamSource(new URL("http", ((DefaultApplyXSLTProperties)
-                                         ourDefaultParameters).getLocalHost(),
-                                         xmlURL.replace('\\', '/')).openStream());		
-      }
-      // document from Request parameter
-      if ((xmlURL = ourDefaultParameters.getXMLurl(request)) != null)
-      {
-        listener.out.println("Parsing XML Document from request parameter: " + xmlURL);
-        return new StreamSource(new URL(xmlURL).openStream());
-      }
-      // document from chain
-      String contentType = request.getContentType();
-      if ((contentType != null) && contentType.startsWith("text/xml"))
-      {
-        listener.out.println("Parsing XML Document from request chain");
-        return new StreamSource(request.getInputStream());
-      }
-    }
-    catch (IOException ioe)
-    {
-      throw new ApplyXSLTException(ioe, HttpServletResponse.SC_NOT_FOUND);
-    }
-    catch (Exception e)
-    {
-      throw new ApplyXSLTException(e, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-    }
-    return null;
-  }
-
-  /**
-   * Returns a Source object containing the stylesheet.  Attempts will be make to obtain the stylesheet 
-   * from the following sources:
-   * <ol>
-   * <li>A URL specified in the HTTP request's <code>xslURL=</code> parameter. For security reasons, 
-   * this URL will be forced to the local IP host.</li>
-   * <li>A URL specified in the XML document xsl:stylesheet Processing Instruction.  XML documents may contain 
-   * Processing Instruction references to one or more stylesheets using the
-   * <a HREF="http://www.w3.org/TR/xml-stylesheet/>Associating Style Sheets with XML documents</a> 
-   * W3C ecommendation.
-   * If the XML document does contain such references, a best match will be chosen based on the browser
-   * type making the request and the default association.  This capability enables relationships to be
-   * defined between client capabilities and stylesheets capable of acting on these capabilities.</li>
-   * <li>A default stylesheet URL specified when the servlet is loaded. During init(), the servlet
-   * uses this xslURL startup parameter to create a Templates object, which is the used for transformations
-   * where no other stylesheet is designated.</li>
-   * </ol>
-   * @param request the client HTTP request, which may include an xslURL parameter
-   * @param xmlSource  the XML document to be transformed
-   * @param listener To record detailed parsing messages for possible return to requestor
-   * @return Source, or null if the stylesheet could not be located.
-   * @see #getMedia
-   * @see #STYLESHEET_ATTRIBUTE
-   * @see #toAcceptLanguageConnection
-   * @exception ApplyXSLTException Thrown if exception occurs while locating the stylesheet
-   */
-  protected Source getStylesheet(TransformerFactory tFactory,
-				   	        	  			   HttpServletRequest request,
-                                 Source xmlSource,
-                                 ApplyXSLTListener listener)
-    throws ApplyXSLTException
-  {
-    try
-    {
-      //stylesheet URL from request
-      String xslURL = ((DefaultApplyXSLTProperties) ourDefaultParameters).getXSLRequestURL(request);
-
-      if (xslURL != null)
-      {
-        listener.out.println("Parsing XSL Stylesheet Document from request parameter: "
-                             + xslURL);
-        useDefaultTemplates = false;
-      }
-      else 
-      {
-        // find stylesheet from XML Document, Media tag preference
-        SAXTransformerFactory stf = (SAXTransformerFactory)tFactory;
-        Source styleSource =
-               stf.getAssociatedStylesheet(xmlSource,getMedia(request), null, null);
-        if (styleSource != null)
-        {
-          listener.out.println("Parsing XSL Stylesheet from XML document stylesheet PI.");
-          useDefaultTemplates = false;
-          return styleSource;
-        }
-        
-        // Configuration Default
-        if ((xslURL = ourDefaultParameters.getXSLurl(null)) != null)
-        {
-          listener.out.println("Parsing XSL Stylesheet Document from configuration: " + xslURL);
-          useDefaultTemplates = true;
-        }
-      }
-      return new StreamSource(xslURL);
-    }
-    catch (IOException ioe)
-    {
-      throw new ApplyXSLTException(ioe, HttpServletResponse.SC_NOT_FOUND);
-    }
-    catch (Exception e)
-    {
-      throw new ApplyXSLTException(e, HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-    }
-  }
-
-  /**
-   * Returns the response content type specified by the media-type and encoding attributes of
-   * the &lt;xsl:output> element(s) of the stylesheet.
-   * Default output property settings are used for any properties not set by the stylesheet. 
-   * @param xslSourceRoot XSL Stylesheet to be examined for &lt;xsl:output> elements.
-   * @return The response content type (MIME type and charset) of the stylesheet output
-   * @see #process
-   */
-  public String getContentType(Templates templates)
-  {
-    Properties oprops = templates.getOutputProperties();
-    String method = oprops.getProperty(OutputKeys.METHOD);
-    if (method == null) method = "xml"; // the default.
-    
-    Properties defoprops = null;
-    if (method.equals("html"))
-      defoprops = OutputProperties.getDefaultMethodProperties("html");
-    else if (method.equals("text"))
-      defoprops = OutputProperties.getDefaultMethodProperties("text");
-    else
-      defoprops = OutputProperties.getDefaultMethodProperties("xml");
-    
-    String encoding = oprops.getProperty(OutputKeys.ENCODING);
-    if (encoding == null) 
-      encoding = defoprops.getProperty(OutputKeys.ENCODING);
-    
-    String media = oprops.getProperty(OutputKeys.MEDIA_TYPE);
-    if (media == null) 
-      media = defoprops.getProperty(OutputKeys.MEDIA_TYPE);
-    
-    return media + "; charset=" + encoding;
-  }  
-  
-
-  /**
-   * Defines and sets select top-level XSL stylesheet variables from the HTTP request, which
-   * can be evaluated using &lt;xsl:param-variable&gt;.  The following variables will be
-   * automatically set:
-   * <dl>
-   * <dt><i>ParameterName</i></dt>
-   * <dd>Each non-reserved request parameter returned from request.getParameterNames().  If a
-   *     parameter contains more than a single value, only the first value is available.</dd>
-   * <dt>servlet-RemoteAddr</dt>
-   * <dd>Contains String output from request.getRemoteAddr(), which is the IP address
-   *     of the client machine.</dd>
-   * <dt>servlet-RemoteHost</dt>
-   * <dd>Contains String output from request.getRemoteHost(), which is the host name
-   *     of the client machine.</dd>
-   * <dt>servlet-RemoteUser</dt>
-   * <dd>Contains String output from request.getRemoteUser(), which was the user name
-   *     accepted by the server to grant access to this servlet.</dd>
-   * <dt>servlet-Request</dt>
-   * <dd>Contains the request object.</dd>
-   * </dl>
-   * @param xslprocessor Where to register parameters to be set
-   * @param request Provides access to all meaningful parameters to set
-   * @see #process
-   */
-  public void setStylesheetParams(Transformer transformer, HttpServletRequest request)
-  {
-    Enumeration paramNames = request.getParameterNames();
-    while (paramNames.hasMoreElements())
-    {
-      String paramName = (String) paramNames.nextElement();
-      try
-      {
-        String[] paramVals = request.getParameterValues(paramName);
-        if (paramVals != null)
-            transformer.setParameter(paramName, new XString(paramVals[0]));
-                                            
-      }
-      catch (Exception e)
-      {
-      }
-    }
-    try
-    {
-      transformer.setParameter("servlet-RemoteAddr", new XString(request.getRemoteAddr()));
-                                      
-    }
-    catch (Exception e)
-    {
-    }
-    try
-    {
-      transformer.setParameter("servlet-RemoteHost", new XString(request.getRemoteHost()));
-                                      
-    }
-    catch (Exception e)
-    {
-    }
-    try
-    {
-      transformer.setParameter("servlet-RemoteUser", new XString(request.getRemoteUser()));
-                                      
-    }
-    catch (Exception e)
-    {
-    }
-  }
-
-
-  /**
-   * Writes the following information to the servlet log:
-   * <ol>
-   * <li>HTTP status code</li>
-   * <li>Message</li>
-   * <li>Stack trace</li>
-   * </ol>
-   * @param axe Contains valid HTTP status code, message, and stack trace (optional)
-   */
-  protected void writeLog(ApplyXSLTException axe)
-  {
-    writeLog(axe.getMessage(), axe.getStatusCode(), axe.getException());
-  }
-
-  /**
-   * Writes the following information to the servlet log:
-   * <ol>
-   * <li>HTTP status code</li>
-   * <li>Message</li>
-   * <li>Stack trace</li>
-   * </ol>
-   * @param msg Message to be logged
-   * @param statusCode Valid status code from javax.servlet.http.HttpServletResponse
-   * @param t Used to generate stack trace (may be =null to suppress stack trace)
-   */
-  protected void writeLog(String msg, int statusCode, Throwable t)
-  {
-    if (t == null)
-      writeLog(msg, statusCode);
-    else
-    {
-      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-      PrintWriter writer = new PrintWriter(bytes, true);
-      System.out.println("Exception is " + t.getClass().getName());
-      t.printStackTrace(writer);
-      log("HTTP Status Code: " + statusCode + " - " + msg + EOL + bytes.toString());
-    }
-  }
-
-  /**
-   * Writes the following information to the servlet log:
-   * <ol>
-   * <li>HTTP status code</li>
-   * <li>Message</li>
-   * </ol>
-   * @param msg Message to be logged
-   * @param statusCode Valid status code from javax.servlet.http.HttpServletResponse
-   */
-  protected void writeLog(String msg, int statusCode)
-  {
-    log("HTTP Status Code: " + statusCode + " - " + msg);
-  }
-
-  /**
-   * Invokes response.sendError setting an HTTP status code and optionally an error message
-   * as an HTML page.
-   * <p>If running in debug mode, also try to return a stack trace of the exception and
-   * and xml/xsl processor messages.</p>
-   * @param response Where to stream the exception to
-   * @param xse The wrapper which contains the exception and its HTTP status code
-   * @param debug Indicates whether to include stack trace, etc.
-   */
-  protected void displayException(HttpServletResponse response, ApplyXSLTException xse, boolean debug)
-  {
-    String mesg = xse.getMessage();
-    if (mesg == null)
-      mesg = "";
-    else mesg = "<B>" + mesg + "</B>";
-    StringTokenizer tokens = new StringTokenizer(mesg, EOL);
-    StringBuffer strBuf = new StringBuffer();
-    while (tokens.hasMoreTokens())
-      strBuf.append(tokens.nextToken() + EOL + "<BR>");
-    mesg = strBuf.toString();
-    if (debug)
-    {
-      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-      PrintWriter writer = new PrintWriter(bytes, true);
-      xse.getException().printStackTrace(writer);
-      mesg += " <PRE> " + bytes.toString() + " </PRE> ";
-    }
-    response.setContentType("text/html");
-    try
-    {
-      response.sendError(xse.getStatusCode(), mesg);
-    }
-    catch (IOException ioe)
-    {
-      System.err.println("IOException is occurring when sendError is called");
-    }
-  }
-
-  /**
-   * Mapping of HTTP request's user-Agent values to stylesheet media= values.
-   * <p>This mapping is defined by a file pointed to by the operational parameter "mediaURL" which can
-   *  either contain a full URL or a path relative to the System's server.root /servlets directory.</p>
-   * @see #setMediaProps
-   * @see #getMedia
-   * @serial
-   */
-  protected OrderedProps ourMediaProps = null;
-
-  /**
-   * Returns a connection which respects the Accept-Language header of the HTTP request.  This
-   * is useful when XSL files are internationalized for use with Web servers which respect this
-   * header.
-   * <p>For example, Apache 1.3.6 may be configured for multiviews.  Under this configuration,
-   * requests for http://myhost/index.html would return http://myhost/index.html.fr to French browsers
-   * and http://myhost/index.html.en to English browsers.</p>
-   * @param url Location to connect to
-   * @param request Could contain an Accept-Language header
-   * @return An Accept-Language-enabled URL connection
-   * @see #getStylesheet
-   */
-  protected URLConnection toAcceptLanguageConnection(URL url, HttpServletRequest request)
-    throws Exception
-  {
-    URLConnection tempConnection = url.openConnection();
-    tempConnection.setRequestProperty("Accept-Language", request.getHeader("Accept-Language"));
-    return tempConnection;
-  }
-
-
-  /**
-   * Returns the XSL stylesheet URL associated with the specified XML document.  If multiple XSL
-   * stylesheets are associated with the XML document, preference will be given to the stylesheet
-   * which contains an attribute name/value pair that corresponds to the specified attributeName
-   * and attributeValue.
-   * @param xmlSource XML XSLTInputSource to be searched for associated XSL stylesheets
-   * @param attributeName  Attribute name to provide preferential matching
-   * @param attributeValue Attribute value to provide preferential matching
-   * @return The preferred XSL stylesheet URL, or null if no XSL stylesheet association is found
-   * @see #getStylesheet
-   */
-/*  public static String getXSLURLfromDoc(StreamSource xmlSource,
-                                        String attributeName,
-                                        String attributeValue,
-                                        TransformerFactory tFactory)
-  {
-    String tempURL = null, returnURL = null;
-    try
-    {
-	  DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-      DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-      Node sourceTree = docBuilder.parse(xmlSource.getInputStream());
-      for(Node child=sourceTree.getFirstChild(); null != child; child=child.getNextSibling())
-      {
-        if(Node.PROCESSING_INSTRUCTION_NODE == child.getNodeType())
-        {
-          ProcessingInstruction pi = (ProcessingInstruction)child;
-          if(pi.getNodeName().equals("xml-stylesheet"))
-          {
-            PIA pia = new PIA(pi);
-            if("text/xsl".equals(pia.getAttribute("type")))
-            {
-              tempURL = pia.getAttribute("href");
-              String attribute = pia.getAttribute(attributeName);
-              if ((attribute != null) && (attribute.indexOf(attributeValue) > -1))
-                return tempURL;
-              if (!"yes".equals(pia.getAttribute("alternate")))
-                returnURL = tempURL;
-            }
-          }
-        }
-      }
-    }
-    catch(Exception saxExc)
-    {
-    }
-    return returnURL;
-  }  
-*/
- /**
-   * The attribute name in the <?xml-stylesheet> tag used in stylesheet selection.
-   */
-  protected static final String STYLESHEET_ATTRIBUTE = "media";
-
-  /**
-   *	The HTTP Header used for matching the Stylesheet attribute via the
-   * media properties file selected.
-   */
-  protected static final String HEADER_NAME = "user-Agent";
-}
-
-/**
- *  Stores the keys and values from a file (similar to a properties file) and
- *  can return the first value which has a key contained in its string.
- *  File can have comment lines starting with '#" and for each line the entries are
- *  separated by tabs and '=' char.
- */
-class OrderedProps
-{
-
-  /**
-   * Stores the Key and Values as an array of Strings
-   */
-  private Vector attVec = new Vector(15);
-
-  /**
-   * Constructor.
-   * @param inputStream Stream containing the properties file.
-   * @exception IOException Thrown if unable to read from stream
-   */
-  OrderedProps(InputStream inputStream)
-    throws IOException
-  {
-    BufferedReader input  = new BufferedReader(new InputStreamReader(inputStream));
-    String currentLine, Key = null;
-    StringTokenizer currentTokens;
-    while ((currentLine = input.readLine()) != null)
-    {
-      currentTokens = new StringTokenizer(currentLine, "=\t\r\n");
-      if (currentTokens.hasMoreTokens()) Key = currentTokens.nextToken().trim();
-      if ((Key != null) && !Key.startsWith("#") && currentTokens.hasMoreTokens())
-      {
-        String temp[] = new String[2];
-        temp[0] = Key; temp[1] = currentTokens.nextToken().trim();
-        attVec.addElement(temp);
-      }
-    }
-  }
-
-  /**
-   * Iterates through the Key list and returns the first value for whose
-   * key the given string contains.  Returns "unknown" if no key is contained
-   * in the string.
-   * @param s String being searched for a key.
-   * @return Value for key found in string, otherwise "unknown"
-   */
-  String getValue(String s)
-  {
-    int i, j = attVec.size();
-    for (i = 0; i < j; i++)
-    {
-      String temp[] = (String[]) attVec.elementAt(i);
-      if (s.indexOf(temp[0]) > -1)
-        return temp[1];
-    }
-    return "unknown";
-  }
-}
-
-/**
- * Parses a processing instruction's (PI) attributes for easy retrieval.
- */
-class PIA
-{
-
-  private Hashtable piAttributes = null;
-
-  /**
-   * Constructor.
-   * @param pi The processing instruction whose attributes are to be parsed
-   */
-  PIA(ProcessingInstruction pi)
-  {
-    piAttributes = new Hashtable();
-    StringTokenizer tokenizer = new StringTokenizer(pi.getNodeValue(), "=\"");
-    while(tokenizer.hasMoreTokens())
-    {
-      piAttributes.put(tokenizer.nextToken().trim(), tokenizer.nextToken().trim());
-    }
-  }
-
-  /**
-   * Returns value of specified attribute.
-   *  @param name Attribute name
-   *  @return Attribute value, or null if the attribute name does not exist
-   */
-  String getAttribute(String name)
-  {
-    return (String) piAttributes.get(name);
-  }  
-}
\ No newline at end of file
diff --git a/samples/servlet/ApplyXSLTException.java b/samples/servlet/ApplyXSLTException.java
deleted file mode 100644
index f63c6a1..0000000
--- a/samples/servlet/ApplyXSLTException.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- * 
-/*****************************************************************************************************
- *
- * Wrapper for exceptions occurring during apply XSL processing.  
- * Allows for exceptions to be returned with an associated HTTP Status Code.
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- *
- *****************************************************************************************************/
-package servlet;
-
-public class ApplyXSLTException extends Exception {
-
-    /**
-      * Exception Message.
-      * @serial
-      */ 
-    private String myMessage = "";
-
-    /**
-      * HTTP Status Code. Default= internal server error.
-      * @serial
-      */
-    private int  myHttpStatusCode = javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR; 
-
-    /**
-      * Wrapped exception
-      * @serial
-      */
-    private Exception myException = null;
-
-    /**
-      * Constructor for exception with no additional detail.
-      */
-    public ApplyXSLTException() 
-    { 
-        super(); 
-    }
-
-    /**
-      * Constructor for exception with message.
-      * @param s Exception message
-      */
-    public ApplyXSLTException(String s) 
-    { 
-        super(); 
-	myMessage = s;
-    }
-
-    /**
-      * Constructor for exception with HTTP status code.
-      * @param hsc Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public ApplyXSLTException(int hsc) 
-    {
-	super();
-	myHttpStatusCode = hsc;
-    }
-
-    /**
-      * Constructor for exception with message and HTTP status code.
-      * @param s Exception message
-      * @param hsc Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public ApplyXSLTException(String s, int hsc)
-    {
-	super();
-	myHttpStatusCode = hsc;
-    }
-
-    /**
-      * Constructor for exception.
-      * @param e Exception to be wrapped.
-      */
-    public ApplyXSLTException(Exception e)
-    {
-	super();
-	myMessage = e.getMessage();
-	myException = e;
-    }
-
-    /**
-      * Constructor for passed exception with message.
-      * @param s Exception message
-      * @param e Exception to be wrapped.
-      */
-    public ApplyXSLTException (String s, Exception e)
-    {
-	super();
-	myMessage = s;
-	myException = e;
-    }
-
-    /**
-      * Constructor for passed exception with HTTP status code.
-      * @param e Exception to be wrapped.
-      * @param hsc Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public ApplyXSLTException(Exception e, int hsc)
-    {
-	super();
-	myMessage = e.getMessage();
-	myException = e;
-	myHttpStatusCode = hsc;
-    }
-
-    /**
-      * Constructor for passed exception with HTTP status code and message.
-      * @param s Exception message
-      * @param e Exception to be wrapped.
-      * @param hsc Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public ApplyXSLTException(String s, Exception e, int hsc)
-    {
-	super();
-	myMessage = s;
-	myException = e;
-	myHttpStatusCode = hsc;
-    }
-
-    /**
-      * Returns exception message.
-      * @return exception message
-      */
-    public String getMessage()
-    {
-	return myMessage;
-    }
-
-    /**
-      * Appends string to exception message.
-      * @param s String to be added to message
-      */
-    public void appendMessage(String s)
-    {
-	myMessage += s;
-    }
-
-    /**
-      * Returns the wrapped exception.
-      * @return Wrapped exception
-      */
-    public Exception getException()
-    {
-	return myException;
-    }
-
-    /**
-      * Returns the HTTP status code associated with the exception.
-      * @return Valid status code from javax.servlet.http.HttpServletResponse
-      */
-    public int getStatusCode()
-    {
-	return myHttpStatusCode;
-    }
-}
-
diff --git a/samples/servlet/ApplyXSLTListener.java b/samples/servlet/ApplyXSLTListener.java
deleted file mode 100644
index 2e46e26..0000000
--- a/samples/servlet/ApplyXSLTListener.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import java.io.*;
-import org.xml.sax.*;
-import org.apache.xml.utils.DefaultErrorHandler;
-
-/*****************************************************************************************************
- * ApplyXSLTListener provides a buffered listener essential for capturing, and then subsequently
- * reporting, XML and XSL processor messages which may be of use in debugging XML+XSL processed at
- * the server.
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- *
- *****************************************************************************************************/
-
-public class ApplyXSLTListener extends DefaultErrorHandler implements ErrorHandler
-{
-
-    /**
-      * Output stream
-      */
-    private ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-
-    /**
-      * Buffered output stream
-      */
-    public PrintWriter out = null;
-
-    /**
-      * Constructor.
-      */
-    public ApplyXSLTListener()
-    {
-      out = new PrintWriter(new BufferedOutputStream(outStream), true);
-    }
-
-    /**
-      * Receive notification of a warning.
-      *
-      * @param spe The warning information encapsulated in a SAX parse exception.
-      */
-    public void warning(SAXParseException spe)
-    {
-	out.println("Parser Warning: " + spe.getMessage());
-    }
-
-    /**
-      * Receive notification of a recoverable error.
-      *
-      * @param spe The error information encapsulated in a SAX parse exception.
-      */
-    public void error(SAXParseException spe)
-    {
-	out.println("Parser Error: " + spe.getMessage());
-    }
-
-    /**
-      * Receive notification of a non-recoverable error.
-      *
-      * @param spe The error information encapsulated in a SAX parse exception.
-      * @exception SAXException Always thrown
-      */
-    public void fatalError(SAXParseException spe)
-    throws SAXException
-    {
-	out.println("Parser Fatal Error: " + spe.getMessage());
-	throw spe;
-    }
-
-    /**
-      * Returns the buffered processing message(s).
-      * @return Buffered processing message(s)
-      */
-    public String getMessage()
-    {
-	return outStream.toString();
-    }
-}
-
diff --git a/samples/servlet/ApplyXSLTProperties.java b/samples/servlet/ApplyXSLTProperties.java
deleted file mode 100644
index 69e0ed4..0000000
--- a/samples/servlet/ApplyXSLTProperties.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import java.net.MalformedURLException;
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-/*****************************************************************************************************
- * 
- * ApplyXSLTProperties contains operational parameters for ApplyXSLT based 
- * on program defaults and configuration.  
- * <p>This class is also used to return values for request-time parameters.</p>
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- *
- *****************************************************************************************************/
-
-public class ApplyXSLTProperties {
-
-    /**
-      * Program default for parameter "URL"
-      */
-    private final String DEFAULT_URL;
-
-    /**
-      * Program default for parameter "xslURL"
-      */
-    private final String DEFAULT_xslURL;
-    
-    /**
-      * Program default for parameter "debug"
-      */
-    private final boolean DEFAULT_debug;
-
-    /**
-      * Program default for parameter "noConflictWarnings"
-      */
-    private final boolean DEFAULT_noCW;
-    
-    /**
-      * Constructor to use program defaults.
-      */
-    public ApplyXSLTProperties() 
-    {
-	DEFAULT_URL = null;
-	DEFAULT_xslURL = null;
-	DEFAULT_debug = false;
-	DEFAULT_noCW = false;
-    }
-
-    /**
-      * Constructor to use to override program defaults.
-      * @param config Servlet configuration
-      */
-    public ApplyXSLTProperties(ServletConfig config)
-    {
-	String xm = config.getInitParameter("URL"),
-	       xu = config.getInitParameter("xslURL"),
-	       db = config.getInitParameter("debug"),
-	       cw = config.getInitParameter("noConflictWarnings");
-	       
-	if (xm != null) DEFAULT_URL = xm;
-	else DEFAULT_URL = null;
-	if (xu != null) DEFAULT_xslURL = xu;
-	else DEFAULT_xslURL = null;
-	if (db != null) DEFAULT_debug = new Boolean(db).booleanValue();
-	else DEFAULT_debug = false;
-	if (cw != null) DEFAULT_noCW = new Boolean(cw).booleanValue();
-	else DEFAULT_noCW = false;
-    }
-   
-    /**
-      * Given a parameter name, returns the HTTP request's String value; 
-      * if not present in request, returns default String value.
-      * @param request Request to check for default override
-      * @param param Name of the parameter
-      * @return String value of named parameter
-      */
-    public String getRequestParmString(HttpServletRequest request, String param)
-    {
-	if (request != null) { 
-	    String[] paramVals = request.getParameterValues(param); 
-	    if (paramVals != null) 
-		return paramVals[0];
-	}
-	return null;
-    }
-
-    /**
-      * Returns the current setting for "URL".
-      * @param request Request to check for parameter value
-      * @return String value for "URL"
-      * @exception MalformedURLException Will not be thrown
-      */
-    public String getXMLurl(HttpServletRequest request)
-    throws MalformedURLException
-    {
-	String temp = getRequestParmString(request, "URL");
-	if (temp != null)
-	    return temp;
-	return DEFAULT_URL;
-    }     
-    
-    /**
-      * Returns the current setting for "xslURL".
-      * @param request Request to check for parameter value
-      * @return String value for "xslURL"
-      * @exception MalformedURLException Will not be thrown
-      */
-    public String getXSLurl(HttpServletRequest request)
-    throws MalformedURLException
-    {  
-	String temp = getRequestParmString(request, "xslURL");
-	if (temp != null)
-	    return temp;
-	return DEFAULT_xslURL;
-    }
-    
-    /**
-      * Returns the current setting for "debug".
-      * @param request Request to check for parameter value
-      * @return Boolean value for "debug"
-      */
-    public boolean isDebug(HttpServletRequest request)
-    {
-	String temp = getRequestParmString(request, "debug");
-	if (temp != null)
-	    return new Boolean(temp).booleanValue();
-	return DEFAULT_debug;
-    }
-
-    /**
-      * Returns the current setting for "noConflictWarnings".
-      * @param request Request to check for parameter value
-      * @return Boolean value for "noConflictWarnings"
-      */
-    boolean isNoCW(HttpServletRequest request)
-    {
-	String temp = getRequestParmString(request, "noConflictWarnings");
-	if (temp != null)
-	    return new Boolean(temp).booleanValue();
-	return DEFAULT_noCW;
-    }    
-}
\ No newline at end of file
diff --git a/samples/servlet/DefaultApplyXSLTProperties.java b/samples/servlet/DefaultApplyXSLTProperties.java
deleted file mode 100644
index 1fdb967..0000000
--- a/samples/servlet/DefaultApplyXSLTProperties.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import java.net.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.util.Enumeration;
-import java.util.Properties;
-
-/*****************************************************************************************************
- * 
- * DefaultApplyXSLTProperties contains operational parameters for DefaultApplyXSLT based 
- * on program defaults and configuration.  
- * <p>This class is also used to return values for request-time parameters.</p>
- *
- * @author Spencer Shepard (sshepard@us.ibm.com)
- * @author R. Adam King (rak@us.ibm.com)
- * @author Tom Rowe (trowe@us.ibm.com)
- *
- *****************************************************************************************************/
-
-public class DefaultApplyXSLTProperties extends ApplyXSLTProperties {
-    
-    /**
-      * Program default for parameter "catalog".
-      * @see #getCatalog
-      */
-    private final String DEFAULT_catalog;
-
-    /**
-      * Host used for local context comparisons.
-      * @see #getLocalHost
-      * @see #setLocalHost
-      */
-    protected transient String localHost = null;
-    
-    /**
-     * Server port. Used in toSafeURL() -- fix submitted by Ritesh Kumar.
-     */
-    protected static int port =0;
-
-    /**
-      * Constructor to use program defaults.
-      */
-    public DefaultApplyXSLTProperties()
-    {
-	super();
-	DEFAULT_catalog = null;
-	setLocalHost();
-	// setSystemProperties();
-    }
-
-    /**
-      * Constructor to use to override program defaults.
-      * @param config Servlet configuration
-      * @see #setLocalHost
-      */
-    public DefaultApplyXSLTProperties(ServletConfig config)
-    {
-	    super(config);
-	    String cat = config.getInitParameter("catalog");
-	    if (cat != null) DEFAULT_catalog = cat;
-	    else DEFAULT_catalog = null;
-	    setLocalHost();
-	    setSystemProperties();
-    }
-
-    /**
-      * Sets the name of the local IP host name; this value will be used to constrain untrusted 
-      * XML document and XSL stylesheet URLs to this trusted host.
-      * @see #getLocalHost
-      */
-    protected void setLocalHost()
-    {
-	    try 
-	    { 
-	        localHost = InetAddress.getLocalHost().getHostName();
-	    } 
-	    catch (Exception uhe) 
-	    {
-	      localHost = null;
-	    }
-    }
-
-    /**
-      * Returns the name of trusted IP host.
-      * @return Name of trusted host
-      * @see #setLocalHost
-      */
-    public String getLocalHost()
-    {
-	    return localHost;
-    }
-
-    /**
-      * Returns a URL which is constrained to a trusted IP host.
-      * @param xURL URL or file path to be made safe 
-      * @return Safe URL
-      * @exception MalformedURLException Thrown when xURL is not a valid URL
-      * @see #setLocalHost
-      * @see #getLocalHost
-      */
-    public URL toSafeURL(String xURL, HttpServletRequest request)
-    throws MalformedURLException
-    {
-      // Fix submitted by Ritesh Kumar. Port is included in construction of URL that is returned.
-      if (port == 0)
-        port = request.getServerPort();
-      
-	    if (xURL == null)
-	      return null;
-
-	    if (xURL.startsWith("/")) 
-      {
-	      try 
-        {
-		      return new URL("http", localHost, port, xURL);
-	      }
-        catch (MalformedURLException mue) 
-        {
-	        throw new MalformedURLException("toSafeURL(): " + xURL + 
-					                                " did not map to local");
-	      }
-	    }
-	    URL tempURL = null;
-	    try 
-      { 
-	      tempURL = new URL(xURL);
-	    } 
-      catch (MalformedURLException mue) 
-      {
-	      throw new MalformedURLException("toSafeURL(): " + xURL + 
-					                              " not a valid URL"); 
-	    }
-	    try 
-      { 
-	      return new URL(tempURL.getProtocol(), localHost, 
-			                 port, tempURL.getFile());
-	    } 
-      catch (MalformedURLException mue) 
-      {
-	      throw new MalformedURLException("toSafeURL(): " + xURL + 
-				                          	    " could not be converted to local host");
-	    }
-    }
-
-    /**
-      *	Returns a string representing the constrained URL for the XML document.
-      * If there is no request parameter for the XML document, return the configured default.
-      * @param request May contain an XML document URL parameter
-      * @return String form of XML URL
-      * @exception MalformedURLException Thrown when request URL is not a valid URL or path
-      * @see #toSafeURL
-      */
-    public String getXMLurl(HttpServletRequest request)
-    throws MalformedURLException
-    {
-	    URL url = toSafeURL(getRequestParmString(request, "URL"),request);
-	    if (url == null)
-	      return super.getXMLurl(null);
-	    return url.toExternalForm();
-    }
-
-    /**
-      * Returns a string representing the constrained URL for the XSL stylesheet 
-      * from the request.
-      * @param request May contain an XSL stylesheet URL parameter
-      * @return String form of request XSL URL, or null if request contains no xslURL parameter
-      * @exception MalformedURLException Thrown when request URL is not a valid URL or path
-      * @see #toSafeURL
-      */
-    public String getXSLRequestURL(HttpServletRequest request)
-    throws MalformedURLException
-    {
-	    URL url = toSafeURL(getRequestParmString(request, "xslURL"),request);
-	    if (url == null)
-	        return null;
-	    return url.toExternalForm();
-    }
-
-    /**
-      * Returns a string representing the constrained request URL for the XSL stylesheet.
-      * If there is no request parameter for the XSL stylesheet, return the configured default.
-      * @param request May contain an XSL stylesheet URL parameter
-      * @return String form of XSL URL
-      * @exception MalformedURLException Thrown when request URL is not a valid URL or path
-      * @see #toSafeURL
-      */
-    public String getXSLurl(HttpServletRequest request)
-    throws MalformedURLException
-    {
-	    String reqURL = getXSLRequestURL(request);
-	    if (reqURL != null)
-	        return reqURL;
-	    return super.getXSLurl(null);
-    }
-
-    /**
-      * Returns URLs for all <a href="http://www.ccil.org/~cowan/XML/XCatalog.html">XCatalogs</a> 
-      * that are to be used to process the request.  Catalogs are used to resolve XML public identifiers
-      * into system identifiers.
-      * <p>A single XCatalog can be configured as a default,
-      * but multiple XCatalogs can be specified at request time to augment the configured default.
-      * @param request May contain one or more XCatalog parameters
-      * @return Array of strings for all catalog URLs
-      */
-    public String[] getCatalog(HttpServletRequest request)
-    {
-	    String temp[] = request.getParameterValues("catalog");
-	    if (DEFAULT_catalog == null)
-	        return temp;
-	    if (temp == null) 
-      {
-	      String defaultArray[] = new String [1];
-	      defaultArray[0] = DEFAULT_catalog;
-	      return defaultArray;
-	    }
-	    int i, len = temp.length + 1;
-	    String newCatalogs[] = new String[len];
-	    newCatalogs[0] = DEFAULT_catalog;
-	    for (i=1; i < len; i++) 
-      {
-	      newCatalogs[i] = temp[i-1];
-	    }
-	    return newCatalogs;
-    }
-	
-	 /**
-   * I think we no longer need this. Sets the 3 jaxp core system properties.
-   */	
-    protected void setSystemProperties()
-	{
-	  Properties props = new Properties();
-    props.put("javax.xml.transform.TransformerFactory", 
-              "org.apache.xalan.processor.TransformerFactoryImpl");
-    props.put("javax.xml.parsers.DocumentBuilderFactory", 
-              "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
-    props.put("javax.xml.parsers.SAXParserFactory", 
-              "org.apache.xerces.jaxp.SAXParserFactoryImpl");
-    
-      Properties systemProps = System.getProperties();
-      Enumeration propEnum = props.propertyNames();
-      while(propEnum.hasMoreElements())
-      {
-        String prop = (String)propEnum.nextElement();
-        if(!systemProps.containsKey(prop))
-          systemProps.put(prop, props.getProperty(prop));
-      }
-      System.setProperties(systemProps);
-	}
-
-}
diff --git a/samples/servlet/SimpleXSLTServlet.java b/samples/servlet/SimpleXSLTServlet.java
deleted file mode 100644
index 68c0814..0000000
--- a/samples/servlet/SimpleXSLTServlet.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.io.*;
-import java.net.URL;
-
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-
-/*
- * This sample applies the todo.xsl stylesheet to the
- * todo.xml XML document, and returns the transformation
- * output (HTML) to the client browser.
- *
- * IMPORTANT: For this to work, you must place todo.xsl and todo.xml 
- * in the servlet root directory for documents.
- *
- */
-
-public class SimpleXSLTServlet extends HttpServlet {
-
-  public void init(ServletConfig config) throws ServletException
-  {
-    super.init(config);
-  }
-
-  public void doGet (HttpServletRequest request,
-                     HttpServletResponse response)
-    throws ServletException, IOException, java.net.MalformedURLException
-  {
-    // The servlet returns HTML.
-    response.setContentType("text/html; charset=UTF-8");    
-    // Output goes in the response stream.
-    PrintWriter out = response.getWriter();
-    try
-    {	
-      TransformerFactory tFactory = TransformerFactory.newInstance();
-      // Get the XML input document and the stylesheet.
-      Source xmlSource = new StreamSource(new URL("file:trax.xml").openStream());
-      Source xslSource = new StreamSource(new URL("file:spec.xsl").openStream());
-      // Generate the transformer.
-      Transformer transformer = tFactory.newTransformer(xslSource);
-      // Perform the transformation, sending the output to the response.
-      transformer.transform(xmlSource, new StreamResult(out));
-    }
-    catch (Exception e)
-    {
-      out.write(e.getMessage());
-      e.printStackTrace(out);    
-    }
-    out.close();
-  }
-  
-}
diff --git a/samples/servlet/UseStylesheetParamServlet.java b/samples/servlet/UseStylesheetParamServlet.java
deleted file mode 100644
index 1df946f..0000000
--- a/samples/servlet/UseStylesheetParamServlet.java
+++ /dev/null
@@ -1,71 +0,0 @@
-
-/*
-Simple Servlet Example using a stylesheet parameter
- */
-package servlet;
-// Imported TraX classes
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-
-// Imported SAX classes
-import org.xml.sax.SAXException;
-
-// Imported java.io and javax.servlet classes
-import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-public class UseStylesheetParamServlet extends HttpServlet {
-	
-	PrintWriter out;
-	String xslFile, xmlFile, paramValue;
-	public void doGet(HttpServletRequest req,
-		HttpServletResponse res)
-			throws ServletException, IOException {
-		try {
-			res.setContentType("text/html; charset=UTF-8");
-			out = res.getWriter();
-
-      paramValue = req.getParameter("PVAL");
-			xmlFile    = req.getParameter("XML");
-			xslFile    = req.getParameter("XSL");
- 		if (paramValue == null) {
-			out.println(
-			"<h1>No input for paramValue</h1>");
-			return;
-		}
- 		if ( xmlFile == null) {
-			out.println(
-			"<h1>No input for xmlFile</h1>");
-			return;
-		}	
-		if ( xslFile == null) {
-			out.println(
-			"<h1>No input for xslFile</h1>");
-			return;
-		}
-		TransformerFactory tFactory =
-			TransformerFactory.newInstance();
-		Transformer transformer =
-			tFactory.newTransformer(new StreamSource(xslFile));
-
-    // Set the stylesheet parameter (named param1).
-			transformer.setParameter("param1", paramValue);
-    // Perform the transformation.
-			transformer.transform(new StreamSource(xmlFile),
-					                  new StreamResult(out));
-		}		
-    catch (IOException e) {			
-			e.printStackTrace();
-			System.exit(-1);
-		}
-		catch (TransformerException e) {
-      e.printStackTrace(out);
-			return;
-		}
-	}
-}
diff --git a/samples/servlet/XSLTServletWithParams.java b/samples/servlet/XSLTServletWithParams.java
deleted file mode 100644
index b466560..0000000
--- a/samples/servlet/XSLTServletWithParams.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package servlet;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.io.*;
-import java.util.Enumeration;
-import java.net.URL;
-
-import org.xml.sax.*;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-
-/*
- * This sample takes input parameters in the request URL: a URL
- * parameter for the XML input, an xslURL parameter for the stylesheet,
- * and optional stylesheet parameters.
- * To run the equivalent of SimplestXSLServlet (with the documents in the
- * servlet document root directory), the request URL is
- * http://<server/servletpath>servlet.SimpleXSLServlet?URL=file:todo.xml&xslURL=file:todo.xsl
- *
- * Using a stylesheet Processing Instruction:
- * If the XML document includes a stylesheet PI that you want to use, 
- * omit the xslURL parameter.
- *
- * Sending stylesheet parameters: 
- * If, for example, a servlet takes a stylesheet parameter named param1
- * param1 that you want to set to foo, include param1=foo in the URL.
- */
-
-public class XSLTServletWithParams extends HttpServlet {
-
-  public void init(ServletConfig config) throws ServletException
-  {
-    super.init(config);
-  }
-
-  public void doGet (HttpServletRequest request,
-                     HttpServletResponse response)
-    throws ServletException, IOException
-  {
-    // The servlet returns HTML; charset is UTF8.
-    // See ApplyXSLT.getContentType() to get output properties from <xsl:output>.
-    response.setContentType("text/html; charset=UTF-8"); 
-    PrintWriter out = response.getWriter();
-    try
-    {	
-      TransformerFactory tFactory = TransformerFactory.newInstance();
-      // Get params from URL.
-      String xml = getRequestParam(request, "URL");
-      String xsl = getRequestParam(request, "xslURL");
-      Source xmlSource = null;
-      Source xslSource = null;
-      Transformer transformer = null;
-      // Get the XML input document.
-      if (xml != null && xml.length()> 0)
-        xmlSource = new StreamSource(new URL(xml).openStream());
-      // Get the stylesheet.
-      if (xsl != null && xsl.length()> 0)
-        xslSource = new StreamSource(new URL(xsl).openStream());
-      if (xmlSource != null) // We have an XML input document.
-      {
-        if (xslSource == null) // If no stylesheet, look for PI in XML input document.
-        {
-     	    String media= null , title = null, charset = null;
-          xslSource = tFactory.getAssociatedStylesheet(xmlSource,media, title, charset);
-        }
-        if (xslSource != null) // Now do we have a stylesheet?
-        {
-          transformer = tFactory.newTransformer(xslSource);
-          setParameters(transformer, request); // Set stylesheet params.
-          // Perform the transformation.
-          transformer.transform(xmlSource, new StreamResult(out)); 
-        }
-        else
-          out.write("No Stylesheet!");
-      }
-      else
-        out.write("No XML Input Document!");
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace(out);    
-    }
-    out.close();
-  }
-  
-  // Get parameters from the request URL.
-  String getRequestParam(HttpServletRequest request, String param)
-  {
-	  if (request != null) 
-    { 
-	    String paramVal = request.getParameter(param); 
-		  return paramVal;
-	  }
-	  return null;
-  }
-  
-  // Set stylesheet parameters from the request URL.
-  void setParameters(Transformer transformer, HttpServletRequest request)
-  {
-    Enumeration paramNames = request.getParameterNames();
-    while (paramNames.hasMoreElements())
-    {
-      String paramName = (String) paramNames.nextElement();
-      try
-      {
-        String paramVal = request.getParameter(paramName);
-        if (paramVal != null)
-          transformer.setParameter(paramName, paramVal);                                            
-      }
-      catch (Exception e)
-      {
-      }
-    }
-  }  
-}
diff --git a/samples/servlet/default.xsl b/samples/servlet/default.xsl
deleted file mode 100644
index e1a85e0..0000000
--- a/samples/servlet/default.xsl
+++ /dev/null
@@ -1,276 +0,0 @@
-<?xml version="1.0"?>
-
-<!--                                                                                -->
-<!--  Default XSL stylesheet for use by com.lotus.xsl.server#DefaultApplyXSL.       -->
-<!--                                                                                -->
-<!--  This stylesheet mimics the default behavior of IE when XML data is displayed  -->
-<!--  without a corresponding XSL stylesheet.  This stylesheet uses JavaScript      -->
-<!--  to accommodate node expansion and contraction.                                -->
-<!--                                                                                -->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-                xmlns="http://www.w3.org/TR/REC-html40">
-                
-<xsl:output method="html" indent="no"/>
-<xsl:strip-space elements="*"/>
-
-<xsl:template match="/">
-  <HTML>
-    <HEAD>
-      <STYLE type="text/css">
-        BODY {font:x-small 'Verdana'; margin-right:1.5em}
-      <!-- container for expanding/collapsing content -->
-        .c  {cursor:hand}
-      <!-- button - contains +/-/nbsp -->
-        .b  {color:red; font-family:'Courier New'; font-weight:bold; text-decoration:none}
-      <!-- element container -->
-        .e  {margin-left:1em; text-indent:-1em; margin-right:1em}
-      <!-- comment or cdata -->
-        .k  {margin-left:1em; text-indent:-1em; margin-right:1em}
-      <!-- tag -->
-        .t  {color:#990000}
-      <!-- tag in xsl namespace -->
-        .xt {color:#990099}
-      <!-- attribute in xml or xmlns namespace -->
-        .ns {color:red}
-      <!-- markup characters -->
-        .m  {color:blue}
-      <!-- text node -->
-        .tx {font-weight:bold}
-      <!-- multi-line (block) cdata -->
-        .db {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
-             padding-left:.3em; border-left:1px solid #CCCCCC; font:small Courier}
-      <!-- single-line (inline) cdata -->
-        .di {font:small Courier}
-      <!-- DOCTYPE declaration -->
-        .d  {color:blue}
-      <!-- pi -->
-        .pi {color:blue}
-      <!-- multi-line (block) comment -->
-        .cb {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
-             padding-left:.3em; font:small Courier; color:#888888}
-      <!-- single-line (inline) comment -->
-        .ci {font:small Courier; color:#888888}
-        PRE {margin:0px; display:inline}
-      </STYLE>
-
-      <SCRIPT type="text/javascript"><xsl:comment><![CDATA[
-        // Detect and switch the display of CDATA and comments from an inline view
-        //  to a block view if the comment or CDATA is multi-line.
-        function f(e)
-        {
-          // if this element is an inline comment, and contains more than a single
-          //  line, turn it into a block comment.
-          if (e.className == "ci") {
-            if (e.children(0).innerText.indexOf("\n") > 0)
-              fix(e, "cb");
-          }
-          
-          // if this element is an inline cdata, and contains more than a single
-          //  line, turn it into a block cdata.
-          if (e.className == "di") {
-            if (e.children(0).innerText.indexOf("\n") > 0)
-              fix(e, "db");
-          }
-          
-          // remove the id since we only used it for cleanup
-          e.id = "";
-        }
-        
-        // Fix up the element as a "block" display and enable expand/collapse on it
-        function fix(e, cl)
-        {
-          // change the class name and display value
-          e.className = cl;
-          e.style.display = "block";
-          
-          // mark the comment or cdata display as a expandable container
-          j = e.parentElement.children(0);
-          j.className = "c";
-
-          // find the +/- symbol and make it visible - the dummy link enables tabbing
-          k = j.children(0);
-          k.style.visibility = "visible";
-          k.href = "#";
-        }
-
-        // Change the +/- symbol and hide the children.  This function works on "element"
-        //  displays
-        function ch(e)
-        {
-          // find the +/- symbol
-          mark = e.children(0).children(0);
-          
-          // if it is already collapsed, expand it by showing the children
-          if (mark.innerText == "+")
-          {
-            mark.innerText = "-";
-            for (var i = 1; i < e.children.length; i++)
-              e.children(i).style.display = "block";
-          }
-          
-          // if it is expanded, collapse it by hiding the children
-          else if (mark.innerText == "-")
-          {
-            mark.innerText = "+";
-            for (var i = 1; i < e.children.length; i++)
-              e.children(i).style.display="none";
-          }
-        }
-        
-        // Change the +/- symbol and hide the children.  This function work on "comment"
-        //  and "cdata" displays
-        function ch2(e)
-        {
-          // find the +/- symbol, and the "PRE" element that contains the content
-          mark = e.children(0).children(0);
-          contents = e.children(1);
-          
-          // if it is already collapsed, expand it by showing the children
-          if (mark.innerText == "+")
-          {
-            mark.innerText = "-";
-            // restore the correct "block"/"inline" display type to the PRE
-            if (contents.className == "db" || contents.className == "cb")
-              contents.style.display = "block";
-            else contents.style.display = "inline";
-          }
-          
-          // if it is expanded, collapse it by hiding the children
-          else if (mark.innerText == "-")
-          {
-            mark.innerText = "+";
-            contents.style.display = "none";
-          }
-        }
-        
-        // Handle a mouse click
-        function cl()
-        {
-          e = window.event.srcElement;
-          
-          // make sure we are handling clicks upon expandable container elements
-          if (e.className != "c")
-          {
-            e = e.parentElement;
-            if (e.className != "c")
-            {
-              return;
-            }
-          }
-          e = e.parentElement;
-          
-          // call the correct funtion to change the collapse/expand state and display
-          if (e.className == "e")
-            ch(e);
-          if (e.className == "k")
-            ch2(e);
-        }
-        
-        // Erase bogus link info from the status window
-        function h()
-        {
-          window.status=" ";
-        }
-
-        // Set the onclick handler
-        document.onclick = cl;
-        
-      ]]>//</xsl:comment></SCRIPT>
-    </HEAD>
-
-    <BODY class="st"><xsl:apply-templates/></BODY>
-
-  </HTML>
-</xsl:template>
-
-<!-- Templates for each node type follows.  The output of each template has a similar structure
-  to enable script to walk the result tree easily for handling user interaction. -->
-  
-<!-- Template for pis not handled elsewhere -->
-<xsl:template match="processing-instruction()">
-  <DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;?</SPAN><SPAN class="pi"><xsl:value-of select="name(.)"/> <xsl:value-of select="."/></SPAN><SPAN class="m">?&gt;</SPAN>
-  </DIV>
-</xsl:template>
-
-<!-- Template for the XML declaration.  Need a separate template because the pseudo-attributes
-    are actually exposed as attributes instead of just element content, as in other pis 
-<xsl:template match="processing-instruction('xml')">
-  <DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;?</SPAN><SPAN class="pi">xml <xsl:for-each select="@*"><xsl:value-of select="name(.)"/>="<xsl:value-of select="."/>" </xsl:for-each></SPAN><SPAN class="m">?&gt;</SPAN>
-  </DIV>
-</xsl:template>
--->
-
-<!-- Template for attributes not handled elsewhere -->
-<xsl:template match="@*"><SPAN class="t"><xsl:text> </xsl:text><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
-
-<!-- Template for attributes in the xmlns or xml namespace
-<xsl:template match="@xmlns:*|@xmlns|@xml:*"><SPAN class="ns"> <xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B class="ns"><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
--->
-
-<!-- Template for text nodes -->
-<xsl:template match="text()">
-  <xsl:choose><xsl:when test="name(.) = '#cdata-section'"><xsl:call-template name="cdata"/></xsl:when>
-  <xsl:otherwise><DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="tx"><xsl:value-of select="."/></SPAN>
-  </DIV></xsl:otherwise></xsl:choose>
-</xsl:template>
-  
-<!-- Template for comment nodes -->
-<xsl:template match="comment()">
-  <DIV class="k">
-  <SPAN><A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A> <SPAN class="m">&lt;!--</SPAN></SPAN>
-  <SPAN id="clean" class="ci"><PRE><xsl:value-of select="."/></PRE></SPAN>
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">--&gt;</SPAN>
-  <SCRIPT>f(clean);</SCRIPT></DIV>
-</xsl:template>
-
-<!-- Template for cdata nodes -->
-<xsl:template name="cdata">
-  <DIV class="k">
-  <SPAN><A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A> <SPAN class="m">&lt;![CDATA[</SPAN></SPAN>
-  <SPAN id="clean" class="di"><PRE><xsl:value-of select="."/></PRE></SPAN>
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">]]&gt;</SPAN>
-  <SCRIPT>f(clean);</SCRIPT></DIV>
-</xsl:template>
-
-<!-- Template for elements not handled elsewhere (leaf nodes) -->
-<xsl:template match="*">
-  <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN> <xsl:apply-templates select="@*"/><SPAN class="m"> /&gt;</SPAN>
-  </DIV></DIV>
-</xsl:template>
-  
-<!-- Template for elements with comment, pi and/or cdata children
-<xsl:template match="*[comment() or processing-instruction() or cdata()]">
-  <DIV class="e">
-  <DIV class="c"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m">&lt;</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/> <SPAN class="m">&gt;</SPAN></DIV>
-  <DIV><xsl:apply-templates/>
-  <DIV><SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;/</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
-  </DIV></DIV>
-</xsl:template> -->
-
-<!-- Template for elements with only text children -->
-<xsl:template match="*[text() and not(comment() or processing-instruction() or *)]">
-  <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/>
-  <SPAN class="m">&gt;</SPAN><SPAN class="tx"><xsl:value-of select="."/></SPAN><SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN>
-  </DIV></DIV>
-</xsl:template>
-
-<!-- Template for elements with element children -->
-<xsl:template match="*[*]">
-  <DIV class="e">
-  <DIV class="c" STYLE="margin-left:1em;text-indent:-2em"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/><SPAN class="m">&gt;</SPAN></DIV>
-  <DIV><xsl:apply-templates/>
-  <DIV><SPAN class="b">&#160;</SPAN><SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
-  </DIV></DIV>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/servlet/default2.xsl b/samples/servlet/default2.xsl
deleted file mode 100644
index 1619f3f..0000000
--- a/samples/servlet/default2.xsl
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0"?>
-
-<!--                                                                                -->
-<!--  Default XSL stylesheet for use by com.lotus.xsl.server#DefaultApplyXSL.       -->
-<!--                                                                                -->
-<!--  This stylesheet mimics the default behavior of IE when XML data is displayed  -->
-<!--  without a corresponding XSL stylesheet.  This stylesheet uses no JavaScript   -->
-<!--  and displays all nodes as fully expanded.                                     -->
-<!--                                                                                -->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-                xmlns="http://www.w3.org/TR/REC-html40">
-                
-<xsl:output method="html" indent="no"/>
-<xsl:strip-space elements="*"/>
-
-<xsl:template match="/">
-  <HTML>
-    <HEAD>
-      <STYLE type="text/css">
-        BODY {font:x-small 'Verdana'; margin-right:1.5em}
-      <!-- container for expanding/collapsing content -->
-        .c  {cursor:hand}
-      <!-- button - contains +/-/nbsp -->
-        .b  {color:red; font-family:'Courier New'; font-weight:bold; text-decoration:none}
-      <!-- element container -->
-        .e  {margin-left:1em; text-indent:-1em; margin-right:1em}
-      <!-- comment or cdata -->
-        .k  {margin-left:1em; text-indent:-1em; margin-right:1em}
-      <!-- tag -->
-        .t  {color:#990000}
-      <!-- tag in xsl namespace -->
-        .xt {color:#990099}
-      <!-- attribute in xml or xmlns namespace -->
-        .ns {color:red}
-      <!-- markup characters -->
-        .m  {color:blue}
-      <!-- text node -->
-        .tx {font-weight:bold}
-      <!-- multi-line (block) cdata -->
-        .db {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
-             padding-left:.3em; border-left:1px solid #CCCCCC; font:small Courier}
-      <!-- single-line (inline) cdata -->
-        .di {font:small Courier}
-      <!-- DOCTYPE declaration -->
-        .d  {color:blue}
-      <!-- pi -->
-        .pi {color:blue}
-      <!-- multi-line (block) comment -->
-        .cb {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
-             padding-left:.3em; font:small Courier; color:#888888}
-      <!-- single-line (inline) comment -->
-        .ci {font:small Courier; color:#888888}
-        PRE {margin:0px; display:inline}
-      </STYLE>
-    </HEAD>
-
-    <BODY class="st"><xsl:apply-templates/></BODY>
-
-  </HTML>
-</xsl:template>
-
-<!-- Templates for each node type follows.  The output of each template has a similar structure
-  to enable script to walk the result tree easily for handling user interaction. -->
-  
-<!-- Template for pis not handled elsewhere -->
-<xsl:template match="processing-instruction()">
-  <DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;?</SPAN><SPAN class="pi"><xsl:value-of select="name(.)"/> <xsl:value-of select="."/></SPAN><SPAN class="m">?&gt;</SPAN>
-  </DIV>
-</xsl:template>
-
-<!-- Template for the XML declaration.  Need a separate template because the pseudo-attributes
-    are actually exposed as attributes instead of just element content, as in other pis 
-<xsl:template match="processing-instruction('xml')">
-  <DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;?</SPAN><SPAN class="pi">xml <xsl:for-each select="@*"><xsl:value-of select="name(.)"/>="<xsl:value-of select="."/>" </xsl:for-each></SPAN><SPAN class="m">?&gt;</SPAN>
-  </DIV>
-</xsl:template>
--->
-
-<!-- Template for attributes not handled elsewhere -->
-<xsl:template match="@*"><SPAN class="t"><xsl:text> </xsl:text><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
-
-<!-- Template for attributes in the xmlns or xml namespace
-<xsl:template match="@xmlns:*|@xmlns|@xml:*"><SPAN class="ns"> <xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B class="ns"><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
--->
-
-<!-- Template for text nodes -->
-<xsl:template match="text()">
-  <xsl:choose><xsl:when test="name(.) = '#cdata-section'"><xsl:call-template name="cdata"/></xsl:when>
-  <xsl:otherwise><DIV class="e">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="tx"><xsl:value-of select="."/></SPAN>
-  </DIV></xsl:otherwise></xsl:choose>
-</xsl:template>
-  
-<!-- Template for comment nodes -->
-<xsl:template match="comment()">
-  <DIV class="k">
-  <SPAN><SPAN class="b" STYLE="visibility:hidden">-</SPAN> <SPAN class="m">&lt;!--</SPAN></SPAN>
-  <SPAN class="cb"><PRE><xsl:value-of select="."/></PRE></SPAN>
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">--&gt;</SPAN>
-  </DIV>
-</xsl:template>
-
-<!-- Template for cdata nodes -->
-<xsl:template name="cdata">
-  <DIV class="k">
-  <SPAN><SPAN class="b" STYLE="visibility:hidden">-</SPAN> <SPAN class="m">&lt;![CDATA[</SPAN></SPAN>
-  <SPAN class="db"><PRE><xsl:value-of select="."/></PRE></SPAN>
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">]]&gt;</SPAN>
-  </DIV>
-</xsl:template>
-
-<!-- Template for elements not handled elsewhere (leaf nodes) -->
-<xsl:template match="*">
-  <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
-  <SPAN class="b">&#160;</SPAN>
-  <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN> <xsl:apply-templates select="@*"/><SPAN class="m"> /&gt;</SPAN>
-  </DIV></DIV>
-</xsl:template>
-  
-<!-- Template for elements with comment, pi and/or cdata children
-<xsl:template match="*[comment() or processing-instruction() or cdata()]">
-  <DIV class="e">
-  <DIV class="c"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m">&lt;</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/> <SPAN class="m">&gt;</SPAN></DIV>
-  <DIV><xsl:apply-templates/>
-  <DIV><SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;/</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
-  </DIV></DIV>
-</xsl:template> -->
-
-<!-- Template for elements with only text children -->
-<xsl:template match="*[text() and not(comment() or processing-instruction() or *)]">
-  <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
-  <SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/>
-  <SPAN class="m">&gt;</SPAN><SPAN class="tx"><xsl:value-of select="."/></SPAN><SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN>
-  </DIV></DIV>
-</xsl:template>
-
-<!-- Template for elements with element children -->
-<xsl:template match="*[*]">
-  <DIV class="e">
-  <DIV class="c" STYLE="margin-left:1em;text-indent:-2em"><SPAN class="b">-</SPAN><SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/> <SPAN class="m">&gt;</SPAN></DIV>
-  <DIV><xsl:apply-templates/>
-  <DIV><SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
-  </DIV></DIV>
-</xsl:template>
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/servlet/fooparam.xml b/samples/servlet/fooparam.xml
deleted file mode 100644
index 03c32b5..0000000
--- a/samples/servlet/fooparam.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"?>
-<doc>Hello</doc>
diff --git a/samples/servlet/fooparam.xsl b/samples/servlet/fooparam.xsl
deleted file mode 100644
index 34d0fce..0000000
--- a/samples/servlet/fooparam.xsl
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:param name="param1" select="'default value'"/>
-  <xsl:template match="doc">
-    <html>
-      <head><title>Stylesheet parameter</title></head>
-      <body>
-        <h2>XML source</h2>
-          <p><xsl:value-of select="."/></p>
-        <h2>Stylesheet parameter</h2>
-          <p>The param1 stylesheet parameter has been set to <xsl:value-of select="$param1"/>.</p>
-      </body>
-     </html>          
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/samples/servlet/jspSample.jsp b/samples/servlet/jspSample.jsp
deleted file mode 100644
index 773930c..0000000
--- a/samples/servlet/jspSample.jsp
+++ /dev/null
@@ -1,42 +0,0 @@
-<%@ page language="java" contentType="text/html" %>
-<%@ page import="javax.xml.transform.*"%>
-<%@ page import="javax.xml.transform.stream.*"%>
-<html>
-<head>
-<title>JSP sample passing a parameter to XSL</title>
-</head>
-<body>
-<%
-/**
- * This JSP uses PMA to set param1 in the
-*  foo.xsl stylesheet before using the
- * stylesheet to transform foo.xml
- * and outputing the result.
- *
- * Invoke the jsp from the appropriate
- * context for your servlet/jsp server.
- * For example: http://localhost:8080/samples/jspSample.jsp?HellowWorld!&XML=foo.xml&XSL=foo.xsl
- * This example assumes that foo.xsl and foo.xml
- * are in the same directory. 
- * Output should be Hello (from foo.xsml) and HelloWorld!
- * (value of param1 in foo.xsl).
-
- *@author Paul Campbell seapwc@halcyon.com
- *@version $Id$
- */
- 
-
-String paramValue = request.getParameter("PMA");
-String xmlFile    = request.getParameter("XML");
-String xslFile    = request.getParameter("XSL");
-
-TransformerFactory tFactory = 
-	TransformerFactory.newInstance();
-Transformer transformer =
-	tFactory.newTransformer(new StreamSource(xslFile));
-	transformer.setParameter("param1", paramValue);
-	transformer.transform(
-		 new StreamSource(xmlFile), new StreamResult(out));
-%>
-</body>
-</html>
diff --git a/samples/servlet/media.properties b/samples/servlet/media.properties
deleted file mode 100644
index 1b3cf45..0000000
--- a/samples/servlet/media.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-# This property file is used by com.lotus.xsl.server.DefaultApplyXSL.
-#
-# Each line below specifies a mapping rule between a value contained in the HTTP request's user-Agent 
-# field and a value to be scanned for in XSL stylesheet(s) associated with the XML data. This mapping 
-# enables relationships to be defined between client capabilities and stylesheets capable of acting 
-# on these capabilities.
-#
-# The rules defined below are order-significant.  In other words, if the first rule is unsuccessful,
-# the second rule will be tried, etc.  The media value "unknown" will be used when no rules are
-# satisfied.
-#
-# Example: 
-#
-# Mapping rules of...
-#
-#   MSIE=explorer
-#   MSPIE=pocketexplorer
-#
-# ...and XML data that contains XSL stylesheet associations of...
-#
-# <?xml-stylesheet                 media="explorer"       href="alldata.xsl"  type="text/xsl"?>
-# <?xml-stylesheet alternate="yes" media="pocketexplorer" href="somedata.xsl" type="text/xsl"?>
-#
-# ...and an HTTP request that contains a user-Agent value of...
-#    
-#   foo MSPIE bar
-#
-# ...will apply the XSL stylesheet somedata.xsl.
-#
-MSIE=explorer
-MSPIE=pocketexplorer
-HandHTTP=handweb
-Mozilla=netscape
-Lynx=lynx
-Opera=opera
-Java=java
-AvantGo=avantgo
-Nokia=nokia
-UP.Browser=up
-DoCoMo=imode
diff --git a/samples/servlet/readme.html b/samples/servlet/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/servlet/readme.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>Xalan Samples</title>
-</head>
-<body>
-<h2>Xalan Samples</h2>
-<p>For information about the samples (what they illustrate and how to run them), see <a href="../../docs/samples.html">Samples</a>.</p>
-
-
-</body>
-</html>
diff --git a/samples/translets/JAXPTransletMultipleTransformations.java b/samples/translets/JAXPTransletMultipleTransformations.java
deleted file mode 100644
index 97e4884..0000000
--- a/samples/translets/JAXPTransletMultipleTransformations.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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 Donald Leslie
- *
- */
-import java.util.Properties;
-import java.io.FileOutputStream;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-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 java.io.IOException;
-import java.io.FileNotFoundException;
-import org.xml.sax.SAXException;
-import javax.xml.parsers.ParserConfigurationException;
-
-
-/**
- * Using the TrAX/JAXP 1.1 interface to compile a translet and use it 
- * to perform multiple transformations. The translet implements 
- * the Templates interface. If you want to use the translet to perform a 
- * single transformation, see JAXPTransletOneTransformation.java.
- * 
- * 
- */
-public class JAXPTransletMultipleTransformations 
-{
- static void doTransform(Templates translet, String xmlInURI, String htmlOutURI)
-        throws TransformerException, FileNotFoundException     
-  {
-    // For each transformation, instantiate a new Transformer, and perform
-    // the transformation from a StreamSource to a StreamResult;
-    Transformer transformer = translet.newTransformer();
-    transformer.transform( new StreamSource(xmlInURI),
-                           new StreamResult(new FileOutputStream(htmlOutURI)));
-  }
-
-  public static void main(String argv[])        
-  { 
-    // Set the TransformerFactory system property to generate and use translets.
-    // Note: To make this sample more flexible, load properties from a properties file.
-    // The setting for the Xalan Transformer is "org.apache.xalan.processor.TransformerFactoryImpl"
-    String key = "javax.xml.transform.TransformerFactory";
-    String value = "org.apache.xalan.xsltc.trax.TransformerFactoryImpl";
-    Properties props = System.getProperties();
-    props.put(key, value);
-    
-    System.setProperties(props);
-
-    String xslInURI = "todo.xsl";
-    
-    try
-    {
-      // Instantiate the TransformerFactory, and use it along with a SteamSource
-      // XSL stylesheet to create a translet as a Templates object.
-      TransformerFactory tFactory = TransformerFactory.newInstance();
-      Templates translet = tFactory.newTemplates(new StreamSource(xslInURI));
-    
-      // Perform each transformation
-      doTransform(translet, "../../xsltc_todo.xml", "todo-xsltc.html");
-      System.out.println("Produced todo-xsltc.html");
-    
-      doTransform(translet, "../../todo.xml", "todo-xalan.html");
-      System.out.println("Produced todo-xalan.html");
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-    }    
-  } 
-}
\ No newline at end of file
diff --git a/samples/translets/JAXPTransletOneTransformation.java b/samples/translets/JAXPTransletOneTransformation.java
deleted file mode 100644
index 30e2d4e..0000000
--- a/samples/translets/JAXPTransletOneTransformation.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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 Donald Leslie
- *
- */
-import java.util.Properties;
-import java.io.FileOutputStream;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-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 java.io.IOException;
-import java.io.FileNotFoundException;
-import org.xml.sax.SAXException;
-import javax.xml.parsers.ParserConfigurationException;
-
-
-/**
- * Using the TrAX/JAXP 1.1 interface to compile and run a translet. The translet
- * extends the abstract Transformer class and is used to perform a single
- * transformation. If you want to use the translet to perform multiple 
- * transformations, see JAXPTransletMultipleTransformations.java.
- * 
- */
-public class JAXPTransletOneTransformation
-{
-  public static void main(String argv[])
-          throws TransformerException, TransformerConfigurationException, IOException, SAXException,
-                 ParserConfigurationException, FileNotFoundException
-  { 
-    // Set the TransformerFactory system property to generate and use a translet.
-    // Note: To make this sample more flexible, load properties from a properties file.    
-    // The setting for the Xalan Transformer is "org.apache.xalan.processor.TransformerFactoryImpl"
-    String key = "javax.xml.transform.TransformerFactory";
-    String value = "org.apache.xalan.xsltc.trax.TransformerFactoryImpl";
-    Properties props = System.getProperties();
-    props.put(key, value);
-    System.setProperties(props);    
-
-    String xslInURI = "todo.xsl";
-    String xmlInURI = "../../xsltc_todo.xml";
-    String htmlOutURI = "todo-xsltc.html";
-    try
-    {
-      // Instantiate the TransformerFactory, and use it along with a SteamSource
-      // XSL stylesheet to create a Transformer.
-      TransformerFactory tFactory = TransformerFactory.newInstance();
-      Transformer transformer = tFactory.newTransformer(new StreamSource(xslInURI));
-      // Perform the transformation from a StreamSource to a StreamResult;
-      transformer.transform(new StreamSource(xmlInURI),
-                            new StreamResult(new FileOutputStream(htmlOutURI)));  
-      System.out.println("Produced todo-xsltc.html");  
-    }
-    catch (Exception e) 
-    {
-     System.out.println(e.toString());
-     e.printStackTrace();
-    }      
-  }
-}
\ No newline at end of file
diff --git a/samples/translets/readme.html b/samples/translets/readme.html
deleted file mode 100644
index ec8936f..0000000
--- a/samples/translets/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/translets/todo.xsl b/samples/translets/todo.xsl
deleted file mode 100644
index 6ff8cac..0000000
--- a/samples/translets/todo.xsl
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:variable name="title" select="concat(todo/@project, ' ', todo/@major-version)"/>
-  <xsl:template match="/">
-    <HTML>
-      <HEAD>
-         <TITLE><xsl:value-of select="$title"/></TITLE>
-      </HEAD>
-      <BODY>
-
-        <H2><xsl:value-of select="concat($title, ': ', todo/@title)"/></H2>
-        <p><font size="-1">See a 
-          <xsl:element name="a">
-            <xsl:attribute name="href">#developer-list</xsl:attribute>
-            <xsl:text>list of developers/initials.</xsl:text>
-          </xsl:element>
-        </font></p>
-        <font size="-1"><p>Planned releases: 
-            <BR/><xsl:for-each select="todo/actions/target-release-description">
-              <xsl:element name="a">
-                <xsl:attribute name="href">#release-date-<xsl:value-of select="date"/></xsl:attribute>
-                <xsl:value-of select="date"/>
-              </xsl:element><xsl:text> </xsl:text><xsl:text> </xsl:text>
-            </xsl:for-each>
-            <xsl:element name="a">
-                <xsl:attribute name="href">#release-date-completed</xsl:attribute>
-                <xsl:text>Completed</xsl:text>
-              </xsl:element>
-
-        </p></font>
-        <xsl:for-each select="todo">
-          <xsl:for-each select="actions">
-              <xsl:for-each select="target-release-description">
-                <p>
-                  <xsl:apply-templates/>
-                </p>
-              </xsl:for-each>
-              <xsl:for-each select="action">
-                <xsl:if test="normalize-space(.)">
-                  <p>
-                   <xsl:number/>) <xsl:apply-templates/>
-                   <xsl:if test="@*">
-                    <BR/>
-                   </xsl:if>
-                   <xsl:apply-templates select="@*"/>
-                  </p>
-                </xsl:if>
-            </xsl:for-each>
-            <HR/>
-          </xsl:for-each>
-
-          <xsl:for-each select="completed">
-              <xsl:element name="a">
-                <xsl:attribute name="name">release-date-completed</xsl:attribute>
-                <H3>Completed: </H3>
-              </xsl:element>
-            <xsl:for-each select="action">
-              <xsl:if test="normalize-space(.)">
-                <p>
-                 <xsl:number/>) <xsl:apply-templates/>
-                 <xsl:if test="@*">
-                  <BR/>
-                 </xsl:if>
-                 <xsl:apply-templates select="@*"/>
-                </p>
-              </xsl:if>
-          </xsl:for-each>
-          <HR/>
-        </xsl:for-each>
-
-        <xsl:call-template name="developer-list"/>
-       </xsl:for-each>
-
-      </BODY>
-    </HTML>
-  </xsl:template>
-
-  <xsl:template match="action/@*">
-  <!-- Add link to the who attributes to corresponding item in developer-list -->
-    <b><xsl:value-of select="name(.)"/>:</b><xsl:text> </xsl:text>
-      <xsl:choose>
-        <xsl:when test="name(.)='who'">
-          <xsl:element name="a">
-            <xsl:attribute name="href">#personref-<xsl:value-of select="."/></xsl:attribute>
-            <xsl:value-of select="."/>
-          </xsl:element>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="."/>
-        </xsl:otherwise>
-      </xsl:choose>
-    <xsl:if test="not (position()=last())">
-      <xsl:text>, </xsl:text>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/date">
-      <xsl:element name="a">
-        <xsl:attribute name="name">release-date-<xsl:value-of select="."/></xsl:attribute>
-        <b><xsl:text>For release: </xsl:text><xsl:value-of select="."/></b>
-      </xsl:element>
-    
-  </xsl:template>
-
-  <xsl:template match="issue">
-    <BR/><b>Issue </b><xsl:text>[</xsl:text><xsl:value-of select="@id"/>
-    <xsl:text>]: </xsl:text>
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/level">
-    <xsl:text>, </xsl:text><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/goal">
-    <BR/><b>Goal </b><xsl:text>[</xsl:text><xsl:value-of select="@type"/>
-    <xsl:text>]: </xsl:text>
-    <xsl:apply-templates/>
-  </xsl:template>
-
-
-  <xsl:template name="developer-list">
-    <H3>
-      <xsl:element name="a">
-        <xsl:attribute name="name">developer-list</xsl:attribute>
-        <xsl:text>Developers:</xsl:text>
-      </xsl:element>
-    </H3>
-    <p>A list of some of people currently working on working on <xsl:value-of select="/todo/@project"/>:</p>
-    <ul>
-    <xsl:for-each select="devs/person">
-      <li>
-        <a href="mailto:{@email}">
-          <xsl:value-of select="@name"/>
-        </a>
-         <xsl:element name="a">
-           <xsl:attribute name="name"><xsl:text>personref-</xsl:text><xsl:value-of select="@id"/></xsl:attribute>
-           <xsl:text> (</xsl:text><xsl:value-of select="@id"/><xsl:text>)</xsl:text>
-         </xsl:element>
-         <BR/><xsl:value-of select="."/>
-      </li>
-    </xsl:for-each>
-    </ul>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/samples/trax/ExampleContentHandler.java b/samples/trax/ExampleContentHandler.java
deleted file mode 100644
index 3e308f4..0000000
--- a/samples/trax/ExampleContentHandler.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.Locator;
-
-public class ExampleContentHandler implements ContentHandler
-{
-  public void setDocumentLocator (Locator locator)
-  {
-    System.out.println("setDocumentLocator");
-  }
-
-
-  public void startDocument ()
-    throws SAXException
-  {
-    System.out.println("startDocument");
-  }
-
-
-  public void endDocument()
-    throws SAXException
-  {
-    System.out.println("endDocument");
-  }
-
-
-  public void startPrefixMapping (String prefix, String uri)
-    throws SAXException
-  {
-    System.out.println("startPrefixMapping: "+prefix+", "+uri);
-  }
-
-
-  public void endPrefixMapping (String prefix)
-    throws SAXException
-  {
-    System.out.println("endPrefixMapping: "+prefix);
-  }
-
-
-  public void startElement (String namespaceURI, String localName,
-                            String qName, Attributes atts)
-    throws SAXException
-  {
-    System.out.print("startElement: "+namespaceURI+", "+namespaceURI+
-                       ", "+qName);
-    int n = atts.getLength();
-    for(int i = 0; i < n; i++)
-    {
-      System.out.print(", "+atts.getQName(i));
-    }
-    System.out.println("");
-  }
-
-
-  public void endElement (String namespaceURI, String localName,
-                          String qName)
-    throws SAXException
-  {
-    System.out.println("endElement: "+namespaceURI+", "+namespaceURI+
-                       ", "+qName);
-  }
-
-
-  public void characters (char ch[], int start, int length)
-    throws SAXException
-  {
-    String s = new String(ch, start, (length > 30) ? 30 : length);
-    if(length > 30)
-      System.out.println("characters: \""+s+"\"...");
-    else
-      System.out.println("characters: \""+s+"\"");
-  }
-
-
-  public void ignorableWhitespace (char ch[], int start, int length)
-    throws SAXException
-  {
-    System.out.println("ignorableWhitespace");
-  }
-
-
-  public void processingInstruction (String target, String data)
-    throws SAXException
-  {
-    System.out.println("processingInstruction: "+target+", "+target);
-  }
-
-
-  public void skippedEntity (String name)
-    throws SAXException
-  {
-    System.out.println("skippedEntity: "+name);
-  }
-
-}
diff --git a/samples/trax/Examples.java b/samples/trax/Examples.java
deleted file mode 100644
index 32a5552..0000000
--- a/samples/trax/Examples.java
+++ /dev/null
@@ -1,882 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-import javax.xml.transform.*;
-import javax.xml.transform.sax.*;
-import javax.xml.transform.dom.*;
-import javax.xml.transform.stream.*;
-
-// Needed java classes
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.IOException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.FileNotFoundException;
-
-import java.util.Properties;
-
-// Needed SAX classes
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.Parser;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.XMLReader;
-import org.xml.sax.XMLFilter;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.ext.DeclHandler;
-
-// Needed DOM classes
-import org.w3c.dom.Node;
-
-// Needed JAXP classes
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import java.io.BufferedInputStream;    // dml
-
-/**
- * Some examples to show how the Simple API for Transformations
- * could be used.
- * 
- * Xalan Developers: please see 
- * xml-xalan/test/java/src/org/apache/qetest/trax/ExamplesTest.java
- * when updating this file, and update that test file as well.
- *
- * @author <a href="mailto:scott_boag@lotus.com">Scott Boag</a>
- */
-public class Examples
-{
-  /**
-   * Method main
-   */
-  public static void main(String argv[])
-          throws TransformerException, TransformerConfigurationException, IOException, SAXException,
-                 ParserConfigurationException, FileNotFoundException
-  {
-    System.out.println("\n\n==== exampleSimple ====");
-    try {
-        exampleSimple1("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleSimple2 (see foo.out) ====");
-    try {
-        exampleSimple2("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleFromStream ====");
-    try {
-        exampleFromStream("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleFromReader ====");
-    try {
-        exampleFromReader("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleUseTemplatesObj ====");
-    try {
-        exampleUseTemplatesObj("xml/foo.xml", "xml/baz.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleContentHandlerToContentHandler ====");
-    try {
-        exampleContentHandlerToContentHandler("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleXMLReader ====");
-    try {
-        exampleXMLReader("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleXMLFilter ====");
-    try {
-        exampleXMLFilter("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleXMLFilterChain ====");
-    try {
-        exampleXMLFilterChain("xml/foo.xml", "xsl/foo.xsl", "xsl/foo2.xsl", "xsl/foo3.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleDOM2DOM ====");
-    try {
-        exampleDOM2DOM("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleParam ====");
-    try {
-        exampleParam("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleTransformerReuse ====");
-    try {
-        exampleTransformerReuse("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleOutputProperties ====");
-    try {
-        exampleOutputProperties("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleUseAssociated ====");
-    try {
-        exampleUseAssociated("xml/foo.xml");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleContentHandler2DOM ====");
-    try {
-        exampleContentHandler2DOM("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleAsSerializer ====");
-    try {
-        exampleAsSerializer("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-    
-    System.out.println("\n\n==== exampleContentHandler2DOM ====");
-    try {
-        exampleContentHandler2DOM("xml/foo.xml", "xsl/foo.xsl");
-    } catch( Exception ex ) { 
-        handleException(ex);
-    } 
-
-    System.out.println("\n==== done! ====");
-  }
-  
-  /**
-   * Show the simplest possible transformation from system id 
-   * to output stream.
-   */
-  public static void exampleSimple1(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    // Create a transformer for the stylesheet.
-    Transformer transformer 
-      = tfactory.newTransformer(new StreamSource(xslID));
-    
-    // Transform the source XML to System.out.
-    transformer.transform( new StreamSource(sourceID),
-                           new StreamResult(System.out));
-  }
-  
-  /**
-   * Show the simplest possible transformation from File 
-   * to a File.
-   */
-  public static void exampleSimple2(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    // Create a transformer for the stylesheet.
-    Transformer transformer 
-      = tfactory.newTransformer(new StreamSource(xslID));
-    
-    // Transform the source XML to foo.out.
-    transformer.transform( new StreamSource(new File(sourceID)),
-                           new StreamResult(new File("foo.out")));
-  }
-
-  
-  /**
-   * Show simple transformation from input stream to output stream.
-   */
-  public static void exampleFromStream(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException,
-           FileNotFoundException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    InputStream xslIS = new BufferedInputStream(new FileInputStream(xslID));
-    StreamSource xslSource = new StreamSource(xslIS);
-    // Note that if we don't do this, relative URLs can not be resolved correctly!
-    xslSource.setSystemId(xslID);
-
-    // Create a transformer for the stylesheet.
-    Transformer transformer = tfactory.newTransformer(xslSource);
-    
-    InputStream xmlIS = new BufferedInputStream(new FileInputStream(sourceID));
-    StreamSource xmlSource = new StreamSource(xmlIS);
-    // Note that if we don't do this, relative URLs can not be resolved correctly!
-    xmlSource.setSystemId(sourceID);
-    
-    // Transform the source XML to System.out.
-    transformer.transform( xmlSource, new StreamResult(System.out));
-  }
-  
-  /**
-   * Show simple transformation from reader to output stream.  In general 
-   * this use case is discouraged, since the XML encoding can not be 
-   * processed.
-   */
-  public static void exampleFromReader(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException,
-           FileNotFoundException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    // Note that in this case the XML encoding can not be processed!
-    Reader xslReader = new BufferedReader(new FileReader(xslID));
-    StreamSource xslSource = new StreamSource(xslReader);
-    // Note that if we don't do this, relative URLs can not be resolved correctly!
-    xslSource.setSystemId(xslID);
-
-    // Create a transformer for the stylesheet.
-    Transformer transformer = tfactory.newTransformer(xslSource);
-    
-    // Note that in this case the XML encoding can not be processed!
-    Reader xmlReader = new BufferedReader(new FileReader(sourceID));
-    StreamSource xmlSource = new StreamSource(xmlReader);
-    // Note that if we don't do this, relative URLs can not be resolved correctly!
-    xmlSource.setSystemId(sourceID);
-    
-    // Transform the source XML to System.out.
-    transformer.transform( xmlSource, new StreamResult(System.out));
-  }
-
-
- 
-  /**
-   * Show the simplest possible transformation from system id to output stream.
-   */
-  public static void exampleUseTemplatesObj(String sourceID1, 
-                                    String sourceID2, 
-                                    String xslID)
-          throws TransformerException, TransformerConfigurationException
-  {
-
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    // Create a templates object, which is the processed, 
-    // thread-safe representation of the stylesheet.
-    Templates templates = tfactory.newTemplates(new StreamSource(xslID));
-
-    // Illustrate the fact that you can make multiple transformers 
-    // from the same template.
-    Transformer transformer1 = templates.newTransformer();
-    Transformer transformer2 = templates.newTransformer();
-    
-    System.out.println("\n\n----- transform of "+sourceID1+" -----");
-    
-    transformer1.transform(new StreamSource(sourceID1),
-                          new StreamResult(System.out));
-    
-    System.out.println("\n\n----- transform of "+sourceID2+" -----");
-    
-    transformer2.transform(new StreamSource(sourceID2),
-                          new StreamResult(System.out));
-  }
-  
-
-
-  /**
-   * Show the Transformer using SAX events in and SAX events out.
-   */
-  public static void exampleContentHandlerToContentHandler(String sourceID, 
-                                                           String xslID)
-          throws TransformerException, 
-                 TransformerConfigurationException, 
-                 SAXException, IOException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    // Does this factory support SAX features?
-    if (tfactory.getFeature(SAXSource.FEATURE))
-    {
-      // If so, we can safely cast.
-      SAXTransformerFactory stfactory = ((SAXTransformerFactory) tfactory);
-      
-      // A TransformerHandler is a ContentHandler that will listen for 
-      // SAX events, and transform them to the result.
-      TransformerHandler handler 
-        = stfactory.newTransformerHandler(new StreamSource(xslID));
-
-      // Set the result handling to be a serialization to System.out.
-      Result result = new SAXResult(new ExampleContentHandler());
-      handler.setResult(result);
-      
-      // Create a reader, and set it's content handler to be the TransformerHandler.
-      XMLReader reader=null;
-
-      // Use JAXP1.1 ( if possible )
-      try {
-	  javax.xml.parsers.SAXParserFactory factory=
-	      javax.xml.parsers.SAXParserFactory.newInstance();
-	  factory.setNamespaceAware( true );
-	  javax.xml.parsers.SAXParser jaxpParser=
-	      factory.newSAXParser();
-	  reader=jaxpParser.getXMLReader();
-	  
-      } catch( javax.xml.parsers.ParserConfigurationException ex ) {
-	  throw new org.xml.sax.SAXException( ex );
-      } catch( javax.xml.parsers.FactoryConfigurationError ex1 ) {
-	  throw new org.xml.sax.SAXException( ex1.toString() );
-      } catch( NoSuchMethodError ex2 ) {
-      }
-      if( reader==null ) reader = XMLReaderFactory.createXMLReader();
-      reader.setContentHandler(handler);
-      
-      // It's a good idea for the parser to send lexical events.
-      // The TransformerHandler is also a LexicalHandler.
-      reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler);
-      
-      // Parse the source XML, and send the parse events to the TransformerHandler.
-      reader.parse(sourceID);
-    }
-    else
-    {
-      System.out.println(
-        "Can't do exampleContentHandlerToContentHandler because tfactory is not a SAXTransformerFactory");
-    }
-  }
-  
-  /**
-   * Show the Transformer as a SAX2 XMLReader.  An XMLFilter obtained 
-   * from newXMLFilter should act as a transforming XMLReader if setParent is not
-   * called.  Internally, an XMLReader is created as the parent for the XMLFilter.
-   */
-  public static void exampleXMLReader(String sourceID, String xslID)
-          throws TransformerException, TransformerConfigurationException, SAXException, IOException    // , ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    if(tfactory.getFeature(SAXSource.FEATURE))
-    {
-      XMLReader reader 
-        = ((SAXTransformerFactory) tfactory).newXMLFilter(new StreamSource(xslID));
-      
-      reader.setContentHandler(new ExampleContentHandler());
-
-      reader.parse(new InputSource(sourceID));
-    }
-    else
-      System.out.println("tfactory does not support SAX features!");
-  }
-
-  /**
-   * Show the Transformer as a simple XMLFilter.  This is pretty similar
-   * to exampleXMLReader, except that here the parent XMLReader is created 
-   * by the caller, instead of automatically within the XMLFilter.  This 
-   * gives the caller more direct control over the parent reader.
-   */
-  public static void exampleXMLFilter(String sourceID, String xslID)
-          throws TransformerException, TransformerConfigurationException, SAXException, IOException    // , ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    XMLReader reader=null;
-    
-    // Use JAXP1.1 ( if possible )
-    try {
-	javax.xml.parsers.SAXParserFactory factory=
-	    javax.xml.parsers.SAXParserFactory.newInstance();
-	  factory.setNamespaceAware( true );
-	  javax.xml.parsers.SAXParser jaxpParser=
-	    factory.newSAXParser();
-	reader=jaxpParser.getXMLReader();
-	
-    } catch( javax.xml.parsers.ParserConfigurationException ex ) {
-	throw new org.xml.sax.SAXException( ex );
-    } catch( javax.xml.parsers.FactoryConfigurationError ex1 ) {
-	throw new org.xml.sax.SAXException( ex1.toString() );
-    } catch( NoSuchMethodError ex2 ) {
-    }
-    if( reader==null ) reader = XMLReaderFactory.createXMLReader();
-    // The transformer will use a SAX parser as it's reader.    
-    reader.setContentHandler(new ExampleContentHandler());
-    try
-    {
-      reader.setFeature("http://xml.org/sax/features/namespace-prefixes",
-                        true);
-      reader.setFeature("http://apache.org/xml/features/validation/dynamic",
-                        true);
-    }
-    catch (SAXException se)
-    {
-
-      // What can we do?
-      // TODO: User diagnostics.
-    }
-
-    XMLFilter filter 
-      = ((SAXTransformerFactory) tfactory).newXMLFilter(new StreamSource(xslID));
-
-    filter.setParent(reader);
-
-    // Now, when you call transformer.parse, it will set itself as 
-    // the content handler for the parser object (it's "parent"), and 
-    // will then call the parse method on the parser.
-    filter.parse(new InputSource(sourceID));
-  }
-
-  /**
-   * This example shows how to chain events from one Transformer
-   * to another transformer, using the Transformer as a
-   * SAX2 XMLFilter/XMLReader.
-   */
-  public static void exampleXMLFilterChain(
-                                           String sourceID, String xslID_1, 
-                                           String xslID_2, String xslID_3)
-    throws TransformerException, TransformerConfigurationException, SAXException, IOException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    Templates stylesheet1 = tfactory.newTemplates(new StreamSource(xslID_1));
-    Transformer transformer1 = stylesheet1.newTransformer();
-    
-     // If one success, assume all will succeed.
-    if (tfactory.getFeature(SAXSource.FEATURE))
-    {
-      SAXTransformerFactory stf = (SAXTransformerFactory)tfactory;
-      XMLReader reader=null;
-
-      // Use JAXP1.1 ( if possible )
-      try {
-	  javax.xml.parsers.SAXParserFactory factory=
-	      javax.xml.parsers.SAXParserFactory.newInstance();
-	  factory.setNamespaceAware( true );
-	  javax.xml.parsers.SAXParser jaxpParser=
-	      factory.newSAXParser();
-	  reader=jaxpParser.getXMLReader();
-	  
-      } catch( javax.xml.parsers.ParserConfigurationException ex ) {
-	  throw new org.xml.sax.SAXException( ex );
-      } catch( javax.xml.parsers.FactoryConfigurationError ex1 ) {
-	  throw new org.xml.sax.SAXException( ex1.toString() );
-      } catch( NoSuchMethodError ex2 ) {
-      }
-      if( reader==null ) reader = XMLReaderFactory.createXMLReader();
-
-      XMLFilter filter1 = stf.newXMLFilter(new StreamSource(xslID_1));
-      XMLFilter filter2 = stf.newXMLFilter(new StreamSource(xslID_2));
-      XMLFilter filter3 = stf.newXMLFilter(new StreamSource(xslID_3));
-
-      if (null != filter1) // If one success, assume all were success.
-      {
-        // transformer1 will use a SAX parser as it's reader.    
-        filter1.setParent(reader);
-
-        // transformer2 will use transformer1 as it's reader.
-        filter2.setParent(filter1);
-
-        // transform3 will use transform2 as it's reader.
-        filter3.setParent(filter2);
-
-        filter3.setContentHandler(new ExampleContentHandler());
-        // filter3.setContentHandler(new org.xml.sax.helpers.DefaultHandler());
-
-        // Now, when you call transformer3 to parse, it will set  
-        // itself as the ContentHandler for transform2, and 
-        // call transform2.parse, which will set itself as the 
-        // content handler for transform1, and call transform1.parse, 
-        // which will set itself as the content listener for the 
-        // SAX parser, and call parser.parse(new InputSource("xml/foo.xml")).
-        filter3.parse(new InputSource(sourceID));
-      }
-      else
-      {
-        System.out.println(
-                           "Can't do exampleXMLFilter because "+
-                           "tfactory doesn't support asXMLFilter()");
-      }
-    }
-    else
-    {
-      System.out.println(
-                         "Can't do exampleXMLFilter because "+
-                         "tfactory is not a SAXTransformerFactory");
-    }
-  }
-
-  /**
-   * Show how to transform a DOM tree into another DOM tree.
-   * This uses the javax.xml.parsers to parse an XML file into a
-   * DOM, and create an output DOM.
-   */
-  public static Node exampleDOM2DOM(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException, SAXException, IOException,
-    ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    if (tfactory.getFeature(DOMSource.FEATURE))
-    {
-      Templates templates;
-
-      {
-        DocumentBuilderFactory dfactory =
-          DocumentBuilderFactory.newInstance();
-        dfactory.setNamespaceAware(true);
-        DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-        org.w3c.dom.Document outNode = docBuilder.newDocument();
-        Node doc = docBuilder.parse(new InputSource(xslID));
- 
-        DOMSource dsource = new DOMSource(doc);
-        // If we don't do this, the transformer won't know how to 
-        // resolve relative URLs in the stylesheet.
-        dsource.setSystemId(xslID);
-
-        templates = tfactory.newTemplates(dsource);
-      }
-
-      Transformer transformer = templates.newTransformer();
-      DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-      // Note you must always setNamespaceAware when building .xsl stylesheets
-      dfactory.setNamespaceAware(true);
-      DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-      org.w3c.dom.Document outNode = docBuilder.newDocument();
-      Node doc = docBuilder.parse(new InputSource(sourceID));
-
-      transformer.transform(new DOMSource(doc), new DOMResult(outNode));
-      
-      Transformer serializer = tfactory.newTransformer();
-      serializer.transform(new DOMSource(outNode), new StreamResult(System.out));
-
-      return outNode;
-    }
-    else
-    {
-      throw new org.xml.sax
-        .SAXNotSupportedException("DOM node processing not supported!");
-    }
-  } 
-
-  /**
-   * This shows how to set a parameter for use by the templates. Use 
-   * two transformers to show that different parameters may be set 
-   * on different transformers.
-   */
-  public static void exampleParam(String sourceID, 
-                                  String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    Templates templates = tfactory.newTemplates(new StreamSource(xslID));
-    Transformer transformer1 = templates.newTransformer();
-    Transformer transformer2 = templates.newTransformer();
-
-    transformer1.setParameter("a-param",
-                              "hello to you!");
-    transformer1.transform(new StreamSource(sourceID),
-                           new StreamResult(System.out));
-    
-    System.out.println("\n=========");
-    
-    transformer2.setOutputProperty(OutputKeys.INDENT, "yes");
-    transformer2.transform(new StreamSource(sourceID),
-                           new StreamResult(System.out));
-  }
-  
-  /**
-   * Show the that a transformer can be reused, and show resetting 
-   * a parameter on the transformer.
-   */
-  public static void exampleTransformerReuse(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    // Create a transform factory instance.
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    
-    // Create a transformer for the stylesheet.
-    Transformer transformer 
-      = tfactory.newTransformer(new StreamSource(xslID));
-    
-    transformer.setParameter("a-param",
-                              "hello to you!");
-    
-    // Transform the source XML to System.out.
-    transformer.transform( new StreamSource(sourceID),
-                           new StreamResult(System.out));
-
-    System.out.println("\n=========\n");
-
-    transformer.setParameter("a-param",
-                              "hello to me!");
-    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-
-    // Transform the source XML to System.out.
-    transformer.transform( new StreamSource(sourceID),
-                           new StreamResult(System.out));
-  }
-
-  /**
-   * Show how to override output properties.
-   */
-  public static void exampleOutputProperties(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException
-  {
-
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-    Templates templates = tfactory.newTemplates(new StreamSource(xslID));
-    Properties oprops = templates.getOutputProperties();
-
-    oprops.put(OutputKeys.INDENT, "yes");
-
-    Transformer transformer = templates.newTransformer();
-
-    transformer.setOutputProperties(oprops);
-    transformer.transform(new StreamSource(sourceID),
-                          new StreamResult(System.out));
-  }
-
-  /**
-   * Show how to get stylesheets that are associated with a given
-   * xml document via the xml-stylesheet PI (see http://www.w3.org/TR/xml-stylesheet/).
-   */
-  public static void exampleUseAssociated(String sourceID)
-    throws TransformerException, TransformerConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    // The DOM tfactory will have it's own way, based on DOM2, 
-    // of getting associated stylesheets.
-    if (tfactory instanceof SAXTransformerFactory)
-    {
-      SAXTransformerFactory stf = ((SAXTransformerFactory) tfactory);
-      Source sources =
-        stf.getAssociatedStylesheet(new StreamSource(sourceID),
-          null, null, null);
-
-      if(null != sources)
-      {
-        Transformer transformer = tfactory.newTransformer(sources);
-
-        transformer.transform(new StreamSource(sourceID),
-                              new StreamResult(System.out));
-      }
-      else
-      {
-        System.out.println("Can't find the associated stylesheet!");
-      }
-    }
-  }
-  
-  /**
-   * Show the Transformer using SAX events in and DOM nodes out.
-   */
-  public static void exampleContentHandler2DOM(String sourceID, String xslID)
-          throws TransformerException, TransformerConfigurationException, SAXException, IOException, ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance();
-
-    // Make sure the transformer factory we obtained supports both
-    // DOM and SAX.
-    if (tfactory.getFeature(SAXSource.FEATURE)
-        && tfactory.getFeature(DOMSource.FEATURE))
-    {
-      // We can now safely cast to a SAXTransformerFactory.
-      SAXTransformerFactory sfactory = (SAXTransformerFactory) tfactory;
-      
-      // Create an Document node as the root for the output.
-      DocumentBuilderFactory dfactory 
-        = DocumentBuilderFactory.newInstance();
-      DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-      org.w3c.dom.Document outNode = docBuilder.newDocument();
-      
-      // Create a ContentHandler that can liston to SAX events 
-      // and transform the output to DOM nodes.
-      TransformerHandler handler 
-        = sfactory.newTransformerHandler(new StreamSource(xslID));
-      handler.setResult(new DOMResult(outNode));
-      
-      // Create a reader and set it's ContentHandler to be the 
-      // transformer.
-      XMLReader reader=null;
-
-      // Use JAXP1.1 ( if possible )
-      try {
-	  javax.xml.parsers.SAXParserFactory factory=
-	      javax.xml.parsers.SAXParserFactory.newInstance();
-	  factory.setNamespaceAware( true );
-	  javax.xml.parsers.SAXParser jaxpParser=
-	      factory.newSAXParser();
-	  reader=jaxpParser.getXMLReader();
-	  
-      } catch( javax.xml.parsers.ParserConfigurationException ex ) {
-	  throw new org.xml.sax.SAXException( ex );
-      } catch( javax.xml.parsers.FactoryConfigurationError ex1 ) {
-	  throw new org.xml.sax.SAXException( ex1.toString() );
-      } catch( NoSuchMethodError ex2 ) {
-      }
-      if( reader==null ) reader= XMLReaderFactory.createXMLReader();
-      reader.setContentHandler(handler);
-      reader.setProperty("http://xml.org/sax/properties/lexical-handler",
-                         handler);
-      
-      // Send the SAX events from the parser to the transformer,
-      // and thus to the DOM tree.
-      reader.parse(sourceID);
-      
-      // Serialize the node for diagnosis.
-      exampleSerializeNode(outNode);
-    }
-    else
-    {
-      System.out.println(
-        "Can't do exampleContentHandlerToContentHandler because tfactory is not a SAXTransformerFactory");
-    }
-  }
-  
-  /**
-   * Serialize a node to System.out.
-   */
-  public static void exampleSerializeNode(Node node)
-    throws TransformerException, TransformerConfigurationException, SAXException, IOException,
-    ParserConfigurationException
-  {
-    TransformerFactory tfactory = TransformerFactory.newInstance(); 
-    
-    // This creates a transformer that does a simple identity transform, 
-    // and thus can be used for all intents and purposes as a serializer.
-    Transformer serializer = tfactory.newTransformer();
-    
-    serializer.setOutputProperty(OutputKeys.INDENT, "yes");
-    serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-    serializer.transform(new DOMSource(node), 
-                         new StreamResult(System.out));
-  }  
-  
-  /**
-   * A fuller example showing how the TrAX interface can be used 
-   * to serialize a DOM tree.
-   */
-  public static void exampleAsSerializer(String sourceID, String xslID)
-    throws TransformerException, TransformerConfigurationException, SAXException, IOException,
-    ParserConfigurationException
-  {
-    DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-    DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-    org.w3c.dom.Document outNode = docBuilder.newDocument();
-    Node doc = docBuilder.parse(new InputSource(sourceID));
-
-    TransformerFactory tfactory = TransformerFactory.newInstance(); 
-    
-    // This creates a transformer that does a simple identity transform, 
-    // and thus can be used for all intents and purposes as a serializer.
-    Transformer serializer = tfactory.newTransformer();
-    
-    Properties oprops = new Properties();
-    oprops.put("method", "html");
-    oprops.put("indent-amount", "2");
-    serializer.setOutputProperties(oprops);
-    serializer.transform(new DOMSource(doc), 
-                         new StreamResult(System.out));
-  }
-  
-
-  private static void  handleException( Exception ex ) {
-    System.out.println("EXCEPTION: " );
-    ex.printStackTrace();
-    
-    if( ex instanceof TransformerConfigurationException ) {
-      System.out.println();
-      System.out.println("Internal exception: " );
-      Throwable ex1=((TransformerConfigurationException)ex).getException();
-      ex1.printStackTrace();
-
-      if( ex1 instanceof SAXException ) {
-	  Exception ex2=((SAXException)ex1).getException();
-	  System.out.println("Internal sub-exception: " );
-	  ex2.printStackTrace();
-      }
-    }
-  }
-
-}
diff --git a/samples/trax/xml/baz.xml b/samples/trax/xml/baz.xml
deleted file mode 100644
index 9ecf473..0000000
--- a/samples/trax/xml/baz.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version='1.0'?>
-<foo:document 
-		  xmlns:foo="http://apache.org/foo"
-		  xmlns:bar="http://apache.org/bar">
-<bar:element>MyBaz</bar:element>
-</foo:document>
\ No newline at end of file
diff --git a/samples/trax/xml/foo.xml b/samples/trax/xml/foo.xml
deleted file mode 100644
index 79597ab..0000000
--- a/samples/trax/xml/foo.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version='1.0'?>
-<?xml-stylesheet type="text/xsl" href="../xsl/foo.xsl"?>
-<foo:document 
-		  xmlns:foo="http://apache.org/foo"
-		  xmlns:bar="http://apache.org/bar"
-		  file-name="test"
-         file-path="work"
-		  creation-date="971255692078">
-<bar:element>MyBar</bar:element>
-</foo:document>
\ No newline at end of file
diff --git a/samples/trax/xml/subdir1/foo2.xml b/samples/trax/xml/subdir1/foo2.xml
deleted file mode 100644
index 5708ae4..0000000
--- a/samples/trax/xml/subdir1/foo2.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version='1.0'?>
-<doc>text in foo2.xml</doc>
\ No newline at end of file
diff --git a/samples/trax/xml/subdir1/subdir2/foo3.xml b/samples/trax/xml/subdir1/subdir2/foo3.xml
deleted file mode 100644
index 77da1f0..0000000
--- a/samples/trax/xml/subdir1/subdir2/foo3.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version='1.0'?>
-<doc>text in foo3.xml</doc>
\ No newline at end of file
diff --git a/samples/trax/xsl/baz.xsl b/samples/trax/xsl/baz.xsl
deleted file mode 100644
index c1843b3..0000000
--- a/samples/trax/xsl/baz.xsl
+++ /dev/null
@@ -1,18 +0,0 @@
-<xsl:stylesheet 
-      xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
-    
-  <!-- same as foo.xsl but doesn't include the param because of a bug -->  
-  <xsl:template match="/">
-    <out>
-      <xsl:apply-templates/>
-    </out>
-  </xsl:template>
-      
-  <xsl:template 
-      match="@*|*|text()|processing-instruction()">
-    <xsl:copy>
-      <xsl:apply-templates 
-         select="@*|*|text()|processing-instruction()"/>
-    </xsl:copy>
-  </xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/trax/xsl/foo.xsl b/samples/trax/xsl/foo.xsl
deleted file mode 100644
index b13b945..0000000
--- a/samples/trax/xsl/foo.xsl
+++ /dev/null
@@ -1,27 +0,0 @@
-<xsl:stylesheet 
-      xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'
-      xmlns:bar="http://apache.org/bar"
-      exclude-result-prefixes="bar">
-      
-  <xsl:include href="inc1/inc1.xsl"/>
-      
-  <xsl:param name="a-param">default param value</xsl:param>
-  
-  <xsl:template match="bar:element">
-    <bar>
-      <param-val>
-        <xsl:value-of select="$a-param"/><xsl:text>, </xsl:text>
-        <xsl:value-of select="$my-var"/>
-      </param-val>
-      <data><xsl:apply-templates/></data>
-    </bar>
-  </xsl:template>
-      
-  <xsl:template 
-      match="@*|*|text()|processing-instruction()">
-    <xsl:copy>
-      <xsl:apply-templates 
-         select="@*|*|text()|processing-instruction()"/>
-    </xsl:copy>
-  </xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/trax/xsl/foo2.xsl b/samples/trax/xsl/foo2.xsl
deleted file mode 100644
index b04f5f0..0000000
--- a/samples/trax/xsl/foo2.xsl
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-                xmlns:bar="http://apache.org/bar">
-  
-  <xsl:template match="bar">
-    <out>
-      <xsl:value-of select="."/>
-    </out>
-  </xsl:template>
-  
-  <xsl:template match="text()">
-  </xsl:template>  
- 
-</xsl:stylesheet>
diff --git a/samples/trax/xsl/foo3.xsl b/samples/trax/xsl/foo3.xsl
deleted file mode 100644
index a1bf42a..0000000
--- a/samples/trax/xsl/foo3.xsl
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?> 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  
-  <xsl:template match="out">
-    <out>
-      <xsl:apply-templates/>
-    </out>
-  </xsl:template>
-  
-  <xsl:template match="text()">
-    <some-text><xsl:value-of select="."/></some-text>
-  </xsl:template>  
-   
-</xsl:stylesheet>
diff --git a/samples/trax/xsl/inc1/inc1.xsl b/samples/trax/xsl/inc1/inc1.xsl
deleted file mode 100644
index 04ebb25..0000000
--- a/samples/trax/xsl/inc1/inc1.xsl
+++ /dev/null
@@ -1,6 +0,0 @@
-<xsl:stylesheet 
-      xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
-      
-  <xsl:include href="inc2/inc2.xsl"/>
-  
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/samples/trax/xsl/inc1/inc2/inc2.xsl b/samples/trax/xsl/inc1/inc2/inc2.xsl
deleted file mode 100644
index 36728eb..0000000
--- a/samples/trax/xsl/inc1/inc2/inc2.xsl
+++ /dev/null
@@ -1,4 +0,0 @@
-<xsl:stylesheet 
-      xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
-  <xsl:variable name="my-var" select="'text from my-var in inc2.xsl'"/>
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/src/trax/trax.properties b/src/trax/trax.properties
deleted file mode 100644
index e593c39..0000000
--- a/src/trax/trax.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# $Revision$ $Date$
-#
-# Note: This properties file is provided for illustrative purposes
-#       only and is not part of the interface definition.
-#       This properties file is located in the implementation JAR
-#       and different implementations will specify different
-#       implementation classes and output methods.
-#
-
-# The TRaX Stylesheet processor
-trax.processor.xslt=org.apache.xalan.processor.StylesheetProcessor
diff --git a/todo.xsl b/todo.xsl
deleted file mode 100644
index 6ff8cac..0000000
--- a/todo.xsl
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:variable name="title" select="concat(todo/@project, ' ', todo/@major-version)"/>
-  <xsl:template match="/">
-    <HTML>
-      <HEAD>
-         <TITLE><xsl:value-of select="$title"/></TITLE>
-      </HEAD>
-      <BODY>
-
-        <H2><xsl:value-of select="concat($title, ': ', todo/@title)"/></H2>
-        <p><font size="-1">See a 
-          <xsl:element name="a">
-            <xsl:attribute name="href">#developer-list</xsl:attribute>
-            <xsl:text>list of developers/initials.</xsl:text>
-          </xsl:element>
-        </font></p>
-        <font size="-1"><p>Planned releases: 
-            <BR/><xsl:for-each select="todo/actions/target-release-description">
-              <xsl:element name="a">
-                <xsl:attribute name="href">#release-date-<xsl:value-of select="date"/></xsl:attribute>
-                <xsl:value-of select="date"/>
-              </xsl:element><xsl:text> </xsl:text><xsl:text> </xsl:text>
-            </xsl:for-each>
-            <xsl:element name="a">
-                <xsl:attribute name="href">#release-date-completed</xsl:attribute>
-                <xsl:text>Completed</xsl:text>
-              </xsl:element>
-
-        </p></font>
-        <xsl:for-each select="todo">
-          <xsl:for-each select="actions">
-              <xsl:for-each select="target-release-description">
-                <p>
-                  <xsl:apply-templates/>
-                </p>
-              </xsl:for-each>
-              <xsl:for-each select="action">
-                <xsl:if test="normalize-space(.)">
-                  <p>
-                   <xsl:number/>) <xsl:apply-templates/>
-                   <xsl:if test="@*">
-                    <BR/>
-                   </xsl:if>
-                   <xsl:apply-templates select="@*"/>
-                  </p>
-                </xsl:if>
-            </xsl:for-each>
-            <HR/>
-          </xsl:for-each>
-
-          <xsl:for-each select="completed">
-              <xsl:element name="a">
-                <xsl:attribute name="name">release-date-completed</xsl:attribute>
-                <H3>Completed: </H3>
-              </xsl:element>
-            <xsl:for-each select="action">
-              <xsl:if test="normalize-space(.)">
-                <p>
-                 <xsl:number/>) <xsl:apply-templates/>
-                 <xsl:if test="@*">
-                  <BR/>
-                 </xsl:if>
-                 <xsl:apply-templates select="@*"/>
-                </p>
-              </xsl:if>
-          </xsl:for-each>
-          <HR/>
-        </xsl:for-each>
-
-        <xsl:call-template name="developer-list"/>
-       </xsl:for-each>
-
-      </BODY>
-    </HTML>
-  </xsl:template>
-
-  <xsl:template match="action/@*">
-  <!-- Add link to the who attributes to corresponding item in developer-list -->
-    <b><xsl:value-of select="name(.)"/>:</b><xsl:text> </xsl:text>
-      <xsl:choose>
-        <xsl:when test="name(.)='who'">
-          <xsl:element name="a">
-            <xsl:attribute name="href">#personref-<xsl:value-of select="."/></xsl:attribute>
-            <xsl:value-of select="."/>
-          </xsl:element>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:value-of select="."/>
-        </xsl:otherwise>
-      </xsl:choose>
-    <xsl:if test="not (position()=last())">
-      <xsl:text>, </xsl:text>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/date">
-      <xsl:element name="a">
-        <xsl:attribute name="name">release-date-<xsl:value-of select="."/></xsl:attribute>
-        <b><xsl:text>For release: </xsl:text><xsl:value-of select="."/></b>
-      </xsl:element>
-    
-  </xsl:template>
-
-  <xsl:template match="issue">
-    <BR/><b>Issue </b><xsl:text>[</xsl:text><xsl:value-of select="@id"/>
-    <xsl:text>]: </xsl:text>
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/level">
-    <xsl:text>, </xsl:text><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="target-release-description/goal">
-    <BR/><b>Goal </b><xsl:text>[</xsl:text><xsl:value-of select="@type"/>
-    <xsl:text>]: </xsl:text>
-    <xsl:apply-templates/>
-  </xsl:template>
-
-
-  <xsl:template name="developer-list">
-    <H3>
-      <xsl:element name="a">
-        <xsl:attribute name="name">developer-list</xsl:attribute>
-        <xsl:text>Developers:</xsl:text>
-      </xsl:element>
-    </H3>
-    <p>A list of some of people currently working on working on <xsl:value-of select="/todo/@project"/>:</p>
-    <ul>
-    <xsl:for-each select="devs/person">
-      <li>
-        <a href="mailto:{@email}">
-          <xsl:value-of select="@name"/>
-        </a>
-         <xsl:element name="a">
-           <xsl:attribute name="name"><xsl:text>personref-</xsl:text><xsl:value-of select="@id"/></xsl:attribute>
-           <xsl:text> (</xsl:text><xsl:value-of select="@id"/><xsl:text>)</xsl:text>
-         </xsl:element>
-         <BR/><xsl:value-of select="."/>
-      </li>
-    </xsl:for-each>
-    </ul>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/trax_bugs.xml b/trax_bugs.xml
deleted file mode 100644
index cb6f9c5..0000000
--- a/trax_bugs.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<?xm-well_formed path="E:\xml-xalan\java\bugs.dtd"?>
-<!-- This should contain *only* SPRs (Software Problem Reports) for the TrAX API 
-     interfaces and classes. -->
-<Sprs><Spr><Name>TRAXSPR0001</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc>SAXTransformerFactoty#FEATURE should document support for all TransformerFactories.</TestDesc><Details><![CDATA[In SAXTransformerFactoty:
-
-    /** If {@link javax.xml.transform.TransformerFactory#getFeature}
-     * returns true when passed this value as an argument,
-     * the TransformerFactory returned from
-     * {@link javax.xml.transform.TransformerFactory#newInstance} may
-     * be safely cast to a SAXTransformerFactory.
-     */
-    public static final String FEATURE =
-
-I propose you remove the phrase "returned from
-TransforerFactory.newInstance". Isn't the intent that feature testing
-can be done on all TransformerFactories, regardless how they are
-created? It can be like this instead:
-
-    /** If {@link javax.xml.transform.TransformerFactory#getFeature}
-     * returns true when passed this value as an argument,
-     * the TransformerFactory can be safely cast to a
-     * SAXTransformerFactory.
-     */]]></Details></Spr><Spr><Name>TRAXSPR0002</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc>OutputKeys#method should document qname instead of qname-but-not-ncname</TestDesc><Details><![CDATA[In OutputKeys:
-
-    /**
-     * method = "xml" | "html" | "text" | <var>qname-but-not-ncname</var>.
-     *
-     * <p>The method attribute identifies the overall method that
-     * should be used for outputting the result tree.  Other
-     * non-namespaced values may be used,
-
-This is contradictary, change "qname-but-not-ncname" to "qname".]]></Details></Spr>
-<Spr><Name>TRAXSPR0003</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc></TestDesc><Details><![CDATA[]]></Details></Spr>
-<Spr><Name>TRAXSPR0004</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc></TestDesc><Details><![CDATA[]]></Details></Spr>
-<Spr><Name>TRAXSPR0005</Name>
-<DateCreated>11/15/2000</DateCreated>
-<State>Open</State>
-<TestDesc></TestDesc><Details><![CDATA[]]></Details></Spr>
-
-</Sprs>
diff --git a/xdocs/sources/design/compilation.gif b/xdocs/sources/design/compilation.gif
deleted file mode 100644
index 675d7d4..0000000
--- a/xdocs/sources/design/compilation.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/conceptual.gif b/xdocs/sources/design/conceptual.gif
deleted file mode 100644
index 283fee5..0000000
--- a/xdocs/sources/design/conceptual.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/data.gif b/xdocs/sources/design/data.gif
deleted file mode 100644
index 0f28a17..0000000
--- a/xdocs/sources/design/data.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/design2_0_0.xml b/xdocs/sources/design/design2_0_0.xml
deleted file mode 100644
index 02dd509..0000000
--- a/xdocs/sources/design/design2_0_0.xml
+++ /dev/null
@@ -1,277 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<s1 title="Xalan-J 2.0 Design">
-  <p><img src="xmllogo.gif" alt="xmllogo.gif"/></p>
-  <p>Author: Scott Boag<br/>State: In Progress</p>
-  <ul> 
-	   <li><link anchor="intro">Introduction</link></li>
- 	   <li><link anchor="requirements">Xalan Requirements</link></li>
-	   <li><link anchor="overarch">Overview of Architecture</link></li>
-	   <li><link anchor="process">Process Module</link></li>
-	   <li><link anchor="templates">Templates Module</link></li>
-	   <li><link anchor="transformer">Transformer Module</link></li>
-       <ul>
-         <li><link anchor="stree">Stree Module</link></li>
-         <li><link anchor="extensions">Extensions Module</link></li>
-     </ul>
-	   <li><link anchor="xpath">XPath Module</link></li>
-       <ul><li><link anchor="xpathdbconn">XPath Database Connection</link></li></ul>
-	   <li><link anchor="utils">Utils Package</link></li>         
-	   <li><link anchor="other">Other Packages</link></li>         
-	   <li><link anchor="compilation">Xalan Stylesheet Complilation to Java</link></li><li><link anchor="optimizations">Future Optimizations</link></li><li><link anchor="coding">Coding Conventions</link></li>
-	        
-   <li><jump href="../apidocs/index.html">Xalan-J 2.0 Javadoc</jump></li>
-  </ul><anchor name="intro"/>
-  <s2 title="Introduction"> 
-	 <p>This document presents the basic design for Xalan-J 2.0, which is a
-		<jump href="http://www.awl.com/cseng/titles/0-201-89542-0/techniques/refactoring.htm">refactoring</jump>
-		and redesign of the Xalan-J 1.x processor.   This document will expand and grow over time, and is also incomplete in some sections, though hopefully overall accurate.  The reader should be able to get a good overall idea of the internal design of Xalan, and begin to understand the process flow, and also the technical challenges.</p> 
-	 <p>The main goals of this redesign are
-		to: </p><ol> 
-		<li>Make the design and code more understandable by Open Source
-		  people.</li> 
-		<li>Reduce code size and complexity.</li>
-		<li>By simplifying the code, make optimization easier.</li> 
-		<li>Make modules generally more localized, and less tangled with other
-		  modules.</li> 
-		<li>Conform to the <jump href="http://java.sun.com/aboutJava/communityprocess/jsr/jsr_063_jaxp11.html">javax.xml.transform  (TrAX [Transformations for XML])</jump> interfaces.</li> 
-	 <li>Increase the ability to incrementally produce the result tree.</li></ol> 
-	 <p>The techniques used toward these goals are to:</p> 
-	 <ol> 
-		<li>In general, flatten the hierarchy of packages, in order to make the
-		  structure more apparent from the top-level view.</li> 
-		<li>Break the construction and the validation of the XSLT stylesheet from
-		  the stylesheet objects themselves.</li>
-		<li>Drive the construction of the stylesheet through a table, so that it
-		  is less prone to error.</li> 
-		<li>Break the transformation process into a separate package, away from
-		  the stylesheet objects.</li> 
-		<li>Create this design document, as a starting point for people interested in
-		  approaching the code.</li> 
-	 </ol> 
-	 <p>The goals are not:</p> 
-	 <ol> 
-		<li>To add more features in the progress of this refactoring. This is
-		  design and code clean-up in order to meet the above-named goals. We expect that it will be <em>much</em> easier to add
-		  features once this work is completed.</li> 
-		<li>To optimize code for the sake of optimization. However, we
-		  expect that the code will be faster once this work is complete.</li> 
-	 </ol> 
-	 <p>How well we've achieved the goals will be measured by feedback from the
-		<jump href="http://archive.covalent.net/">Xalan-dev</jump> list, and by software metrics tools.</p> 
-	 <p>Please note that the diagrams in this design document are meant to be
-		useful abstractions, and may not always be exact.</p> 
-  </s2><anchor name="requirements"/> 
-  <s2 title="Xalan Requirements">
-  <p>These are the concrete general requirements of Xalan, as I understand them, and covering both the Java and C++ versions.  These requirements have been built up over time by experience with product groups and general users.</p><ol><li>Java, C++ Versions.</li><li>XSLT 1.0 conformance, and beyond. (i.e. conform to the current W3C recommendation).</li><li>Have design and Code understandable by Open Source Community.</li><li>Ability to interoperate with standard APIs.  (SAX2, DOM2, JAXP)  [this is currently Less of an issue with C++].</li><li>High Performance (Raw performance, Incremental ability, Scaleability to large documents, Reduction of Garbage Collection for the Java version.)</li><li>Tooling API (Access stylesheet data structures, Access source node from result event, Ask runtime questions, Debugging API).</li><li>Support addressing of XML in standalone fashion (i.e. XPath API).</li><li>Extensibility (Ability to call Java, Ability to call JavaScript, other languages).</li><li>Multiple data sources (JDBC, LDAP, other data sources, Direct XML repository coupling).</li></ol></s2><anchor name="overarch"/> 
-  <s2 title="Overview of Architecture"> 
-	 <p>The following diagram shows the XSLT abstract processing model.  A transformation expressed in XSLT describes rules for transforming a <jump href="http://www.w3.org/TR/xpath#data-model">Source Tree </jump> into a result tree. The transformation is achieved by associating patterns with templates. A pattern is matched against elements in the source tree. A template is instantiated to create part of the result tree. The result tree is separate from the source tree. The structure of the result tree can be completely different from the structure of the source tree. In constructing the result tree, elements from the source tree can be filtered and reordered, and arbitrary structure can be added.
-
-</p><p>The term "tree", as used within this document, describes an
-			 abstract structure that consists of nodes or events that may be produced by
-			 XML. A Tree physically may be a DOM tree, a series of well balanced parse
-			 events (such as those coming from a SAX2 ContentHander), a series of requests
-			 (the result of which can describe a tree), or a stream of marked-up
-			 characters.</p><p><img src="xslt_abstract.gif" alt="xslt_abstract.gif"/></p><p>The primary interface for Xalan 2.0 external usage is defined in the <jump href="../apidocs/javax/xml/transform/package-summary.html#package_description">javax.xml.transform</jump> interfaces.  These interfaces define a standard and powerful interface to perform tree-based transformations.</p> 
-	 <p>The internal architecture of Xalan 2.0 is divided into four major modules, and various smaller
-		modules. The main modules are:</p> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/processor/package-summary.html">org.apache.xalan.processor</jump></label> 
-		<item>The module that processes the stylesheet, and provides the main
-		  entry point into Xalan.</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/templates/package-summary.html">org.apache.xalan.templates</jump></label> 
-		<item>The module that defines the stylesheet structures, including the
-		  Stylesheet object, template element instructions, and Attribute Value
-		  Templates. </item> 
-	 </gloss> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/transformer/package-summary.html">org.apache.xalan.transformer</jump></label> 
-		<item>The module that applies the source tree to the Templates, and
-		  produces a result tree.</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xpath/package-summary.html">org.apache.xpath</jump></label> 
-		<item>The module that processes both XPath expressions, and XSLT Match
-		  patterns.</item> 
-	 </gloss> 
-	 <p>In addition to the above modules, Xalan implements the
-		<jump href="../apidocs/javax/xml/transform/package-summary.html#package_description">javax.xml.transform</jump> interfaces, and depends on the
-	 <jump href="http://www.megginson.com/SAX/Java/index.html">SAX2</jump> and <jump href="http://www.w3.org/TR/DOM-Level-2/">DOM</jump> packages.
-</p><p><img src="trax.gif" alt="trax.gif"/></p><p>There is also a general utilities package that contains both XML utility
-	 classes such as QName, but generally useful classes such as
-	 StringToIntTable.</p> 
-	 <p>In the diagram below, the dashed lines denote visibility. All packages
-		access the SAX2 and DOM packages.</p> 
-	 <p><img src="xalan1_1x1.gif" alt="xalan1_1x1.gif"/></p> 
-	 <p>In addition to the above packages, there are the following additional
-		packages:</p> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/client/package-summary.html">org.apache.xalan.client</jump></label> 
-		<item>This package has a client applet. I suspect this should be moved
-		  into the samples directory.</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/extensions/package-summary.html">org.apache.xalan.extensions</jump></label> 
-		<item>This holds classes belonging to the Xalan extensions mechanism,
-		  which allows Java code and script to be called from within a stylesheet.</item>
-		
-	 </gloss> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/lib/package-summary.html">org.apache.xalan.lib</jump></label> 
-		<item>This is the built-in Xalan extensions library, which holds
-		  extensions such as Redirect (which allows a stylesheet to produce multiple
-		  output files).</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/res/package-summary.html">org.apache.xalan.res</jump></label> 
-		<item>This holds resource files needed by Xalan, such as error message
-		  resources.</item> 
-	 </gloss> 
-	  
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/trace/package-summary.html">org.apache.xalan.trace</jump></label> 
-		<item>This package contains classes and interfaces that allow a caller to
-		  add trace listeners to the transformation, allowing an interface to XSLT
-		  debuggers and similar tools.</item> 
-	 </gloss> 
-	 <gloss> 
-		<label><jump href="../apidocs/org/apache/xalan/xslt/package-summary.html">org.apache.xalan.xslt</jump></label> 
-		<item>This package holds the Xalan2 command line processor.</item> 
-	 </gloss> 
-  <p>A more conceptual view of this architecture is as follows:</p><p><img src="conceptual.gif" alt="Picture of conceptual architecture."/></p></s2><anchor name="process"/> 
-  <s2 title="Process Module"> 
-	 <p>The <jump href="../apidocs/org/apache/xalan/processor/package-summary.html">org.apache.xalan.processor</jump> module implements the
-		<jump href="../apidocs/javax/xml/transform/TransformerFactory.html">javax.xml.transform.TransformerFactory</jump> interface, which provides a
-		factory method for creating a concrete Processor instance, and provides methods
-		for creating a <jump href="../apidocs/javax/xml/transform/Templates.html">javax.xml.transform.Templates</jump> instance, which, in
-		Xalan and XSLT terms, is the Stylesheet. Thus the task of the process module is
-		to read the XSLT input in the form of a file, stream, SAX events, or a DOM
-		tree, and produce a Templates/Stylesheet object.</p> 
-	 <p>The overall strategy is to define a schema in that dictates the legal
-		structure for XSLT elements and attributes, and to associate with those
-		elements construction-time processors that can fill in the appropriate fields
-		in the top-level Stylesheet object, and also associate classes in the templates
-		module that can be created in a generalized fashion. This makes the validation
-		object-to-class associations centralized and declarative.</p> 
-	 <p>The schema's root class is
-		<jump href="../apidocs/org/apache/xalan/processor/XSLTSchema.html">org.apache.xalan.processor.XSLTSchema</jump>, and it is here that the
-		XSLT schema structure is defined. XSLTSchema uses
-		<jump href="../apidocs/org/apache/xalan/processor/XSLTElementDef.html">org.apache.xalan.processor.XSLTElementDef</jump> to define elements, and
-		<jump href="../apidocs/org/apache/xalan/processor/XSLTAttributeDef.html">org.apache.xalan.processor.XSLTAttributeDef</jump> to define attributes.
-		Both classes hold the allowed namespace, local name, and type of element or
-		attribute. The XSLTElementDef also holds a reference to a
-		<jump href="../apidocs/org/apache/xalan/processor/XSLTElementProcessor.html">org.apache.xalan.processor.XSLTElementProcessor</jump>, and a sometimes a
-		<code>Class</code> object, with which it can create objects that derive from
-		<jump href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html">org.apache.xalan.templates.ElemTemplateElement</jump>. In addition, the
-		XSLTElementDef instance holds a list of XSLTElementDef instances that define
-		legal elements or character events that are allowed as children of the given
-		element.</p> 
-	 <p>The implementation of the <jump href="../apidocs/javax/xml/transform/TransformerFactory.html">javax.xml.transform.TransformerFactory</jump>
-		interface is in <jump href="../apidocs/org/apache/xalan/processor/TransformerFactoryImpl.html">org.apache.xalan.processor.TransformerFactoryImpl</jump>,
-		which creates a <jump href="../apidocs/org/apache/xalan/processor/StylesheetHandler.html">org.apache.xalan.processor.StylesheetHandler</jump>
-		instance. This instance acts as the ContentHandler for the parse events, and is
-		handed to the <jump href="../apidocs/org/xml/sax/XMLReader.html">org.xml.sax.XMLReader</jump>, which the StylesheetProcessor
-		uses to parse the XSLT document. The <code>StylesheetHandler</code> then receives the parse
-		events, which maintains the state of the construction, and passes the events on
-		to the appropriate <code>XSLTElementProcessor</code> for the given event, as dictated by the
-		<code>XSLTElementDef</code> that is associated with the given event.</p> 
-	 </s2><anchor name="templates"/> 
-  <s2 title="Templates Module"> 
-	 <p>The <jump href="../apidocs/org/apache/xalan/templates/package-summary.html">org.apache.xalan.templates</jump> module implements the
-		<jump href="../apidocs/javax/xml/transform/Templates.html">javax.xml.transform.Templates</jump> interface, and defines a set of
-		classes that represent a Stylesheet. The primary purpose of this module is to
-		hold stylesheet data, not to perform procedural tasks associated with the
-		construction of the data, nor tasks associated with the transformation itself.
-		</p> 
-	 <p>The base class of all templates objects that are associated with an XSLT element is the <jump href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html">ElemTemplateElement</jump> object, which in turn implements <jump href="../apidocs/org/apache/xml/utils/UnImplNode.html">UnImplNode</jump>.  A <code>ElemTemplateElement</code> object must be immutable once it's constructed, so that it may be shared among multiple threads concurrently.  Ideally, a <code>ElemTemplateElement</code> should be a data object only, and be used via a visitor pattern.  However, in practice this is impractical, because it would cause too much data exposure and would have a significant impact on performance.  Therefore, each <code>ElemTemplateElement</code> class has an <jump href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html#execute(org.apache.xalan.transformer.TransformerImpl, org.w3c.dom.Node, org.apache.xml.utils.QName)">execute</jump> method where it performs it's transformation duties.  A <code>ElemTemplateElement</code> also knows it's position in the source stylesheet, and can answer questions about current namespace nodes.</p><p>A <jump href="../apidocs/org/apache/xalan/templates/StylesheetRoot.html">StylesheetRoot</jump>, which implements the
-		<code>Templates</code> interface, is a type of <jump href="../apidocs/org/apache/xalan/templates/StylesheetComposed.html">StylesheetComposed</jump>,
-		which is a <jump href="../apidocs/org/apache/xalan/templates/Stylesheet.html">Stylesheet</jump> composed of itself and all included
-		<code>Stylesheet</code> objects. A <code>StylesheetRoot</code> has a global
-		imports list, which is a list of all imported <code>StylesheetComposed</code>
-		instances. From each <code>StylesheetComposed</code> object, one can iterate
-		through the list of directly or indirectly included <code>Stylesheet</code>
-		objects, and one call also iterate through the list of all
-		<code>StylesheetComposed</code> objects of lesser import precedence.
-		<code>StylesheetRoot</code> is a <code>StylesheetComposed</code>, which is a
-		<code>Stylesheet</code>.</p> 
-	 <p>Each stylesheet has a set of properties, which can be set by various
-		means, usually either via an attribute on xsl:stylesheet, or via a top-level
-		xsl instruction (for instance, xsl:attribute-set). The get methods for these
-		properties only access the declaration within the given <code>Stylesheet</code>
-		object, and never takes into account included or imported stylesheets. The
-		<code>StylesheetComposed</code> derivative object, if it is a root
-		<code>Stylesheet</code> or imported <code>Stylesheet</code>, has "composed"
-		getter methods that do take into account imported and included stylesheets, for
-		some of these properties.</p> 
-	  
-  </s2><anchor name="transformer"/> 
-  <s2 title="Transformer Module"> 
-	 <p>The <jump href="../apidocs/org/apache/xalan/transformer/package-summary.html">Transformer</jump> module is in charge of run-time transformations.  The <jump href="../apidocs/org/apache/xalan/transformer/TransformerImpl.html">TransformerImpl</jump> object, which implements the TrAX <jump href="../apidocs/javax/xml/transform/Transformer.html">Transformer</jump> interface, and has an association with a <jump href="../apidocs/org/apache/xalan/templates/StylesheetRoot.html">StylesheetRoot</jump> object, begins the processing of the source tree (or provides a <jump href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html">ContentHandler</jump> reference via the <jump href="../apidocs/org/apache/xalan/stree/SourceTreeHandler.html">SourceTreeHandler</jump>), and performs the transformation.  The Transformer package does as much of the transformation as it can, but element level operations are generally performed in the <jump href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html#execute(org.apache.xalan.transformer.TransformerImpl, org.w3c.dom.Node, org.apache.xalan.utils.QName)">ElemTemplateElement.execute(...)</jump> methods.</p><p>Result Tree events are fed into a <jump href="../apidocs/org/apache/xalan/transformer/ResultTreeHandler.html">ResultTreeHandler</jump> object, which acts as a layer between the direct calls to the result 
-tree content handler (often a <jump href="../apidocs/org/apache/xalan/serialize/package-summary.html">Serializer</jump>), and the <code>Transformer</code>.  For one thing, 
- we have to delay the call to
- startElement(name, atts) because of the
- xsl:attribute and xsl:copy calls.  In other words,
- the attributes have to be fully collected before you
- can call startElement.</p><p>Other important classes in this package are:</p><gloss><label>CountersTable and Counter</label><item>The <jump href="../apidocs/org/apache/xalan/transformer/Counter.html">Counter</jump> class does incremental counting for support of xsl:number.
- This class stores a cache of counted nodes (m_countNodes). 
-  It tries to cache the counted nodes in document order... 
- the node count is based on its position in the cache list.  The <jump href="../apidocs/org/apache/xalan/transformer/CountersTable.html">CountersTable</jump> class is a table of counters, keyed by <jump href="../apidocs/org/apache/xalan/templates/ElemNumber.html">ElemNumber</jump> objects, each 
- of which has a list of <code>Counter</code> objects.</item></gloss><gloss><label>KeyIterator, KeyManager, and KeyTable</label><item>These classes handle mapping of keys declared with the xsl:key element.  They attempt to work incrementally, locating nodes on request but indexing all as they traverse the tree, and stopping when the requested node is found.  If a requested node is not found, then the entire tree will be traversed.  Such is the nature of xsl:key.</item></gloss><gloss><label>TransformState</label><item>This interface is meant to be used by a consumer of SAX2 events produced by Xalan, and enables the consumer 
- to get information about the state of the transform.  It 
- is primarily intended as a tooling interface.</item></gloss><p>Even though the following modules are defined in the <code>org.apache.xalan</code> package, instead of the transformer package, they are defined in this section as they are mostly related to runtime transformation.</p><anchor name="stree"/>
-  <s3 title="Stree Module [and discussions about streaming]">
-  <p>The Stree module implements the default <jump href="http://www.w3.org/TR/xpath#data-model">Source Tree </jump> for Xalan, that is to be transformed.  It implements read-only <jump href="http://www.w3.org/TR/DOM-Level-2/">DOM2</jump> interfaces, and provides some information needed for fast transforms, such as document order indexes.  It also attempts to allow an incremental transform by launching the transform on a secondary thread as soon as the SAX2 <jump href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html#startDocument()">StartDocument</jump> event has occurred.  When the transform requests a node, and the node is not present, the getFirstChild and GetNextSibling methods will wait until the child node has arrived, or an <jump href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html#endElement(java.lang.String,%20java.lang.String,%20java.lang.String)">endElement</jump> event has occurred.</p><p>Note that the secondary thread is an issue.  It would be better to do the same thing as described above on a single thread, but using the parser in 'pull' mode, or simply with a parseNext method so the parse would occur in blocks.  However, this model would only be possible</p><p>This kind of incrementality is not perfect because it still requires an entire source tree to be concretely built.  There have been a lot of good discussions on the xalan-dev list about how to do static analysis of a stylesheet, and be able to allocate only the nodes needed by the transform, while they are needed (or not allocate source objects at all).</p></s3>
-<anchor name="serializer"/>
-<s3 title="Serializer Module">
-<p>XML serialization is a term used for turning a tree or set of events into a stream, and should not be confused with Java object serialization.  The Xalan serializers implement the <jump href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html">ContentHandler</jump> to turn parser events coming from the transform, into a stream of XML, HTML, or plain text.  The serializers also implement the <jump href="../apidocs/org/apache/xalan/serializer/Serializer.html">Serializer</jump> which allows the transform process to set XSLT output properties and the output stream or Writer.</p></s3><anchor name="extensions"/>
-<s3 title="Extensions Module">
-<p>This package contains an implementation of Xalan Extension Mechanism, which uses the <jump href="http://oss.software.ibm.com/developerworks/opensource/bsf/">Bean Scripting Framework</jump>.
-
-The Bean Scripting Framework (BSF) is an architecture for incorporating scripting into Java applications and applets.  Scripting languages such as Netscape Rhino (Javascript), VBScript, Perl, Tcl, Python, NetRexx and Rexx can be used to augment XSLT's functionality.  In addition, the Xalan extension mechanism allows use of Java classes.  See the <jump href="http://xml.apache.org/xalan/extensions.html">Xalan-J 2 extension documentation</jump> for a description of using extensions in a stylesheet. Please note that the W3C XSL Working Group is working on a specification for standard extension bindings, and this module will change to follow that specification.  </p><p>[More needed... -sb]</p></s3></s2><anchor name="xpath"/> 
-  <s2 title="XPath Module"> 
-	 <p>This module is pulled out of the Xalan package, and put in the org.apache package, to emphasize that the intention is that this package can be used independently of the XSLT engine, even though it has dependencies on the Xalan utils module.</p><p><img src="org_apache.gif" alt="xalan ---> xpath"/></p> 
-  <p>The XPath module first compiles the XPath strings into expression trees, and then executes these expressions via a call to the XPath execute(...) function.  </p>  <p>Major classes are:</p><gloss><label>XPath</label><item>Represents a compiled XPath.  Major function is <code>XObject execute(XPathContext xctxt, Node contextNode, 
-                         PrefixResolver namespaceContext)</code>.</item></gloss><gloss><label>XPathAPI</label><item>The methods in this class are convenience methods into the
- low-level XPath API.</item></gloss><gloss><label>XPathContext</label><item>Used as the runtime execution context for XPath.</item></gloss><gloss><label>DOMHelper</label><item>Used as a helper for handling DOM issues.  May be subclassed to take advantage 
-   of specific DOM implementations.</item></gloss><gloss><label>SourceTreeManager</label><item>bottlenecks all management of source trees.  The methods
- in this class should allow easy garbage collection of source 
- trees, and should centralize parsing for those source trees.</item></gloss><gloss><label>Expression</label><item>The base-class of all expression objects, allowing polymorphic behaviors.</item></gloss><p>The general architecture of the XPath module is divided into the compiler, and categories of expression objects.</p><p><img src="xpath.gif" alt="xpath modules"/></p><p>The most important module is the axes module.  This module implements the DOM2 <jump href="http://www.w3.org/TR/DOM-Level-2/traversal.html#Iterator-overview">NodeIterator</jump> interface, and is meant to allow XPath clients to either override the default behavior or to replace this behavior.</p><p>The <jump href="../apidocs/org/apache/xpath/axes/LocPathIterator.html">LocPathIterator</jump> and <jump href="../apidocs/org/apache/xpath/axes/UnionPathIterator.html">UnionPathIterator</jump> classes implement the <jump href="http://www.w3.org/TR/DOM-Level-2/java-binding.html#org.w3c.dom.traversal.NodeIterator">NodeIterator</jump> interface, and polymorphically use <jump href="../apidocs/org/apache/xpath/axes/AxesWalker.html">AxesWalker</jump> derived objects to execute each step in the path.  The whole trick is to execute the <code>LocationPath</code> in depth-first document order so that nodes can be found without necessarily looking ahead or performing a breadth-first search.  Because a document order depth-first search requires state to be saved for many expressions, the default operations create "Waiter" clones that have to wait while the main <code>AxesWalkers</code> traverses child nodes (think carefully about what happens when a "//foo/baz" expression is executed).   Optimization is done by implementing specialized iterators and <code>AxesWalkers</code> for certain types of operations.  The decision as to what type of iterator or walker will be created is done in the <jump href="../apidocs/org/apache/xpath/axes/WalkerFactory.html">WalkerFactory</jump> class.</p><p>[Frankly, the implementation of the default AxesWalker, with it's waiters, is the one totally incomprehensible part of Xalan.  It gets especially difficult because you can not look to the node ahead.  I would be very interested if any rocket scientists out there can come up with a better algorithm.]</p><anchor name="xpathdbconn"/>
-<s3 title="XPath Database Connection">
-<p>An important part of the XPath design in both Xalan 1 and Xalan 2, is to enable database connections to be used as drivers directly to the XPath <jump href="http://www.w3.org/TR/xpath#location-paths">LocationPath</jump> handling.  This allows databases to be directly connected to the transform, and be able to take advantage of internal indexing and the like.  While in Xalan 1 this was done via the <jump href="http://xml.apache.org/xalan/apidocs/org/apache/xalan/xpath/XLocator.html">XLocator</jump> interface, in Xalan 2 this interface is no longer used, and has been replaced by the DOM2 <jump href="http://www.w3.org/TR/DOM-Level-2/traversal.html#Iterator-overview">NodeIterator</jump> interface.  An application or extension should be able to install their own NodeIterator for a given document.</p><p><img src="data.gif" alt="data.gif"/></p><p>[More to do]</p></s3></s2><anchor name="utils"/> 
-  <s2 title="Utils Package"> 
-  <p>This package contains general utilities for use by both the xalan and xpath packages.</p></s2><anchor name="other"/>
-  <s2 title="Other Packages"> 
-	 <gloss><label>client</label><item>Implementation of Xalan Applet [should we keep this?].
-
-</item></gloss> 
-		 
-		 
-		<gloss><label>lib</label><item>Implementation of Xalan-specific extensions.</item></gloss><gloss><label>res</label><item>Contains strings that require internationalization.</item></gloss></s2><anchor name="compilation"/>
-<s2 title="Xalan Stylesheet Complilation to Java">
-<p>We are doing some work on compiling stylesheet objects to Java.  This is a work in progress, and is not meant for general use yet.  For the moment, we are writing out Java text files, and then compiling them to bytecodes via javac, rather than directly producing bytecodes.  The CompilingStylesheetProcessor derives from TransformerFactoryImpl to produce these classes, which are then bundled into a jar file.  For the moment the full Xalan jar is required, but we're looking at ways to only use a subset of Xalan, so that only a minimal jar would be required.</p><p><img src="compilation.gif" alt="compilation.gif"/></p></s2><anchor name="optimizations"/>
-<s2 title="Future Optimizations">
-<p>This section enumerates some optimizations that we're planning to do in future versions of Xalan.</p><p>Likely near term optimizations (next six months?):</p><ol><li>By pre-analysis of the stylesheet, prune nodes from the tree that have been processed and can be predicted that they won't be visited again.</li><li>Eliminate redundent expressions (xsl:when, variable sets, rooted patterns, etc.).</li><li>Optimize variable patterns such as &lt;xsl:variable name="foo"&gt;&lt;xsl:variable select="yada"/&gt;&lt;/xsl:variable&gt; into &lt;xsl:variable name="foo" select="string(yada)"/&gt;, in order to reduce result tree fragment creation.</li><li>Reduce size of Stree nodes.</li><li>Implement our own NamespaceSupport class (the SAX2 one is too expensive).</li><li>More specialization of itterators and walkers.</li><li>Full Java compilation support.</li><li>Schema Awareness (if "//foo", the Schema can tell us where to look, but we need standard interface to Schemas).</li></ol><p>Likely longer term optimizations (12-18 months?):</p><ol><li>On-the-fly indexing.</li><li>Predict if nodes won't be processed at all, and so don't build them, achieve full streaming support for a certain class of stylesheets.</li></ol></s2><anchor name="coding"/> 
-  <s2 title="Coding Conventions"> 
-	 <p>This section documents the coding conventions used in the Xalan
-		source.</p> 
-	 <ol> 
-		<li>Class files are arranged with constructors and possibly an init()
-		  function first, public API methods second, package specific, protected, and
-		  private methods following (arranged based on related functionality), member
-		  variables with their getter/setter access methods last.</li> 
-		<li>Non-static member variables are prefixed with "m_".</li> 
-		<li>static final member variables should always be upper case, without
-		  the "m_" prefix. They need not have accessors.</li> 
-		<li>Private member variables that are not accessed outside the class need
-		  not have getter/setter methods declared.</li> 
-		<li>Private member variables that are accessed outside the class should
-		  have either package specific or public getter/setter methods declared. All
-		  accessors should follow the bean design patterns.</li> 
-		<li>Package-scoped member variables, public member variables, and
-		  protected member variables should not be declared.</li> 
-	 </ol> 
-  </s2><anchor name="open"/> 
-  
-</s1>
diff --git a/xdocs/sources/design/org_apache.gif b/xdocs/sources/design/org_apache.gif
deleted file mode 100644
index 105f264..0000000
--- a/xdocs/sources/design/org_apache.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/process.gif b/xdocs/sources/design/process.gif
deleted file mode 100644
index c7a871e..0000000
--- a/xdocs/sources/design/process.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/trax.gif b/xdocs/sources/design/trax.gif
deleted file mode 100644
index 8eb9614..0000000
--- a/xdocs/sources/design/trax.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xalan.gif b/xdocs/sources/design/xalan.gif
deleted file mode 100644
index ca4a57c..0000000
--- a/xdocs/sources/design/xalan.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xalan1_1x1.gif b/xdocs/sources/design/xalan1_1x1.gif
deleted file mode 100644
index c9e1536..0000000
--- a/xdocs/sources/design/xalan1_1x1.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xmllogo.gif b/xdocs/sources/design/xmllogo.gif
deleted file mode 100644
index b63188d..0000000
--- a/xdocs/sources/design/xmllogo.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xpath.gif b/xdocs/sources/design/xpath.gif
deleted file mode 100644
index cf28f9c..0000000
--- a/xdocs/sources/design/xpath.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/design/xslt_abstract.gif b/xdocs/sources/design/xslt_abstract.gif
deleted file mode 100644
index fa041a6..0000000
--- a/xdocs/sources/design/xslt_abstract.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/entities.ent b/xdocs/sources/entities.ent
deleted file mode 100644
index 2be2279..0000000
--- a/xdocs/sources/entities.ent
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml encoding="US-ASCII"?>
-
-<!ENTITY xslt4j "Xalan-Java">
-<!ENTITY xslt4j2 "Xalan-Java 2">
-<!ENTITY xslt4j-dist "xalan-j_2_3_D1">
-<!ENTITY xslt4j-dist-bin "&xslt4j-dist;-bin">
-<!ENTITY xslt4j-dist-src "&xslt4j-dist;-src">
-<!ENTITY xslt4j-current "&xslt4j; version 2.3.D1">
-<!ENTITY xslt4j-distdir "http://xml.apache.org/dist/xalan-j/">
-<!ENTITY xml4j "Xerces-Java">
-<!ENTITY xml4j1 "Xerces-Java 1">
-<!ENTITY xml4j2 "Xerces-Java 2">
-<!ENTITY xml4j-used "&xml4j; 2.0 (built from xml-xerces/java sources as of 2002-1-25 14:00)">
-<!ENTITY xml4j-jar "xercesImpl.jar (xerces.jar for &xml4j1;)">
-<!ENTITY xslt4c "Xalan-C++">
-<!ENTITY xml4c "Xerces-C++">
-<!ENTITY download "The &xslt4j-current; download from xml.apache.org includes xerces.jar from &xml4j-used;.">
-
-<!ENTITY xsltcwhatsnewhead '<li><link anchor="xsltc">XSLTC</link></li>'>
-                         
-<!ENTITY xsltcwhatsnew '<anchor name="xsltc"/><s2 title="XSLTC">
-                <p>In April 2001, Sun donated XSLTC to the Xalan project. XSLTC compiles stylesheets into translets and
-                provides a runtime environment for using translets to transform XML documents. Initially, XSLTC is
-                available in a separate JAR. Over time, we plan to integrate the two codebases. For more information,
-                see <link idref="xsltc_usage">Using XSLTC</link>, <link idref="readme" anchor="xsltcreleasenotes">XSLTC 
-                Release Notes</link>, and <jump href="xsltc/index.html">XSLTC Design</link>.</p>
-                </s2>'>
-                
-<!ENTITY xsltcreleasenotesentry '<li><link idref="xsltc_constraints">XSLTC Release Notes</link></li>'>
-<!ENTITY history2xsltc '<note>For XSLTC changes since XSLTC was incorporated into &xslt4j;, see 
-                        <link idref="xsltc_history">XSLTC software changes</link>.</note>'>
-
-<!ENTITY xsltcsampleshead '<li><link anchor="translets">translets</link></li>'>
-
-<!ENTITY xsltcsamples '<anchor name="translets"/><s2 title="Translets">
-                 <ul>
-                 <li><link anchor="xsltc1">JAXPTransletOneTransformation</link></li>
-                 <li><link anchor="xsltc2">JAXPTransletMultipleTransformations</link></li>
-                 </ul>
-                 <p>See also: <link idref="readme" anchor="xsltcdemos">XSLTC demos</link>.</p><anchor name="xsltc1"/>
-                 <p>You can use the TrAX/JAXP 1.1 interfaces to compile and run translets. For this release, you must still
-                 use StreamSource objects for the XSL stylesheet and XML input document, and a StreamResult object for the 
-                 transformation output. For an overview of the usage patterns these samples illustrate, see 
-                 <link idref="xsltc_usage" anchor="api">Calling XSLTC with the TrAX/JAXP API</link>.</p>
-                 <anchor name="xsltcprepare"/>
-                 <p><em>Important:</em> To run these samples, you must compile the sample class files and adjust the 
-                 system classpath.</p>
-                 <ol>
-                   <li>To compile the samples, you can run the Ant build from the root directory as follows:<br/><br/>
-                   <code>&nbsp;&nbsp;build xsltc.samples</code><br/><br/></li>
-                   <li>Add xsltc.jar, runtime.jar, BCEL.jar, java_cup.jar, and the samples/translets subdirectory to 
-                   the classpath</li>
-                 </ol>
-                 <note>The JAR files listed above are in the bin directory. 
-                 The samples/translets directory contains the sample class files as well as the translet class file that is
-                 generated at tun time (todo.class from the todo.xsl stylesheet).</note> 
-                 <anchor name="xsltc1"/>
-                 <s3 title="JAXPTransletOneTransformation">
-                 <p>What it does: Uses the XSLTC TransformerFactory to compile a translet and use
-                 the translet to transform the XSLTC to-do list from XML into HTML.</p>
-                 <p>Complete the <link anchor="xsltcprepare">steps detailed above</link>, and run this sample 
-                 from the translets subdirectory with</p>
-                 <p><code>java JAXPTransletOneTransformation</code></p>
-                 <p>View the result in todo-xsltc.html.</p>
-                 </s3><anchor name="xsltc2"/>
-                 <s3 title="JAXPTransletMultipleTransformations">
-                 <p>What it does: Uses the XSLTC TransformerFactory to compile a translet and use
-                 the Templates object associated with the translet to transform the XSLTC and Xalan to-do lists from XML 
-                 into HTML.</p>
-                 <p>Complete the <link anchor="xsltcprepare">steps detailed above</link>, and run this sample 
-                 from the translets subdirectory with</p>
-                 <p><code>java JAXPTransletOneTransformation</code></p>
-                 <p>View the results in todo-xsltc.html and todo-xalan.html.</p>                
-                 </s3>
-                 </s2>'>
-                
diff --git a/xdocs/sources/xalan-collate.xsl b/xdocs/sources/xalan-collate.xsl
deleted file mode 100644
index 7b8ee47..0000000
--- a/xdocs/sources/xalan-collate.xsl
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<xsl:template match ="/">
-  <documentation>
-    <chapter id="index"><xsl:copy-of select="document('xalan/dtm.xml')"/></chapter>  
-    <!--chapter id="index"><xsl:copy-of select="document('xalan/index.xml')"/></chapter>  
-    <chapter id="whatsnew"><xsl:copy-of select="document('xalan/whatsnew.xml')"/></chapter>
-    <chapter id="overview"><xsl:copy-of select="document('xalan/overview.xml')"/></chapter>
-    <chapter id="getstarted"><xsl:copy-of select="document('xalan/getstarted.xml')"/></chapter>
-    <chapter id="faq"><xsl:copy-of select="document('xalan/faq.xml')"/></chapter>
-    <chapter id="samples"><xsl:copy-of select="document('xalan/samples.xml')"/></chapter>
-    <chapter id="commandline"><xsl:copy-of select="document('xalan/commandline.xml')"/></chapter>
-    <chapter id="usagepatterns"><xsl:copy-of select="document('xalan/usagepatterns.xml')"/></chapter>
-    <chapter id="trax"><xsl:copy-of select="document('xalan/trax.xml')"/></chapter>
-    <chapter id="extensions"><xsl:copy-of select="document('xalan/extensions.xml')"/></chapter>
-    <chapter id="extensionslib"><xsl:copy-of select="document('xalan/extensionslib.xml')"/></chapter>
-    <chapter id="readme"><xsl:copy-of select="document('xalan/readme.xml')"/></chapter>
-    <chapter id="api">
-      <s1 title="Java API">
-        <p>Javadoc for the entire Xalan-Java API:</p>
-        <ul>
-          <li><jump href="apidocs/index.html">Xalan-Java 2 API</jump></li>
-          <li><jump href="compat_apidocs/index.html">Xalan-Java 1 compatibility API</jump></li>
-        </ul>         
-      </s1>
-    </chapter-->
-  </documentation>
-</xsl:template>
-</xsl:stylesheet>
-
-
diff --git a/xdocs/sources/xalan-jlocal.xml b/xdocs/sources/xalan-jlocal.xml
deleted file mode 100644
index 4c7b8a0..0000000
--- a/xdocs/sources/xalan-jlocal.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-
-<book title="Xalan XSL Transformer User's Guide" copyright="2002 The Apache Software Foundation">
-  <resources source="sbk:/sources/xalan/resources.xml"/>
-  <document id="whatsnew" label="What's New" source="xalan/whatsnew.xml"/>
-  <document id="dtm" label="DTM" source="xalan/dtm.xml"/>
-  <document id="xsltc_usage" label="XSLTC Translets" source="xalan/xsltc_usage.xml"/>
-  <separator/>
-  <document id="overview" label="Overview" source="xalan/overview.xml"/>
-  <document id="getstarted" label="Getting Started" source="xalan/getstarted.xml"/>
-  <separator/>
-  <faqs id="faq" label="FAQs" source="xalan/faq.xml"/>
-  <separator/>
-  <document id="samples" label="Sample Apps" source="xalan/samples.xml"/>
-  <document id="commandline" label="Command Line" source="xalan/commandline.xml"/>
-  <separator/>
-  <document id="usagepatterns" label="Usage Patterns" source="xalan/usagepatterns.xml"/>
-  <separator/>
-  <document id="trax" label="TrAX" source="xalan/trax.xml"/>
-  <external href="apidocs/index.html" label="API (Javadoc)"/>
-  <separator/>
-  <document id="extensions" label="Extensions" source="xalan/extensions.xml"/>
-  <document id="extensionslib" label="Extensions Library" source="xalan/extensionslib.xml"/>
-  <separator/>
-  <document id="readme" label="Release Notes" source="xalan/readme.xml"/>
-  <hidden id="history" source="xalan/history.xml"/>
-  <hidden id="xsltc_constraints" source="xalan/xsltc_constraints.xml"/>
-  <hidden id="xsltc_history" source="xalan/xsltc_history.xml"/>
-  <separator/>
-  <external href="design/design2_0_0.html" label="Xalan 2 Design"/>
-  <external href="xsltc/index.html" label="XSLTC Design"/>
-  <separator/>
-  <external href="readme.html#bugs" label="Bugs"/>
-  <external href="http://xml.apache.org/xalan-j/test/overview.html" label="Testing"/>
-  <separator/>
-  <external href="readme.html#developer-list" label="Credits"/>
-  <external href="xsltc/todo.html#developer-list" label="XSLTC Credits"/>  
-</book>
diff --git a/xdocs/sources/xalan-jsite.xml b/xdocs/sources/xalan-jsite.xml
deleted file mode 100644
index 441e0a1..0000000
--- a/xdocs/sources/xalan-jsite.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-
-<book title="Xalan XSL Transformer User's Guide" copyright="2002 The Apache Software Foundation">
-  <resources source="sbk:/sources/xalan/resources.xml"/>
-  <external href="../index.html" label="Home"/>
-  <separator/>
-  <document id="index" label="Xalan-J 2.3.D1" source="xalan/index.xml"/>
-  <document id="whatsnew" label="What's New" source="xalan/whatsnew.xml"/>
-  <document id="dtm" label="DTM" source="xalan/dtm.xml"/>  
-  <document id="xsltc_usage" label="XSLTC Translets" source="xalan/xsltc_usage.xml"/>
-  <separator/>
-  <document id="overview" label="Overview" source="xalan/overview.xml"/>
-  <document id="getstarted" label="Getting Started" source="xalan/getstarted.xml"/>
-  <separator/>
-  <faqs id="faq" label="FAQs" source="xalan/faq.xml"/>
-  <separator/>
-  <document id="samples" label="Sample Apps" source="xalan/samples.xml"/>
-  <document id="commandline" label="Command Line" source="xalan/commandline.xml"/>
-  <separator/>
-  <document id="usagepatterns" label="Usage Patterns" source="xalan/usagepatterns.xml"/>
-  <separator/>
-  <document id="trax" label="TrAX" source="xalan/trax.xml"/>
-  <external href="apidocs/index.html" label="API (Javadoc)"/>
-  <separator/>
-  <document id="extensions" label="Extensions" source="xalan/extensions.xml"/>
-  <document id="extensionslib" label="Extensions Library" source="xalan/extensionslib.xml"/>
-  <separator/>
-  <document id="readme" label="Release Notes" source="xalan/readme.xml"/>
-  <hidden id="history" source="xalan/history.xml"/>
-  <hidden id="xsltc_constraints" source="xalan/xsltc_constraints.xml"/>
-  <hidden id="xsltc_history" source="xalan/xsltc_history.xml"/>
-  <separator/>
-  <external href="design/design2_0_0.html" label="Xalan 2 Design"/>
-  <external href="xsltc/index.html" label="XSLTC Design"/>  
-  <separator/>
-  <external href="readme.html#bugs" label="Bugs"/>  
-  <external href="http://xml.apache.org/xalan-j/test/overview.html" label="Testing"/>
-  <separator/>
-  <external href="readme.html#developer-list" label="Credits"/>
-  <external href="xsltc/todo.html#developer-list" label="XSLTC Credits"/>      
-</book>
diff --git a/xdocs/sources/xalan/commandline.xml b/xdocs/sources/xalan/commandline.xml
deleted file mode 100644
index 6cc3602..0000000
--- a/xdocs/sources/xalan/commandline.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
- 
-
-<s1 title="Command-Line Utility">
-   
-   <s2 title="Using the Command-Line Utility">
-      <p>To perform a transformation, you can call &xslt4j; from the command line (or script), 
-      an applet, an application, or a servlet (see <link idref="usagepatterns">Usage Patterns</link>).</p>
-     <p>The org.apache.xalan.xslt.Process main() method provides a command-line interface
-    for performing XSL transformation. To perform a transformation from the command line or a script,
-    do the following:</p>
- 		<ol>
-    <li>Download &xslt4j;.<br/><br/></li> 
-    <li><link idref="getstarted" anchor="classpath">Set the Java classpath</link> to include xalan.jar, xml-apis.jar, and
-    &xml4j-jar; -- or another conformant XML Parser -- see <link idref="usagepatterns" anchor="plug">Plugging in 
-    the Transformer and XML parser</link>).<br/><br/></li>
-    <li>Call java and the Process class with the appropriate flags and
-    arguments (described below). The following command line, for example, includes the -IN, -XSL,
-    and -OUT flags with their accompanying arguments -- the XML source document, the XSL
-    stylesheet, and the output file:<br/><br/>
-    <code>java org.apache.xalan.xslt.Process -IN foo.xml -XSL foo.xsl -OUT foo.out</code>
-    </li></ol>
-    <p>The command line utility can take the following flags and arguments (the flags are case insensitive):</p> 
-      <source>-IN inputXMLURL
--XSL XSLTransformationURL
--OUT outputFileName
--V (Version info)
--QC (Quiet Pattern Conflicts Warnings)
-
--L (Use line numbers for source document)
--TT (Trace the templates as they are being called)
--TG (Trace each result tree generation event)
--TS (Trace each selection event)
--TTC (Trace the template children as they are being processed)
--EDUMP [optional]FileName (Do stackdump on error)
--XML (Use XML formatter and add XML header)
--TEXT (Use simple Text formatter)
--HTML (Use HTML formatter)
--PARAM name value (Set a stylesheet parameter)
--DIAG (Print number of milliseconds transform operation took)
--FLAVOR flavorName (Transform with SAX for s2s or DOM for d2d)
--URIRESOLVER fullClassName (Use a custom URIResolver)
--ENTITYRESOLVER fullClassName (Use a custom EntityResolver)
--CONTENTHANDLER fullClassName (Use a custom ContentHandler)
--INCREMENTAL (Request incremental transform by setting
-  http://xml.apache.org/xalan/features/incremental to true)
--NOOPTIMIZE (Request no optizimation of stylesheet processing
-  by setting http://xml.apache.org/xalan/features/optimize to
-  false)
--RL recursionLimit (Set numeric limit on depht of stylesheet 
-  recursion)
--L (Obtain a SourceLocator that can be used within stylesheet to 
-  report location of nodes within the XML source document)      
-</source>
-      <p>Use <code>-IN</code> to specify the XML source document.</p> 
-      <p>Use <code>-XSL</code> to specify the XSL stylesheet file.</p>
-      <p>Use <code>-TEXT</code> if you want the output to include only element values (not element tags with element names and
-      attributes).</p>
-      <p>Use <code>-HTML</code> to write 4.0 transitional HTML (some elements, such as &lt;br&gt;, are
-      not well formed XML).</p>
-      <p>To set stylesheet parameters from the command line, use <br/>
-      <code>java org.apache.xalan.xslt.Process -PARAM <ref>name value</ref></code></p>
-      <p>The value is passed to the transformer as a String.</p>
-      <p>For information about incremental and optimized stylesheet processing, see <link idref="dtm" anchor="settings">DTM settings</link>.</p>
-      <p>Use <code>-URIRESOLVER</code> with a fully qualified class name to utilize a custom implementation of the
-      <jump href="apidocs/javax/xml/transform/URIResolver.html">URIResolver</jump> TrAX interface to resolve URIs for
-       xsl:include, xsl:import, and the document() function.</p>
-       <p>Use <code>-ENTITYRESOLVER</code> with a fully qualified class name to utilize a custom implementation of the
-       <jump href="apidocs/org/xml/sax/EntityResolver.html">EntityResolver</jump> SAX interface to handle external entity references.</p>
-       <p>Use <code>-CONTENTHANDLER</code> with a fully qualified class name to utilize a custom implementation of the 
-       <jump href="apidocs/org/xml/sax/ContentHandler.html">ContentHandler</jump> SAX interface to serialize output.</p>
-       <note>If you want to validate an XML document (verify that it adheres to its DOCTYPE declatation), you can use the <link idref="samples" anchor="validateutility">Validate utility</link> shipped with &xslt4j-current;.</note>
-   </s2>
-</s1>
diff --git a/xdocs/sources/xalan/dtm.xml b/xdocs/sources/xalan/dtm.xml
deleted file mode 100644
index 25cdd09..0000000
--- a/xdocs/sources/xalan/dtm.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<s1 title="&xslt4j; DTM">
-<ul>
-  <li><link anchor="intro">Introduction</link></li>
-  <li><link anchor="settings">Performance settings</link></li>  
-</ul><anchor name="intro"/>
-<s2 title="Introduction">
-  <p>The Document Table Model (DTM) is an interface to a Document Model designed specifically for the needs of our XPath and XSLT 
-  implementations. The motivation behind this model is to optimize performance and minimize storage.</p>
-  <p>Specifically, DTM avoids the overhead of instantiating the objects the standard DOM requires to represent a tree of nodes. 
-  DTM uses unique integer "handles" to identify nodes, integer ID values to represent URLs, local names, and expanded names, and 
-  integer index and length references to a string buffer to represent the text value of each node.</p>
-  <p>In general, the "read" APIs to DTM resemble those of the W3C Document Object Model (<resource-ref idref="dom"/>) interface. 
-  However, in place of the DOM object tree of nodes, DTM uses integer arrays and string pools to represent the structure and content 
-  of the XML document to be transformed. DTM also structures the document's contents slightly differently, to better match the XPath 
-  data model; some details and constraints present in a standard DOM are suppressed, and a few XPath-specific features are added.</p>
-  <p>DTM is intended to be a read-only model, and so does not attempt to replicate the DOM's write or create-node operations.</p> 
-  <p>The details of constructing a DTM vary depending on which implementation of this API you are using. Two reference implementations are
-  currently available:</p>
-<ul>
-  <li>SAX2DTM (built via a SAX stream)</li>
-  <li>DOM2DTM (which provides DTM access to an existing DOM)</li>
-</ul> 
-  <p>Both DTMs can be built incrementally (see <link anchor="incremental">incremental transforms</link>). When operating incrementally, the
-  DTM allows the Xalan processor to begin reading the DTM and performing the transformation while the DTM is still being assembled 
-  (for example, while the parser is still parsing the XML source), and attempts to do only as much work as is needed to support the
-  read requests actually made by the XPath or XSLT processor.</p>
-  <p>For the convenience of user-written extensions, a proxy mechanism presents the contents of the DTM as a read-only subset of the DOM.</p>
-  </s2><anchor name="settings"/>
-  <s2 title="DTM performance settings">
-  <p>&xslt4j; implements two DTM performance features that you can control with the TransformerFactory
-  <jump href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute(String name, Object value)</jump>
-  method.</p>
-  <table>
-  <tr>
-    <th>Attribute name (URL)</th>
-    <th>Default setting</th>
-    <th>Description</th>
-  </tr>
-  <tr>
-    <td>"http://xml.apache.org/xalan/features/incremental"</td>
-    <td>false</td>
-    <td><link anchor="incremental">incremental transforms</link></td>
-  </tr>
-  <tr>
-    <td>"http://xml.apache.org/xalan/features/optimize"</td>
-    <td>true</td>
-    <td><link anchor="optimized">optimized transforms</link></td>
-  </tr>
-  </table>
-  <p>Both of these DTM settings are described below.</p>
-  <anchor name="incremental"/>
-  <s3 title="http://xml.apache.org/xalan/features/incremental">
-   <p>Set this feature to true to enable incremental transformations. If set to false (the default), the transform and the parse 
-   are performed on the same thread.</p>
-   <note> When set to true: If the parser is Xerces, we perform an
-incremental transform on a single thread using the Xerces
-   "parse on demand" feature. If the parser is not Xerces, we run the
-transform in one thread and the parse in another. Exception: if the
-   parser is not Xerces and the XML source is a DOMSource, setting this
-feature to true has no effect.</note>
-   <p>Example: setting incremental transforms to true:</p>
-   <source>javax.xml.transform.TransformerFactory tFactory =
-            javax.xml.transform.TransformerFactory.newInstance();
- // setAttribute() takes a String and an Object.            
-  tFactory.setAttribute
-            ("http://xml.apache.org/xalan/features/incremental", 
-             java.lang.Boolean.TRUE);
-  ...</source>
-  </s3><anchor name="optimized"/>
-  <s3 title="http://xml.apache.org/xalan/features/optimize">
-   <p>When set to true (the default), this feature enables optimizations that may involve structural rewrites of the stylesheet. 
-   Any tool that requires direct access to the stylesheet structure should set this feature to false.</p>
-</s3>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/extensions.xml b/xdocs/sources/xalan/extensions.xml
deleted file mode 100644
index 52dbf99..0000000
--- a/xdocs/sources/xalan/extensions.xml
+++ /dev/null
@@ -1,762 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-
-<s1 title="&xslt4j; Extensions">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="supported-lang">Supported languages</link></li>
-<li><link anchor="basic-pattern">The basic pattern</link></li>
-<li><link anchor="setup-runtime">Setting up the runtime environment</link></li>
-<li><link anchor="basic-syntax">Syntax</link></li>
-<li><link anchor="ext-elements">Using an extension element</link></li>
-<li><link anchor="ext-functions">Using extension functions</link></li>
-<li><link anchor="java-namespace">Alternative: using the abbreviated syntax for extensions implemented in Java</link></li>
-<li>Examples: <link anchor="ex-basic">basic JavaScript example</link>, <link anchor="ex-java-namespace">using the java namespace</link>, <link anchor="ex-java">using a Java Hashtable</link>, <link anchor="ex-javascript">using a JavaScript array</link></li>
-</ul><anchor name="intro"/>
-  <s2 title="Introduction">
-  <p>For those situations where you would like to augment the functionality of XSLT with calls to a procedural language, &xslt4j; supports the creation and use of extension elements and extension functions. &xslt4j; also provides a growing <link idref="extensionslib">extensions library</link> available for your use. An extension (a collection of elements and functions) inhabits a namespace, either a namespace you declare and designate as an extensions namespace, or one of the predefined namespaces that &xslt4j; provides. For information about XML namespaces, see <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</jump>.</p>
-
-<p><em>Extension elements</em>  Unlike a literal result element, which the stylesheet simply transfers to the result tree, an extension element performs an action. For example, you can use the Redirect extension elements shipped with &xslt4j; to redirect portions of your transformation output to one or more files. Extension elements may contain attributes, text nodes, other elements, basically any valid XML. Extension elements may perform quite sophisticated actions, given that the extension routine (the implementation) has direct access to the XSLT processor context object and to the element. In many cases the implementation returns void or null; if it does return a value, that value is placed in the transformation result tree.</p>
-
-<p><em>Extension functions</em>  You can think of extension functions as extending the core library of functions that XPath provides. An extension function passes arguments to the extension implementation and returns a value. You can use extension functions to return values that XSLT can interact with directly (node-set, result tree fragment, string, boolean, and number) as well as values (of any type) that you pass in turn to other extension functions. Extension functions written in Java can also access certain items in the XSLT execution environment through an <jump href="apidocs/org/apache/xalan/extensions/ExpressionContext.html">ExpressionContext</jump> interface.</p>
-
-<p>XSLT extensions are specified in the <jump href="http://www.w3.org/TR/xslt#extension">XSLT Recommendation</jump>.  This document focuses on the &xslt4j; implementation of those requirements, not on XSLT extensions in general. For additional information on extensions, consult the Recommendation or the other resources listed in <link idref="overview" anchor="uptospeed">Getting up to speed with XSLT</link>.</p>
-</s2><anchor name="supported-lang"/>
-<s2 title="Supported languages">
-<p>Extensions written in Java are directly supported by &xslt4j;.  For extensions written in languages other than Java, &xslt4j; uses the <resource-ref idref="bsf"/>, an architecture for incorporating scripting into Java applications and applets. BSF allows an application to take advantage of scripting while being independent of any specific scripting language. To date, we have tested extensions implemented in JavaScript. Other languages with BSF support appear in the table below.</p>
-<p>BSF requires bsf.jar on the classpath. This JAR file is shipped with &xslt4j; and is required only if you have extensions written in languages other than Java. The additional JAR files or DLLs required to support extensions written in other languages are listed in the table below. These files are available from the sources indicated and are not shipped with &xslt4j;.</p>
-<table>
-  <tr>
-    <td><em>Language</em></td>
-    <td><em>Version</em></td>
-    <td><em>Requirements</em></td>
-  </tr>
-  <tr>
-    <td>Mozilla Rhino (JavaScript)<br/><br/></td>
-    <td>1.5<br/><br/></td>
-    <td>js.jar available from 
-				    http://www.mozilla.org/rhino<br/><br/></td>
-  </tr>
-  <tr>
-    <td>NetRexx<br/><br/></td>
-    <td>1.148 up <br/><br/></td>
-    <td>NetRexxC.zip available from http://www2.hursley.ibm.com/netrexx<br/><br/></td>
-  </tr>
-    <tr>
-    <td>BML<br/><br/></td>
-    <td>2.4<br/><br/></td>
-    <td>bmlall.jar available from http://oss.software.ibm.com/developerworks/projects/bsf<br/><br/></td>
-  </tr>
-    <tr>
-    <td>JPython<br/><br/></td>
-    <td>1.1-beta3<br/><br/></td>
-    <td>python.jar available from http://www.jpython.org/<br/><br/></td>
-  </tr>
-    <tr>
-    <td>Jacl<br/><br/></td>
-    <td>1.1.1<br/><br/></td>
-    <td> jacl.jar and tcljava.jar from http://www.scriptics.com/java<br/><br/></td>
-  </tr>
-    <tr>
-    <td>Win32 ActiveScript langs
-	JScript, VBScript<br/><br/></td>
-    <td><br/><br/></td>
-    <td>MSVCP60.DLL from Microsoft, appropriate language DLLs from Microsoft 
-    http://msdn.microsoft.com/scripting<br/><br/></td>
-  </tr>
-    <tr>
-    <td>PerlScript<br/><br/></td>
-    <td><br/><br/></td>
-    <td>ActivePerl from http://www.activestate.com/<br/><br/></td>
-  </tr>  
-</table>
-</s2><anchor name="basic-pattern"/>
-<s2 title="The basic pattern">
-<p>Let's examine a simple example. The stylesheet below uses an extension element and an extension function to transform an element in the XML source into a statement in the output indicating the date by which a customer can expect a response to a given enquiry.</p>
-
-<p>The source element contains a numdays attribute. The extension element contains a multiplier attribute, which is used to set a variable in the extension. The extension function computes the deadline, that is the current date plus numdays * multiplier. So for &lt;deadline numdays="3"/&gt; (in the XML source) and &lt;my-ext:timelapse multiplier="2"/&gt; (in the stylesheet), the extension computes a deadline 6 days from now, and the stylesheet template transforms the deadline element into a string along the lines of <code>&lt;p&gt;We have logged your enquiry and will respond by April 29, 2000 12:07:16 PM EST.&lt;/p&gt;</code></p>
-<note>The extension function could include both numdays and multiplier as arguments, thus bypassing the need for the extension element, but the purpose here is to illustrate the usage pattern for extension elements.</note>
-<p>As you review this stylesheet, please note the following:</p>
-<ol>
-	  <li>The declaration of the Xalan lxslt namespace, which provides support for the component and
-     component/script elements:<br/><br/>
-    <code>xmlns:lxslt="http://xml.apache.org/xslt"</code><br/><br/></li>
-    <li>The declaration of a namespace for this extension:<br/><br/>
-    <code>xmlns:my-ext="ext1"</code><br/><br/></li>
-  	<li>The designation of this namespace prefix as an extension prefix. This causes any element in the namespace associated with this prefix to be treated as an extension element rather than a literal result element.<br/><br/>
-     <code>extension-element-prefixes="my-ext"</code><br/><br/></li>
-	  <li>The lxslt:component with attributes designating the namespace prefix and the elements and
-     functions this extension provides.<br/><br/></li>
-  	<li>The lxslt:script subelement with a JavaScript implementation of the extension. For Java
-     extensions, the lxslt:script element has a src attribute that you set to identify the Java class.</li>
-</ol><anchor name="ex-basic"/>   
-<source>&lt;?xml version="1.0"?&gt;
-&lt;!--Namespaces are global if you set them in the stylesheet element--&gt;
-&lt;xsl:stylesheet 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    version="1.0"   
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:my-ext="ext1"
-    extension-element-prefixes="my-ext"&gt;
-    
-  &lt;!--The component and its script are in the lxslt namespace and define the 
-    implementation of the extension.--&gt;
-  &lt;lxslt:component prefix="my-ext" elements="timelapse" functions="getdate"&gt;
-    &lt;lxslt:script lang="javascript"&gt;
-      var multiplier=1;
-      // The methods or functions that implement extension elements always take 2
-      // arguments. The first argument is the XSL Processor context; the second 
-      // argument is the element node.
-      function timelapse(xslProcessorContext, elem)
-      {
-        multiplier=parseInt(elem.getAttribute("multiplier"));
-        // The element return value is placed in the result tree.
-        // If you do not want a return value, return null.
-        return null;
-      }
-      function getdate(numdays)
-      {
-        var d = new Date();
-        var totalDays = parseInt(numdays) * multiplier;
-        d.setDate(d.getDate() + totalDays);
-        return d.toLocaleString();
-      }
-    &lt;/lxslt:script&gt;
-  &lt;/lxslt:component&gt;
-      
-  &lt;xsl:template match="deadline"&gt;
-    &lt;p&gt;&lt;my-ext:timelapse multiplier="2"/&gt;We have logged your enquiry and will 
-      respond by &lt;xsl:value-of select="my-ext:getdate(string(@numdays))"/&gt;.&lt;/p&gt;
-  &lt;/xsl:template>
-
-&lt;/xsl:stylesheet&gt;
-</source>
-</s2><anchor name="setup-runtime"/>
-<s2 title="Setting up the runtime environment">
-<p>To run the preceding example, bsf.jar and js.jar must be on the classpath. Remember that bsf.jar must be on the classpath to run any extension written in a language other than Java. For extensions implemented in a scripting language, see the additional requirements in <link anchor="supported-lang">Supported languages</link>.</p>
-</s2><anchor name="basic-syntax"/>
-<s2 title="Syntax">
-<p>You can always use the pattern illustrated above to set up and use extension elements and extension functions. For extension elements and functions implemented in Java, you can also use an abbreviated syntax, described in <link anchor="java-namespace">Alternative: using the abbreviated syntax for extensions implemented in Java</link>. Unless you are using the abbreviated syntax, do the following:</p>
-<s3 title="1. Declare the lxslt namespace">
-<p><br/><code>xmlns:lxslt="http://xml.apache.org/xslt"</code></p>
-<p>The lxslt namespace provides support for the lxslt:component element and lxslt:script subelement.</p>
-</s3>
-<s3 title="2. Declare a unique namespace for each extension prefix">
-<p><br/><code>xmlns:<ref>prefix</ref>=<ref>URI</ref></code></p>
-<p>The <ref>prefix</ref> identifies the namespace, and <ref>URI</ref> is an arbitrary (but unique) string that matches the value of the prefix attribute of an lxslt:component element in the stylesheet.<br/>
-Example: <code>xmlns:ext1="xyz"</code><br/><br/></p>
-</s3>
-<s3 title="3. If you are using extension elements, designate the extension element prefixes">
-<p><br/>This step is required only if you are using extension elements.  If you are using extension functions only, you can skip this step.</p>
-<p>In the stylesheet element, write:</p> 
-<p><code>extension-element-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code></p>
-<p>In a literal result element or extension element include the xsl prefix:</p>
-<p><code>xsl:extension-element-prefixes="<ref>prefix1 prefix2 ...</ref>"</code></p>
-<p>Keep in mind that where you declare namespaces and designate extension prefixes determines the scope of those namespaces.To make your extensions available throughout the stylesheet, include these settings and attribute in the stylesheet element.</p>
-</s3>
-<s3 title="4. (Optional) Exclude the extension namespace declaration from the result tree">
-<p><br/>By default, namespace declarations are included in the transformation output. To exclude namespaces from the output, use</p>
-<p><code>exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code></p>
-<p>in the stylesheet element or</p>
-<p><code>xsl:exclude-result-prefixes="<ref>prefix-1 prefix-2 ...</ref>"</code></p> 
-<p>in a literal result element or extension element.</p>
-</s3>
-<s3 title="5. Set up an lxslt:component">
-<p><br/>In the scope of the lxslt namespace declaration:</p>
-<p><code>&lt;lxslt:component prefix="<ref>prefix</ref>" </code><br/>
-   <code>&nbsp;&nbsp;&nbsp;&nbsp;functions="<ref>func-1 func-2 ...func-n</ref>"</code><br/> 
-   <code>&nbsp;&nbsp;&nbsp;&nbsp;elements="<ref>elem-1 elem-2 ...elem-n</ref>"&gt;</code><br/>
-   <code>&nbsp;&nbsp;&lt;!--See lxslt:script below--&gt;</code><br/>
-   <code>&lt;/lxslt:component&gt;</code></p>
-<p>where <ref>func-1 func-2 ... func-n</ref> and <ref>elem-1 elem-2 ... elem-n</ref> designate the functions and elements the extension provides and the stylesheet uses. You can use the function-available and element-available functions to determine at run time whether a function or element designated in the lxslt:component is actually available.</p>
-<note>If the component is implemented in Java, the values of the <code>functions</code> and <code>elements</code> attributes are ignored. The function-available and element-available functions use reflection to examine the actual Java methods.</note>
-</s3>
-<anchor name="setup-script"/>
-<s3 title="6. Set up the lxslt:script element">
-<p><br/>In each lxslt:component, you must include exactly one lxslt:script element. If the extension is implemented in JavaScript:</p>
-<p><code>&lt;lxslt:script lang="javascript" &gt;</code><br/>
-<code>&nbsp;&nbsp;&lt;!--The implementation script--&gt;</code><br/>
-<code>&lt;/lxslt:script&gt;</code></p>
-<p>For other scripting languages supported by BSF, use the same approach as for JavaScript. &xslt4j; plans to add support for using the src attribute to identify another document that contains the implementation script; this feature is not yet supported.</p>
-<p>If the extension is implemented in Java, you have three choices for the format of the src attribute in the lxslt:script element.</p>
-<p><code>&lt;lxslt:script lang="javaclass" src="xalan://<ref>FQCN</ref>"/&gt;</code>
-<br/>where <ref>FQCN</ref> is the fully qualified class name.
-<br/>Example: <code>&lt;lxslt:script lang="javaclass" src="xalan://java.util.Hashtable"/&gt;</code></p>
-<p><code>&lt;lxslt:script lang="javaclass" src="xalan://<ref>PJPN</ref>"/&gt;</code>
-<br/>where <ref>PJPN</ref> is the beginning of or the complete name of a java package.
-<br/>Example: <code>&lt;lxslt:script lang="javaclass" src="java.util"/&gt;</code></p>
-<p><code>&lt;lxslt:script lang="javaclass" src="http://xml.apache.org/xslt/java"/&gt;</code></p>
-<p>The different formats for the value of the src attribute when using Java extensions are more fully explained in <link anchor="java-namespace-declare">Declare the namespace</link>.</p>
-</s3>
-<s3 title="Implicit DTD for lxslt:component">
-<source>&lt;!ELEMENT lxslt:component (lxslt:script)&gt;
-&lt;!ATTLIST lxslt:component
-  prefix CDATA #REQUIRED
-  elements NMTOKENS #IMPLIED
-  functions NMTOKENS #IMPLIED&gt;
-
-&lt;!ELEMENT lxslt:script (#PCDATA | EMPTY)?&gt;
-&lt;!ATTLIST lxslt:script
-  lang CDATA #REQUIRED
-  src CDATA #IMPLIED&gt;</source>
-</s3>
-</s2><anchor name="ext-elements"/>
-<s2 title="Using an extension element">
-<p>Extension elements pass the extension two objects:</p>
-<ul>
-<li><jump href="apidocs/org/apache/xalan/extensions/XSLProcessorContext.html">org.apache.xalan.extensions.XSLProcessorContext</jump>, which provides access to the XSL processor, the XML source tree, the stylesheet tree, the current context node, and the current mode (if any).<br/><br/></li>
-<li><jump href="apidocs/org/apache/xalan/templates/ElemExtensionCall.html">org.apache.xalan.templates.ElemExtensionCall</jump>, which provides the API for interacting with the extension element.</li>
-</ul>
-<p>You can use the ElemExtensionCall getAttribute(String name) method, for example, to read element attributes in their raw form.  Use the getAttribute(String name, Node sourceNode, XSLTEngineImpl processor) method to evaluate the attribute as an attribute value template.  Note that the method names are the same but the method signatures are different.  For full details, see the <jump href="apidocs/org/apache/xalan/templates/ElemExtensionCall.html">Javadoc</jump> for the ElemExtensionCall class.</p>
-<s3 title="Implementing an extension element">
-<p>For each extension element in a namespace, the implementation must be a Java method with the following signature, or the scripting language equivalent:</p>
-<p><code><ref>Type element</ref>(org.apache.xalan.extensions.XSLProcessorContext, </code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.xalan.templates.ElemExtensionCall extensionElement)</code></p>
-<p>where <ref>Type</ref> designates the return type and <ref>element</ref> is the local part of the extension element name (the element name without the namespace prefix). In the method signature, you may also use superclasses of the indicated types.</p>
-<p>If the extension element is implemented in a loosely typed scripting language, such as JavaScript, the arguments and return value are untyped.</p>
-<p><em>Caution:</em> The value returned by an extension element is placed in the transformation result. If you are not interested in a return value, use a public void Java method or return null from a scripting language function.</p>
-<p>Java example: <code>public void myElement</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(org.apache.xalan.extensions.XSLProcessorContext, </code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.xalan.templates.ElemExtensionCall extensionElement)</code></p>
-<p>JavaScript example: <code>function myElement(xslProcContext, element)</code></p>
-<p>The <link idref="extensionslib" anchor="redirect">Redirect extension</link> in the extensions library contains three extension elements.</p>
-</s3>
-
-</s2><anchor name="ext-functions"/>
-<s2 title="Using extension functions">
-<p>Extension functions may include arguments of any type and return a value of any type.</p>
-<p>XSLT recognizes five data types: node-set, result-tree-fragment, string, boolean, and number. You can use XPath expressions to set variables with values of these types. You can also pass literals for string, boolean, and number arguments. If you want to pass an argument of a type that XSLT does not recognize, use another extension function to return an object of that type. The stylesheet that appears in <link anchor="format-date-stylesheet">Formatting a date</link>, for example uses extension functions to return a Date object and a SimpleDateFormat object, and then uses these objects to call another extension function.</p>
-<s3 title="Data type mapping and method selection">
-<p>When calling an extension function written in a language other than Java, objects of the following Java classes will always be passed to the extension function:</p>
-  <table>
-    <tr>
-      <th>XSLT Type</th>
-      <th>Java Type</th>
-    </tr>
-    <tr>
-       <td>Node-Set</td>
-       <td>org.w3c.dom.traversal.NodeIterator</td>
-    </tr>
-    <tr>
-       <td>String</td>
-       <td>java.lang.String</td>
-    </tr>
-    <tr>
-       <td>Boolean</td>
-       <td>java.lang.Boolean</td>
-    </tr>
-    <tr>
-       <td>Number</td>
-       <td>java.lang.Double</td>
-    </tr>
-    <tr>
-       <td>Result Tree Fragment</td>
-       <td>org.w3c.dom.DocumentFragment</td>
-    </tr>
-  </table>
-<p>Any non-XSLT type is passed without conversion.</p>
-<p>When calling an extension function written in Java, the extension function signature can specify any of the indicated Java types, as explained below:</p>
-  <table>
-    <tr>
-      <th>XSLT Type</th>
-      <th>Java Types</th>
-    </tr>
-    <tr>
-       <td>Node-Set</td>
-       <td>org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, org.w3c.dom.Node or its subclasses, java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean</td>
-    </tr>
-    <tr>
-       <td>String</td>
-       <td>java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean</td>
-    </tr>
-    <tr>
-       <td>Boolean</td>
-       <td>boolean, java.lang.Boolean, java.lang.Object, java.lang.String</td>
-    </tr>
-    <tr>
-       <td>Number</td>
-       <td>double, java.lang.Double, float, long, int, short,char, byte, boolean, java.lang.String, java.lang.Object</td>
-    </tr>
-    <tr>
-       <td>Result Tree Fragment</td>
-       <td>org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, org.w3c.dom.Node or its subclasses, java.lang.String, java.lang.Object, char, [double, float, long, int, short, byte,] boolean</td>
-    </tr>
-    <tr>
-       <td>Non-XSLT Type</td>
-       <td>the native type or any of its superclasses, double, float, long, int, short, char, byte, java.lang.String</td>
-    </tr>
-  </table>
-<p>When calling extension functions written in Java, &xslt4j; selects the method to call as follows:</p>
-<ol>
-  <li>&xslt4j; selects all methods whose name matches the extension function name as specified in <link anchor="ext-func-calls">Extension function Java calls</link>.</li>
-  <li>From this list of methods, &xslt4j; determines which methods are <ref>qualified</ref>.</li>
-  <li>Each qualified method is assigned a score based on the table shown above. To assign the score to a given method, &xslt4j; examines each of the XSLT argument types in the function invocation in the stylesheet. For each argument, the appropriate row in the table above is selected. Then, the corresponding Java parameter type in the method signature in the Java program is scored. Types which appear earlier in the list are given a higher score.  That is, the list appears in order of scoring preference from highest to lowest. Types shown in square brackets have equal priority.</li>
-  <li>The method with the highest score is invoked after the arguments are converted to the appropriate type. If more than one method has the highest score, an exception is thrown.</li>
-</ol>
-<p>Any extension function written in Java can have a first parameter of type <code>org.apache.xalan.extensions.ExpressionContext</code>. Any method with an ExpressionContext as the first parameter will score higher than any method which does not have an ExpressionContext as a first parameter.</p>
-</s3>
-
-<anchor name="ext-func-retval"/>
-<s3 title="Return values">
-<p>The &xslt4j; extension mechanism examines the class of the value returned from a function and converts the value into an XSLT type according to the following table:</p>
-  <table>
-    <tr>
-      <th>Java Types</th>
-      <th>XSLT Type</th>
-    </tr>
-    <tr>
-       <td>org.w3c.dom.traversal.NodeIterator<br/>org.apache.xml.dtm.DTM<br/>org.apache.xml.dtm.DTMAxisIterator<br/>org.apache.xml.dtm.DTMIterator<br/>org.w3c.dom.Node</td>
-       <td>Node-Set</td>
-    </tr>
-    <tr>
-       <td>java.lang.String</td>
-       <td>String</td>
-    </tr>
-    <tr>
-       <td>java.lang.Boolean</td>
-       <td>Boolean</td>
-    </tr>
-    <tr>
-       <td>java.lang.Number</td>
-       <td>Number</td>
-    </tr>
-    <tr>
-       <td>org.w3c.dom.DocumentFragment</td>
-       <td>Result Tree Fragment</td>
-    </tr>
-    <tr>
-       <td>org.apache.xpath.objects.XObject</td>
-       <td>Specified XSLT Type</td>
-    </tr>
-    <tr>
-       <td>All other classes</td>
-       <td>Non-XSLT Type</td>
-    </tr>
-  </table>
-  <p>Note that the above test is applied using <code>instanceof</code> so that any subclasses of the classes listed above will be treated the same as the listed superclass.  For example, a <code>java.lang.Double</code> will be treated the same as a <code>java.lang.Number</code> and will be converted to an XSLT Number.</p>
-  <note>The return value conversion can somtimes cause confusion.  For example, if your extension function returns an object that is a subclass of NodeIterator, that object will be converted by &xslt4j; to an XSLT Node-Set.  If you later attempt to treat that object as a non-XSLT object of your original class and try to invoke a method on that object, your method invocation will fail.</note>
-</s3>
-
-<anchor name="ext-func-calls"/>
-<s3 title="Extension function Java calls">
-<p>The technique for instantiating Java objects and calling Java methods depends on the format of the extension namespace that was declared.  See <link anchor="java-namespace-declare">Declare the namespace</link> for the three different formats of namespace declarations for Java extensions. For each namespace format, the section below describes how to instantiate an object, how to invoke an instance method, and how to invoke a static method. The sections below explain, for each syntax, which methods are <ref>qualified</ref> for method selection as described in the preceeding section.</p>
-<s4 title="Class format namespace">
-<p><br/><em>To create an instance of an object</em>:
-<br/><code><ref>prefix</ref>:new (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix. A new instance is to be created with the <ref>args</ref> constructor arguments (if any). All constructor methods are qualified for method selection.
-<br/>Example: <code>&lt;xsl:variable name="myType"</code>
-<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:new()"&gt;</code></p>
-
-<p><em>To invoke an instance method on a specified object</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, <ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> with the <ref>args</ref> arguments. <ref>object</ref> must be an object of the class indicated by the namespace declaration.  Otherwise, the case shown immediately below will apply. Only instance methods with  the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>object</ref> will be used to identify the object instance and <ref>args</ref> will be passed to the invoked method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:valueOf($myType, string(@population))"&gt;</code></p>
-
-<p><em>To invoke an instance method on a default object</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke with the <ref>args</ref> arguments. The first <ref>arg</ref>, if any, must not be an object of the class indicated by the namespace declaration.  Otherwise, the case shown immediately above will apply. Only instance methods with the name <ref>methodName</ref> are qualified methods. If a matching method is found, a default instance of the class will be created if it does not already exist.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:valueOf(string(@population))"&gt;</code></p>
-
-<p><em>To invoke a static method</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke with the <ref>args</ref> arguments. Only static methods with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>args</ref> will be passed to the invoked static method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:printit(string(@population))"&gt;</code></p>
-</s4>
-<s4 title="Package format namespace">
-<p><br/><em>To create an instance of an object</em>:
-<br/><code><ref>prefix</ref>:<ref>subpackage</ref>.<ref>class</ref>.new (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix, <ref>subpackage</ref> is the rest of the package name (the beginning of the package name was in the namespace declaration), and <ref>class</ref> is the name of the class. A new instance is to be created with the <ref>args</ref> constructor arguments (if any). All constructor methods are qualified for method selection.
-<br/>Example: <code>&lt;xsl:variable name="myType"</code>
-<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:extclass.new()"&gt;</code></p>
-
-<p><em>To invoke an instance method on a specified instance</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, <ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> with the <ref>args</ref> arguments. Only instance methods of the <ref>object</ref> with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>object</ref> will be used to identify the object instance and <ref>args</ref> will be passed to the invoked method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:valueOf($myType, string(@population))"&gt;</code></p>
-
-<p><em>To invoke a static method</em>:
-<br/><code><ref>prefix</ref>:<ref>subpackage</ref>.<ref>class</ref>.<ref>methodName</ref> (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix, <ref>subpackage</ref> is the rest of the package name (the beginning of the package name was in the namespace declaration), <ref>class</ref> is the name of the class, and <ref>methodName</ref> is the name of the method to invoke with the <ref>args</ref> arguments. Only static methods with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>args</ref> will be passed to the invoked static method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:extclass.printit(string(@population))"&gt;</code></p>
-<note>Unlike the class format namespace, there is no concept of a default object since the namespace declaration does not identify a unique class.</note>
-</s4>
-<s4 title="Java format namespace">
-<p><br/><em>To create an instance of an object</em>:
-<br/><code><ref>prefix</ref>:<ref>FQCN</ref>.new (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix for the Java namespace and <ref>FQCN</ref> is the fully qualified class name of the class whose constructor is to be called. A new instance is to be created with the <ref>args</ref> constructor arguments (if any). All constructor methods are qualified for method selection.
-<br/>Example: <code>&lt;xsl:variable name="myHash"</code>
-<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:java.util.Hashtable.new()"&gt;</code></p>
-
-<p><em>To invoke an instance method on a specified instance</em>:
-<br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, <ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix and <ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> with the <ref>args</ref> arguments. Only instance methods of the <ref>object</ref> with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>object</ref> will be used to identify the object instance and <ref>args</ref> will be passed to the invoked method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:put($myHash, string(@region), $newpop)"&gt;</code></p>
-
-<p><em>To invoke a static method</em>:
-<br/><code><ref>prefix</ref>:<ref>FQCN</ref>.<ref>methodName</ref> (<ref>args</ref>)</code></p>
-<p>where <ref>prefix</ref> is the extension namespace prefix, <ref>FQCN</ref> is the fully qualified class name of the class whose static method is to be called, and <ref>methodName</ref> is the name of the method to invoke with the <ref>args</ref> arguments. Only static methods with the name <ref>methodName</ref> are qualified methods. If a matching method is found, <ref>args</ref> will be passed to the invoked static method.
-<br/>
-Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:java.lang.Integer.valueOf(string(@population))"&gt;</code></p>
-<note>Unlike the class format namespace, there is no concept of a default object since the namespace declaration does not identify a unique class.</note>
-</s4>
-</s3>
-
-<s3 title="Passing Nodes to java">
-<p>Please keep in mind that <em>all</em> LocationPath expressions return a node-set, even if the expression only returns a single attribute or a text node (node-sets with one member). You can use the XSLT string() function (as in the syntax examples above) to convert a node-set value to string, and the number() function to convert a node-set value to number (a double).</p>
-<p>If you want to pass a node-set to an extension function, set up a Java method to accept an 
-org.w3c.dom.NodeList (or an org.apache.xpath.NodeSet, which implements NodeList, if you want to modify the nodes).</p>
-<p>Suppose, for example, you have a myExtensions.ProcessNodes class with the following doSomething method:</p>
-<p><code>public static boolean doSomething(org.w3c.dom.NodeList nList)</code></p>
-<p>Assuming you set up this extension in the node-ext namespace, any of the following extension calls from a stylesheet are syntactically possible:</p>
-<p><code>&lt;!--Process the current node--&gt;</code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(.)"/&gt;</code></p>
-<p><code>&lt;!--Process all nodes in current context--></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(*)"/&gt;</code></p>
-<p><code>&lt;!-- Process all nodes --></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(/*)"/&gt;</code></p>
-<p><code>&lt;!--Process the foo/baz nodes in current context --></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(foo/baz)"/&gt;</code></p>
-<p><code>&lt;!--Process the/foo/baz and /bar/saz nodes --></code><br/>
-<code>&lt;xsl:variable name="success" select="node-ext:MyExtensions.ProcessNodes.doSomething(/foo/baz | /bar/saz)"/&gt;</code></p>
-<p>The NodeList is in fact a list of references into the XML document, so keep in mind that getNextSibling(), for example, gets you the next sibling in the document, which may not be the next Node in the NodeList.</p>
-</s3>
-<s3 title="Implementing extension functions">
-<p>For each extension function in a namespace which is implemented in a language other than Java, the implementation must include a method with the following signature, or the scripting language equivalent:</p>
-<p><code>public <ref> object function</ref>(<ref>args</ref>)</code></p>
-<p>where <ref>object</ref> is the return type, <ref>function</ref> is the local part of the extension function name (the function name without the namespace prefix), and <ref>args</ref> correspond to the arguments in the function call.</p>
-<p>In addition, for extension functions implemented in Java, the implementation may include either a Java method with the signature shown above or one with the following signature:</p>
-<p><code>public <ref> object function</ref>(org.apache.xalan.extensions.ExpressionContext, <ref>args</ref>)</code></p>
-</s3>
-</s2><anchor name="java-namespace"/>
-<s2 title="Alternative: using the abbreviated syntax for extensions implemented in Java">
-<p>For extension functions and extension elements implemented in Java, Xalan permits an abbreviated syntax. When you use the abbreviated syntax, you do not use an lxslt:component to designate the functions.</p>
-<p>The abbreviated syntax supports the use of extension functions and extension elements implemented in Java. You cannot use this syntax with extensions implemented in JavaScript or another scripting language.</p>
-<anchor name="java-namespace-declare"/>
-<s3 title="Declare the namespace">
-<p>Declare the namespace for your extensions using one of the following three formats. The technique for invoking an extension for each format is explained in <link anchor="ext-func-calls">Extension function Java calls</link>.</p>
-<p><em>class format:</em> <code>xmlns:my-class="xalan://<ref>FQCN</ref>"</code></p>
-<p>where <ref>FQCN</ref> is the fully qualified class name.
-<br/>Examples: <code>xmlns:my-class="xalan://java.util.Hashtable"</code>
-<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>xmlns:my-class="xalan://mypackage.myclass"</code></p>
-<p><em>package format:</em> <code>xmlns:my-class="xalan://<ref>PJPN</ref>"</code></p>
-<p>where <ref>PJPN</ref> is a partial java package name.  That is, it is the beginning of or the complete name of a java package.
-<br/>Examples: <code>xmlns:my-package="xalan://java.util"</code>
-<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>xmlns:my-package="xalan://mypackage"</code></p>
-<p><em>Java format:</em> <code>xmlns:java="http://xml.apache.org/xslt/java"</code></p>
-<note>Although the namespace declarations for the class and package formats are shown with the xalan:// prefix, the current implementation for those formats will simply use the string to the right of the rightmost forward slash as the Java class name. This format, however, is the preferred format for extension namespace declarations.</note>
-<note>The class: prefix which was sometimes required in earlier versions of &xslt4j; is no longer required.</note>
-<note>These formats are also available when coding the src attribute of the lxslt:script element as explained in <link anchor="setup-script">Set up the lxslt:script element</link>.</note>
-</s3>
-<s3 title="Use the namespace when you make extension calls">
-<p>Use the declared prefix with the syntax described in <link anchor="ext-func-calls">Extension function Java calls</link>.</p>
-<p>That is all. You do not include an lxslt:component element. Using the abbreviated syntax clearly involves less setup than using the lxslt:component/lxslt:script approach.</p>
-<note>We recommend that, for extensions coded in Java, the abbreviated syntax should always be used since the lxslt:component/lxslt:script constructs add no functionality.</note>
-</s3><anchor name="ex-java-namespace"/> 
-<s3 title="Example: Formatting a date">
-<p>This example uses extension functions to call the SimpleDateFormat class and the IntDate class. IntDate uses String arguments to set up a Date object:</p>
-<source>import java.util.Date;
-import java.util.Calendar;
-
-public class IntDate
-{
-  public static Date getDate(String year, String month, String day)
-    {
-      // Date(int, int, int) has been deprecated, so use Calendar to
-      // set the year, month, and day.
-      Calendar c = Calendar.getInstance();
-      // Convert each argument to int.
-      c.set ( Integer.parseInt(year),
-              Integer.parseInt(month),
-              Integer.parseInt(day) );
-      return c.getTime();
-    }
-}</source>
-<p>The template transforms date elements with four attributes. For example, it transforms <code>&lt;date format="EEEE, MMM dd, yyyy" year="2000" month="4" day="27"/&gt;</code> into &lt;p&gt;Date: Thursday, April 27, 2000.&lt;/p&gt;.</p>
-<p>As you review this stylesheet, please keep the following in mind:</p>
- <ul>
-  <li>The exclude-result-prefixes stylesheet attribute prevents the java namespace declaration from
-   appearing in the output.</li>
-  <li>The XSLT type returned by any LocationPath expression is node-set, so the XSLT string
-    function is used to convert the format, year, month, and day attribute values from node-sets to
-    strings.</li>
-  <li>The format attribute provides a String argument for constructing a java.text.SimpleDateFormat
-    object.</li>
-    <li>The IntDate class uses String values provided by the year, month, and day attributes, to set the
-    date. XSLT can pass number values, but these are converted into doubles.</li>
-  <li>The formatter variable holds a SimpleDateFormat object, and the date variable holds a Date object.
-    XSLT does not understand either of these types, but they are used to call the SimpleDateFormat format
-     method. In that call, $formatter is the object, and $date is the argument. The syntax for calling
-     Java constructors and methods is described above in <link anchor="ext-func-calls">Extension function Java calls</link>.</li>    
- </ul><anchor name="format-date-stylesheet"/>   
-<source>&lt;?xml version="1.0"?&gt;
-&lt;xsl:stylesheet 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    version="1.0"   
-    xmlns:java="http://xml.apache.org/xslt/java"
-    exclude-result-prefixes="java"&gt;
-    
-  &lt;!--Other templates for transforming the rest of
-                                            the XML source documents--&gt;
-  
-  &lt;xsl:template match="date"&gt; 
-    &lt;xsl:variable name="year" select="string(./@year)"/&gt;
-    &lt;xsl:variable name="month" select="string(./@month)"/&gt; 
-    &lt;xsl:variable name="day" select="string(./@day)"/&gt;          
-    &lt;xsl:variable name="format" select="string(./@format)"/&gt;
-
-    &lt;xsl:variable name="formatter"       
-        select="java:java.text.SimpleDateFormat.new($format)"/&gt;
-
-    &lt;xsl:variable name="date" 
-        select="java:IntDate.getDate($year, $month, $day)"/&gt;
-
-    &lt;p&gt;Date: &lt;xsl:value-of select="java:format($formatter, $date)"/&gt;&lt;/p&gt;
-  &lt;/xsl:template&gt;
-&lt;/xsl:stylesheet&gt;  
-</source>
-</s3>
-</s2>
-<s2 title="Examples: using Java and JavaScript to implement the same extension">
-<p>This section contains two examples. The first example uses a Java extension to transform a set of name elements  into an alphabetical and numbered list. The second example uses a JavaScript script to do the same. Both examples include equivalent extension elements and an extension function.</p>
-<anchor name="ex-java"/> 
-<s3 title="Java implementation">
-<p>MyCounter.java</p>
-<source>Import java.util.*;
-
-public class MyCounter {
-  Hashtable counters = new Hashtable ();
-
-  public MyCounter () 
-  {}
-
-  public void init
-             ( org.apache.xalan.extensions.XSLProcessorContext context,
-               org.apache.xalan.templates.ElemExtensionCall extElem ) 
-  {
-    String name = extElem.getAttribute("name");
-    String value = extElem.getAttribute("value");
-    int val;
-    try 
-    {
-      val = Integer.parseInt (value);
-    } 
-    catch (NumberFormatException e) 
-    {
-      e.printStackTrace ();
-      val = 0;
-    }
-    counters.put (name, new Integer (val));
-  }
-
-  public int read(String name) 
-  {
-    Integer cval = (Integer) counters.get (name);
-    return (cval == null) ? 0 : cval.intValue ();
-  }
-
-  public void incr
-             ( org.apache.xalan.extensions.XSLProcessorContext context,
-               org.apache.xalan.templates.ElemExtensionCall extElem) 
-  {
-    String name = extElem.getAttribute("name");
-    Integer cval = (Integer) counters.get(name);
-    int nval = (cval == null) ? 0 : (cval.intValue () + 1);
-    counters.put (name, new Integer (nval));
-  }
-}
-</source>
-<p>An XML source document:</p>
-<source>&lt;?xml version="1.0"?&gt;
-&lt;doc&gt;
-  &lt;name first="David" last="Marston"/&gt;
-  &lt;name first="David" last="Bertoni"/&gt;
-  &lt;name first="Donald" last="Leslie"/&gt;
-  &lt;name first="Emily" last="Farmer"/&gt;
-  &lt;name first="Jack" last="Donohue"/&gt;
-  &lt;name first="Myriam" last="Midy"/&gt;
-  &lt;name first="Paul" last="Dick"/&gt;
-  &lt;name first="Robert" last="Weir"/&gt;
-  &lt;name first="Scott" last="Boag"/&gt;
-  &lt;name first="Shane" last="Curcuru"/&gt;
-&lt;/doc&gt;</source>
-<p>The stylesheet:</p>
-<source>&lt;?xml version="1.0"?&gt; 
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:counter="MyCounter"
-                extension-element-prefixes="counter"
-                version="1.0"&gt;
-
-  &lt;lxslt:component prefix="counter"
-                   elements="init incr" functions="read"&gt;
-    &lt;lxslt:script lang="javaclass" src="xalan://MyCounter"/&gt;
-  &lt;/lxslt:component&gt;
-
-  &lt;xsl:template match="/"&gt;
-    &lt;HTML&gt;
-      &lt;H1&gt;Names in alphabetical order&lt;/H1&gt;
-      &lt;counter:init name="index" value="1"/&gt;
-      &lt;xsl:for-each select="doc/name"&gt;
-        &lt;xsl:sort select="@last"/&gt;
-        &lt;xsl:sort select="@first"/&gt;
-        &lt;p&gt;
-        &lt;xsl:text&gt;[&lt;/xsl:text&gt;
-        &lt;xsl:value-of select="counter:read('index')"/&gt;
-        &lt;xsl:text&gt;]. &lt;/xsl:text&gt;
-        &lt;xsl:value-of select="@last"/&gt;
-        &lt;xsl:text&gt;, &lt;/xsl:text&gt;
-        &lt;xsl:value-of select="@first"/&gt;
-        &lt;/p&gt;
-        &lt;counter:incr name="index"/&gt;
-      &lt;/xsl:for-each&gt;
-    &lt;/HTML&gt;
-  &lt;/xsl:template&gt;
- 
-&lt;/xsl:stylesheet&gt;
-</source>
-<p>Transformation output:</p>
-<source>&lt;HTML&gt;
-&lt;H1&gt;Names in alphabetical order&lt;/H1&gt;
-&lt;p&gt;[1]. Bertoni, David&lt;/p&gt;
-&lt;p&gt;[2]. Boag, Scott&lt;/p&gt;
-&lt;p&gt;[3]. Curcuru, Shane&lt;/p&gt;
-&lt;p&gt;[4]. Dick, Paul&lt;/p&gt;
-&lt;p&gt;[5]. Donohue, Jack&lt;/p&gt;
-&lt;p&gt;[6]. Farmer, Emily&lt;/p&gt;
-&lt;p&gt;[7]. Leslie, Donald&lt;/p&gt;
-&lt;p&gt;[8]. Marston, David&lt;/p&gt;
-&lt;p&gt;[9]. Midy, Myriam&lt;/p&gt;
-&lt;p&gt;[10]. Weir, Robert&lt;/p&gt;
-&lt;/HTML&gt;</source>
-</s3><anchor name="ex-javascript"/> 
-<s3 title="JavaScript implementation">
-<p></p>
-<source>&lt;?xml version="1.0"?&gt; 
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:lxslt="http://xml.apache.org/xslt"
-                xmlns:counter="MyCounter"
-                extension-element-prefixes="counter"
-                version="1.0"&gt;
-
-  &lt;lxslt:component prefix="counter"
-                   elements="init incr" functions="read"&gt;
-    &lt;lxslt:script lang="javascript"&gt;
-      var counters = new Array();
-
-      function init (xslproc, elem) {
-        name = elem.getAttribute ("name");
-        value = parseInt(elem.getAttribute ("value"));
-        counters[name] = value;
-        return null;
-      }
-
-      function read (name) {
-        // Return a string.
-        return "" + (counters[name]);
-      }
-
-      function incr (xslproc, elem)
-      {
-        name = elem.getAttribute ("name");
-        counters[name]++;
-        return null;
-      }
-    &lt;/lxslt:script&gt;
-  &lt;/lxslt:component&gt;
-
-  &lt;xsl:template match="/"&gt;
-    &lt;HTML&gt;
-      &lt;H1&gt;Names in alphatebical order&lt;/H1&gt;
-      &lt;counter:init name="index" value="1"/&gt;
-      &lt;xsl:for-each select="doc/name"&gt;
-        &lt;xsl:sort select="@last"/&gt;
-        &lt;xsl:sort select="@first"/&gt;
-        &lt;p&gt;
-        &lt;xsl:text&gt;[&lt;/xsl:text&gt;
-        &lt;xsl:value-of select="counter:read('index')"/&gt;
-        &lt;xsl:text&gt;]. &lt;/xsl:text&gt;
-        &lt;xsl:value-of select="@last"/&gt;
-        &lt;xsl:text&gt;, &lt;/xsl:text&gt;
-        &lt;xsl:value-of select="@first"/&gt;
-        &lt;/p&gt;
-        &lt;counter:incr name="index"/&gt;
-      &lt;/xsl:for-each&gt;
-    &lt;/HTML&gt;
-  &lt;/xsl:template&gt;
- 
-&lt;/xsl:stylesheet&gt;
-</source>
-<p>This stylesheet produces the same output as the preceding example with the Java extension.</p>
-</s3>
-</s2>
-</s1>
diff --git a/xdocs/sources/xalan/extensionslib.xml b/xdocs/sources/xalan/extensionslib.xml
deleted file mode 100644
index e1598a0..0000000
--- a/xdocs/sources/xalan/extensionslib.xml
+++ /dev/null
@@ -1,486 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="Extensions library">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="xalanns">Xalan namespace</link></li>
-<li><link anchor="redirect">Redirect</link></li>
-<li><link anchor="nodeset">nodeset</link></li>
-<li><link anchor="intersection">intersection</link></li>
-<li><link anchor="difference">difference</link></li>
-<li><link anchor="distinct">distinct</link></li>
-<li><link anchor="hassamenodes">hasSameNodes</link></li>
-<li><link anchor="sql">SQL library</link></li>
-<li><link anchor="pipedocument">PipeDocument</link></li>
-<li><link anchor="evaluate">evaluate</link></li>
-<li><link anchor="tokenize">tokenize</link></li>
-<li><link anchor="groupitem">group and item</link> <ref>(to be done)</ref></li>
-<li><link anchor="type">type</link> <ref>(to be done)</ref></li>
-<li><link anchor="todate">toDate</link> <ref>(to be done)</ref></li>
-<li><link anchor="formatdate">formatDate</link> <ref>(to be done)</ref></li>
-<li><link anchor="grep">grep</link> <ref>(to be done)</ref></li>
-<li><link anchor="foreachtoken">forEachToken</link> <ref>(to be done)</ref></li>
-<li>Examples: <link anchor="ex-redirect">Redirect</link>, <link anchor="ex-nodeset">nodeset</link>, <link anchor="ex-sql">SQL library</link></li>
-</ul><anchor name="intro"/>
-<s2 title= "Introduction">
-<p>Extension elements and functions provide a powerful mechanism
-for extending and simplifying what you can do with an XLST processor like
-Xalan. With input and contributions from the XML open-source developer community, we are working on placing the most useful
-extensions in an extensions library distributed with &xslt4j;. If you have ideas and/or contributions you would like to make, please email us at the <human-resource-ref idref="xalandev"/>.</p>
-</s2><anchor name="xalanns"/>
-<s2 title="Xalan namespace">
-<p>Where it makes sense, we are placing the new Xalan extensions in the org.apache.xalan.lib.Extensions class and we have defined a namespace for this class:</p>
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http://xml.apache.org/xalan</code></p>
-<p>If you are calling &xslt4j;-supplied extensions, we recommend that you define this namespace in your stylesheet element, and call the extension using the namespace prefix that you have associated with that namespace. That way, if we later reorganize how the &xslt4j;-supplied extensions are stored, you won't have to modify your stylesheet.</p>
-<p>For an example that uses this namespace, see <link anchor="ex-nodeset">Example with the nodeset extension function</link>.</p>
-</s2><anchor name="redirect"/>
-<s2 title= "Redirect">
-<p>A standard XSL transformation involves an XSL stylesheet, an XML source tree, and the transformation result tree. The transformation sends the entire result to a single <jump href="apidocs/org/apache/trax/Result.html">org.apache.trax.Result</jump> object.</p> 
-<p>The Redirect extension 
-(<jump href="apidocs/org/apache/xalan/xslt/extensions/Redirect.html">org.apache.xalan.xslt.extensions.Redirect</jump>) supplies three extension elements that you can use to redirect portions of your transformation output to multiple files: &lt;open&gt;, &lt;write&gt;, and &lt;close&gt;. If you use the &lt;write&gt; element alone, the extension opens a file, writes to it, and closes the file immediately. If you want explicit control over the opening and closing of files, use &lt;write&gt; in conjunction with the &lt;open&gt; and &lt;close&gt; elements.</p>
-<p>Each of these elements includes a file attribute and/or a select attribute to designate the output file. The file attribute takes a string, so you can use it to directly specify the output file name. The select attribute takes an XPath expression, so you can use it to dynamically generate the output file name. If you include both attributes, the Redirect extension first evaluates the select attribute, and falls back to the file attribute if the select attribute expression does not return a valid file name.</p>
-<anchor name="ex-redirect"/> 
-<s3 title="Example with the Redirect extension">
-<p>Suppose you are outputting the bulk of your result tree to one file, but you want to output the transformation of all &lt;foo&gt; elements and their children to another file. The following example illustrates the basic structure of the XML source:</p>
-<source>&lt;?xml version="1.0"?&gt; 
-&lt;doc&gt;
-  &lt;foo file="foo.out"&gt;
-    Testing Redirect extension:
-      &lt;bar&gt;A foo subelement text node&lt;/bar&gt;
-  &lt;/foo&gt;
-  &lt;main&gt;
-    Everything else
-  &lt;/main&gt;  
-&lt;/doc&gt;</source>
-<p>This stylesheet redirects part of the output to a secondary file:</p>
-<source>
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    version="1.0"
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
-    extension-element-prefixes="redirect"&gt;
-
-  &lt;xsl:template match="/"&gt;
-    &lt;standard-out&gt;
-      Standard output:
-      &lt;xsl:apply-templates/&gt;
-    &lt;/standard-out&gt;
-  &lt;/xsl:template&gt;
-  
-  &lt;xsl:template match="main"&gt;
-    &lt;main&gt;
-      &lt;xsl:apply-templates/&gt;
-    &lt;/main&gt;
-  &lt;/xsl:template&gt;
-  
-  &lt;xsl:template match="/doc/foo"&gt;
-    &lt;redirect:write select="@file"&gt;
-      &lt;foo-out&gt;
-        &lt;xsl:apply-templates/&gt;
-      &lt;/foo-out&gt;
-    &lt;/redirect:write&gt;
-  &lt;/xsl:template&gt;
-  
-  &lt;xsl:template match="bar"&gt;
-    &lt;foobar-out&gt;
-      &lt;xsl:apply-templates/&gt;
-    &lt;/foobar-out&gt;
-  &lt;/xsl:template&gt;
-  
-&lt;/xsl:stylesheet&gt;</source>
-<p>The standard output is:</p>
-<source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;standard-out&gt;
-  Standard output:
-  &lt;main&gt;
-    Everything else.
-  &lt;/main&gt;
-&lt;standard-out&gt;</source>
-<p>The output redirected to foo.out is:</p>
-<source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;foo-out&gt;
-    Testing Redirect extension:
-    &lt;foobar-out&gt;foo subelement text node&lt;/foobar-out&gt;
-  &lt;/foo-out&gt;</source>
-<p>For more information on using the Redirect extension to send output to multiple files, examine the <link idref="samples" anchor="ext1">SimpleRedirect</link> sample and see the <jump href="apidocs/org/apache/xalan/lib/Redirect.html">Redirect</jump> class Javadoc.</p>  
-</s3></s2><anchor name="nodeset"/>
-<s2 title= "nodeset">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>nodeset (result-tree-fragment)</code>  casts a result tree fragment into a node-set.</p>
-<note>When you bind a variable to a template, rather than to the value generated by a select expression, the data type of the variable is result tree fragment. For more information, see <jump href="http://www.w3.org/TR/xslt#section-Result-Tree-Fragments">Result Tree Fragments</jump>.</note>
-<anchor name="ex-nodeset"/>
-<s3 title="Example with the nodeset extension function">
-<p>The following stylesheet uses the nodeset extension function to cast a result tree fragment into a node-set that can then be navigated in standard XPath manner. It uses the http://xml.apache.org/xalan namespace to provide access to the nodeset() method in xml.apache.xalan.lib.Extensions.</p>
-<source>&lt;?xml version="1.0"?&gt;
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-                   version="1.0"
-                   xmlns:xalan="http://xml.apache.org/xalan"
-                   exclude-result-prefixes="xalan"&gt;
-&lt;xsl:template match="/"&gt;
-  &lt;out&gt;
-	  &lt;xsl:variable name="rtf"&gt;
-      &lt;docelem&gt;
-        &lt;elem1&gt;
-          &lt;elem1a&gt;ELEMENT1A&lt;/elem1a&gt;
-          &lt;elem1b&gt;,ELEMENT1B&lt;/elem1b&gt;
-        &lt;/elem1&gt;
-        &lt;elem2&gt;
-          &lt;elem2a&gt;ELEMENT2A&lt;/elem2a&gt;
-        &lt;/elem2&gt;
-      &lt;/docelem&gt;
-    &lt;/xsl:variable&gt;     
-      &lt;xsl:for-each select="xalan:nodeset($rtf)/docelem//*"&gt;
-        &lt;xsl:value-of select="name(.)"/&gt;&lt;xsl:text&gt;,&lt;/xsl:text&gt;
-      &lt;/xsl:for-each>
-  &lt;/out>
-&lt;/xsl:template> 
-&lt;/xsl:stylesheet&gt;</source>
-<p>The output of running this stylesheet (with any XML input source) is a comma-delimited list of the element names in the node-set<br/>
-&nbsp;&nbsp;<code>&lt;out&gt;elem1,elem1a,elem1b,elem2,elem2a&lt;/out&gt;</code></p>
-<note>For illustration purposes, the preceding stylesheet pays no attention to the structure and content of the XML input document. Instead, it processes the template (in the stylesheet) bound to the variable named rtf.</note>
-
-</s3>
-</s2><anchor name="intersection"/>
-<s2 title="intersection">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>intersection (node-set1, node-set2)</code>  function returns a node-set with all nodes that are in ns1 and in ns2 .</p>
-</s2><anchor name="difference"/>
-<s2 title= "difference">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>difference(node-set1, node-set2)</code> returns a node-set with the nodes in node-set1 and not in node-set2.</p>
-</s2><anchor name="distinct"/>
-<s2 title= "distinct">
- <p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
- distinct (node-set) returns a node-set containing nodes with distinct string values. If more than one node in the node-set 
- contains the same text node value, distinct only returns the first of these nodes that it finds.</p>
-</s2><anchor name="hassamenodes"/>
-<s2 title= "hasSameNodes">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>hasSameNodes(node-set1, node-set2)</code> returns true if both node-set1 and node-set2 contain exactly the same set of nodes.</p>
-</s2><anchor name="sql"/>
-<s2 title= "SQL library">
-<note>For UML Diagrams of the SQL Library, see <jump href="http://xml.apache.org/xalan-j/Xalan-SQL-Extension/DiagramIndex.html">SQL Library UML Diagrams</jump>.</note>
-<ul>
-<li><link anchor="sqlconn">Setting up a connection</link></li>
-<li><link anchor="sqlparam">Parameterized queries</link></li>
-<li><link anchor="ex-sql">SQL library example</link></li>
-<li><link idref="samples" anchor="sql">SQL library sample applications</link></li>
-</ul>
-<p>Provides extension functions for connecting to a JDBC data source, executing a query,
-and working incrementally through a "streamable" result set. Streaming (reuse of a single row node to traverse the result set) is the default mode of operation. If you want unlimited access to the entire result set, you can cache the query result set (1 row node for each row in the result set).</p>
-<p><em>If you use streaming mode (the default), you can only access row elements one at a time moving forward through the result set. The use of XPath expressions in your stylesheet, for example, that attempt to return nodes from the result set in any other manner may produce unpredictable results.</em></p>
-<note>Many features of the SQL library, including support for connection pools, parameterized queries, caching, and added support for extracting connection information and query parameters from XML source documents exist thanks to John Gentilin (johnglinux@eyecatching.com), who has also added a number of <link idref="samples" anchor="sql">SQL library samples</link>.</note>
-<p><jump href="apidocs/org/apache/xalan/lib/sql/XConnection.html">org.apache.xalan.lib.sql.XConnection</jump> provides a number of extension functions that you can use in your stylesheet.</p>
-    <ol>
-      <li>new() -- Use one of the XConnection constructors to connect to a data source, and return an XConnection
-       object. You can use one of the constructors creates a connection pool from which stylesheets can obtain connections 
-       to a datasource. To support connection pools, SQL library includes a ConnectionPool interface and a implementation:
-       DefaultConnectionPool. You can also provide your own ConnectionPool implementation.<br/><br/></li>
-      <li>query() -- Use the XConnection object query() method to return a "streamable" result set in the form of a row-set
-       node. Work your way through the row-set one row at a time. The same row element is used over and over again, so you can
-       begin "transforming" the row-set before the entire result set has been returned.<br/><br/></li>
-       <li>pquery(), addParameter(), addParameterFromElement(), clearParameters() -- Use the XConnection pquery() method in 
-       conjunction with these other methods to set up and execute parameterized queries.<br/><br/></li>
-       <li>Use enableStreamingMode() to use a single row node to "stream" through the result set, and disableStreamingMode()
-        to cache the query result set. <br/><br/></li>
-      <li>close() -- Use the XConnection object close() method to terminate the connection.</li>      
-    </ol>
-    <p>The query() and pquery() extension functions return a Document node that contains (as needed) an array of column-header elements, 
-    a single row element that is used repeatedly, and an array of col elements. Each column-header element (one per column in
-    the row-set) contains an attribute (ColumnAttribute) for each of the column descriptors in the ResultSetMetaData object. 
-    Each col element contains a text node with a textual representation of the value for that column in the current row.</p>
-    <anchor name="sqlconn"/>
-    <s3 title="Setting up a connection">
-    <p>You can place connection information (JDBC driver, datasource URL, and usually user ID and password) in stylesheets or
-     in XML source documents.</p> 
-     <p>The following stylesheet fragment uses stylesheet parameters to designate a JDBC driver and datasource. The default
-     parameter values can be overridden with runtime parameter values.</p>
-     <source>&lt;xsl:param name="driver" select="'org.enhydra.instantdb.jdbc.idbDriver'"/&gt;
-&lt;xsl:param name="datasource" select="'jdbc:idb:../../instantdb/sample.prp'"/&gt;
-&lt;xsl:param name="query" select="'SELECT * FROM import1'"/&gt;</source>
-      <p>You can also obtain connection information from the XML source document that you use for the transformationl. Suppose 
-      you have the following DBINFO nodeset in an XML document:</p>
-      <source>&lt;DBINFO&gt;
-  &lt;dbdriver&gt;org.enhydra.instantdb.jdbc.idbDriver&lt;/dbdriver&gt;
-  &lt;dburl&gt;jdbc:idb:../../instantdb/sample.prp&lt;/dburl&gt;
-  &lt;user&gt;jbloe&lt;/user&gt;
-  &lt;password&gt;geron07moe&lt;/password&gt;
-&lt;/DBINFO&gt;</source>
-       <p>In the stylesheet, you can extract this information as follows:</p>
-       <source>&lt;xsl:stylesheet version 1.0
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extension-element-prefixes="sql"&gt;
-&nbsp;&nbsp;&lt;xsl:param name="cinfo" select="//DBINFO"/&gt;
-&nbsp;&nbsp;&lt;xsl:variable name="db" select="sql:new($cinfo)"/&gt;
-....</source> 
-      <p>For an example of both approaches, see <link idref="samples" anchor="basic-conn">Basic Connection</link> samples.</p>
-      <p>You can also create a named connection pool that is maintained external to &xslt4j;.</p>
-      <source>import org.apache.xalan.lib.sql.DefaultConnectionPool;
-import org.apache.xalan.lib.sql.XConnectionPoolManager;
-...
-DefaultConnectionPool cp = new DefaultConnectionPool();
-cp.setDriver("org.enhydra.instantdb.jdbc.idbDriver");
-cp.setURL("jdbc:idb:../../instantdb/sample.prp");
-cp.setUser("jbloe");
-cp.setPassword("geron07moe");
-// Start with 10 connections.
-cp.setMinConnections(10);
-cp.enablePool();
-// Register the connection pool so stylesheets can use it.
-XConnectionPoolManager pm = new XConnectionPoolManager();
-pm.registerPool("extpool", cp);</source>
-      <p>A stylesheet can use this connection pool as follows:</p>
-      <source>&lt;xsl:stylesheet version 1.0
-     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-     xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-     extension-element-prefixes="sql"&gt;
-...
-  &lt;xsl:variable name="db" select="sql:new($driver, 'extpool')"/&gt;</source>
-      <p>For an example, see the <link idref="samples" anchor="ext-conn">ExternalConnection</link> sample.</p>
-    </s3><anchor name="sqlparam"/>
-    <s3 title="Parameterized queries">
-      <p>To define a parameterized query, use a SQL query string with a question mark (?) for each parameter. You can provide 
-      the parameter values at runtime with stylesheet parameters or with nodes in the XML source document. For each parameter, 
-      you should also designate the SQL data type.</p>
-      <p>XConnection provides a number of addParameter() methods and an addParameterFromElement() method that you can use 
-      as extension functions to pull in the parameter values (in the order the parameters appear in the query). To
-      execute the query and return the result set, call the pquery() method as an extension function. There are two variations 
-      of the pquery() method. The one you should ordinarily use includes as arguments the SQL query string and a string list 
-      (delimited by the space, tab, or line feeds) of parameter types. For example:</p>
-      <source>&lt;xsl:variable name="resultset" 
-        select=sql:pquery($XConnectionObj, 
-                          'select * from X where Y = ? and Z = ?',
-                          'int string')"/&gt;</source>
-      <p>For a complete example, see the <link idref="samples" anchor="pquery">Parameterized query</link> sample.</p>
-  </s3><anchor name="ex-sql"/> 
-    <s3 title="Example with SQL library">
-    <p>This example displays the result set from a table in a sample InstantDB database. It is also
-    available as a sample application; see <link idref="samples" anchor="ext6">6-sqllib-instantdb</link>.</p>
-<source>&lt;?xml version="1.0"?&gt;
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0"
-                xmlns:sql="org.apache.xalan.lib.sql.XConnection"
-                extension-element-prefixes="sql"&gt;
-  &lt;xsl:output method="html" indent="yes"/&gt;
-  &lt;xsl:param name="query" select="'SELECT * FROM import1'"/&gt;
- 
-  &lt;xsl:template match="/"&gt;
-    &lt;!-- 1. Make the connection --&gt;
-    &lt;xsl:variable name="products"
-                  select="sql:new('org.enhydra.instantdb.jdbc.idbDriver',
-                                'jdbc:idb:.\instantdb\sample.prp')"/&gt;
-    &lt;HTML&gt;
-      &lt;HEAD&gt;
-      &lt;/HEAD&gt;
-      &lt;BODY&gt;
-        &lt;TABLE border="1"&gt;
-        &lt;!--2. Execute the query --&gt;
-        &lt;xsl:variable name="table" select='sql:query($products, $query)'/&gt;
-          &lt;TR&gt;
-          &lt;!-- Get column-label attribute from each column-header--&gt;
-          &lt;xsl:for-each select="$table/sql/metadata/column-header"&gt;
-            &lt;TH&gt;&lt;xsl:value-of select="@column-label"/&gt;&lt;/TH&gt;
-          &lt;/xsl:for-each&gt;
-          &lt;/TR&gt;
-          &lt;xsl:apply-templates select="$table/sql/row-set/row"/&gt;
-          &lt;xsl:text&gt;&amp;#10;&lt;/xsl:text&gt;
-        &lt;/TABLE&gt;
-      &lt;/BODY&gt;
-    &lt;/HTML&gt; 
-    &lt;!-- 3. Close the connection --&gt;
-    &lt;xsl:value-of select="sql:close($products)"/&gt;
-  &lt;/xsl:template&gt;
-
-  &lt;xsl:template match="row"&gt;
-        &lt;TR&gt;
-          &lt;xsl:apply-templates select="col"/&gt;
-        &lt;/TR&gt;
-  &lt;/xsl:template&gt;
-
-  &lt;xsl:template match="col"&gt;
-    &lt;TD&gt;
-      &lt;!-- Here is the column data -->
-      &lt;xsl:value-of select="text()"/>
-    &lt;/TD>
-  &lt;/xsl:template>
-
-&lt;/xsl:stylesheet&gt;
-</source>
-</s3>
-  
-  </s2><anchor name="pipedocument"/>
-  <s2 title="pipeDocument">
-  <p>Implemented in <jump href="apidocs/org/apache/xalan/lib/PipeDocument.html">org.apache.xalan.lib.PipeDocument</jump>,<br/>
-  the pipeDocument extension element pipes an XML document through a series of one or more transformations. The output of
-  each transformation is piped to the next transformation. The final transofrmation creates a target file.</p>
-  
-  <p>Suppose, for example,you have a stylesheet that is processing a "book" document with elements designating the 
-  documents to be transformed. This primary stylesheet generates a table of contents for the book. For each source 
-  document it uses a pipeDocument extension element to pipe the document through a series of one or more transformations.</p>
-  <s3 title="Sample: generating a table of contents and an HTML &quot;book&quot;">
-    <p>An XML "book" document contains a number of doc elements like the following:<br/>
-    <code>&lt;doc source="sources/intro.xml" id="intro" label="Introduction"&gt;</code></p>
-    <p>The source attribute identifies the document to be transformed, the id is the output file name, 
-    and the primary stylesheet places the label in the table-of-contents link.</p>
-    <p>The stylesheet declares the pipeDocument namespace, designates the namespace prefix as an extension element prefix,
-    and contains a parameter designating where the output files are to be placed:</p>
-  <source>&lt;xsl:stylesheet version="1.0"
-   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-   xmlns:pipe="xalan://PipeDocument"
-   extension-element-prefixes="pipe"&gt;
-   
-&lt;xsl:param  name="destdir" value="html/output"&gt;
-...</source>
-<p>This stylesheet contains a template where each doc element is processed. For each doc element, the stylesheet adds an 
-entry to the table-of-contents document. The extension element pipes the specified document through a series of two 
-transformations, with an stylesheet input parameter for the first transformation. The pipeDocument target attribute 
-designates the output from the second transformation.</p>
-
-<source>&lt;xsl:template match="doc"&gt;
-  &lt;p&gt;
-    &lt;a href={$destdir}&gt;&lt;xsl:value-of select="@label"/&gt;&lt;a&gt;
-  &lt;/p&gt;
-
-  &lt;pipe:pipeDocument   source="{@source}" target="{$destdir/@id}"&gt;
-    &lt;stylesheet href="ss1.xsl"&gt;
-      &lt;param name="doc-id" value="@id"/&gt;
-    &lt;/stylesheet&gt;
-    &lt;stylesheet href="ss2.xsl"/&gt;   
-  &lt;/pipe:pipeDocument&gt;
-  
-&lt;/xsl:template&gt;</source>
- 
-   <p>Notes:</p>
-   <ul>
-   <li>The base URI for the source attribute is the XML "book" document.</li>
-   <li>The target attribute is taken as is (the base is the current user directory from which this transformation is being run).</li>
-   <li>The stylsheet containg the extension element is the base URI for the stylesheet hrefs.</li>
-   </ul>
-</s3>
-<s3 title="Variation: using pipeDocument in an empty stylesheet">
-<p>Suppose you want to pipe a document through a series of transformations. You can use the pipeDocument extension element
-to perform this operation by placing the extension element in an otherwise empty stylesheet.</p>
-<p>The following stylesheet is used to merge the Xalan documents into a book (the first transformation), and transform the book
-into a tree of formatting objects, which can then be used to generate a PDF file. This transformation is invoked as follows:</p>
-<p><code>java org.apache.xalan.xslt.Process -in printbook.xml</code><br/>
-<code> -param source printbook.xml</code><br/>
-<code> -param target xalanbook.fo</code></p>
-<p>There is no XML input document or output document for the primary transformation, which does no more than invoke
-the extension element.</p>
-<source>&lt;?xml version='1.0'?&gt;
-
-&lt;xsl:stylesheet version="1.0"
-                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:pipe="xalan://org.apache.xalan.lib.PipeDocument"
-                extension-element-prefixes="pipe"&gt;
-
-&lt;xsl:param name="source"/&gt;
-&lt;xsl:param name="target"/&gt;
-
-&lt;xsl:template match="/"&gt;
-
-  &lt;pipe:pipeDocument 
-        source="{$source}"
-        target="{$target}"&gt;
-    &lt;stylesheet href="printbook_assemble.xsl"/&gt;
-    &lt;stylesheet href="bkbook8x11_xalan.xsl"/&gt;
-  &lt;/pipe:pipeDocument&gt;
-  
-&lt;/xsl:template&gt;
-
-&lt;/xsl:stylesheet&gt;</source>
-
-</s3>  
-  </s2><anchor name="evaluate"/>
-  <s2 title= "evaluate">
-  <p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>evaluate (xpath-expression)</code> function returns the result of evaluating the xpath-expression in the current 
-XPath expression context (automatically passed in by the extension mechanism).</p>
-<p>Use the evaluation extension function when the value of the expression is not known until run time.</p>
-</s2><anchor name="tokenize"/>
-<s2 title="tokenize">
-<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
-<code>tokenize (tokenize-string, delimiters)</code><br/>
-or<br/>
-<code>tokenize (tokenize-string)</code> function returns a node-set containing one text node for each token in the tokenize-string.</p>
-<p>The delimiters determine which characters are used to divide the tokenize-string into individual tokens. If you do not include
-the delimiters argument, the function uses tab (&amp;#x09), linefeed (&amp;#x0A), return (&amp;#x0D), and space (&amp;#x20) as delimiters.
-If tokenize-string is an empty string or contains only delimiters, the result is an empty node-set.</p>
-</s2><anchor name="groupitem"/>
-<s2 title= "group and item">
-<p><em>To be done.</em> Provides efficient grouping of items with a common value.</p>
-</s2><anchor name="type"/>
-<s2 title= "type">
-<p><em>To be done.</em> Returns a string that represents the Schema or DTD type.</p>
-</s2><anchor name="todate"/>
-<s2 title="to-date">
-<p><em>To be done.</em> Takes a string as input, and returns a long value representing the date.</p>
-</s2><anchor name="formatdate"/>
-<s2 title="format-date">
-<p><em>To be done.</em> Takes a date string, and formats it according to a specification.</p>
-</s2><anchor name="grep"/>
-<s2 title="grep">
-<p><em>To be done.</em> Performs a grep function and returns the substring.</p>
-</s2><anchor name="foreachtoken"/>
-<s2 title="for-each-token">
-<p><em>To be done.</em> Tokenizes a string, treats each token as a DOM Text node, and executes the
-sub-template.</p>
-</s2>
-</s1>
diff --git a/xdocs/sources/xalan/faq.xml b/xdocs/sources/xalan/faq.xml
deleted file mode 100644
index bc2771d..0000000
--- a/xdocs/sources/xalan/faq.xml
+++ /dev/null
@@ -1,292 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE faqs SYSTEM "../../style/dtd/faqs.dtd">
-
-<faqs title="Frequently asked questions">
-
-  <faq title="Where do I go to learn about XSLT">  
-    <q>Where do I go to learn about XSLT?</q>    
-    <a><p>The definitive sources are the W3C XSLT and XPath recommendations: <resource-ref idref="xslt"/> and 
-    <resource-ref idref="xpath"/>.</p>
-    <p>For a brief listing of tutorials, discussion forums, and other materials, see <link idref="overview"
-     anchor="uptospeed">Getting up to speed with XSLT</link>.</p></a>
-  </faq>
-
-  <faq title="Which version of Xerces should I be using?">  
-    <q>Which version of Xerces should I be using?</q>    
-    <a><p>&xslt4j-current; has been tested with &xml4j-used;. See <link idref="readme" anchor="status">Status</link>.</p></a>
-  </faq>
-  
-  <faq title="Compatibility with &xslt4j; version 1">
-   <q>How do I run applications that use the &xslt4j; version 1 API with &xslt4j2;</q>
-   <a><p>The Xalan-Java 1 compatibility API has been deprecated and now purged, so you must use the &xslt4j2; API. We strongly encourage you to
-   use the JAVAX 1.1/TrAX API. For more information ,see the next FAQ.</p></a>
-  </faq>
-    
-  <faq title="TrAX and JAXP">
-    <q>What are TrAX and JAXP, and are they related?</q>
-    <a><p>TrAX is the Transformation API for XML. In November 2000, TrAX was revised and incorporated into JAXP, the JAVA API for XML
-    Processing. JAXP (including TrAX) provides users a standard, vendor-neutral API for working with (and transforming) XML documents. 
-    You can use this API to build applications that are not bound to the particular implementation details of a given XML parser or XSL
-    transformer.</p>
-    <p>&xslt4j; includes the JAXP packages, implements the TrAX portion of that API (javax.xml.transform....), and includes &xml4j-jar; from
-    &xml4j;, which implements the parser portion of the API (javax.xml.parser....).</p>
-<p>For more information, see <link idref="trax">TRaX (Transformation API for XML)</link> and <resource-ref idref="jaxp11"/>.</p></a>
-  </faq>
-  <faq title="Chaining transformations">  
-    <q>How do you chain together a series of transformations?"</q>
-    
-    <a><p>&xslt4j; supports two strategies for chaining together a series of transformations such that the output of each 
-    transformation provides input for the next transformation.</p>
-    <ul>
-      <li>For each transformation in the series, you can set one SAX ContentHandler to process the input, and another ContenHandler to process
-       the output.<br/><br/></li>
-      <li>You can also set up a series of parent-child relationships between an XMLReader and one or more XMLFilters.</li> 
-    </ul>
-    <p>For the details and links to examples, see <link idref="usagepatterns" anchor="outasin">Using transformation output as input for 
-    another transformation</link>.<anchor name="jdk13"/></p></a>
-  </faq>
-  
-  <faq title="Issues running Xalan on JDK 1.3">
-  <q>I'm having a problem building or running &xslt4j; on the JDK 1.3.</q>
-  <a><p>The JDK 1.3 automatically places everything in the lib/ext directory in front of everything you place on the classpath. If this directory contains a version of DOM, JAXP, or Xerces that predates the &xslt4j; distribution you are using, you may have problems!</p> 
-<p>The IBM JDK 1.3 includes an earlier version of xerces.jar in the lib/ext directory, a version that does not implement the JAXP 1.1 interfaces and therefore does not work with the current Xalan release. Accordingly, you must either purge the xerces.jar that is in that directory or replace it with the &xml4j-jar; that is included with the Xalan distribution.</p>
-<p>The SUN JDK 1.3 includes a pre-1.1 version of the JAXP in crimson.jar. Either purge the crimson.jar in that directory or overwrite it with a newer crimson.jar that includes and implements the JAXP 1.1 interfaces.</p></a>  
-  </faq>
-  <faq title="a &quot;DOM006 Hierarchy request error&quot;">
-  <q>Why do I get a "DOM006 Hierarchy request error" when I try to transform into a DOM Document node?</q>
-  <a>
-  <p>This error occurs when Xalan tries to add a Node to a Document node where it isn't allowed. For example, attempting to add non-whitespace
-  text to the DOM Document node produces this error.</p>
-   <p>The error can also occur when a Document node is created with the DOMImplementation createDocument() method, which takes a qualified name
-    as an argument and creates an element node.  If you then pass the returned Document node to Xalan, you get a "DOM006 Hierarchy request
-    error" when Xalan tries to add a second element to the Document node. The solution is to either use the DocumentBuilder newDocument() method
-    to create a Document that does not contain an element node, or use a DocumentFragment. It should be noted that the 
-    DocumentBuilder newDocument() method is "Non-preferred" according to the JAXP 1.1 documentation.</p>
-  </a>
-  </faq>
-  
-  <faq title="Speeding up transformations">
-  
-    <q>What can I do to speed up transformations?</q>
-    
-    <a><p>In the ongoing development of &xslt4j;, enhancing performance is the primary goal of the &xslt4j; team.
-    Here are some preliminary suggestions for you to keep in mind as you set up your applications:</p><ul>
-    <li>Use a Templates object (with a different Transformers for each transformation) to perform multiple transformations with the same 
-    set of stylesheet instructions (see <link idref="usagepatterns" anchor="multithreading">Multithreading</link>).<br/><br/></li>         
-    <li>Set up your stylesheets to function efficiently.<br/><br/></li>
-       <ul>
-         <li>Don't use "//" (descendant axes) patterns near the root of a large document.<br/><br/></li>
-         <li>Use xsl:key elements and the key() function as an efficient way to retrieve node sets.<br/><br/></li>
-         <li>Where possible, use pattern matching rather than xsl:if or xsl:when statements.<br/><br/></li>
-         <li>xsl:for-each is fast because it does not require pattern matching.<br/><br/></li>
-         <li>Keep in mind that xsl:sort prevents incremental processing.<br/><br/></li>
-         <li>When you create variables, &lt;xsl:variable name="fooElem" select="foo"/&gt; is usually faster than
-         &gt;xsl:variable name="fooElem"&gt;&lt;xsl:value-of-select="foo"/&gt;&lt;/xsl:variable&gt;.<br/><br/></li>
-         <li>Be careful using the last() function.<br/><br/></li>
-         <li>The use of index predicates within match patterns can be expensive.<br/><br/></li>
-         <li>Decoding and encoding is expensive.<br/><br/></li>
-       </ul>
-     <li>For the ultimate in server-side scalability, perform transform operations on the client. For examples, see 
-     <link idref="samples" anchor="appletxmltohtml">appletXMLtoHTML</link> and <link idref="samples"
-     anchor="get-todo-list">get-todo-list</link>.</li>
-    </ul></a>
-  </faq>
-
-  <faq title="NoClassDefFound errors">
-  
-    <q>I'm getting a NoClassDefFound error. What has to be on the classpath?</q>
-    
-    <a><ol>
-    <li>xalan.jar, xml-apis.jar, and &xml4j-jar; -- or the XML parser you are using -- must always be on the classpath.<br/><br/></li>
-    <li>To run the samples in the samples subdirectories, xalansamples.jar must be on the classpath. To run the servlet (in
-    samples/servlet), xalanservlet.jar must be on the classpath along with the javax.servlet and javax.servlet.http packages. Sun distributes
-    the javax.servlet packages in the JSWDK servlet.jar file.<br/><br/></li>
-    <li>To run extensions (including the samples in samples/extensions), bsf.jar, and bsfengines.jar must be on the 
-    classpath. To run extensions implemented in JavaScript, js.jar must also be on the classpath. For information on what 
-    you need to run extensions implemented in other scripting languages, see <link idref="extensions"
-    anchor="supported-lang">Supported languages</link>.<br/><br/></li>
-    <li>To run applications that use the &xslt4j; version 1 API, you must put xalanj1compat.jar on the classpath, recompile the application,
-    and be sure xalanj1compat.jar is on the classpath at run time (see <link idref="usagepatterns" anchor="compat">Using the &xslt4j; version 1
-    API)</link>.</li>
-    </ol>
-    <p>For more information, see <link idref="getstarted" anchor="classpath">Setting up the system classpath</link>.</p>
-    <p><anchor name="environmentcheck"/><em>Using the EnvironmentCheck utility:</em> To help diagnose classpath problems, try running Xalan's environment checking utility, checked in at 
-    xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.</p>
-    <p>You can run this utility from the command line as follows:</p>
-    <p><code>java org.apache.xalan.xslt.EnvironmentCheck [-out outFile]</code></p>
-    <p>You can also call this utility from within your application. For example,</p>
-    <p><code>boolean environmentOK = (new EnvironmentCheck()).checkEnvironment (yourPrintWriter);</code></p>
-    <p>Be sure to run EnvironmentCheck in the environment where you are experiencing the problem. For example, if you get a 
-    NoClassDefFound error from a command-line application, run EnvironmentCheck on the command line with exactly the same 
-    classpath. If the error occurs inside your Java application (or in a servlet, etc.), be sure to call the 
-    EnvironmentCheck checkEnvironment(...) method from within your running application.</p>
-    </a>
-   </faq>
- 
-	<faq title="Stylesheet validation">
-		<q>How do I validate an XSL stylesheet?</q>
-		<a>
-      <p>An XSL stylesheet is an XML document, so it can have a DOCTYPE and be subject to validation, right? </p>
-      <p>The XSLT Recommendation includes a <jump href="http://www.w3.org/TR/xslt#dtd">DTD Fragment 
-      for XSL Stylesheets</jump> with some indications of what you need to do to create a complete DTD for a given
-      stylesheet. Keep in mind that stylesheets can include literal result elements and produce output that is not valid
-      XML.</p>
-      <p>You can use the xsl:stylesheet doctype defined in xsl-html40s.dtd for stylesheets that generate HTML.</p>
-		</a>
-	</faq>
-    
-    <faq title="Retrieving nodes in the default namespace">
-     <q>XPath isn't retrieving nodes that are in the default namespace I defined. How do I get them?</q>
-     <a><p>If you are looking for nodes in a namespace, the XPath expression must include a namespace prefix that you have mapped to the
-       namespace with an xmlns declaration. If you have declared a default namespace, it does not have a prefix (see 
-       <jump href="http://www.w3.org/TR/xpath.html#node-tests">XPath Node Tests</jump>). In order to construct XPath expressions 
-       to retrieve nodes from this namespace, you must add a namespace declaration that provides a prefix you can include in the XPath
-        expressions.</p>
-       <p>Suppose, for example, you you want to locate nodes in a default namespace declared as follows:<br/>
-       <code>xmlns="http://my-namespace"</code></p>
-       <p>Add a nampespace declaration with a prefix:<br/>
-       <code>xmlns:foo="http://my-namespace"</code></p>       
-       <p>Then you can use foo: in your XPath expression.</p>
-       <p>Hint: Don't use default namespaces, and the problem doesn't arise.</p></a>
-    </faq>
-       
-    <faq title="Using the 'signature' file to verify a download">
-      <q>How do I use the "signature" file to verify my download?</q>
-      <a>
-        <p>For each Xalan download file in <resource-ref idref="xslt4j-distdir"/>, there is a corresponding signature file. 
-        The signature file for xalan-j_2_0_1.tar.gz, for example, is xalan-j_2_0_1.tar.gz.sig.</p>
-        <p>The .sig files are PGP signatures of the actual .zip or .tar.gz
-        download files.  You can use these files to verify the authenticiy of the download. You do not need the .sig file to 
-        use the corresponding donwload file.</p>
-        <p>To check the authenticity of a Xalan distribution, you need a copy of
-        PGP which is available in a number of licenses, including some free
-        non-commercial licenses, either from an mit.edu site or on
-        the pgp.com site. Once you have a version of PGP installed, you
-        should be able to 'verify the signature' of the .sig file, which basically verifies that the corresponding 
-        .zip or tar.gz file has not been changed since we signed it.</p>
-      </a>
-    </faq>
-    <faq title="Setting output encoding">
-    <q>Why is the output character encoding I set in the stylesheet not being used?</q>
-    <a>
-    <p>If you use a character output stream to instantiate the 
-    <jump href="apidocs/javax/xml/transform/stream/StreamResult.html">StreamResult</jump> object which holds the 
-    transformation output, the Writer uses its own encoding, not the encoding you specify
-    in the stylesheet.</p>
-    <p>If you want to use the stylesheet output encoding, do not use StreamResult(java.io.Writer) to
-    instantiate the holder for the output. Alternatively, you can specify the encoding when you create a Writer 
-    (java.io.OutputStreamWriter). Once the Writer exists, you cannot change its encoding.</p>
-    </a>
-    </faq>
-    <faq title="Servlet unable to find classes for extension functions/elements">
-    <q>My servlet cannot find classes that implement extension functions or elements. What can I do?</q>
-    <a>
-    <p>If you install xalan.jar in the servlet engine's lib directory (e.g., tomcat/lib), as opposed to the servlet's 
-    lib directory, then the Xalan classes are loaded by a classloader that does not see the classes in the servlet's
-    classloader (i.e., the extension classes, if you placed them there). The Xalan classes try to load the extension 
-    classes using their own classloader, and that attempt fails.</p>
-    <p>Workaround: place xalan.jar in the servlet's lib directory and NOT in the servlet engine's lib directory. 
-    Another workaround is to place the extension classes also in the servlet engine's lib directory, but you
-    generally want to avoid cluttering that directory.</p>
-    <p>Thanks to Gunnlauger Thor Briem (gthb@dimon.is) for providing this information. </p>
-    </a>
-  </faq>
-  <faq title="Namespace not supported by SAXParser">
-  <q>Why am I getting a "Namespace not supported by SAXParser exception?</q>
-  <a>
-  <p>We have seen this probem arise for two quite different reasons:</p>
-  <ul>
-  <li>SAX1 interfaces are on your classpath in front of the SAX2 interfaces provided with your XML
-  parser.<br/><br/>
-  or<br/><br/></li>
-  <li>The parser you are using to process a stylesheet Source and generate a Transformer does not have the 
-  namespaceAware property set to true.</li>
-  </ul>
-  <p><em>SAX1 on the classpath</em></p>
-  <p>SAX1 should not be on your classpath. The SAX1 interfaces and implementations of the SAX1 SAXPparser
-  are not namespace aware.</p>
-  <p>To help diagnose your classpath, you can use the <link anchor="environmentcheck">EnvironmentCheck
-  utility</link>. If you are running under JDK 1.3, see <link anchor="jdk13">Issues running Xalan on JDK
-  1.3</link>. If you are running a servlet, make sure the servlet engine is not placing SAX1 on the
-  classpath.</p>
-  <p><em>Setting the parser to be namespace aware</em></p>
-  <p>When you create a Transformer, you must use a namespace-aware parser to parse the stylesheet.</p>
-  <p>If you use a TransformerFactory to process a stylesheet Source and generate a Transformer, the
-  TransformerFactory instructs the  SAXParserFactory to set the parser's namespaceAware property to true.
-  But if you call the parser directly, you may need to set the namespaceAware property yourself. For
-  example:</p>
-<source>javax.xml.parsers.SAXParserFactory spFactory =
-  javax.xml.parsers.SAXParserFactory.newInstance();
-spFactory.setNamespaceAware(true);</source>
-<note>For more information about setting the namespaceAware property, and SAX2 vs. JAXP default settings, see <jump href="http://xml.apache.org/~edwingo/jaxp-faq.html#nsDefaults">JAXP FAQ: Warning about namespace processing defaults</jump>.</note>
-</a>
-</faq>
-<faq title="Getting line and column numbers for errors in XML input documents and XSL stylesheets">
-<q>How do I get line numbers for errors in the XML or XSL input when I am performing a transformation?</q>
-<a>
-<p>Use or mimic the command-line processor (<jump href="apidocs/org/apache/xalan/xslt/Process.html">org.apache.xalan.xslt.Process</jump>).</p>
-<p>A <jump href="apidocs/javax/xml/transform/TransformerException.html">TransformerException</jump> generally wraps another exception, often a SAXParseException. The command-line processor uses the static <jump href="apidocs/org/apache/xml/utils/DefaultErrorHandler.html">org.apache.xml.utils.DefaultErrorHandler</jump> printLocation() method to chase down the exception cause and get a <jump href="apidocs/javax/xml/transform/SourceLocator.html">SourceLocator</jump> that can usually report line and column number.</p>
-<p>Suppose you wanted to modify the ValidateXMLInput sample in the samples/Validate subdirectory to include line and column numbers . All you
-need to do is call DefaultErrorHandler.printLocation() in the the Handler internal class error() and warning() methods. For example, replace</p>
-<source>public void error (SAXParseException spe)
-  throws SAXException
-{
-  System.out.println("SAXParseException error: " + spe.getMessage());
-}</source>
-<p>with</p>
-<source>public void error (SAXParseException spe)
-  throws SAXException
-{
-  PrintWriter pw = new PrintWriter(System.out, true);
-  org.apache.xml.utils.DefaultErrorHandler.printLocation(pw, spe);
-  pw.println("SAXParseException error: " + spe.getMessage());
-}</source>
-<p>You can also replicate code from the printLocation() method to obtain a SourceLocator, and then use the SourceLocator getLineNumber() and getColumnNumber() methods. The getRootSourceLocator() method below returns a SourceLocator.</p>
-<source>
-import javax.xml.transform.SourceLocator;
-import javax.xml.transform.TransformerException;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.apache.xml.utils.SAXSourceLocator;
-import org.apache.xml.utils.WrappedRuntimeException;
-....
-public static SourceLocator getRootSourceLocator(Throwable exception)
-{
-  SourceLocator locator = null;
-  Throwable cause = exception;
-    
-  // Try to find the locator closest to the cause.
-  do
-  {
-    if(cause instanceof SAXParseException)
-    {
-      locator = new SAXSourceLocator((SAXParseException)cause);
-    }
-    else if (cause instanceof TransformerException)
-    {
-      SourceLocator causeLocator = 
-                    ((TransformerException)cause).getLocator();
-      if(null != causeLocator)
-        locator = causeLocator;
-    }
-    if(cause instanceof TransformerException)
-      cause = ((TransformerException)cause).getCause();
-    else if(cause instanceof WrappedRuntimeException)
-      cause = ((WrappedRuntimeException)cause).getException();
-    else if(cause instanceof SAXException)
-      cause = ((SAXException)cause).getException();
-    else
-      cause = null;
-  }
-  while(null != cause);
-        
-  return locator;
-}</source>
-
-<note><em>Xalan exception handling:</em>  The exception architecture in Xalan and with transforms in general is tricky because of multiple layers of exception handling, involving movement back and forth between SAX and Transformer exceptions and across pipes. Xalan often uses a WrappedRuntimeException to throw over many layers of checked exceptions, in order not to have every possible checked exception be declared for every function in the stack, which means it has to catch this exception at the upper levels and unwrap the exception to pass it on as a TransformerException.
-<br/><br/>
-A JAXP 1.1 TransformerException often wraps another exception. Two of the TransformerException structures that are frequently used to construct contained exceptions in JAXP 1.1 do not set the locator.  The locator is not set because we don't know the type of exception that the Throwable argument represents.  The solution is to chase up the contained exceptions to find the root cause, which will usually have a location set for you.  This can be somewhat tricky, as not all the exceptions may be TransformerExceptions.  A good sample is in the DefaultHandler static printLocation() method, which the Xalan command-line processor uses to report errors. You can also roll your own functions along the lines of the getRootSourceLocator() example above.</note>
-</a>
-
-</faq>
-</faqs>
diff --git a/xdocs/sources/xalan/getstarted.xml b/xdocs/sources/xalan/getstarted.xml
deleted file mode 100644
index 579cdf8..0000000
--- a/xdocs/sources/xalan/getstarted.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" standalone="no"?>  
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<s1 title="Getting Started">
-<ul>
-<li><link anchor="download">Downloading what you need</link></li>
-<li><link anchor="classpath">Setting up the system classpath</link></li>
-<li><link anchor="samples">Trying out the samples</link></li>
-<li><link anchor="commandline">Performing your own transformations from the command line</link></li>
-<li><link anchor="java-apps">Setting up your own XSLT applications</link></li>
-</ul>
-<anchor name="download"/>
-<s2 title="Downloading what you need">
-<p>To use Xalan, you need the following:</p>
-<ul>
-<li>The JDK or JRE 1.1.8, 1.2.2, or 1.3</li>
-<li>xalan.jar</li>
-<li>&xml4j-jar;, or another <link idref="usagepatterns" anchor="plug">XML Parser</link>)</li>
-</ul>
-<p>You can get the JDK or JRE from <jump href="http://www.ibm.com/java/jdk">ibm.com/java/jdk/</jump> or <jump href="http://www.java.sun.com">java.sun.com</jump>.</p> 
-<p>For the binary distribution, which includes everything required to use and build applications with &xslt4j;, download <resource-ref idref="xslt4j-dist-bin-zip"/> or <resource-ref idref="xslt4j-dist-bin-targz"/>. Both of these files contain <resource-ref idref="xslt4j-current"/> (with xalan.jar) and &xml4j-jar; from <resource-ref idref="xml4j-used"/>. You can use a zip or tar utility to expand these files into a full build.</p>
-<p>If you want the &xslt4j; source files, download <resource-ref idref="xslt4j-dist-src-zip"/> or <resource-ref idref="xslt4j-dist-src-targz"/>. After you expand these files into the complete source tree, you can use <resource-ref idref="ant"/> to do your own builds. For more information, see <link idref="readme" anchor="build">Build notes</link>.</p>
-
-<p>If you plan to run <link idref="extensions">XSLT extensions</link>, you need bsf.jar, which is included in the &xslt4j; distribution. If you plan to run XSLT extensions implemented in Javascript or another scripting language, you will need one or more additional files as indicated in <link idref="extensions" anchor="supported-lang">extensions language requirements</link>.</p>
-</s2><anchor name="classpath"/>
-<s2 title="Setting up the system classpath">
-<p>At the very minimum, you must include xalan.jar, xml-apis.jar, and &xml4j-jar; -- or another conformant XML parser -- see <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML parser</link>) on the system classpath. To run the sample applications, include xalansamples.jar (all samples other than the servlet) and xalanservlet.jar. To run extensions, include bsf.jar. All these JAR files are distributed with &xslt4j;. For extensions implemented in JavaScript or another scripting language, see <link idref="extensions" anchor="supported-lang">extensions language requirements</link> to identify any additional JAR files you must place on the classpath and where you can get them.</p>
-<p>If you are using JDK or JRE 1.1.8, also include classes.zip on the classpath. If you are using JDK or JRE 1.2, include tools.jar on the classpath.</p>
-<note>If you are running Xalan on a 1.1.8 platform or recompiling Xalan on any platform, be sure to put xalan.jar and xml-apis.jar in front of &xml4j-jar; on the classpath. Both JAR files include the org.w3c.dom packages. Xerces has added a number of DOM level-3 methods. These are not yet part of the W3C DOM recommendation, and Xalan does not support these methods.</note>
-</s2><anchor name="samples"/>
-<s2 title="Trying out the samples">
-<p>The &xslt4j; distribution includes a number of basic sample applications. These samples are easy to run, and you can review the source files -- all of which are brief -- to see just how they work.</p>
-<p>To run the samples, do the following:</p>
-<ol>
-<li>Set up your classpath (see above), including xalansamples.jar and (for the servlet) xalanservlet.jar.</li>
-<li>Be sure the java executable is on your path.</li>
-<li>Go to the samples subdirectory containing the sample (use the DOS shell if you are running Windows).</li>
-<li>Use the java executable to run the sample from the command line.</li>
-<li>Examine the application source and result files.</li>
-</ol>
-<p>For example, go to the SimpleTransform subdirectory and issue the following command:</p>
-<p><code>java SimpleTransform</code></p>
-<p>The sample writes the transformation result  to a file (birds.out). To see how the example works, examine the source files: birds.xml, birds.xsl, and SimpleTransform.java.</p>
-<p>The extensions examples require additional JAR files on the classpath, and the procedure for running the sample applet and sample servlet is different. For more information about all the samples, see <link idref="samples">&xslt4j; Samples</link>.</p>
-</s2><anchor name="commandline"/>
-<s2 title="Performing your own transformations from the command line">
-<p>java.org.apache.xalan.xslt.Process provides a basic utility for performing transformations from the command line. You use this utility, for example, to run several of the extensions samples. The command line for most standard transformations is as follows:</p>
-<p><code>java org.apache.xalan.xslt.Process -in <ref>xmlSource</ref></code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;-xsl <ref>stylesheet</ref> -out <ref>outputfile</ref></code></p>
-<p>where <ref>xmlSource</ref> is the XML source file name, <ref>stylesheet</ref> is the XSL stylesheet file name, and <ref>outputfile</ref> is the output file name.</p>
-<p>If you want the output to be displayed on the screen, simply omit the -out flag and argument.</p>
-<p>You can use this utility to try out XSL stylesheets you have written, to make sure they do what you expect with the XML source files they are designed to transform. The utility provides useful messages if the source file or stylesheet is not well formed. For more information, see <link idref="commandline">Command-Line Utility</link>.</p>
-</s2><anchor name="java-apps"/>
-<s2 title="Setting up your own Java applications">
-<p>You can start by using your own XML source files and XSL stylesheets with the sample applications, which illustrate a number of the <link idref="usagepatterns">basic usage patterns</link>.</p>
-<p>Here is the basic TRaX procedure to keep in mind when you set up a transformation:</p>
-<ol>
-<li>Use the <jump href="apidocs/javax/xml/transform/TransformerFactory.html">TransformerFactory</jump> static newInstance() method to instantiate a TransformerFactory.<br/><br/></li>
-<li>Use the TransformerFactory newTransformer(Source stylesheet) method to process the transformation instructions in an XSLT stylesheet Source (producing under the covers a <jump href="apidocs/javax/xml/transform/Templates.html">Templates</jump> object) and generate a <jump href="apidocs/javax/xml/transform/Transformer.html">Transformer</jump>.<br/><br/></li>
-<li>Use the Transformer transform(Source xmlSource, Result transformResult) method to apply the transformation instructions (the Templates object) to the XML Source and produce the transformation Result.<br/><br/></li>
-</ol>
-<p>For more information about this procedure and its variations, see <link idref="usagepatterns">Basic Usage Patterns</link>.</p>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/history.xml b/xdocs/sources/xalan/history.xml
deleted file mode 100644
index 56718a6..0000000
--- a/xdocs/sources/xalan/history.xml
+++ /dev/null
@@ -1,1906 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
- <s1 title="History of software changes">
-   <p>The following sections list the core software changes in each release since &xslt4j; version 2.0.D01.</p>
-   &history2xsltc;
-<s2 title="Changes for &xslt4j; 2.2">
-<p>Following a series of Developer releases, &xslt4j-current; represents a stable, production-quality release with 
-the <link idref="dtm">DTM (Document Table Model)</link>. &xslt4j; uses the DTM to represent the XML source document 
-to be transformed. Please send your feedback to the <human-resource-ref idref="xalandev"/>.</p>
-<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>updated version number to 2.2.D14<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>updated version number to 2.2.D14<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Bugzilla 5242: Special-case initializing iteration from Document node -- 
-one-liner wasn't safe.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/04/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc ProcessorVersion.java<br/><ref>Committer's log entry: </ref>new class to version xsltc software<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Additional debugging printouts, added while analysing Bugzilla 5272 but 
-generally useful.
- No functional change, and should be optimized away when DEBUG is set false.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Removed the "magic" default which causes us to switch into incremental
- processing mode whenever we were writing to Standard Output (ie,
- -OUT had not been specified). If you want incremental processing,
- please use the (relatively new) -INCREMENTAL switch to explicitly
- request it.
-
- (The automatic switchover was causing some confusion
- when testing against Xerces2. )<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Efficiency improvement to the new DTM "overflow addressing" scheme.
- In some tests, this one alteration shaved about 30% off the runtime.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath CachedXPathAPI.java
- XPathContext.java<br/><ref>Committer's log entry: </ref>Changes requested by the xml-security group:
-
- 1) Provide something a constructor that allows sharing the
- XPathContext object between CachedXPathAPI objects
-
- 2) Add getXPathContext(). I'm just a bit nervious about this
- method, but they assure us they need it and the field isn't
- private. We may need to discus this one further.
-
- 3) Make the XPathContext's m_dtmManager member
- protected rather than private, so their subclass can get to it.
- We may want to work with them to understand why they're
- accessing this directly and whether there's a better solution.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref
- IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Bugzilla5272 patch suggested by Sandy Gao.
-
- This startup sequence for incremental SAX parsing under Xerces2
- really is excessively complicated and excessively fragile as a result.
- Not to mention being underdocumented. We really need to push the
- Xerces folks to provide a simple incremental SAX API, similar to that
- in the Xerces1incremental prototype.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Part 1 of 2: Reducing initial space requirements of a DTM. This may
- involve a slight performance hit, but should help stylesheets which
- generate a lot of Result Tree Fragment. Part 2 of this change will be
- checked in after I resolve a bug in whitespace normalization.
-
- Note that a better long-term answer will be to reduce the number of
- DTMs tied up as RTFs, by doing a better job of discarding or reusing
- them when we're done with them. There are some issues regarding
- exactly what their lifetimes will be when assigned to variables,
- especially when one variable is used to build another, which we
- need to address before we can make that change.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Part 2a of 2: Reducing initial space requirements of a DTM. This may
- involve a slight performance hit in some circumstances due to
- smaller and more complex subdivision of FastStringBuffers,, but
- should help stylesheets which generate a lot of Result Tree
- Fragments.
-
- Note that a better long-term answer will be to reduce the number of
- DTMs tied up as RTFs<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Part 2b of 2: Reducing initial space requirements of a DTM. This may
- involve a slight performance hit in some circumstances due to
- smaller and more complex subdivision of FastStringBuffers,, but
- should help stylesheets which generate a lot of Result Tree
- Fragments.
-
- (Leveraging FSB's features more strongly exposed a bug in
- whitespace normalization, which I've fixed.)
-
- Note that a better long-term answer will be to reduce the number of
- DTMs tied up as RTFs<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils AttList.java<br/><ref>Committer's log entry: </ref>Two goofs: Forgetting to use the namespace-aware DOM call, and
- forgetting to check for a returned null before dereferencing.
-
- How long has _that_ been lurking in the undergrowth?!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>Finally following up on an old hunch, I switched from /% addressing
- to shift-and-mask. Big improvement!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Performance improvements; Some changes to better leverage the
- DOM's existing code, others to avoid some call-and-return overhead.
-
- Combined with other recent changes, we've now got a significant
- speedup over D14 on some tests. We may want to drop the scheduled
- December 17th 2.2 release and instead bring 2.2 out on 1/14 (which is
- when we'd planned 2.3) with performance gains and Xerces2 support.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- DOM2DTMdefaultNamespaceDeclarationNode.java<br/><ref>Committer's log entry: </ref>A few more subtle performance tweaks, and an actual bug.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>12/20/2001<br/><ref>Added: </ref>java/src/org/apache/xml/utils ListingErrorHandler.java<br/><ref>Committer's log entry: </ref>Alternate ErrorHandler/ErrorListener implementation that allows
- configuration and prints errors out similarly to javac<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils AttList.java<br/><ref>Committer's log entry: </ref>Bugzilla 5496; previously unimplemented functions.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/03/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils DOMBuilder.java<br/><ref>Committer's log entry: </ref>[Bug 5528] DOMBuilder mixed DOM Level 1 and 2<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>01/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>updated release number to 2.2.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>01/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>updated release number to 2.2.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>01/13/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla#5701: incorrect resolution of certain kinds of absolute file: 
-URIs
- Note: This definitely seems to be more correct in terms of resolving URIs
- vis-a-vis RFC 2396 than it used to be. The only user case which might now
- fail where it used to work is a user that supplies an incorrect
- 'file:subdir/blah' that they intended to be a relative URI (technically
- it is an absolute URI no matter which way you look at it); this might
- lead to a change in behavior in this particular case, although the behavior
- before was incorrect.
- The major risk factor could be if there are other parts of Xalan code that 
-rely
- on the previously incorrect behavior, but I can't find any, and the whole test
- suite runs and passes normally.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>01/14/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla#4678 and Bugzilla#5533: call setSystemId on StreamResult
- in Process command line class; ignored if using System.out
- This should enable the redirect extension to properly put it's redirected
- output in a location relative to the output if possible; previously it
- always put redirected output relative to the input since it
- never had the systemId of where the output should be<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
-</s2>   
-<s2 title="Changes for &xslt4j; 2.2.D14">
-<p>&xslt4j; 2.2.D14 is intended to be the final release in the current series of Developer releases incorporating
-     the <link idref="dtm">DTM</link>. We believe Xalan with the DTM has reached a level of stability that warrants a                                                          
-     standard "User" release. Accordingly, we plan to release &xslt4j; 2.2 soon.</p>
-     <p>&xslt4j; 2.2.D14 also includes a new <jump href="apidocs/org/apache/xpath/CachedXPathAPI.html">CachedXPathAPI</jump> class that
-     provides an enhanced alternative to the XPath convenience methods in <jump href="apidocs/org/apache/xpath/XPathAPI.html">XPathAPI</jump>.</p>
-     <p>Beginning with 2.2.D12, xalan.jar contains just the &xslt4j; implementation. The source files for the SAX level 2, DOM 2, 
-     and JAXP 1.1 interfaces are pulled from the xml-commons repository (<resource-ref idref="xmlapirepository"/>), and are built as
-     xml-apis.jar. These interfaces are shared by a number of tools, so placing them in their own jar simplifies coordination and reduces 
-     the risk of duplication. <em>To run &xslt4j;, you must add xml-apis.jar to your classpath.</em> See <link idref="getstarted"
-     anchor="classpath">Setting up the system class path</link>.</p>
-<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Reorder slightly and add test to not synthesize xmlns:xsl declaration
- if one was already present on the DOM's root element.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeList.java<br/><ref>Committer's log entry: </ref>Bugzilla4842, secondary complaint (glitch in getChildren)... &lt;blush/&gt;<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Bugzilla4842: Expand the proxy layer to support more of the DOM API.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Namespace decls are themselves not namespace-aware, in the
- Namespaces 1.0 REC. Use the qname.Grumble.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>"Tupograflica eror". Sorry 'bout that!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Sigh. The XML Namespaces spec it itself imperfectly
- namespace-aware. While there's a plan to fix that, it's
- safer for now if we test the QName when looking for
- explicit instances of xmlns:xml in the source document.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql DTMDocument.java
- java/src/org/apache/xalan/templates ElemApplyTemplates.java
- java/src/org/apache/xalan/xslt Process.java
- java/src/org/apache/xml/dtm DTMManager.java
- java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- DTMDefaultBaseIterators.java
- DTMDefaultBaseTraversers.java
- DTMManagerDefault.java
- java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Another fairly large change in the DTM architexture (sic)....
-
- We've changed DTM's internal behavior so it can now assign
- more than one "DTM ID" to a single document, cascading from
- one ID to the next. This means that the size of a single DTM is
- no longer limited by the bits available in the low part of the DTM
- Node Handle. This means we can support larger documents.
-
- That has allowed us to reduce the number of bits reserved
- for that portion of the node addresing scheme... which in turn has
- increased the number of bits available for use in the DTM ID. This
- means we can now have many more documents active at once.
-
- The trade-off is that huge documents will require more than one
- DTM ID and thus cut into the number of documents, But since we
- now have 16 bits of DTM ID space, I don't think we're really likely
- to run into both limits at once. And the changes are essentially
- limited to the DTM layer; the rest of Xalan should be unaffected.
-
- In the process of making this change, I've also encapsulated the
- conversions between DTM API node handles and DTMDefaultBase's
- internal node indices. That should be safer all 'round.
-
- NOTE: One side effect of this change is that the strings
- generated by the key() function have changed again.
- I've updated the IDKEY testcases to reflect this.
-
- Smoketest is currently passing everything except
- axes109 and the API's TraceListenerTest . But I believe
- those failures are due to a glitch in my test directory
- since they also happen when I run the D13 code there,
- whereas D13 runs fine in the directory where I built it.
- I'm going to assume that "same result is no new bug"
- for now.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref
- DTMDefaultBaseTraversers.java<br/><ref>Committer's log entry: </ref>Found the glitch causing the axes108 bug -- exptype/type.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Added option to set the recursion limit (which we're having trouble with
- right now; the code that supported it seems to be disabled...) and
- selfdoc for this and a few other newer options.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Catch exceptions from the output content handler in flush(), and throw a
- SAXParseException with line numbers filled in.
- If we don't do this, and the exception is a RuntimeException,
- good line numbers of where the exception occured in the stylesheet
- won't get reported. I tried just catching RuntimeException, but
- for whatever reason it didn't seem to catch.
- Fix for Christina's DOMException error problem.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm
- DOM2DTMdefaultNamespaceDeclarationNode.java<br/><ref>Committer's log entry: </ref>Moved default namespace declaration node object out of its "inner
- class" status, since I think I want to perform an instanceof test on it.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- DTMManagerDefault.java
- java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- java/src/org/apache/xpath XPathAPI.java<br/><ref>Added: </ref>java/src/org/apache/xpath CachedXPathAPI.java<br/><ref>Committer's log entry: </ref>Bugzilla 4336 -- fix for presenting symptom (since the implicit
- xml: declaration pseudo-DOM node is resynthesized in each
- DTM, find the _corresponding_ node), and a first draft of
- CachedXPathAPI which should be a fix for the larger symptom
- (XPathAPI creates a new DTM every time, which is potentially
- very ugly for applications that want to run XPaths repeatedly
- on a single document).
-
- Also caught and fixed another node-handle/node-identity confusion.
- The fact that DTM.get...() allowed us to be sloppy about that
- distinction in the past means there may still be a few others lurking
- in the code. Ye gods, I _wish_ Java had typedef!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Minor tweaks<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Redirect.java<br/><ref>Committer's log entry: </ref>Patch to enable optional 'append' attribute on redirect:open and
- redirect:write elements to append to file; note that behavior may
- not be what you expect when using xml output, since the xml decl
- will currently be output *each* time you newly write to the file
- Submitted by: jpvdm@iafrica.com<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Implement getDocumentElement. If the DTM doesn't represent a
- wellformed Document, this call is undefined and throws an exception...
- which isn't DOMlike but that's a non-DOMlike situation.<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D12 and 2.2.D13">
-<p>&xslt4j; 2.2.D13 is intended to be the final release in the current series of Developer releases incorporating
-     the <link idref="dtm">DTM</link>. We believe Xalan with the DTM has reached a level of stability that warrants a                                                          
-     standard "User" release. Accordingly, we plan to release &xslt4j; 2.2 soon.</p>
-     <p>Beginning with this release, xalan.jar contains just the &xslt4j; implementation. The source files for the SAX level 2, DOM 2, 
-     and JAXP 1.1 interfaces are pulled from the xml-commons repository (<resource-ref idref="xmlapirepository"/>), and are built as
-     xml-apis.jar. These interfaces are shared by a number of tools, so placing them in their own jar simplifies coordination and reduces 
-     the risk of duplication. <em>To run &xslt4j;, you must add xml-apis.jar to your classpath.</em> See <link idref="getstarted"
-     anchor="classpath">Setting up the system class path</link>.</p>
-     <p>Beginning with this release, we are placing two distribution files in the <resource-ref idref="xslt4j-distdir"/>: a binary
-     distribution file, which includes everything needed to run &xslt4j; and build applications, and a source distribution. For
-     more information, see <link idref="getstarted" anchor="download">Downloading what you need</link>.</p>
-     <p>This release also includes <link idref="samples" anchor="validatexmlinput">ValidateXMLInput</link>, a sample that illustrates 
-     how you can verify that the XML input you are transforming adheres to its document type. It is in the samples/validate subdirectory
-     along with a Validate utility that you can use to validate XML files without performing a transformation.</p>     
-<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Bugzilla3995: Removed "final" keywords. That doesn't by itself
- provide the requested enhancement, but it makes prototyping one
- a bit easier.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 3384. See comments in the toDouble method; I suspect this may be 
-wasted micro-optimization.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Is " 12 34 . 56 78 " really considered acceptable?
- Or should whitespace within the value be treated as NAN?<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Updated build number to 2.2.D12.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Updated build number to 2.2.D12.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla1133, LRE21: xsl:extension-element-prefixes should be 
-considered an exclusion<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 3464. Exposes errors in conformance tests namespace93 and 94.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java
- HTMLEntities.res XMLEntities.res<br/><ref>Committer's log entry: </ref>Fix Bugzilla#4000, force reading of *Entites.res to be in UTF-8; added 
-comments
- PR: Bugzilla#4000<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Avoid overgenerality of isDigits
- Combine most character tests into a single switch for performance
- Reject values with embedded (as opposed to leading/trailing) whitespace.
-
- Note that this is "more correct:" than the old solution of calling Java's
- toDouble, since (I think) XSLT doesn't officially accept leading + or
- scientific notation. If folks want to accept those notations, an
- extension function specifically for that purpose seems the
- simplest/safest/most-portable solution.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Gaaah. Typo.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java
- java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Added: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Added new org.apache.xalan.Version class for better versioning info;
- Deprecated org.apache.xalan.processor.XSLProcessorVersion;
- Updated EnvironmentCheck with this info<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Be careful with parentheses when using ?: operator.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
- IncrementalSAXSource_Xerces.java<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java
- CoroutineSAXParser_Xerces.java<br/><ref>Committer's log entry: </ref>CoroutineParser API was replaced by IncrementalSAXSource; dropping obsolete 
-code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXFilterTest.java<br/><ref>Committer's log entry: </ref>CoroutineParser API was replaced by IncrementalSAXSource; dropping obsolete 
-code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Whups; sloppy: Actually, problem was that the latter two arguments to ?:
- must agree in datatype. Dropped in a quick-and-dirty int-to-string hint.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Preliminary Xerces-2 support. Doesn't leverage Xerces-2 incremental features
- yet, but should at least compile and run under the new parser without
- breaking support for the old one. Still working on improving this.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java
- ElemCallTemplate.java<br/><ref>Committer's log entry: </ref>Bugzilla 4218: Make sure that the stack frame gets restored to the frame that 
-was previously set. Just calling unlink() may restore to the wrong frame, and 
-get us out of synch.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/xml/sax/helpers ParserAdapter.java<br/><ref>Committer's log entry: </ref>Java 1.1.8 back-compatability requires not using Java 1.2 collection calls.
- (Still waiting for community consensus before abandoning 1.1)<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Bugzilla 4218: Make sure that the stack frame gets restored to the frame that 
-was previously set. Just calling unlink() may restore to the wrong frame, and 
-get us out of synch.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref
- IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>In Xerces2, SAXParser no longer seems to inherit from
- XMLReader; explicit casts needed to work around that.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/23/2001<br/><ref>Removed: </ref>java/src/javax/xml/parsers SAXParserFactory.java
- SAXParser.java ParserConfigurationException.java
- package.html FactoryFinder.java
- FactoryConfigurationError.java
- DocumentBuilderFactory.java DocumentBuilder.java<br/><ref>Committer's log entry: </ref>Remove javax.xml.parsers package from xalan sources since we no longer ship 
-with these files<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java<br/><ref>Committer's log entry: </ref>Microsoft VJ++ workaround. Should never arise in any reasonably
- standards-compliant Java environment, but VJ++ isn't...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java<br/><ref>Committer's log entry: </ref>Additional "big scary" docs for Microsoft VJ++ workaround.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Added fix for bug reported by Myriam for match="//x/a" patterns. On the
- second "/" on "//", the parser wasn't swallowing the token, which caused
- the "x" pattern to be ancestor instead of parent. If you don't have this fix,
- it will cause 'a' to be matched when it has any ancestor that is 'x'.
- This fix should be localized to only match patterns. The reason this probably
- wasn't reported before, is because "//" at the head of a match pattern is
- pretty useless, "x/a" being equivelent.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>By longstanding request, don't URL-escape spaces. This is consistent with the
- specification, and the opinion of the right thing to do by several people on 
-the
- XSL working group, including Mike Kay, and by the LotusXSLTeam.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTElementDef.java<br/><ref>Committer's log entry: </ref>Improved safety net: When running with Xerces2, the "uri" field may be null.
- (Also reordered tests to encourage optimization of code.)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Add command-line switches for the options introduced at same time as DTM, to 
-make testing those features easier.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetPIHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4575: Add the EOL character to the list of token delimiters.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
- IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Leverage Xerces-2 incremental parsing feature, when possible,
-
- Making this compile _and_ run under both the old and new versions of
- the parser involves a lot of reflection... especially since Xerces-2
- no longer provides a way to directly request incremental delivery
- of SAX events; we now have to assemble that concept ourselves,
- using XNI components.
-
- Note that if you pass an existing Xerces-2 SAXParser into the
- IncrementalSAXSource_Xerces wrapper, there is currently no way
- for us to access its incremental controls. In that case, we are
- forced to fall back on the _Filter solution and coroutines.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 4396: Defaulting to the super hashCode(). This causes us to create 
-a string, but at this point this only seems to get called in key processing. 
-Maybe we can live with it?<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Use appropriate context class loader as done in JAXP's FactoryFinder;
- Added various new jars; added checkAntVersion()<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize HTMLEntities.res<br/><ref>Committer's log entry: </ref>Commented out mainly greek entities that Netscape seems not to handle.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize Encodings.java
- SerializerToHTML.java SerializerToText.java
- SerializerToXML.java<br/><ref>Committer's log entry: </ref>Progress on Bugzilla Bug 1639 : Xalan escaping characters for ISO encodings 
-other than ISO-8859-1.
-
- The problem is that you can't tell from the Java Writers if they can encode
- a character, and you can't tell which character they are going to encode to.
- So...
-
- Do a one-time-only reflection to see if a sun.io.CharToByteConverter for the
- specific encoding is available. I'm hoping this will work for most or all
- platforms... but only some extensive testing will tell for sure. If the
- CharToByteConverter is not available, it falls back to the old behavior.
- If it is available, use the canConvert method to see if the UTF-16 character
- can be encoded. If it can be, just send it to the writer, otherwise escape 
-it.
- This doesn't need to be done for &lt; 128, so I'm suspecting the performance
- hit won't be too bad.
-
- The alternative is to create lookups for all the encodings that tell which
- blocks of characters can't be encoded. Too much work for me this
- weekend, though it remains a possibility. I want to try the use of
- CharToByteConverter.canConvert first.
-
- One problem I've encountered is that CharToByteConverter.canConvert
- returns true for (utf-16 code points) 127-159. And so they go unescaped.
- How bad of a problem is this? This seems like a bug in the Java
- CharToByteConverter for ISO-8859-7.
-
- It remains to be seen if this problem exists with other encodings, or if this 
-is
- the best approach.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Check for control characters for canConvert, and return false if it is a 
-control
- character, so that it will be escaped.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Don't set the ErrorHandler if it is already set.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Minor fix to JavaDoc for setRecursionLimit.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/operations Operation.java
- UnaryOperation.java<br/><ref>Committer's log entry: </ref>Bugzilla 4679: Accessors for left and right operands<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>Do not escape the percent '%' character anymore.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes LocPathIterator.java
- OneStepIterator.java PredicatedNodeTest.java<br/><ref>Committer's log entry: </ref>Bugzilla 4638: When we are in a subcontext we need to clip off the predicate 
-when evaluating. If not, we end up with the wrong nodeset. This also relates to 
-test position68.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- ClonerToResultTree.java ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4607; allow explicitly cloning namespace nodes rather than
- throwing exception.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/07/2001<br/><ref>Removed: </ref>java/src/META-INF/services
- javax.xml.parsers.SAXParserFactory
- javax.xml.parsers.DocumentBuilderFactory<br/><ref>Committer's log entry: </ref>Remove services/javax.xml.parsers.* references; we assume parsers have their 
-own<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/07/2001<br/><ref>Removed: </ref>java/src/javax/xml/transform ErrorListener.java
- FactoryFinder.java OutputKeys.java Result.java
- Source.java SourceLocator.java Templates.java
- Transformer.java
- TransformerConfigurationException.java
- TransformerException.java TransformerFactory.java
- TransformerFactoryConfigurationError.java
- URIResolver.java overview.html package.html
- java/src/javax/xml/transform/dom DOMLocator.java
- DOMResult.java DOMSource.java package.html
- java/src/javax/xml/transform/sax SAXResult.java
- SAXSource.java SAXTransformerFactory.java
- TemplatesHandler.java TransformerHandler.java
- package.html
- java/src/javax/xml/transform/stream StreamResult.java
- StreamSource.java package.html
- java/src/org/w3c/dom Attr.java CDATASection.java
- CharacterData.java Comment.java DOMException.java
- DOMImplementation.java Document.java
- DocumentFragment.java DocumentType.java
- Element.java Entity.java EntityReference.java
- NamedNodeMap.java Node.java NodeList.java
- Notation.java ProcessingInstruction.java Text.java
- package.html
- java/src/org/w3c/dom/ranges DocumentRange.java Range.java
- RangeException.java package.html
- java/src/org/w3c/dom/traversal DocumentTraversal.java
- NodeFilter.java NodeIterator.java TreeWalker.java
- package.html
- java/src/org/xml/sax AttributeList.java Attributes.java
- ContentHandler.java DTDHandler.java
- DocumentHandler.java EntityResolver.java
- ErrorHandler.java HandlerBase.java InputSource.java
- Locator.java Parser.java SAXException.java
- SAXNotRecognizedException.java
- SAXNotSupportedException.java
- SAXParseException.java XMLFilter.java
- XMLReader.java package.html
- java/src/org/xml/sax/ext DeclHandler.java
- LexicalHandler.java package.html
- java/src/org/xml/sax/helpers AttributeListImpl.java
- AttributesImpl.java DefaultHandler.java
- LocatorImpl.java NamespaceSupport.java
- ParserAdapter.java ParserFactory.java
- XMLFilterImpl.java XMLReaderAdapter.java
- XMLReaderFactory.java package.html<br/><ref>Committer's log entry: </ref>Use a condensed copy of xml-commons sources instead of individual sources;
- remove xalan-specific copies of commons files<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java
- java/src/org/apache/xalan/templates ElemNumber.java
- java/src/org/apache/xml/utils/res XResources_cy.java
- XResources_el.java XResources_ja_JP_A.java
- XResources_ja_JP_HA.java XResources_ja_JP_HI.java
- XResources_ja_JP_I.java XResources_zh_CN.java
- XResources_zh_TW.java<br/><ref>Committer's log entry: </ref>Bugzilla 4601: Change ElemNumber to use a long integer for the value of the 
-number. This will allow us to format bigger numbers. As far as japanese 
-multipliers, we decided to document as a xalan limitation the fact that the 
-last 2 japanese multipliers will not be supported. If anyone has a strong and 
-valid user case for this, we will reconsider. For now, we could not justify the 
-expense of moving to BigInteger to support these multipliers.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Bugzilla 4735: We should at least report an error when we overflow DTM 
-addressing...<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorInclude.java<br/><ref>Committer's log entry: </ref>Bugzilla 4355: Make sure that when finding out if a stylesheet imports 
-itself, we use the resolved href.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Bugzilla 4158: Make sure we get the current, not the node pointed to by 
-m_next, which has been already incremented.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4344: discard attrs which don't have an element to belong to<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4344: more efficient.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Reorder slightly and add test to not synthesize xmlns:xsl declaration
- if one was already present on the DOM's root element.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D11">
-<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>09/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Removed the code which precalculated node levels
- (depth in tree). This has been IFed out for some time, but
- was retained in case we wanted to go back to it. Since it
- seems we're happy with this choice, zapping it entirely
- saves a few more cycles.
-
- It's simple enough to recreate if we change our minds later.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Minor cleanup and updates in preparation for extension function;
- note SAX portion isn't complete yet<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java
- java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Update EnvironmentCheck service with SAX checking; better method organization;
- Add checkEnvironment to xalan: built-in Extensions class<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>Bug 2140: Catch index out of bounds exception<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bug 2130: Check for null data to avoid NPE<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java
- java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Bug 3421: Issue an error if namespace attribute is used with an empty string 
-in xsl:element<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Backing out this change. Some conformance tests need to be updated first<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Bug 3421: Issue an error if namespace
- attribute is used with an empty string in xsl:element<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref>Bug 3442: when building the prefix table for an element, just override 
-prefixes defined in parent element with uris that have been redefined by the 
-element instead of keeping both uris in the table.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerFactory.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 3491: updated error message text; also updated Javadoc to
- reflect @throws; note that the Javadoc is still somewhat contradictory
- about returning a null on error (it appears to throw exceptions instead)
- PR:3491
- Submitted by:Julian.Birch@ranplc.co.uk<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/javax/xml/transform TransformerFactory.java
- java/src/org/apache/xml/dtm DTMManager.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 3423: documentation updates for proper class, property names
- (one of two checkins)
- PR:3423
- Submitted by:gthb@dimon.is<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPath.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 2637: documentation updates for constructor functionality
- PR:2637
- Submitted by:gthb@dimon.is<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemUse.java<br/><ref>Committer's log entry: </ref>Bug 2548: Combine attribute sets with the same name but process them in order 
-of precedence.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes UnionPathIterator.java<br/><ref>Committer's log entry: </ref>Bug 3533: Check for null m_iterators before trying to use it.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer KeyRefIterator.java<br/><ref>Committer's log entry: </ref>Bugzilla 3618: Check cache before anything else when getting the next node in 
-the iterator.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletException.java<br/><ref>Committer's log entry: </ref>Changed the TransletException class so that it inherits from SAXException
- and not from Exception. This should make it possible for us to avoid
- testing for both SAXExceptions and TransletExceptions. Exception handling
- is one of the things that JVM takes its time with, and we should try to
- avoid using them when we can, and use as few of them as possible otherwise.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Bugzilla 2332: Implement getAttribute() method to return the values for 
-incremental and optimize<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Enable Attr.getOwnerElement()<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java
- java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Bugzilla 1803: Handle version attribute on a litteral element.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>release 2.2.D11<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>release 2.2.D11<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java<br/><ref>Committer's log entry: </ref>Mark xsl:template as containing ordered elements. Fix for no error when 
-xsl:param not first child of xsl:template<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java
- ElemTemplateElement.java Stylesheet.java<br/><ref>Committer's log entry: </ref>Bugzilla 3800: Make sure that when looking for excluded prefixes, we check 
-the URI associated with the prefix, not the prefix in the excluded list.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Do not reorder or strip duplicate nodes when converting a DOM nodelist into a 
-DTM nodelist<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref
- IncrementalSAXSource_Filter.java<br/><ref>Committer's log entry: </ref>Catch for unwrappered StopException (apparently not all parsers generate
- a SAXException wrapper).<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- DTMDefaultBaseIterators.java
- DTMDefaultBaseTraversers.java
- java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Creating the implied Namespace Node for xml:<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D10">
-<note>The SQL Extension library has been updated to work with DTM.</note>
-<p> Core (Non-XSLTC) source code updates:</p><ul>
-<li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 3056 
-(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3056). SAX2DTM now keeps 
-track if it is receiving events inside a DTD and ignores comment events when 
-inside the DTD.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Update version for 2.2.D9 build<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java
- DefaultConnectionPool.java SQLDocument.java
- XConnection.java<br/><ref>Committer's log entry: </ref>Fixed bug in connect method where User and Password were not
- correctly being passed to the JDBC Driver. Requires chnage in
- ConnectionPool Interface
- Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>Use defined constant DTMManager.IDENT_DTM_NODE_BITS for shifting DTM nodes, 
-not hard coded value.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Fix problem with resolving a relative URI from a processing instruction<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Make sure base is not null before checking for its contents.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates FuncDocument.java<br/><ref>Committer's log entry: </ref>Fix document function so that if only one argument is passed and it is a 
-nodetest, the base to be used to resolve relative URIs is the base of the each 
-node in the nodeset.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java<br/><ref>Committer's log entry: </ref>Allow multiple iterations of xsl:with-param within an xsl:call-template or 
-xsl:apply-template<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Added getCurrentNodeList() for getting the current node list as defined
- by http://www.w3.org/TR/xslt#dt-current-node-list.
- This looks up the stack of the SubContextLists to find the top-level
- LocPathIterator. I'm fairly unhappy with this fix, and hope to restructure
- the context list stuff a bit to avoid the casts in the getCurrentNodeList(),
- and to fix getCurrentNode() so that it properly defines the current
- node as defined by the XSLT spec. As a matter of fact, I would
- like to break up XPathContext into an XSLTContext.
- Part of the http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3031
- fix.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncCurrent.java<br/><ref>Committer's log entry: </ref>Call new XPathContext#getCurrentNodeList. Fixes
- http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3031.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer KeyRefIterator.java
- java/src/org/apache/xpath/axes ChildIterator.java
- ChildTestIterator.java DescendantIterator.java
- MatchPatternIterator.java
- SelfIteratorNoPredicate.java UnionPathIterator.java<br/><ref>Committer's log entry: </ref>Fix for problem reported by Mike Starr &lt;mike.starr@air2web.com&gt;,
- where the transformation hangs for "foo[2] | bang"
- patters, i.e. unions with positional predicates. The fix
- is to have the iterators#nextNode() set m_lastFetched to DTM.NULL
- when m_foundLast is found to be true on function entry
- (after the cache check). This allows getCurrentNode() to
- fullfill it's contract of returning null if the last fetch was
- null. The bug occured after an optimization for positional
- predicates to have them not continue searching once
- the positional node was found, by setting m_foundLast
- to true.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Removed debug flag
- Submitted by:John Gentilin<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java
- XConnection.java<br/><ref>Committer's log entry: </ref>Fixed Streaming Mode
- Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTM.java
- java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- DTMDocumentImpl.java DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>added document registration and release events to the DTM interface
- Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>Fix bug 3112 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3112). Fix 
-tokenize to work with DTM by obtaining a new DocumentBuilder and not using the 
-document from the context node.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java
- java/src/org/apache/xpath/operations Variable.java<br/><ref>Committer's log entry: </ref>Fix bug 3265 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3265). Using 
-an expression in the evaluate extension function that contains a top-level 
-variable was cause an NPE.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForChars.java<br/><ref>Committer's log entry: </ref>Fixed two bugs, one in getChars and one in charAt where the m_start
- offset wasn't being used correctly. This manifested itself in some
- stuff I was doing with the startsWith function, but likely caused
- many other bugs with other functionality.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/27/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc StripFilter.java<br/><ref>Committer's log entry: </ref>Forgot to add this file in my last putback.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>added dumpNode method, convenience for debugging.
-
- We might want to move this function up to DTMDefaultBase, or
- perhaps to the DTM API itself.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToText.java<br/><ref>Committer's log entry: </ref>Fix http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3131 by
- overriding writeNormalizedChars and writeUTF16Surrogate to
- not do any XML escaping.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>The index was being stored as opposed to the node handle when we were 
-replacing namespace nodes. Store the actual node handle.<br/><br/></li>
-<li><ref>Committed by</ref> mmidy@apache.org<ref> on </ref>08/29/2001<br/><ref>Modified: </ref>
-java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 2684 StringIndexOutOfBounds Exception. Check if we are at the end of the pattern string.<br/><br/></li>
-</ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D9">
-<p> Core (Non-XSLTC) source code updates:</p>
-<ul><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>2.2.D8<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>2.2.D8<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer NodeSortKey.java<br/><ref>Committer's log entry: </ref>Submitted fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2851.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Just added some stuff to diagnose bugs for flavor th.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java
- java/src/org/apache/xpath/compiler Compiler.java
- java/src/org/apache/xpath/patterns
- ContextMatchStepPattern.java StepPattern.java<br/><ref>Committer's log entry: </ref>These are changes submitted (offline) by Mukund Raghavachari/Watson/IBM@IBMUS.
-
- This fixes a bug with match="chapter//footnote[1]" patterns.
-
- The main change here is minor to remove the automatic attachment of parent::* 
-to simple step patterns.
-
- He has re-implemented executePredicates to be
- more efficient. Given a pattern such as row[6], it
- does not iterate over the entire axis until it reaches
- the node to see if it is the sixth node. Rather,
- starting from the current node, it works backwards
- (preceding siblings) until it either runs out of nodes
- or finds more than six nodes that match the
- predicate [I can explain it better if desired].
- This optimization improves performance slightly
- overall. It helps decoy and patterns most (by
- about 10%).
-
- The other optimization that I implemented was the
- following. For a pattern foo[][3][][4] ..., where more
- than one predicate is a number (position check),
- in checking the predicate [4], the fact that the
- current node has passed foo[][3] implies that it is
- the only node that is the third node among its
- siblings that passes foo[]. Therefore, any
- subsequent position checks can be true if and
- only if the position is [1]. This optimization is not
- used by the xsltmark benchmarks and so does
- not offer any performance benefits.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes DescendantIterator.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1336<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>Resize the m_patternMap if m_patternMapSize exceeds the bounds.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions
- ExtensionHandlerGeneral.java
- ExtensionHandlerJavaPackage.java
- ExtensionsTable.java MethodResolver.java
- java/src/org/apache/xalan/lib Extensions.java
- java/src/org/apache/xalan/lib/sql ConnectionPoolManager.java
- java/src/org/apache/xalan/processor ProcessorLRE.java
- ProcessorTemplateElem.java StylesheetHandler.java
- TransformerFactoryImpl.java XSLTAttributeDef.java
- XSLTElementProcessor.java
- java/src/org/apache/xalan/res XSLTErrorResources.java
- java/src/org/apache/xalan/serialize CharInfo.java
- WriterToUTF8Buffered.java
- java/src/org/apache/xalan/templates ElemExtensionCall.java
- ElemExtensionDecl.java ElemMessage.java
- FuncDocument.java FuncFormatNumb.java
- OutputProperties.java StylesheetRoot.java
- java/src/org/apache/xalan/transformer TrAXFilter.java
- TransformerHandlerImpl.java
- TransformerIdentityImpl.java TransformerImpl.java
- java/src/org/apache/xalan/xslt Process.java
- java/src/org/apache/xml/dtm DTMException.java
- DTMManager.java
- java/src/org/apache/xml/dtm/ref ChunkedIntArray.java
- CoroutineManager.java CoroutineSAXParser.java
- CoroutineSAXParser_Xerces.java DTMBuilder.java
- DTMDefaultBase.java DTMDefaultBaseIterators.java
- DTMDefaultBaseTraversers.java
- DTMManagerDefault.java
- IncrementalSAXSource_Filter.java
- IncrementalSAXSource_Xerces.java
- java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
- java/src/org/apache/xml/utils ObjectPool.java QName.java
- URI.java
- java/src/org/apache/xpath NodeSet.java NodeSetDTM.java
- VariableStack.java XPath.java XPathContext.java
- java/src/org/apache/xpath/axes WalkerFactory.java
- java/src/org/apache/xpath/functions FuncSubstring.java
- FunctionDef1Arg.java
- java/src/org/apache/xpath/objects
- XRTreeFragSelectWrapper.java XStringForChars.java
- java/src/org/apache/xpath/operations Variable.java
- java/src/org/apache/xpath/res XPATHErrorResources.java<br/><ref>Committer's log entry: </ref>Getting all (almost all) error message strings into the resource bundle<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/27/2001<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref DTMBuilder.java<br/><ref>Committer's log entry: </ref>Accidentally added. Now deleting.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath Expression.java
- java/src/org/apache/xpath/axes AxesWalker.java
- LocPathIterator.java PredicatedNodeTest.java
- ReverseAxesWalker.java
- java/src/org/apache/xpath/objects XNumber.java
- java/src/org/apache/xpath/operations Variable.java<br/><ref>Committer's log entry: </ref>If a proximity predicate is a stable number (variable or number literal) then,
- once the node is found, don't keep searching! (since only one
- node is possible).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>In getNextNamespaceNode and getFirstNamespaceNode, was
- sometimes returning a node without the DTM identity bits.
- Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2878.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler OpMap.java<br/><ref>Committer's log entry: </ref>Throw real error instead of runtime error in getFirstPredicateOpPos
- for better error reporting.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes PredicatedNodeTest.java
- java/src/org/apache/xpath/compiler OpMap.java<br/><ref>Committer's log entry: </ref>Bit of a hack to make /descendant-or-self::north with getFirstPredicateOpPos
- where getFirstPredicateOpPos was always throwing an error if
- there was not a predicate (!! Should have been discovered before
- now?!?!). If -2 return -2 (instead of throwing an error), and
- handle this case in PredicatedNodeTest#initPredicateInfo.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ObjectArray.java
- SQLDocument.java SQLErrorDocument.java
- XConnection.java<br/><ref>Committer's log entry: </ref>Added the original pquery and streaming mode functionality
- Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/30/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/lib/sql DTMDocument.java<br/><ref>Committer's log entry: </ref>Added DTM Document, a common impl between SQLDocument and SQLErrorDocument
- Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes DescendantIterator.java
- WalkerFactory.java<br/><ref>Committer's log entry: </ref>Fix addresses http://nagoya.apache.org/bugzilla/enter_bug.cgi?product=XalanJ2,
- and a whole class of related problems.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XNodeSet.java XObject.java
- java/src/org/apache/xpath/patterns StepPattern.java<br/><ref>Committer's log entry: </ref>Detach expressions in match patterns. Also, defined
- numWithSideEffects and boolWithSideEffects (for lack of
- better names) that will increment the iterator, and call these
- for predicates. The combination of these results in about an
- 18% performance improvement for decoy.xsl.
- Credits to Mukund Raghavachari/Watson/IBM@IBMUS.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions
- ExtensionHandlerGeneral.java
- java/src/org/apache/xalan/res XSLTErrorResources.java
- java/src/org/apache/xalan/templates ElemExtensionDecl.java<br/><ref>Committer's log entry: </ref>Add support for external scripts (ie, the src attribute on a script element)<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java
- java/src/org/apache/xpath/axes ChildTestIterator.java
- OneStepIteratorForward.java<br/><ref>Committer's log entry: </ref>In XPathContext#createDTMIterator(int node), call 
-OneStepIteratorForward(Axis.SELF)
- instead of DescendantIterator. This addresses one of the bugs
- in http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925
- (i.e. &lt;xsl:copy-of select="xalan:nodeset($stylesheets)"/&gt;...
- The DescendantIterator was enumerating all of the nodes in the RTF
- rather than just the one.)<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java
- ConnectionPoolManager.java DTMDocument.java
- DefaultConnectionPool.java ObjectArray.java
- PooledConnection.java SQLDocument.java
- SQLErrorDocument.java XConnection.java<br/><ref>Committer's log entry: </ref>Added Error Managment and javadocs
- Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/patterns StepPattern.java<br/><ref>Committer's log entry: </ref>Fixed some major problems with position() and last() in secondary
- predicates for match patterns. Credit goes to
- Mukund Raghavachari/Watson/IBM@IBMUS for flagging these.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>Update after building Unit Test's
- Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTAttributeDef.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 2930. Fix from Alexander Rudnev. Handle namespaced elements.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTMAxisIterator.java
- java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java
- DTMDefaultBaseIterators.java
- java/src/org/apache/xpath/axes OneStepIterator.java<br/><ref>Committer's log entry: </ref>Addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2945
-
- Bug was caused by (redundent) cloneWithReset being called from
- the UnionPathIterator, and the iterator in OneStepIterator not being
- reset. (Need to review: check other iterators for this.)
-
- Call reset on the iterator in OneStepIterator#reset. Reset the position
- value in the ancestor iterator reset. Define DTMAxisIterator#cloneIterator
- to not reset the iterator position, and fix the implementations of
- this to not call clone.reset().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java
- java/src/org/apache/xpath NodeSetDTM.java
- java/src/org/apache/xpath/functions FuncExtFunction.java
- java/src/org/apache/xpath/objects XBoolean.java
- XNodeSet.java XNumber.java XObject.java<br/><ref>Added: </ref>java/src/org/apache/xpath/objects XNodeSetForDOM.java<br/><ref>Committer's log entry: </ref>Address http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925
-
- Create new XObject, XNodeSetForDOM, which is constructed
- from a Node, NodeList, or NodeIterator, and acts the same as
- XNodeSet, except it returns the original object for object(),
- nodeset(), and nodelist().
-
- Add XObject#create(Object val, XPathContext xctxt), which is
- called from TransformerImpl#setParameter(s), and
- FuncExtFunction#execute (for the return values of the
- extension).
-
- XBoolean and XNumber now also have Boolean and Number
- constructors, in which case the original object will also be
- returned from the object() method.
-
- This should make the conversion from java object to XObject
- consistent between function returns and setParameter. These
- changes should also fix a bug where NodeLists weren't being converted.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/03/2001<br/><ref>Added: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Replacement for org.xml.sax.helpers.NamespaceSupport; extends
- that API so it can be easily swapped in.
-
- Current changes;
-
- Minor code reorg. I'm sorry, but I find classes easier to read
- if fields are defined before methods reference them rather than
- at end, especially when inner classes are present.
-
- Punt stack vector in favor of doubly-linked list. (It was already
- singly-linked in parallel with the vector!)
-
- The whole dirty-tables concept was broken, because Context's
- ctor always called copyTables and thus always marked tables
- dirty. It also wasted some time setting itself only to be reset by
- setParent. I've fixed both by parameterizing the ctor and making
- copyTables specific to prep-for-new-declaration. (Could be
- moved back into the declaration method, for that matter.)
-
- I'm dubious about the caches in processName. As far as I can
- tell, Xalan per se never actually uses that method...
-
- The use of Hashtables is questionable. Hashtable is
- known to be inefficient and oversynchronized in older JVMs, and
- the fact that this is a bidirectional mapping suggests that an
- approach similar to our own String Pool -- lighter-weight, more
- targeted, hashing without reduplicating the two column tables --
- would be a win. Since these are typically short sets, even
- simple linear search is worth considering!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java
- java/src/org/apache/xalan/templates ElemTemplateElement.java
- java/src/org/apache/xalan/transformer ResultTreeHandler.java
- TransformSnapshotImpl.java<br/><ref>Committer's log entry: </ref>Cutover to NamespaceSupport2, q.v.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Continuing code review.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>More efficient prefixes-for-specific-URI. This may wind up being
- redone yet again if/when the underlying storage representation
- changes.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>08/03/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/lib PipeDocument.java<br/><ref>Committer's log entry: </ref>PipeDocument extension element (the pipeDocument method).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java
- java/src/org/apache/xpath NodeSet.java NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Bug fixed regarding the current() function in the root template
- (related to bug#1269). Bug was reported by David Marston
- offline. The test for this is conf/copy/copy29.
-
- In TransformerImpl#applyTemplateToNode, create a NodeSetDTM and pass it to 
-m_xcontext.pushContextNodeList(cnl);.
- In NodeSetDTM fix getCurrentNode so that it doesn't use m_next-1
- (which simply appears to be completely wrong). Do the same for
- NodeSet... though I don't think this will be called anywhere in
- Xalan.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTMAxisIterator.java
- java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java
- DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Provide method for DTMAxisIterator to get the current root node
- of the iteration.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XObject.java<br/><ref>Committer's log entry: </ref>In response to regression posted on xalan-dev by John Gentilin 
-&lt;johnglinux@eyecatching.com&gt;
- on 08/03/2001 06:49 PM. When the XNodeSet taks a DTMIterator, it
- will call val.getDTMManager();, which will call LocPathIterator#getDTMManager,
- which will call m_execContext..getDTMManager(), which means
- that setRoot has to be called on the iterator before it is added to
- XNodeSet. Thus, call setRoot on the OneStepIterator in
- create(Object, XPathContext) before it is added to the XNodeSet.
- The regression was related to fix for 
-http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes OneStepIterator.java<br/><ref>Committer's log entry: </ref>For the OneStepIterator(DTMAxisIterator iterator) constructor,
- initialize the node tests to DTMFilter.SHOW_ALL (duh).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XObject.java<br/><ref>Added: </ref>java/src/org/apache/xpath/objects XObjectFactory.java<br/><ref>Committer's log entry: </ref>Move create methods from XObject to XObjectFactory, in response
- to cyclic build problems encountered with javac 1.1.8.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Moved anonomous class to PrefixEnumerator, in response
- to problems encountered with 1.1.8 build.
- Joe may want to fix this in another way, as
- I'm sure the anon class is probably a bit
- cheaper?<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Address http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2972,
- where it was throwing a NPE instead of reporting that the variable
- was being accessed before it was bound (i.e. the variable was being
- accessed inside an RTF for that same variable).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>Remove m_hasStarted variable and associated assertion.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Addresses bug http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3001.
- In the cloneIterator function of PrecedingIterator, the cloned array
- was being sized for _maxAncestors, which defaults to 8. But if the
- _stack was resized, it will copy more into the new stack than is
- allocated. The solution is to allocate the new clone._stack array to
- _stack.length.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Don't create caches unless used (which I don't think they are, in Xalan).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Made _maxAncestors not static, as this is
- not compatible with 1.1.8 (reported by
- Gary Peskin).<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Playing a hunch, I moved the Context objects out of NamespaceSupport2.
- They're now a second class in the same file rather than being an inner class.
- That reduces the size of the Context2 object, and its initialization time, by
- removing the need for it to carry a reference to the NamespaceSupport2
- object that created it.
-
- Performance seems significantly improved... even (surprisingly!) on the
- getDeclaredPrefixes operation. Memory usage also seems better, as
- expected.
-
- NamespaceSupport2 is still acounting for about 5%
- of the time spent in the ResultTreeHandler, according
- to my latest trace. Apparently we are calling
- getDeclaredPrefixes an obscenely large number of
- times, and the Vector.elements call is adding up. We
- may want to look at where this is being called from
- and whether we can reduce the number of invocations.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Performance improvement; avoid scanning the same list twice.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerHandlerImpl.java TransformerImpl.java
- java/src/org/apache/xalan/xslt Process.java
- java/src/org/apache/xml/dtm/ref
- IncrementalSAXSource_Filter.java
- java/src/org/apache/xml/utils DefaultErrorHandler.java
- java/src/org/apache/xpath/operations Variable.java<br/><ref>Committer's log entry: </ref>This checkin hopefully fixes many problems with bad diagnostics lately, but
- at the expense of a slight change in behavior. The rule now is, the
- DefaultErrorHandler never outputs location info for error and fatalError... 
-this has to be done
- by the catcher of the exception. Convenience methods for this are
- in DefaultErrorHandler#printLocation. This method will unwrap the
- exception as close to the originating source as possible.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions
- XSLProcessorContext.java
- java/src/org/apache/xml/dtm DTMIterator.java
- java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java
- java/src/org/apache/xpath NodeSetDTM.java
- java/src/org/apache/xpath/axes AttributeIterator.java
- AxesWalker.java ChildIterator.java
- ChildTestIterator.java DescendantIterator.java
- FilterExprWalker.java LocPathIterator.java
- OneStepIterator.java OneStepIteratorForward.java
- ReverseAxesWalker.java UnionPathIterator.java
- WalkingIteratorSorted.java
- java/src/org/apache/xpath/objects XObjectFactory.java<br/><ref>Committer's log entry: </ref>Changes to allow some dynamic determination in WalkerIteratorSorted to
- see if the nodes really need to be sorted. Added isDocOrdered() and
- getAxis() to both DTMIterator and AxesWalker, and implemented
- appropriate overloads in derived or implementing classes. In FilterExprWalker
- return the contained DTMIterator's getAxis(). In WalkerIteratorSorted,
- implement canBeWalkedInNaturalDocOrder() function that is called
- from setRoot(...). If this function returns true, than don't sort the nodes
- in setRoot, and in all other respects treat this as if it is a simple
- WalkingIterator.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix for bugzilla 1251. Make sure exceptions are thrown when we're on the main 
-thread.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes AxesWalker.java
- WalkerFactory.java WalkingIteratorSorted.java<br/><ref>Committer's log entry: </ref>Eliminate do/while check for duplicates in AxesWalker#nextNode()
- by using WalkingIteratorSorted for cases where both the preceding[-sibling]
- and following[-sibling] axes are being walked, and for "@*/foo" patterns
- ("@attr/foo" patterns still use WalkingIterator).<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates FuncFormatNumb.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 3036 
-(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3036). When no 
-xsl:decimal-format element is supplied in the composed stylesheet, the defaults 
-specified in the Recommendation section 12.3 should be used for the attribute 
-values, not locale-specific defaults.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Fix for bugzilla 3060 
-(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3060). Prefixes and
- namespaceURIs are kept in the same Vector, m_prefixMappings. The entries are 
-stored as pairs of vector elements. The even elements contain the prefix and 
-the odd elements contain the URI. In two routines, getPrefix and endElement, 
-the appropriate prefix or URI was being located in the Vector using an 
-indexOf. However, in this case where the prefix and the URI were the same, the 
-routine was looking for the URI but finding the prefix instead of the URI. It 
-tried tried to back up one to get the prefix and underflowed the Vector size.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java
- TransformerImpl.java<br/><ref>Committer's log entry: </ref>Implement ErrorHandler in ResultTreeHandler so that fatal errors can get 
-passed in to the SAXHandler. Also change the code in TransformerImpl to call 
-fatalError in case of an error instead of endDocument. (overlaps with URI 
-handling fix...)<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java
- java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java
- java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Fix code to handle absolute paths from unix systems. This fix is part of an 
-ongoing process and is just meant to fix a few pending bugs. More changes are 
-expected in this area.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Change version for xalan2.2.D9 build<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java
- java/src/org/apache/xalan/transformer ResultTreeHandler.java
- java/src/org/apache/xml/utils DefaultErrorHandler.java<br/><ref>Committer's log entry: </ref>ResultTreeHandler was pushing a new namespace context but failing to note 
-that result in more pushes than pops. Cleaned up the execute() method of 
-ElemElement to make it more understandable (to me) and added a few comments. 
-The DefaultErrorHandler was not flushing Writers that it created. Since the 
-Writers are never closed (and cannot be as there is no close method), error 
-messages were failing to appear.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTMManager.java<br/><ref>Committer's log entry: </ref>Increasing the number of bits used to identify DTM nodes, at the expense of 
-decreasing the number of DTMs that a DTMManager can track simultaneously. Some 
-other code has been updated to track this change (and to better track posible 
-future changes), as have the IDKEY testcases.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- DTMDocumentImpl.java DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Increasing the number of bits used to identify DTM nodes, at the expense of 
-decreasing the number of DTMs that a DTMManager can track simultaneously. Some 
-other code has been updated to track this change (and to better track posible 
-future changes), as have the IDKEY testcases.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncGenerateId.java<br/><ref>Committer's log entry: </ref>Increasing the number of bits used to identify DTM nodes, at the expense of 
-decreasing the number of DTMs that a DTMManager can track simultaneously. Some 
-other code has been updated to track this change (and to better track posible 
-future changes), as have the IDKEY testcases.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Try to support getRoot. Fixes problem with TransformStateTest.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java<br/><ref>Committer's log entry: </ref>Fix problem with duplicate nodes produced from a walking iterator<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D8">
-<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Code Update
- Submitted by:John Gentilin<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Fixed DTM.NULL compile error<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TreeWalker2Result.java<br/><ref>Committer's log entry: </ref>Redundant test removed, possibly redundant code flagged for %REVIEW%<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java
- java/src/org/apache/xalan/transformer
- TransformerHandlerImpl.java
- java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
- DTMDocumentImpl.java DTMManagerDefault.java
- IncrementalSAXSource.java
- IncrementalSAXSource_Filter.java
- IncrementalSAXSource_Xerces.java
- java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
- java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>IncrementalSAXSource replaces CoroutineSAXParser -- simpler API,
- hence less risk of programming errors introducing timing windows. I hope.
- A few performance-related tweaks are also included in this check-in.
- Only very minor gains are expected.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ObjectArray.java
- SQLDocument.java<br/><ref>Committer's log entry: </ref>Project Update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Oops.Should have been checked in as part of the IncrementalSAXSource cutover. 
-Sorry!<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java build.xml
- java/src/org/apache/xml/dtm/ref
- IncrementalSAXSource_Filter.java
- java/src/org/apache/xml/utils/synthetic JavaUtils.java<br/><ref>Committer's log entry: </ref>3 small fixes to the build process ( to make it work with jdk1.4 and crimson)
-
- - exclude IncrementalSAXSource_Xerces if xerces is not detected
- - comment-out the "main" in IncrementalSAXSource_Filter.java ( it is a
- test, but has deps on xerces )
- - don't try to load the compiler in syntetic/JavaUtils. This is a mess,
- it was debated on tomcat-dev and ant-dev, as you may know some people
- decided to remove the internal compiler class ( sun.tools.javac.Main ),
- and that brakes jasper, ant and now xalan.
-
- It seems right now the only portable way to run the compiler is via command
- line call in a separate process ( jikes can easily make up for the
- overhead of creating a new process and doesn't leave garbage ).
-
- Question: is synthetic used ? Seems like a very usefull package, but if
- xalan is not using it it might be better to move it to xml-commons or
- jakarta-commons or some other place.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Don't set m_level anymore, as it looks like Joe commented out it's
- initialization. m_level is no longer called by Xalan, and the implementation
- can calculate it when it is called.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Fixed bug 2758 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2758). The 
-flag indicating that a call to startDocument() in the resultContentHandler was 
-necessary was not being reset for multiple transforms.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Fix bug 2727 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2727). 
-Attributes which contain a namespace prefix are indicated by placing a negative 
-number in the appropriate entry in the m_dataOrQName array. The absolute value 
-of this number is an entry in m_data. However, in this example, there were no 
-text nodes before the first namespaced attribute so the entry in m_data had an 
-array index of 0. This resulted in an entry of zero, not a negative number, in 
-m_dataOrQName. This situation got several routines which tested for &lt; 0 
-confused. I looked at several ways of fixing this but decided to just always 
-allocate m_data.elementAt(0) entry to a dummy entry. The other solutions 
-involved runtime checking which could slow down this piece of code and I felt 
-that wasting one entry was worth it to not slow down the run time.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize
- WriterToUTF8Buffered.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 2639 
-(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2639) where buffer was 
-overflowing because the expansion of the Unicode characters into multiple UTF8 
-characters was not being properly taken into account. Many thanks to 
-Gunnlaugur Thor Briem for his "multiply by three" trick.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer NodeSorter.java<br/><ref>Committer's log entry: </ref>Commented out NumberFormat m_formatter = NumberFormat.getNumberInstance();.
-
- Mukund reported:
-
- a minor improvement for alphabetize.xsl is to comment out the line
-
- //NumberFormat m_formatter = NumberFormat.getNumberInstance();
-
- in NodeSorter.java. The variable m_formatter does not seem to be used 
-anywhere, and the performance difference is:
-
- Before: alphabetize 10 90 5108 196 156 34.58 
-OK
- After : alphabetize 10 70 4316 196 156 
-40.93 OK<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>2.2.D8<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>2.2.D8<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer NodeSortKey.java<br/><ref>Committer's log entry: </ref>Submitted fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2851.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Just added some stuff to diagnose bugs for flavor th.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java
- java/src/org/apache/xpath/compiler Compiler.java
- java/src/org/apache/xpath/patterns
- ContextMatchStepPattern.java StepPattern.java<br/><ref>Committer's log entry: </ref>These are changes submitted (offline) by Mukund Raghavachari/Watson/IBM@IBMUS.
-
- This fixes a bug with match="chapter//footnote[1]" patterns.
-
- The main change here is minor to remove the automatic attachment of parent::* 
-to simple step patterns.
-
- He has re-implemented executePredicates to be
- more efficient. Given a pattern such as row[6], it
- does not iterate over the entire axis until it reaches
- the node to see if it is the sixth node. Rather,
- starting from the current node, it works backwards
- (preceding siblings) until it either runs out of nodes
- or finds more than six nodes that match the
- predicate [I can explain it better if desired].
- This optimization improves performance slightly
- overall. It helps decoy and patterns most (by
- about 10%).
-
- The other optimization that I implemented was the
- following. For a pattern foo[][3][][4] ..., where more
- than one predicate is a number (position check),
- in checking the predicate [4], the fact that the
- current node has passed foo[][3] implies that it is
- the only node that is the third node among its
- siblings that passes foo[]. Therefore, any
- subsequent position checks can be true if and
- only if the position is [1]. This optimization is not
- used by the xsltmark benchmarks and so does
- not offer any performance benefits.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes DescendantIterator.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1336<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D7">
-<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Since the real root of our tree may be a DocumentFragment, we need to
- use getParent to find the root, instead of getOwnerDocument. Otherwise
- DOM2DTM#getHandleOfNode will be very unhappy.
- Result of report via private mail by Carsten Ziegeler of breakage
- in Cocoon.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java
- SerializerToXML.java<br/><ref>Committer's log entry: </ref>Made m_maxCharacter, accumDefaultEscape,
- accumDefaultEntity, and m_isRawStack
- protected by request from Johannes Farrenkopf
- and Frank Nestel.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncNormalizeSpace.java<br/><ref>Committer's log entry: </ref>In executeCharsToContentHandler check first for
- DTM.NULL before trying to get the DTM.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Fix bug reported by "Carsten Ziegeler" &lt;cziegeler@sundn.de&gt;.
- Test for this is whitespace23.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>Drop some bounds tests for cases which shouldn't arise in the first place, 
-since this is an inner-loop method.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedByteVector.java
- SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>Synch SuballocatedByteVector with changed SuballocatedIntVector<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java<br/><ref>Committer's log entry: </ref>Revert back to throwing a shutdownException if (arg == null) in co_yield. I 
-see this
- occur if the parser is Crimson with output\output01, and it causes
- a hang if the shutdownException is not thrown.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Make accumDefaultEntity and accumDefaultEscape non-final.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes ChildTestIterator.java
- OneStepIterator.java
- java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>Fix for John G. for the SQL extension: handle return types of
- DTM and DTMAxisIterator.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>In executeChildTemplates, somehow there was a popMode without
- a corresponding pushMode. The pushMode was added.
- Addresses bug posted by Stephane Bailliez &lt;sbailliez@imediation.com&gt;
- on the xalan-dev list on 07/09/2001 07:28 AM.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions ExpressionContext.java
- java/src/org/apache/xalan/templates StylesheetRoot.java
- java/src/org/apache/xpath VariableStack.java
- XPathContext.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla 2355 
-&lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2355&gt;. To make the 
-functionality clearer, I've changed the method name from getVariable to 
-getVariableOrParam since the routine will pick up either one. Also fixed a 
-bug where top level variables and parameters were not getting marked as such.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java
- java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla 2523 
-&lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2523&gt;. evaluate extension 
-function was not refactored with DTM. Also need to add function to 
-XPathContext.XPathExpressionContext to allow an extension to obtain the 
-associated XPathContext.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes DescendantIterator.java<br/><ref>Committer's log entry: </ref>Fix problem with descendant-or-self and from root pattern. When from root, 
-descedant or self was not recognized.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Quick patch to handle case where someone wants to build a DTM from
- an Element rather than from a Document. The Attr handling might want to
- move down into addNode.
-
- This opens several cans of worms -- what if the next user wants the
- root of their DTM to be an EntityReference node, which has no DTM
- node equivalent -- but we'll eat those when we get to them.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>Modify distinct() extension so that it no longer relies on DOMHelper which is 
-deprecated but uses ExpressionContext.toString().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java
- java/src/org/apache/xalan/trace PrintTraceListener.java
- java/src/org/apache/xalan/transformer TransformerImpl.java
- java/src/org/apache/xalan/xslt Process.java
- java/src/org/apache/xml/dtm DTM.java
- java/src/org/apache/xml/dtm/ref DTMDocumentImpl.java
- ExpandedNameTable.java
- java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Added: </ref>java/src/org/apache/xalan/lib NodeInfo.java
- java/src/org/apache/xalan/transformer XalanProperties.java
- java/src/org/apache/xml/dtm/ref NodeLocator.java<br/><ref>Committer's log entry: </ref>Application of patch submitted by Ovidiu Predescu &lt;ovidiu@cup.hp.com&gt;
- for file, line, column number information for XML source document.
-
- [A made one change: m_sourceSystemId, m_sourceLine, and
- m_sourceColumn are not created with the member variable
- initializer, since they are initialized in setProperty.]
-
- The following patch is a rework of a previous patch I've submitted on
- May 24 against the Stree model, current at that time. This time the
- patch is against the DTM model, and makes use of DTM features to
- optimize the lookup time and storage requirements. I hope this time
- the patch gets incorporated in the CVS repository, before any major
- rework happens again ;-).
-
- As with the previous patch, there is no overhead in space or time if
- source information is not needed.
-
- From a user perspective, this feature can be turned on by passing the
- -L flag to Xalan when invoking it from the command
- line. Programmatically you can also enable it by invoking the
- setProperty method on the TransformerImpl:
-
- TransformerImpl impl = ((TransformerImpl) transformer);
- 
-impl.setProperty(org.apache.xalan.transformer.XalanProperties.SOURCE_LOCATION,
- Boolean.TRUE);
-
- A Transformer "property" is different from a "feature": while a
- feature is specific to all the transformer instances and usually
- refers to an implementation aspect, a property is a runtime capability
- that is set per Transformer instance. Currently the only property
- added by this patch is the source location in the XML source document.
-
- The patch adds two methods to the DTM interface:
-
- public void setProperty(String property, Object value);
- public SourceLocator getSourceLocatorFor(int node);
-
- The second method is used to obtain the source location given a node
- handle.
-
- There are two ways you can make use of the source location. The first
- one is from within a stylesheet, where you can have something like
- this:
-
- &lt;xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:nodeinfo="xalan://org.apache.xalan.lib.NodeInfo"
- version="1.0"&gt;
-
- &lt;xsl:template match="*"&gt;
- //node &lt;xsl:value-of select="name()"/&gt;
- //file &lt;xsl:value-of select="nodeinfo:systemId()"/&gt;
- //line &lt;xsl:value-of select="nodeinfo:lineNumber()"/&gt;
- //column &lt;xsl:value-of select="nodeinfo:columnNumber()"/&gt;
- &lt;xsl:apply-templates/&gt;
- &lt;/xsl:template&gt;
-
- &lt;/xsl:stylesheet&gt;
-
- If no arguments are passed to the systemId(), lineNumber() or
- columnNumber() functions, the corresponding information of the current
- context node is returned. A node can be passed as argument to the
- above functions, in which case the corresponding information about
- that node is returned. If a node set containing multiple nodes is
- passed as argument, only the information of the first node in the set
- is returned.
-
- The second way of obtaining the source location is
- programmatically. Given a Node instance, one can obtain the owner DTM
- and the node handle (an integer) that represents the
- node. Unfortunately I didn't see any way of hiding this: if you find
- one please let me know and I'll fix it.
-
- The following example is extracted from PrintTraceListener and
- illustrates the API:
-
- Node sourceNode = ev.m_sourceNode;
- int nodeHandler = ((DTMNodeProxy)sourceNode).getDTMNodeNumber();
- SourceLocator locator = ((DTMNodeProxy)sourceNode).getDTM()
- .getSourceLocatorFor(nodeHandler);
-
- m_pw.println("Selected source node '" + sourceNode.getNodeName()
- + "', at " + locator);<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Compiler.java<br/><ref>Committer's log entry: </ref>Fix bug 2175 &lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2175&gt; by 
-adding the current time to the method key to ensure method key uniqueness. 
-Multiple Compilers were getting the same hashCode, particularly in Visual Age 
-for Java, due to aggressive garbage collection. Added the current time in 
-mills to distinguish between the different functions being compiled.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemVariable.java
- StylesheetRoot.java
- java/src/org/apache/xpath VariableStack.java
- java/src/org/apache/xpath/operations Variable.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla 2355 
-&lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2355&gt;. Added code to 
-populate m_index for global variables and parameters. If the backward search 
-for templates reaches the top level, use the list of composed top-level 
-variables and parameters from StylesheetRoot.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Now implements DocumentFragment.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Updated version to 2.2.0.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Updated version to 2.2.0.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Fixed very ugly bug, left-over from DTM1, in getValue, where +1 was being 
-added per the old attribute structure of DTM1.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java
- DefaultConnectionPool.java PooledConnection.java
- QueryParameter.java XConnection.java<br/><ref>Added: </ref>java/src/org/apache/xalan/lib/sql ConnectionPoolManager.java
- ObjectArray.java SQLDocument.java
- SQLErrorDocument.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/lib/sql Column.java
- ColumnAttribute.java ColumnData.java
- ColumnHeader.java ExtensionError.java Row.java
- RowSet.java SQLExtensionError.java
- StreamableNode.java XConnectionPoolManager.java
- XStatement.java<br/><ref>Committer's log entry: </ref>First round of changes to port DOM mode to DTM Mode
- Submitted by: John Gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Check if locator property is set before trying to use locator fields<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/trace PrintTraceListener.java<br/><ref>Committer's log entry: </ref>Don't print locator message if locator is null<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>In startDocument, run m_contentHandler.startDocument before you start the 
-thread.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Call wait for initial events before the the transform is started.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java<br/><ref>Committer's log entry: </ref>Allow co_yield to be called after the parse has finished.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java
- SQLErrorDocument.java<br/><ref>Committer's log entry: </ref>Added setProperty and getSourceLocatorFor empty methods.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Fix problem reported by Carsten Ziegeler &lt;cziegeler@sundn.de&gt;. Using 
-ApplyXPath (or doing a transformation) with DOM input was resulting in an NPE 
-due to declareNamespaceInContext() being called before setting m_exptype which 
-is needed by declareNamespaceInContext().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>Add pauseForTransformThreadStartup. Call this in startDocument just
- after starting the transform thread. This should get rid of any variability
- with racing threads.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions
- XSLProcessorContext.java<br/><ref>Committer's log entry: </ref>Fix problem reported by jason heddings &lt;Jason.Heddings@Sun.COM&gt;.
-
- "In v2.0.1, I was able to pass a Node to this function and have the node
- be copied to the result tree (as expected). In the source code for
- XSLProcessorContext, it appears that the only objects that can be sent
- to the result tree are XObjects. Everything else is converted to a
- String. So for instance, I can no longer create a ProcessingInstruction
- and pass it to the result tree via this method since the PI is simply
- converted to a String."<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>Application of patch submitted by Benjamin Riefenstahl 
-&lt;Benjamin.Riefenstahl@ision.net&gt;
-
- Motivation: We are using Xalan to generate HTML pages. We have the
- requirement to integrate code for ad banners. The ad server provider
- has written the code to use with compatibility to NetScape 4 in mind.
- The code uses the NetScape proprietory &lt;LAYER&gt; element and &lt;IFRAME&gt;
- elements for other browsers. The SRC attributes of these elements
- contain URLs with several URL parameters separated by '&amp;', as is the
- common convention.
-
- Problem: The code is integrated in our XSL stylesheets. In the
- stylesheet the '&amp;' has to be written as the entity '&amp;amp;'. That's
- ok. The problem is that in the output the '&amp;' is also written as
- '&amp;amp;' which is not ok, because NetScape doesn't understand that.
- OTOH the same URL is written with '&amp;' when used in an &lt;A&gt; element.
-
- Solution: This goes down to a different handling of attribute values
- in the class SerializeToHTML, depending on whether the attribute in
- question is known to contain a URI or not. Xalan knows this for &lt;A&gt;
- but not for &lt;LAYER&gt; and &lt;IFRAME&gt;. When I compare the list in
- SerializeToHTML.java with the HTML specs, I find a couple of other
- missing URI attributes in SerializeToHTML.java. When I add the
- missing pieces, the generation works fine.
-
- Patch: Here is the patch (diff -c) for xalan-j_2_2_D6. I also have
- one for xalan-j_2_0_1 which is the version I actually tested this
- with. Please let me know if this is insufficient or the patch is
- wrong or if there is something else I can do to fix this problem.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>On code review of previous checkin from Gary P., we determined there
- was a problem with the point at which type was declared a
- DTM.NAMESPACE_NODE. So that part was moved back up (actuall
- a bit higher than where it was before),
- and the call to declareNamespaceInContext was moved a bit
- further down.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>Project Update
- Submitted by: John Gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Project Update
- Submitted by: John gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Fixup from previous check-in, defined new
- functions.
- Submitted by: John Gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Project Update<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>reduced Attribute's for testing<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Minor hack to catch an attribute value being null.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemNumber.java
- java/src/org/apache/xalan/transformer Counter.java
- CountersTable.java KeyRefIterator.java
- java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
- java/src/org/apache/xpath NodeSetDTM.java
- java/src/org/apache/xpath/axes LocPathIterator.java
- UnionPathIterator.java WalkingIteratorSorted.java
- java/src/org/apache/xpath/objects XNodeSet.java
- XRTreeFrag.java<br/><ref>Committer's log entry: </ref>Add new parameter to NodeSetDTM constructor. We need to have a DTMManager on 
-hand. Change code to use the new constructors.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>OOps! Back out this last change. Old code on my machine!!!<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Fixed a few bugs, almost there
- Submitted by: John Gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref CoroutineManager.java
- CoroutineSAXParser.java
- CoroutineSAXParser_Xerces.java<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref IncrementalSAXSource.java
- IncrementalSAXSource_Filter.java
- IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Starting to phase out Coroutine*Parser* in favor of IncrementalSAXSource*.
- The latter simplifies the code, and should help us avoid some of the
- confusion that can arise in using the older tools.
-
- Most importantly, it greatly simplifies the calling sequences, by discarding
- the "which file do you want to parse" and "do you want to parse any more
- files" transactions. These now operate _only_ as filters, and only as single
- -use (though in fact the Xerces-specific version is reusable, and we may
- reintroduce that feature in the generic filtering version at a later date).
-
- Note too that we have swept the CoroutineManager completely
- under the covers of the filter's API. There's no particular reason to expose
- that implementation detal to the outside world.
-
- Still to be done: Rework the rest of Xalan to use the new code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref CoroutineParser.java<br/><ref>Committer's log entry: </ref>Starting to phase out Coroutine*Parser* in favor of IncrementalSAXSource*.
- See comment in previous check-in; I just missed this one....<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMStringPool.java<br/><ref>Committer's log entry: </ref>doc.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>2.2.D7<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>2.2.D7<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref DTMBuilder.java<br/><ref>Committer's log entry: </ref>Obsolete<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D6">
-     <p><em>Important: Xerces has added a number of DOM level-3 methods to its DOM interfaces. The DOM level-3 proposal
-is currently a working draft (it is not yet a W3C recommendation), and Xalan does not support these new methods. 
-To run Xalan in the JDK 1.1.8 platform, you must put xalan.jar (with its DOM level-2 interfaces) in front of 
-xerces.jar on the system class path. If you want to rebuild Xalan (on JDK 1.1.8 or higher), you must put Xalan 
-in front of xerces.jar the system class path.</em></p>
-
-     <p>This beta release includes the following non-XSLTC code changes:</p>     
-     <ul>
-       <li>Costin Manolache has slightly modified the CoRoutine stuff so that a you can compile and run everything but the CoRoutineXercesParser without having Xerces on the classpath.<br/><br/></li>
-       <li>Joseph Kesselman added chunked int array stuff to address our scaling problems that Mukund &amp; co. uncovered.  This was a fairly mechanical, but still substantial, change.  No bugs have yet been discovered that relate to this.  This is probably the most controversial change.<br/><br/></li>       
-       <li>The Process class now outputs incrementally if the output is standard out.  This is mostly for testing purposes, but it makes general sense.<br/><br/></li>
-       <li>Bug was fixed with setting the incremental flag in TransformerFactoryImpl.  Clearly the change was made but never tested.  Simply a missing 'else'.<br/><br/></li>
-       <li>Fix for Bugzilla Bug 2275, Xalan did not fire the right templates.  This was substantial and somewhat risky.  Xalan had several problems related to the last() function.  Fixes cover four axes files.<br/><br/></li>                     
-       <li>Change PrintTraceListener to output the file, as well as the line numbers.  This is really a feature change, but simple, and aids diagnosing problems with multi-part stylesheets.<br/><br/></li>       
-       <li>XPath fix: the XPath API wasn't working correctly due to a problem with with NodeSet/NodeIterator adapters.  This fix ended up interacting quite a bit with the #2275 fix.<br/><br/></li>
-       <li>Fix for the Norm Walsh bug posted 06/20/2001: iterators weren't always being cloned correctly from the variable value stack.  This fix is not without some risk, though we haven't seen any problems since Scott Boag made it.<br/><br/></li>
-       <li>David Bertoni added missing html element properties to SerializerToHTML.java.<br/><br/></li>
-       <li>Shance Curcuru modified TransformerFactoryImpl.setAttribute() to accept a String ("true" or "false") as well as a Boolean object to set the value of a Boolean attribute.<br/><br/></li>
-       <li>TransformerHandlerImpl was threading when incrementality is turned off. Scott Boag has fixed this bug.</li>       
-     </ul>
-</s2>     
-   <anchor name="dtm"/>
-     <s2 title="Changes for &xslt4j; 2.2.D2">
-     <p>This release includes the following changes:</p>
-     <ul>
-       <li>Deprecation of the <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatiblity API</link></li>
-       <li>The DTM</li>
-       <li>Other optimization work</li>
-     </ul>
-     <p>The primary focus of the 2.2 Developer releases is incorporation of all our work over the past several months on the Document Table
-      Model (<link idref="dtm">DTM</link>).</p>
-
-<p>As a result of the changes in *internal* api, you may encounter problems with extensions. We have done some bug fixing in support
-for extensions since 2.2.D1.  John Gentilin is working on fixing the SQL library extension,which currently is broken. Please report 
-any problems you find (see <link anchor="bugs">bugs</link>).</p>
-
-<p>The DTM and related work provides faster performance and less accumulation of garbage... though it is an
-ongoing battle.  Brief summary:</p>
-<ul>
-<li>The DTM identifies nodes with 32-bit integer handles.
-The DTM has many features, including direct character dispatch to SAX2,
-native DTM iterators and "traversers", multiple document management, etc.<br/><br/></li>
-<li>Joe Kesselman's CoRoutine parsers, which are in a threaded SAX flavor
-and in a Xerces parseMore() flavor (no threads).  These do away with the
-"race" conditions that occured in the original code, and should make Xalan
-much more robust.<br/><br/></li>
-<li>*Much* more robust XPath itteration.  The "waiting" iterators of old are
-no more, and good riddance.  There is stil lots more we want to do with
-this mechanism.  (There is something here called MatchIterators, but it's
-not being used yet for various reasons.  We will be taking advantage of
-these down the line.)<br/><br/></li>
-<li>A fair amount of XObject creation reduction.  You can now get boolean,
-number, nodeset, and string values directly from an Expression, instead of
-going through an XObject.<br/><br/></li>
-<li>XMLString, which allows us to work with string objects that don't wrap
-Java's String object. These objects get their character data from an array or
-Fast String Buffer.<br/><br/></li>
-<li>Serializers now only do internal buffering if they know they are writing
-to a FileStream.<br/><br/></li>
-<li>The variable stack mechanism has been redisigned, so that it is no
-longer so interpretive, and we believe it is much more robust.<br/><br/></li>
-<li> Some small amount of stylesheet rewriting (but not yet redundent
-expression elimination), in particular to reduce full RTF creation and
-interpretation.</li>
-</ul>
-<p>&xslt4j; implements two DTM performance features that you can control with the TransformerFactory
-<jump href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute()</jump>
-method. See <link idref="dtm" anchor="settings">DTM performance settings</link></p>
-     </s2>
-     <s2 title="Changes for &xslt4j; 2.1.0">
-     <p>This release includes a number of bug fixes to &xslt4j; and TrAX. 
-     We have also enhanced the ApplyXSLT servlet. It can now be set up to use a compiled Templates object to respond to multiple
-     client transformation requests involving the same stylesheet.</p>
-<!--This XML fragment contains a list of source code updates to place in an <s2> section of readme.xml--><p>Core source code updates:</p><ul><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>03/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java
- java/src/org/apache/xpath Expression.java XPath.java
- XPathContext.java
- java/src/org/apache/xpath/compiler Compiler.java
- XPathParser.java<br/><ref>Committer's log entry: </ref>Renamed "assert()" to "assertion()".
-
- Assert can be a keyword, and brake the compilation.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer KeyWalker.java<br/><ref>Committer's log entry: </ref>Throw an error message if the key name in a key function was not defined<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Reworked "chunk growth" algorithm again. Growing mode not
- yet adequately tested, but fixed-size mode (which is what Xalan
- is currently using) is simpler code and shows improved performance.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>03/20/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Utility class to check your JVM environment for common problems<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>03/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Added more .jar sizes to jarVersions listing<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>We've reworked the algorithm again. The fixed-chunk-size mode (initial
- and max. chunk sizes equal) runs essentially unchanged, though with a
- few cycles less overhead. The variable-chunk-size mode now uses a
- recursive-encapsulation scheme, where the first chunk may itself be a
- FastStringBuffer whose total length equals one chunk; every so often
- we push the existing data down one level and restart with a larger
- chunk size. The new scheme has been stress-tested and is apparently
- working. At this writing, however, Xalan uses only the fixed-size
- mode (initial size equals max size), and no effort has been made to
- find the optimial values for the tuning parameters. It does appear
- likely that the best values will vary with usage patterns, but we hope
- to find a good compromise.
-
- I'll probably be putting this aside for a while to work on other things.
- If someone wants to experiment with varying the block sizes and
- how frequently they grow, and suggest good performance/memory
- tradeoff points, go for it!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Minor tweak to the javadoc.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>reset() versus setLength(0).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemForEach.java<br/><ref>Committer's log entry: </ref>Fix for bug# 1116, getMatchedTemplate throws ClassCastException.
- Don't push template unless it is a xsl:template.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>Patches submitted by Patrick Moore &lt;patrickm@rioport.com&gt;
- on 03/15/2001 01:25 PM:
-
- This proposed change does a number of things:
-
- 1. Problem: HTML output method does not uses XML output properties as
- default.
-
- In both org/apache/xalan/templates/output_html.properties and in the java
- doc for
- org/apache/xalan/templates/OutputProperties#getDefaultMethodProperties(Strin
- g) It specifically states that all OutputProperties use the
- output_xml.properties as a base. In the code this is not true for html. This
- is now changed to match the comments
-
- 2. Problem: unclear IOException.
-
- If there was a problem loading the XML properties file. The wrapped
- exception now will say which file was trying to be loaded. If the file did
- not exist I was getting a very strange "Stream closed" IOException message.
-
- 3. Problem: the streams were not closed after reading the property file.
-
- Fixed.
-
- 4. Problem: the double-check locking mechanism does not work in Java (see
- bug #919)
-
- &lt;http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox.html&gt;
-
- 5. QUESTION: now if there is a default properties (i.e.
- output_xml.properties has been loaded) but the expected properties file does
- not exist a error message will be printed to System.err and the processing
- will continuing using just the default properties (output_xml.properties) I
- felt that this is the best behavior.
-
- (comment by sboag: I think it's better to
- throw a runtime exception in this case.
- but we can discuss this over time. For now
- the patch was modified to do the runtime exception).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java
- java/src/org/apache/xalan/stree SourceTreeHandler.java
- java/src/org/apache/xalan/templates ElemForEach.java
- ElemLiteralResult.java
- java/src/org/apache/xalan/transformer QueuedSAXEvent.java
- ResultTreeHandler.java TransformerImpl.java
- java/src/org/apache/xml/utils BoolStack.java
- java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>This check-in contains a couple things that overlapped on my
- system, so I'm checking them in together.
- 1) Unfinished (in progress) implementation of TransformSnapshot mechanism,
- which will hopefully allow a result ContentHandler to take a snapshot
- at a given point, and the restart execution from that point at some
- later time. For tooling support.
- 2) Check to make sure SourceTreeHandler isn't being entered twice,
- which is related to the cocoon bug from a couple of weeks ago. This
- will just help diagnose such a problem in the future.
- 3) Removed the error stack trace print from postExceptionFromThread.
- 4) Report exception in SourceTreeHandler#endDocument after
- the join, if we can determine that the posted exception won't be
- caught elsewhere.
- 5) removed some catches that simply rethrew the exception
- (thanks to Patrick Moore &lt;patrickm@rioport.com&gt;).
- See my note on 3/27/2001 to Patrick for more info
- on the last two.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/transformer TransformSnapshot.java
- TransformSnapshotImpl.java<br/><ref>Committer's log entry: </ref>Unfinished (in progress) implementation of TransformSnapshot mechanism,
- which will hopefully allow a result ContentHandler to take a snapshot
- at a given point, and the restart execution from that point at some
- later time. For tooling support.on the last two.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- ProcessorStylesheetElement.java
- ProcessorTemplateElem.java StylesheetHandler.java
- XSLTElementDef.java XSLTElementProcessor.java
- XSLTSchema.java<br/><ref>Committer's log entry: </ref>Try to catch element order and required element errors during stylesheet 
-object creation. This new code adds an order and a required field to 
-XSLElementDef objects where it is applicable.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 1170. If we're trying an xsl:apply-imports at the top level 
-(ie there are no
- imported stylesheets), we need to indicate that there is no matching template 
-and prevent and infinite recursion by using the built-in template.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>Code cleanup submitted by Art Welch &lt;art_w@EASTPOINT.COM&gt;.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Add locator support to TreeWalker<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- QueuedStartElement.java<br/><ref>Committer's log entry: </ref>Small fix made for getCurrentNode.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Commented out extra call to getData()... this could be a big performance
- improvement for some stylesheets.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformSnapshotImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Additional support for tooling. Allow tools to take a snapshot of context and 
-restart execution at that point.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- XSLTElementProcessor.java
- java/src/org/apache/xalan/res XSLTErrorResources.java
- java/src/org/apache/xalan/transformer
- TransformSnapshotImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Misc stuff left out from previous check in<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncCurrent.java<br/><ref>Committer's log entry: </ref>Don't assume that the object returned by getSubContextList() is a 
-PredicatedNodeTest object.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorInclude.java
- TransformerFactoryImpl.java
- java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java
- java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Create new TreeWalker constructor that takes a systemId parameter. Change 
-TreeWalker to change fields in the locator and not set it for each node.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>04/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPath.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla bug:
- PR: 1106
- Submitted by: elharo@metalab.unc.edu<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>04/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql QueryParameter.java
- SQLExtensionError.java XConnection.java<br/><ref>Committer's log entry: </ref>Minor Javadoc updates (add @author name, remove declared but unthrown @throws)<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>04/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql Column.java
- ColumnAttribute.java ColumnData.java
- ColumnHeader.java Row.java RowSet.java
- StreamableNode.java XConnection.java
- XStatement.java<br/><ref>Committer's log entry: </ref>Support for Streamable Mode- John Gentilin<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XObject.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla bug 1015 
-&lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1015&gt;.
- Fix prevents null pointer exceptions when null non-XSLT arguments are
- passed to an extension function.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla bug 1015 
-&lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1015&gt;.
- Fix prevents null pointer exceptions when null non-XSLT arguments are
- passed to an extension function.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Fix copy/paste error. Want to use TransformerFactoryImpl's class loader.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformSnapshotImpl.java<br/><ref>Committer's log entry: </ref>Keep a copy of current contextNodeList is there is one<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>04/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Added checkDirForJars() which checks java.ext.dirs as well now<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>04/26/2001<br/><ref>Added: </ref>java/src/javax/xml/transform package.html
- java/src/javax/xml/transform/dom package.html
- java/src/javax/xml/transform/sax package.html
- java/src/javax/xml/transform/stream package.html<br/><ref>Committer's log entry: </ref>Add package.html for each package in javax.xml.transform.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Resolve bug 1496 &lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1496&gt; 
-where xsl:param statements were not being reset properly if the TransformerImpl 
-was reused.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree DocImpl.java<br/><ref>Committer's log entry: </ref>Fix for #1561<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla bug 1373 
-&lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1373&gt;.
- Added code to support return of Integer or Long by an external function.
- Code was contributed by Patrick Moore &lt;patmoore@ieee.org&gt;.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/03/2001<br/><ref>Modified: </ref>java/src/javax/xml/transform/stream StreamResult.java
- StreamSource.java<br/><ref>Committer's log entry: </ref>Small fix to avoid file:////path that may fail on some JDK.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql package.html<br/><ref>Committer's log entry: </ref>Preliminary updates for John G's work.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>05/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Check for a null contextNodeList before returning its clone<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>05/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree StreeDOMBuilder.java<br/><ref>Committer's log entry: </ref>Set the element's level correctly, before we process attributes.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla 1648 
-(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1648).
- TransformerIdentityImpl was improperly using an old LexicalHandler when 
-invoked for a second transform.
- This bug only affects identity transforms with StreamResults.
- Many thanks to John Keyes &lt;johnkeyes@yahoo.com&gt; for reporting this bug.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Updated version number to 2.1.0<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Updated version number to 2.1.0<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>Change submitted by Patrick Moore &lt;patmoore@ieee.org&gt; as part of bugzilla 
-1373 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1373).
- Return value from extension function is now generalized so that all 
-derivatives of Number are now properly handled.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>05/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java<br/><ref>Committer's log entry: </ref>Set the correct order of xsl:include elements<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>05/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql Column.java
- ColumnAttribute.java ColumnData.java
- ColumnHeader.java ConnectionPool.java
- DefaultConnectionPool.java ExtensionError.java
- PooledConnection.java QueryParameter.java Row.java
- RowSet.java SQLExtensionError.java
- StreamableNode.java XConnection.java
- XConnectionPoolManager.java XStatement.java
- package.html<br/><ref>Committer's log entry: </ref>Updates Javadocs
- Submitted by:John Gentilin mailto://johnglinux@eyecatching.com<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Correct typo introduced in revision 1.30 causing problems with transforms on 
-Unix platforms.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemChoose.java<br/><ref>Committer's log entry: </ref>Correct bugzilla bug 1748 
-&lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1748&gt;.
- When evaluating xsl:when, the xsl:choose element was used to resolve 
-namespace prefixes instead of
- the xsl:when element itself. This caused namespace prefixes defined on the 
-xsl:when to be ignored.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/15/2001<br/><ref>Modified: </ref>java/src/javax/xml/parsers DocumentBuilderFactory.java
- SAXParserFactory.java
- java/src/javax/xml/transform TransformerFactory.java<br/><ref>Committer's log entry: </ref>Use the context class loader if available.
-
- The implementation is based on ExtensionHandler, and it's needed in order
- to work in certain environments ( like tomcat ).<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions ExtensionHandler.java
- ExtensionHandlerGeneral.java<br/><ref>Committer's log entry: </ref>Make getClassForName a public method. There are few other places in xalan
- where Class.forName is used, and this can create problems in some cases
- where the Thread.getContextClassLoader should be used.
-
- getClassForName uses introspection to call getContextClassLoader
- ( so it works in JDK1.1 ).
-
- In ExtensionHandlerGeneral, use the thread loader to find BSF ( it may be
- possible that xalan is installed in CLASSPATH, but BSF is in a webapp ).<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- CompilingStylesheetHandler.java
- java/src/org/apache/xalan/serialize SerializerFactory.java<br/><ref>Committer's log entry: </ref>2 more instances where Class.forName was used.
-
- Use the method in ExtensionHandler for consistency ( we could move it in
- org.apache.xml.utils, but for now it's easier to just use it as it is )<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree SourceTreeHandler.java
- java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>This is the "thread pooling hook".
-
- It slightly changes the API used to create and wait for the transform thread.
- Instead of using threadCreate() and Thread.start() that creates a new thread
- and thread.join() that waits for a thread to end, we now use a 
-ThreadControler
- class that has the equivalent methods:
- - run( Runnable ) - executes a task in a thread. The default implementation
- is identical with what we had, using new Thread() and start()
- - waitTread() - waits for a task to end. The default impl. is identical with
- the previous code, using thread.join().
-
- Someone wanting to use a thread pool for xalan will have to extend
- the ThreadControler and override the 2 methods, then call setThreadController.
-
- Xalan itself doesn't implement a thread pool right now ( for mosts uses it's
- not even needed - if you just do few transforms for example ), instead
- a server that runs xalan could plug it's own thread pool.<br/><br/></li><li><ref>Committed by </ref>Gary L Peskin &lt;garyp@firstech.com&gt;<ref> on </ref>05/15/2001<br/><ref>Committer's log entry: </ref>
-&gt; Use the context class loader if available.
-&gt;
-&gt; The implementation is based on ExtensionHandler, and it's needed in order
-&gt; to work in certain environments ( like tomcat ).
-&gt;
-&gt;<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ExtensionError.java<br/><ref>Committer's log entry: </ref>Fixed "conflict" in javadoc comments.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql package.html<br/><ref>Committer's log entry: </ref>Editing pass.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletOutputHandler.java<br/><ref>Committer's log entry: </ref>bug # 1406 fixed, omit xml header implemented<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>05/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Update Javadoc and remove commented out reference to properties file
- PR:Bugzilla1627<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Resolve bug 1330 &lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1330&gt;.
- setContentHandler failed to also reset m_lexicalHandler if the ContentHandler
- was also a LexicalHandler. This caused the old LexicalHandler to be used 
-which
- was pointing to a previous result tree.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Resolve bug 1762 &lt;http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1762&gt;.
- TransformerFactoryImpl's URIResolver was not propagated to created 
-Transformers.
- Modified code to propagate.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>05/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java
- SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Catch SecurityException whenever accessing System.getProperty("user.dir");
- minor javadoc update<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemCopy.java
- ElemValueOf.java
- java/src/org/apache/xalan/transformer TreeWalker2Result.java
- java/src/org/apache/xpath/functions FuncLast.java<br/><ref>Committer's log entry: </ref>Fix for bugs reported by the Eclipse folks for TransformState, where
- some operations (xsl:value-of, xsl-copy) were not pushing the
- current node on the current node stack. Addresses
- http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1524.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>Catch SecurityException as needed
- PR: Bugzilla1258<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>Fix to the following bug reported by dims@yahoo.com:
-
- loadPropertiesFile method in org\apache\xalan\templates\OutputProperties.java 
-does not fall back
- to the Thread Context Class Loader to load properties files like 
-output_xml.properties etc. This
- is causing problems in ServletExec_3_1+C2.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>Correct implementation of ContextClassLoader to support case where properties 
-file is to be loaded by a different ClassLoader than the OutputProperties 
-class. Thanks to Davanum Srinivas &lt;dims@yahoo.com&gt; for this code and for 
-reporting this bug.
- loadPropertiesFile should eventually be moved into a thread-specific class.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java
- java/src/org/apache/xalan/serialize CharInfo.java
- java/src/org/apache/xpath/functions FuncSystemProperty.java<br/><ref>Committer's log entry: </ref>Modify getResourceAsStream calls to use the contextClassLoader, if available.
- This is a temporary fix until we can centralize this function.<br/><br/></li></ul><note>This release includes no updates of the compatibility source code.</note>
- </s2>
- 
-<s2 title="Changes for &xslt4j; 2.0.1">
-<p>This release includes a number of bug fixes to the &xslt4j; and TrAX core and Xalan-Java 1 compability API. We have also</p>
-<ul>
-  <li>Entered all known &xslt4j; 2 <link anchor="bugs">bugs</link> in the Apache Bugzilla database<br/><br/></li>
-  <li>Added support for using custom URIResolver, EntityResolver, and ContentHandler implementations with the <link
-      idref="commandline">command-line utility</link><br/><br/></li> 
-  <li>Upgraded from Ant 1.2 to Ant 1.3 for our <link anchor="build">builds</link> (the new ant.jar is in the bin directory).</li>
-</ul>
-<p>Core source code updates:</p>
-<ul>
-<li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes ChildWalkerMultiStep.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by "Chris P. McCabe" &lt;chris_mccabe@choicehotels.com&gt;
- 02/06/2001 06:55 PM.
- Defensive fix for if the last used walker is null, then don't check to
- see if it is a fast walker! Without this, a null pointer exception is
- very possible.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fixes for exceptions being thrown that weren't being passed through
- the error listener.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes FollowingWalker.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by Dave Haffner &lt;dave.haffner@xmls.com&gt;
- 02/06/2001 04:03 AM
- In parentNode(), don't screen out nextAncestor, since the parent
- is never actually returned. This sets things up correctly for firstChild
- and nextSibling.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes PrecedingWalker.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by Dave Haffner &lt;dave.haffner@xmls.com&gt;
- 02/06/2001 04:03 AM
- In nextSibling(), don't return null if isAncestorOfRootContext, instead
- do next.getFirstChild().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath SourceTreeManager.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by anders.domeij@uc.se
- 02/07/2001 09:35 AM
- removed extra bogus TransformerException decl in resolveURI<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree SourceTreeHandler.java<br/><ref>Committer's log entry: </ref>Fix bug reported by Jason Harrop &lt;jharrop@bigpond.net.au&gt;
- 02/07/2001 08:12 PM
- Don't process comment or whitespace events if inside a startDTD/endDTD
- event.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java<br/><ref>Committer's log entry: </ref>In indirect response to bug posted by "Thee Boon Hoo" &lt;theebh@newstakes.com&gt;
- 02/07/2001 09:37 PM
-
- "//table[1]" patterns would give one node
- when they should have given 2, when applied to Boon Hoo's
- source.
- "//table[1]" is equivelent to
- "/descendant-or-self::node()/table[1]",
- and so must return the first table child
- of each table-inst element.
-
- An optimization was optimizing this to
- "/descendant-or-self::table, which is
- fine as long as indexing isn't used. Since
- we can not tell until runtime if indexing
- is being used, we have to turn of this
- optimization for all predicated "//foo[xx]"
- patterns.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetPIHandler.java
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Patch for Dmitri IIyin to use the specified URIResolver.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemNumber.java<br/><ref>Committer's log entry: </ref>Number Expression should be evaluated then rounded up.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Create a document fragment for the output node, for -flavor d2d.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Compiler.java<br/><ref>Committer's log entry: </ref>Better error message when quo is used.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemCallTemplate.java
- ElemChoose.java ElemCopy.java ElemFallback.java
- ElemIf.java ElemLiteralResult.java
- ElemTemplate.java
- java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Remove extra method/call to TransformerImpl.executeChildTemplates()<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/patterns NodeTest.java<br/><ref>Committer's log entry: </ref>Return an empty string instead of null from getLocalName() when the
- nodetest does not have a name. Encountered with the SQL extension,
- in response to bug reported by "Michael Kay" &lt;mhkay@iclway.co.uk&gt;,
- 02/08/2001 08:57 AM.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ColumnData.java<br/><ref>Committer's log entry: </ref>In getData() return an empty string instead of null if there is
- no data to be obtained.
- In response to bug reported by "Michael Kay" &lt;mhkay@iclway.co.uk&gt;,
- 02/08/2001 08:57 AM.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>02/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>Correct ConversionInfo array for Node-Set and RTF. Remove DocumentFragment 
-from RTF and replace with NodeList. Remove duplicate Boolean from both. Fix 
-Boolean conversion to make java.lang.Boolean higher than string.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ColumnHeader.java
- RowSet.java XStatement.java<br/><ref>Committer's log entry: </ref>Use null nodetest to mean the same as "node()". This fixes a bug reported
- by "Voytenko, Dimitry" &lt;DVoytenko@SECTORBASE.COM&gt;
- where &lt;xsl:copy-of select="sql:query(...)"/&gt;
- crashes with NullPointerException, i.e.
- there are cases where we really don't want
- to set the NodeTest.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Check for null token before checking if it is a letter<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Fix made for bug reported by "Glencross, Christian" 
-&lt;Christian.Glencross@gs.com&gt;
- on 02/16/2001 10:18 AM.
- Xerces 1.2.3 SAX parser calls
- handler.setDocumentLocator() before handler.startDocument().
- TransformerIdentityImpl.m_resultContentHandler isn't initialised until
- TransformerIdentityImpl.startDocument() is called.
- Added lazy construction of result handler
- in setDocumentLocator, in addition to
- startDocument.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>02/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>Correct implementation of string value of a node.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql Column.java
- ColumnAttribute.java ColumnData.java
- ColumnHeader.java Row.java RowSet.java
- StreamableNode.java XConnection.java
- XStatement.java package.html<br/><ref>Committer's log entry: </ref>Added experimental usage metatag to all classes in this package,
- and an explanatory note to package.html.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree ElementImpl.java<br/><ref>Committer's log entry: </ref>Bug fix attributed to Norman Walsh &lt;ndw@nwalsh.com&gt;, on
- 02/20/2001 09:50 AM. if the attribute 'name' doesn't occur in the AttList, 
-the
- result of getIndex(name) is -1, but
- getChildAttribute() would incorrectly
- return the first attribute. Fix returns
- null if index &lt; 0.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java
- java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Implement DeclHandler for identity transforms<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix for bug originally reported by Daryl Beattie &lt;DarylB@screamingmedia.com&gt;
- on 02/14/2001 04:16 PM. A hang was occuring inside the use
- of a Result Tree Fragment. When the result tree fragement was
- being created, the Redirect extension was being called, which
- called createResultContentHandler which set the ContentHandler
- in the Transformer, but not in the ResultTreeHandler. Then, Redirect
- called Transformer#executeChildTemplates(
- ElemTemplateElement elem, Node sourceNode, QName mode, 
-ContentHandler handler)
- which saves the reference to the original content handler in
- the transformer, and then sets the new one by calling setContentHandler,
- which sets the ContentHandler in the ResultTreeHandler as well
- as the Transformer. When it tried to restore the old ContentHandler,
- it restored the value in the ResultTreeHandler to a Serializer, instead
- of the correct ContentHandler. When transformToRTF then called
- endDocument on it's resultTreeFragment, the event was sent
- to the Serializer instead of the SourceTreeHandler, and thus the
- isComplete flag was not set, and thus the hang. (whew!)
- The fix is in executeChildTemplates save the value of the
- resultTreeHandler's contentHandler as well as Transformer's
- content handler, and restore them both. A more architectual fix
- could be made, but not without high risk, so I think this is the best
- and safest way to fix it.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Changed version to 2.0.1<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Changed version to 2.0.1<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java<br/><ref>Committer's log entry: </ref>Update text of error messages
- Submitted by: Andreas Zehnpfund<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Update printArgOptions() with better text and to better reflect actual
- options that are currently supported; catch missing -IN argument<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/client XSLTProcessorApplet.java
- java/src/org/apache/xalan/processor StylesheetHandler.java
- TransformerFactoryImpl.java
- java/src/org/apache/xalan/stree DocImpl.java
- StreeDOMBuilder.java TextImpl.java
- java/src/org/apache/xalan/templates OutputProperties.java
- java/src/org/apache/xalan/xslt Process.java
- java/src/org/apache/xml/utils FastStringBuffer.java
- java/src/trax trax.properties<br/><ref>Committer's log entry: </ref>New approach to FastStringBuffer, and changes needed to support it.
- We still need to do some serious work on both the initial values of the
- tuning parameters and the heuristics driving the "chunk growth" algorithms.
- Currently set for fixed-sized chunks of 8Kch in main tree, .5Kch in RTF.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java
- ElemForEach.java ElemLiteralResult.java
- java/src/org/apache/xalan/transformer
- ClonerToResultTree.java QueuedSAXEvent.java
- QueuedStartDocument.java QueuedStartElement.java
- ResultTreeHandler.java TransformerImpl.java
- TreeWalker2Result.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=741.
-
- 1) ResultTreeHandler now implements the TransformState interface.
- 2) Queued state such as the current node and the current template is stored 
-as part of QueuedStartElement. Storage will only occur if the ContentHandler 
-implements TransformClient.
- 3) When state is requested (for instance TransformState#getCurrentElement()), 
-if the queued element is null or not pending (for instance, in a characters 
-event), it will get the state from the transformer, otherwise it will get the 
-state from the queued element.
-
- Other fixes were attempted for this problem, including trying to
- get rid of queueing altogether, and flushing a bit earlier before
- the state was pushed on the various stacks, but both of
- these had show-stopping issues (see discussions
- on xalan-dev).
-
- Note that for the moment the ContextNodeList is node
- cloned as it needs to be in order for
- TransformState#getContextNodeList.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemParam.java
- java/src/org/apache/xpath Arg.java VariableStack.java<br/><ref>Committer's log entry: </ref>The field Arg.isParamVar was attempting to serve two functions: to indicate 
-variable Frame entries which are not currently activated and to indicate Frames 
-containing parameters passed with xsl:with-param. When processing was finished 
-for a node in a node-set, the isParamVar flag was turned on to indicate the 
-Frame slot was available. Unfortunately, this also indicated that the item was 
-passed as a parameter which it wasn't. This fix changes isParamVar into to 
-fields, isAvailable which indicates that the slot is available and 
-isFromWithParam indicating the Frame slot came from an xsl:with-param or a 
-top-level parameter passed in via the tranformerImpl.setParameter() API.
- I have tested this change against the conformance suite and had no 
-regression. I've also submitted a test case which fails on the existing 
-codebase but works okay after this fix.
- It is possible that I've missed something with regard to the API setParameter 
-calls but we can fix those if problems are reported.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Correct operation when length of content to be appended is zero.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Fix closing out doctype declaration<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Change SystemIdResolver to default to user.dir if the base URI is null<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java
- java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Parameters set with setParameter were available to stylesheet as variable 
-references ($myParam) even though there was no xsl:param element to receive it.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
- TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Check if there is a DeclHandler before calling it.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils WrappedRuntimeException.java<br/><ref>Committer's log entry: </ref>Patch attributed to Patrick Moore &lt;patrickm@rioport.com&gt; on 03/09/2001.
- Adds another constructor to pass in the error message.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemAttribute.java
- ElemElement.java<br/><ref>Committer's log entry: </ref>Checkin addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=923.
- elemAttribute now derives from elemElement so the basic name resolution
- code can be shared. Breaks attribset24 test, but I think the newer
- behavior is better. New virtual methods overloaded by elemAttribute are
- constructNode, resolvePrefix, and validateNodeName. Also, in the
- elemAttribute#execute method, checks are made to make sure an
- element is pending.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Added getAbsoluteURI(String url), and merge
- with Myriam's changes.
- Part of fix for problem found when
- investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Call getAbsoluteURI(String url) for the source URL.
- Fix for problem found when
- investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.
- This tries to force us always having an absolute URL in the processing
- stack as the base URL, which should be OK, I hope.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Call getAbsoluteURI(String url) for the source URL.
- Fix for problem found when
- investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.
- This tries to force us always having an absolute URL in the processing
- stack as the base URL, which should be OK, I hope.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer QueuedEvents.java
- QueuedStartElement.java ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>The user for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=741 reported
- problems on testing, so these changes are a re-fix. He tested and
- everything seems OK now. There actually may be a slight performance
- improvement involved here.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>Applied patches from dmitri.ilyin@memiq.com (Dmitri Ilyin)
- from http://nagoya.apache.org/bugzilla/show_bug.cgi?id=705.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathAPI.java<br/><ref>Committer's log entry: </ref>Applied patch submitted by nboyd@atg.com (Norris Boyd)
- at http://nagoya.apache.org/bugzilla/show_bug.cgi?id=702.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize Encodings.java<br/><ref>Committer's log entry: </ref>Applied patch submitted by havardw@underdusken.no (H嶡rd Wigtil).
- Also added "XXX-X" variants for all "XXX_X" java encoding names.
- I'm not totally confident that this is the right thing to do, but I can't
- see that it will hurt, except to make the table a bit larger. I
- would prefer to be safe and make sure we handle the encoding.
- See my comments in http://nagoya.apache.org/bugzilla/show_bug.cgi?id=718.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplateElement.java
- StylesheetRoot.java<br/><ref>Committer's log entry: </ref>Minor changes to better bottleneck throwing of Runtime exceptions
- during processing.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Catch all exceptions thrown when processing stylesheet, and send
- them to the error listener. There's probably some danger of having
- the same error sent to the error listener multiple times, but better too
- many reports, than none, I guess.
- This addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java
- XStatement.java<br/><ref>Added: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java
- DefaultConnectionPool.java ExtensionError.java
- PooledConnection.java QueryParameter.java
- SQLExtensionError.java XConnectionPoolManager.java<br/><ref>Committer's log entry: </ref>These are John Gentilin &lt;johnglinux@eyecatching.com&gt;
- patches for connection pooling and parameterized
- queries. These should be considered to be unstable
- right now, as we are still working on some things.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorInclude.java
- TransformerFactoryImpl.java
- java/src/org/apache/xalan/serialize SerializerToXML.java
- java/src/org/apache/xalan/stree StreeDOMHelper.java
- java/src/org/apache/xalan/transformer ResultTreeHandler.java
- TransformerIdentityImpl.java TreeWalker2Result.java
- java/src/org/apache/xml/utils AttList.java TreeWalker.java
- java/src/org/apache/xpath DOM2Helper.java XPathContext.java<br/><ref>Committer's log entry: </ref>The DOM2Helper#isNodeAfter(Node node1, Node node2) method
- has been fixed so that it no longer does the try/catch thing if one
- of the nodes doesn't implement DOMOrder, but instead does an
- instanceof test. In StreeDOMHelper, it overloads this method and
- *does* do the try/catch business, since almost always both nodes
- will implement DOMOrder in this case, and this will be faster than
- an instanceof test. Also, in various classes, I did some stuff to try
- and make sure that a DOM2Helper wasn't being created and used
- when a StreeDOMHelper is needed.
-
- This addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=800
- and should give a good performance fix for foreign DOM processing.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/patterns NodeTest.java<br/><ref>Committer's log entry: </ref>Xerces at some point decided to use "" instead
- of null for null namespaces. There has been a
- discussion between Gary Peskin in
- Joe Kessleman on xalan-dev about this,
- but I hadn't been fully keeping up the the
- thread that well, and missed it's relation to
- this problem. I include some of the discussion
- at the end of this note. I made Xalan be able to
- compare a "" namespace to null for now, until
- we get this resolved.
-
- The gist of the discussion on xalan-dev regarding this is:
-
- &gt;&gt;1. Declare the Xerces-J support of schemas to have a bug and ask that
- &gt;&gt;Xerces be corrected to always use a null namespace URI to indicate that
- &gt;&gt;there is no default namespace. Even if the Xerces people change this
- &gt;&gt;behavior, is this correct?
- &gt;
- &gt; Yes. If your description of the problem is accurate (you should probably
- &gt; submit a more detailed case so it can be reproduced in the lab), this is a
- &gt; parser/DOM-builder bug.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>03/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ExtensionError.java<br/><ref>Committer's log entry: </ref>Removed ( commented out ) dump() method and the imports in ExtensionError.
-
- So far the method doesn't seem to be used ( no warning in the compile ).
-
- The problem is that this method is breaking the build with crimson ( since
- it uses xerces-specific classes ). It is possible to implement it on top
- of the serialization classes that are part of xalan - if someone needs the
- method I'll try to port it.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Added back in the TreeWalker(ContentHandler contentHandler)
- constructor, because I'm worried I'll break more dependent code.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java
- java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Implement new arguments for the command line interface: URIResolver, 
-EntityResolver and ContentHandler<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates FuncFormatNumb.java<br/><ref>Committer's log entry: </ref>Fix error message to say that 2 or 3 arguments are required.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorLRE.java
- java/src/org/apache/xalan/res XSLTErrorResources.java<br/><ref>Committer's log entry: </ref>Better error message for missing or incorrect XSLT namespace declaration in a 
-stylesheet<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Redirect.java
- java/src/org/apache/xalan/transformer TransformerImpl.java
- java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Remember the Result that was used to trigger the transform. Access that 
-result from the Redirect extension to make file references in Redirect relative 
-to the original result URI.
- If this is not available, references are relative to the source URI.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Added protection for null pointer exception that I discovered when
- running some Cocoon tests. Since I've never seen this before,
- I assume this is related to the changes that Gary made, but am
- unsure as it's 4:00 in the morning and I'm too tired to look into it deeply.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Remove check for missing -IN arg; there are a number of use
- cases for calling Process.main without an XML document<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>A (last ? ) place where XMLReaderFactory was used without
- trying jaxp first. I used the same code that is used in all other
- places in xalan.
-
- With this change, the parser defined in XSLTInfo.properties will be used
- only if jaxp is not available.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils StringVector.java<br/><ref>Committer's log entry: </ref>Added missing @serial Javadoc tags.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java
-                        DefaultConnectionPool.java ExtensionError.java
-                        SQLExtensionError.java XConnection.java
-                        XConnectionPoolManager.java XStatement.java<br/><ref>Committer's log entry: </ref>Update from John Gentilin &lt;johnglinux@eyecatching.com&gt; to
-  fix connection cleanup.<br/><br/></li></ul><p>Compatibility source code updates:</p><ul><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java
- XSLTResultTarget.java<br/><ref>Committer's log entry: </ref>Implement some more methods for compatibility<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java<br/><ref>Committer's log entry: </ref>Fixed javadoc for api that was just added back.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTResultTarget.java<br/><ref>Committer's log entry: </ref>Fixed javadoc for api that was just added back.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem with calling the processor with a liaison<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem where source file was being parsed more than once and if using an 
-input stream, we would get a read error<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Set system id in stylesheet handler<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/14/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java<br/><ref>Committer's log entry: </ref>Call local setSystemId.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/15/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem with processing an input source created from a reader with no 
-systemId
- Fix problem with reading an input source file twice if it has a PI<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt StylesheetRoot.java<br/><ref>Committer's log entry: </ref>Add getOutputMethod API.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xpath/xml
- XMLParserLiaisonDefault.java<br/><ref>Committer's log entry: </ref>Put in Apache copyright.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xpath/xml TreeWalker.java
- java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Made changes for change to API for XalanJ2 TreeWalker, which
- now requires that the DOM helper be created by the caller.</li>
- </ul>
-</s2>
-
-<s2 title="Changes for &xslt4j; version 2.0.0">
-<p>Release 2.0 includes several bug fixes to the &xslt4j; and TrAX core and to the Xalan-Java 1 compatibility API. We also updated bsf.jar to the <resource-ref idref="bsf"/> release candidate 2.2, which fixes a bug running JPython extensions.</p>
-<p><em>Core bug fixes:</em></p>
-<ul>
-  <li>A threading problem showed up when using multiple processors. We fixed it by using a separate XPathContext object to do whitespace node
-   matches (xsl:strip-space).<br/><br/></li>
-  <li>Fixed a bug running Norm Walsh's DocBook stylesheets by not setting the variable stack position if the FilterExprWalker is not owned by a
-  top-level NodeIterator.<br/><br/></li>
-  <li>Fixed a problem with null namespace being passed from xsl:element. This bug also surfaced while processing DocBook
-   stylesheets.<br/><br/></li>
-  <li>In the interest of stability, we now treat "unknown error in XPath" as a fatal error.<br/><br/></li>
-  <li>Added support in stylesheet processing instructions for "text/xml" and "application/xml+xslt" mime types.<br/><br/></li>
-  <li>Fixed tokenizing of stylesheet processing instructions to allow parameters to be passed to server in href attributes.<br/><br/></li>
-  <li>Fixed a bug passing Transformer creation error messages to ErrorListener when an ErrorListener has been set on
-   TransformerFactory.<br/><br/></li>
-  <li>When using an Exception to instantiate a FactoryConfigurationError (extends Error), we now propagate the Exception message to 
-  super().<br/><br/></li>
-  <li>Added defensive code to ElemTemplateElement for handling a null URI.<br/><br/></li>
-  <li>When using an Exception to instantiate a TransformerException (extends Exception), we now propagate the Exception message to super() 
-  rather than a generic message.<br/><br/></li>
-  <li>Fixed a bug (the generation of an unwanted entity reference) performing the identity transformation 
-  (see <link idref="usagepatterns" anchor="serialize">Serializing output</link>) with an XML document containing a DOCTYPE
-   declaration.<br/><br/></li>
-   <li>Message manager modified so that the SourceLocator must always be passed in,
-  which will make a major difference in getting line number information.<br/><br/></li> 
-  <li>xsl:element's handling of namespace attribute and prefix in
-  name attribute changed so that it no longer manufactures prefixes...
-  it always tries its best to match the prefix entered.<br/><br/></li>  
-  <li>Bug fixed with namespace contexts in the stylesheet processor.
-  The bug could cause &lt;a xmlns:a="x"&gt;&lt;b&gt; to produce &lt;a xmlns:a="x"&gt;&lt;b xmlns:a="x"&gt;.<br/><br/></li>  
-  <li>Modified processing of xsl:message to enhance it as a debugging aid. Line numbers are now output with each
-  message. If the terminate attribute is true (the default is false) the message is sent to the console, and an exception is thrown with the
-  message "Stylesheet directed termination".<br/><br/></li>
-  <li>In TransformerException, check that the cause != null when checking for a contained exception.<br/><br/></li>
-  <li>Fixed a problem validating non-namespaced attributes and a problem allowing non-namespaced attributes to be children of the
-   stylesheet element.<br/><br/></li>
-   <li>Fixed checking of number of arguments in document() function.<br/><br/></li>
-   <li>Fixed problem with mutation of templates at run time. Templates resolution now takes place during the compose() method.<br/><br/></li>
-   <li>Fixed some minor threading issues in org.apache.xalan.stree (Child, Parent, ElementImpl, SourceTreeHandler).<br/><br/></li>
-   <li>Synchronized TrAX API functions subject to mutation to prevent mutation during a transformation.<br/><br/></li>
-   <li>Fixed bug reported by Jano Elovirta: substring() was returning an error if the start index is larger than the string.<br/><br/></li>   
-   <li>Set StringKey.toString() to return the underlying String (m_str), thus avoiding a potential symmetry problem with the equals() method
-   reported by Ito Kazumitsu.<br/><br/></li>
-   <li>In response to note from Ito Kazumitsu, changed Java encoding name "EUCJIS" in FormatterToXML to "EUC_JP".<br/><br/></li>
-   <li>When Xalan creates a FileOutputStream, it now closes the stream before exiting.<br/><br/></li>
-   <li>Fixed handling of an exception that can be thrown while building a DOM.<br/><br/></li>
-   <li>Fixed a problem reported by Dimitry Voytenko serializing compiled stylesheets.<br/><br/></li>
-   <li>For support of applets, modified TransformerFactory System.getProperty() calls to catch SecurityExceptions.<br/><br/></li>
-   <li>Fixed a bug reported by Krishna Mohan Meduri setting output properties.<br/><br/></li>
-   <li>Fixed error recovery when xsl:element encounters a bad name or unresolvable prefix.<br/><br/></li>
-   <li>Added AbstractMethodError handling to existing NoSuchMethodError handling as a fallback to the XMLReaderFactory for XML parsers that do
-       not implement the JAXP parsers interface for creating an XMLReader<br/><br/></li>
-   <li>Fixed bug with cloned iterators reported by Tim Sean.<br/><br/></li>
-   <li>Fixed null pointer exception that could occur with getValue("xxx").<br/><br/></li>
-   <li>Fixed bug reported by Tim Sean handling the xml:space attribute.</li>
-</ul>
-<p><em>Bug fixes in the <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatibility API</link>:</em></p>
-<ul>
-  <li>Fixed ProblemListener (for processing error messages) to derive from &xslt4j; 2 ErrorHandler.<br/><br/></li>
-  <li>Fixed evaluation of stylesheet string parameters to conform to &xslt4j; 1 behavior (expressions for &xslt4j; 1 vs. String objects 
-  for &xslt4j; 2).<br/><br/></li>    
-  <li>Added XPathSupport and XPathSupportDefault, and fixed the derivation of XObject sub-types (XString, etc.).<br/><br/></li>
-  <li>Fixed bug with XSLTProcessor process(xmlIn, null, out) method so that it uses the StylesheetRoot (if one exists) that has been created
-   with the processStylesheet() method.</li>
-</ul>
-<p>For a list of tasks in the &xslt4j2; To-Do list that have been completed, see <jump href="todo.html#release-date-completed">Tasks completed</jump>.</p>
-</s2>
-
-<s2 title="Changes for &xslt4j; version 2.0.D07">
-<p>&xslt4j; 2.0.D07 incorporates a <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatibility jar</link>, some performance enhancements, and a number of bug fixes for bugs found in version 2.0.D06.</p>
-<ul>
-<li>Fixed handling of disable-output-escaping="no".  Previously, once it was turned on, it could not be turned off.<br/><br/></li>
-<li>Fixed a bug with whitespace handling where Xalan was incorrectly checking for whitespace 
-    stripping before collation of multiple whitespace events into a single text node.<br/><br/></li>
-<li>Whitespace stripping wasn't working with input DOMs before.  This is now fixed.<br/><br/></li>
-<li>Fixed many exception handling problems and problems with error reporting.<br/><br/></li>
-<li>Fixed a bug resetting parameters in Transformer clearParameters().<br/><br/></li>
-<li>Fixed a bug where CDATA sections were not matching the text() node test.<br/><br/></li>
-<li>Made better memory allocation problem with result tree fragments.<br/><br/></li>
-<li>Made result tree fragment parsing of numbers consistent with strings.<br/><br/></li>
-<li>Exceptions thrown from extensions should now be properly reported via the error listener.<br/><br/></li>
-<li>Fixed hard-coded stack dump set off by m_reportInPostExceptionFromThread variable.<br/><br/></li>
-<li>Fixed intermittent threading problem with text nodes being dropped.<br/><br/></li>
-<li>Fixed problem with variable evaluation inside of union expressions.</li>
-</ul>
-</s2>
-<s2 title="Changes for &xslt4j; version 2.0.D06">
-<p>We have fixed the bugs reported in &xslt4j; 2.0.D05. Along with several other enhancements, 
-we have also fixed a number of bugs found by testing and our users:</p>
-<ul>
-<li>Fixed some threading problems and improved support for handling Exceptions thrown in a secondary thread.<br/><br/>
-Note: To support incremental output, &xslt4j; performs the transformation in a second thread while building the source tree in the main thread.<br/><br/></li>
-<li>Fixed problems encountered in piping (utilizing transformation output as input for another transformation).<br/><br/></li>
-<li>Fixed problems handling attributes and adding attributes to result tree.<br/><br/></li>
-<li>Added defensive checking for null entities, null namespaces, and empty strings passed in for URIs and local names.<br/><br/></li>
-<li>We now conform to the SAX convention of representing null namespaces with empty strings.<br/><br/></li>
-<li>Fixed a bug encountered evaluating a variable in a predicate expression applied to child nodes.<br/><br/></li>
-<li>Changed names of serializers from FormatterTo<ref>Xxx</ref> to SerializerTo<ref>Xxx</ref>. See 
-<jump href="apidocs/org/apache/xalan/serialize/package-summary.html">Package org.apache.xalan.serialize</jump>.<br/><br/></li>
-<li>Improved debugging support in a number of areas.</li>
-</ul>
-</s2>
-<s2 title="Changes for &xslt4j; version 2.0.D05">
-<p>All of the bugs reported in &xslt4j; 2.0.D01 have been fixed. The remainder of this section discusses two changes that we believe are of particular importance:</p>
-<p><em>TrAX</em></p>
-<p>The Transformation API for XML (TrAX) that &xslt4j2; implements has undergone substantial revisions since the release of &xslt4j; 2.0.D01. TrAX has joined the Java API for XML Parsing (JAXP) as part of the Sun&reg; <resource-ref idref="jsr063"/>. Accordingly, the TrAX package names have changed. The conceptual organization has also changed somewhat: The primary transformation interfaces are defined in javax.xml.transform, with concrete classes for managing stream input/output, SAX parsers and ContentHandler, and DOM parsers and DOM trees in javax.xml.transform.stream, javax.xml.transform.sax, and javax.xml.transform.dom. For more information, see <link idref="trax">TRaX (Transformation API for XML)</link>, and review <link idref="usagepatterns">Usage Patterns</link>.</p>
-<anchor name="outputprops"/><p><em>Output properties</em></p>
-<p>The handling of xsl:output properties has changed: org.apache.xalan.serialize.OutputFormat and apache.xalan.templates.OutputFormatExtended were removed and replaced with org.apache.xalan.templates.OutputProperties. The SerializerFactory getSerializer() method now takes Properties rather than a String indicating the output method. You can replace <code>getSerializer("xml")</code>, for example, with <code>getSerializer(OutputProperties.getDefaultMethodProperties("xml"))</code>.</p>
-<p>HTML, XML, and text xsl:output properties are specified in property files in org.apache.xalan.templates: output_html.properties, output_xml.properties, and output_text.properties.</p>
-<p>You can start using the output properties defined in these files in your stylesheets. For example, you can turn URL escaping off in HTML output with<br/><code>{http\u003a//xml.apache.org/xslt}use-url-escaping=no</code><br/>
-and you can control indenting with<br/>
-<code>{http\u003a//xml.apache.org/xslt}indent-amount=<ref>n</ref></code></p>
-<note>The colon after the "http" protocol must be escaped.</note>
-<p>Character-to-entity mapping is specified in org.apache.xalan.serialize: HTMLEntities.res and XMLEntities.res. You can override entity ref 
-mapping from a stylesheet. For example:</p>
-<source>&lt;?xml version="1.0"?&gt;
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-         xmlns:xalan="http://xml.apache.org/xslt" version="1.0"&gt;
-
-  &lt;xsl:output xalan:entities="myentities.ent"/&gt;
-
-  &lt;xsl:template match="/"&gt;
-    &lt;out&gt;&amp;#125;&lt;/out&gt;
-  &lt;/xsl:template&gt;
-
-&lt;/xsl:stylesheet&gt;</source>
-<p>=== myentities.ent ===</p>
-<source>quot 34
-amp 38
-lt 60
-gt 62
-lala 125</source>
-<p>The output is:</p>
-<source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;out&gt;&amp;lala;&lt;/out&gt;</source>
-<p>See also <link idref="usagepatterns" anchor="outputprops">Setting output properties in your stylesheets</link>.</p>
-</s2>
-</s1>
diff --git a/xdocs/sources/xalan/index.xml b/xdocs/sources/xalan/index.xml
deleted file mode 100644
index 0c27330..0000000
--- a/xdocs/sources/xalan/index.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="&xslt4j-current;">
-<!--note>A later Developer release has been posted in the <resource-ref idref="xslt4j-distdir"/>. For the changes that have occurred since &xslt4j-current;, consult the xml-xalan-cvs@apache.org mailing list, or download the release and consult the release notes.</note-->
-  <s2 title="What is it?">
-    <p>Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements the
-     W3C Recommendations for XSL Transformations (XSLT) and the XML Path Language (XPath). It can be used from the command line,
-     in an applet or a servlet, or as a module in other program.</p>
-  </s2>
-  <s2 title="I've heard of &xslt4j;, but what is version 2?">
-    <p>&xslt4j; version 2 recasts Xalan as an implementation of the <link idref="trax">TRaX (Transformation API for XML)</link> interfaces, part of the <resource-ref idref="jaxp11"/>. TRaX provides a
-    modular framework and a standard API for performing XML transformations, and it utilizes system properties to determine which Transformer and which XML parser to use.</p>
-     <p>&xslt4j; version 2 also builds on <resource-ref idref="sax2"/>, <resource-ref idref="dom2"/>, and the XML parser API in
-     <resource-ref idref="jaxp"/>.</p>
-     <p>For more information, see <link idref="whatsnew">What's new in &xslt4j2;</link>.</p>
-     <note>&xslt4j; version 1 is no longer supported and no longer available from xml.apache.org.</note>
-  </s2>
-  <s2 title="How about this release?">
-  <p>&xslt4j-current; incorporates the <link idref="dtm">DTM (Document Table Model)</link> and has been tested with &xml4j; version 2. As of
-  this release, support for the &xslt4j; release 1 API, which predates the design of the <resource-ref idref="jaxp11"/>JAXP 1.1/<link idref="trax">TrAX
-  </link> interfaces, has been dropped.</p>
-  <p>Starting with 2.2.D12, we have reduced xalan.jar to just include the &xslt4j; implementation, placing the SAX, DOM, 
-  and JAVAX interfaces in xml-apis.jar. These interfaces are shared by a number of tools (&xslt4j;, &xml4j;, etc.), so placing them in a 
-  separate JAR simplifies coordination and reduces risk of duplication. <em>Be sure to put both JAR files on your classpath!</em></p>
-  </s2> 
-  <s2 title="How do I get it?">
-    <p>To get the binary distribution (all you need to use and develop applications with &xslt4j;), download and unzip either of the following:</p>
-    <ul>
-      <li><resource-ref idref="xslt4j-dist-bin-zip"/></li>
-      <li><resource-ref idref="xslt4j-dist-bin-targz"/></li>
-    </ul>
-    <p>To get the &xslt4j; sources (with which you can do your own &xslt4j; build; see <link idref="readme" anchor="build">Build notes</link>), download and unzip either of the following:</p>
-    <ul>
-      <li><resource-ref idref="xslt4j-dist-src-zip"/></li>
-      <li><resource-ref idref="xslt4j-dist-src-targz"/></li>
-    </ul>
-  </s2>
-  
-  <s2 title="Where do I get Xerces?">
-    <p>The Xalan download includes &xml4j-jar; from &xml4j-used;. This is all you need to run Xalan with the Xerces XML parser. 
-    You can, however, download the complete Xerces distribution from the <resource-ref idref="xml4j-distdir"/>. If you are interested in testing
-    or prototyping &xml4j2;, you can run &xslt4j-current; with &xml4j; 2.0.0.beta4.</p>
-    <note>If you plan to use a different XML parser, see <link idref="usagepatterns" anchor="plug">Plugging in a Transformer
-     and XML parser</link>.</note> 
-  </s2>
-  <s2 title="What else do I need?">
-    <p>You need the Java Development Kit or Java Runtime 1.1.8, 1.2.2, or 1.3, which you can obtain from <jump
-    href="http://www.ibm.com/java/jdk">ibm.com/java/jdk/</jump> or <jump href="http://www.java.sun.com">java.sun.com</jump>.</p> 
-  </s2>  
-    <s2 title="For more information...">
-    <p>For more information, go to <link idref="overview">Xalan Overview</link> and <link idref="getstarted">Getting
-    Started</link>. All of the Xalan documentation on this website is included in the Xalan download, as are a number of
-    <link idref="samples">Samples</link> to help you start using &xslt4j2; to transform XML documents.</p>
-  </s2>  
-</s1> 
\ No newline at end of file
diff --git a/xdocs/sources/xalan/overview.xml b/xdocs/sources/xalan/overview.xml
deleted file mode 100644
index c3dd7ec..0000000
--- a/xdocs/sources/xalan/overview.xml
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
- 
-<s1 title="&xslt4j; Overview">
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-<li><link anchor="features">&xslt4j; Features</link></li>
-<li><link anchor="towork">Getting to work with &xslt4j;</link></li>
-<li><link anchor="uptospeed">Getting up to speed with XSLT</link></li>
-<li><link anchor="glossary">Glossary</link></li>
-</ul><anchor name="intro"/>
-  <s2 title="Introduction">
-    <p>&xslt4j; (named after a rare musical instrument) fully implements the <resource-ref idref="xslt"/> and the 
-    <resource-ref idref="xpath"/>. XSLT is the first part of the XSL stylesheet language for XML. It includes the XSL
-     Transformation vocabulary and XPath, a language for addressing parts of XML documents. For links to background materials, 
-    discussion groups, frequently asked questions, and tutorials on XSLT, see <link anchor="uptospeed">Getting up
-    to speed with XSLT</link>.</p> 
-    <note>XSL also includes a vocabulary for formatting documents, which is not part of &xslt4j;. 
-    For more information, see <resource-ref idref="xslt"/> and the <jump
-    href="http://xml.apache.org/fop">Apache XML FOP (Formatting Objects Project)</jump>.</note>
-    <p>You use the XSLT language to compose XSL stylesheets. An XSL stylesheet contains instructions for
-     transforming XML documents from one document type into another document type (XML, HTML, or other). In structural
-     terms, an XSL stylesheet specifies the transformation of one tree of nodes (the XML input) into another tree of nodes 
-     (the output or transformation result).</p>
-    <note>The XSL stylesheet may generate and refer to cascading style sheets (<jump
-    href="http://www.w3.org/Style/CSS/">CSS</jump>) as part of its output.</note> 
-    <p>In the following example, the foo.xsl stylesheet is used to transform foo.xml into foo.out:</p>
-    <p>foo.xml:</p>
-        <source>&lt;?xml version="1.0"?>
-&lt;doc>Hello&lt;/doc></source>
-        <p>foo.xsl:</p>
-        <source>&lt;?xml version="1.0"?> 
-&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-&lt;xsl:template match="doc">
-&lt;out>&lt;xsl:value-of select="."/>&lt;/out>
-&lt;/xsl:template>
-&lt;/xsl:stylesheet></source>
-<p>foo.out:</p>
-<source>&lt;out>Hello&lt;/out></source>
-<p>By default, &xslt4j; uses &xml4j;, and it may be configured with system properties to work with other XML parsers (see <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML parser</link>). The input may be submitted in the form of a stream of XML markup (from a URI, a character or byte stream, or another transformation), a SAX InputStream, or a DOM Node.</p>
-<p>&xslt4j; performs the transformations specified in the XSL stylesheet and packages a sequence of SAX events that may be serialized to an output stream or writer, used to build a DOM tree, or forwarded as input to another transformation.</p>
-      </s2><anchor name="features"/>
-   	  <s2 title="&xslt4j; Features">
-	    <ul> 
-		    <li>Implements the relevant W3C specifications: <resource-ref idref="xslt"/> and <resource-ref idref="xpath"/>.<br/><br/></li>
-        <li>Implements <link idref="trax">TRaX (Transformation API for XML)</link>, now part of <resource-ref idref="jaxp"/>, and builds on
-         <resource-ref idref="sax2"/> and <resource-ref idref="dom2"/>.<br/><br/></li>
-    	  <li>May be configured to work with any XML parser, such
-        <jump href="http://xml.apache.org/xerces-j/index.html">&xml4j;</jump>, that implements <resource-ref
-        idref="jaxp"/> (see <link idref="usagepatterns" anchor="plug">Plugging in an XML
-         parser</link>).<br/><br/></li>
-    	  <li>Can process Stream, SAX or DOM input, and output to a Stream, SAX or DOM.<br/><br/></li>
-        <li>Transformations may be chained (the output of one transformation may be the input for
-         another).<br/><br/></li>
-        <li>May be run from the <link idref="commandline">command line</link> for convenient file-to-file
-            transformations.<br/><br/></li>
-    	  <li>Includes an <link idref="usagepatterns" anchor="applet">applet wrapper</link>.<br/><br/></li>
-        <li>May be used in a <link idref="samples" anchor="servlet">servlet</link> to transform XML documents into
-        HTML and serve the results to clients.<br/><br/></li>
-        <li>Supports the creation of <link idref="extensions">Java and scripting language extensions</link>. and
-         provides a growing library of extension elements and functions.</li>
-	    </ul> 
-	  </s2><anchor name="towork"/>
-    <s2 title="Getting to work with &xslt4j;">
-     <p>For instructions and some suggestions about how to get started using &xslt4j;, see 
-     <link idref="getstarted">Getting Started</link>.</p>
-    </s2><anchor name="uptospeed"/>
-    <s2 title="Getting up to speed with XSLT">
-    <p>If you are still working through the details of the XSLT spec (the W3C 1.0 Recommendation), you may want 
-    to consult one or more of the following:</p>
-    <ul>
-        <li>XSLT - XSL Transformations in 
-        <jump href="http://www.brics.dk/~amoeller/XML/">The XML Revolution: Technologies for the future Web</jump> by
-        Anders M&oslash;ller and Michael I. Schwartzbach (Web pages, but designed for sequential reading)</li>
-        <li>Crane Softwright's <jump href="http://www.CraneSoftwrights.com/training/">Free preview of Practical
-         Transformation Using XSLT and XPath</jump><br/><br/></li>
-       <li>Doug Tidwell's <jump href="http://www.oreilly.com/catalog/xslt/">XSLT</jump>, O'Reilly, 2001<br/><br/></li>                 
-       <li>Bob Ducharme's <jump href="http://www.manning.com/ducharme/index.html">XSLT Quickly</jump>, Manning Publications,
-        2001<br/><br/></li>                 
-       <li>John Robert Gardner and Zarella Rendon's 
-       <jump href="http://vig.prenhall.com/catalog/academic/product/1,4096,0130404462,00.html">XSLT and XPath: A Guide to
-        Transformations</jump>, Prentice-Hall, 2001<br/><br/></li>                 
-       <li>Michael Kay's <jump href="http://www.wrox.com/Books/Book_Details.asp?ISBN=1861005067">XSLT Programmer's
-       Reference</jump>, 2nd ed., Wrox Press, 2001<br/><br/></li>
-       <li>Steven Holzner's <jump href="http://www.newriders.com/books/title.cfm?isbn=0735711364">Inside XSLT</jump>, 
-       New Riders, 2001<br/><br/></li>                 
-       <li>Neil Bradley's <jump href="http://www.awlonline.com/product/0,2627,0201674874,00.html">XSL Companion</jump>,
-        Addison-Wesley, 2000<br/><br/></li>                 
-       <li>Khun Yee Fung's <jump href="http://www.awlonline.com/product/0,2627,0201711036,00.html">XSLT: Working with XML and
-        HTML</jump>, Addison-Wesley, 2001<br/><br/></li>                 
-        <li>Dave Pawson's <resource-ref idref="dpawsonxslfaq"/> to search out particular answers and techniques<br/><br/></li>
-         <li>Miloslav Nic's <jump href="http://zvon.vscht.cz/HTMLonly/XSLTutorial/Books/Book1/index.html">XSL Tutorial</jump>,
-         a collection of stylesheet examples<br/><br/></li>
-        <li>Elliotte Rusty Harold's <jump href="http://metalab.unc.edu/xml/books/bible/updates/14.html">Chapter 14 of 
-        the XML Bible: XSL Transformations</jump><br/><br/></li>
-        <li>The Mulberry <jump href="http://www.mulberrytech.com/xsl/xsl-list/">XSL-List -- Open Forum on XSL</jump> 
-        (of interest to XSL users at all levels)<br/><br/></li>
-        <li>Objects by Design's <jump href="http://www.objectsbydesign.com/projects/xmi_to_html.html">Transforming XMI to
-         HTML</jump> (oriented towards XMI, "an XML-based, stream representation of a UML model," but also covers "generic"
-         XML transformations) and their related <jump href="http://objectsbydesign.com/projects/xslt/xslt_by_example.html">XSLT
-         by Example</jump><br/><br/></li>         
-         <li>OASIS (the Organization for the Advancement of Structured Information Standards): 
-         <jump href="http://www.oasis-open.org/cover/xsl.html">Extensible Stylesheet Language (XSL)</jump> by Robin
-         Cover<br/><br/></li>
-         <li>Donald Ball's <jump href="http://www.webslingerZ.com/balld/xsl/designer_manual.xml">A Guide to XML and XSL for
-         Designers</jump><br/><br/></li>         
-    </ul>
-    <p>When you come across other useful introductory or background materials, please email <human-resource-ref
-     idref="xalandev"/>, so we can add them to this list.</p>
-    
-    </s2><anchor name="glossary"/>
-    <s2 title="Glossary">
-      <gloss>
-        <label>XSLT Namespace</label>
-        <item>The <jump href="http://www.w3.org/TR/REC-xml-names/">XML namespace</jump> for XSLT. An XML namespace is a 
-        collection of element and attribute names, identified by a Unique Resource Identifier (URI), which often takes the form of
-        a URL, but is really just a unique string, not a pointer to a web page. The XSLT namespace URI is
-        http://www.w3.org/1999/XSL/Transform. In each XSLT stylesheet, you must declare this namespace in the stylesheet element
-        tag and bind it to a local prefix. Like the XSLT specification, we always use xsl as the XSLT namespace prefix in our
-        descriptions and examples, although you are free to bind any prefix to this namespace.<br/><br/></item>
-        
-        <label>XSL Instruction</label>
-        <item>Any tag associated with the XSLT namespace.<br/><br/></item>
-        
-        <label>Template</label>
-        <item>An element, usually with child elements, that specifies a "rule" or set of 
-        instructions to perform when a particular kind of node is encountered in the source tree.<br/><br/></item>
-                
-        <label>XSL Template Instruction</label>
-        <item>Any tag that occurs inside an xsl:template element and is associated with the XSLT namespace.<br/><br/></item>
-                   
-        <label>Source Tree</label>
-        <item>The XML tree input to the XSL process.<br/><br/></item>
-        
-        <label>Result Tree</label>
-        <item>The tree that is output by the XSL process.<br/><br/></item>
-                
-        <label>Match Pattern</label>
-        <item>The part of a template that defines the kind(s) of nodes to which the template applies.<br/><br/></item>
-
-      </gloss>
-      <p>For more definitions of XSLT terminology, see Dave Pawson's 
-      <jump href="http://www.dpawson.co.uk/xsl/vocab.html">XSLT Terminology
-      Clarification</jump> and the Glossary in Michael Kay's 
-      <jump href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129">XSLT Programmer's Reference</jump>.</p>
-    </s2>
-</s1> 
diff --git a/xdocs/sources/xalan/readme.xml b/xdocs/sources/xalan/readme.xml
deleted file mode 100644
index 8e49878..0000000
--- a/xdocs/sources/xalan/readme.xml
+++ /dev/null
@@ -1,340 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"[
-<!ENTITY done-j SYSTEM "DONE">]>
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="Release Notes">
-<p>&xslt4j-current;</p>
-
- <ul>
-  <li><link anchor="status0">Status</link></li>&xsltcreleasenotesentry;
-  <li><link anchor="build">Build Notes</link></li>
-  <li><link anchor="contact">Getting in touch</link></li>
-  <li><link idref="history">History of software changes</link></li>
- </ul><anchor name="status0"/>
-  <s2 title="Status">
-   <ul>
-    <li><link anchor="done">Changes since version 2.2.D14</link></li>
-    <li><link anchor="other">Other points of interest</link></li>
-    <li><link anchor="bugs">Bugs</link></li>
-    <li><link anchor="status">Version of Xerces to use</link></li>
-    <li><link anchor="developer-list">Xalan developers</link></li>
-   </ul>
-     <anchor name="done"/>
-     <s3 title="Changes since &xslt4j; 2.2">
-     <p>&xslt4j-current; includes a couple of global adjustments:</p>
-     <ul>
-     <li>This release is integrated with release 2 of &xml4j;.</li>
-     <li>This release does not include support for the deprecated &xslt4j; 1 compatability API. The &xslt4j; 1 compatability code does 
-     NOT compile with &xml4j2;.</li>
-      </ul>
-     <p>Our <link idref="samples" anchor="sql">SQL extension samples</link> continue to use InstantDB, but based on our realization of changes 
-     that have occurred in the licensing of InstantDB, we no longer include InstantDB and the associated sample database with our distibution.
-     We do, however, provide information on how to <link idref="samples" anchor="instantdbsetup">set up InstantDB</link> to support our SQL 
-     extension samples.</p>    
-     &done-j;
-     </s3>
-     <anchor name="other"/>
-     <s3 title="Other points of interest">
-     <ul>
-     <li>If an attempt is made to coerce a different namespace onto a prefix already in use in xsl:attribute, the attribute will come out 
-     in the wrong namespace. Workaround: either provide an NCName instead of a QName for the attribute, or provide a QName with a prefix not
-     used elsewhere.<br/><br/></li>
-     <li>Handling xsl:namespace-alias declarations: In release 2.0.D01, we reported the need to do some research concerning exactly how Xalan
-     should handle xsl:namespace-alias declarations. As a result of discussions among members of the W3C Working Group on XSL, we have reached a
-     more precise consensus on how namespaces should be represented when an xsl:namespace-alias declaration is in effect.<br/><br/>
-     If a literal result element has a namespace prefix, the prefix will be preserved and the namespace URI of the element will be as
-     specified in the xsl:namespace-alias element, but the result-prefix is not required to appear in the result. This also applies to the
-     two other cases of "Literal namespace URI" mentioned in the XSLT Recommendation on 
-     <jump href="http://www.w3.org/TR/xslt#literal-result-element">Literal Result Elements</jump>. More simply, if the stylesheet calls for
-     &lt;axsl:foo&gt; to be output as a literal result element, then it will be output as &lt;axsl:foo&gt; in the result, but the namespace
-     associated with this "axsl" prefix will be as designated in the xsl:namespace-alias declaration.<br/><br/></li>
-     <li>For HTML output, &xslt4j2; outputs character entity references (&amp;copy; etc.) for the special characters designated in  
-     <jump href="http://www.w3.org/TR/xhtml1/#dtds">Appendix A. DTDs of the XHTML 1.0: The Extensible HyperText Markup
-     Language</jump>. &xslt4j; 1.x, on the other hand, outputs literal characters for some of these special characters.<br/><br/></li>
-     <li>In conformance with the <jump href="http://www.w3.org/TR/xslt#section-HTML-Output-Method">XSLT Recommendation on the HTML 
-     Output Method</jump> and <jump href="http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.1">Section B.2.1 of the HTML 4.0
-     Recommendation</jump>, &xslt4j2; uses %hh encoding for each byte of the UTF-8 representation of non-ASCII characters in HTML URI
-     attributes.<br/><br/></li>
-     <li>When your stylesheet asks for an explicit carriage-return character (&amp;#13;) to be inserted into the output, it is output during
-     the serialization process in escaped form unless escaping has been disabled.  When your stylesheet asks for an explicit line-feed character
-     (&amp;#10;) to be output, the system-default line-break character(s) is/are output during the serialization process.  Also keep in mind that
-     the XML parser normalizes line-breaks to line-feeds when it sends character events to the processor.<br/><br/></li>
-     <li>If your XML input is a DOM, use the javax.xml.parsers.DocumentBuilderFactory setCoalescing() method to set coalescing to true (it is
-     false by default), if you want to append CDATA sections to adjacent text sections to form a single text node (as the XPath standard calls
-      for), and if the XML parser supports this feature (&xml4j-used; does not).<br/><br/></li>
-     <li>When you traverse the namespace axis for a collection of element nodes, &xslt4j; includes <em>one</em> namespace node for each namespace in scope 
-     for one or more of the nodes in that collection. The XPath expression does not return additional (redundant) namespace nodes for each element
-     for which the namespace nodes are in scope.<br/><br/></li>
-     <li>See <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2291">Bugzilla bug 2291</jump> for a discussion of issues surrounding
-     use of the default character encoding to read META-INF/Services.<br/><br/></li>
-     <li>As <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1800">Bugzilla bug 1800</jump> reports, the Transformer does not get the 
-     setTransformState event until after the startDocument event. This could present a problem for tools developers, and we do intend to fix this 
-     bug.</li> 
-     </ul>
-     </s3><anchor name="bugs"/>
-     <s3 title="Bugs">
-     <p>All known &xslt4j; bugs are listed in <resource-ref idref="bugzilla"/>. For a list of open bugs with links to each bug
-      report, see <resource-ref idref="buglist"/>. If you find a new bug, please enter a XalanJ2 bug report in this
-      database.</p>
-     <note>Before you can enter your first bug report, you must submit your email address to Bugzilla and receive a password.</note> 
-     <p>We strongly encourage you write patches for problems you find and submit them to
-      xalan-dev@xml.apache.org. We review the patches we receive to make sure they do not break something else, and (assuming they 
-     do not) include them in our next release. In the interest of fixing bugs, adding enhancements, and addressing outstanding design
-     issues, we sincerely want (and need!) your active participation in the ongoing development of Xalan.</p>
-     </s3>     
-     <anchor name="status"/>
-     <s3 title="Version of Xerces to use"> 
-       <p>The &xslt4j-current; has been tested with &xml4j-used;. &download; For information about including &xml4j-jar; on the system class path, see <link idref="getstarted" anchor="classpath">Setting up the system class path</link>.</p>
-       <note>You may also use &xslt4j-current; for prototyping or beta testing with &xml4j; 2.0.0.beta3. <em>You may not use the 
-       <link idref="usagepatterns" anchor="compat">&xslt4j; version 1 API (deprecated)</link> with &xml4j; 2.0.0.beta3.</em></note>
-       <p><em>Important</em> You may experience unpredictable anomalies if your Xalan and Xerces builds are not in synch. If you download an update to Xalan, check the release notes to determine which version of Xerces you should use.</p>
-       <note>You can use Xalan with other XML parsers that implement the <resource-ref idref="jaxp"/>. See 
-       <link idref="usagepatterns" anchor="plug">Plugging in the Transformer and XML parser</link>.</note>
-     </s3>
-     <anchor name="to-do"/>
-     <s3 title="To-do tasks">
-       <p>For a list of goals, tasks, and target dates for completion, see <jump href="todo.html">Xalan-Java Version 2: Things To Do</jump>. 
-       As tasks are completed, they are moved from the to-do list to 
-       <jump href="todo.html#release-date-completed">Completed</jump>.</p>
-       <p>The source document for the to-do list is an active document in the Apache CVS repository: 
-       <jump href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xalan/java/todo.xml">xml-xalan/java/todo.xml</jump>.</p>
-      </s3> 
-  </s2>
-  <anchor name="build"/>  
-  <s2 title="Build Notes">
-  <p>We provide two distributions: a binary distribution, and a source distribution. See <link idref="getstarted" anchor="download">Downloading
-  what you need</link>. If you have downloaded the binary distribution, you already have a build. If you downloaded the source
-  distribution, you can use Ant to build &xslt4j;, including xalan.jar, xalansamples.jar, xalanservlet.jar, the
-  user documentation, and the Javadoc API documentation. You need the source distribution to do builds. Keep in mind that if you have also
-  downloaded the binary distribution, any builds you run will overwrite that binary distribution.</p>
-<ul>
-<li><link anchor="ant">Using Ant</link></li>
-<li><link anchor="jar">Building xalan.jar</link></li>
-<li><link anchor="samples">Building sample applications</link></li>
-<li><link anchor="doc">Building the &xslt4j; documentation</link></li>
-</ul>
-<anchor name="ant"/>
-   <s3 title="Using Ant">
-     <p>Apache <resource-ref idref="ant"/> is a flexible, powerful, and easy-to-use Java build tool that we include with the
-     &xslt4j; distribution. The Ant JAR file is in the bin directory, and the cross-platform XML build file (build.xml) is in 
-     the root directory along with a Windows32 batch file (build.bat) and a UNIX shell file (build.sh). The build file defines 
-     the "targets" that you can use Ant to build. The batch and shell files set up the classpath and launch Ant with the target 
-     (and any other arguments) you provide.</p>
-     <p><em>Instructions for using Ant</em></p>
-     <ol>
-       <li>Set the JAVA_HOME environment variable to the JDK root directory.<br/><br/>
-       If you are using JDK 1.1.8, you must also put classes.zip in the JDK bin directory on the classpath. You can use Ant 
-       with JDK 1.1.8 to compile and jar the &xslt4j; source files, but you must have JDK 1.2.2 or higher to build the
-       documentation.<br/><br/></li>
-       <li>Depending on your environment, run the batch file (build.bat) or shell file (build.sh) from the &xslt4j; root
-       directory, optionally with arguments (see the table of targets below).<br/><br/>
-       The batch/shell file adds several JAR files to the classpath and launches Ant with any arguments you provide. If you
-       provide no target, Ant compiles the source files and rebuilds xalan.jar (the "jar" target).</li>
-     </ol>
-     <p>You can also set up your classpath manually (see build.bat or build.sh for the details), and then run Ant as
-     follows:<br/><br/>
-     <code>java org.apache.tools.ant.Main <ref>target</ref></code><br/><br/>
-     where <ref>target</ref> is nothing (for the default target) or one of the following.</p>
-     <table>
-       <tr><td><em>Target</em></td><td><em>What Ant does</em></td></tr>
-       <tr><td>compile</td><td>compiles Xalan-Java in build/classes.</td></tr>
-       <tr><td>jar (the default)</td><td>creates xalan.jar in the build directory</td></tr>
-       <tr><td>samples</td><td>compiles and jars the sample apps in build/xalansamples.jar</td></tr>
-       <tr><td>servlet</td><td>compiles and jars the sample servlet in build/xalanservlet.jar</td></tr>       
-       <tr><td>docs</td><td>creates the HTML User's Guide in build/docs</td></tr>
-       <tr><td>javadocs</td><td>generates the API documentation in ./build/docs/apidocs</td></tr>
-       <tr><td>dist</td><td>generates a complete distribution tree with zip and tar.gz distribution files in build</td></tr>
-       <tr><td>clean</td><td>purges the build and distribution</td></tr> 
-  </table>
-  <p>If you build a target that depends on other targets, Ant creates those other targets in the correct order.</p>
-   </s3><anchor name="jar"/> 
-   <s3 title="Building &xslt4j;">
-     <p>The &xslt4j; build is in xalan.jar. The &xslt4j; source code tree is in the src directory.</p>
-     <p>If you are using Ant, the target is jar (the default). For more information, see <link anchor="ant">Using
-     Ant</link>.</p>
-     <p>If you want to do the build without Ant, keep the following in mind:</p>
-     <ul>
-     <li>Set the classpath to include the src directory, &xml4j-jar;, bsf.jar, and bsfengines.jar.</li>
-     <li>Use a Java compiler (such as the IBM Just-In-Time compiler or the Sun javac) to compile all the .java files in the src
-     tree. </li>
-     <li>Use the Sun jar utility to store the resulting .class files in xalan.jar</li>
-     </ul>
-   </s3><anchor name="samples"/>
-   <s3 title="Rebuilding a sample application">
-   <p>If you modify a sample and want to recompile it, you can run the Java compiler in the directory containing the
-   example. Be sure xalan.jar and &xml4j-jar; are on the classpath. To recompile (and run!) the class files in the
-   Servlet subdirectory, the javax.servlet and javax.servlet.http packages must also be on the classpath. Sun
-   distributes these packages in the JSWDK 1.0.1 servlet.jar file.</p> 
-   <p>After recompiling a sample, you can use the Sun jar utility to place your new .class files in
-    xalansamples.jar.</p>
-    <p>You can use Ant with the samples target to recompile the samples and place the unpackaged class files in xalansamples.jar.
-     For more information, see <link anchor="ant">Using Ant</link>.</p>
-    <note>To rebuild (and to run) the sample servlet, the javax.servlet and javax.servlet.http packages must be on your
-    classpath.</note>
-   </s3><anchor name="doc"/>
-   <s3 title="Rebuilding the &xslt4j; documentation">
-     <p>&xslt4j; includes a number of XML source files, XSL stylesheets, document type definition (DTD)
-      files, entity relationship (ENT) files, graphics, and a JavaScript file that provide the input for the Xalan
-      HTML User's Guide, and the overview and package-level documents used during the generation of Javadoc.</p>
-      <p>To rebuild the documentation, you must use the StyleBook tool and the JDK 1.2.2 java and javadoc
-      tools. StyleBook (which uses Xalan and Xerces) is in stylebook-1.0-b2.jar. Some of the document definition files,
-      stylesheets, and resources are stored in xml-site-style.tar.gz, and are unzipped when you run Ant as described
-       below.</p>
-      <p>You can use Ant with the docs target to regenerate the User's Guide and with the javadocs target to regenerate the
-      Javadoc API documentation. For more information, see <link anchor="ant">Using Ant</link>.</p>
-      <p>If you want to rebuild the documentation without using Ant, keep the following in mind:</p>
-       <ul>
-       <li>Unzip xml-site-style.tar.gz into the xdocs directory (the operation places files in a number of subdirectories).
-       <br/><br/></li>
-       <li>Be sure stylebook-1.0-b2.jar, xalanjdoc.jar, xalan.jar, bsf.jar, bsfengines.jar, and &xml4j-jar; are on the class
-       path.<br/><br/></li>
-       <li>To build doc in a build/docs subdirectory, run StyleBook from the xdocs directory as follows:<br/><br/>
-       <code>java org.apache.stylebook.StyleBook "targetDirectory=../build/docs/" sources/xalanLocal.xml style</code>
-       <br/><br/></li>
-       <li>To build the HTML source files that javadoc needs for the TrAX top-level and package-level documentation, add
-       a build/docs/apdidocs/javax/xml/transform directory and run the Xalan command-line utility from the xdocs directory 
-       as follows (all one line):<br/><br/>
-<code>
-java org.apache.xalan.xslt.Process 
-  -in sources/trax/trax.xml
-  -param package-root '../../../src/'
-  -xsl style/stylesheets/spec.xsl 
-  -out build/docs/apidocs/javax/xml/transform/trax.html</code><br/><br/></li>
-        <li>Before you run javadoc, make sure the following directory structure exists under the Xalan root
-         directory: build/docs/apidocs.<br/><br/></li>
-       <li>To build the API documentation, run the JDK 1.2.2 javadoc tool from the xdocs directory (all one line):<br/><br/>
-<code>
-javadoc -doclet xalanjdoc.Standard 
- -docletpath ../bin/xalanjdoc.jar 
- -private
- -overview ../src/javadocOverview.html -sourcepath ../src 
- -group TrAX "javax.xml.transform*" 
- -group Xalan_Core "org.apache.xalan.processor:
-        org.apache.xalan.templates:
- org.apache.xalan.transformer"
- -group XPath "org.apache.xpath*"
- -group Utilities "org.apache.xml.utils*"
- -group Xalan_Other "org.apache.xalan.client:
-        org.apache.xalan.dtm:
- org.apache.xalan.extensions:org.apache.xalan.res:
- org.apache.xalan.stree:org.apache.xalan.trace:
- org.apache.xalan.xslt" 
- -group Xalan_Extensions "org.apache.xalan.lib*" 
- -group Serializers "org.apache.xalan.serialize" 
- org.apache.xalan.client org.apache.xalan.dtm 
- org.apache.xalan.extensions org.apache.xalan.lib 
- org.apache.xalan.lib.sql org.apache.xalan.processor 
- org.apache.xalan.res org.apache.xalan.stree 
- org.apache.xalan.templates org.apache.xalan.trace 
- org.apache.xalan.transformer org.apache.xalan.xslt 
- org.apache.xpath org.apache.xpath.axes 
- org.apache.xpath.compiler org.apache.xpath.functions 
- org.apache.xpath.objects org.apache.xpath.operations 
- org.apache.xpath.patterns org.apache.xpath.res
- org.apache.xalan.serialize javax.xml.transform  
- javax.xml.transform.dom javax.xml.transform.sax 
- javax.xml.transform.stream javax.xml.parsers
- -d ../build/docs/apidocs -windowtitle "Xalan-Java 2" 
- -doctitle "Xalan-Java 2" -bottom "Copyright &#169; 
-  2000 Apache XML Project. All Rights Reserved."
-</code></li>
-</ul>
-  </s3>    
- </s2><anchor name="contact"/>
- <s2 title="Getting in Touch">
-  <p>Your feedback is more than welcome. Offers of help are even more so! Perhaps you would like to take on an active role in the ongoing development, testing, and documentation of &xslt4j;?</p> 
-<p>Please email your comments, questions, suggestions, and offers to join the Xalan team to <human-resource-ref idref="xalandev"/>.</p>
- </s2><anchor name="developer-list"/>
- <s2 title="Developers">
-<p>A list of some of people currently working on working on &xslt4j;:</p>
-  <!-- in alphabetical order, by last name -->
-  <ul>
-  <li><human-resource-ref idref="sboag"/>
-    <br/>Xalan architect, lead developer on Xalan-J 2.x.
-  </li>
-  <li><human-resource-ref idref="scurcuru"/>
-    <br/>Lead tester for API issues, automation framework.
-  </li>
-  <li><human-resource-ref idref="pdick"/>
-    <br/>XSLT Conformance stylesheet issues and Xalan-C testing.
-  </li>
-  <li><human-resource-ref idref="jkesselman"/>
-    <br/>Xalan-J 2.x developer, compiling/compiled stylesheets experiments.
-  </li>
-  <li><human-resource-ref idref="dleslie"/>
-    <br/>Xalan-J and -C documentation, servlets, applets, and samples.
-  </li>
-  <li><human-resource-ref idref="cmanolache"/>
-    <br/>Xalan-J 2.x developer and JAXP expert.
-  </li>
-  <li><human-resource-ref idref="dmarston"/>
-    <br/>Lead tester for XSLT Conformance stylesheet issues.
-  </li>
-  <li><human-resource-ref idref="mmidy"/>
-    <br/>Xalan-J 1.x and 2.x developer.
-  </li>
-  <li><human-resource-ref idref="gpeskin"/>
-    <br/>Xalan-J 1.x and 2.x developer, especially extension mechanisim.
-  </li>
-  <li><human-resource-ref idref="jgentilin"/>
-    <br/>Major work on the SQL extensions library.
-  </li>
- </ul>
- </s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/resources.xml b/xdocs/sources/xalan/resources.xml
deleted file mode 100644
index 27a9e37..0000000
--- a/xdocs/sources/xalan/resources.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE resources [
-  <!ENTITY % externalEntity SYSTEM "../entities.ent">
-  %externalEntity;
-  <!ELEMENT resources (resource|human-resource)+>
-  <!ELEMENT resource EMPTY>
-  <!ATTLIST resource 		
-        id CDATA #IMPLIED
-				title CDATA #IMPLIED
-				location CDATA #IMPLIED>
-  <!ELEMENT human-resource EMPTY>
-  <!ATTLIST human-resource 	
-        id CDATA #IMPLIED
-				name CDATA #IMPLIED
-				mailto CDATA #IMPLIED>
-   ]>  
-<resources> 	
-  <resource id="xslt4j-current" 
-            title="&xslt4j-current;" 
-            location="http://xml.apache.org/xalan"/>
-
-  <resource id="xslt4j-distdir" 
-            title="xalan-j distribution directory" 
-            location="&xslt4j-distdir;"/>
-
-  <resource id="xslt4j-dist-zip" 
-            title="&xslt4j-dist;.zip" 
-            location="&xslt4j-distdir;&xslt4j-dist;.zip"/>
-  <resource id="xslt4j-dist-targz" 
-            title="&xslt4j-dist;.tar.gz" 
-            location="&xslt4j-distdir;&xslt4j-dist;.tar.gz"/>
-
-  <resource id="xslt4j-dist-bin-zip" 
-            title="&xslt4j-dist-bin;.zip" 
-            location="&xslt4j-distdir;&xslt4j-dist-bin;.zip"/>
-  <resource id="xslt4j-dist-bin-targz" 
-            title="&xslt4j-dist-bin;.tar.gz" 
-            location="&xslt4j-distdir;&xslt4j-dist-bin;.tar.gz"/>
-  <resource id="xslt4j-dist-src-zip" 
-            title="&xslt4j-dist-src;.zip" 
-            location="&xslt4j-distdir;&xslt4j-dist-src;.zip"/>
-  <resource id="xslt4j-dist-src-targz" 
-            title="&xslt4j-dist-src;.tar.gz" 
-            location="&xslt4j-distdir;&xslt4j-dist-src;.tar.gz"/>
-
-  <resource id="xml4j-used" 
-            title="&xml4j-used;" 
-            location="http://xml.apache.org/xerces-j/index.html"/>
-  <resource id="xml4j-distdir" 
-            title="xerces-j distribution directory" 
-            location="http://xml.apache.org/dist/xerces-j/"/>
-  <resource id="ant" title="Ant" 
-            location="http://jakarta.apache.org/ant/index.html"/>
-  <resource id="ApacheLicense" 
-            title="The Apache Software License, Version 1.1" 
-            location="http://xml.apache.org/dist/LICENSE.txt"/>
-  <resource id="bugzilla"
-            title="Bugzilla (the Apache bug database)"
-            location="http://nagoya.apache.org/bugzilla"/>
-  <resource id="buglist"
-            title="XalanJ2 open bugs"         
-            location="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=XalanJ2&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=%27Importance%27"/>                   
-  <resource id="bsf"
-            title="Bean Scripting Framework (BSF)"
-            location="http://oss.software.ibm.com/developerworks/projects/bsf"/>     
-	
-  <resource id="Readme" 
-            title="Xalan Repository Release Notes" 
-            location="http://www.apache.org/websrc/cvsweb.cgi/xml-xalan/README"/>
-            
-  <resource id="dpawsonxslfaq" title="XSL Frequently Asked Questions" location="http://www.dpawson.co.uk/xsl/xslfaq.html"/>
-  
-  <resource id="xslt" 
-            title="W3C Recommendation XSL Transformations (XSLT) Version 1.0"
-            location="http://www.w3.org/TR/xslt"/>
-  
-  <resource id="xpath" 
-            title="XML Path Language (XPath) Version 1.0" 
-            location="http://www.w3.org/TR/xpath"/>            
-            
-  <resource id="dom" 
-            title="DOM" 
-            location="http://www.w3.org/DOM"/>
-  <resource id="dom2" 
-            title="DOM level 2" 
-            location="http://www.w3.org/TR/DOM-Level-2/"/>
-
-  <resource id="sax" 
-            title="SAX" 
-            location="http://www.megginson.com/SAX/sax.html"/>
-  <resource id="sax2" 
-            title="SAX 2" 
-            location="http://www.megginson.com/SAX/Java/index.html"/>
-  <resource id="jaxp" 
-            title="Java API for XML Parsing 1.0" 
-            location="http://java.sun.com/xml/docs/api/index.html"/>
-  <resource id="jaxp11" 
-            title="Java API for XML Processing 1.1 Public Review 2" 
-            location="http://java.sun.com/aboutJava/communityprocess/review/jsr063/jaxp-pd2.pdf"/>
-  <resource id="jsr063"
-            title="Java Specification Request 63"
-            location="http://java.sun.com/aboutJava/communityprocess/review/jsr063"/>
-            
-  <resource id="xmlapirepository"
-            title="xml-commons/java/external/src"
-            location="http://cvs.apache.org/viewcvs.cgi/xml-commons/java/external/src/"/>
-            
-           
-  <human-resource id="xalandev" 
-                  name="Xalan Development Mailing List" 
-                  mailto="xalan-dev@xml.apache.org"/>
-                  
-  <human-resource id="sboag"
-                  name="Scott Boag"
-                  mailto="scott_boag@us.ibm.com"/>
-  <human-resource id="scurcuru"
-                  name="Shane Curcuru"
-                  mailto="Shane_Curcuru@us.ibm.com"/>
-  <human-resource id="pdick"
-                  name="Paul Dick"
-                  mailto="Paul_Dick@us.ibm.com"/>
-  <human-resource id="jkesselman"
-                  name="Josepah Kesselman"
-                  mailto="keshlam@us.ibm.com"/>
-  <human-resource id="dleslie"
-                  name="Donald Leslie"
-                  mailto="donald_leslie@us.ibm.com"/>
-  <human-resource id="cmanolache"
-                  name="Costin Manolache"
-                  mailto="cmanolache@yahoo.com"/>
-  <human-resource id="dmarston"
-                  name="David Marston"
-                  mailto="David_Marston@us.ibm.com"/>
-  <human-resource id="mmidy"
-                  name="Myriam Midy"
-                  mailto="myriam_midy@us.ibm.com"/>
-  <human-resource id="gpeskin"
-                  name="Gary L Peskin"
-                  mailto="garyp@firstech.com"/>
-  <human-resource id="jgentilin"
-                  name="John Gentilin"
-                  mailto="johng@apache.org"/>
-                  
-</resources>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/samples.xml b/xdocs/sources/xalan/samples.xml
deleted file mode 100644
index 414693f..0000000
--- a/xdocs/sources/xalan/samples.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="&xslt4j2; Samples">
-<ul>
-<li><link anchor="simpletransform">SimpleTransform</link></li>
-<li><link anchor="usestylesheetpi">UseStylesheetPI</link></li>
-<li><link anchor="usestylesheetparam">UseStylesheetParam</link></li>
-<li><link anchor="sax2sax">SAX2SAX</link></li>
-<li><link anchor="dom2dom">DOM2DOM</link></li>
-<li><link anchor="pipe">Pipe</link></li>
-<li><link anchor="usexmlfilters">UseXMLFilters</link></li>
-<li><link anchor="applyxpath">ApplyXPath</link></li>
-<li><link anchor="appletxmltohtml">AppletXMLtoHTML</link></li>
-<li><link anchor="get-trax">get-trax</link></li>
-<li><link anchor="servlet">servlet</link></li>
-<li><link anchor="extensions">Extensions</link></li>
-<li><link anchor="trace">Trace</link></li>
-<li><link anchor="validate">Validate</link></li>
-<li><link anchor="trax">trax</link></li>&xsltcsampleshead;
-</ul>  
-	  <s2 title="Samples to help you get started">
-    <p>Each of the subdirectories in the &xslt4j; java/samples directory contains the source files for one or more
-     sample applications. The class files for the samples are in xalansamples.jar (everything except the servlet) and xalanservlet.jar, so to run the samples, you should place these JAR files on the system classpath.</p>
-     <p>With most of the samples, you can use the following procedure:</p>
-     <ol>
-     <li>Be sure xalan.jar, xalansamples.jar, and &xml4j-jar; are on the system class
-      path. For the extension examples, bsf.jar and (for the JavaScript extensions) js.jar must also be on the class
-      path.</li>
-     <li>Be sure the java executable is on your path.</li>
-     <li>Go to the samples subdirectory containing the sample (use the DOS shell if you are running Windows).</li>
-     <li>Run the sample from the command line (as indicated below).</li>
-    <li>Examine the application source files. You may also want to modify the source files. Remember that if you
-     modify a java file, you must recompile the class and place it on the classpath before you can run the
-     modified application.</li>
-     </ol>      
-    <p>The basic command line for running most of the samples is </p> 
-    <p><code>java <ref>classname args</ref></code></p>
-    <p>where <ref>classname</ref> is the sample class and <ref>args</ref> are the arguments, if any. As described in
-     the following sections, some samples take no arguments. The UseStylesheetParam sample takes an
-     additional argument. Several samples in extensions use the &xslt4j; 
-     <link idref="commandline">command-line utility</link>, so they take arguments for the XML source
-     file and the XSL stylesheet.</p>
-  	</s2><anchor name="simpletransform"/>
-    <s2 title="SimpleTransform">
-    <p>What it does: The SimpleTransform class uses the birds.xsl stylesheet to transform birds.xml, and prints the
-     output to birds.out.</p>
-    <p>You can run it from the SimpleTransform subdirectory with</p>
-    <p><code>java SimpleTransform</code></p>
-    </s2><anchor name="usestylesheetpi"/>
-    <s2 title="UseStylesheetPI">
-    <p>What it does: The UseStylesheetPI class uses the stylesheet processing instruction in the XML source document to determine
-     which stylesheet to use to perform the transformation.</p>
-     <p>You can run it from the UseStylesheetPI subdirectory with</p>
-     <p><code>java UseStylesheetPI</code></p>
-     <p>For more information, see <link idref="usagepatterns" anchor="embed">Working with embedded stylesheets</link>.</p>
-    </s2><anchor name="usestylesheetparam"/>
-    <s2 title="UseStylesheetParam">
-      <p>What it does: The UseStyleSheetParam class uses foo.xsl and a stylesheet parameter to transform foo.xml,
-       and prints the output to System.out. The stylesheet parameter appears as a text node in the output.</p>
-    <p>Run this sample from the UseStylesheetParam subdirectory with</p> 
-    <p><code>java UseStylesheetParam <ref>param</ref></code></p>
-    <p>where <ref>param</ref> is the stylesheet parameter value (a string of your choice).</p>  
-    </s2><anchor name="sax2sax"/>
-  <s2 title="SAX2SAX">
-  <p>What it does: Explicitly set the SAX XMLReader and SAX ContentHandler for processing the stylesheet (birds.xsl), processing the XML input (birds.xml), and producing the output (birds.out).</p>
-  <p>Run this sample from the SAX2SAX subdirectory with</p>
-   <p><code>java SAX2SAX</code></p>
-    </s2><anchor name="dom2dom"/>
-    <s2 title="DOM2DOM">
-    <p>What it does: the DOM2DOM class uses the birds.xsl stylesheet to transform a DOM Document generated from birds.xml,
-     produces an output DOM, and traverses the DOM, printing the traversal to System.out. In contrast to SimpleTransform,
-      DOM2DOM illustrates the procedure for processing an input DOM and creating an output DOM that is available for
-      further processing.</p>
-   <p>You can run it from the DOM2DOM subdirectory with</p>
-    <p><code>java DOM2DOM</code></p>
-    </s2><anchor name="pipe"/>
-    <s2 title="Pipe">
-    <p>What it does: Pipes the output from one transformation to a second transformation, then from the second
-    transformation to the third transformation. Transformer1 is the ContentHandler for the XMLReader (which parses the
-    input document). Transformer2 provides the ContentHandler for Transformer1, and Transformer3 for Transformer2.</p>
-    <note>Pipe and UseXMLFilters illustrate two strategies for using the output of one transformation as the input for
-    another transformation. The Pipe sample incorporates a "push" model -- Transformer1 "pushes" its output to
-    Transformer2, and so on -- whereas in the UseXMLFilters sample, Transformer3 "pulls" its input from Transformer2,
-    and so on.</note>
-    <p>Run this sample from the Pipe subdirectory with</p> 
-    <p><code>java Pipe</code></p>
-    </s2><anchor name="usexmlfilters"/>
-    <s2 title="UseXMLFilters">
-    <p>What it does: Chains together the same transformations as the preceding Pipe sample. Using each Transformer
-     object as an extension of the SAX XMLFilter interface, sets the XMLReader as the parent of filter1,
-     filter1 as the parent of filter2, and filter2 as the parent of of filter3.</p>
-     <p><img src="xmlfilters.gif" alt="xmlfilters.gif"/></p>
-      <p>Run this sample from the UseXMLFilters subdirectory with</p>
-   <p><code>java UseXMLFilters</code></p>
-    </s2><anchor name="applyxpath"/>
-    <s2 title="ApplyXPath">
-    <p>What it does: ApplyXPath uses the <jump href="apidocs/org/apache/xpath/XPathAPI.html">XPathAPI</jump> convenience methods to
-    execute an XPath expression against an XML document and return the nodes (if any) it finds.</p>
-     <note>You can use this sample as an aid when you want to find out what a given XPath expression returns from a
-     given XML file. Keep in mind that the context node (base point of evaluation) for the XPath expression is the document
-     root.</note>
-    <p>Run this sample from the ApplyXPath subdirectory with</p> 
-    <p><code>java ApplyXPath <ref>XMLFile XPathExpression</ref></code></p>
-    <p>where <ref>XMLFile</ref> is an XML source file and <ref>XPathExpression</ref> is an XPath expression to
-     apply to that file. The ApplyXPath subdirectory contains an XML file named foo.xml --<br/>
-     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>&lt;doc&gt;&lt;name first="David" last="Marston"/&gt;...&lt;/doc></code><br/> -- so you can try command
-     lines like</p>
-    <p><code>java ApplyXPath foo.xml /</code></p>
-    <p>and</p>
-    <p><code>java ApplyXPath foo.xml /doc/name/@first</code></p>
-    <p>For more information, see <link idref="usagepatterns" anchor="xpath">Working with XPath expressions</link>.</p>
-    </s2><anchor name="appletxmltohtml"/>
-    <s2 title="AppletXMLtoHTML">
-    <p>The applet uses a stylesheet to transform an XML document into HTML. It displays the XML document, the
-     stylesheet, and the HTML output.</p>
-    <p>How to run it: Open appletXMLtoHTML.hmtl in the Internet Explorer 5 browser.</p>
-    <note>For information about running &xslt4j; applets in Netscape Communicator, see <link idref="usagepatterns" anchor="netscape">Problems
-    with Netscape</link>.<br/><br/>
-    Both applets look for xalan.jar, xml-apis.jar, and xercesImpl.jar (Xerces-J2) or xerces.jar (Xerces-J 1) in the bin 
-    subdirectory. If you have placed these JAR files
-    elsewhere, adjust the applet archive setting in client.html and get-trax.html accordingly.</note>
-    </s2><anchor name="get-trax"/>
-    <s2 title="get-trax">
-    <p>This applet uses spec.xsl to transform trax.xml and display the result. The XML source (trax.xml) is part of a draft
-    for the TrAX (Transformation API for XML) specification written by Scott Boag. It contains a useful overview of what
-    was to become the JAXP 1.1 interface for performing XML transformations.</p>
-     <p>How to run it: Open get-trax.html in the Internet Explorer 5 browser.</p>
-    </s2><anchor name="servlet"/>
-    <s2 title="servlet">
-   <p>For a general introduction, see <link idref="usagepatterns" anchor="servlet">Using &xslt4j; in a servlet</link>.</p>
-    <p>The servlet subdirectory contains four sample servlets that use &xslt4j; to perform transformations. These servlets 
-    are in a package named servlet and are compiled in xalanservlet.jar. To run these samples, you must place 
-    xalanservlet.jar, and any XML and XSL files you want to use on a web server with a servlet engine, place 
-    xalanservlet.jar, xalan.jar, and &xml4j-jar; on the servlet engine class path, and configure the servlet engine to
-    locate the XML and XSL files, and the properties file used by ApplyXSL.</p>
-    <p><link anchor="simplexsltservlet">servlet.SimpleXSLTServlet</link> applies a particular stylesheet to a particular 
-    XML document.</p> 
-    <p><link anchor="usestylesheetparamservlet">servlet.UseStylesheetParamServlet</link> sets a stylesheet parameter 
-    (the parameter name is hardwired into the servlet), and requires the user to supply parameters for the 
-    XML document and XSL stylesheet.</p>
-    <p><link anchor="jspsample">jspSample.jsp</link> is a Java ServerPage that sets a stylesheet parameter and applies the
-     stylesheet to the XML document.</p>
-    <p><link anchor="xsltservletwithparams">servlet.XSLTServletWithParams</link> accepts parameters for the XML document, 
-    the XSL stylesheet, and any number of stylesheet parameters.</p>
-    <p><link anchor="applyxslt">servlet.ApplyXSLT</link> (and associated classes) is closer to a production level servlet. It accepts parameters, provides a 
-    listener for capturing and reporting debugger messages, and supports  use of a property file to determine which 
-    stylesheet to apply based on the identity of the client browser/device.</p>
-    <anchor name="simplexsltservlet"/>
-    <s3 title="servlet.SimpleXSLTServlet">
-    <p>What it does: servlet.SimpleXSLTServlet applies the spec.xsl stylesheet to trax.xml (see the <link anchor="get-trax">
-    get-trax applet</link>) and returns the transformation result to the HTTP client.</p>
-    <p>To run this servlet: place spec.xsl and trax.xml (from the samples/AppletXMLtoHTML directory) in the directory where your servlet engine
-    looks for HTTP documents, place xalanservlet.jar on the servlet engine classpath, and set up an HTML page to call the servlet as
-    follows:</p>
-<gloss><label>http://localhost/servlethome/servlet.SimpleXSLTServlet</label></gloss>
-     </s3><anchor name="usestylesheetparamservlet"/>
-     <s3 title="servlet.UseStylesheetParamServlet">
-     <note>Paul Campbell &lt;seapwc@halcyon.com&gt; wrote this servlet and the following explanatory text.
-     Thank you, Paul!</note>
-     <p>What it does: The client (perhaps an HTML form ) specifies an XML document, a stylesheet, and a value to be passed
-      to the stylesheet for a stylesheet parameter named "param1". The servlet performs the transformation and returns
-      the output to the client. The client must specify which stylesheet (containing a "param1" stylesheet parameter") 
-      and XML file are to be used.</p>
-     <p>How to run it: Configure your application server (Tomcat, Websphere or JServ, for example)
-     so it can find servlet.UseStylesheetParamServlet (in xalanservlet.jar) as well as the XML document 
-     and XSL stylesheet. For example, you can copy fooparam.xml and fooparam.xsl from samples/servlet to the application 
-     server root directory for documents.</p>
-     <p>Then you can set up an HTML client to call the servlet with arguments along the lines of</p>
-    <gloss><label>http://localhost/servlethome/servlet.UseStylesheetParamServlet?
-    XML=fooparam.xml&amp;XSL=fooparam.xsl&amp;PVAL=GoodBye</label></gloss>
-     <p>In the doGet() method, the servlet obtains the PVAL value "GoodBye") from the servlet request and passes it to the 
-     stylesheet as the paramValue argument in a Transformer setParameter() call:</p>
-      <p><code>String paramValue = httpServletRequest.getParameter("PVAL");</code><br/>
-      <code>...</code><br/>
-     <code>transformer.setParameter("param1", paramValue);</code></p>
- <p>The result is returned to the client:</p>
-<p><code>&lt;html&gt;&lt;body&gt;&lt;p&gt;GoodBye&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</code></p>
-     </s3><anchor name="jspsample"/>
-     <s3 title="jspSample.jsp">
-     <note>Paul Campbell &lt;seapwc@halcyon.com&gt; wrote this Java Server Page.</note>
-     <p>This Java Server Page performs essentially the same operation as 
-     <link anchor="usestylesheetparamservlet">servlet.UseStylesheetParamServlet</link>. It applies a stylesheet parameter 
-      to a stylesheet (fooparam.xsl), applies the stylesheet to an XML source document (fooparam.xml), and returns the
-      result.</p>     
-     </s3><anchor name="xsltservletwithparams"/>
-     <s3 title="servlet.XSLTServletWithParams">
-     <p>What it does: servlet.XSLTServletWithParams takes parameters in the request -- a URL parameter for
-     the XML input document URL and an xslURL parameter for the stylesheet URL.</p>
-     <p>To use XSLTServletWithParams to perform the same transformation as SimplestServlet: 
-     place spec.xsl and trax.xml in the directory where your servlet engine looks for HTTP documents, place
-     xalanservlet.jar on the servlet engine classpath, and set up an HTML page to call the servlet as follows:</p>
-<gloss><label>http://localhost/servlethome/servlet.XSLTServletWithParams?URL=file:trax.xml&amp;
-xslURL=file:spec.xsl</label></gloss>
-     <p>If the XML document contains an associated stylesheet (a stylesheet Processing Instruction) that you want to use, simply omit the
-     xslURL parameter.</p>
-     <p>If the stylesheet takes stylesheet parameters, you can include them in the URL. For example to set set the param1
-     stylesheet parameter to foo, include param1=foo in the URL.</p>
-     </s3><anchor name="applyxslt"/>
-     <s3 title="servlet.ApplyXSLT">
-    <p>What it does: The client (which you must set up) specifies an XML document and a stylesheet. The servlet
-     performs the transformation and returns the output to the client. You can use media.properties to specify 
-    which stylesheet is to be used depending on the client browser/device.</p>
-    <note>The source files for this servlet include ApplyXSLT.java, ApplyXSLTProperties.java, DefaultApplyXSLTProperties.java,
-    ApplyXSLTListener.java, and ApplyXSLTException.java.</note>
-    <p>To run the servlet: put xalanservlet.jar on the servlet engine classpath, configure your servlet engine so it can find the 
-     stylesheets and properties file in the servlet subdirectory (and in xalanservlet.jar), and set up an HTML page to call
-     servlet.ApplyXSLT with arguments as illustrated below.</p>
-     <p>Examples:</p>
-<gloss>
-<label>http://localhost/servlethome/servlet.ApplyXSLT?URL=/data.xml&amp;xslURL=
-/style.xsl</label>
-<item>...applies the style.xsl stylesheet to the data.xml data. Both files are<br/>
-served from the Web server's HTTP document root.<br/><br/></item>
-<label>http://localhost/servlethome/servlet.ApplyXSLT?URL=/data.xml&amp;xslURL=
-/style.xsl&amp;debug=true</label>
-<item>...ensures that XML and XSL processor messages are returned in the event of problems
-applying style.xsl to data.xml<br/><br/></item>
-<label>http://localhost/servlethome/servlet.ApplyXSLT/data.xml?xslURL=/style.xsl</label>
-<item>...applies the style.xsl stylesheet to the data.xml data, just like the first example.
-This is an alternative way of specifying the XML XSLTInputSource by utilizing the HTTP request's path
-information.<br/><br/></item>
-<label>http://localhost/servlethome/servlet.ApplyXSLT/data.xml</label>
-<item>...examines data.xml for an associated XSL stylesheet (a stylesheet Processing Instruction). If multiple XSLs are associated with the data, the stylesheet whose media attribute maps to your browser type will be chosen.  If no mapping is successful, the primary associated stylesheet is used.<br/><br/></item>
-<label>http://localhost/servlet/data.xml</label>
-<item>...provides the same function as the previous example, but this example assumes
-that /servlet/data.xml has been mapped to be executed by this servlet.  The servlet engine may be configured
-to map all or some *.xml files to this servlet through the use of servlet aliases or filters.<br/><br/></item>
-<label>http://localhost/servlet/data.xml?catalog=http://www.xml.org/dtds/oag.xml</label>
-<item>...supplements any servlet-configured XCatalog
-with a catalog of supply chain DTDs residing at the XML.ORG DTD repository.</item>
-</gloss>     
-   </s3>
-     </s2><anchor name="extensions"/>
-    <s2 title="Extensions">
-    <p>For an introduction to the creation and use of extension elements and extension functions, and
-    for information about the extensions library distributed with &xslt4j;, see
-    <link idref="extensions">Extensions</link>.</p>
-    <ul>
-      <li><link anchor="ext1">1-redir</link></li>
-      <li><link anchor="ext2">2-basicJscript</link></li>
-      <li><link anchor="ext3">3-java-namespace</link></li>
-      <li><link anchor="ext4">4-numlistJava</link></li>
-      <li><link anchor="ext5">5-numlistJScript</link></li>
-      <li><link anchor="sql">SQL library extensions</link></li>
-    </ul>
-    <p>The extensions subdirectory contains six samples with &xslt4j; extensions. Two of the samples use
-     extensions implemented in JavaScript, and four of the samples use extensions implemented in Java.</p>
-     <p>To run these examples, you must place bsf.jar (distributed with &xslt4j;), and js.jar
-      (version 1.5, available from 
-      <jump href="http://www.mozilla.org/rhino">http://www.mozilla.org/rhino</jump>) on the classpath. 
-     You do not need js.jar on the classpath for the samples that use Java extensions. </p>
-     <p>Use java.org.apache.xalan.xslt.Process, the &xslt4j; command-line utility, to run most of these samples from
-      the <link idref="commandline">command line</link>. The command line must include an -in flag with the 
-      XML source and an -xsl flag with the XSL stylesheet. If you want the output to be written to a file, rather
-      than to the screen, add an -out flag with the output file name.</p>
-      <p>Run these samples from the extensions directory as follows (each of the following is a single command
-       line):</p> 
-
-      <anchor name="ext1"/>
-      <s3 title="1-redir">
-      <p>What it does: Uses the Redirect extension elements shipped with &xslt4j; to direct output to two output
-        files.</p>
-      <p>Run this sample from the extensions subdirectory with</p> 
-       <p><code>java org.apache.xalan.xslt.Process -in 1-redir.xml</code><br/>
-       &nbsp;&nbsp;<code>-xsl 1-redir.xsl</code></p>
-      <p>The standard (non-redirected) output is written to the screen. The redirected output is written to 1-redir-out, or
-      whatever filename you assign to the doc/foo @file attribute in 1-redir.xml. The stylesheet gets the file name for
-      redirected output from the XML input file.</p>
-      </s3><anchor name="ext2"/>
-      <s3 title="2-basicJscript">
-      <p>What it does: Uses an extension element and extension function implemented in JavaScript to compute a
-      deadline for responding to a customer inquiry.</p>
-      <note>js.jar must be on the classpath.</note>
-      <p>Run this sample from the extensions subdirectory with</p>
-      <p><code>java org.apache.xalan.xslt.Process -in 2-basicJscript.xml</code>
-         <br/>&nbsp;&nbsp;<code>-xsl 2-basicJscript.xsl</code></p>     
-      </s3><anchor name="ext3"/>
-      <s3 title="3-java-namespace">
-      <p>What it does: Uses extension functions to format dates. This sample illustrates use of the predefined java
-        extension namespace to provide ready access to extensions implemented in Java.</p>
-      <p>Run this sample from the extensions subdirectory with</p> 
-      <p><code>java org.apache.xalan.xslt.Process -in 3-java-namespace.xml</code>
-         <br/>&nbsp;&nbsp;<code>-xsl 3-java-namespace.xsl</code></p>    
-      </s3><anchor name="ext4"/>
-      <s3 title="4-numlistJava">
-      <p>What it does: Uses a Java extension to transform a set of name elements into a numbered and alphabetized
-       list.</p>
-      <p>Run this sample from the extensions subdirectory with</p> 
-      <p><code>java org.apache.xalan.xslt.Process -in numlist.xml</code> 
-        <br/>&nbsp;&nbsp;<code>-xsl 4-numlistJava.xsl</code></p>    
-      </s3><anchor name="ext5"/>
-      <s3 title="5-numlistJscript">
-      <p>What it does: Uses a JavaScript  extension to transform a set of name elements into a numbered and
-      alphabetized list. This sample performs the same operations as the preceding Java extension.</p>
-      <note>js.jar must be on the classpath.</note>
-    <p>Run this sample from the extensions subdirectory with</p>
-      <p><code> java org.apache.xalan.xslt.Process -in numlist.xml</code>
-        <br/>&nbsp;&nbsp;<code>-xsl 5-numlistJscript.xsl</code></p>
-      </s3>
-      </s2><anchor name="sql"/>
-      <s2 title="SQL library extensions">
-      <p>The <link idref="extensionslib" anchor="sql">SQL library </link> extension enables you to execute SQL queries from within a stylesheet, 
-      and to incorporate query result sets in the XML output. To use the SQL library, you need
-      a JDBC driver, the underying DBMS, and a database. Our samples use Lutris&reg; InstantDB, available "free of charge for research and 
-      development use."</p><anchor name="instantdbsetup"/>
-      <s3 title="Setting up the InstantDB samples">
-      <p>To run the SQL library extension samples, do the following:</p>
-      <ol>
-      <li>Obtain a copy of InstantDB. You can download a free "Development license" copy for research and development from 
-      <jump href="http://www.lutris.com/downloads/index.html">Lutris Downloads</jump>.<br/><br/></li>
-      <li>Follow the instructions Lutris provides for installing InstantDB and generating the sample database.<br/><br/></li>
-      <li>Add idb.jar and the Java Transaction API JAR (jta-spec1_0_1.jar in the InstantDB 4.0 release) to the system class path.<br/><br/></li>
-      <li>Create an instantdb directory in the samples/extensions subdirectory, and copy the sample database to instantdb. The sample database
-      is in the Examples subdirectory where you installed InstantDB. For our purposes, it includes samples.prp and three subdirectories:
-      indexes, system, and tables.<br/><br/>
-      Alternative: You can adjust the references to samples.prp in the XSL stylesheets and XML document dburl nodes to point to sample.prp in
-      its original location, in which case you do not need to copy the samples database. For example, if you have installed InstantDB in /idb,
-      you can change 'jdbc:idb:./instantdb/sample.prp' in the XConnection new() call in extensions/6-sqllib-instantdb to
-      'jdbc:idb:/idb/Examples/sample.prp'.<br/><br/></li>
-      </ol>
-      <p>For more information about InstantDB, see the <jump href="http://www.lutris.com/products/instantDB/software/documentation/">InstantDB
-      Documentation</jump>.</p>
-      </s3>
-      <s3 title="SQL Library samples with InstantDB">    
-      <ul>
-      <li><link anchor="ext6">6-sqllib-instantdb</link></li>
-      <li><link anchor="basic-conn">Basic Connections</link></li>      
-      <li><link anchor="ext-conn">ExternalConnection</link></li>      
-      <li><link anchor="pquery">Parameterized query</link></li>
-      <li><link anchor="streamable">Streamable</link></li>
-      <li><link anchor="showerror">Show-error</link></li>
-      </ul>
-      <note>Except for 6-sqllib-instantdb, all these samples have been created by John Gentilin 
-      (johnglinux@eyecatching.com) to take illustrate the rich feature set he has contributed to the SQL Library. 
-      To run each of these samples, be sure  you are in the appropriate extensions/sql subdirectory.</note>
-      </s3><anchor name="ext6"/>
-      <s3 title="6-sqllib-instantdb">
-      <p>What it does: Uses the SQL library XConnection extension to connect to the InstantDB sample database, 
-      performs a query, and returns the query result in an HTML table.</p>
-      <p><link anchor="instantdbsetup">Set up InstantDB</link>, and run this sample from the extensions subdirectory:</p>
-      <p><code>java org.apache.xalan.xslt.Process</code>
-      <br/>&nbsp;&nbsp;<code>-xsl 6-sqllib-instantdb.xsl -out import1.html</code></p>
-      </s3><anchor name="basic-conn"/>
-      <s3 title="Basic-Connection">
-      <p><em>Contributed by John Gentilin (johnglinux@eyecatching.com).</em></p>
-      <p>What it does: illustrates two strategies for connecting to a database, executing a static query, and returning 
-      the query result.</p>
-      <p>The first strategy is to get connection information along with the static query from the stylesheet (dbtest.xsl)\
-      in the form of stylesheet parameters.</p>      
-      <p>The second strategy is to get connection information from a nodeset in an XML source document (dbInfo.xml).</p>
-      
-      <p><link anchor="instantdbsetup">Set up InstantDB</link>, and run this sample from the extensions/sql/basic-connection 
-       directory.</p>
-       <p>1. To get connection information from the stylesheet:</p>
-      <p><code>java org.apache.xalan.xslt.Process</code>
-      <br/>&nbsp;&nbsp;<code>-xsl dbtest.xsl -out import1.html</code></p>
-      <p>2. To get connection information in the form of a nodeset from the XML source document:</p>      
-      <p><code>java org.apache.xalan.xslt.Process</code>
-      <br/>&nbsp;&nbsp;<code>-in dbinfo.xml -xsl dbtest-cinfo.xsl</code> 
-      <br/>&nbsp;&nbsp;<code>-out import1.html</code></p>
-      <p>3. To get connection information from the stylesheet and dump the raw result set to an XML file:</p>
-      <p><code>java org.apache.xalan.xslt.Process</code>
-      <br/>&nbsp;&nbsp;<code>-xsl DumpSQL.xsl -out import1.xml</code></p>
-    </s3> <anchor name="ext-conn"/>
-    <s3 title="ExternalConnection">
-    <p><em>Contributed by John Gentilin (johnglinux@eyecatching.com).</em></p>
-    <p>What it does: The ExternalConnection classes uses the default implementation of the ConnectionPool interface 
-    to create a pool of connections. A stylesheet in turn uses a connection from this pool to instantiate an 
-    XConnection object and connect to a datasouce.</p>
-    <p>The stylesheet uses this named connection pool to instantiate an XConnection object and connect to the datasource. 
-    The ExternalConnection class is in xalansamples.jar.</p>
-    <p><link anchor="instantdbsetup">Set up InstantDB</link>, be sure xalanxamples.jar is on the class path, and run this 
-    sample from the extensions/sql/ext-connection directory:</p>
-    <p><code>java ExternalConnection</code></p>
-    <p>ExternalConnection creates the ConnectionPool, and performs a transformation with dbtest.xsl, which draws 
-    from the pool to instantiate an XConnection object, connect to the datasource, execute a static query, and return the
-    query result.</p>
-    </s3><anchor name="pquery"/>
-    <s3 title="Parameterized query">
-    <p><em>Contributed by John Gentilin (johnglinux@eyecatching.com).</em></p>
-    <p>What it does: connect to a datasource, execute a parameterized query, and return the result. The XML source document
-    provides the parameter value as well as the connection information. The parameter value is in a node in the XML source.</p>
-    <p>The stylesheet gets the required connection and parameter information from the XML source, sets up and executes the
-    parameterized query, and retuns the query result set.</p>
-    <p><link anchor="instantdbsetup">Set up InstantDB</link>, and run this sample from the sql/pquery subdirectory:</p>
-    <p><code>java org.apache.xalan.xslt.Process -in dbInfo.xml</code>
-    <br/><code>-xsl dbTest.xsl -out dbTest.html</code></p>    
-    </s3><anchor name="streamable"/>
-    <s3 title="Streamable">
-    <p><em>Contributed by John Gentilin (johnglinux@eyecatching.com).</em></p>    
-    <p>What it does: Illustrates enabling and disabling of caching the streamable result set returned by a query.</p>
-    <p>The stylesheets use the XConnection enableCacheNodes() and disableCacheNodes() methods.</p>
-    <p><link anchor="instantdbsetup">Set up InstantDB</link>, and run these samples from the sql/streamable subdirectory.</p>
-    <p>1. To turn caching on:</p>
-    <p><code>java org.apache.xalan.xslt.Process</code>
-    <br/><code>-xsl cachedNodes.xsl</code></p>
-    <p>1. To turn caching off:</p>
-    <p><code>java org.apache.xalan.xslt.Process</code>
-    <br/><code>-xsl streamNodes.xsl</code></p>
-    <p>3. <ref>To be added</ref></p>
-    </s3><anchor name="showerror"/>
-    <s3 title="Show-error">
-    <p><em>Contributed by John Gentilin (johnglinux@eyecatching.com).</em></p>
-    <p>What it does: use the SQL library ExtensionError class to return an error message in the output stream. The stylesheet
-    calls a template with a select statement that returns a nodeset when an error occurs.</p>
-    <source>&lt;xsl:variable name="table" select='sql:query($db, $query)'/&gt;
-  &lt;xsl:apply-templates select="$table/row-set" /&gt;	
-  &lt;xsl:apply-templates select="$table/ext-error"/&gt;</source>
-  <p><link anchor="instantdbsetup">Set up InstantDB</link>, and run this sample from the extensions/sql/show-error subdirectory:</p>
-  <p><code>java org.apache.xalan.xslt.Process</code>
-  <br/><code> -xsl <ref>invalidSomething.xsl</ref> -out dbtestout.html</code></p>
-  <p>where <ref>invalidSomething.xsl</ref> is <code>invalidConn.xsl</code> (specifies a database that does not exist), 
-  <code>invalidQuery.xsl</code> (specifies a table that does not exist), or <code>invalidPQuery.xsl</code> (includes
-  too many parameters for the parameterized query).</p>
-    </s3>
-    </s2><anchor name="trace"/>
-    <s2 title="Trace">
-      <p>What it does: Trace uses the TraceListener and TraceManager classes to log transformation events.</p>
-      <p>Run this sample from the Trace subdirectory with</p>
-      <p><code>java Trace</code></p>
-      <p>and examine the result in events.log. For more information, see <link idref="usagepatterns" anchor="debugging">Debugger
-      Interface</link></p>
-     </s2><anchor name="validate"/>
-     <s2 title="Validate">
-     <ul>
-     <li><link anchor="validatexmlinput">ValidateXMLInput</link></li>
-     <li><link anchor="validateutility">Validate utility</link></li>
-     </ul><anchor name="validatexmlinput"/>
-     <s3 title="ValidateXMLInput">
-     <p>What it does: Uses <jump href="apidocs/javax/xml/parsers/SAXParserFactory.html">SAXParserFactory</jump> to turn on validation, and 
-     <jump href="apidocs/org/xml/sax/XMLReader.html">XMLReader</jump> to parse the XML input and report errors and warnings to a SAX event
-     handler. The XML input (birds.xml) contains an internal DOCTYPE declaration, and a few minor document type violations, which you are 
-     invited to fix, add to, and vary in any way you find useful.</p>
-     <p>Run this sample from the Validate subdirectory with</p>
-     <p><code>java ValidateXMLInput</code></p>
-     </s3><anchor name="validateutility"/>
-     <s3 title="Validate utility">
-     <p>What it does: Uses the <jump href="apidocs\javax\xml\parsers\SAXParser.html">JAXP SAXParser</jump> with a SAX event handler 
-     (extends <jump href="apidocs/org/xml/sax/helpers/DefaultHandler.html">DefaultHandler</jump> and implements 
-     <jump href="apidocs/org/xml/sax/ext/LexicalHandler.html">LexicalHandler</jump>) to verify that XML files conform to their declared 
-     document type. You can use this utility to verify that an individual file or all the .xml files in a directory are
-     well-formed and valid. Each .xml file should contain a DOCTYPE declaration.</p>
-     <p>Run this sample from any directory with</p>
-     <p><code>java Validate <ref>file-or-dir-name</ref> [<ref>logfile</ref></code>]</p>
-     <p>where <ref>file-or-dir-name</ref> is an XML file or directory pathname, and <ref>logfile</ref> designates a log.
-     If you omit the second argument, Validate reports its findings to the screen.</p>
-     <note>A limitation: Files containing document parts appear to fail if you check them with Validate. Check readme.xml, 
-     which "includes" by entity reference a number of files, and it passes. The parse operation scans the entire document
-     with the includes. Check an "included" file (such as history.xml) as if it were an independent document and it fails.</note>
-     </s3>
-     </s2>
-     <anchor name="trax"/>
-     <s2 title="trax">
-     <p>What it does: run a number of samples illustrating uses of the <link idref="trax">TRaX (Transformation API for XML)</link> interfaces.</p>
-     <p>Run this sample from the trax subdirectory with</p>
-     <p><code>java Examples</code></p>
-     <p>and examine the source in Examples.java and ExampleContentHandler.java.</p>
-     </s2>&xsltcsamples;
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/trax.xml b/xdocs/sources/xalan/trax.xml
deleted file mode 100644
index d688da5..0000000
--- a/xdocs/sources/xalan/trax.xml
+++ /dev/null
@@ -1,382 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="Transformation API For XML">
-<ul>
- <li><link anchor="intro">Introduction</link></li>
- <li><link anchor="terminology">General Terminology</link></li>
- <li><link anchor="requirements">Requirements</link></li>
- <li><link anchor="model">Model</link></li>
- <li><link anchor="patterns">Patterns</link></li> 
-</ul><anchor name="intro"/>
-<s2 title="Introduction">   
-<p>This document describes the transformation API for XML (TrAX), the set of APIs contained in
-	 <jump href="apidocs/javax/xml/transform/package-summary.html">javax.xml.transform</jump>, <jump href="apidocs/javax/xml/transform/stream/package-summary.html">javax.xml.transform.stream</jump>, <jump href="apidocs/javax/xml/transform/dom/package-summary.html">javax.xml.transform.dom</jump>, and <jump href="apidocs/javax/xml/transform/sax/package-summary.html">javax.xml.transform.sax</jump>.</p> 
-  
-<p>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, <jump href="http://www.w3.org/TR/xslt">XSLT</jump>
-	 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.</p> 
-  
-<p>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.</p> 
-  
-<p>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. </p> 
-   
-</s2><anchor name="terminology"/>	 
-<s2 title="General Terminology"> 
-	 
-<p>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.</p> 
-	 
-<gloss>
-<label>Tree</label>
-<item>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.</item>
-
-<label>Source Tree(s)</label>
-<item>One or more trees that are the inputs to the
-			 transformation.</item>
-
-<label>Result Tree(s)</label>
-<item>One or more trees that are the output of the
-			 transformation.</item>
-
-
-
-<label>Transformation</label>
-<item>The process of consuming a stream or tree to produce
-			 another stream or tree.</item>
-
-
-
-<label>Identity (or Copy) Transformation</label>
-<item>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.</item>
-
-
-
-<label>Serialization</label>
-<item>The process of taking a tree and turning it into a stream. In
-			 some sense, a serialization is a specialized transformation.</item>
-
-
-
-<label>Parsing</label>
-<item>The process of taking a stream and turning it into a tree. In
-			 some sense, parsing is a specialized transformation.</item>
-
-
-
-<label>Transformer</label>
-<item>A Transformer is the object that executes the transformation.
-			 </item>
-
-
-
-<label>Transformation instructions</label>
-<item>Describes the transformation. A form of code, script, or
-			 simply a declaration or series of declarations.</item>
-
-
-
-<label>Stylesheet</label>
-<item>The same as "transformation instructions," except it is
-			 likely to be used in conjunction with <jump href="http://www.w3.org/TR/xslt">XSLT</jump>.</item>
-
-
-
-<label>Templates</label>
-<item>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.</item>
-
-
-
-<label>Processor</label>
-<item>A general term for the thing that may both process the
-			 transformation instructions, and perform the transformation.</item>
-
-       
-
-
-<label>DOM</label>
-<item>Document Object Model, specifically referring to the
-			 <jump href="http://www.w3.org/TR/DOM-Level-2%20">Document Object Model
-			 (DOM) Level 2 Specification</jump>.</item>
-
-
-<label>SAX</label>
-<item>Simple API for XML, specifically referring to the
-			 <jump href="http://www.megginson.com/SAX/SAX2">SAX 2.0
-			 release</jump>.</item>
-</gloss> 
-</s2> <anchor name="requirements"/>
-<s2 title="Requirements"> 
-  
-<p>The following requirements have been determined from broad experience
-	 with XML projects from the various members participating on the JCP.</p> 
-  
-<ul>
-<li>TrAX must provide a clean, simple
-		interface for simple uses.</li>
-<li>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.</li>
-<li>A processor that implements a TrAX
-		interface must be optimizeable. Performance is a critical issue for most
-		transformation use cases.</li>
-<li>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.</li>
-<li>TrAX must not be dependent an any
-		given type of transformation instructions. For instance, it must remain
-		independent of <jump href="http://www.w3.org/TR/xslt">XSLT</jump>.</li>
-<li>TrAX must be able to allow processors
-		to transform DOM trees.</li>
-<li>TrAX must be able to allow processors to
-		produce DOM trees.</li>
-<li>TrAX must allow processors to transform
-		SAX events.</li>
-<li>TrAX must allow processors to produce SAX
-		events.</li>
-<li>TrAX must allow processors to
-		transform streams of XML.</li>
-<li>TrAX must allow processors to produce
-		XML, HTML, and other types of streams.</li>
-<li>TrAX must allow processors to
-		implement the various combinations of inputs and outputs within a single
-		processor.</li>
-<li>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.</li>
-<li>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.</li>
-<li>TrAX must allow the setting
-		of serialization properties, without constraint as to what the details of those
-		properties are.</li>
-<li>TrAX must allow the setting
-		of parameters to the transformation instructions.</li>
-<li>TrAX must support the
-		setting of parameters and properties as XML Namespaced items (i.e., qualified
-		names).</li>
-<li>TrAX must support URL
-		resolution from within the transformation, and have it return the needed data
-		structure.</li>
-<li>TrAX must have a mechanism for
-		reporting errors and warnings to the calling application.</li>
-</ul>  
-   
-</s2> <anchor name="model"/>
-<s2 title="Model"> 
-  
-<p>The section defines the abstract model for TrAX, apart from the details
-	 of the interfaces.</p> 
-  
-<p>A TRaX <link anchor="pattern-TransformerFactory">TransformerFactory</link> is an object
-	 that processes transformation instructions, and produces
-	 <link anchor="pattern-Templates">Templates</link> (in the technical
-	 terminology). A <link anchor="pattern-Templates">Templates</link>
-	 object provides a <link anchor="pattern-Transformer">Transformer</link>, which transforms one or
-	 more <link anchor="pattern-Source">Source</link>s into one or more
-	 <link anchor="pattern-Result">Result</link>s.</p> 
-  
-<p>To use the TRaX interface, you create a
-	 <link anchor="pattern-TransformerFactory">TransformerFactory</link>,
-	 which may directly provide a <link anchor="pattern-Transformer">Transformers</link>, or which can provide
-	 <link anchor="pattern-Templates">Templates</link> from a variety of
-	 <link anchor="pattern-Source">Source</link>s. The
-	 <link anchor="pattern-Templates">Templates</link> object is a processed
-	 or compiled representation of the transformation instructions, and provides a
-	 <link anchor="pattern-Transformer">Transformer</link>. The
-	 <link anchor="pattern-Transformer">Transformer</link> processes a
-	 <link anchor="pattern-Transformer">Source</link> according to the
-	 instructions found in the <link anchor="pattern-Templates">Templates</link>, and produces a
-	 <link anchor="pattern-Result">Result</link>.</p> 
-  
-<p>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
-	 <ref>serialization</ref>. We believe this is the most suitable term for
-	 this process, despite the overlap with Java object serialization.</p> 
-</s2><anchor name="patterns"/>
-<s2 title="TRaX Patterns">
-<p>The intent, responsibilities, and thread safety of TrAX objects:</p>
-<ul>
-  <li><link anchor="pattern-Processor">Processor</link></li>
-  <li><link anchor="pattern-TransformerFactory">TransformerFactory</link></li>
-  <li><link anchor="pattern-Templates">Templates</link></li>
-  <li><link anchor="pattern-Transformer">Transformer</link></li>
-  <li><link anchor="pattern-Source">Source</link></li>
-  <li><link anchor="pattern-Result">Result</link></li>  
-</ul>
-<anchor name="pattern-Processor"/><s3 title="Processor">
-<gloss>
-<label>Intent</label>
-<item>Generic concept for the
-  set of objects that implement the TrAX interfaces.</item>
-<label>Responsibilities</label>
-<item>Create compiled transformation instructions, transform
-  sources, and manage transformation parameters and
-  properties.</item>
-<label>Thread safety</label>
-<item>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.</item>
-</gloss>
-</s3> <anchor name="pattern-TransformerFactory"/>
-<s3 title="TransformerFactory">
-<gloss>
-<label>Intent</label>
-<item>Serve as a vendor-neutral Processor interface for
-  <jump href="http://www.w3.org/TR/xslt">XSLT</jump> and similar
-  processors.</item>
-<label>Responsibilities</label>
-<item>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.</item>
-<label>Thread safety</label>
-<item>A TransformerFactory may not perform mulitple concurrent
-  operations.</item>
-</gloss>  
-</s3><anchor name="pattern-Templates"/>
-<s3 title="Templates">
-<gloss>
-<label>Intent</label>
-<item>The runtime representation of the transformation instructions.</item>
-<label>Responsibilities</label>
-<item>A data bag for transformation instructions; act as a factory
-  for Transformers.</item>
-<label>Thread safety</label>
-<item>Threadsafe for concurrent
-  usage over multiple threads once construction is complete.</item>
-</gloss>  
-</s3><anchor name="pattern-Transformer"/>
-<s3 title="Transformer">
-<gloss>
-<label>Intent</label>
-<item>Act as a per-thread
-  execution context for transformations, act as an interface for performing the
-  transformation.</item>
-<label>Responsibilities</label>
-<item>Perform the
-  transformation.</item>
-<label>Thread safety</label>
-<item>Only one instance per thread
-  is safe.</item>
-</gloss>  
-<note>The Transformer is bound to the Templates
-  object that created it.</note>
-</s3><anchor name="pattern-Source"/>
-<s3 title="Source">
-<gloss>
-<label>Intent</label>
-<item>Serve as a
-  single vendor-neutral object for multiple types of input.</item>
-<label>Responsibilities</label>
-<item>Act as simple data holder for System IDs, DOM nodes, streams,
-  etc.</item>
-<label>Thread safety</label>
-<item>Threadsafe concurrently over multiple
-  threads for read-only operations; must be synchronized for edit
-  operations.</item>
-</gloss>  
-</s3><anchor name="pattern-Result"/>
-<s3 title="Result">
-<p>Alternative name: ResultTarget.</p>
-<gloss>
-<label>Intent</label>
-<item>Serve
-  as a single object for multiple types of output, so there can be simple process
-  method signatures.</item>
-<label>Responsibilities</label>
-<item>Act as simple data holder for
-  output stream, DOM node, ContentHandler, etc.</item>
-<label>Thread safety</label>
-<item>Threadsafe concurrently over multiple threads for read-only,
-  must be synchronized for edit.</item>
-</gloss>
-</s3> 
- </s2>
- </s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/usagepatterns.xml b/xdocs/sources/xalan/usagepatterns.xml
deleted file mode 100644
index b6f8ac0..0000000
--- a/xdocs/sources/xalan/usagepatterns.xml
+++ /dev/null
@@ -1,541 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="Basic usage patterns">
-<ul>
-<li><link anchor="basic">Basic steps</link></li>
-<li><link anchor="plug">Plugging in the Transformer and XML parser</link></li>
-<li><link anchor="outputprops">Setting output properties in your stylesheets</link></li>
-<li><link anchor="outputencoding">Caution: setting output encoding in the stylesheet</link></li>
-<li><link anchor="incremental">Performing incremental transformations</link></li>
-<li><link anchor="embed">Working with embedded stylesheets</link></li>
-<li><link anchor="params">Setting stylesheet parameters</link></li>
-<li><link anchor="serialize">Serializing output</link></li>
-<li><link anchor="sax">Explicitly working with SAX</link></li>
-<li><link anchor="outasin">Using transformation output as input for another transformation</link></li>
-<li><link anchor="dom">Processing and producing DOM trees</link></li>
-<li><link anchor="xpath">Working with XPath expressions</link></li>
-<li><link anchor="applet">Using the &xslt4j; applet wrapper</link></li>
-<li><link anchor="servlet">Using &xslt4j; in a servlet</link></li>
-<li><link anchor="extensions">Creating and using extensions</link></li>
-<li><link anchor="multithreading">Multithreading</link></li>
-<li><link anchor="debugging">Debugger interface</link></li>
-</ul>
-<anchor name="basic"/>
-  <s2 title="Basic steps">
-    <ol>
-    <li><link anchor="transformerfactory">Instantiate a TransformerFactory</link></li>
-    <li><link anchor="transformer">Process the stylesheet and generate a Transformer</link></li>
-    <li><link anchor="transformation">Perform the transformation</link></li>
-  </ol>
-    <p>The following example illustrates the three basic steps involved in performing a transformation.</p>
-    <source>// 1. Instantiate a TransformerFactory.
-javax.xml.transform.TransformerFactory tFactory = 
-                  javax.xml.transform.TransformerFactory.newInstance();
-
-// 2. Use the TransformerFactory to process the stylesheet Source and
-//    generate a Transformer.
-javax.xml.transform.Transformer transformer = tFactory.newTransformer
-                (new javax.xml.transform.stream.StreamSource("foo.xsl");
-
-// 3. Use the Transformer to transform an XML Source and send the
-//    output to a Result object.
-transformer.transform
-    (new javax.xml.transform.stream.StreamSource("foo.xml"), 
-     new javax.xml.transform.stream.StreamResult( new
-                                  java.io.FileOutputStream("foo.out")));</source>
-  <note>For a working example of this model at its simplest, see SimpleTransform.java in the java/samples/SimpleTransform subdirectory.</note>
-  </s2><anchor name="transformerfactory"/>
-  <s2 title="1. Instantiate a TransformerFactory">
-  <p><jump href="apidocs/javax/xml/transform/TransformerFactory.html">TransformerFactory</jump> is an abstract class with a static newInstance() method that instantiates the concrete subclass designated by the javax.xml.transform.TransformerFactory system property.</p>
-  <p>The default setting for this system property is <jump href="apidocs/org/apache/xalan/processor/TransformerFactoryImpl.html">org.apache.xalan.processor.TransformerFactoryImpl</jump>.</p>
-</s2><anchor name="transformer"/>
-  <s2 title="2. Use the TransformerFactory to process the stylesheet Source and produce a Transformer">
-<p>The TransformerFactory <jump href="apidocs/javax/xml/transform/TransformerFactory.html#newTransformer(javax.xml.transform.Source)">newTransformer(Source xslSource)</jump> method processes the stylesheet Source into a Templates object and returns a Transformer that you can use to perform a transformation (apply the Templates object to an XML Source).</p>
-<p>You may provide the stylesheet Source in the form of a stream of XML markup (<jump href="apidocs/javax/xml/transform/stream/StreamSource.html">StreamSource</jump>), a DOM Node (<jump href="apidocs/javax/xml/transform/dom/DOMSource.html">DOMSource</jump>), or a SAX InputSource (<jump href="apidocs/javax/xml/transform/sax/SAXSource.html">SAXSource</jump>). To specify a StreamSource, you may use a system ID or file name (using URI syntax), a java.io.InputStream, or a java.io.Reader. The use of DOMSource and SAXSource are illustrated in subsequent sections.</p>
-<note>If you plan to use the stylesheet Source to transform multiple XML Sources, you should use the TransformerFactory <jump href="apidocs/javax/xml/transform/TransformerFactory.html#newTemplates(javax.xml.transform.Source)">newTemplates(Source xslSource)</jump> method to explicitly generate a Templates object. For each transformation, use the Templates object to generate a new Transformer. For the details, see <link anchor="multithreading">Multithreading</link>.</note>
-</s2><anchor name="transformation"/>
-<s2 title="3. Use the Transformer to perform a transformation">
-<p>Use the Transformer <jump href="apidocs/javax/xml/transform/Transformer.html#transform(javax.xml.transform.Source,javax.xml.transform.Result">transform(Source xmlSource, Result transformResult)</jump> method to transform  the XML Source and place the transformation output in a Result object.</p>
-<p>Just as with the stylesheet, you can supply the XML Source in the form of a <jump href="apidocs/javax/xml/transform/stream/StreamSource.html">StreamSource</jump>, <jump href="apidocs/javax/xml/transform/dom/DOMSource.html">DOMSource</jump>, or <jump href="apidocs/javax/xml/transform/sax/SAXSource.html">SAXSource</jump>. Likewise, the Result may be a <jump href="apidocs/javax/xml/transform/stream/StreamResult.html">StreamResult</jump>, <jump href="apidocs/javax/xml/transform/dom/DOMResult.html">DOMResult</jump>, or <jump href="apidocs/javax/xml/transform/sax/SAXResult.html">SAXResult</jump>.</p>
-<p>For each node in the XML source, the Transformer uses the transformation instructions in the Templates object to determine which template to apply: one of the templates in the Templates object, a default template rule as specified in the XSLT spec, or none.</p>
-</s2><anchor name="plug"/>
-<s2 title="Plugging in a Transformer and XML parser">
-<p>The Java API for XML Processing interfaces enable you to isolate your application from the internal implementation details of a given Transformer, SAX parser, or DOM parser. For each of these objects, there is an abstract Factory class with a static newInstance() method that instantiates a concrete Factory which wraps the underlying implementation. These newInstance() methods use system property settings to determine which implementation to instantiate.</p>
-<p>&xslt4j; is distributed with a system property setting for the Xalan XSLT Transformer. This setting is in xalan.jar in META-INF/services (see src/META-INF/services).</p>
-<gloss>
-  <label>System property</label>
-    <item>Setting</item>
-  <label><code>javax.xml.transform.TransformerFactory</code></label>
-   <item><code>org.apache.xalan.processor.TransformerFactoryImpl</code></item>
-</gloss>
-<p>If you are using Xerces, the XML parser factory settings are as follows:</p>
-<gloss>
-  <label>System property</label>
-    <item>Setting</item>
-  <label><code>javax.xml.parsers.DocumentBuilderFactory</code></label>
-   <item><code>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</code></item>    
-  <label><code>javax.xml.parsers.SAXParserFactory</code></label>
-   <item><code>org.apache.xerces.jaxp.SAXParserFactoryImpl</code></item>
- </gloss>
-<p>You can change any of these settings as follows (in order of precedence):</p>
-<ol>
-  <li>Set the system property from the command line when you launch Java or from within your application.<br/><br/></li>
-  <li>Set the system property in jaxp.properties in the JAVA_HOME/lib directory, where JAVA_HOME is the root of the JDK.<br/><br/></li>
-  <li>Revise the entry in src/META-INF/services and rebuild xalan.jar or &xml4j-jar;, depending on which entry you have changed.<br/><br/></li>
-</ol>
-<p>For example, to use the Crimson XML parser in place of the Xerces XML parser, place Crimson on the class path and set the 
-<code>javax.xml.parsers.SAXParserFactory</code> system property to <code>org.apache.crimson.jaxp.SAXParserFactoryImpl</code>.</p>
-<p>For more information about the mechanism used to determine system property values and how you can plug other implementations into your applications, see "Section 3: Plugability Layer" in the <ref>Java API for XML Processing</ref> at 
-<jump href="http://java.sun.com/aboutJava/communityprocess/review/jsr063/index.html">JSR-000063 1.1</jump>.</p> 
-</s2><anchor name="outputprops"/>
-<s2 title="Setting output properties in your stylesheets">
-<p>Output properties for XML, HTML, and Text transformation output are defined in property files in the org.apache.xalan.templates package.</p>
-<p>You can change these settings as follows:</p>
-<ol>
-  <li>Declare the xalan namespace in your stylesheet element (xmlns:xalan="http://xml.apache.org/xslt").<br/><br/></li>
-  <li>Use the namespace prefix you assign (for example, "xalan") to redefine properties of interest in the stylesheet xsl:output
-      element (for example, xalan:indent-amount="5").</li>
-</ol>
-<p>The following stylesheet fragment declares the xalan namespace and sets indent-amount to 2:</p>
-<source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;xsl:stylesheet version="1.0" 
-                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:xalan="http://xml.apache.org/xslt"&gt;
-                
-  &lt;xsl:output method="xml" 
-              encoding="UTF-8"
-              indent="yes" 
-              xalan:indent-amount="2"/&gt;</source>
-  <p>If you want to change the property settings globally, edit the values in the property files in src/org/apache/xalan/templates, 
-  and use Ant to <link idref="readme" anchor="jar">rebuild xalan.jar</link>.</p>
-<p>The properties files define the following properties:</p>
-<p><ref>output_xml.properties</ref>:</p>
-<table>
-  <tr>
-    <th>Property</th>
-    <th>Default value</th>
-  </tr>  
-  <tr>
-    <td>xalan:indent-amount</td>
-    <td>0</td>
-  </tr>
-  <tr>
-    <td>xalan:content-handler</td>
-    <td>org.apache.xalan.serialize.SerializerToXML</td>
-  </tr>
-</table>
-<p><ref>output_html.properties</ref>:</p>
-<table>
-  <tr>
-    <th>Property</th>
-    <th>Default value</th>
-  </tr>  
-  <tr>
-    <td>xalan:indent-amount</td>
-    <td>0</td>
-  </tr>
-  <tr>
-    <td>xalan:content-handler</td>
-    <td>org.apache.xalan.serialize.SerializerToHTML</td>
-  </tr>
-  <tr>
-    <td>xalan:entities</td>
-    <td>HTMLEntities.res</td>
-  </tr>
-  <tr>
-    <td>xalan:use-url-escaping</td>
-    <td>yes</td>
-  </tr>
-  <tr>
-    <td>xalan:omit-meta-tag</td>
-    <td>no</td>
-  </tr>
-</table>
-<note>You can also create your own HTML entity file (mapping characters to entities) 
-or edit src/org/apache/xalan/serialize/HTMLEntities.res and rebuild xalan.jar.</note>
-<p><ref>output_text.properties</ref>:</p>
-<table>  
-  <tr>
-    <th>Property</th>
-    <th>Default value</th>
-  </tr>
-  <tr>
-    <td>xalan:content-handler</td>
-    <td>org.apache.xalan.serialize.SerializerToText</td>
-  </tr>
-</table>
-</s2><anchor name="outputencoding"/>
-<s2 title="Caution: setting output encoding in the stylesheet">
-<p>When you use the &lt;xsl:output&gt; encoding attribute to set output character encoding, you should not 
-use StreamResult(java.io.Writer) to construct a 
-<jump href="apidocs/javax/xml/transform/stream/StreamResult.html">StreamResult</jump> object to hold the transformation result.
-If you do, the Writer uses its own encoding rather than the encoding specified in the stylesheet.</p>
-<p>If you want to use a Writer, you can specify an encoding when you create the Writer (java.io.OutputStreamWriter). Once the 
-Writer exists, you cannot reset the encoding it uses.</p>
-</s2><anchor name="incremental"/>
-<s2 title="Performing incremental transformations">
-<p>The <link idref="dtm">DTM</link> (Document Table Model) supports incremental transformations, the incremental generation of the 
-transformation result while the source document is still being parsed. For more information, see 
-<link idref="dtm" anchor="incremental">incremental transformations</link>.</p>
-<note>You can also enable incremental transformations with the <link idref="commandline">command-line utility</link> by including the -INCREMENTAL flag.</note>
-</s2><anchor name="embed"/>
-<s2 title="Working with embedded stylesheets">
-<p>An XML Source may include an <jump href="http://www.w3.org/TR/xml-stylesheet/">xml-stylesheet processing instruction</jump> which identifies the stylesheet to be used to process the document. As indicated by the processing instruction <ref>href</ref> attribute, the stylesheet itself may be embedded in the XML document or located elsewhere.</p>
-<p>Suppose you have an XML document (foo.xml) with the following xml-stylesheet processing instruction:</p>
-<p><code>&lt;?xml-stylesheet type="text/xml" href="foo.xsl"?&gt;</code></p>
-<p>The following fragment, uses this instruction to locate the stylesheet (foo.xsl in the same directory as foo.xml) and create a Templates object. Note the use of the TransformerFactory getAssociatedStylesheet() in step 2a.</p>
-<note>An XML document may include more than one xml-stylesheet processing instruction, hence the support for working with multiple stylesheets. If more than one stylesheet is returned, the other stylesheets are imported into the first stylesheet.</note>
-<source>// 1. Instantiate the TransformerFactory.
-javax.xml.transform.TransformerFactory tFactory = 
-                    javax.xml.transform.TransformerFactory.newInstance();
-// 2a. Get the stylesheet from the XML source.
-String media = null , title = null, charset = null;
-javax.xml.transform.Source stylesheet = tFactory.getAssociatedStylesheet
-                   (new StreamSource("foo.xml"),media, title, charset);
-
-// 2b. Process the stylesheet and generate a Transformer.
-Transformer transformer = tFactory.newTransformer(stylesheet);
-
-// 3. Use the Transformer to perform the transformation and send the
-//    the output to a Result object.
-transformer.transform
-             (new javax.xml.transform.stream.StreamSource("foo.xml"),
-              new StreamResult (new java.io.FileOutputStream("foo.out")));</source>
-<p>For a sample that uses this technique, see <link idref="samples" anchor="usestylesheetpi">UseStylesheetPI</link>.</p>
-<p>You can also instruct the <link idref="commandline">command-line utility</link> to use stylesheet processing
-instructions:</p>
-<ol>
-  <li>Include the <code>-in</code> flag with an XML source that contains a stylesheet processing instruction.<br/><br/></li>
-  <li>Do not include the <code>-xsl</code> flag.</li>
-</ol>
-</s2><anchor name="serialize"/>
-<s2 title="Serializing output">
-<p>In some cases, you may want to "transform" a DOM tree into a stream, which the XML community calls serialization. <link idref="trax">TRaX (Transformation API for XML)</link> and the &xslt4j; Transformer implementation provide direct support for this operation. Simply use the TransformerFactory newTransformer() method (no arguments) to create a Transformer that you can use to "copy" a DOMSource to a StreamResult. For examples, see Examples.exampleDOM2DOM(), Examples.exampleSerializeNode(), and Examples.exampleAsSerializer() in the <link idref="samples" anchor="trax">trax sample</link>.</p>
-</s2><anchor name="params"/>
-<s2 title="Setting stylesheet parameters">
-<p>An XSLT stylesheet may include parameters that are set at run time each time a transformation is performed. To set a stylesheet parameter, use the Transformer 
-<jump href="apidocs/javax/xml/transform/Transformer.html#setParameter(java.lang.String,java.lang.Object)">setParameter(String name, Object value)</jump> method. For a working example, see UseStylesheetParam.java in the samples/UseStylesheetParam subdirectory.</p>
-<p>You can also set a parameter with the command-line utility by including the <code>-param</code> flag. For example:</p>
-<p><code>java org.apache.xalan.xslt.Process -in foo.xml -xsl foo.xsl -param param1 foobar</code></p>
-<p>where <code>param</code> is the parameter name and <code>foobar</code> is the parameter value. The parameter namespace is null.</p>
-<note>&xslt4j2; processes string parameters. You are no longer required (as you were with &xslt4j; version 1) to enclose strings in single 
-quotes (') as string expressions.</note>
-</s2><anchor name="sax"/>
-<s2 title="Explicitly working with SAX">
-  <p>&xslt4j; uses the SAX event model to process stylesheets, to parse XML input documents, and to produce output. For each of these operations, an XMLReader reads input, firing parse events, and a ContentHandler listens to the XMLReader and executes parse event methods.</p>
-<p>When you use the basic procedure described above for performing transformations, &xslt4j; takes care of many of the SAX details under the covers. You are free to make these details explicit, which simply means that you can intervene in the procedure to accommodate the precise environment in which your application operates.</p>
-<p>Suppose, for example, you are using a custom XMLReader, perhaps doing more than just parsing static XML documents) to generate &xslt4j; SAX parse events. You might even have a custom reader for producing/processing stylesheets. You can cast the TransformerFactory to a SAXTransformerFactory, which provides access to a TransformerHandler, which you can set as the ContentHandler for this reader.</p>
-  <p>The following example explicitly sets up the XMLReader and ContentHandlers, and replicates the <link anchor="basic">basic steps</link> described above.</p>
-  <source>// Instantiate a TransformerFactory.
-javax.xml.transform.TransformerFactory tFactory = 
-                    javax.xml.transform.TransformerFactory.newInstance();
-// Verify that the TransformerFactory implementation you are using
-// supports SAX input and output (&xslt4j; does!).
-if (tFactory.getFeature(javax.xml.transform.sax.SAXSource.FEATURE) &amp;&amp; 
-    tFactory.getFeature(javax.xml.transform.sax.SAXResult.FEATURE))
-  { 
-    // Cast the TransformerFactory to SAXTransformerFactory.
-    javax.xml.transform.sax.SAXTransformerFactory saxTFactory = 
-                   ((javax.xml.transform.SAXTransformerFactory) tFactory);
-    // Create a Templates ContentHandler to handle parsing of the 
-    // stylesheet.
-    javax.xml.transform.sax.TemplatesHandler templatesHandler = 
-                                        saxTFactory.newTemplatesHandler();
-
-    // Create an XMLReader and set its ContentHandler.
-    org.xml.sax.XMLReader reader = 
-                   org.xml.sax.helpers.XMLReaderFactory.createXMLReader();
-    reader.setContentHandler(templatesHandler);
-    
-    // Parse the stylesheet.                       
-    reader.parse("foo.xsl");
-
-    // Get the Templates object (generated during the parsing of the stylesheet)
-    // from the TemplatesHandler.
-    javax.xml.transform.Templates templates = 
-                                          templatesHandler.getTemplates();
-    // Create a Transformer ContentHandler to handle parsing of 
-    // the XML Source.  
-    javax.xml.transform.sax.TransformerHandler transformerHandler 
-                           = saxTFactory.newTransformerHandler(templates);
-    // Reset the XMLReader's ContentHandler to the TransformerHandler.
-    reader.setContentHandler(transformerHandler);
-
-    // Set the ContentHandler to also function as a LexicalHandler, which
-    // can process "lexical" events (such as comments and CDATA). 
-    reader.setProperty("http://xml.org/sax/properties/lexical-handler", 
-                        transformerHandler);
-
-    // Set up a Serializer to serialize the Result to a file.
-    org.apache.xalan.serialize.Serializer serializer = 
-    org.apache.xalan.serialize.SerializerFactory.getSerializer
-    (org.apache.xalan.templates.OutputProperties.getDefaultMethodProperties
-                                                                   ("xml"));
-    serializer.setOutputStream(new java.io.FileOutputStream("foo.out"));
-    // The Serializer functions as a SAX ContentHandler.
-    javax.xml.transform.Result result =
-      new javax.xml.transform.sax.SAXResult(serializer.asContentHandler());
-    transformerHandler.setResult(result);
-      
-    // Parse the XML input document.
-    reader.parse("foo.xml");</source>
-    <note>If you want to perform multiple transformations with the same Templates object and a TransformerHandler, you must create a new
-    TransformerHandler for each transformation. The &xslt4j; implementation of TransformerHandler 
-    (<jump href="src/org/apache/xalan/transformer/TransformerHandlerImpl.html">TransformerHandlerImpl</jump> fails to respond 
-    to events after the first endDocument event occurs.</note>
-</s2><anchor name="outasin"/>
-<s2 title="Using transformation output as input for another transformation">
-
-<p>You can chain together a series of transformations such that the output of each transformation provides input for the next transformation. &xslt4j; supports two basic strategies for chaining a series of transformations:</p>
-<ul>
-  <li>Use the SAXTransformerFactory to process the stylesheet and create a TransformerHandler for each transformation. Then you can set
-the first TransformerHandler as the ContentHandler for the XMLReader that parses the input, make the second TransformerHandler the ContentHandler for the output of the first TransformerHandler, and so on. For more detail and an example, see the <link idref="samples" anchor="pipe">Pipe</link> sample.<br/><br/></li>
-  <li>Use the SAXTransformerFactory to process the stylesheet and create a SAX XMLFilter for each transformation. Set an XMLReader as the parent of the first XMLFilter, the first XMLFilter as the parent of the second XMLFilter, and so on. You launch the series of transformations by instructing the last XMLFilter to parse the XML Source for the first transformation. For more detail and an example, see the <link idref="samples" anchor="usexmlfilters">UseXMLFilters</link> sample.</li>
-</ul>
-</s2><anchor name="dom"/>
-<s2 title="Processing and producing DOM trees">
-  <p>In some cases, the input and/or desired output for a transformation may be a DOM tree object. The javax.xml.transform.DOM package provides <jump href="apidocs/javax/xml/transform/dom/DOMSource.html">DOMSource</jump> and a <jump href="apidocs/javax/xml/transform/dom/DOMResult.html">DOMResult</jump>, either or both of which you can use when you perform a transformation.</p>
-<p>In some cases, your application provides input in the form of a DOM tree, which accelerates the transformation process, since the input has in effect already been processed. To produce DOM input from a stream, you can use a <jump href="apidocs/javax/xml/parsers/DocumentBuilderFactory.html">DocumentBuilderFactory</jump> to produce a <jump href="apidocs/javax/xml/parsers/DocumentBuilder.html">DocumentBuilder</jump> with which you can parse the XML input into a DOM Document, as illustrated below.</p>
-<source>// Instantiate a DocumentBuilderFactory.
-javax.xml.parsers.DocumentBuilderFactory dfactory =
-                    javax.xml.parsers.DocumentBuilderFactory.newInstance();
-// Use the DocumentBuilderFactory to provide access to a DocumentBuilder.
-javax.xml.parsers.DocumentBuilder dBuilder = dfactory.newDocumentBuilder();
-// Use the DocumentBuilder to parse the XML input.
-org.w3c.dom.Document inDoc = dBuilder.Parse("foo.xml");</source>
-<p>To produce DOM output, simply use a Transformer to transform to a DOMResult object.</p>
-<source>// Generate a Transformer.
-javax.xml.transform.Transformer transformer = tFactory.newTransformer
-                  (new javax.xml.transform.Stream.StreamSource("foo.xsl"));
-// Create an empy DOMResult object for the output.
-javax.xml.transform.dom.DOMResult domResult =
-                                   new javax.xml.transform.dom.DOMResult();
-// Perform the transformation.
-transformer.transform(new javax.xml.transform.dom.DOMSource(inDoc)
-                      domResult;
-// Now you can get the output Node from the DOMResult.
-org.w3c.dom.Node node = domResult.getNode();</source>
-<note>Create a new DOMResult object or use DOMResult.setNode() to assign a new container each time you want to perform a transformation 
-and place the output in a DOMResult object.</note>
-<p>The <link idref="samples" anchor="dom2dom">DOM2DOM</link> illustrates both procedures, and serializes the DOMResult to System.out.</p>
-</s2><anchor name="xpath"/>
-<s2 title="Working with XPath expressions">
-<p>XSLT stylesheets use XPath expressions to select nodes, specify conditions, and generate text for the result tree. XPath provides an API that you can call directly. For example, you may want to select nodes programmatically and do your own processing without a stylesheet.</p>
-<p>XPath is an independent entity, with clients other than XSLT processors (such as XPointer). Accordingly, &xslt4j2; has packaged XPath as a separate module (org.apache.xpath and its subpackages), although concurrently this module does use some utility classes packaged in org.apache.xalan.utils. The org.apache.xpath.XPathAPI class contains convenience methods that you can use to return single DOM Nodes, NodeIterators, and XObjects. Apart from their own functionality, these methods also provide a path into the lower-level XPath API that you may find useful.</p>
-<p>For an example that uses the XPathAPI convenience methods to execute XPath expressions against XML source files, see <link idref="samples" anchor="applyxpath">ApplyXPath</link>.</p>
-</s2><anchor name="applet"/>
-<s2 title="Using the &xslt4j; applet wrapper">
-<ol> 
-<li>Include <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html">XSLTProcessorApplet</jump> in an HTML client.<br/><br/></li>
-<li>Specify the XML source document and XSL stylesheet.<br/><br/>
-You can use the DocumentURL and StyleURL PARAM tags or the <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html#setDocumentURL(java.lang.String)">setdocumentURL()</jump> and <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html#setStyleURL(java.lang.String)">setStyleURL()</jump> methods. If the XML document contains a stylesheet Processing Instruction (PI), you do not need to specify an XSL stylesheet.<br/><br/></li>
-<li>Call the <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html#transformToHtml(java.lang.String,java.lang.String)">transformToHtml()</jump> or <jump href="apidocs/org/apache/xalan/client/XSLTProcessorApplet.html#getHtmlText()">getHtmlText()</jump> method, which performs the transformation and returns the new document as a String.</li></ol>
-<note>The transformToHTML() method takes arguments for the XML source document and XSL stylesheet. The getHtmlText() method takes no arguments: it uses property or parameter settings, as in the example below.</note>
-<p>For an example, see the <link idref="samples" anchor="appletxmltohtml">AppletXMLtoHTML</link> sample applet. The &lt;applet&gt; tag is in samples/AppletXMLtoHTML/client.html:</p>
-<source>&lt;applet  
-    name="xslControl"
-    code="org.apache.xalan.client.XSLTProcessorApplet.class"
-    archive="../../bin/xalan.jar,../../bin/xml-apis.jar,../../bin/xercesImpl.jar"
-    height="0"
-    width"0">
-    &lt;param name="documentURL" value="xalanApplets.xml"/&gt;
-    &lt;param name="styleURL" value="s1ToHTML.xsl"/&gt;
-&lt;/applet&gt;</source>
-<p>When the user clicks the Transform button, the HTML client calls the getHtmlText() method, and puts the returned HTML text in a frame for the user to view.</p>
-<p>For samples, see <link idref="samples" anchor="applet">AppletXMLtoHTML</link>.</p>
-<anchor name="netscape"/><s3 title="Problems with Netscape">
-    <p>The JAXP strategy of reading system properties 
-    generates SecurityExceptions when you attempt to run &xslt4j; applets in the Netscape Communicator 4.7.</p> 
-    <p>Stuart Connell 
-    &lt;Stuart.Connell@compuware.com&gt; reports that the &xslt4j; applet wrapper does work in Netscape Communicator 6, 
-    provided that you avoid calls to the AppletContext showStatus() method. In other words, you can remove the showStatus() calls
-    from org.apache.xalan.client.XSLTProcessorApplet, and run &xslt4j; applets from Netscape Communicator 6. This appears to be a
-    Netscape bug, which hopefully will be fixed soon. For more information, see 
-    <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3231">Bugzilla bug 3231</jump>.</p>
-</s3>    
-</s2><anchor name="servlet"/>
-<s2 title="Using &xslt4j; in a servlet">
-<p>You can set up a servlet to use &xslt4j; to respond to requests for XML documents by transforming those documents into HTML and serving them to web browsers. To respond to HTTP GET requests, all you need to do is overwrite the HttpServlet doGet() method with a procedure that instantiates a Transformer and uses it to perform a transformation. As the following example shows, you can generate a ResultStream that a PrintWriter writes to the HttpResponse OutputStream, returning the transformation output to the web browser.</p>
-<source>
-public class SampleXSLTServlet extends javax.servlet.http.HttpServlet {
-  
-  // Respond to HTTP GET requests from browsers.
-  public void doGet (javax.servlet.http.HttpServletRequest request,
-                     javax.servlet.http.HttpServletResponse response)
-    throws javax.servlet.ServletException, java.io.IOException
-  {
-    // Set content type for HTML.
-    response.setContentType("text/html; charset=UTF-8");    
-    // Output goes to the response PrintWriter.
-    java.io.PrintWriter out = response.getWriter());
-    try
-    {	
-      javax.xml.transform.TransformerFactory tFactory = 
-                javax.xml.transform.TransformerFactory.newInstance();
-      // Get the XML input document and the stylesheet, both in the servlet
-      // engine document directory.
-      javax.xml.transform.Source xmlSource = 
-                new javax.xml.transform.stream.StreamSource
-                             (new java.net.URL("file:foo.xml").openStream());
-      javax.xml.transform.Source xslSource = 
-                new javax.xml.transform.stream.StreamSource
-                             (new java.net.URL("file:foo.xsl").openStream());
-      // Generate the transformer.
-      javax.xml.transform.Transformer transformer = 
-                             tFactory.newTransformer(xslSource);
-      // Perform the transformation, sending the output to the response.
-      transformer.transform(xmlSource, 
-                           new javax.xml.transform.stream.StreamResult(out));
-    }
-    // If an Exception occurs, return the error to the client.
-    catch (Exception e)
-    {
-      out.write(e.getMessage());
-      e.printStackTrace(out);    
-    }
-    // Close the PrintWriter.
-    out.close();
-  }  
-}</source>
-<p>For a working sample, see <link idref="samples" anchor="simplexsltservlet">SimpleXSLTServlet</link>.</p>
-<p>In the preceding example, the URLs for the XML document and XSL stylesheet are hardcoded in the servlet. You can also create a servlet that parses the request URL for input parameters specifying the XML document, XSL stylesheet, and any relevant stylesheet parameters. For samples, see <link idref="samples"
-anchor="usestylesheetparamservlet">UseStylesheetParamServlet</link> and <link idref="samples" anchor="xsltservletwithparams">XSLTServletWithParams</link>. For a more robust and complex sample that also employs a properties file to determine which stylesheet to use depending on the client browser/device, see <link idref="samples" anchor="applyxslt">ApplyXSLT</link>.</p>
-</s2><anchor name="extensions"/>
-<s2 title="Creating and using extensions">
-<p>For those cases where you want to be able to call procedural code from within a stylesheet, the &xslt4j; Extensions facility supports the creation of extension elements and extension functions. See <link idref="extensions">Extensions</link> and <link idref="samples" anchor="extensions">Extensions samples</link>.</p>
-</s2><anchor name="multithreading"/>
-<s2 title="Multithreading">
-<p>A given Templates object may be used repeatedly and even in multiple threads running concurrently for the transformation of XML input, but you should use the Templates object to instantiate a separate Transformer for each transformation you perform. The Templates object is an immutable runtime representation of the structure and content of a stylesheet (which may include and import multiple stylesheet sources). A Transformer, on the other hand, is a lightweight object that tracks state information during the transformation, and should only be used to perform a single transformation.</p>
-
-<p>If you want to perform multiple transformations (sequentially or concurrently) with the same stylesheet instructions, do the following:</p>
-<ol>
-  <li>Use the TransformerFactory <jump href="apidocs/javax/xml/transform/TransformerFactory.html#newTemplates(javax.xml.transform.Source)">newTemplates(Source xslSource)</jump> method to create a Templates object.<br/><br/></li>
-<li>For each transformation, use the Templates object <jump href="apidocs/javax/xml/transform/Templates.html#newTransformer()">newTransformer()</jump> method to create a Transformer, and use that Transformer's 
-<jump href="apidocs/javax/xml/transform/Transformer.html#transform(javax.xml.transform.Source,javax.xml.transform.Result)">transform(Source xmlSource, Result transformResult)</jump> method to perform the transformation.</li>
-</ol>
-<p>For an example, see Examples.exampleUseTemplatesObj() in the <link idref="samples" anchor="trax">trax sample</link>.</p>
-</s2><anchor name="debugging"/>
-<s2 title="Debugger Interface">
-		<p>&xslt4j; contains a debugger interface in the org.apache.xalan.xslt.trace package:</p> 
-		<ul>
-		  <li><jump href="apidocs/org/apache/xalan/trace/TraceListener.html">TraceListener</jump> is an interface that debuggers 
-		  can implement. Or, like the <link idref="commandline">command-line utility</link>, you can use the <jump
-      href="apidocs/org/apache/xalan/trace/PrintTraceListener.html">PrintTraceListener</jump> implementation of that interface.
-      <br/><br/></li>
-      <li>You can register a TraceListener with the 
-      <jump href="apidocs/org/apache/xalan/trace/TraceManager.html">TraceManager</jump> associated
-      with the Transformer that will perform a given transformation.<br/><br/></li>
-		  <li><jump href="apidocs/org/apache/xalan/trace/TracerEvent.html">TracerEvent</jump> is an event that is 
-		  passed to the TraceListener.trace function. It is called before a node is 'executed' in the stylesheet.<br/><br/></li>
-		  <li><jump href="apidocs/org/apache/xalan/trace/GenerateEvent.html">GenerateEvent</jump> is an event that is 
-		  passed to the TraceListener.generated() function. It is called after an event occurs to create something in the result
-      tree.<br/><br/></li>
-      <li><jump href="apidocs/org/apache/xalan/trace/SelectionEvent.html">SelectionEvent</jump> is an event triggered by the
-       selection of a stylesheet node.</li>
-		</ul>
-    <p>The <link idref="commandline">command-line utility</link> uses the debugger interface when you include one or more of the
-     following switches: <code>-TT</code>, <code>-TG</code>, <code>-TS</code>, <code>-TTC</code>.</p>
-    <p>Example:</p>
-<source>import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xalan.trace.TraceManager;
-import org.apache.xalan.trace.PrintTraceListener;
-...
-// Set up a PrintTraceListener object to print to a file.
-java.io.FileWriter fw = new java.io.FileWriter("events.log");
-java.io.PrintWriter pw = new java.io.PrintWriter(fw);
-PrintTraceListener ptl = new PrintTraceListener(pw);
-
-// Print information as each node is 'executed' in the stylesheet.
-ptl.m_traceElements = true;
-// Print information after each result-tree generation event.
-ptl.m_traceGeneration = true;
-// Print information after each selection event.
-ptl.m_traceSelection = true;
-// Print information whenever a template is invoked.
-ptl.m_traceTemplates = true;
-
-// Set up the transformation    
-javax.xml.transform.TransformerFactory tFactory = 
-                     javax.xml.trnasform.TransformerFactory.newInstance();
-javax.xml.transform.Transformer transformer = 
-  tFactory.newTransformer(new javax.xml.transform.stream.StreamSource
-                                                             ("foo.xsl"));
-
-// Cast the Transformer object to TransformerImpl.
-if (transformer instanceof TransformerImpl) {
-  TransformerImpl transformerImpl = (TransformerImpl)transformer;
-  
-  // Register the TraceListener with the TraceManager associated 
-  // with the TransformerImpl.
-  TraceManager trMgr = transformerImpl.getTraceManager();
-  trMgr.addTraceListener(ptl);
-  
-  // Perform the transformation --printing information to
-  // the events log during the process.
-  transformer.transform
-      ( new javax.xml.transform.stream.StreamSource("foo.xml"), 
-        new javax.xml.transform.stream.StreamResult
-                                    (new java.io.FileWriter("foo.out")) );
-}
-// Close the PrintWriter and FileWriter.
-pw.close();
-fw.close();</source>
-<p>For a sample application that uses this technique, see <link idref="samples" anchor="trace">Trace</link>.</p>
-</s2>
-</s1>
diff --git a/xdocs/sources/xalan/whatsnew.xml b/xdocs/sources/xalan/whatsnew.xml
deleted file mode 100644
index 72fd573..0000000
--- a/xdocs/sources/xalan/whatsnew.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="What's new in &xslt4j2;">
-<ul>
-     <li><link anchor="design">New design</link></li>
-     <li><link anchor="dtm">Document Table Model (DTM)</link></li>
-  </ul><anchor name="design"/>
-  <s2 title="New Design">
-  <p>&xslt4j2; represents a fundamental redesign of Xalan. The primary objective of this redesign is an easier-to-use, more understandable, and more modular API that encourages wider participation in its ongoing development by the open-source XML developer community, and that lends itself to "streaming," the production of transformation output while the input is still being parsed.</p>
-<p>&xslt4j2; builds on <resource-ref idref="sax2"/>, <resource-ref idref="dom2"/>, and the <resource-ref idref="jaxp"/>. For example, &xslt4j2; incorporates the SAX parsing event model in its support for the incremental production of transformation output. &xslt4j2; also implements the  standard TrAX API (see below) that enables you to code your XML applications without reference to the internal details of a particular Transformer or XML parser.</p>
-<p>Given the scope of the redesign, the changes with respect to <jump href="http://xml.apache.org/xalan/index.html">&xslt4j; 1.x</jump> are global in nature. For an introduction to the &xslt4j2; usage patterns, see <link idref="usagepatterns">Basic Usage Patterns</link>.</p>
-<p>&xslt4j2; implements the <link idref="trax">TRaX (Transformation API for XML)</link> interfaces. The product of extensive open-source collaboration by members of the XML developer community, TrAX provides a conceptual framework and a standard API for performing XML transformations. During its evolution, the TrAX API has undergone several revisions. We believe this API has now reached or is very close to final form. In November 2000, TrAX was incorporated into <resource-ref idref="jsr063"/>, the Java API for XML Processing 1.1 , which has been published for public review (see <resource-ref idref="jaxp11"/>). We strongly encourage you to utilize the TrAX framework when you use &xslt4j2; to perform XML transformations.</p>
-<p>The basic organization of TrAX is quite simple: use a TransformerFactory to process transformation instructions and generate a Transformer, with which you can apply the processed transformation instructions to your XML Source, producing a transformation Result. For more detail, see <link idref="usagepatterns" anchor="basic">Basic steps</link>.</p>
-<p>As part of the Java API for XML Processing, TraX provides a stable framework for plugging Transformers (like &xslt4j;) and XML parsers (like &xml4j;) into your applications without tying yourself to the internal details of those implementations. See <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML parser</link>.</p>
-</s2><anchor name="dtm"/>
-<s2 title="&xslt4j; DTM">
-<p>In place of the DOM object tree of nodes, the Document Table Model (DTM) uses integer arrays and string pools to represent the structure and content of the XML document to be transformed. The motivation behind this model is to optimize performance and minimize storage. For more information, see <link idref="dtm">DTM</link>.</p>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/xmlfilters.gif b/xdocs/sources/xalan/xmlfilters.gif
deleted file mode 100644
index 2b4d640..0000000
--- a/xdocs/sources/xalan/xmlfilters.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xalan/xsltc_constraints.xml b/xdocs/sources/xalan/xsltc_constraints.xml
deleted file mode 100644
index 9f997d4..0000000
--- a/xdocs/sources/xalan/xsltc_constraints.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"[
-<!ENTITY xsltcdone SYSTEM "XSLTCDONE">
-<!ENTITY xsltc_history SYSTEM "xsltc_history.xml">]>
-
-<s1 title="XSLTC Release Notes">
-<p>For this release, please note the following changes, additions, omissions, problems, procedures for running demos, 
-and new support for the TrAX API.</p>
-<p>For an introduction to XSLTC, see <link idref="xsltc_usage">Using XSLTC</link>.</p>
-<ul>
-  <li><link anchor="xsltcnew">Changes and New Features</link></li>
-  <li><link anchor="xsltcconf">Conformance</link></li>
-  <li><link anchor="xsltcknownproblems">Known Problems</link></li>
-  <li><link anchor="xsltcdemos">Running Demos</link></li>  
-  <li><link anchor="xsltctrax">Translets and TrAX</link></li>
-  <li><link idref="xsltc_history">History of XSLTC software changes</link></li>
-</ul>
-<anchor name="xsltcnew"/>
-<s2 title="Changes since &xslt4j; 2.2.D14">
-&xsltcdone;
-</s2>
-<anchor name="xsltcconf"/>
-<s2 title="XSLT 1.0 Conformance and Extensions">
-<p>XSLTC does not yet support the following feature of the <resource-ref idref="xslt"/>:</p>
-<ul>
-  <li>The namespace axis is not implemented. You cannot get a node set containing the namespace nodes
-    in scope from a context node in the document tree. Otherwise, namespace functionality is implemented.</li>
-</ul>
-<p>XSLTC does not support a number of features that are not required by the XSLT 1.0 specification,
-but which are supported by a number of other XSLT processors:</p>
-<ul>
-  <li>Incomplete support for extension elements and external Java functions. Currently you can set up an extension function
-    to call a static Java function. For the extension namespace, use<br/>
-    &nbsp;&nbsp;&nbsp;&nbsp;http://xml.apache.org/xalan/xsltc/java/&lt;class&gt;<br/>
-    where &lt;class&gt; identifies the class with the static method.</li>
-  <li>Lack of support for the redirection of output to multiple
-    output files from within a stylesheet (equivalent to xalan:redirect or
-    saxon:output).</li>
-  <li>XSLTC does not implement a node-set extension to convert result tree fragments to
-    node-sets. This would enable sorting and grouping of nodes assigned to a tree </li>
-</ul>
-</s2>
-<anchor name="xsltcknownproblems"/>
-<s2 title="Known Problems">
-<ul>
-  <li>Casting variables: XSLTC requires you to explicitly type cast values 
-  returned by variables or expressions, when you use them in tests. Always a good
-  practice, but it may seem like overkill in some in contexts, where other XSLT processors
-  automatically assume or convert to the correct type. For example. unless you cast $country
-  to a string in the following apply-templates, entry nodes whose &lt;country&gt; elements
-  contain a string matching the global $country parameter are NOT selected.<br/><br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<code>&lt;xsl:apply-templates select="entry[country=string($country)]"/&gt;</code></li>
-  <li>Order dependency of conditions within a predicate: If you have a predicate in a select or match
-  expression that has multiple conditions, one of which contains a union (X or Y), put it last. 
-  Otherwise, the predicate fails to match node that it should.</li>
-  <li>When using DOM caching, as shown in the Servlet demo, if the source document is local to the 
-  server, the cache is not refreshed when the source XML document is modified. This 
-  problem does not apply when the source is associated with a URL.</li>
-  <li>If you have a list of references included or imported stylesheets, put any with 
-  a relative path last; otherwise, stylesheets in the current directory are not found.</li>
-  <li>[1] should be treated equivalent to position()=1, but it is not. Therefore, if 
-  you get unexpected results using such shortcut positional predicates, substitute the 
-  full postion()= version.</li>
-  <li>XSLTC fails to match existing nodes when match expressions have 
-  multiple steps with predicates containing the position function.
-  The following examples are taken from the XSLTMark oddtemplates.xsl test:<br/><br/>
-  <code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[position()=2]'</code><br/>
-  <code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[6]/kid[2]'</code><br/>
-  <code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[position()=last()]'</code><br/></li>
-  <li>XSTLC has problems with output escaping, see bug 1403.</li>
-  <li>Case-order option with sorting is ignored.</li>
-  <li>As a minor side-effect of implementing simplified stylesheets, if you inadvertenly 
-  go to compile a stylesheet and give the name of the .xml doc instead of the .xsl doc,
-  it may compile without a warning. In some cases, the compiler aborts with an error 
-  about too many branches.</li>
-</ul>
-</s2>
-<anchor name="xsltcdemos"/>
-<s2 title="Running Demos">
-<p>XSLTC provides demos for using XSLTC as a servlet and as a handler for 
-Brazil (a new and powerful Web techology from Sun labs). To run these demos,
-download Brazil from sunlabs:</p>
-<p><code>&nbsp;&nbsp;&nbsp;&nbsp;<jump href="http://research.sun.com/research/download/index.html">http://research.sun.com/research/download/index.html</jump></code></p>
-<p>and the java extensions for servlets from Sun:</p>
-<p><code>&nbsp;&nbsp;&nbsp;&nbsp;
-<jump href="http://java.sun.com/products/servlet/download.html">
-http://java.sun.com/products/servlet/download.html</jump>
-</code></p>
-<p>The translet must be specified as a pure class name, accessible
-through the Brazil handler's classpath. For example:</p>
-<p><code>&nbsp;&nbsp;&nbsp;&nbsp;translet=mk054</code></p>
-<p>The document must be specified as a valid URL. For example:</p>
-<p><code>&nbsp;&nbsp;&nbsp;&nbsp;document=http://server/path/to/filename.xml</code></p>
-<p>If the file is local to the Brazil handler, it has to be
-specified using the "file:filename.xml" format.</p>
-<note>You also need to make the Brazil and javax classes available from your classpath</note>
-<p>See also: <link idref="samples" anchor="translets">sample JAXP translets</link>.</p>
-</s2>
-
-<anchor name="xsltctrax"/>
-<s2 title="Translets and TrAX">
-<p>
-The Translet API has been extended to conform with the JAXP1.1 TrAX model.
-This release contains the first implementation of that extension. Two
-new classes have been added to the Translet XSLT codebase, they are:</p>
-<p>(1) <code>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</code> -<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;the Translet implementation of a SAXTransformerFactory.</p>
-<p>(2) <code>org.apache.xalan.xsltc.runtime.TransletTemplates</code> -
-&nbsp;&nbsp;&nbsp;&nbsp;the Translet implementation of a Templates object.</p>
-<p>
-The existing XSLT class 'org.apache.xalan.xsltc.runtime.AbstractTranslet'
-that implements the Translet interface is now also extending the 
-javax.xml.transform.Transformer abstract class.
-</p>
-<p>
-This implementation is only a partial implementation, with many limitations.
-These limitations include:
-</p>
-<ol>
-<li>Currently  'StreamSource' and 'StreamResult' are the only
- TrAX Sources and Results that are supported.</li>
-<li>The translet is compiled everytime a call is made to the<br/>
-<code>TransformerFactoryImpl 'newTransformer()'</code> method.</li>
-<li>The translet is compiled everytime a call is made to the <br/>
-<code>TemplateFactoryImpl 'newTransformer()'</code> method.</li>
-<li>Translet are currently not cached. (See (2) and (3)).</li>
-<li>Several abstract methods from SAXTransformerFactory still need to
-be implemented in the xsltc.runtime.TransformerFactoryImpl class:<br/><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;TemplatesHandler newTemplatesHandler()</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler()</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler(Source src)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler(Templates templates)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;XMLFilter newXMLFilter(Source src)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;XMLFilter newXMLFilter(Templates templates)</code></li>
-<li>Several abstract methods from Transformer still need to be implemented in the 
-AbstractTranslet class:<br/><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;ErrorListener getErrorListener()</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;void setErrorListener(ErrorListener)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;Properties getOutputProperties()</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;String getOutputProperty(String name)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;void setOutputProperties(Properties props)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;void setOutputProperty(String name, String value)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;URIResolver getURIResolver()</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;void setURIResolver(URIResolver resolver)</code></li>
-<li>Abstract method from Templates still need to be implemented in the TransletTemplates class:<br/><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;Properties getOutputProperties()</code></li>
-<li>Several abstract methods from TransformerFactory still need to be implemented 
-in the <code>xsltc.runtime.TransformerFactoryImpl</code> class:<br/><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;ErrorListener getErrorListener()</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;void setErrorListener(ErrorListener listener)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;Object getAttribute(String name)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;void setAttribute(String name, Object value)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;boolean getFeature(String name)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;URIResolver getURIResolver()</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;void setURIResolver(URIResolver resolver)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;Source getAssociatedStylesheet(Source src, String media, String title,</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String charset)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;Templates newTemplates(Source xslSrc)</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;Transformer newTransformer()</code></li>
-<li>Whenever possible, the required methods that are currently unimplemented will throw an 
-exception if someone tries to call them- this will alert the user that the method is not implemented. 
-The message is of the form:<br/><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;&quot;&lt;Class Name&gt;:&lt;Method Name&gt;( &lt;args&gt; ) not implemented yet.&quot;</code>
-</li>
-</ol>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/xsltc_history.xml b/xdocs/sources/xalan/xsltc_history.xml
deleted file mode 100644
index 0d88b1a..0000000
--- a/xdocs/sources/xalan/xsltc_history.xml
+++ /dev/null
@@ -1,2264 +0,0 @@
-<?xml version="1.0" standalone="no"?> 
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<s1 title="XSLTC software changes">
-<p>The following sections list <link idref="xsltc_usage">XSLTC</link> changes back to the incorporation of XSLTC into &xslt4j;.</p>
-<s2 title="Changes for &xslt4j; 2.2">
-<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>A fix to the XPath parser to make sure (again!) that non-prefixed elements
- in XPath expressions/patterns are not assigned the default namespace but
- rather the null namespace.
- PR: bugzilla 4904
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>Modified the order in which top-level elements are parsed. This to make sure
- that xsl:namespace-alias elements are parsed before xsl:import and include,
- so that namespace aliases are global to all included stylesheets.
- PR: bugzilla 4876
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java
- xpath.lex<br/><ref>Committer's log entry: </ref>
-
-
-<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc NodeIterator.java
- java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
- CurrentNodeListIterator.java DOMImpl.java
- FilterIterator.java FilteredStepIterator.java
- KeyIndex.java MatchingIterator.java MultiDOM.java
- NodeIteratorBase.java NthIterator.java
- StepIterator.java UnionIterator.java<br/><ref>Committer's log entry: </ref>A fix for the various node iterators cloneIterator() method. This method
- should clear the _isRestartable flag to prevent iterators contained within
- variables and parameters from changing their value. This flag is now wrapped
- inside a setRestartable(boolean flag) method so that the call can be
- propagated down a stack of iterators. This seems to solve many of our
- iterator problems.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apaceh.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java
- XslElement.java<br/><ref>Committer's log entry: </ref>Added a method to the SyntaxTreeNode base class that can be used to check
- the existence of an attribute in the input document: hasAttribute(String 
-name).
- This method is used in the XslElement class to verify the existence of a
- 'namespace' attribute with an empty value.
- PR: bugzilla 4983
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Updated the realToString() method in the runtime library to always output
- numbers on decimal form (and not on Java's "computerized scientific notation."
- PR: bugzilla 4199
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- RoundCall.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Changed the return-type of the round() function form int to double. The result
- is still rounded (of course), but it is returned as a double to be able to
- return NaN and infinite values.
- PR: bugzilla 2805
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>I am still fiddling around with predicates containing variable references
- and position filters.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.lex<br/><ref>Committer's log entry: </ref>Reverting previous putback.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Output.java
- java/src/org/apache/xalan/xsltc/compiler/util
- ErrorMessages.java ErrorMessages_no.java
- ErrorMsg.java
- java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Added a warning message for unsupported output encodings.
- PR: bugzilla 5139
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.lex<br/><ref>Committer's log entry: </ref>fixed typo<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java<br/><ref>Committer's log entry: </ref>A fix for global parameters whose names contain dots or dashes.
- PR: bugzilla 5328
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>A fix for a bug in the XPath parser. The parser would choke on some XPath
- expressions that contained references to element names that were identical
- to axis names.
- PR: bugzilla 3502
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Added another fix to properly convert ver small floating point numbers to
- strings.
- PR: bugzilla 4199
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>Added a fix for global variables declared in included/imported stylesheets.
- PR: bugzilla 5327
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- MethodGenerator.java<br/><ref>Committer's log entry: </ref>Fix for use of XPath expressions in contexts where there is no 'current'
- node (ie. in top-level elements such as variables and attribute sets).
- PR: bugzilla 5194
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- ResultTreeType.java<br/><ref>Committer's log entry: </ref>A fix for passing result tree fragments and node-sets to external Java
- methods. Node sets and RTFs can both be handled as org.w3c.dom.Node or
- org.w3c.dom.NodeList in the called method.
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- ResultTreeType.java<br/><ref>Committer's log entry: </ref>A fix for passing result tree fragments and node-sets to external Java
- methods. Node sets and RTFs can both be handled as org.w3c.dom.Node or
- org.w3c.dom.NodeList in the called method.
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>look for xsltc specific attributes<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>store error listener and or uri resolver locally
- set in real factory when needed<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>fixed scope of internal method<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>Removed some stupid debug timing-loop in the command line Transform tool.
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>Removed the main() method from the XSLTC class. This class represents the
- native API of the compiler.
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java
- java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br/><ref>Committer's log entry: </ref>A small cleanup in our native API.
- Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>01/07/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>fixed problem with output content handler creation
- (while running xalan conf tests) in method getOutputHandler(Result).<br/><br/></li></ul>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D14">
-<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>Fixed bug for xsl:attribute
- PR: 4175
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Fix for properly creating a SAX InputSource from a TrAX InputStream for
- encapsulating a stylesheet before it is compiled.
- PR: bugzilla 4711 (I hope to God)
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Fix for last putback.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>This fix should take care of a regression introduced by the code that was
- added on the 29.10.2001 to take care of forward referenced variables.
- This little patch ensures that variables that do not have any dependencies
- are kept in order.
- PR: bugzilla 4779
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>Fixed a minor regression after the fix for 3592. A literal number zero was
- always interpreted as an integer zero and never as a double -0 opr 0.0.
- PR: bugzill 4810
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fixed the code that prevents escaping of text inside &lt;script&gt; and &lt;style&gt;
- elements in HTML. The code did not handle upper case element names.
- PR: bugzilla 2517
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java<br/><ref>Committer's log entry: </ref>bug fix 4906<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java
- Template.java xpath.cup<br/><ref>Committer's log entry: </ref>Fix for nested parent location paths / filter parent paths with key() or
- id() root. These paths would in some case returnt he root node when they
- should not.
- PR: bugzilla 4781
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java<br/><ref>Committer's log entry: </ref>Fix for a big in the &lt;xsl:sort&gt; implementation. The element would not always
- work properly in the innermost loop in nested &lt;xsl:for-each&gt; elements.
- PR: bugzilla 4921
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
- Sort.java<br/><ref>Committer's log entry: </ref>A fix for a regression introduced by a fix for &lt;xsl:sort/&gt; and nested
- &lt;xsl:for-each/&gt; elements.
- PR: bugzilla 4921
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fix to ensure that double quotes are escaped inside attribute values in
- HTML output.
- PR: bugzilla 4845
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java<br/><ref>Committer's log entry: </ref>Fix for a bug caused by &lt;xsl:apply-templates/&gt; not always passing parameters 
-to
- the invoked template(s). Parameters would not be put on the stack if the
- 'select' attribute contained wildcards.
- PR: bugzilla 4718
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- StringType.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Fixed conversion between strings and numbers. Empty strings should return
- 0 and not NaN.
- PR: bugzilla 4783
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Choose.java
- Parser.java SyntaxTreeNode.java Text.java
- java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fix for a whole wack of bugs related to text-nodes and handling of whitespace
- and special characters.
- PR: bugzilla 1403, 1520, 3005, 3418 and 3690
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Prevented the namespace-uri() from returning anything for namespace nodes.
- PR: bugzilla 4896
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>Added test in &lt;xsl:element&gt; to verify that the local name of the created
- element is legal (must have contents, but no whitespaces or colon).
- PR: bugzilla 4894
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>A small fix for the substring() function to output an empty string if the
- start index is an infinite value.
- PR: bugzilla 4813
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
- Stylesheet.java<br/><ref>Committer's log entry: </ref>Fix for XHTML output.
- PR: bugzilla 4904
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Message.java<br/><ref>Committer's log entry: </ref>A cleanup in the Message class. Making way for a fix for 4874
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>A fix for position predicates used within parameters and variables.
- PR: bugzilla 4783
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>A small fix needed after a fix for stripping/preserving text nodes. The fix
- for text-nodes caused us to insert text nodes before &lt;xsl:attribute&gt; elements
- in the AST, which again caused the XslAttribute class to complain.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc DOM.java
- java/src/org/apache/xalan/xsltc/compiler Message.java
- java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
- DOMImpl.java MultiDOM.java<br/><ref>Committer's log entry: </ref>Added a new method to the DOM interface for retrieving the DOM as a single
- string. This method is different from the existing getStringValue() in the
- way that it generates element brackets and copies PIs and comments.
- PR: bugzilla 4874
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- FilteredStepIterator.java StepIterator.java
- UnionIterator.java<br/><ref>Committer's log entry: </ref>Updated the StepIterator and FilteredStepIterator's cloneIterator() and
- reset() methods so that the _isRestartable flag is set correctly.
- PR: bugzilla 4905
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>Another fix for 3005 (special characters inside CDATA).
- PR: bugzilla 3005
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>A fix for decimal formatting
- PR: bugzilla 4901
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br/><ref>Committer's log entry: </ref>A fix for a regression introduced by a fix for whitespace handling.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler FilterExpr.java
- Predicate.java VariableRefBase.java
- java/src/org/apache/xalan/xsltc/dom
- CurrentNodeListIterator.java DOMImpl.java
- FilteredStepIterator.java KeyIndex.java
- MatchingIterator.java MultiDOM.java
- NthIterator.java StepIterator.java
- UnionIterator.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java<br/><ref>Committer's log entry: </ref>A fix for trees of step iterators stored inside variables.
- Also some fixes for recently introduced regressions.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.iorg<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><ref>Committer's log entry: </ref>A fix for the TrAX API when used from within an environment that does _not_
- use one of the standard classloaders.
- PR: bigzilla 5130
- Obtained from: n/a
- Submitted by: Jochen.Cordes@t-online.de
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java
- java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br/><ref>Committer's log entry: </ref>A fix for multilevel sort-keys. If a set of translets (representing different
- stylesheets) are running one the same JVM, and two or more of these translets
- use NodeSortRecord objects to represent &lt;xsl:sort/&gt; elements, then the number
- of sort keys would be set in the NodeSortRecord _class_ constructor instead of
- being set locally for each occurance of &lt;xsl:sort/&gt;.
- PR: bugzilla 4755
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler CastExpr.java
- EqualityExpr.java Expression.java LastCall.java
- Predicate.java VariableRefBase.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- StepIterator.java<br/><ref>Committer's log entry: </ref>A fix for resetting the source iterator of a node-value iterator.
- PR: bugzilla 5152
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- DecimalFormatting.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>A fix for a few regressions from yesterday.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>A fix to the XPath parser to make sure (again!) that non-prefixed elements
- in XPath expressions/patterns are not assigned the default namespace but
- rather the null namespace.
- PR: bugzilla 4904
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>Modified the order in which top-level elements are parsed. This to make sure
- that xsl:namespace-alias elements are parsed before xsl:import and include,
- so that namespace aliases are global to all included stylesheets.
- PR: bugzilla 4876
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li></ul>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D12 and 2.2.D13">
-<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>Changed the values for the output properties "OMIT_XML_DECLARATION" and
- "INDENT" from "true" and "false" to "yes" and "no".
- PR: bugzilla 4039
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Updated the getAttribute() method to throw an IllegalArgumentException
- for unknown attributes.
- PR: bugzilla 4046
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler NameBase.java<br/><ref>Committer's log entry: </ref>Fixed a bug in the name() and local-name() functions. The functions would
- use the current node and not the context node when no arguments were given.
- PR: bugzilla 3322
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Updated Mode.java to properly handle patterns matching on node(), comment() 
-and
- processing-instruction(). Also had to make a small change to the 
-setStartNode()
- method in the FollowingIterator (inner class of DOMImpl.java) to properly
- handle attribute-nodes as start nodes. Also, I had to change 
-ParentLocationPath
- to remove duplicates that can be produced by the FollowingIterator when
- started with an attribute node.
- PR: bugzilla 2551
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>A small for for the output property OMIT_XML_DECLARATION
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix to the transformer implementation to allow for namespace-prefixed
- output properties (output property extensions).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>included a more portable way to create an URI from a File<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>ncluded a more portable way to create an URI from a File<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>ncluded a more portable way to create an URI from a File<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>ncluded a more portable way to create an URI from a File<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java
- ParentLocationPath.java Parser.java
- RelationalExpr.java SyntaxTreeNode.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java TextOutput.java<br/><ref>Committer's log entry: </ref>A fix for a few regressions.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fix for the "*" pattern. Made it include comment and PI nodes.
- PR: bugzilla 4050
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>Fix for the last fix.
- PR: bugzilla 4050
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fix for the last fix.
- PR: bugzil.la 4050
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added catch for malformed url<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>Modified error handling to extract messages from SAXException. This tool
- will also print the stack trace of the SAXException if the '-x' flag is
- specified (debug turned on).
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Added code to prevent index-out-of-bounds exception in the output handler.
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc DOM.java
- java/src/org/apache/xalan/xsltc/compiler XSLTC.java
- xpath.cup
- java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
- DOMImpl.java<br/><ref>Committer's log entry: </ref>Added support for the namespace axis.
- PR: bugzilla 1379
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>Missing file from last putback.
- PR: bugzilla 1379
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>A few add'ons to the namespace axis implementation. Added support for
- the namespace-uri() function when applied to namespace nodes.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Code cleanup.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>Fix to prevent attribute nodes to be included by the node() pattern.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fix for the following:: iterator when started with an attribute node.
- PR: bugzilla 2551
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
- Mode.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>A fix to a recent regression after a fix for some axis iterators.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup xpath.lex<br/><ref>Committer's log entry: </ref>Added 4 symbols to the lexiographical analyser (xpath.lex) to recognise
- name-tests with whitespace between the NCName and the "()" brackets.
- PR: bugzilla 4208
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>Fix to prevent xsl:attributes from not compiling itself into the translet 
-code.
- PR: bugzilla 4175
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- FilterParentPath.java<br/><ref>Committer's log entry: </ref>Enabled node ordering for certain filtered parent paths.
- PR: bugzilla 4178
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br/><ref>Committer's log entry: </ref>Changed the node sort record base class so that it places NaN values first
- in the sorted list/node-set.
- PR: bugzilla 3517
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Changed the DOM's copy() function to always copy the necessary namespace
- declaration to the output handler.
- PR: bugzilla 3409 (not complete fix)
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler CallTemplate.java
- DecimalFormatting.java Param.java SymbolTable.java
- Template.java Variable.java VariableBase.java
- WithParam.java
- java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br/><ref>Committer's log entry: </ref>Cleaned up the compiler's symbol table. Added support for detecting multiple
- defined decimal formatting symbols.
- PR: bugzilla 3872
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler CallTemplate.java
- Template.java VariableBase.java WithParam.java
- XSLTC.java
- java/src/org/apache/xalan/xsltc/compiler/util Util.java<br/><ref>Committer's log entry: </ref>Added/checked proper escaping of 
-template/variable/parameter/attribute-set/etc.
- names. Occurances of the characters '.' and '-' are replaced by '$dot$' and
- '$dash$' respectively in method/variable names. The characters are both
- replaced by an underbar ('_') in the translet class name.
- PR: 2399
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fix for getting all attributes from the Xerces parser. Xerces and Crimson
- report attributes differently, and we have to take that into account.
- PR: bugzilla 2465
- Obtained from: n/a
- Submitted by: Douglas Sellers &lt;douglasjsellers@hotmail.com&gt;
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- FilterParentPath.java<br/><ref>Committer's log entry: </ref>Added node ordering to FilterParentPath
- PR: bugzilla 4248
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Changed one of the compare() methods in the basis library to properly
- compare node sets.
- PR: bugzilla 4242
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>Fixed the registerAttribute() method so that it always uses the same
- id for an attribute name.
- PR: bugzilla 4243
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler Param.java.orig<br/><ref>Committer's log entry: </ref>Removed file Param.java.orig
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- VariableBase.java<br/><ref>Committer's log entry: </ref>Changed the variable base class to allow variables to be re-defined in
- a different scope.
- PR: bugzilla 3268
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>Added a node-value iterator to the DOM multiplexer to allow for predicates
- in combination with the document() function.
- PR: bugzilla 3402
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>Fix for variables and parameters containing node sets in stylesheets that
- use the document() function. This fix completes the cloneIterator() method
- of the axis iterators returned by the DOM multiplexer.
- PR: bugzilla 3501
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Added the default xml=http://www.w3.org/XML/1998/namespac namespace
- declaration to the root node of our internal DOM.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom LoadDocument.java
- MultiDOM.java<br/><ref>Committer's log entry: </ref>A fix for determining the current working directory when loading XML
- documents using the document() function. The base URI (that gives you
- the CWD) should normally be taken from the context node, but can also
- be determined by the node/node-set defining the document URI.
- PR: bugzilla 3471
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Gave the parent/sibling stacks in the DOM builder dynamic length.
- PR: bugzilla 3066
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br/><ref>Committer's log entry: </ref>Added a '-i' option to the command-line compiler to allow stylesheets to be
- passed in through stdin. The '-i' option must be used with the '-o' option
- to specify a translet name.
- PR: bugzilla 4253
- Obtained from: n/a
- Submitted by: johnh@schemasoft.com (John Howard)
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Include.java
- Stylesheet.java XSLTC.java<br/><ref>Committer's log entry: </ref>Cleaned up the include/import precedence code in Import and Include
- PR: bugzilla 2695
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Fixed output formatting of some floating point numbers.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>Fix for logical expressions that have combinations of not() and "and".
- PR: bugzilla 2351
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added a empty string systemId in cases where it was
- set to null, slight rearrangment of StreamSource handling code as well.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler header.txt<br/><ref>Committer's log entry: </ref>Fix for names templates. Dashes and dots in template names are now
- escaped using '$dash$' and '$dot$'.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>A fix for a recent regression. A no major change. Just a one-line if to
- test for a potential NPE.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
- Mode.java Stylesheet.java Template.java<br/><ref>Committer's log entry: </ref>A major fix for &lt;xsl:apply-imports/&gt;. This element was previously treated
- as &lt;xsl:apply-templates/&gt; but is now handled similar to Java's 'super()'
- method. Note that this is not a complete fix. The rest will come tomorrow
- or the day after. I just wanted to make sure that today's efforts were not
- lost and that they are tested overnight.
- PR: bugzilla 1397
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
- DocumentCall.java Stylesheet.java
- SyntaxTreeNode.java
- java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>Fixed the document() function so that it will load documents relative to
- either the currently loaded document, or if that fails, relative to the
- location of the original stylesheet.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerHandlerImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fixed the TransformerHandler so that it's Transformer instance can be used
- separateely from the handler itself.
- PR: bugzilla 3873
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
- Include.java<br/><ref>Committer's log entry: </ref>A fix for resulving relative URIs when using &lt;xsl:include/&gt; and &lt;xsl:import/&gt;
- through TrAX without using a URIResolver.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix for a bug that seemed to be triggered by the sequence in which Xerces'
- lexical handler and content handler were set. The lexical handler must be
- set before the content handler, otherwise Xerces will keep generating the
- first startElement() event over and over again.
- PR: bugzilla 2465
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fixed the general handling of the XML namespace mapping.
- PR: bugzilla 4331
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
- Mode.java Stylesheet.java<br/><ref>Committer's log entry: </ref>A fix for setting the scope of templates for an &lt;xsl:apply-imports/&gt; element.
- This fix allows for proper "multiple inheritance" in XSLTC.
- PR: bugzilla 1397
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>Fix to ensure that the order of the -o and -p command line options is
- not significant.
- PR: bugzilla 4343
- Obtained from: n/a
- Submitted by: johnh@schemasoft.com (John Howard)
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>Changed our extension for calling external static Java methods to allow
- both the "http://xml.apache.org/xalan/xsltc/java" namespace and the
- "http://xml.apache.org/xslt/java" namespace (Xalan's namespace for Java
- function calls).
- PR: bugzilla 3994
- Obtained from: n/a
- Submitted by: after numerous requests/suggestions on xalan-dev
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java
- Choose.java DocumentCall.java Number.java
- Otherwise.java StepPattern.java Stylesheet.java
- VariableBase.java VariableRef.java
- VariableRefBase.java When.java XSLTC.java xpath.cup
- java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br/><ref>Committer's log entry: </ref>Implemented code to resolve forward references and dependencies between
- global variables and parameters.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler UnresolvedRef.java<br/><ref>Committer's log entry: </ref>Missing file from last putback.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
- AttributeSet.java AttributeValueTemplate.java
- BinOpExpr.java CallTemplate.java ConcatCall.java
- ContainsCall.java CopyOf.java
- DecimalFormatting.java DocumentCall.java
- ElementAvailableCall.java Expression.java
- ForEach.java FormatNumberCall.java
- FunctionAvailableCall.java FunctionCall.java
- If.java Import.java Include.java Instruction.java
- Key.java Output.java Param.java Parser.java
- ProcessingInstruction.java RelationalExpr.java
- StartsWithCall.java StringCall.java Stylesheet.java
- Template.java TopLevelElement.java
- TransletOutput.java UnsupportedElement.java
- UseAttributeSets.java ValueOf.java Variable.java
- VariableBase.java When.java Whitespace.java
- WithParam.java XslAttribute.java XslElement.java
- xpath.cup
- java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br/><ref>Committer's log entry: </ref>Moved all error messages from the various source files into the ErrorMsg
- class in the compiler/util directory.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
- Transform.java
- java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
- SlotAllocator.java
- java/src/org/apache/xalan/xsltc/dom LoadDocument.java
- NodeSortRecordFactory.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java BasisLibrary.java
- SAXAdapter.java TextOutput.java
- java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
- TransformerFactoryImpl.java
- TransformerHandlerImpl.java TransformerImpl.java
- XSLTCSource.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- ErrorMessages.java ErrorMessages_en.java
- ErrorMessages_no.java<br/><ref>Committer's log entry: </ref>A first stab at i18n'ing XSLTC. Error and warning messages from the compiler
- and TrAX are handled by the compiler/util/ErrorMsg class, while messages
- from the DOM and runtime/translet are handled by the Basis Library class.
- Only the ErrorMsg class has so far been updated to dynamically read its
- messages from a ResourceBundle. Bundles for British English and Norwegian
- are implemented.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- BooleanType.java ErrorMessages.java
- ErrorMessages_no.java ErrorMsg.java IntType.java
- NodeSetType.java NodeType.java RealType.java
- ReferenceType.java ResultTreeType.java
- StringType.java Type.java VoidType.java<br/><ref>Committer's log entry: </ref>Code cleanup.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
- CurrentNodeListIterator.java DOMImpl.java
- FilterIterator.java FilteredStepIterator.java
- MatchingIterator.java MultiDOM.java
- NodeIteratorBase.java StepIterator.java
- UnionIterator.java<br/><ref>Committer's log entry: </ref>Final code cleanup after i18n work.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- ErrorMessages.java<br/><ref>Committer's log entry: </ref>Removed a typo in console output.
- Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Added "Compiler Warning" text to output.
- Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
- Include.java StepPattern.java
- java/src/org/apache/xalan/xsltc/compiler/util
- ErrorMessages_no.java
- java/src/org/apache/xalan/xsltc/dom LoadDocument.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
- java/src/org/apache/xalan/xsltc/trax
- TemplatesHandlerImpl.java
- TransformerFactoryImpl.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- ErrorMessages_en.java<br/><ref>Committer's log entry: </ref>Localised the runtime/dom packages into Norwegian. This proves that the
- internationalisation work is completed. I also fixed a regression that
- was caused by the error handling being changed.
- PR: n/a (i18n and l10n work)
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>Integrated a fix from John Howard for forcing forward slashes in file paths
- in JAR files and in manifests in JAR files.
- PR: bugzilla 4464
- Obtained from: n/a
- Submitted by: John Howard (johnh@schemasoft.com)
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- Stylesheet.java<br/><ref>Committer's log entry: </ref>Fix for simplified stylesheets. A namespace declaration on the root element
- in the stylesheet (xmlns="http://www.w3.org/TR/xhtml1/strict") caused XSLTC
- to try to match elements in this namespace instead of elements in the null
- namespace.
- PR: bugzilla 3664
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>Removed a regression from yesterday ('version' attribute missing).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>Removed default behaviour of text() and "*" in &lt;xsl:apply-imports/&gt;.
- (this element should not invoke built-ins).
- PR: bugzilla 1397
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java<br/><ref>Committer's log entry: </ref>Updated the SAXAdapter used to build result tree fragments to handle comments.
- PR: bugzilla 4172
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Fix for the XPath substring() function.
- PR: bugzilla 4201
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Number.java<br/><ref>Committer's log entry: </ref>Removed the last putback - should never have been done. Big mistake!!!
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br/><ref>Committer's log entry: </ref>Fix for generating IDs for implied attributes.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Enabled character escaping by default for HTML output. We are now able to
- generate the XSLT and XPath specs without any errors at all.
- PR: bugzilla 3065
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java
- ErrorMessages_no.java<br/><ref>Committer's log entry: </ref>Missing resource bundles for error messages for XSLTC's dom and runtime lib.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>Fixed pattern matching on namespace qualified wildcards, such
- as match="@blob:*".
- PR: bugzilla 2582
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>Added a fix for predicates that test on node values, where the value to
- test agains is stored in a variable or predicate.
- PR: bugzilla 3501
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>Fix for re-definitions of variables inside templates (in different scopes).
- PR: bugzilla 3406
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Potential fix for bug 3416. Will not integrate for performance reasons.
- Code change is commented.
- PR: bugzilla 3416
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>Removed a desperately bad piece of code that caused XSLTC to misinterpret
- some combinations of parent location paths and predicates.
- PR: bugzilla 4249
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br/><ref>Committer's log entry: </ref>Fix for the formatter used with the xsl:count element.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java<br/><ref>Committer's log entry: </ref>Fix for sort-elements used with apply-templates elements with no select
- attribute.
- PR: bugzilla 3519
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler PositionCall.java
- java/src/org/apache/xalan/xsltc/dom NodeCounter.java
- SingleNodeCounter.java<br/><ref>Committer's log entry: </ref>A fix for the &lt;xsl:number&gt; element.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org / todd.miller@sun.com
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java
- java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
- NodeSortRecordFactory.java<br/><ref>Committer's log entry: </ref>Changed the 'order' and 'data-type' attributes of the &lt;xsl:sort&gt; element
- from plain attributes to attribute value templates. This required a change
- not inly in the way we interpret these attributes but also in the time at
- which these attributes are intrepreted. Since these are not treated as AVTs
- we need to wait until runtime before reading the values of the attributes.
- PR: bugzilla 3835
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc DOM.java
- java/src/org/apache/xalan/xsltc/compiler PositionCall.java
- StepPattern.java
- java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
- DOMImpl.java MultiDOM.java NodeSortRecord.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java.old<br/><ref>Committer's log entry: </ref>Fix for patterns on the format "/foo/*/bar" and "/foo/*[n]/bar".
- PR: bugzilla 4604
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java
- java/src/org/apache/xalan/xsltc/dom
- CurrentNodeListIterator.java DOMImpl.java<br/><ref>Committer's log entry: </ref>Fixed the last() function for the typed and untyped ancestor iterators.
- I also updated our node list iterator (used to implement some predicates)
- to handle the last() function properly for reverse-order axes.
- PR: bugzilla 4602
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>A fix for a regression after a previous fix for bug 3320.
- PR: bugzilla 4656
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java
- CastExpr.java EqualityExpr.java Expression.java
- LastCall.java LogicalExpr.java PositionCall.java
- Predicate.java RelationalExpr.java Step.java
- StepPattern.java UnaryOpExpr.java<br/><ref>Committer's log entry: </ref>Fix for compound predicates used in patterns.
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- AttributeValueTemplate.java Constants.java
- FilterParentPath.java LiteralAttribute.java
- LiteralElement.java LiteralExpr.java Mode.java
- ParentLocationPath.java Parser.java
- SimpleAttributeValue.java SyntaxTreeNode.java
- Text.java UnionPathExpr.java<br/><ref>Committer's log entry: </ref>A bit of a code cleanup. I also added a small fix for ensuring document order
- of node sets returned by union expressions.
- PR: bugzilla 4677
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java
- java/src/org/apache/xalan/xsltc/compiler/util
- ErrorMessages.java ErrorMessages_no.java
- ErrorMsg.java<br/><ref>Committer's log entry: </ref>Added a test to verify that &lt;xsl:sort/&gt; elements are only used within
- &lt;xsl:apply-templates/&gt; or &lt;xsl:for-each/&gt; elements.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom Axis.java<br/><ref>Committer's log entry: </ref>Added an array to the Axis class to give an easy indication to the direction
- of an axis.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc DOMCache.java
- java/src/org/apache/xalan/xsltc/cmdline Transform.java
- java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
- java/src/org/apache/xalan/xsltc/dom
- NodeSortRecordFactory.java
- java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/runtime TransletLoader.java<br/><ref>Committer's log entry: </ref>Added a new TransletLoader class to the runtime package. This class will
- be used only when the default Class.forName() call fails. The forName()
- call will fail if XSLTC is packed in a JAR and installed under
- $JAVA_HOME/jre/lib/ext. This is because the extensions class
- loader is used instead of the bootstrap class loader, and that the
- extensions class loader does not load classes for the default class path.
- But, if the extensions class loader is being used, then we know two things:
-
- (1) XSLTC is running on Java 1.2 or later (when extensions were introduced)
- (2) XSLTC has access to the ClassLoader.getSystemClassLoader() method
-
- This class takes advantage of this and uses a privileged call to this
- method to get a reference to the bootstrap class loader. It then uses this
- class loader to load the desired class.
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Added a "debug" attribute to the TransformerFactory implementation.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Removed a debug statement that was left behind after last putback.
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java
- StepPattern.java XSLTC.java xpath.cup xpath.lex<br/><ref>Committer's log entry: </ref>Added support for processing-instruction() with a literal parameter for
- use in node tests in expressions and patterns.
- PR: bugzilla 2583
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/09/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler
- ProcessingInstructionPattern.java<br/><ref>Committer's log entry: </ref>Forgot this in last putback.
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/09/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler LongExpr.java<br/><ref>Committer's log entry: </ref>bug fix 3592, new class to handle Long expresssion<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- xpath.cup xpath.lex Constants.java CastExpr.java<br/><ref>Committer's log entry: </ref>bug fix 3592, handles long now<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/09/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util LongType.java<br/><ref>Committer's log entry: </ref>bug fix 3592, added new class for Long types<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br/><ref>Committer's log entry: </ref>bug fix 3592, handles Long types<br/><br/></li></ul>
-</s2>
-<s2 title="Changes for &xslt4j; 2.2.D11">
-<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java<br/><ref>Committer's log entry: </ref>bug fix # 3424, memory retension fixed, John Howard contributed fix.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug fix 2807, seth ford's fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Include.java
- Import.java<br/><ref>Committer's log entry: </ref>bug fix 3426, gunnlaugur briem's fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>bug fix 3320, gunnlaugur briem's fix<br/><br/></li><li><ref>Committed by </ref>"Gunnlaugur Thor Briem" &lt;gthb@dimon.is&lt;<ref> on </ref>09/06/2001<br/><ref>Committer's log entry: </ref>
-&gt; bug fix 3320, gunnlaugur briem's fix
-&gt;
-&gt;<br/><br/></li><li><ref>Committed by </ref>"G. Todd Miller - XML Tech Ctr - Development" &lt;Glenn.Miller@Sun.COM&gt;<ref> on </ref>09/06/2001<br/><ref>Committer's log entry: </ref>
- &gt;&gt;&gt; bug fix 3320, gunnlaugur briem's fix
- &gt;&gt;&gt;
- &gt;&gt;&gt;<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>updated comments from bug fix 2553<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>bug fix 3360, predicate handling added<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java TextOutput.java<br/><ref>Committer's log entry: </ref>I have updated out output handler to treat this in the same manner as XT does.
- We allow AVT's to create namespace mappings between some prefix and the null
- URI. But, whenever an attribute or element uses a prefix that maps to the null
- URI we replace the prefix with the default prefix. So insead of outputting an
- illegal namespace declaration xmlns:ns1="" and ns1:Attr1="Whatsup" we simply
- output Attr1="Whatsup"
- PR: bugzilla 1518
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>Modified some of the error messages that are reported by this command-line
- tool to include full and correct error messages.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/dom DOMBuilder.java<br/><ref>Committer's log entry: </ref>Added support for comment nodes in the DOM. This support disappeared when
- we upgraded the DOMBuilder's interface from SAX to SAX2. Added a new
- interface for the DOMBuilder that includes SAX's ContentHandler _and_
- LexicalHandler.
- PR: bugzilla namespace30
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Updated the output handler to URL encode href attributes in HTML output.
- I used the URLEncoder class in java.net
- PR: bugzilla 1512
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Fixed the default output SAX handler so that it does not indent empty HTML
- tags such as &lt;col&gt; and &lt;br&gt;
- PR: bugzilla 1525
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java TextOutput.java<br/><ref>Committer's log entry: </ref>Fix to prevent character escaping inside &lt;script&gt; and &lt;style&gt; elements in
- HTML output.
- PR: bugzilla 2517
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java
- java/src/org/apache/xalan/xsltc/compiler BooleanCall.java
- StepPattern.java Variable.java
- java/src/org/apache/xalan/xsltc/compiler/util
- ResultTreeType.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fix to always return 'true' when result tree fragments are converted to
- boolean values (because a result tree always has at least one node - root).
- PR: bugzilla 2595
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Added some code to the DOM builder to make sure that text nodes are not
- broken up into smaller fragments.
- PR: bugzilla 3506
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java
- UnionIterator.java<br/><ref>Committer's log entry: </ref>Fix for the count() function and union iterators. Union iterators would not
- reset all the iterators it contained, and it needed a reset() method.
- PR: bugzilla 3504
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>bug fix 3312, //xx/descendant works now<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java<br/><ref>Committer's log entry: </ref>Removed a debug statement that was left in here by mistake. Bad, bad, bad!
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- ParentLocationPath.java<br/><ref>Committer's log entry: </ref>added test for ParentLocationPath instance<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>bug fix 3312 completed<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
- Param.java ParameterRef.java
- ParentLocationPath.java Variable.java
- VariableBase.java VariableRef.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- MatchingIterator.java ReverseIterator.java
- StepIterator.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
- TextOutput.java
- java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>Several bugfixes and fixes for regressions recently introduced by other
- bugfixes.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>Fix for parameter references used within predicates.
- PR: bugzilla 3405
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br/><ref>Committer's log entry: </ref>Added '-s' option to command-line compilaton tool to precent calls to
- System.exit(); This is needed when the command-line tool is invoked by
- our Java-based test harness.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>Added test in the method that handles stylesheet PIs in embedded stylesheets.
- This method did not properly test for the existence of stylesheets referenced
- in these PIs (ref. Sun's test embed09).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java
- StepPattern.java TestSeq.java<br/><ref>Committer's log entry: </ref>Fix for predicates used in complex match patterns. The compiler failed to
- produce code that would match on patterns like "blob/*[@attr='str']". It
- would also fail to identify some position predicates such as "blob[$param]".
- Nested parameters were not handled properly either. A pattern such as
- "foo[bar[starts-with(@attr, 'baz')]]" would be broken up and actually
- compiled twice - the outer predicate would be compiled first and the inner
- one after that. This fix makes sure that the predicates are handled together
- as one test, and not as two separate tests.
- PR: bugzilla 1376 (was an id/key problem, now predicates)
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java TextOutput.java<br/><ref>Committer's log entry: </ref>Modified the output handler and SAX handler to produce proper HTML output.
- Special characters in &lt;script&gt; and &lt;style&gt; elements are no longer escaped,
- and end-tags are properly produced (sometimes we would forget the last '&gt;').
- PR: bugzilla 2517
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- MatchingIterator.java StepIterator.java<br/><ref>Committer's log entry: </ref>Verious fixes for iterators.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom BitArray.java
- DupFilterIterator.java KeyIndex.java<br/><ref>Committer's log entry: </ref>A fix in the duplicate filter iterator to ensure that the iterator can be
- reset properly. The iterator was using its own variable for tracking the
- current node (not the base class' _position variable) but did not
- implement the reset() method).
- PR: bugzilla 1430
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler VariableRef.java<br/><ref>Committer's log entry: </ref>Forgot to add this file with my fix for bug 1430.
- PR: bugzilla 1430
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LastCall.java
- ParameterRef.java PositionCall.java Predicate.java
- RoundCall.java VariableRefBase.java<br/><ref>Committer's log entry: </ref>Fix for combination of wildcards and position predicates in match patterns.
- PR: bugzilla 1532
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java<br/><ref>Committer's log entry: </ref>bug fix 2838, (namedtemplate test)<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fix to prevent escaping of the '"' character. This character should only
- be escaped inside attribute values, and not in text nodes.
- PR: bug 2952
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fix for ChildrenIterator to speed up last() and position() calls.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br/><ref>Committer's log entry: </ref>This fix may affect a series of bugs. The AbsoluteIterator (/foo/bar/... etc.)
- did not update its _position variable, causing position() to return wrong
- values if called more than once.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- MethodGenerator.java<br/><ref>Committer's log entry: </ref>Added shortcut to call the reset() method on any iterator.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Fix to ensure that node iterators stored inside parameters are clones for
- each time the parameter is referenced. If this is not done then the node
- iterator will be in an unstable state after it has been referenced once.
- PR: bugzilla 3238
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>A fix for layers of parent location paths and steps representing an
- XPath pattern/expression like /foo/*/bar
- PR: bugzilla 3311
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ParameterRef.java
- ParentLocationPath.java Predicate.java<br/><ref>Committer's log entry: </ref>Removed a change from yesterday that caused a pretty bad regression in
- the position() and last() functions. Also changed a line un Param.java
- to add more information in debug outout.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fix to prevent complaints about illegal namespace declarations in output.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
- WithParam.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Added escaping of special characters in parameter names when passed to a
- template using &lt;xsl:with param/&gt;.
- PR: bugzilla 3324
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br/><ref>Committer's log entry: </ref>minor edit to usuage for -s option<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>Added functionality behind the '-s' flag in the Transform command-line tool.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
- Transform.java<br/><ref>Committer's log entry: </ref>Fixed two compile errors (bad, bad, bad).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc DOM.java
- java/src/org/apache/xalan/xsltc/compiler LastCall.java
- PositionCall.java
- java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
- DOMImpl.java MultiDOM.java<br/><ref>Committer's log entry: </ref>Fixed the getTypedPosition() and getTypedLast() methods of the DOM. These
- were used to implement XPath patterns such as /foo/bar[8]/baz.
- PR: bugzilla 2803
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Added a little method to the output post-processor to replace whitespaces
- in URLs by "%20" sequences. This is all the escaping I think we should
- bother our heads doing.
- PR: bugzilla 1512
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc DOM.java
- java/src/org/apache/xalan/xsltc/compiler Constants.java
- Step.java
- java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
- DOMImpl.java MultiDOM.java NthIterator.java<br/><ref>Committer's log entry: </ref>Two fixes in this one. One to make sure that the context-node is set correctly
- when applying templates using an iterator that has a predicate that tests on
- '.' (the current node), such as select="foo/bar[. = 'blob']". The other fix
- is for the nth position iterator, that failed to count to n backwards in
- cases when the underlying iterator was reverse.
- PR: bugzilla 2954 (two bugs in one, really)
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>A fix for CDATA elements. The tags of CDATA sections were passed through the
- output post-processor's character escaping function but should be passed
- directly to the SAX handler.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- NthIterator.java<br/><ref>Committer's log entry: </ref>The fix for 2954 introduced a regression, so I am pulling out the fix.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NthIterator.java<br/><ref>Committer's log entry: </ref>A revised fix for bug 2954, that does not cause the regressions previously
- sown by some tests.
- PR: bugzilla 2954 (revised fix)
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>A fix for the last() function for children iterators.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fixed the descendant iterator so that it does not return text-nodes
- for descendant::*
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
- Param.java Stylesheet.java<br/><ref>Committer's log entry: </ref>Fix for resolving mutiple defined global parameters and variables. The
- Import class has been fixed to set import precedences properly, and the
- Param class has been changed to use the import precedence to resolve
- between multiple definitions of the same variable/parameter.
- PR: bugzilla 3404
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- ClassGenerator.java<br/><ref>Committer's log entry: </ref>Forgot this file in my last update.
- Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- NthIterator.java<br/><ref>Committer's log entry: </ref>Another fix for the preceding-sibling iterator. It appeared that this
- iterator returned its nodes in the wrong order, and this was the reason
- why the position iterator (used to implement preceding-siblling::*[n])
- did not return the correct node. It is quite amazing that this iterator
- has been returning nodes in the wrong order for so long without any of
- us notising, and hopefully this fix will help eliminate a few of our
- open bugs.
- PR: bugzilla 2954
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Param.java
- Stylesheet.java Variable.java VariableBase.java<br/><ref>Committer's log entry: </ref>Fix to resolving multiple defined global variables or parameters.
- PR: bugzilla 3404
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Optimisation for string-2-int and real-2-int conversions.
- PR: bugzilla 3448
- Obtained from: n/a
- Submitted by: John Howard (johnh@schemasoft.com)
- Reviewed by: morten@xml.apache.org<br/><br/></li>
-  <li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Param.java
- Step.java Variable.java VariableBase.java xpath.cup
- java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
- DOMImpl.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Fix for nth-position typed descendant iterators (previously not fully
- implemented).
- PR: bugzilla 3468
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fix for our handling of the &lt;xsl:comment? element.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Param.java
- Variable.java<br/><ref>Committer's log entry: </ref>Removed previous attempt to fix forward references in globar vars.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>Fix for allowing LRE as top-level elements in the stylesheet (they will be
- ignored).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br/><ref>Committer's log entry: </ref>Fix to make sure all num-numeric values are grouped last in numeric sorts.
- PR: bugzilla 3517
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- NodeIteratorBase.java<br/><ref>Committer's log entry: </ref>A fix to ensure that the current position of any iterator is always kept
- updated. The returnNode() method of the NodeIteratorBase base class updates
- the _position variable for each returned node. This method should be called
- by the next() method of any iterator, except for next() methods that call
- super.next() (because this method calls returnNode() and so _position
- would be incremented twice or more for one returned node).
- PR: bugzilla 3816
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Updated the information returned by the system-property() function.
- xsl:verision returns "1.0"
- xsl:vendor returns "Apache Xalan XSLTC" - must be different from Xalan!!!"
- xsl:vendor-url returns "http://xml.apache.org/xalan-j"
- PR: bugzilla 3470
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java<br/><ref>Committer's log entry: </ref>Fix to allow indentation to be turned off XML/HTML output.
- PR: bugzilla 3469
- Obtained from: n/a
- Submitted by: Douglas J. Sellers (douglasjsellers@hotmail.com)
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Output.java
- Parser.java Stylesheet.java<br/><ref>Committer's log entry: </ref>Fix to make sure the one, and only one, xsl:output element is compiled
- per translet (import precedence taken into account).
- PR: bugzilla 3099
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Changed BasisLibrary.formatNumer() (this is the implementation of
- format-number()) so that it correctly formats NaNs into "NaN".
- PR: bugzilla 2890
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Another little update to format-number() to make sure it returns
- "Infinity" and "-Infinity" for infinite numbers.
- PR: bugzilla 2889
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>Changed the order in which a stylesheet parses its top-level elements.
- PR: bugzilla 3812
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java
- java/src/org/apache/xalan/xsltc/dom NthIterator.java<br/><ref>Committer's log entry: </ref>Removed a bug in the NthIterator iterator that prevented the iterator from
- properly being reset. This bug manifested itself if the Nth iterator was
- wrapped inside a step iterator.
- PR: bugzilla 3419
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>Added node-ordering for preceding iterators when used in apply-templates
- or value-of elements.
- PR: bugzilla 3463
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>Removed debug statement in Step.java
- Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><ref>Committer's log entry: </ref>Modified the DupFilterIterator so that it also orders nodes.
- PR: bugzilla 3466
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>Fix after a regression for preceding-sibling::* iterator.
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li>
- <li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc Translet.java
- java/src/org/apache/xalan/xsltc/cmdline Transform.java
- java/src/org/apache/xalan/xsltc/dom
- NodeSortRecordFactory.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java
- java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
- TransformerImpl.java<br/><ref>Committer's log entry: </ref>A fix for the problem with loading auxiliary classes for sorting when
- called from TrAX API.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li></ul>
-</s2>
-<s2 title="XSLTC source code updates for &xslt4j; 2.2.D10">
-<p>XSLTC source code updates:</p>
-<ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>I added a flag to the compiler/Parser class that is set if the outermost 
-element
- in the stylesheet contains a definition of the XSL namespace. The parser 
-already
- has a global variable '_target' that is set if the stylesheet contains a
- &lt;?xml-stylesheet?&gt; PI or not. The compiler will now flag an error if neither
- flags are set after the whole XSL/XML input document has been parsed.
- PR: bugzilla 1780
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler UnionPathExpr.java<br/><ref>Committer's log entry: </ref>Added a small fix that orders the expressions inside a union in such a way 
-that
- expressions with an attribute axis or attribute node type will be put first.
- PR: bugzilla 2921
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>A small fix that will allow top-level elements of an unknown URI.
- XSLTC now ignored the element(s), while it previously reported an error
- of an unsupported XSLT extension.
- PR: bugzilla 2840
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java DefaultSAXOutputHandler.java
- TextOutput.java<br/><ref>Committer's log entry: </ref>A start on a fix for output DOCTYPE declarations based on the attributes
- of the &lt;xsl:output&gt; element. I also added a fix for bug 2863, to prevent
- us from outputting namespace delcaration that point a prefix to the null
- URI (such as 'xmlns:blob=""').
- PR: bugzilla 2863
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>bug 2553, fixes AbbreviatedAbsoluteLocationPath,
- some relative location paths still give duplicates, will need to filter.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java
- java/src/org/apache/xalan/xsltc/compiler Output.java
- java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
- DefaultSAXOutputHandler.java TextOutput.java
- java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>Implemented support for the doctype-system and doctype-public attributes
- of the &lt;xsl:output/&gt; element. The translet post-processor (TextOutput) can
- now be instanciated with a ContentHandler and an optional LexicalHandler.
- The LexicalHandler will receive notofications of the DOCTYPE declaration.
- The default SAX output handler now implements both ContentHandler and
- LexicalHandler. The LexicalHandler only handles the startDTD() method,
- by outputting the DOCTYPE declaration, and all other methods are empty.
- The trax.Transformer implementation has also been updated to use the
- LexicalHandler, but I still have not found any way in which a SAX client
- can set the LexicalHandler.
- PR: bugzilla 1504
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>A minor change to the class handling the &lt;xsl:element&gt; element to be more
- in-sync with the XSLT 1.0 spec (and M.Kay's book). This in order to make
- it more readable and maintainable. I was trying to debug the code for
- something I thought was a bug, and it was just impossible to navigate.
- This change was necessary, even though the code functioned as it should.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
- Parser.java<br/><ref>Committer's log entry: </ref>Fix for outputting all necessary namespace declarations with LREs.
- PR: bugzilla 2863
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom ReverseIterator.java<br/><ref>Committer's log entry: </ref>A fix to allow reverse iterators to be reset (inside nested for-each loops).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/15/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><ref>Committer's log entry: </ref>bug fix 2553, new iterator to get rid of dups<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/15/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler
- FilteredAbsoluteLocationPath.java<br/><ref>Committer's log entry: </ref>bug fix 2553, new abs location path<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup
- Constants.java<br/><ref>Committer's log entry: </ref>bug fix 2553, updated Constants for dup processing
- and updated CUP rule for AbbreviatedAbsoluteLocationPaths<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
- DOMImpl.java DupFilterIterator.java
- StepIterator.java UnionIterator.java<br/><ref>Committer's log entry: </ref>Implementation of id() and key() pattern - finally!
- Added a small fix to the DOMImpl$DescendantIterator to prevent NPEs.
- PR: bugzilla 1376
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler IdKeyPattern.java
- KeyCall.java Mode.java Output.java Parser.java
- TestSeq.java xpath.cup<br/><ref>Committer's log entry: </ref>Forgot an 'import' in DupFilterIterator
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
- java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java DefaultSAXOutputHandler.java
- SAXAdapter.java TextOutput.java
- TransletOutputBase.java<br/><ref>Committer's log entry: </ref>missing file<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Added another fix for the missing DOCTYPE declaration. XSLTC will now output
- DOCTYPE declarations for HTML output if either doctype-system or doctype-
- public is declared in the &lt;xsl:output&gt; element. XSL output will get a
- DOCTYPE declaration only if doctype-system is declared.
- PR: 1504
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br/><ref>Committer's log entry: </ref>
-
-
-<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>turning on filtering, bug 2553<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><ref>Committer's log entry: </ref>Removed a bad optimisation in the duplicate filter iterator.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>re-activated the no dups filtering, dont know how
- this got reverted back to no filtering, but it is fixed again.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler IdKeyPattern.java
- Key.java KeyCall.java Parser.java Sort.java
- xpath.cup
- java/src/org/apache/xalan/xsltc/compiler/util
- CompareGenerator.java NodeSortRecordGenerator.java
- java/src/org/apache/xalan/xsltc/dom DTDMonitor.java
- DupFilterIterator.java KeyIndex.java
- NodeSortRecord.java NodeSortRecordFactory.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java BasisLibrary.java<br/><ref>Committer's log entry: </ref>Major update for id() and key(). Patterns containing id() and key() are
- now 100% supported (about time), and id() and key() expressions should
- now work in all (at least most) combinations.
- PR: bugzilla 1376 (!!!) and 2624
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>A small fix for a cleanup I did in the basis library (it broke the
- substring() function)&gt;
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Added small fix to prevent NPE in output handler.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
- java/src/org/apache/xalan/xsltc/compiler Variable.java
- VariableRef.java VariableRefBase.java
- java/src/org/apache/xalan/xsltc/compiler/util
- MultiHashtable.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
- TextOutput.java TransletOutputBase.java<br/><ref>Committer's log entry: </ref>Added element/attribute prefix information in the internal DOM.
- This should fix some problems we have had with the copy and copy-of
- elements. Added a few lines of code in an attempt to speed up the DOM builder.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br/><ref>Committer's log entry: </ref>An attempt to optimise the building of the ID index. The previous version of
- this code would traverse the DOM once for each type of element that had a
- defined ID attribute. The new version traverses the DOM once, and looks up
- each element's type in a hashtable to determine its ID attribute type (if 
-any).
- The new version of the code does not use string comparisons, like the old one.
- This update was done to compensate for the possible performance degradation of
- having implemented an element/attribute prefix array in the internal DOM.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TemplatesHandlerImpl.java TemplatesImpl.java
- TransformerHandlerImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Protected some methods in our TrAX code that are not defined in the TrAX API.
- These methods were never intended for public use and should have been defined
- as "protected" to begin with.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>Fix for a problem with some combinations of &lt;xsl:element&gt; and namespace
- aliasing. The output lacked the necessary namespace definitions when an
- element created with &lt;xsl:element&gt; was given a qname with a prefix that
- was mapped to some other prefix.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ParameterRef.java<br/><ref>Committer's log entry: </ref>removed typeCheck(), uses the base classes method now<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- VariableRefBase.java<br/><ref>Committer's log entry: </ref>added default typeCheck() to this base class<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java<br/><ref>Committer's log entry: </ref>bug fix 2838, cast to type real if both operands are
- ResultTreeType<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc DOM.java
- java/src/org/apache/xalan/xsltc/compiler
- AbsoluteLocationPath.java AbsolutePathPattern.java
- AncestorPattern.java ApplyTemplates.java
- BooleanExpr.java CallTemplate.java CastExpr.java
- Constants.java Copy.java CopyOf.java
- DocumentCall.java FilterExpr.java
- FilteredAbsoluteLocationPath.java ForEach.java
- FunctionCall.java Key.java KeyCall.java
- LastCall.java LocalNameCall.java Mode.java
- NameCall.java NamespaceUriCall.java Number.java
- Param.java ParameterRef.java
- ParentLocationPath.java ParentPattern.java
- PositionCall.java Predicate.java
- RelationalExpr.java Sort.java Step.java
- StepPattern.java Stylesheet.java
- SyntaxTreeNode.java Template.java TestSeq.java
- Text.java TransletOutput.java ValueOf.java
- Variable.java VariableRef.java Whitespace.java
- XSLTC.java
- java/src/org/apache/xalan/xsltc/compiler/util
- ClassGenerator.java ErrorMsg.java
- MethodGenerator.java NodeSetType.java NodeType.java
- ResultTreeType.java
- java/src/org/apache/xalan/xsltc/dom Axis.java
- DOMAdapter.java DOMImpl.java LoadDocument.java
- MultiDOM.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java BasisLibrary.java<br/><ref>Committer's log entry: </ref>Changes all calls from the compiled translet code to the DOM to be calls
- to the DOM interface (and not to a specific DOM class). I did this to make
- it possible to plugi in any DOM implementation.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
- java/src/org/apache/xalan/xsltc/compiler Constants.java
- TransletOutput.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java DefaultSAXOutputHandler.java
- TextOutput.java TransletOutputBase.java<br/><ref>Committer's log entry: </ref>Added an &lt;xsltc:output&gt; extension to allow for multiple output files. I know
- that this is not a prioritised task, but I need this for a little project I
- am working on.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Param.java
- ParameterRef.java Variable.java VariableBase.java
- VariableRef.java
- java/src/org/apache/xalan/xsltc/compiler/util
- NodeSetType.java NodeType.java ReferenceType.java
- ResultTreeType.java StringType.java Type.java<br/><ref>Committer's log entry: </ref>A few fixes for the regression caused by my last (huge) putback.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><ref>Committer's log entry: </ref>A fix for the position() function when using duplicate filter iterators.
- PR: n/
- Obtained from: N/A
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li>
- <li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>08/30/2001<br/><ref>Modified: 
- </ref>java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java<br/><ref>Committer's log entry: </ref>
- Submitted by: Tom Amiro  
- I just added an empty close method to resolve the build problem.<br/><br/></li> 
- </ul>
-</s2>
-<s2 title="XSLTC source code updates for &xslt4j; 2.2.D9">
-<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Integrated fix for problem with count() function for certain iterators.
- PR: Bugzilla 1407
- Obtained from: n/a
- Submitted by: John Howard &lt;johnh@schemasoft.com&gt;
- Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org&gt;<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc DOM.java
- java/src/org/apache/xalan/xsltc/compiler EqualityExpr.java
- FilterParentPath.java Parser.java Predicate.java
- Step.java SyntaxTreeNode.java Variable.java
- XSLTC.java
- java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
- DOMImpl.java MultiDOM.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java DefaultSAXOutputHandler.java
- TextOutput.java
- java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Added code that will speed up predicates such as //foo[@attr=$var],
- //foo[bar = $var] and //foo/[@attr = 'str'].
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Expression.java
- Param.java ParameterRef.java Predicate.java
- Stylesheet.java SyntaxTreeNode.java Variable.java
- VariableRef.java WithParam.java<br/><ref>Committer's log entry: </ref>Fix for parameter and variable handling. This fix makes sure variable slots
- are released once a variable goes out of scope. I have also extracted common
- functionality from Variable and Param into VariableBase, and similarly
- extracted some functionality from VariableRef and ParameterRef into a new
- class VariableRefBase. This can potentially make some code more efficient as
- one can test for 'if (blob instanceof VariableBase)' instead of testing on
- both Variable and Param.
- PR: Bugzilla 2661 and 2699
- Obtained from: n/a
- Submitted by: John Howard &lt;JohnH@schemasoft.com&gt;
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
- VariableRefBase.java<br/><ref>Committer's log entry: </ref>Forgot to add these two in my last putback.
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java
- Step.java Stylesheet.java XSLTC.java<br/><ref>Committer's log entry: </ref>Removed type-cast error in Stylesheet.java
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
- java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Removed some of the linefeeds we output in the default SAX output handler
- to produce output more similar to Saxon (for testing purposes).
- Added a test for null-pointers in the new VariableBase class.
- PR: bugzilla 2922 &amp; 2598
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org`<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br/><ref>Committer's log entry: </ref>Added a small fix to prevent unwanted output when using the xsl:number
- element.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
- If.java Key.java Predicate.java Step.java When.java
- java/src/org/apache/xalan/xsltc/compiler/util
- CompareGenerator.java
- java/src/org/apache/xalan/xsltc/dom NodeCounter.java
- java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>A few changes to make our output look more like Saxon's (to simplyfy
- test diffs).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
- DOM2SAX.java<br/><ref>Committer's log entry: </ref>add support for DOMResult handling<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/01/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>work in progress, converted needed for DOMResult<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>added setting of systemId in DOMSource handling<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
- TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>Added an implementation of the TransformerHandler interface of TrAX/JAXP.
- Implemented the 4 methods in TransformerFactory to instanciate this
- TransformerHandler implementation.
- Added an attribute of the TransformerFactory which contains the default
- name for generated translet classes (the default name is GregorSamsa from
- Kafka's Metemorphosis), but should be set by the user in cases where the
- Templates implementation cannot get the systemId from the Source object.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java
- TransformerHandlerImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
- TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>Added missing TemplatesHandlerImpl file (implementation of the TrAX
- TemplatesHandler interface).
- Added initial implementation of getAssociatedStylesheet() in
- the TransformerFactoryImpl class.
- Changed behaviour of TransformerHandlerImpl class with regard to
- the setResult() method. This method now has to be called before
- startDocument() is called, which gives XSLTC the same behaviour
- as Xalan.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- XSLTC.java
- java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Added support for the TransformerFactory's getAssociatedStylesheet()
- method. Added similar methods to the native XSLTC API, as they can come
- in handy.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
- DocumentCall.java
- java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>Fix for the document() function. The code compiled by DocumentCall now
- passes the context URI to the LoadDocument.document() method, and the
- document() method resolves the base/new URIs and constructs an absolute
- path/URI to the document to load.
- PR: bugzilla 2832
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>new recursive parse(InputSource) implemented<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>upated<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>updated again<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>Fix to get around problem with Crimson. Crimson does not like attribute-
- nodes to be created with 'null' or "" namespace URI. Added an if-test to
- invoke setAttribute(name, value) instead of setAttributeNS(uri, name, value).
- Had to add a little test to DOMImpl$DOMBuilder.makeAttributeNode() to get
- around an internal NPE problem.
- PR: n/a
- Obtained from: n.a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler CopyOf.java
- Step.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- UnionIterator.java<br/><ref>Committer's log entry: </ref>Fix for union-iterators wrapping one or more attribute-iterators.
- Attributes should be wrapped in TypedAttributeIterator objects and not
- SingletonIterator objects when they occur insude unions.
- Fix for copying attribute nodes using &lt;xsl:copy&gt; and &lt;xsl:copy-of&gt;
- PR: bugzilla 2603
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>Added code behind the document() function to force the parser to be
- namespace aware (Crimson is pr. default, Xerces is not).
- PR: bugzilla 2862
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fix to prevent escaping of attribute values in HTML output.
- PR: bugzilla 3003
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fix for grouping a sequence of text nodes inside one CDATA section.
- PR: bugzilla 3005
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ForEach.java
- xpath.cup
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java<br/><ref>Committer's log entry: </ref>Fix for passing node-sets as parameters into a template with a for-each loop.
- The ForEach class resets its node iterator by default. This behaviour is not
- desierd for iterators that are passed in through a parameter, so I added an
- it-test that checks if the iterator is of type 'Reference'.
- PR: bugzilla 2468
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- AbsolutePathPattern.java<br/><ref>Committer's log entry: </ref>Fix for a certain combination of absolute path patterns and ancestor patterns,
- such as &lt;xsl:template match="/foo//*"/&gt;.
- PR: bugzilla 2836
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler DocumentCall.java<br/><ref>Committer's log entry: </ref>Fix for document() function. Prevents run-time error.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>Added a test to the &lt;xsl:element&gt; element to verify that the element name
- given in the 'name' attribute contains something other than an empty string.
- PR: bugzilla 2794
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/><ref>Committer's log entry: </ref>Applied a fix to our class for handling literal result elements. The only
- attributes in the XSLT namespace we handle in LREs are exclude-result-prefixes
- and extension-element-prefixes. We have a test to check if an attribute is
- in the XSLT namespace, and if it is we ignore the attribute. This test was
- placed before the test for the two XSLT attributes we do want to handle,
- causing us to ignore all xsl:exclude-result-prefixes attributes in LREs.
- PR: bugzilla 1506
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Attribute.java
- AttributeSet.java Copy.java UseAttributeSets.java
- XslAttribute.java
- java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fix and performance improvement for attribute sets.
- PR: bugzilla 2536
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Copy.java<br/><ref>Committer's log entry: </ref>Fix for use of attribute sets with the xsl:copy element. We were a bit too
- restrictive in our tests to see if it was safe to send the attributes to
- the output handler. We only compiled in a test to see if the copied node
- was an elment, but should also have tested if the xsl:copy element's
- parent node was a LRE or a xsl:element element.
- PR: bugzilla 2538
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li></ul>
-</s2>
-<s2 title="XSLTC source code updates for &xslt4j; 2.2.D8">
-<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java
- java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added support for SAXSource and SAXResult in TransformerFactoryImpl
- and TransformerFactory. I had to add a new consturctor the the
- default SAX output handler (in the xsltc runtime library) to acommodate
- the SAXResult TrAX output handler.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
- java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Added default error-reporting behaviour for our trax code (error messages
- are dumped to System.err).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>in progress, adding DOMSource support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>new class, DOM2SAX, supports DOMSources, in progress<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
- Include.java Stylesheet.java XSLTC.java
- java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler SourceLoader.java<br/><ref>Committer's log entry: </ref>Added a SourceLoader interface to the compiler package. This interface can
- be used to plug in an external document loader for imported and/or
- included stylesheets. The trax.TransformerImpl class is updated to
- implement this interface and act as an adapter between the internal XSLTC
- SourceLoader interface and TrAX's URIResolver interface.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@apache.org
- Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Constants.java<br/><ref>Committer's log entry: </ref>Added the NAMESPACE_FEATURE constant. Checked to see if it was in
- org.xml.sax first, but it wasn't. Since this constant is used both
- at compile and runtime, it should be in the runtime Constants class
- as well as the compile Constants class. Runtime code needs to be
- kept separate from the compile time code.<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
- java/src/org/apache/xalan/xsltc/cmdline Transform.java
- java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Committer's log entry: </ref>Added import for org.apache.xalan.xsltc.runtime.Constants;
- to the runtime classes that need to use the NAMESPACE_FEATURE constant
- and had them reference it rather than define it themselves.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>minor changes for DOMSource impl support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Added DOMSource support for stylesheet<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>updated convertor which supports DOMSource impl<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>Added a small fix to the compiler (XSLTC.java) to make sure that the SAX
- parser reference was not reset prior to compiling the translet.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added support for DOMSource as input to our Transformer implementation<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
- Sort.java
- java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
- NodeSortRecordFactory.java<br/><ref>Committer's log entry: </ref>For some reason I decided to optimise the &lt;xsl:sort&gt; functionaility. The
- sort records we used has some global values stored behind methods, but are
- now static fields. Somewhat faster.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
- Include.java<br/><ref>Committer's log entry: </ref>Fix for problem with import &amp; include introduced with the latest updated
- for TrAX URIResolvers.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Integrated fix for problem with count() function for certain iterators.
- PR: Bugzilla 1407
- Obtained from: n/a
- Submitted by: John Howard &lt;johnh@schemasoft.com&gt;
- Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org&gt;<br/><br/></li></ul>
-</s2>
-<s2 title="XSLTC source code updates for &xslt4j; 2.2.D7">
-<ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
- Param.java StepPattern.java Stylesheet.java
- SyntaxTreeNode.java Variable.java WithParam.java
- java/src/org/apache/xalan/xsltc/dom KeyIndex.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java BasisLibrary.java
- DefaultRun.java Parameter.java TextOutput.java<br/><ref>Committer's log entry: </ref>Loads of small fixes and a good few comments added to the source code.
- The major fixes are one fix for variable/parameter handlingi and one for
- key/id index handling. XSLTC now correctly updates the value of parameters
- with changing default values, such as with
- &lt;xsl:param name="foo" select="current()"/&gt;.
- Also updated bit-arrays to correctly return single node ids, so that the
- key() and id() functions return the correct number of nodes (they would
- sometimes skip the first node in the defined node set for the key/id).
- Added some structure and loads of comments to the Translet base class.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- AncestorPattern.java AttributeSet.java
- CallTemplate.java CastExpr.java EqualityExpr.java
- Expression.java FunctionCall.java If.java
- Import.java Include.java Mode.java NameBase.java
- Param.java ParameterRef.java Parser.java
- StepPattern.java SyntaxTreeNode.java Template.java
- TestSeq.java Variable.java VariableRef.java
- XSLTC.java XslAttribute.java
- java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
- ReferenceType.java
- java/src/org/apache/xalan/xsltc/dom MultiDOM.java
- StepIterator.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>A wide range of fixes provided by Erwin Bolwidt.
- o) fix for long IF and GOTO instructions inside translets.
- 'wide' GOTOs are now used (GOTO_W) instead of plain GOTO
- to allow longer jump offsets
- o) fix for illegal field/method names in the translet.
- Methods and fields no longer contain the '.' or '-' characters
- o) source filenames (and if possible also line numbers) are now
- provided with error and warning messages
- o) external functions that are not supported by XSLTC do not cause
- compile errors. They will still cause a warning message at
- compile-time if they are not wrapped in proper &lt;xsl:if&gt; or
- &lt;xsl:when&gt; elements that test on the availability of the function,
- and will cause a runtime error if the function is attempted called.
- o) added type cast from reference-type to node-type
- o) some other smaller fixes to prevent null-pointer exceptions
- Other changes:
- o) code cleanup and some added comments
- PR: n/a
- Obtained from: n/a
- Submitted by: Erwin Bolwidt &lt;ejb@klomp.org&gt;
- Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org&gt;<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- SyntaxTreeNode.java XSLTC.java<br/><ref>Committer's log entry: </ref>Cleaned up the XSLTC compiler class in an attempt to make it more flexible.
- This class was originally written as a command-line interface, but it has
- now grown huge and messy. I separated the command-line stuff from the
- methods that make up the actual functionality and made some methods public.
- This is part of the preparation for our new implementation of the JAXP
- Templates object.
- PR: n/a
- Obtained from: n.a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
- Transform.java<br/><ref>Committer's log entry: </ref>Extracted the command-line stuff from the core XSLTC packages. The command-
- line handling is now in xalan.xsltc.cmdline.Compile and
- xalan.xsltc.cmdline.Transform. The command-line stuff is still left in
- xalan.xsltc.compiler.XSLTC and xalan.xsltc.runtime.DefaultRun for backwards
- compatability. This should be removed shortly.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
- java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java
- GetOptsException.java IllegalArgumentException.java
- MissingOptArgException.java
- java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
- TransformerImpl.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/util/getopt GetOpt.java
- GetOptsException.java IllegalArgumentException.java
- MissingOptArgException.java<br/><ref>Committer's log entry: </ref>Moved the org.apache.xalan.xsltc.util.getopt package to
- org.apache.xalan.xsltc.cmdline.getopt. Also added some skeleton
- code in a new org.apache.xalan.xsltc.trax directory.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>minor adjustment
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>removed obselete try/catch<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java
- java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
- TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>A first stab at our new TrAX design.`
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
- java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
- TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>A few minor adjustments to yesterdays JAXP/TrAX implementation. These is one
- change in the way the compiler (XSLTC) generates bytecode arrays, and the
- rest is basically a cleanup of error reporting and a few added comments.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax OutputSettings.java<br/><ref>Committer's log entry: </ref>Reduced the refresh rate of the DocumentCache to 1 second.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Committer's log entry: </ref>Submitted by: Tom Amiro
- Fixes bug 1591. Changed the lastModified() method to return
- the correct timestamp for local files beginnig with the "file:"
- protocol. Incorporated Brian Ewin's suggestion to use URLdecode.
- Todd Miller and Morten Jorgensen<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
- java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
- TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added some javadoc comments to our trax stuff. Added preliminary support
- for getting/setting output properties, and for getting/setting URL resolvers.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
- java/src/org/apache/xalan/xsltc/cmdline Transform.java
- java/src/org/apache/xalan/xsltc/compiler Output.java
- Stylesheet.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java DefaultRun.java
- DefaultSAXOutputHandler.java SAXAdapter.java
- StringValueHandler.java TextOutput.java
- TransletOutputBase.java<br/><ref>Committer's log entry: </ref>A series of changes to the XSLTC output handling to accomodate the
- set/getOutputSettings() methods in the TrAX API.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fixed the handling of the 'cdata-section-elements' attribute of the
- &lt;xsl:output&gt; element. Previously we output the whole element, including
- all contents, child elements and the start- and end-tags in one big
- CDATA section. We now correctly output only immediate text child-nodes
- as CDATA sections.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc Translet.java
- java/src/org/apache/xalan/xsltc/dom LoadDocument.java
- java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java
- java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added implementation of get/setOutputProperties() of the Transformer
- implementation.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Committer's log entry: </ref>Added (a rather brutal) handling of all Exceptions thrown in the
- DocumentCache.getLastModified() method. This class is provided only
- as an example/skeleton, but should still - for various reasons -
- be provided in the base 'xsltc.dom' package.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li></ul>
-</s2>
-<s2 title="XSLTC source code updates for the &xslt4j; 2.2.D releases up to and including 2.2.D6">
-<ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Text.java<br/><ref>Committer's log entry: </ref>bug fix 1403, output escaping fixed<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug fix 1403, output escaping fixed<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
- TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
- TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
- TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Transformer factory's setErrorListener() now throws
- IllegalArgumentException is listener is null<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>translet transformation errors now forwarded to
- TrAX error listener when applicable<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java<br/><ref>Committer's log entry: </ref>translet transformation errors now forwarded to
- TrAX error listener when applicable<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime AttributeList.java<br/><ref>Committer's log entry: </ref>Added a constructor for copying an org.xml.sax.Attributes to our
- org.apache.xalan.xsltc.runtime.AttributeList.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
- ApplyTemplates.java Attribute.java
- AttributeSet.java AttributeValueTemplate.java
- BinOpExpr.java CallTemplate.java Comment.java
- ConcatCall.java Constants.java Copy.java
- CopyOf.java DecimalFormatting.java
- DocumentCall.java Expression.java Fallback.java
- ForEach.java FormatNumberCall.java
- FunctionAvailableCall.java FunctionCall.java
- If.java Import.java Include.java Key.java
- LiteralAttribute.java LiteralElement.java
- LiteralExpr.java LogicalExpr.java Message.java
- NamespaceAlias.java Number.java Output.java
- Param.java Parser.java ProcessingInstruction.java
- QName.java RelationalExpr.java Sort.java
- Stylesheet.java SymbolTable.java
- SyntaxTreeNode.java Template.java Text.java
- TransletOutput.java UnaryOpExpr.java ValueOf.java
- Variable.java When.java Whitespace.java
- WithParam.java XSLTC.java XslAttribute.java
- XslElement.java xpath.cup
- java/src/org/apache/xalan/xsltc/compiler/util
- MethodType.java<br/><ref>Committer's log entry: </ref>Removed the intermediate DOM used to contain the input document (the
- stylesheet) for the compiler. The compiler now uses SAX2 to import
- the stylesheet, and all references to DOM interfaces have been removed.
- This means that most classes representing XSL elements have been
- changed, but most classes representing XPath functions, expressions
- and patterns are unchanged.
- PR: After suggestion from Scott Boag
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler
- UnsupportedElement.java<br/><ref>Committer's log entry: </ref>Adding a class for handling unsupported stylesheet elements
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Minor fix to make sure that attributes are processed in the correct order.
- PR: n/a
- Obtained from: n.a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Minor change in output indentation/line feeds.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xmp.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- LocationPathPattern.java Parser.java Template.java<br/><ref>Committer's log entry: </ref>Fixed the code that resolves conflicts between templates with identical
- patterns. The order of the templates is not taken into account - after
- import precedence and priority has been checked.
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Reverted changes to SAX output handler.
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- Template.java xpath.cup<br/><ref>Committer's log entry: </ref>unified Parser error reporting to use Mortens
- reportError routine<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java
- FunctionCall.java Otherwise.java Param.java
- RelationalExpr.java Stylesheet.java
- SyntaxTreeNode.java Variable.java When.java
- XSLTC.java XslElement.java<br/><ref>Committer's log entry: </ref>Updated a few classes that were still calling Parser.addError(),
- Parser.addWarning() and Parser.addFatalError() to use the new common
- error handler Prarser.reportError(int category, ErrorMsg message).
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
- java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>Added two lines of code to explicitly set the feature
- "http://xml.org/sax/features/namespaces" of the SAXParser to "true".
- The default is "true" but xerces seems to set it to "false", and this
- caused some problems for our Stylesheet and XML doc parsers (which are
- both using SAX2).
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
- Parser.java
- java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>A few more changes to make sure the parsers used are namespace aware.
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
- SyntaxTreeNode.java XslAttribute.java
- XslElement.java<br/><ref>Committer's log entry: </ref>The change from using DOM to using SAX in the stylesheet input caused some
- of the elements in the Abstract Syntax Tree (AST) to be out of order. I
- added a few lines of code to the xsl:element/attribute handling code to
- fix this.
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java
- Choose.java Constants.java If.java
- LiteralElement.java Stylesheet.java
- UseAttributeSets.java When.java XSLTC.java
- XslAttribute.java<br/><ref>Committer's log entry: </ref>This putback contains three fixes:
- o) fix for complex &lt;xsl:attribute-set&gt; inheritance structures
- o) fix for xsl:element-available() function used in &lt;xsl:when&gt; or
- &lt;xsl:if&gt; to test support for various extension elements
- o) fix for preserving namespace prefixes for &lt;xsl:attribute&gt; output.
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
- UseAttributeSets.java ValueOf.java
- XslAttribute.java
- java/src/org/apache/xalan/xsltc/compiler/util
- AttributeSetMethodGenerator.java<br/><ref>Committer's log entry: </ref>Fix to allow iterator access within attribute sets. This is necessary for
- attribute sets that contain attributes whose values are generated by XSL
- functions such as position() and last().
- Obtained from: test mk013
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Added output character escaping for non-breaking space characters.
- I cannot believe we've waited this long before doing this. Madness!
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
- Parser.java<br/><ref>Committer's log entry: </ref>support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- TransletTemplates.java<br/><ref>Committer's log entry: </ref>support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>Fix for bug 1511. Predicates on the format ((a or b) and c) are not
- handled correctly. I added a small piece of code to direct the true-list
- of the OR expression to the beginning of the AND test.
- PR: Bugzilla 1511
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
- TextOutput.java<br/><ref>Committer's log entry: </ref>Fix attribute node-set comparisons. There was a bug in one of the compare()
- methods of the BasisLibrary class which prevented attribute values from
- being compared. The method compared node IDs instead of node values.
- Pretty stupid bug, but now it is solved anyway.
- PR: Bugzilla 1409
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>Fix to make sure that the implicit "text()" pattern is run when templates
- containing "text()" in their pattern fail. XSLTC would not previously
- invoke the built-in pattern for "text()" if a stylesheet contained a
- template such as &lt;xsl:template pattern="foo/bar/text()" .../&gt;
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>Modified test for legal element names in &lt;xsl:element&gt;. The element name is
- treated as an attribute value. Whitespaces are not allowed in plain text
- element names, but should be allowed inside "{...}" attribute values.
- PR: Bugzilla 1489
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>A fix for the preceding:: iterator
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Minor re-adjustment to last fix for preceding:: iterator
- PR: 1407
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ForEach.java
- XSLTC.java<br/><ref>Committer's log entry: </ref>Fix to prevent compiler warnings to be output more than once.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br/><ref>Committer's log entry: </ref>Final fix (for now) for attribute sets. In cases where multiple
- &lt;xsl:attribute-set.../&gt; elements make up one attribute set (ie. they share
- the same name) attributes that occured last in the stylesheet will take
- precedence.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>Fix for code handling logical expressions and combinations of logical
- expressions. Mindblowing stuff, but it now seems to work as it should.
- Added another few lines of code to properly direct the program flow in
- compiled predicates with various combinations of "and" and "or" expressions.
- PR: Bugzilla 1511
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom SingletonIterator.java<br/><ref>Committer's log entry: </ref>Fix for singleton iterators encapsulating variable references.
- PR: Bugzilla 1412
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/><ref>Committer's log entry: </ref>Added one-line fix to prevent null-pointer error. Simple code cleanup.
- PR: n/a
- Obtained from: suggestion by Guoliang Cao &lt;cao@ispsoft.com&gt;
- Submitted by: cao@ispsoft.com
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>Fix to prevent compile-time null-pointer exceptions for certain logical
- expressions. Some nexted AND-expressions would cause this error because
- their true-list would not be backpatched. This would result in an
- instruction list with one or more branch instructions with no target,
- such as a GOTO(null) or an IFEQ(null) instruction.
- PR: none, bug found in test run and fixed immediately
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>06/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
- AbsoluteLocationPath.java ApplyImports.java
- ApplyTemplates.java CastExpr.java CopyOf.java
- DocumentCall.java EqualityExpr.java Expression.java
- FilterExpr.java FilterParentPath.java ForEach.java
- FunctionCall.java IdKeyPattern.java Key.java
- KeyCall.java NameBase.java ParentLocationPath.java
- Parser.java Predicate.java RelationalExpr.java
- Step.java UnionPathExpr.java
- java/src/org/apache/xalan/xsltc/compiler/util
- NodeSetType.java NodeType.java ReferenceType.java
- ResultTreeType.java Type.java
- java/src/org/apache/xalan/xsltc/dom UnionIterator.java
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>OK, I'm going to make a wild guess and assume that sboag's recent commit
- of /NodeSet/NodeSetDTM/ got a little out of control and shouldn't have
- gone down into org.apache.xalan.xsltc - undone to fix compile error<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- NodeSetType.java<br/><ref>Committer's log entry: </ref>Removing NodeSetType (renamed to NodeSetDTMType).
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- NodeSetDTMType.java<br/><ref>Committer's log entry: </ref>
-<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- NodeSetType.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler/util
- NodeSetDTMType.java<br/><ref>Committer's log entry: </ref>
-
-
-<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ContainsCall.java
- FunctionCall.java If.java LogicalExpr.java
- Param.java QName.java StartsWithCall.java
- SymbolTable.java SyntaxTreeNode.java Template.java
- Variable.java xpath.cup
- java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Fix for function calls used as clauses in logical expressions.
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>Tom.Amiro@Sun.COM<ref> on </ref>06/19/2001<br/><ref>Committer's log entry: </ref>
-&gt; Fix for function calls used as clauses in logical expressions.
-&gt; Submitted by: morten@xml.apache.org
-&gt; Reviewed by: morten@xml.apache.org
-&gt;
-&gt;<br/><br/></li><li><ref>Committed by </ref>Morten.Jorgensen@sun.com<ref> on </ref>06/19/2001<br/><ref>Committer's log entry: </ref>
-&gt; &gt; Fix for function calls used as clauses in logical expressions.
-&gt; &gt; Submitted by: morten@xml.apache.org
-&gt; &gt; Reviewed by: morten@xml.apache.org
-&gt; &gt;
-&gt; &gt;<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added check to see if stylesheet is already an URL<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- TransletTemplates.java<br/><ref>Committer's log entry: </ref>added check to see if stylesheet is already an URL<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java<br/><ref>Committer's log entry: </ref>proto<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>removed debug statements<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/26/2001<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java
- TransformerFactoryImpl.java TransletTemplates.java<br/><ref>Committer's log entry: </ref>in process of moving these to new subdir<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/26/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax TrAXFilter.java
- TransformerFactoryImpl.java TransletTemplates.java<br/><ref>Committer's log entry: </ref>moved from runtime subdir to its own trax subdir<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>fixed bug with deriving translet name from
- stylesheet name that included paths, e.g. /tmp/foo.xsl<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>This update allows variables that contain references to result-tree fragments
- to be used inside position filters.
- PR: n/a
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
- AbstractTranslet.java<br/><ref>Committer's log entry: </ref>added url handling in doTransform<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
- TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added a new sys property called 'transletPool'
- to allow user to set the destination directory for generated translets<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>added a new sys property called 'transletPool'
- to allow user to set the destination directory for generated translets<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>made private method setDestDirectory() public to
- support the new transletPool system property.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java
- Step.java Stylesheet.java VariableRef.java
- java/src/org/apache/xalan/xsltc/compiler/util
- MethodGenerator.java NodeSortRecordGenerator.java
- ResultTreeType.java TestGenerator.java<br/><ref>Committer's log entry: </ref>Various bugfixes in the way auxiliary classes access variables/fields in
- the main translet class. Fixes a few VAR tests and customer tests.
- Pmorten@xml.apache.org:<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Choose.java
- ElementAvailableCall.java
- FunctionAvailableCall.java Parser.java When.java<br/><ref>Committer's log entry: </ref>Fix for element-available() and function-available() calls. Ties these
- calls to tables in the XSL parser and the symbol-table (the actual
- implementation) instead of using redundant and not-up-to-date tables
- in the classes that implement the X-avaiable() calls.
- I also cleaned up the Choose call so that it now properly handles
- all types of function calls in the xsl:when elements' test clause.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ForEach.java
- Param.java Variable.java
- java/src/org/apache/xalan/xsltc/compiler/util
- MethodGenerator.java<br/><ref>Committer's log entry: </ref>Added a fix for local variables inside nested xsl:for-each elements.
- Local variables are usually not initialized to any default value (such as
- with general Java classes), because code compiled for &lt;xsl:variable&gt;
- elements always assign values to variable slots before they are accessed.
- But the code structure generated by nested &lt;xsl:for-each&gt; elements is too
- much for the JVMs verifier to get around, so we have to initialize all
- local variables inside such loops to zero, false, null, whatever.
- This takes care some of our runtime-errors caused by apparent corrupt code.
- (The JVMs verifier thinks that it is corrupt, but it isn't really.)
- PR: none
- Obtained from: n/a
- Submitted by: morten@xml.apache.org
- Reviewed by: morten@xml.apache.org<br/><br/></li></ul>
- </s2>
- <s2 title="XSLTC Changes for &xslt4j; 2.1.0">
-<p>The Sun XSLTC team (david.hofert@east.sun.com, tom.amiro@east.sun.com, todd.miller@east.sun.com, 
-morten.jorgensen@Ireland.sun.com) has checked <link idref="xsltc_usage">XSLTC</link> into the Xalan
-source tree, and we have begun the process of merging XSLTC into Xalan. XSLTC provides a compiler for compiling
-stylesheets into translets, and a streamlined runtime environment for using translets to transform XML input. 
-In the near term, XSLTC will appear in a separate JAR file (xsltc.jar) with its own API and command-line
-utilities. You can already use the same JAXP interfaces to perform
-transformations with the Xalan transformer and with translets. Over time, we plan to merge the two codebases.
-<ref>See <jump href="xsltc/index.html">XSLTC Design Documents</jump>.</ref></p>
-<p>Since this is the first release of XSLTC on Apache (xml.apache.org), changes are  
-relative to Preview 5 of XSLTC posted on www.sun.com/xml/developers.</p>
-<ul>
-  <li>Simplified stylesheets are now implemented.</li>
-  <li>Base package name has changed from <code>com.sun.xslt</code> to <code>org.apache.xalan.xsltc</code></li>
-  <li>You no longer have to get the BCEL.jar file; it is included in the distribution.</li>
-  <li>The Project X parser components and APIs have all been replaced with JAXP equivalents. 
-  Consequently, you may deploy XSLTC with JAXP-conformant parsers, such as Xerces or Crimson.</li>
-  <li>Previously undocumented feature: -x. You can use the -x option on the java command line when you
-  compile translets or run them to get more detailed information on errors.</li>
-  <li>Addition of -s to DefaultRun - a new -s option has been added to the DefaultRun class 
-  for use with test auotmation. When you use the option, it prevents System.exit() from being called when 
-  and exception is encountered.</li>
-</ul>
-</s2> 
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalan/xsltc_usage.xml b/xdocs/sources/xalan/xsltc_usage.xml
deleted file mode 100644
index 329ae12..0000000
--- a/xdocs/sources/xalan/xsltc_usage.xml
+++ /dev/null
@@ -1,655 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="Using XSLTC">
-
-<ul>
-<li><link anchor="intro">Introduction</link></li>
-  <li><link anchor="classpath">Setting the system classpath for XSLTC</link></li>
-  <li><link anchor="compile">Compiling translets from the command line</link></li>
-  <li><link anchor="run">Running translets from the command line</link></li>
-  <li><link anchor="api">Calling XSLTC with the TrAX/JAXP API</link></li>
-  <li><link anchor="native_api">Calling XSLTC with the native API</link></li>
-  <li><link anchor="constraints">XSLTC usage constraints</link></li>  
-</ul>
-<p>See also: <jump href="xsltc/index.html">XSLTC Design</jump></p>
-<anchor name="intro"/>
-<s2 title="Introduction">
-<p>XSLT provides a compiler and a runtime processor. Use the compiler to compile an XSL stylesheet into a translet, a set of Java classes. Use the runtime processor to apply the translet to an XML document and perform a transformation.</p>
-<note>To compile translets, you must be running the JDK or JRE 1.2 or higher. You can run translets with the JDK or JRE 1.1.8 or higher.</note>
-</s2><anchor name="classpath"/>
-<s2 title="Setting the system classpath for XSLTC">
-<p>To compile translets, run translets, and use the XSLTC API, put the following on the system classpath:</p>
-<table>
-<tr>
-  <th>Classes or JAR</th>
-  <th>To compile a translet</th>
-  <th>To run a translet</th>
-  <th>To use the XSLTC API</th>
-</tr>
-<tr>
-  <td>the translet</td>
-  <td></td>
-  <td>required</td>
-  <td>required</td>  
-</tr>
-<tr>
-  <td>xsltc.jar</td>
-  <td>required</td>
-  <td>required</td>
-  <td>required</td>  
-</tr>
-<!-- TWA - xml.jar has old project x stuff; was able to compile and run without it -->
-<!--
-<tr>
-  <td>xml.jar</td>
-  <td>required</td>
-  <td>required</td>
-  <td>required</td>  
-</tr>
--->
-<tr>
-  <td>runtime.jar</td>
-  <td>required</td>
-  <td></td>
-  <td>required</td>  
-</tr>
-<tr>
-  <td>BCEL.jar</td>
-  <td>required</td>
-  <td></td>
-  <td>required</td>  
-</tr>
-<tr>
-  <td>Jlex.jar</td>
-  <td></td>
-  <td></td>
-  <td>required</td>  
-</tr>
-<tr>
-  <td>java_cup.jar</td>
-  <td></td>
-  <td></td>
-  <td>required</td>  
-</tr>
-</table>
-<p>The JAR files listed above are in the &xslt4j; bin directory. The translet is the set of class files or the JAR file that you generate with the compiler; see <link anchor="compile">Compiling translets</link>.</p>
-<p>If you are using JDK or JRE 1.1.8, also include classes.zip on the classpath. If you are using JDK or JRE 1.2, include tools.jar on the classpath.</p>
-<note>For the time being, the Xalan processor and XSLT do not yet use the same DOM, SAX, and parser infastructures. Accordingly, you may find it necessary to reset the system classpath each time you switch between the Xalan processor and XSLTC. For information on setting the classpath for the Xalan processor, see <link idref="getstarted" anchor="classpath">Setting the system classpath for Xalan</link>.</note>
-</s2>
-<anchor name="compile"/>
-<s2 title="Compiling translets from the command line">
-    <ul>
-      <li><link anchor="comp-synopsis">Synopis</link></li>
-      <li><link anchor="comp-args">Flags and arguments</link></li>
-      <li><link anchor="comp-examples">Examples</link></li>
-    </ul>
-	<p>The XSLT Compiler is a Java-based tool for compiling XSLT
-	stylesheets into lightweight and portable Java byte codes 
-	called translets.</p>  
-
-	<p>The XSLT Compiler can be run on any platform including UNIX,
-	Windows, NT, or Mac that supports Java 1.2.x or later. The generated
-	translets can be run on any platform that supports a Java
-	Runtime Environment, including a Palm Pilot with J2ME CLDC 
-	(Java 2 Micro Edition, Connected Limited Device Configuration).</p>
-    
-    <p>To run the compiler from the command line or a script, <link anchor="classpath">set the classpath</link> and 
-    run the XSLTC class with the appropriate flags and arguments (described below).</p>
-    <anchor name="comp-synopsis"/>
-<s3 title="Synopsis">
-<p>
-<code>java org.apache.xalan.xsltc.compiler.XSLTC</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;[-o &lt;output&gt;] [-d &lt;directory&gt;] [-j &lt;jarfile&gt;]</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp;[-p &lt;package name&gt;] [-u] &lt;stylesheet&gt;...</code></p> 
-
-</s3><anchor name="comp-args"/>
-<s3 title="Flags and arguments">
-	<p>The following flags and arguments are supported:</p>
-
-<source>-o &lt;output&gt;
-   Specifies the name of the generated translet class.
-   If you omit this argument, the translet class is
-   named &lt;stylesheet&gt;. Translets are written as 
-   .class files.
-
--d &lt;directory&gt;
-   Specifies the destination directory. If you omit
-   this argument, the translet class files are placed
-   in the current working directory.
-
--j &lt;jarfile&gt;
-   Outputs the generated translet class files into a 
-   jar file named &lt;jarfile&gt;.jar. When this option is 
-   used, only the jar file is output.
-
--p &lt;package name&gt;
-   Specifies a package name for the generated translet
-   classes.		
-
--u  &lt;stylesheet&gt;
-  Specifies the stylesheet with a URI such as 
-  'http://myserver/stylesheet1.xsl'.
-
-   &lt;stylesheet&gt;
-   (No flag) The pathname of the stylesheet file.</source>
-
-</s3><anchor name="comp-examples"/>
-<s3 title="Examples">
-	<p>The following examples assume that you have already set the classpath to include the translet and the required JAR
-    files (see <link anchor="classpath">setting the system classpath</link>).</p>
-
-	<p><em>Example 1:</em>  Creating a translet from the hamlet.xsl stylesheet.</p>
-	<p><code>java org.apache.xalan.xsltc.compiler.XSLTC</code><br/>
-    <code>&nbsp;&nbsp;&nbsp;&nbsp; hamlet.xsl</code></p>    
-    <p>Example 1 produces a set of class files such as hamlet.class, hamlet$0.class, hamlet$1.class.</p>	
-
-	<p><em>Example 2:</em>  Outputting to a JAR file.</p>
-    <p><code>java org.apache.xalan.xsltc.compiler.XSLTC</code><br/>
-    <code>&nbsp;&nbsp;&nbsp;&nbsp; -j hamlet.jar hamlet.xsl</code></p>
-    <p>Example 2 produces hamlet.jar, which contains the translet class files.</p>	
-
-	<p><em>Example 3:</em> Specifying the translet class name. </p> 
-	<p><code>java org.apache.xalan.xsltc.compiler.XSLTC</code><br/>
-    <code>&nbsp;&nbsp;&nbsp;&nbsp; -o newhamlet hamlet.xsl</code></p>
-    <p>Example 3 producs a set of class files such as newhamlet.class, newhamlet$0.class, etc., rather than hamlet.class,
-    hamles$0.class, etc.</p>
-
-
-	<p><em>Example 4:</em> Compiling multiple stylesheets.</p>
-	<p><code>java org.apache.xalan.xsltc.compiler.XSLTC</code><br/>
-    <code>&nbsp;&nbsp;&nbsp;&nbsp; hamlet1.xsl hamlet2.xsl hamlet3.xsl</code></p>
-    <p>Example 4 produces three translets and set of class files derived from the three stylesheets.</p>
-
-	<p><em>Example 5:</em> Package Specification.</p>
-	<p><code>java org.apache.xalan.xsltc.compiler.XSLTC</code><br/>
-    <code>&nbsp;&nbsp;&nbsp;&nbsp; -p com.mycompany.translets hamlet.xsl</code></p>
-    <p>Example 5 produces a set of class files such as com/mycompany/translets/hamlet.class,
-	com/mycompany/translets/hamlet$0.class', etc.</p>
-</s3>
-</s2><anchor name="run"/>
-<s2 title="Running translets from the command line">
-    <ul>
-      <li><link anchor="run-synopsis">Synopis</link></li>
-      <li><link anchor="run-args">Flags and arguments</link></li>
-      <li><link anchor="run-examples">Examples</link></li>
-    </ul>
-
-    <p>The Sun XSLT runtime processor is a Java-based tool for 
-	transforming XML document files using a translet (compiled 
-	stylesheet). </p>
-
-	<p>The XSLT processor can be run on any platform including UNIX,
-	Windows, NT, Mac that supports Java, including a Palm Pilot
-	with J2ME CLDC (Java 2 Micro Edition, Connected Limited Device
-	Configuration).</p>
-    
-    <p>To run  translet from the command line or a script, <link anchor="classpath">set the classpath</link> (be sure to include
-     the translet) and run the translset with the appropriate flags and arguments (described below).</p>
-<anchor name="run-synopsis"/>
-<s3 title="Synopsis">
-<p><code>java &lt;translet&gt;</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp; {-u &lt;document_url&gt; | &lt;document&gt;} &lt;class&gt;</code><br/>
-<code>&nbsp;&nbsp;&nbsp;&nbsp; [&lt;name1&gt;=&lt;value1&gt; ...]</code></p>
-
-</s3><anchor name="run-args"/>
-<s3 title="Flags and arguments">
-
-	<p>The following flags and arguments are supported:</p>
-
-<source>-u
-   Specifies the XML input &lt;document&gt; with a URI,
-   such as 'http://myserver/hamlet.xml'.		
-
-Arguments wirhout flags:
-
-   &lt;document&gt;     		
-   Filename of the XML input document. 
-   
-   &lt;document_url&gt;     	
-   URI of the XML input document (see the -u flag above). 
-
-   &lt;class&gt;
-   The translet that performs the transformation. The translet
-   may take a set of stylesheet parameters specified as
-   name-value pairs. The format for a name-value pair is
-   &lt;name&gt;=&lt;value&gt;.</source>
-</s3><anchor name="run-examples"/>
-<s3 title="Examples">
-
-	<p>The following examples assume that you have already set the classpath to include the translet and the required JAR
-    files (see <link anchor="classpath">setting the system classpath</link>).</p>
-    <p>A possible variation: You have set the classpath to include the required JAR files, but when you run the translet,
-    you use the java -cp flag to add the current working directory (containing the translet class files you have just generated)
-    to the classpath.</p>
-    <p><ref>Windows:</ref><code> java -cp .;%CLASSPATH% ...</code><br/>
-       <ref>UNIX:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</ref><code> java -cp .:$CLASSPATH ...</code></p>
-    
-    <p><em>Example 1:</em> Processing an XML document.</p>
-
-	<p><code>java org.apache.xalan.xsltc.runtime.DefaultRun</code><br/>
-       <code>&nbsp;&nbsp;&nbsp;&nbsp;  hamlet.xml hamlet</code></p> 
-
-	<p>Example 1 uses the specified translet (hamlet) to transform the specified XML input document (hamlet.xml). 
-    The XML input document is in the current working directory. The translet was created by using
-    org.apache.xalan.xslt.compiler.XSLTC to compile an XSL stylesheet (hamlet.xsl). </p>
-
-	<p><em>Example 2:</em> Passing stylesheet parameters to the translet.</p>
-
-	<p><code>java org.apache.xalan.xsltc.runtime.DefaultRun</code><br/>
-       <code>&nbsp;&nbsp;&nbsp;&nbsp; hamlet.xml hamlet</code><br/>
-       <code>&nbsp;&nbsp;&nbsp;&nbsp; speaker=HAMLET 'scene=SCENE IV'</code></p>
-
-	<p>Example 2 passes "HAMLET" to the stylesheet for the stylesheet parameter named speaker, and "SCENE IV" for the
-    stylesheet parameter named scene. The second name-value pair was placed in single quotes to 
-    specify a value containing a space.</p>
-    
-    <p><em>Example 3:</em> Processing an XML input document specified with a URI.</p>
-
-	<p><code>java org.apache.xalan.xsltc.runtime.DefaultRun</code><br/>
-       <code>&nbsp;&nbsp;&nbsp;&nbsp;  -u http://zarya.east/test.xml hamlet</code></p>
-
-	<p>Example 3 applies the translet (hamlet) to the XML input document (http://zarya.east/test.xml hamlet). Inclusion of
-    the flag (-u) is optional.</p>
-</s3>
-</s2><anchor name="api"/>
-<s2 title="Calling XSLTC with the TrAX/JAXP API">
-<p>G. Todd Miller has begun integrating the translet with the TrAX/JAXP 1.1 API. See <jump href="xsltc/xsltc_trax.html">The Translet API &amp; TrAX</jump>. Accordingly, it is now possible to set a system property and use a TransformerFactory to generate a Transformer that performs a transformation by compiling and running a translet.</p>
-
-
-<p>When you use the JAXP 1.1 API to run &xslt4j;, the <code>javax.xml.transform.TransformerFactory</code> system property is set to <code>org.apache.xalan.processor.TransformerFactoryImpl</code>. As it currently stands, this Xalan implementation of TransformerFactory always uses the Xalan Transformer to perform transformations. To use translets to perform transformations, set this system property to <code>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</code>. For information on setting this and related system properties designating XML parsere and XSL transformer, see <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML parser</link>.</p>
-<p>To Use the JAXP 1.1 API to perform transformations with translets do the following:</p>
-<ol>
-  <li>Set the <code>javax.xml.transform.TransformerFactory</code> system property as indicated above.<br/><br/></li>
-  <li>Instantiate a TransformerFactory.<br/><br/></li>
-  <li>Assuming you want to perform a series of transformations with the same translet, use the TransformerFactory and a
-   StreamSource XSL stylesheet to generate a Templates object (the translet). If you are performing a single
-   transformation, use the TransformerFactory and the StreamSource object to instantiate a Transformer.<br/><br/></li>
-  <li>Perform the transformation, using a StreamSource object for the XML input and a StreamResult object to hold the
-   transformation output.</li>
-</ol>
-<s3 title="Examples">
-<p><em>Example 1:</em> Using a translet/Templates object for multiple transformations</p>
-<source>import java.util.Properties;
-import javax.xml.transform.Transformer;
-import java.io.FileOutputStream;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Templates;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-...
-// Set the TransformerFactory system property.
-// Note: For more flexibility, load properties from a properties file.
-String key = "javax.xml.transform.TransformerFactory";
-String value = "org.apache.xalan.xsltc.trax.TransformerFactoryImpl";
-Properties props = System.getProperties();
-props.put(key, value);
-System.setProperties(props);
-...
-String xslInURI;
-// Instantiate the TransformerFactory, and use it along with a SteamSource
-// XSL stylesheet to create a translet as a Templates object.
-TransformerFactory tFactory = TransformerFactory.newInstance();
-Templates translet = tFactory.newTemplates(new StreamSource(xslInURI));
-...
-String xmlInURI;
-String htmlOutURI;
-...
-// For each transformation, instantiate a new Transformer, and perform
-// the transformation from a StreamSource to a StreamResult;
-Transformer transformer = translet.newTransformer();
-transformer.transform(new StreamSource(xmlInURI),
-                      new StreamResult(new FileOutputStream(htmlOutURI)));
-...</source>
-<p>For a working sample that illustrates this usage pattern, see <link idref="samples" anchor="xsltc1">JAXPTransletOneTransformation</link>.</p>
-<p><em>Example 2:</em> Compiling a translet/Templates object for a single transformation</p>
-<source>import java.util.Properties;
-import javax.xml.transform.TransformerFactory;
-import java.io.FileOutputStream;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-...
-// Set the TransformerFactory system property.
-// Note: For more flexibility, load properties from a properties file.
-String key = "javax.xml.transform.TransformerFactory";
-String value = "org.apache.xalan.xsltc.trax.TransformerFactoryImpl";
-Properties props = System.getProperties();
-props.put(key, value);
-System.setProperties(props);
-...
-String xslInURI;
-String xmlInURI;
-String htmlOutURI;
-// Instantiate the TransformerFactory, and use it along with a SteamSource
-// XSL stylesheet to create a Transformer.
-TransformerFactory tFactory = TransformerFactory.newInstance();
-Transformer transformer = tFactory.newTransformer(new StreamSource(xslInURI));
-// Perform the transformation from a StreamSource to a StreamResult;
-transformer.transform(new StreamSource(xmlInURI),
-                      new StreamResult(new FileOutputStream(htmlOutURI)));</source>
-<p>For a working sample that illustrates this usage pattern, see <link idref="samples" anchor="xsltc2">JAXPTransletMultipleTransformations</link>.</p>
-</s3>
-</s2><anchor name="native_api"/>
-<s2 title="Calling XSLTC with the native API">
-<p>This section demonstrates how to use the native XSLTC API in a standalone Java application.</p> 
-<p>Processing an XML document with a translet involves three main steps:</p>
-<ol> 
-  <li><link anchor="native_compile">Compile the stylesheet to a translet</link>.</li>
-  <li><link anchor="native_parse">Parse the input XML document</link>.</li> 
-  <li><link anchor="native_transform">Use the translet to transform the XML document</link>.</li>
-</ol><anchor name="native_overview"/>
-<s3 title="Code overview">
-<p>XsltApp.java illustrates the basic structure for coding a transformation with the native XSLTC API. In the following listing, the method for performing each of the three steps is an empty shell. The methods are filled in the listings in subsequent sections.</p>
-<source>import org.apache.xalan.xsltc.Translet;
-import org.apache.xalan.xsltc.dom.DOMImpl;
-
-public class XsltApp {
-  public static void main(String[] args) {
-    XsltApp proc = new XsltApp();
-    proc.run(args);
-  }
-
-  public void run(String[] args) {
-    if (args.length != 2) {
-      System.err.println("Usage:\n\tprocessor &lt;xmlfile&gt; &lt;xslfile&gt;" +
-            "\n\n\twhere &lt;xmlfile&gt; = xml input filename, and" +
-            "\n\t      &lt;xslfile&gt; = stylesheet filename.");
-      System.exit(1);
-    }
-    String xmldocFilename     = args[0];
-    String stylesheetFilename = args[1];
-
-    // Compile the stylesheet to a translet
-    Translet translet = compileStylesheet(stylesheetFilename);
-
-    // Parse the input XML document
-    DOMImpl dom = getDOM(xmldocFilename);
-
-    // Transform the XML document against the translet
-    doTransform(translet, dom);
-    System.exit(0);
-  }
-  
-  // compile the stylesheet [Empty shell: see below]
-  private Translet compileStylesheet(String stylesheetName) { return null; }
-
-  // parse the input XML document [Empty shell: see below]
-  private DOMImpl getDOM(String xmldocname) { return null; }
-
-  // transform the XML document [Empty shell: see below]
-  private void doTransform(Translet translet, DOMImpl dom) { }
-}</source>
-
-<p>XsltApp takes two command line arguments: the input XML document filename, and the
-XSL stylesheet filename. The public run() method processes the commandline args,
-and then carries out the three steps.</p> 
-<p>The first step is accomplished by calling the compileStylesheet() method. This method
-takes the stylesheet filename as input (String), and returns an instance
-of the translet, as type org.apache.xalan.xsltc.Translet.</p>
-
-<p>The input XML document now needs to be parsed. This is accomplished by the getDOM() method. This method takes the XML document's filename (String)
-and returns the Document Object Model for the document, as an object of
-type org.apache.xalan.xsltc.dom.DOMImpl. </p>
-
-<p>Finally, the transformation prescribed by the stylesheet is carried out by
-calling the doTransform() method. This method takes the translet (compiled
-stylesheet) and the dom (Document Object Model for the XML document) as
-input parameters. In this example, the results of the transformation are
-output to standard output, so this method returns nothing. </p>
-
-<p>If all three steps are carried out successfully, the application exits with
-a successful (zero) value.</p>
-
-<p>The following sections examine each of the three steps in detail.</p>
-</s3><anchor name="native_compile"/>
-<s3 title="1. Compiling the Stylesheet to a Translet">
-<p>The 'compileStylesheet' method:</p>
-
-<source>import java.io.File;
-import java.net.MalformedURLException; 
-import org.apache.xalan.xsltc.compiler.XSLTC;
-...
-  private Translet compileStylesheet(String stylesheetName) {
-    Translet retval = null;
-    String transletName = stylesheetName.substring(0,
-                              stylesheetName.indexOf('.'));
-    try {
-      XSLTC xsltc = new XSLTC();
-      xsltc.init();
-      File stylesheet = new File(stylesheetName);
-      xsltc.compile(stylesheet.toURL());
-      Class clazz = Class.forName(transletName);
-      retval = (Translet)clazz.newInstance();
-    } 
-    catch (MalformedURLException e) {
-      System.err.println("Could not create URL to stylesheet file: " +
-                          stylesheetName + ".\n" + e.getMessage());
-      System.exit(1);
-    } 
-    catch (ClassNotFoundException e) {
-      System.err.println("Could not find class file: " +
-                          transletName + ".class .\n" + e.getMessage());
-      System.exit(1);
-    } 
-    catch (InstantiationException e) {
-      System.err.println("Could not instantiate class file: " +
-                          transletName + ".class .\n" + e.getMessage());
-      System.exit(1);
-    } 
-    catch (IllegalAccessException e) {
-      System.err.println("Could not instantiate class file: " +
-            transletName + ".class, illegal access.\n" + e.getMessage());
-      System.exit(1);
-    }
-    return retval;
-  }</source>
-
-<p>This method reads in the stylesheet file, compiles it to Java bytecodes 
-(the translet), and then writes the bytecodes to the filesystem, as a 
-series of .class files. Their base name is derived from the name of the 
-stylesheet. </p>
-
-<p>The XSLT compiler object (org.apache.xalan.xsltc.compiler.XSLTC), is created,
-initialized and then its compile() method is called passing in a URL
-to the stylesheet itself. Once the .class files have been written,
-the translet is instantiated using Java reflection to create the Class
-and then a new instance of the Class as 'retval' of type 
-org.apache.xalan.xsltc.Translet. </p>
-
-<p>Notice all of the various exceptions that could be thrown in the process
-have been handled with explicit warning messages and a System.exit with a non-zero return value. 
-In your applications, you may want to handle these exceptions differently.</p>
-
-</s3><anchor name="native_parse"/>
-<s3 title="2. Parsing the XML Document">
-
-<p>Parsing the input XML document is handled in the getDOM() method:</p>
-
-<source>import java.io.IOException;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.ParserConfigurationException;
-import org.apache.xalan.xsltc.compiler.Constants;
-import org.apache.xalan.xsltc.dom.DTDMonitor;
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-...
-  private DTDMonitor _dtdMonitor = null;
-
-  private DOMImpl getDOM(String xmldocname) {
-    final SAXParserFactory factory = SAXParserFactory.newInstance();
-    try {
-      factory.setFeature(Constants.NAMESPACE_FEATURE, true);
-    } 
-    catch (Exception e) {
-      factory.setNamespaceAware(true);
-    }
-    final DOMImpl dom = new DOMImpl();
-    dom.setDocumentURI(xmldocname);
-    XMLReader reader = null;
-    SAXParser parser = null;
-    _dtdMonitor = new DTDMonitor();
-    try {
-      parser = factory.newSAXParser();
-      reader = parser.getXMLReader();
-      reader.setContentHandler(dom.getBuilder());
-      _dtdMonitor.handleDTD(reader);
-      reader.parse(xmldocname);
-    } 
-    catch (ParserConfigurationException e) {
-      System.err.println("SAX Parser is not configured properly.\n"+
-                          e.getMessage());
-      System.exit(1);
-    } 
-    catch (SAXException e ) {
-      System.err.println("SAX Parser could not be created.\n"+
-                          e.getMessage());
-      System.exit(1);
-    } 
-    catch (IOException e ) {
-      System.err.println("XML Reader could not read xml document '"+
-                          xmldocname + "'," + e.getMessage());
-      System.exit(1);
-    }
-    return dom;
-  }</source>
-
-<p>The method parses the input XML document and creates a Document
-Object Model to return to the run() method for later use. To parse the 
-document we use a javax.xml.parsers.SAXParser, from the JAXP.  The JAXP
-model uses a factory method; accordingly we first create the factory,
-which is of type javax.xml.parsers.SAXParserFactory. After configuring 
-the factory to handle namespaces, the procedure gets an org.xml.sax.XMLReader
-from the SAXParser. The reader is registered
-with the class DTDMonitor, and then the reader is instructed to parse
-the XML document. The DOMImpl object is returned to the main() method.</p> 
-
-<note>Before the document is parsed, the DOMImpl is configured with the
-XML document's URI with a call to the setDocumentURI() method. This
-is necessary to define the origin of the document from which the DOM tree
-is built. This information is needed for xsl:import, xsl:include, and
-the document() function.</note>
-</s3><anchor name="native_transform"/>
-<s3 title="3. Doing the Transformation">
-
-<p>Now everything is set to carry out the XSL transformation. The doTransform()
-method takes a reference to the Translet object generated 
-from the stylesheet, and the DOMImpl object created from the XML document.</p>
-
-<source>import java.io.IOException;
-import org.apache.xalan.xsltc.runtime.DefaultSAXOutputHandler;
-import org.apache.xalan.xsltc.runtime.TextOutput;
-import org.apache.xalan.xsltc.runtime.AbstractTranslet;
-import org.apache.xalan.xsltc.TransletException;
-...
-  private void doTransform(Translet translet, DOMImpl dom) {
-    DefaultSAXOutputHandler outputhandlr = null;
-    TextOutput textoutput = null;
-    try {
-      outputhandlr= new DefaultSAXOutputHandler(System.out, "utf-8");
-      textoutput = new TextOutput(outputhandlr, "utf-8");
-    } 
-    catch (IOException e) {
-      System.err.println("Could not create SAX Output Handler."+
-                          e.getMessage());
-      System.exit(1);
-    }
-  
-    // for XSL keys
-    AbstractTranslet absTranslet = (AbstractTranslet)translet;
-    absTranslet.setIndexSize(dom.getSize());
-    _dtdMonitor.buildIdIndex(dom, 0, absTranslet);
-
-    try {
-      absTranslet.transform(dom, textoutput);
-    } 
-    catch (TransletException e) {
-      System.err.println("Could not transform XML document."+
-                          e.getMessage());
-      System.exit(1);
-    }
-  }</source>
-
-<p>The Translet's transform() method takes two arguments: the DOMImpl
-reference created in the getDOM() method, and an xsltc.runtime.TextOutput
-object. TextOutput is a ContentHandler wrapper class that implements the
-xsltc.TransletOutputHandler interface. In this example, the content
-handler (DefaultSAXOutputHandler) is wrapped.</p>     
-
-<p>Translet is an interface. AbstractTranslet is a class that implements that
-interface. Before the transform() method is called, setIndexSize(int)
-is called to pass in the maximum DOM size to the translet and the DTDMonitor
-is called to build the node index that the Key (xsl:key implementation)
-class uses. This is a general case, if you are not using keys, then you
-do not need to set the index size, consequently you would not need to
-work with the AbstractTranslet either. In that case, you can  use the
-Translet directly by calling translet.transform(dom, textoutput). </p>
-</s3><anchor name="native_conclusion"/>
-<s3 title="Conclusion">
-<p>The native XSLT compiler API provides a way to compile an XSL stylesheet
-into a translet. The translet can then be used to transform the DOMImpl
-of an input XML document.   This example demonstrated how to compile a
-stylesheet into a translet, parse an input XML document, and then transform
-the XML document using the translet.</p>
-</s3></s2><anchor name="constraints"/>
-<s2 title="XSLTC usage constraints">
-<p>See <link idref="xsltc_constraints" anchor="xsltcconf">Conformance issues</link> and <link idref="xsltc_constraints" 
-anchor="xsltcknownproblems">Known problems</link>.</p>
-</s2>
-</s1>
\ No newline at end of file
diff --git a/xdocs/sources/xalandesign.xml b/xdocs/sources/xalandesign.xml
deleted file mode 100644
index 702da28..0000000
--- a/xdocs/sources/xalandesign.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 2000, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-
-<book title="Xalan 2.0.0 Design" copyright="2000 The Apache Software Foundation">
- 
-  <document id="design2_0_0"
-            label="Xalan-J 2.0.0 Design"
-            source="design/design2_0_0.xml"/>    
-</book>
-  
\ No newline at end of file
diff --git a/xdocs/sources/xsltc.xml b/xdocs/sources/xsltc.xml
deleted file mode 100644
index 8a21e28..0000000
--- a/xdocs/sources/xsltc.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
-
-<book title="XSLTC Design" copyright="2002 The Apache Software Foundation">
- 
-  <document id="index"
-            label="Overview"
-            source="xsltc/index.xml"/>
-
- <separator/>
-
-  <document id="xsltc_compiler"
-            label="Compiler design"
-            source="xsltc/xsltc_compiler.xml"/>
-
- <separator/>
- 
-   <document id="xsl_whitespace_design"
-            label="Whitespace"
-            source="xsltc/xsl_whitespace_design.xml"/>
-
-  <document id="xsl_sort_design"
-            label="xsl:sort"
-            source="xsltc/xsl_sort_design.xml"/> 
-
-  <document id="xsl_key_design"
-            label="Keys"
-            source="xsltc/xsl_key_design.xml"/> 
-
-  <document id="xsl_comment_design"
-            label="Comment design"
-            source="xsltc/xsl_comment_design.xml"/>
- 
-  <separator/>
-
-  <document id="xsl_lang_design"
-            label="lang()"
-            source="xsltc/xsl_lang_design.xml"/> 
-
-  <document id="xsl_unparsed_design"
-            label="Unparsed entities"
-            source="xsltc/xsl_unparsed_design.xml"/> 
-  
- <separator/>
-   
-  <document id="xsltc_runtime"
-            label="Runtime"
-            source="xsltc/xsltc_runtime.xml"/> 
-            
- <separator/>
-
-  <document id="xsltc_dom"
-            label="Internal DOM"
-            source="xsltc/xsltc_dom.xml"/>            
-            
-  <document id="xsltc_namespace"
-            label="Namespaces"
-            source="xsltc/xsltc_namespace.xml"/>             
-            
- <separator/>
- 
-   <document id="xsltc_trax"
-             label="Translet &amp; TrAX"
-             source="xsltc/xsltc_trax.xml"/>
-   <document id="xsltc_predicates"
-             label="XPath Predicates"
-             source="xsltc/xsltc_predicates.xml"/>
-   <document id="xsltc_iterators"
-             label="Xsltc Iterators"
-             source="xsltc/xsltc_iterators.xml"/>
-   <document id="xsltc_native_api"
-             label="Xsltc Native API" 
-             source="xsltc/xsltc_native_api.xml"/>
-   <document id="xsltc_trax_api"
-             label="Xsltc Native API" 
-             source="xsltc/xsltc_trax_api.xml"/>
- <separator/>
- <external href="todo.html" label="To-do list"/>
-            
-</book>
-  
diff --git a/xdocs/sources/xsltc/DOMInterface.gif b/xdocs/sources/xsltc/DOMInterface.gif
deleted file mode 100644
index 8f8919e..0000000
--- a/xdocs/sources/xsltc/DOMInterface.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/DOMLocking.gif b/xdocs/sources/xsltc/DOMLocking.gif
deleted file mode 100644
index cae33b4..0000000
--- a/xdocs/sources/xsltc/DOMLocking.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/README b/xdocs/sources/xsltc/README
deleted file mode 100644
index e7b498e..0000000
--- a/xdocs/sources/xsltc/README
+++ /dev/null
@@ -1,246 +0,0 @@
-=======================================================================
-         README FILE FOR THE SUN XSLT COMPILER
-                 Preview Version 6 
-                    April, 2001
-           Copyright (c) Sun Microsystems, 2001
-=======================================================================
-
-The Sun XSLT Compiler (XSLTC) is a Java-based tool for compiling XSL 
-stylesheets into extremely lightweight and portable Java byte code. 
-The Sun XSLTC Java Runtime environment can then process XML files 
-against these compiled stylesheets (Translets) to generate any manner 
-of output per the style-sheet instructions.
-
-This preview version of the XSLT Compiler can be run on any 
-platform -- including UNIX, Windows, NT, Mac -- that supports 
-Java2 or later. The Translets (compiled stylesheets) can be run on any 
-Java platform including a Palm Pilot with J2ME CLDC 
-(Java 2 Micro Edition, Connected Limited Device Configuration). 
-While the compiler itself requires Java2,translets are designed to run 
-anywhere Java is available.
-
-Almost all functions of the XLST 1.0 language are implemented; 
-more than enough to show you how this new approach to XSLT works 
-and its advantages! Using the samples provided, you will be able 
-to see for yourself. Also, demos for the Palm Pilot, Applets, and 
-Servlets are provided.
-
------------------------------------------------------------------------
-ATTRIBUTIONS
------------------------------------------------------------------------
-The XSLT Compiler program uses the CUP Parser Generator
-for Java, Copyright 1996-1999 by Scott Hudson, Frank Flannery,
-C. Scott Ananian.  For more details, please see:
-http://www.cs.princeton.edu/~appel/modern/java/CUP/
-
-The XSLT Compiler program also uses a modified version of the
-Byte Code Engineering Library (BCEL), formerly known as 
-(JavaClass API), Copyright 2000 Markus Dahm.
-
-** Please note that this additional package, BCEL, is
-** needed in order to generate the class files from the compiler.
-** Without the BCEL package, this preview version of the
-** compiler WILL NOT WORK.  BCEL is freely available for
-** download as described below.
-
------------------------------------------------------------------------
-REQUIRED PACKAGE
------------------------------------------------------------------------
-BCEL (formerly JavaClass) by Markus Dahm has been 
-used to automatically create class files from the XSLT compiler output.  
-You must obtain the BCEL.jar file and install it before using the 
-XSLT compiler.
-
-The simplest way to download the BCEL.jar file from 
-
-    http://bcel.sourceforge.net/downloads.html
-
-is to use the "JAR file (without docs)" link.
-
-You may want to obtain the precompiled class files and documentation.
-To download them to a Unix system:
-
-    1) Choose the "latest version (Precompiled + docs)" 
-       Gzipped Tar-File or ZIP-File link.
-
-    2) Unpack and expand the downloaded BCEL files in your 
-       download directory (e.g., /usr/local).
-
-    3) Change directory to BCEL.
-
-    4) Create the jar file BCEL.jar.
-    
-       From within the BCEL directory, you can either use the 
-       included GNUmakefile or create the jar yourself.
-       
-       To use the GNUmakefile, type the command 'make jar'.
-       
-       To create the jar yourself, type the command:
-       
-         jar cvf BCEL.jar `find de gnu -name \*.class` listclass.class
-
-To download the precompiled class files and documentation 
-to a Windows system:
-
-    1) Choose the "latest version (Precompiled + docs)" 
-       ZIP-File link.
-
-    2) Unzip the downloaded BCEL files in your 
-       download directory.
-
-    3) Change directory to BCEL and from a DOS command line,
-       type the command:
-
-         jar -cvf BCEL.jar de\fub\bytecode\classfile\*.class
-           gnu\regexp\*.class listclass.class
-
-To complete the BCEL setup:
-
-    1) Install XSLTC, as described in the section below,
-       "HOW TO INSTALL XSLTC AND RUN THE SAMPLES."
-
-    2) Copy the BCEL.jar file into the "lib" directory
-       under your "xsltc" directory.
-
-       You are now set to run the XSLT compiler.
-
-------------------------------------------------------------
-ADDITIONS FROM VERSION 5 (of the PREVIEW COMPILER)
-------------------------------------------------------------
-
-Support for 
-
-	- Simplified Stylesheets
-	- id() and key() in match patterns
-
-------------------------------------------------------------
-XSLT 1.0 Features Not Suported in PREVIEW VERSION 6
-------------------------------------------------------------
-
-The following XSLT 1.0 features are not yet supported:
-
-    * Nonstatic external Java methods. 
-      You may call static Java functions
-      using a namespace prefix matching the class name that is 
-      associated with the following URL:
-      
-        http://www.sun.com/xsltc/java/YourJavaClass
-      
-    * Namespace axis
-
-------------------------------------------------------------
-LIST OF FILES
-------------------------------------------------------------
-
-The files included in this preview package are as follows:
-
-xsltc-1_0-alpha5-bin.zip
-   <install dir>/xsltc
-      LICENSE.txt           (license file)
-      XSLTCprn_lg.txt       (copyright notice)
-      README                (this file)
-      README.api            (describes Translet API)
-      README.xslt           (describes runtime command line interface)
-      README.xsltc          (describes compiler command line interface)
-      bin 
-         xslt               (runtime for Unix)
-         xsltc              (compiler for Unix)
-
-         xslt.bat           (runtime for DOS)
-         xsltc.bat          (compiler for DOS)
-      demo
-         README
-         TransletDemo.prc (Palm Pilot install file)
-      lib
-         xml.jar
-         xsltc.jar
-         xsltcrt.jar               ('rt' = runtime)
-         [BCEL.jar goes here] (see REQUIRED PACKAGE above)
-      samples
-         set of xml and xsl files for you to try
-      src
-         subset of the runtime package to complement README.api
-         plus an Applet demo and a servlet demo
-         com/sun/xslt/demo/servlet
-             README.servlet        (describes Servlet demo)
-         com/sun/xslt/demo/applet
-             README.applet         (describes Applet demo)
-
-------------------------------------------------------------
-HOW TO INSTALL XSLTC AND RUN THE SAMPLES
-------------------------------------------------------------
-
-1. Unzip the files in a directory of your choice, for example
-   from the user directory '/home/user1', the distribution
-   zip file can be unzipped using the jar command as:
-
-   jar xvf xsltc-1_0-alpha5-bin.zip 
-
-   The subdirectory 'xslt' will be created in '/home/user1'.
-
-2. Set the XSLT environment variable to point to your installation
-   directory. Set your PATH environment variable to include
-   the bin directory of XSLT. 
-
-   For example, in the bash shell:
- 
-      export XSLT=/home/user1/xslt
-      export PATH=$XSLT/bin:$PATH
-
-3. Compile the stylesheet to produce a Java class file.
-
-   For example, on the Unix platform, to compile the play1.xsl
-   stylesheet for the play.xml document:
-
-      cd /home/user1/xsltc/samples
-      xsltc play1.xsl
-
-   The compiled stylesheet will be in the main Java class file 
-   'play1.class'
-
-   NOTE: The 'xlstc' shell script adds the required jars to your CLASSPATH
-
-   For example, on the Windows platform, to compile the play1.xsl
-   stylesheet for the play.xml document:
-   
-      set classpath=c:\xsltc\samples;c:\xsltc\lib\xsltc.jar;
-      c:\xsltc\lib\xsltcrt.jar;c:\xsltc\lib\xml.jar;
-      c:\xsltc\lib\BCEL.jar;.
-      cd c:\xsltc\samples
-      java com.sun.xslt.compiler.XSLTC play1.xsl
-
-4. Use the compiled Java class file (play1.class) to transform 
-   the example XML document.
-
-   For example, on the Unix platform:
-
-      xslt play.xml play1
-
-   For example, on the Windows platform:
-
-      java com.sun.xslt.runtime.DefaultRun play.xml play1
-
-   The result is sent to standard output.
-
-   NOTE: When running the compiled stylesheet, you 
-         just specify the name of its Java class, not its
-         file name (e.g., play1, not play1.class).
-         You do not include the ".class" extension, nor
-         the path to the class. The class is found by means 
-         of the Java CLASSPATH variable. If you run
-         the translet from a directory other
-         than the directory in which the compiled
-         stylesheet class is located, you need to add 
-         that directory to your Java CLASSPATH. Also, you
-         need to remove directories from your CLASSPATH 
-         for prior installations of XSLTC and any references 
-         to Sun's project X parser (com.sun.xml.tree)
-         installed from some other XML application/tool.
- 
-   NOTE: The javadocToHtml sample calls external Java methods
-         from the JavadocFormatter class. Before compiling the
-         javadocToHtml.xsl stylesheet, compile the 
-         JavadocFormatter class using 'javac'.
-
-------------------------------------------------------------
-END OF README
diff --git a/xdocs/sources/xsltc/README.APACHE b/xdocs/sources/xsltc/README.APACHE
deleted file mode 100644
index c7cd61f..0000000
--- a/xdocs/sources/xsltc/README.APACHE
+++ /dev/null
@@ -1,86 +0,0 @@
-README.APACHE
-=====================================================================
-Entire source tree and support packages are located in the single jar
-file 'apache.jar'. 
-
-
-Installation
--------------
-
-(1) create directory [Root], unpack 'apache.jar' there.
-	ex) % cd /tmp; mkdir xsltc_apache 
-	    % cd xsltc_apache
-        copy apache.jar to xsltc_apache directory
-	    % jar xvf apache.jar 
-	cleanup
-	    % rm -rf META-INF apache.jar
-
-    Unpacking the jar file will result in the following tree:
-
-	[Root]
-	  External/
-	    BCEL/                ... contains BCEL.jar
-	    JLex/                ... contains JLex.jar
-	    java_cup/            ... contains java_cup.jar, runtime/runtime.jar
-	    xml-tr2/             ... contains xml.jar
-	  bin/
-	    xslt
-	    xsltc
-	  doc/
-	    api/                 ... contains javadoc for api
-	  src/
-	    GNUmakefile
-	    GNUmakefile.allinc
-	    docs/
-	      LICENSE.txt
-	      Message.txt
-	      README
-	      README.api
-	      README.xslt
-	      README.xsltc
-	      XSLTCprn_lg.txt*
-	      xsltcA3.txt
-	    org/
-	      apache/
-		xalan/
-		  xsltc/
-		     (src tree)  ... all the source code files
-
-
-    The 'src tree' is a hierarchy of the following packages:
-	org.apache.xalan.xsltc
-	org.apache.xalan.xsltc.compiler
-	org.apache.xalan.xsltc.compiler.util
-	org.apache.xalan.xsltc.dom
-	org.apache.xalan.xsltc.runtime
-	org.apache.xalan.xsltc.util
-	org.apache.xalan.xsltc.util.getopt
-
-
-(2) make bin programs executable
-	    % chmod +x bin/*
-
-(3) set env variable to point to top of directory [Root]
-	ex) % setenv XSLT /tmp/xsltc_apache
-
-(4) compile sources (uses gnu make and the provides 'GNUmakefile'). This
-    will create java classes in [Root]/classes, e.g. /tmp/xsltc_apache/classes.
-    (No need to set your CLASSPATH variable.)
-    
-	ex) % cd src; gmake again
-
-    Note: the 'again' target forces everything to be built from scratch,
-    including the java_cup source files. Subsequent builds can be done
-    using the 'classes' target. 
-
-(5) make the javadoc
-	ex) % gmake jdoc
-
-(6) add bin directory to your executable path, 
-	ex) % set path=($XSLT/bin $path)
-
-(7) test distribution, given a stylesheet (test.xsl) and an input xml doc
-    (test.xml), and be sure current working directory (.) is in your
-    CLASSPATH.
- 	% xsltc test.xsl		... creates translet, test.class
-	% xslt test.xml test		... runs translet on xml input	
diff --git a/xdocs/sources/xsltc/README.api b/xdocs/sources/xsltc/README.api
deleted file mode 100644
index 601b092..0000000
--- a/xdocs/sources/xsltc/README.api
+++ /dev/null
@@ -1,422 +0,0 @@
-============================================================
-         README FILE FOR THE SUN XSLT COMPILER API
-                  Preview Version 5 
-                    February, 2001
-           Copyright (c) Sun Microsystems, 2001
-============================================================
-
-The Sun XSLT Compiler (XSLTC) is a Java-based tool for 
-compiling XSL stylesheets into extremely lightweight and 
-portable Java byte code. The Sun XSLTC Java Runtime environment 
-can then process XML files against these compiled stylesheets 
-(Translets) to generate any manner of output per the style-
-sheet instructions.
-
-CONTENTS OF THIS DOCUMENT:
-	1. HOW TO INCLUDE TRANSLETS IN YOUR APPLICATIONS
-	2. FULL CODE EXAMPLE 1, (uses a SAX DocumentHandler).
-	3. COMPILING AND RUNNING THE EXAMPLE 
-	4. FULL CODE EXAMPLE 2, (uses DefaultSAXOutputHandler). 
-	5. APPENDIX (TextOut and DefaultSAXOutputHandler)
-
-
-
-
-1. HOW TO INCLUDE TRANSLETS IN YOUR APPLICATIONS
----------------------------------------------------------------------
-
-Translets implement the interface com.sun.xslt.Translet
-that you will find in the src directory.
-
-public interface Translet {
-    public void transform(DOM document, TransletOutputHandler handler)
-	throws TransletException;
-
-    public void transform(DOM document, TransletOutputHandler[] handlers)
-	throws TransletException;
-
-    public void transform(DOM document, NodeIterator iterator,
-                          TransletOutputHandler handler) throws 
-			  TransletException;
-
-    public Object addParameter(String name, Object value);
-
-    public void buildKeys(DOM document, NodeIterator iterator,
-                          TransletOutputHandler handler, int root) throws 
-			  TransletException;
-
-    public String getOutputEncoding();
-}
-
-The Translet takes a DOMImpl object (created from an input XML document),
-as input and transforms it. The results of the transformation are 
-sent to an  event-based output handler that implements the 
-com.sun.xslt.TransletOutputHandler interface :
-
-
-public interface com.sun.xslt.TransletOutputHandler {
-    public void startDocument() throws TransletException;
-    public void endDocument() throws TransletException;
-    public void characters(char[] characters, int offset, int length)
-        throws TransletException;
-    public void startElement(String elementName) throws TransletException;
-    public void endElement(String elementName) throws TransletException;
-    public void attribute(String attributeName, String attributeValue)
-        throws TransletException;
-    public void comment(String comment) throws TransletException;
-    public void processingInstruction(String target, String data)
-        throws TransletException;
-    public void setType(int type);
-    public void setIndent(boolean indent);
-    public boolean setEscaping(boolean escape) throws TransletException;
-    public void insertCdataElement(String elementName);
-}
-
-
-You create an instance of the class that implements the Translet interface
-using Java reflection:
-
-  Class clazz = Class.forName("classname");
-  Translet translet = (Translet) clazz.newInstance();
-
-where "classname" is the name of the class generated by XSLTC.
-In order to execute a transformation, both a document and a SAX-like
-handler (TransletOutputHandler) are needed.
-A document instance can be created with the aid of SAX-complaint XML parser.
-For example, using Sun's parser you would write,
-
-  import com.sun.xslt.dom.DOMImpl;
-  import com.sun.xml.parser.Parser;
-  import com.sun.xml.parser.Resolver;
-
-  // Create new instances of DOM and Parser
-  DOMImpl dom = new DOMImpl();
-  Parser parser = new Parser();
-
-  // Set a SAX handler to build a DOM tree
-  parser.setDocumentHandler(dom.getBuilder());
-
-  // Parse the document and build a DOM tree
-  InputSource input = new InputSource(
-                          new FileReader("xmlfile.xml"));
-  parser.parse(input);
-  
-In this example a document is parsed from a file, but it is also 
-possible to parse a document from a URI by writing,
-
-  parser.parse("http://.../xmlfile.xml");
-
-To transform the input XML document, a call is made to the translet's
-transform() method. In order to do its work, the transform() method
-takes two arguments, (1) the DOMImpl object created from parsing
-the input XML document, and (2) an output handler. The output handler
-must implement the org.xml.sax.DocumentHandler interface.  You 
-have the option of: (1) writing your own class that implements 
-DocumentHandler, or (2) using our default class
-'com.sun.xslt.runtime.DefaultSAXOutputHandler' instead.  
-The source code for our DefaultSAXOutputHandler is included
-in this package in the com/sun/xslt/runtime directory. 
-This is a change from the previous releases of
-our compiler API. If you  wanted to create your own 
-output handler in previous releases, you would have write a class that 
-implemented the interface TransletOutputHandler. This change was made
-so that users could more easily plug in any SAX compliant output
-handler. To plug in the SAX compliant output handler,
-(whether it is a user written class or our DefaultSAXOutputHandler)
-into the transform() method, it must be wrapped in a
-TextOutput object first. 
-
-The Translet.transform() method may also take an array of output handlers. 
-In this case the transformation will be able to select which handler 
-to send output to by using the extension element <translet:output port="n"> 
-where 'n' is a 0-based index in the array of output handlers.
-
-Lets take a look at the code needed to carry out both of the options
-for passing the SAX output handler to the translet's transform() method:
-
-   (1) You would write your own output handler that implements
-       the org.xml.sax.DocumentHandler interface, pass this class
-       into our com.sun.xslt.runtime.TextOutput class which itself
-       implements the TransletOutputHandler interface.
-
-   (2) You would create an instance of the default SAX output handler,
-       com.sun.xslt.runtime.DefaultSAXOutputHandler, pass this
-       instance into our com.sun.xslt.runtime.TextOutput class which
-       itself implements the TransletOutputHandler interface.
-
-
-In option (1), we want to use a SAX compliant output handler that we write
-ourselves. In this case we create our Handler class, which implements 
-org.xml.sax.DocumentHandler:
-
-import org.xml.sax.DocumentHandler;
-
-// user supplied SAX Handler:
-class Handler implements DocumentHandler {
-    public void startDocument() throws SAXException {}
-
-    public void endDocument() throws SAXException {}
-
-    public void characters(char[] characters, int offset, int length)
-        throws SAXException
-    {
-        System.out.println(new String(characters, offset, length));
-    }
-    public void startElement(String elementName, AttributeList attrs)
-        throws SAXException {}
-    public void endElement(String elementName) throws SAXException {}
-    public void setDocumentLocator(Locator loc) {}
-    public void ignorableWhitespace(char[] characters, int offset, int length)
-        throws SAXException {}
-    public void processingInstruction(String target, String data)
-        throws SAXException {}
-}
-
-Now before we pass our handler to the transform() method, we wrap it
-in a TextOutput object (which implements the TransletOutputHandler
-interface for us).  Then given the instantiated translet class, 
-the transform method could be called as:
-
-	import com.sun.xslt.runtime.TextOutput;
-
-	DOMImpl dom;
-        ...
-        Handler saxHandler;
-        TextOutput textOutput;
-        try {
-            saxHandler = new Handler();
-            textOutput = new TextOutput(saxHandler);
-            translet.transform(dom, textOutput);
-        } catch (TransletException  e){
-	    ...
-        } catch (IOException  e){
-	    ...
-        }
-
-
-By using the TextOutput wrapper class, one can also control the character
-encoding. The TextOutput class has an additional constructor that takes
-the DocumentHandler and a String that describes the encoding, for example
-'textOutput' could have been created as:
-
-	textOutput = new TextOutput(saxHandler, "utf-8");
-
-Finally, option (2) is much like option (1) except you do not have
-to write your own DocumentHandler. We provide one by default. To use the
-default one, instantiate 'com.sun.xslt.runtime.DefaultSAXOutputHandler'
-rather than instantiating your own class (such as Handler above):
-
-	import com.sun.xslt.runtime.DefaultSAXOutputHandler;
-	import com.sun.xslt.runtime.TextOutput;
-
-	DefaultSAXOutputHandler defhandlr;
-	try {
-            defhandlr = new DefaultSAXOutputHandler(System.out, "utf-8");
-            translet.transform(dom, new TextOutput(defhandlr));
-        } catch (TransletException  e){
-	    ...
-        } catch (IOException  e){
-	    ...
-        }
-
-For a quick reference to the TextOutput and DefaultSAXOutputHandler
-constructors available, see the Appendix. 
-
-In the following sections, full code examples are shown.
-	
-Finally, if you want the transformation results in the DOM form:
-
-DOM result = new DOM();
-translet.transform(dom, result.getOutputDomBuilder());
-
-If the compiled stylesheet requires the values of global 
-parameters to be set, you should call addParameter() before 
-calling the transform() method.
-
- 
-2. FULL CODE EXAMPLE 1, XsltApp.java, uses a SAX DocumentHandler.
-	This example corresponds to option (1) in discussion above.
-------------------------------------------------------------------
-import java.io.FileReader;
-import java.io.IOException;
-import com.sun.xslt.dom.DOMImpl;
-import com.sun.xslt.runtime.TextOutput;
-import com.sun.xslt.Translet;
-import com.sun.xslt.TransletException;
-import com.sun.xml.parser.Parser;
-import org.xml.sax.AttributeList;
-import org.xml.sax.DocumentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-
-
-// Create a SAX Output Handler
-class Handler implements DocumentHandler {
-    public void startDocument() throws SAXException {}
-
-    public void endDocument() throws SAXException {}
-
-    public void characters(char[] characters, int offset, int length)
-        throws SAXException
-    {
-        System.out.println(new String(characters, offset, length));
-    }
-
-    public void startElement(String elementName, AttributeList attrs)
-        throws SAXException {}
-
-    public void endElement(String elementName) throws SAXException {}
-
-    public void setDocumentLocator(Locator loc) {}
-
-    public void ignorableWhitespace(char[] characters, int offset, int length)
-        throws SAXException {}
-
-    public void processingInstruction(String target, String data)
-        throws SAXException {}
-
-}
-
-public class XsltApp {
-   public static void main(String[] args){
-        XsltApp app = new XsltApp();
-        app.run(args);
-   }
-
-   public void run(String[] args){
-        if(args.length != 2){
-                usage();
-        }
-        String inputFileName = args[0];
-        String transletName = args[1];
-
-        DOMImpl dom = new DOMImpl();
-        Parser parser = new Parser();
-        parser.setDocumentHandler(dom.getBuilder());
-        InputSource input = null;
-        try {
-            input = new InputSource(new FileReader(inputFileName));
-        } catch( java.io.FileNotFoundException e){
-            System.err.println("File " + inputFileName + " not found");
-            System.exit(1);
-        }
-
-        try {
-            parser.parse(input);
-        } catch (org.xml.sax.SAXException e){
-            System.err.println("Error: " + e);
-            System.exit(1);
-        } catch (IOException e){
-            System.err.println("Error: " + e);
-            System.exit(1);
-        }
-
-        Class transletPluggable = null;
-        try {
-            transletPluggable = Class.forName(transletName);
-        } catch (java.lang.ClassNotFoundException e){
-            System.err.println("Error: " + e);
-            System.exit(1);
-        }
-
-        Translet translet = null;
-        try {
-            translet = (Translet)transletPluggable.newInstance();
-        } catch (java.lang.Exception e){
-            System.err.println("Error instantiating pluggable translet");
-            System.exit(1);
-        }
-
-        Handler saxHandler;
-        TextOutput textOutput;
-        try {
-            saxHandler = new Handler();
-            textOutput = new TextOutput(saxHandler, "utf-8");
-            translet.transform(dom, textOutput);
-        } catch (TransletException  e){
-            System.err.println("Error: " + e);
-            System.exit(1);
-        } catch (IOException  e){
-            System.err.println("Error: " + e);
-            System.exit(1);
-        }
-   }
-
-   public void usage(){
-        System.out.println("Usage: \n" +
-                "     xsltapp <xml_file> <translet_name>\n\n" +
-                "     where <file> is xml source (e.g. play.xml). \n" +
-                "     and  <translet_name> is java class (e.g. play1). \n"
-        );
-        System.exit(1);
-   }
-}
-
-
-
-3. COMPILING AND RUNNING THE EXAMPLE:
----------------------------------------------------------------------
-
-To compile the example above, assuming you unpacked the code
-into the directory /tmp:
-
-javac -classpath "/tmp/xsltc/lib/xml.jar:/tmp/xsltc/lib/BCEL.jar:/tmp/xsltc
-/lib/xsltcrt.jar" XsltApp.java
-
-To run the example on xml document 'play.xml' and stylesheet 'play1.xsl':
-
-(1) compile the stylesheet:
-        xsltc play1.xsl
- 
-    this will produce the translet 'play1.class'.
-
-(2) run the translet with the XsltApp demo:
-
-java -classpath /tmp/xsltc/lib/xsltcrt.jar:/tmp/xsltc/lib/xml.jar:. XsltApp play
-.xml play1
-
-
- 
-4. FULL CODE EXAMPLE 2, DefaultRun.java
-	This example corresponds to option (2) in the discussion above.
-------------------------------------------------------------------
-See the source file for the class 'com.sun.xslt.runtime.DefaultRun',
-which is included in the src directory. It uses the 
-'DefaultSAXOutputHandler' approach.
-
-
-
-
-5. APPENDIX
-------------------------------------------------------------------
-
-TextOutput
-----------
-
-package com.sun.xslt.runtime;
-
-public final class TextOutput implements TransletOutputHandler {
-	public TextOutput(DocumentHandler handler) throws IOException;
-	public TextOutput(DocumentHandler handler, String encoding) throws
-		IOException;
-}
-
-
-DefaultSAXOutputHandler
------------------------
-package com.sun.xslt.runtime;
-
-public class DefaultSAXOutputHandler implements DocumentHandler{
-	public DefaultSAXOutputHandler(Writer writer) throws IOException;
-	public DefaultSAXOutputHandler(OutputStream out, String encoding)
-	    throws IOException;
-	public DefaultSAXOutputHandler(String filename, String encoding)
-            throws IOException;
-	...
-}
-
-
-
-------------------------------------------------------------
-END OF README
diff --git a/xdocs/sources/xsltc/README.xslt b/xdocs/sources/xsltc/README.xslt
deleted file mode 100644
index a014d80..0000000
--- a/xdocs/sources/xsltc/README.xslt
+++ /dev/null
@@ -1,102 +0,0 @@
-NAME
-	xslt - Apache/Xalan XSLT runtime processor. 
-
-SYNOPSIS
-	xslt [-j <jarfile>] [-xhs] {-u <document_url> | <document>} <class>
-             [<name1>=<value1> ...]
-
-
-DESCRIPTION
-	This command-line tool is a wrapper for the Java class
-	org.apache.xalan.xsltc.cmdline.Transform
-
-	The Sun XSLT runtime processor is a Java-based tool for 
-	transforming XML document files using a translet (compiled 
-	stylesheet). 
-
-	The XSLT processor can be run on any platform including UNIX,
-	Windows, NT, Mac that supports Java.
-
-OPTIONS
-
-	The following options are supported:
-
-	-j <jarfile>
-		gets the translet <class> from the specified <jarfile>
-		instead of from the user's CLASSPATH.	
-
-	-u
-		Specifies that the XML <document> location will be a URI
-		such as 'http://myserver/hamlet.xml'.		
-
-	-x
-		Turn debugging messages on.
-
-	-h
-		Output help screen.
-
-	-s
-		Prevent the command line tool from calling System.exit()
-
-OPERANDS
-
-	The following operands are supported:
-
-	<document>     		An XML document to be processed. 
-	<document_url>     	An XML document to be processed, specified
-				as a URL (See -u option above). 
-
-	<class>			The translet that will do the processing.
-				The translet may optionally take a set of 
-				global parameters specified as name-value 
-				pairs. A name-value pair uses the format
-				<name>=<value>.
-
-EXAMPLES
-	Example 1:  Processing an XML document.
-
-	example%  xslt hamlet.xml hamlet 
-
-	where the current working directory contains an XML document
-	'hamlet.xml' to be processed by the translet class 'hamlet'.
-	The translet would have been created initially using
-	xsltc to compile a XSLT stylesheet named 'hamlet.xsl'. 
-
-	Example 2:  Loading translet from a jar file. 
-
-	example%  xslt -j hamlet.jar hamlet.xml hamlet
-
-	In this case the translet class 'hamlet' is loaded from the
-	specified jar file, 'hamlet.jar' instead of from the user's
-	CLASSPATH.
-
-	Example 3: If the translet defined global parameters, then 
-	these can be passed on the command line to the runtime processor
-	as a space separated list of name-value pairs using the format
-	<name>=<value>. For example,
-
-	example%  xslt hamlet.xml hamlet speaker=HAMLET 'scene=SCENE IV'
-
-	Notice that the second name-value pair had to be quoted due to 
-	the intervening space in the value "SCENE IV".
-
-	example% xslt -u http://zarya.east/test.xml hamlet
-
-	where the xml document 'test.xml' can be specified as a URL.
-
-FILES
-	file.xml		input XML document to be processed. 
-	file.class		byte code file.
-	file.jar		java archive file.
-	
-SEE ALSO
-	xsltc, jar.
-
-BUGS
-	See the Bugzilla bug database: http://nagoya.apache.org/bugzilla
-
-AUTHORS
-	Morten Jorgensen		   morten.jorgensen@ireland.sun.com
-	G. Todd Miller                             todd.miller@east.sun.com
-	Jacek Ambroziak
-	Santiago Pericas-Geertsen
diff --git a/xdocs/sources/xsltc/README.xsltc b/xdocs/sources/xsltc/README.xsltc
deleted file mode 100644
index 740152d..0000000
--- a/xdocs/sources/xsltc/README.xsltc
+++ /dev/null
@@ -1,125 +0,0 @@
-NAME
-	xsltc - Apache/Xalan XSLT Compiler 
-
-SYNOPSIS
-	xsltc [-o <output>] [-d <directory>] [-j <jarfile>] 
-	      [-p <package name>] [-uxhsi] [<stylesheet>... ]
-
-DESCRIPTION
-	This command-line tool is a wrapper for the Java class
-	org.apache.xalan.xsltc.cmdline.Compile
-
-	The Sun XSLT Compiler is a Java-based tool for compiling XSLT
-	stylesheets into lightweight and portable Java byte codes 
-	called translets.  
-
-	The XSLT Compiler can be run on any platform including UNIX,
-	Windows, NT, Mac that supports Java 1.2.x or later. The generated
-	translets can be run on any platform that supports a Java
-	Runtime Environment, including a Palm Pilot with J2ME CLDC 
-	(Java 2 Micro Edition, Connected Limited Device Configuration).
-
-OPTIONS
-
-	The following options are supported:
-
-	-o <output>
-		Changes the name of the generated translet class.
-		By default, the translet class would be named
-		<stylesheet>, if -o <output> is set, then the 
-		translet class would be named <output>. Translet
-		class files are written as .class files.
-
-	-d <directory>
-		Changes the destination directory. By default, any
-		translet class files generated would be placed in 
-		the current working directory. If -d <directory> 
-		is specified, the files would be output to <directory>.
-
-	-j <jarfile>
-		Outputs all generated translet class files into a 
-		jar file named <jarfile>.jar. When this option is 
-		used only a jar file will be output.
-
-	-p <package name>
-		Specify a package name for all generated translet
-		class.
-
-	-u
-		Specifies that <stylesheet> location will be a URI
-		such as 'http://myserver/stylesheet1.xsl'.
-
-	-i
-		Specify that the stylesheet should be read from stdin.
-
-	-x
-		Turn debugging messages on.
-
-	-h
-		Output help screen.
-
-	-s
-		Prevent the command line tool from calling System.exit()
-
-
-OPERANDS
-
-	The following operand is supported:
-
-	<stylesheet>    A path name of an input stylesheet file. 
-
-
-EXAMPLES
-	Example 1:  Creating a translet from stylesheet 'hamlet.xsl'.
-
-	example%  xsltc hamlet.xsl
-
-	would produce a set of class files such as 'hamlet.class',
-	'hamlet$0.class', 'hamlet$1.class'.
-
-	Example 2:  Outputting all classes into a jar file.
-
-	example%  xsltc -j hamlet.jar hamlet.xsl
-
-	would produce a single jar file output, 'hamlet.jar' which would
-	contain all the generated .class files for the hamlet translet.
-
-	Example 3: Naming the class file.  
-
-	example%  xsltc -o newhamlet hamlet.xsl
-
-	would produce a set of class files such as 'newhamlet.class',
-	'newhamlet$0.class', etc rather than the default which would 
-	be 'hamlet.class', 'hamlet$0.class', etc.	
-
-	Example 4: Multiple stylesheets. 
-
-	example%  xsltc hamlet1.xsl hamlet2.xsl hamlet3.xsl
-
-	would produce a set of class files derived from the three
-	stylesheets. 
-
-	Example 5: Package Specification.
-
-	example% xsltc -p com.mycompany.translets hamlet.xsl
-
-	would produce a set of class files such as 
-	'com/mycompany/translets/hamlet.class',
-	'com/mycompany/translets/hamlet$0.class', etc.
-
-FILES
-	file.xsl		input XSLT stylesheet
-	file.class		byte code file
-	file.jar		java archive file
-	
-SEE ALSO
-	xslt, jar.
-
-BUGS
-	See the Bugzilla bug database: http://nagoya.apache.org/bugzilla
-
-AUTHORS
-	Morten Jorgensen,		   morten.jorgensen@ireland.sun.com
-	G. Todd Miller,                            todd.miller@east.sun.com
-	Santiago Pericas-Geertsen
-	Jacek Ambroziak
diff --git a/xdocs/sources/xsltc/README2 b/xdocs/sources/xsltc/README2
deleted file mode 100644
index c7cd61f..0000000
--- a/xdocs/sources/xsltc/README2
+++ /dev/null
@@ -1,86 +0,0 @@
-README.APACHE
-=====================================================================
-Entire source tree and support packages are located in the single jar
-file 'apache.jar'. 
-
-
-Installation
--------------
-
-(1) create directory [Root], unpack 'apache.jar' there.
-	ex) % cd /tmp; mkdir xsltc_apache 
-	    % cd xsltc_apache
-        copy apache.jar to xsltc_apache directory
-	    % jar xvf apache.jar 
-	cleanup
-	    % rm -rf META-INF apache.jar
-
-    Unpacking the jar file will result in the following tree:
-
-	[Root]
-	  External/
-	    BCEL/                ... contains BCEL.jar
-	    JLex/                ... contains JLex.jar
-	    java_cup/            ... contains java_cup.jar, runtime/runtime.jar
-	    xml-tr2/             ... contains xml.jar
-	  bin/
-	    xslt
-	    xsltc
-	  doc/
-	    api/                 ... contains javadoc for api
-	  src/
-	    GNUmakefile
-	    GNUmakefile.allinc
-	    docs/
-	      LICENSE.txt
-	      Message.txt
-	      README
-	      README.api
-	      README.xslt
-	      README.xsltc
-	      XSLTCprn_lg.txt*
-	      xsltcA3.txt
-	    org/
-	      apache/
-		xalan/
-		  xsltc/
-		     (src tree)  ... all the source code files
-
-
-    The 'src tree' is a hierarchy of the following packages:
-	org.apache.xalan.xsltc
-	org.apache.xalan.xsltc.compiler
-	org.apache.xalan.xsltc.compiler.util
-	org.apache.xalan.xsltc.dom
-	org.apache.xalan.xsltc.runtime
-	org.apache.xalan.xsltc.util
-	org.apache.xalan.xsltc.util.getopt
-
-
-(2) make bin programs executable
-	    % chmod +x bin/*
-
-(3) set env variable to point to top of directory [Root]
-	ex) % setenv XSLT /tmp/xsltc_apache
-
-(4) compile sources (uses gnu make and the provides 'GNUmakefile'). This
-    will create java classes in [Root]/classes, e.g. /tmp/xsltc_apache/classes.
-    (No need to set your CLASSPATH variable.)
-    
-	ex) % cd src; gmake again
-
-    Note: the 'again' target forces everything to be built from scratch,
-    including the java_cup source files. Subsequent builds can be done
-    using the 'classes' target. 
-
-(5) make the javadoc
-	ex) % gmake jdoc
-
-(6) add bin directory to your executable path, 
-	ex) % set path=($XSLT/bin $path)
-
-(7) test distribution, given a stylesheet (test.xsl) and an input xml doc
-    (test.xml), and be sure current working directory (.) is in your
-    CLASSPATH.
- 	% xsltc test.xsl		... creates translet, test.class
-	% xslt test.xml test		... runs translet on xml input	
diff --git a/xdocs/sources/xsltc/all_namespaces.gif b/xdocs/sources/xsltc/all_namespaces.gif
deleted file mode 100644
index 38034b7..0000000
--- a/xdocs/sources/xsltc/all_namespaces.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/ast_stage1.gif b/xdocs/sources/xsltc/ast_stage1.gif
deleted file mode 100644
index 6e5c425..0000000
--- a/xdocs/sources/xsltc/ast_stage1.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/ast_stage2.gif b/xdocs/sources/xsltc/ast_stage2.gif
deleted file mode 100644
index 9387a5d..0000000
--- a/xdocs/sources/xsltc/ast_stage2.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/ast_stage3.gif b/xdocs/sources/xsltc/ast_stage3.gif
deleted file mode 100644
index 2d40d2e..0000000
--- a/xdocs/sources/xsltc/ast_stage3.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/cast_expression.gif b/xdocs/sources/xsltc/cast_expression.gif
deleted file mode 100644
index 9bb0090..0000000
--- a/xdocs/sources/xsltc/cast_expression.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/class_loader.gif b/xdocs/sources/xsltc/class_loader.gif
deleted file mode 100644
index 3bc2db9..0000000
--- a/xdocs/sources/xsltc/class_loader.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/compiler_AST.gif b/xdocs/sources/xsltc/compiler_AST.gif
deleted file mode 100644
index 69871b6..0000000
--- a/xdocs/sources/xsltc/compiler_AST.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/compiler_DOM.gif b/xdocs/sources/xsltc/compiler_DOM.gif
deleted file mode 100644
index a056cbb..0000000
--- a/xdocs/sources/xsltc/compiler_DOM.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/compiler_architecture.gif b/xdocs/sources/xsltc/compiler_architecture.gif
deleted file mode 100644
index e57d661..0000000
--- a/xdocs/sources/xsltc/compiler_architecture.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/compiler_design.gif b/xdocs/sources/xsltc/compiler_design.gif
deleted file mode 100644
index f12ef43..0000000
--- a/xdocs/sources/xsltc/compiler_design.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/dom_namespace1.gif b/xdocs/sources/xsltc/dom_namespace1.gif
deleted file mode 100644
index 2b9418e..0000000
--- a/xdocs/sources/xsltc/dom_namespace1.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/dom_namespace2.gif b/xdocs/sources/xsltc/dom_namespace2.gif
deleted file mode 100644
index 7fce24d..0000000
--- a/xdocs/sources/xsltc/dom_namespace2.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/dom_namespace3.gif b/xdocs/sources/xsltc/dom_namespace3.gif
deleted file mode 100644
index d62b9b8..0000000
--- a/xdocs/sources/xsltc/dom_namespace3.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/index.xml b/xdocs/sources/xsltc/index.xml
deleted file mode 100644
index 871f412..0000000
--- a/xdocs/sources/xsltc/index.xml
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-
-<s1 title="XSLTC Documentation">
-
-  <s2 title="User Documentation">
-    <p>The following user documentation is currently available:</p>
-    <ul>
-      <li>XSLTC <jump href="README">Installation and Requirements</jump>
-      'README' (not updated)</li>
-      <li>Command-line <jump href="README.xsltc">compiler</jump> and
-      <jump href="README.xslt">runtime</jump> 'README'</li>
-      <li><link idref="xsltc_native_api">XSLTC Native API reference</link></li>
-      <li><link idref="xsltc_trax_api">XSLTC TrAX API reference</link></li>
-      <li><link idref="xsltc_performance">XSLTC Performance Hints</link></li>
-    </ul>
-  </s2>
-
-  <s2 title="Design Documents">
-    <p>The following design documents are currently available:</p>
-    <ul>
-      <li><link anchor="overall">XSLTC overall design</link></li>
-      <li><link anchor="compiler">XSLTC compiler design</link></li>
-      <li><link anchor="runtime">XSLTC runtime library design</link></li>
-      <li><link anchor="runtime">XSLTC internal DOM design</link></li>
-      <li><link anchor="trax">XSLTC TrAX implementation design</link></li>
-    </ul>
-
-
-    <!--========================= OVERALL DESIGN ==========================-->
-    <anchor name="overall"/>
-    <s3 title="XSLTC overall design">
-
-    <p>The figure below describes the overall design of XSLTC's compiler:</p>
-    <p><img src="overall_design.gif" alt="overall_design.gif"/></p>
-    <p><ref>Figure 1: Architectural overview of XSLTC</ref></p>
-
-    <p>A client application can use XSLTC either through its
-    <link idref="xsltc_native_api">native API</link> or through or
-    implementation of the <link idref="xsltc_trax_api">TrAX API</link>. The
-    <link anchor="compiler">compiler</link> generates one or more Java classes
-    (we have chosen to call them 'translets').
-    The <link anchor="runtime">runtime library</link> contains classes that
-    can load these translets and use them to transform XML documents to some
-    markup language or plain text. There is also a detailed document describing
-    <link idref="xsltc_namespace">namespace handling</link> in all parts of
-    XSLTC (compiler, internal DOM, and output handler).</p>
-
-    </s3>
-
-    <!--========================= COMPILER DESIGN =========================-->
-    <anchor name="compiler"/>
-    <s3 title="XSLTC compiler design">
-
-    <p>The figure below describes the overall design of XSLTC's compiler:</p>
-    <p><img src="compiler_design.gif" alt="compiler_design.gif"/></p>
-    <p><ref>Figure 2: Compiler architecture overview</ref></p>
-
-    <p>There is also a <link idref="xsltc_compiler">high-level design</link>
-    document for XSLTC's compiler. Apart from that you can also find separate
-    design documents for some XSL elements and XPath expressions, patterns
-    and functions:</p>
-
-    <s4 title="XSL elements">
-      <ul>
-        <li><link idref="xsl_sort_design">&lt;xsl:sort&gt;</link></li>
-        <li><link idref="xsl_key_design">&lt;xsl:key&gt;</link></li>
-        <li><link idref="xsl_whitespace_design">&lt;xsl:preserve-space&gt;</link></li>
-        <li><link idref="xsl_whitespace_design">&lt;xsl:strip-space&gt;</link></li>
-        <li><link idref="xsl_comment_design">&lt;xsl:comment&gt;</link></li>
-        <li><link idref="xsl_comment_design">&lt;xsl:message&gt;</link></li>
-        <li><link idref="xsl_if_design">&lt;xsl:if&gt;</link></li>
-        <li><link idref="xsl_choose_design">&lt;xsl:choose&gt;</link></li>
-        <li><link idref="xsl_variable_design">&lt;xsl:variable&gt;</link></li>
-        <li><link idref="xsl_variable_design">&lt;xsl:param&gt;</link></li>
-        <li><link idref="xsl_include_design">&lt;xsl:include&gt;</link></li>
-        <li><link idref="xsl_include_design">&lt;xsl:import&gt;</link></li>
-        <li><link idref="xsl_imports_design">&lt;xsl:apply-imports&gt;</link></li>
-      </ul>
-    </s4>
-    <s4 title="XPath functions">
-      <ul>
-        <li><link idref="xsl_key_design">key()</link></li>
-        <li><link idref="xsl_lang_design">lang()</link></li>
-        <li><link idref="xsl_unparsed_design">unparsed-entity-uri()</link></li>
-      </ul>
-    </s4>
-    <s4 title="XPath expressons">
-      <ul>
-        <li><link idref="xsltc_predicates">Predicates</link></li>
-      </ul>
-    </s4>
-
-    <s4 title="XPath patterns">
-      <ul>
-        <li><jump href="xsltc_predicates.html#step-pattern">StepPattern</jump></li>
-        <li><jump href="xsl_key_design.html#patterns">IdPattern</jump></li>
-        <li><jump href="xsl_key_design.html#patterns">KeyPattern</jump></li>
-      </ul>
-    </s4>
-    </s3>
-
-    <!--========================= RUNTIME DESIGN ==========================-->
-    <anchor name="runtime"/>
-    <s3 title="XSLTC runtime library design">
-
-    <p>The runtime portion of XSLTC has four main components; the internal DOM
-    implementation (not W3C), the translet class(es), the runtime
-    library and the output processor:</p>
-
-    <p><img src="runtime_design.gif" alt="runtime_design.gif"/></p>
-    <p><ref>Figure 3: Runtime library architecture overview</ref></p>
-
-    <p>The <link idref="xsltc_runtime">runtime library design</link> document
-    describes the structure of the compiled translet as well as the translet
-    runtime library.</p>
-
-    <p>The <link idref="xsltc_dom">Internal DOM design</link> document
-    describes the components and structure of the internal DOM, support for
-    DOM2 navigation, the DOM adapter, DOM multiplexer, and DOM builder.</p>
-
-    <p>The <link idref="xsltc_iterators">iterator design</link> document
-    describes the general design of the internal DOM iterators and describes
-    some of the more complicated iterators in detail.</p>
-
-    </s3>
-
-    <!--========================== TRAX DESIGN ===========================-->
-    <anchor name="trax"/>
-    <s3 title="XSLTC TrAX Implementation">
-
-    <p>An implementation of the JAXP/ TrAX interface was added on to XSLTC
-    at a late stage. Special care was taken to preserve the small footprint
-    and high performance of XSLTC. The following design was used to wrap
-    XSLTC behind a lightweight (but complete) TrAX implementation:</p>
-
-    <p><img src="trax_translet_wrapping.gif" alt="trax_translet_wrapping.gif"/></p>
-    <p><ref>Figure 4: XSLTC TrAX interface implementation</ref></p>
-
-    <p>The <link idref="xsltc_trax">TrAX design</link> document contains
-    details of XSLTC's TrAX implementation.</p>
-
-    <p>XSLTC also has a 'smart' TrAX <code>TransformerFactory</code> class
-    that will alternate between using XSLTC and Xalan for transformations.
-    This factory class will make its choices based on usage patterns. This will
-    be described in a separate design document.</p>
-
-    </s3>
-
-    </s2>
-
-  <p><ref>Design documents by <jump href="mailto:morten@xml.apache.org">Morten J&oslash;rgensen</jump> - updated 13.12.2001</ref></p>
-
-</s1>
diff --git a/xdocs/sources/xsltc/iterator_stack.gif b/xdocs/sources/xsltc/iterator_stack.gif
deleted file mode 100644
index 7e683d4..0000000
--- a/xdocs/sources/xsltc/iterator_stack.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/key_relations.gif b/xdocs/sources/xsltc/key_relations.gif
deleted file mode 100644
index 946d4dc..0000000
--- a/xdocs/sources/xsltc/key_relations.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/match_namespace1.gif b/xdocs/sources/xsltc/match_namespace1.gif
deleted file mode 100644
index 4d0056d..0000000
--- a/xdocs/sources/xsltc/match_namespace1.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/match_namespace2.gif b/xdocs/sources/xsltc/match_namespace2.gif
deleted file mode 100644
index db10277..0000000
--- a/xdocs/sources/xsltc/match_namespace2.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/namespace_stack.gif b/xdocs/sources/xsltc/namespace_stack.gif
deleted file mode 100644
index a469d23..0000000
--- a/xdocs/sources/xsltc/namespace_stack.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/output_namespaces1.gif b/xdocs/sources/xsltc/output_namespaces1.gif
deleted file mode 100644
index 5068fc2..0000000
--- a/xdocs/sources/xsltc/output_namespaces1.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/output_namespaces2.gif b/xdocs/sources/xsltc/output_namespaces2.gif
deleted file mode 100644
index aaf7cf7..0000000
--- a/xdocs/sources/xsltc/output_namespaces2.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/output_settings.gif b/xdocs/sources/xsltc/output_settings.gif
deleted file mode 100644
index 804e087..0000000
--- a/xdocs/sources/xsltc/output_settings.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/overall_design.gif b/xdocs/sources/xsltc/overall_design.gif
deleted file mode 100644
index 32e9e98..0000000
--- a/xdocs/sources/xsltc/overall_design.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/pattern_objects.gif b/xdocs/sources/xsltc/pattern_objects.gif
deleted file mode 100644
index ea07393..0000000
--- a/xdocs/sources/xsltc/pattern_objects.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/runtime_architecture.gif b/xdocs/sources/xsltc/runtime_architecture.gif
deleted file mode 100644
index 9c8e2e7..0000000
--- a/xdocs/sources/xsltc/runtime_architecture.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/runtime_design.gif b/xdocs/sources/xsltc/runtime_design.gif
deleted file mode 100644
index c5d605a..0000000
--- a/xdocs/sources/xsltc/runtime_design.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/runtime_type_mapping.gif b/xdocs/sources/xsltc/runtime_type_mapping.gif
deleted file mode 100644
index 769a993..0000000
--- a/xdocs/sources/xsltc/runtime_type_mapping.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/sort_objects.gif b/xdocs/sources/xsltc/sort_objects.gif
deleted file mode 100644
index 0ec7cbb..0000000
--- a/xdocs/sources/xsltc/sort_objects.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/translet_wrapping.gif b/xdocs/sources/xsltc/translet_wrapping.gif
deleted file mode 100644
index c71b914..0000000
--- a/xdocs/sources/xsltc/translet_wrapping.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/trax_output_settings.gif b/xdocs/sources/xsltc/trax_output_settings.gif
deleted file mode 100644
index 804e087..0000000
--- a/xdocs/sources/xsltc/trax_output_settings.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/trax_translet_wrapping.gif b/xdocs/sources/xsltc/trax_translet_wrapping.gif
deleted file mode 100644
index c71b914..0000000
--- a/xdocs/sources/xsltc/trax_translet_wrapping.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/type_mapping.gif b/xdocs/sources/xsltc/type_mapping.gif
deleted file mode 100644
index bb3cbb9..0000000
--- a/xdocs/sources/xsltc/type_mapping.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/type_mappings.gif b/xdocs/sources/xsltc/type_mappings.gif
deleted file mode 100644
index 31f888c..0000000
--- a/xdocs/sources/xsltc/type_mappings.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/typecast.gif b/xdocs/sources/xsltc/typecast.gif
deleted file mode 100644
index 2a9c168..0000000
--- a/xdocs/sources/xsltc/typecast.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/uri_resolver.gif b/xdocs/sources/xsltc/uri_resolver.gif
deleted file mode 100644
index 4da7a35..0000000
--- a/xdocs/sources/xsltc/uri_resolver.gif
+++ /dev/null
Binary files differ
diff --git a/xdocs/sources/xsltc/xsl_choose_design.xml b/xdocs/sources/xsltc/xsl_choose_design.xml
deleted file mode 100644
index 1f4d3f7..0000000
--- a/xdocs/sources/xsltc/xsl_choose_design.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="&lt;xsl:choose&gt; / &lt;xsl:when&gt; / &lt;xsl:otherwise&gt;">
-
-  <s2 title="Contents">
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="implementation">Implementation</link></li>    
-  </ul>
-  </s2>
-
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-  <p>The <code>&lt;xsl:choose&gt;</code> element is used to determine one
-  course of action based on a series of tests. Each test is done inside an
-  <code>&lt;xsl:when&gt;</code> element. If a test succeeds, the body of the
-  <code>&lt;xsl:when&gt;</code> element is executed. If no tests fail then
-  a <code>&lt;xsl:otherwise&gt;</code> element can be used to specify a
-  default action:</p>
-
-  <source>
-    &lt;xsl:choose>
-      &lt;xsl:when test="element-available('some-extension')">
-          ...
-      &lt;/xsl:when>
-      &lt;xsl:when test="function-availabe('saxon:nodeset')">
-          ...
-      &lt;/xsl:when>
-      &lt;xsl:otherwise>
-          ...
-      &lt;/xsl:otherwise>
-    &lt;/xsl:choose></source>
-
-  </s2>
-
-  <anchor name="implementation"/>
-  <s2 title="Implementation">
-
-  <p>The <code>Choose</code> class places all <code>When</code> child-nodes
-  in a vector. The <code>Choose</code> class translates the "test"-attribute
-  of all <code>When</code> nodes (in strict order) and chains them together
-  in an if-else style. The expression that holds each test contains a true-
-  and a false-list. These lists are vectors of branch targets that should be
-  used if the test succeeds or fails, respectively. The first test's
-  false-list is pointed to the start of the next test (ie. if the first test
-  fails, then we run the next test). The last test's false-list points directly
-  to the code for the body of the <code>&lt;xsl:otherwise&gt;</code> element.
-  </p>
-
-  <p>Just as with the <code>&lt;xsl:if&gt;</code>-element, special care is
-  taken for the <code>element-available()</code> and
-  <code>function-available()</code> functions. These functions are evaluated at
-  compile-time (this can be done since all parameters for these functions are
-  literals) and the body of a <code>&lt;xsl:when&gt;</code> element is not
-  compiled if we know that it will never be needed at runtime.</p>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsl_comment_design.xml b/xdocs/sources/xsltc/xsl_comment_design.xml
deleted file mode 100644
index c1f306e..0000000
--- a/xdocs/sources/xsltc/xsl_comment_design.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="&lt;xsl:comment&gt; / &lt;xsl:message&gt;">
-
-  <ul>
-  <li><link anchor="functionality">Functionality</link></li>
-  <li><link anchor="implementation">Implementation</link></li>  
-  </ul>
-<anchor name="functionality"/>
-<s2 title="Functionality">
-
-  <p>The <code>&lt;xsl:comment&gt;</code> element is used to insert XML comments
-  into the result document. The comment is inserted as follows in the XSL
-  stylesheet:</p>
-
-  <source>    &lt;element&gt;
-      &lt;xsl:comment&gt;This is a comment!&lt;/xsl:comment&gt;
-    &lt;/element&gt;</source>
-
-  <p>and it will be output in the result document as follows:</p>
-
-  <source>    &lt;element&gt;
-      &lt;!-- This is a comment! --&gt;
-    &lt;/element&gt;</source>
-
-  <p>The <code>&lt;xsl:message&gt;</code> element is used to send messages to
-  who/whatever is performing the transformation. The message can be displayed
-  in a terminal, a dialog box, etc. The  <code>&lt;xsl:message&gt;</code> element
-  is used in the same way as the <code>&lt;xsl:comment&gt;</code> element,
-  however the message is <em>not</em> output in the result document.</p>
-
-  <p>The <code>&lt;xsl:message&gt;</code> element has an attribute
-  <code>"terminate"</code> which can be used to terminate the transformation at any
-  given stage. This is useful when using message to give information about
-  illegal values in the input document.</p>
-</s2><anchor name="implementation"/>
-<s2 title="Implementation">
-
-  <p>The output handler class has a method for outputting comments in the
-  output document and messages to the operator. The code compiled for a
-  comment gathers all text that goes into the comment in a StringValueHandler
-  object, retrieves the full text string from this handler, and then finally
-  sends it to the output handler. Similarly the code compiled for a message
-  will simply send the message to the output handler in use.</p>
-
-  <p>Messages will be output to the terminal (stdout) when a transformation
-  is run in a terminal. The message will be output before the beginning of the
-  output document. Messages will be shown in a dialog box if a transformation
-  is run in an applet.</p>
-
-  <p><code>&lt;xsl:message&gt;</code> elements that use the <code>"terminate"</code>
-  attribute to abort transformations cause an exception to be thrown. A
-  RuntimeException is used for this, and the exception text is:</p>
-  <p><code>Termination forced by an xsl:message instruction</code></p>
-  </s2>
-</s1>  
diff --git a/xdocs/sources/xsltc/xsl_if_design.xml b/xdocs/sources/xsltc/xsl_if_design.xml
deleted file mode 100644
index dbdd306..0000000
--- a/xdocs/sources/xsltc/xsl_if_design.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="&lt;xsl:if&gt;">
-
-  <s2 title="Contents">
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="implementation">Implementation</link></li>    
-  </ul>
-  </s2>
-
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-  <p>This element is cruical to XSL processing, but still very simple both in
-  its use and implementation. The element is used like this:</p><source>
-  &lt;xsl:if test="contains($the-world,'Elvis')">
-    &lt;xsl:message>Elvis is still alive!&lt;/xsl:message>
-  &lt;/xsl:if></source>
-
-  <p>The element's contents will only be executed if the test succeeds. There
-  is no <code>&lt;xsl:else&gt;</code> element. One has to use either several
-  <code>&lt;xsl:if&gt;</code>-elements or use a choose-element.</p>
-
-  </s2>
-
-  <anchor name="implementation"/>
-  <s2 title="Implementation">
-
-  <p>The basic implementation is very simple:</p>
-  <ul>
-    <li>execute the expression from the 'test'-attribute</li>
-    <li>evaluate the resulting boolean value</li>
-    <li>ignore the element contents if the value is 'false'</li>
-    <li>otherwise execute the element contents</li>
-  </ul>
-
-  <p>There is onle type of function call that makes this a bit more complicated.
-  The <code>function-available()</code> and <code>element-available()</code>
-  function calls can be used to test for extension elements and functions. A
-  very common use for these is to encapsulate all references to extension
-  elements inside an <code>&lt;xsl:if&gt;</code> element and test for the
-  existance of this element before attempting to use it. XSLTC has to support
-  this. Otherwise we may risk either outputting erronuous error or warning
-  messages about acessing non-existing elements, or even worse, compiling in
-  calls to non-existing methods in the translet, causing the JVM's verifier to
-  prevent the translet from being loaded.</p>
-
-  <p>The <code>function-available()</code> and <code>element-available()</code>
-  functions have been updated to perform an evaluation at compile-time, so that
-  the <code>If</code> class can know wether to compile in calls to extensions or
-  not. This is possible because both functions take only literal expressions as
-  parameters. See the <code>getResult()</code> methods of the
-  <code>FunctionAvailableCall</code> and <code>ElementAvailableCall</code>
-  classes for details.</p>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsl_include_design.xml b/xdocs/sources/xsltc/xsl_include_design.xml
deleted file mode 100644
index 4e1be0d..0000000
--- a/xdocs/sources/xsltc/xsl_include_design.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="&lt;xsl:include&gt; / &lt;xsl:import&gt;">
-
-  <s2 title="Contents">
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="implementation">Implementation</link></li>    
-  </ul>
-  </s2>
-
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-    <p><code>&lt;xsl:include&gt;</code> allows you to include one stylesheet
-    into another. The includ<em>ed</em> stylesheet's templates will have the same
-    default priorities and import precedence as the includ<em>ing</em> stylesheet.
-    <code>&lt;xsl:import&gt;</code> offers the same, but the import precedence
-    of elements in an import<em>ed</em> stylesheet is always less than that of
-    the import<em>ing</em> stylesheet.</p>
-   
-  </s2>
-
-  <anchor name="implementation"/>
-  <s2 title="Implementation">
- 
-    <anchor name="include"/>
-    <s3 title="&lt;xsl:include&gt;">
-
-    <p>This is the simplest case, so we will look at that first. The algorithm
-    for including another stylesheet is roughly:</p>
-
-    <ul>
-      <li>get the including stylesheet from the XSLT parser</li>
-      <li>get the value of the "href" attribute from the
-        <code>&lt;xsl:include&gt;</code> element and check for circular
-        includes/imports</li>
-      <li>check if there is a defined <code>SourceLoader</code> set either
-        through the native or the TrAX API</li>
-      <li>get an <code>InputSource</code> for the document to include, either
-        from the <code>SourceLoader</code> or from the document's URI</li>
-      <li>parse the input document using the compiler's XSLT parser</li>
-      <li>set the import precedence of the included stylesheet to the same as
-        the import precedence of the including stylesheet</li>
-      <li>get the top-level stylesheet from the XSLT parser</li>
-      <li>move all variables, parameters, and top-level elements (include
-        templates) from the included stylesheet to the top-level stylesheet
-        (all elements will keep their import precedence even after being moved
-        to the top-level stylesheet)</li>
-    </ul>
- 
-    </s3>    
-
-    <anchor name="import"/>
-    <s3 title="&lt;xsl:import&gt;">
-
-    <p>This is very similar to <code>&lt;xsl:include&gt;</code>, but import
-    precedence has to be handled differently. Looking at the code you'll find
-    this fragment:</p><source>
-    // Handle precedence for the including stylesheet
-    final int currPrecedence = parser.getCurrentImportPrecedence();
-    final int nextPrecedence = parser.getNextImportPrecedence();
-    _imported.setImportPrecedence(currPrecedence);
-    context.setImportPrecedence(nextPrecedence);</source>
-
-    <p>The important thing here is that the imported stylesheet has import
-    precedence <em>less</em> than the importing stylesheet. So the imported
-    stylesheet gets the current import precedence, while the current stylesheet
-    gets the next available (unused) import precedence. The
-    <code>Stylesheet</code> class has a method
-    <code>setImportPrecedence()</code> that ensures that the import precedence
-    is set not only for the stylesheet itself, but that it is also propagated
-    down to any included/imported stylesheets:</p><source>
-    public void setImportPrecedence(final int precedence) {
-	// Set import precedence for this stylesheet
-	_importPrecedence = precedence;
-
-	// Set import precedence for all included stylesheets
-	final Enumeration elements = elements();
-	while (elements.hasMoreElements()) {
-	    SyntaxTreeNode child = (SyntaxTreeNode)elements.nextElement();
-	    if (child instanceof Include) {
-		Stylesheet included = ((Include)child).getIncludedStylesheet();
-		if (included != null) included.setImportPrecedence(precedence);
-	    }
-	}
-
-	// Set import precedence for the stylesheet that imported this one
-	if (_importedFrom != null) {
-	    if (_importedFrom.getImportPrecedence() &lt; precedence) {
-		final Parser parser = getParser();
-		final int nextPrecedence = parser.getNextImportPrecedence();
-		_importedFrom.setImportPrecedence(nextPrecedence);
-	    }
-	}
-	// Set import precedence for the stylesheet that included this one
-	else if (_includedFrom != null) {
-	    if (_includedFrom.getImportPrecedence() != precedence)
-		_includedFrom.setImportPrecedence(precedence);
-	}
-    }</source>
-
-    <p>This method has been carefully cluttered together, and it works, and it
-    should not be touched.</p>
-
-    </s3>
-
-    <anchor name="apply-imports"/>
-    <s3 title="&lt;xsl:apply-imports&gt;">
-
-    </s3>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsl_key_design.xml b/xdocs/sources/xsltc/xsl_key_design.xml
deleted file mode 100644
index 9316f48..0000000
--- a/xdocs/sources/xsltc/xsl_key_design.xml
+++ /dev/null
@@ -1,296 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="&lt;xsl:key&gt; / key() / IdKeyPattern">
-
-  <s2 title="Contents">
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="implementation">Implementation</link></li>    
-  </ul>
-  </s2>
-
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-  <p>The <code>&lt;xsl:key&gt;</code> element is a top-level element that can be
-  used to define a named index of nodes from the source XML tree(s). The
-  element has three attributes:</p>
-
-  <ul>
-    <li>
-      <code>name</code> - the name of the index
-    </li>
-    <li>
-      <code>match</code> - a pattern that defines the nodeset we want
-      indexed
-    </li>
-    <li>
-      <code>use</code> - an expression that defines the value to be used
-      as the index key value.
-    </li>
-  </ul>
-
-  <p>A named index can be accessed using either the <code>key()</code> function
-  or a KeyPattern. Both these methods address the index using its defined name
-  (the "name" attribute above) and a parameter defining one or more lookup
-  values for the index. The function or pattern returns a node set containing
-  all nodes in the index whose key value match the parameter's value(s):</p>
-
-  <source>
-    &lt;xsl:key name="book-author" match="book" use="author"/&gt;
-        :
-        :
-    &lt;xsl:for-each select="key('book-author', 'Mikhail Bulgakov')"&gt;
-      &lt;xsl:value-of select="author"/&gt;
-      &lt;xsl:text&gt;: &lt;/xsl:text&gt;
-      &lt;xsl:value-of select="author"/&gt;
-      &lt;xsl:text&gt;&amp;#xa;&lt;/xsl:text&gt;
-    &lt;/xsl:for-each&gt;</source>
-
-  <p>The KeyPattern can be used within an index definition to create unions
-  and intersections of node sets:</p><source>
-    &lt;xsl:key name="cultcies" match="farmer | fisherman" use="name"/&gt;</source>
-
-  <p>This could have been done using regular <code>&lt;xsl:for-each&gt;</code>
-  and <code>&lt;xsl:select&gt;</code> elements. However, if your stylesheet
-  accesses the same selection of nodes over and over again, the transformation
-  will be much more efficient using pre-indexed keys as shown above.</p>
-
-  </s2>
-
-  <anchor name="implementation"/>
-  <s2 title="Implementation">
-
-    <anchor name="indexing"/>
-    <s3 title="Indexing">
-
-    <p>The <code>AbstractTranslet</code> class has a global hashtable that holds
-    an index for each named key in the stylesheet (hashing on the "name"
-    attribute of <code>&lt;xsl:key&gt;</code>). <code>AbstractTranslet</code>
-    has a couple of public methods for inserting and retrieving data from this
-    hashtable:</p><source>
-    public void buildKeyIndex(String keyName, int nodeID, String value);
-    public KeyIndex KeyIndex getKeyIndex(String keyName);</source>
-
-    <p>The <code>Key</code> class compiles code that traverses the input DOM and
-    extracts nodes that match some given parameters (the <code>"match"</code>
-    attribute of the <code>&lt;xsl:key&gt;</code> element). A new element is
-    inserted into the named key's index. The nodes' DOM index and the value
-    translated from the <code>"use"</code> attribute of the
-    <code>&lt;xsl:key&gt;</code> element are stored in the new entry in the
-    index.</p>
-
-    <p>Something similar is done for indexing IDs. This index is generated from
-    the <code>ID</code> and <code>IDREF</code> fields in the input document's
-    DTD. This means that the code for generating this index cannot be generated
-    at compile-time, which again means that the code has to be generic enough
-    to handle all DTDs. The class that handles this is the
-    <code>org.apache.xalan.xsltc.dom.DTDMonitor</code> class. This class
-    implements the <code>org.xml.sax.XMLReader</code> and
-    <code>org.xml.sax.DTDHandler</code> interfaces. A client application using
-    the native API must instanciate a <code>DTDMonitor</code> and pass it to the
-    translet code - if, and only if, it wants IDs indexed (one can improve
-    performance by omitting this step). This is descrived in the
-    <link idref="xsltc_native_api">XSLTC Native API reference</link>. The
-    <code>DTDMonitor</code> class will use the same indexing as the code
-    generated by the <code>Key</code> class. The index for ID's is called
-    "##id". We assume that no stylesheets will contain a key with this name.</p>
-
-    <p>The index itself is implemented in the
-    <code>org.apache.xalan.xsltc.dom.KeyIndex</code> class. The index has an
-    hashtable with all the values from the matching nodes (the part of the node
-    used to generate this value is the one specified in the <code>"use"</code>
-    attribute). For every matching value there is a bit-array (implemented in
-    the <code>org.apache.xalan.xsltc.BitArray</code> class), holding a list of
-    all node indexes for which this value gives a match:</p>
-    <p><img src="key_relations.gif" alt="key_relations.gif"/></p>
-    <p><ref>Figure 1: Indexing tables</ref></p>
-
-    <p>The <code>KeyIndex</code> class implements the <code>NodeIterator</code>
-    interface, so that it can be returned directly by the implementation of the
-    <code>key()</code> function. This is how the index generated by
-    <code>&lt;xsl:key&gt;</code> and the node-set returned by the
-    <code>key()</code> and KeyPattern are tied together. You can see how this is
-    done in the <code>translate()</code> method of the <code>KeyCall</code>
-    class.</p>
-
-    <p>The <code>key()</code> function can be called in two ways:</p><source>
-    key('key-name','value')
-    key('key-name','node-set')</source>
-
-    <p>The first parameter is always the name of the key. We use this value to
-    lookup our index from the _keyIndexes hashtable in AbstractTranslet:</p>
-    <source>
-    il.append(classGen.aloadThis());
-    _name.translate(classGen, methodGen);
-    il.append(new INVOKEVIRTUAL(getKeyIndex));</source>
-
-    <p>This compiles into a call to
-    <code>AbstractTranslet.getKeyIndex(String name)</code>, and it leaves a
-    <code>KeyIndex</code> object on the stack. What we then need to do it to
-    initialise the <code>KeyIndex</code> to give us nodes with the requested
-    value. This is done by leaving the <code>KeyIndex</code> object on the stack
-    and pushing the <code>"value"</code> parameter to <code>key()</code>, before
-    calling <code>lookup()</code> on the index:</p><source>
-    il.append(DUP);  // duplicate the KeyIndex obejct before return
-    _value.translate(classGen, methodGen);
-    il.append(new INVOKEVIRTUAL(lookup));</source>
-
-    <p>This compiles into a call to <code>KeyIndex.lookup(String value)</code>.
-    This will initialise the <code>KeyIndex</code> object to return nodes that
-    match the given value, so the <code>KeyIndex</code> object can be left on
-    the stack when we return. This because the <code>KeyIndex</code> object
-    implements the <code>NodeIterator</code> interface.</p>
-
-    <p>This matter is a bit more complex when the second parameter of
-    <code>key()</code> is a node-set. In this case we need to traverse the nodes
-    in the set and do a lookup for each node in the set. What I do is this:</p>
-
-    <ul>
-      <li>
-        construct a <code>KeyIndex</code> object that will hold the
-        return node-set
-      </li>
-      <li>
-        find the named <code>KeyIndex</code> object from the hashtable in
-        AbstractTranslet
-      </li>
-      <li>
-        get an iterator for the node-set and do the folowing loop:</li>
-        <ul>
-          <li>get string value for current node</li>
-          <li>do lookup in KeyIndex object for the named index</li>
-          <li>merge the resulting node-set into the return node-set</li>
-        </ul>
-      <li>
-        leave the return node-set on stack when done
-      </li>
-    </ul>
-
-    </s3>
-
-    <anchor name="improvements"/>
-    <s3 title="Possible indexing improvements">
-
-    <p>The indexing implementation can be very, very memeory exhaustive as there
-    is one <code>BitArray</code> allocated for each value for every index. This
-    is particulary bad for the index used for IDs ('##id'), where a single value
-    should only map to one, single node. This means that a whole
-    <code>BitArray</code> is used just to contain one node. The
-    <code>KeyIndex</code> class should be updated to hold the first node for a
-    value in an <code>Integer</code> object, and then replace that with a
-    <code>BitArray</code> or a <code>Vector</code> only is a second node is
-    added to the value. Here is an outline for <code>KeyIndex</code>:</p>
-    <source>
-
-    public void add(Object value, int node) {
-        Object container;
-	if ((container = (BitArray)_index.get(value)) == null) {
-            _index.put(value, new Integer(node));
-	}
-	else {
-            // Check if there is _one_ node for this value
-            if (container instanceof Integer) {
-                int first = ((Integer)container
-                _nodes = new BitArray(_arraySize);
-                _nodes.setMask(node &amp; 0xff000000);
-                _nodes.setBit(first &amp; 0x00ffffff);
-                _nodes.setBit(node &amp; 0x00ffffff);
-                _index.put(value, _nodes);
-            }
-            // Otherwise add node to axisting bit array
-            else {
-                _nodex = (BitArray)container;
-                _nodes.setBit(node &amp; 0x00ffffff);
-            }
-        }
-    }</source>
-
-    <p>Other methods inside the <code>KeyIndex</code> should be updated to
-    reflect this.</p>
-
-    </s3>
-
-    <anchor name="patterns"/>
-    <s3 title="Id and Key patterns">
-
-    <p>As already mentioned, the challenge with the <code>id()</code> and
-    <code>key()</code> patterns is that they have no specific node type. 
-    Patterns are normally grouped based on their pattern's "kernel" node type.
-    This is done in the <code>org.apache.xalan.xsltc.compiler.Mode</code> class.
-    The <code>Mode</code> class has a method, <code>flatternAlaternative</code>,
-    that does this grouping, and all templates with a common kernel node type
-    will be inserted into a "test sequence". A test sequence is a set templates
-    with the same kernel node type. The <code>TestSeq</code> class generates
-    code that will figure out which pattern, amongst several patterns with the
-    same kernel node type, that matches a certain node. This is used by the
-    <code>Mode</code> class when generating the <code>applyTemplates</code>
-    method in the translet. A test sequence is also generated for all templates
-    whose pattern does not have a kernel node type. This is the case for all
-    Id and KeyPatterns. This test sequence, if necessary, is put before the
-    big <code>switch()</code> in the <code>applyTemplates()</code> mehtod. This
-    test has to be done for every single node that is traversed, causing the
-    transformation to slow down siginificantly. This is why we do <em>not</em>
-    recommend using this type of patterns with XSLTC.</p>
-
-    </s3>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsl_lang_design.xml b/xdocs/sources/xsltc/xsl_lang_design.xml
deleted file mode 100644
index 863929b..0000000
--- a/xdocs/sources/xsltc/xsl_lang_design.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="lang() function">
-
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="implementation">Implementation</link></li>    
-  </ul>
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-  <p>The <code>xml:lang</code> can be used to determine the language for a node or
-  a node-set. The attribute can be used to store language-specific data in an
-  XML document:</p>
-
-  <source>
-    &lt;phrases&gt;
-      &lt;greeting xml:lang="en"&gt;Hello!&lt;/greeting&gt;
-      &lt;greeting xml:lang="no"&gt;Hei!&lt;/greeting&gt;
-      &lt;greeting xml:lang="fr"&gt;Salut!&lt;/greeting&gt;
-      &lt;greeting xml:lang="es"&gt;Hola!&lt;/greeting&gt;
-      &lt;greeting xml:lang="de"&gt;Sweinhund!&lt;/greeting&gt;
-    &lt;/phrases&gt;
-  </source>
-
-  <p>The XSL stylesheet can use the <code>lang()</code> function to select the
-  element with the desired language:</p>
-
-  <source>
-    &lt;xsl:template match="greeting"&gt;
-      &lt;xsl:if test="lang("de")&gt;
-        &lt;xsl:value-of select="."/&gt;
-        &lt;xsl:text&gt; Grossglucklicher wunche!&lt;/xsl:text&gt;
-      &lt;/xsl:if&gt;
-    &lt;/xsl:template&gt;
-  </source>
-</s2> <anchor name="implementation"/>
-<s2 title="Implementation">
-
-  <p>The DOM interface has been given a method that returns the language for
-  a given node. The language is returned as a string (on whatever format is
-  used in the XML document - should be iso), and may be null if no language is
-  defined.</p>
-
-  <source>
-    public String DOM.getLanguage(int node);
-  </source>
-
-  <p>The BasisLibrary class has a static method that will compare the language
-  of the context node with some other language and return the result as a
-  boolean.</p>
-
-  <source>
-    public static boolean BasisLibrary.testLanguage(String language, DOM dom, int node);
-  </source>
-
-  <p>The compiled code for the <code>lang()</code> method calls this method in the
-  BasisLibrary and leaves the result on the stack for the calling element.</p>
-  </s2>
-</s1>
diff --git a/xdocs/sources/xsltc/xsl_sort_design.xml b/xdocs/sources/xsltc/xsl_sort_design.xml
deleted file mode 100644
index 40ad312..0000000
--- a/xdocs/sources/xsltc/xsl_sort_design.xml
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="&lt;xsl:sort&gt;">
-
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="sort-class">The Sort class</link></li>
-    <li><link anchor="iterator">The SortingIterator class</link></li>
-    <li><link anchor="sortrecord">The NodeSortRecord class</link></li>    
-    <li><link anchor="recordfactory">The NodeSortRecordFactory class</link></li>
-  </ul>
-  
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-  <p>The <code>&lt;xsl:sort&gt;</code> element is used to define a sort key
-  which specifies the order in which nodes selected by either
-  <code>&lt;xsl:apply-templates&gt;</code> or <code>&lt;xsl:for-each&gt;</code>
-  are processed. The nodes can be sorted either in numerical or alphabetic
-  order, and the alphabetic order may vary depeinding on the language in use.
-  The nodes can be sorted either in ascending or descending order.</p>
-
-  </s2><anchor name="sort-class"/>
-  <s2 title="The Sort class">
-
-  <p>Static methods of the Sort class is responsible for generating the
-  necessary code for invoking SortingIterators under
-  <code>&lt;xsl:apply-templates&gt;</code> and <code>&lt;xsl:for-each&gt;</code>
-  elements. Both these elements can have several <code>&lt;xsl:sort&gt;</code>
-  child nodes defining primary, secondary, teriary, etc. keys. The code for
-  <code>&lt;xsl:apply-templates&gt;</code> and <code>&lt;xsl:for-each&gt;</code>
-  create  vectors containg a Sort object for each sort key. The object methods
-  of the Sort object encapsulate a container for key-specific data (such as the
-  sort key itself, sort order, sort type, and such) while the static methods
-  take a vector of Sort objects and generate the actual code.</p>
-
-  <p>The <code>translate()</code> method of the Sort object is never called. The
-  vectors containing the Sort objects for a <code>&lt;xsl:apply-templates&gt;</code>
-  or <code>&lt;xsl:for-each&gt;</code> element are instead passed to the static
-  <code>translateSortIterator()</code> method. This method compiles code that
-  instanciates a SortingIterator object that will pass on a node-set in a
-  specific order to the code handling the <code>&lt;xsl:apply-templates&gt;</code>
-  or <code>&lt;xsl:for-each&gt;</code> element.</p>
-
-  </s2><anchor name="iterator"/>
-  <s2 title="The SortingIterator class">
-
-  <p>The SortingIterator class is responsible for sorting nodes encapsulated in
-  sort obects. These sort objects must be of a class inheriting from
-  NodeSortRecord, a the SortingIterator object needs a factory object providing
-  it with the correct type of objects:</p>
-
-  <p><img src="sort_objects.gif" alt="sort_objects.gif"/></p>
-  <p><ref>Figure 1: SortingIterator</ref></p>
-
-  <p>The SortingIterator class is fairly dumb and leaves much of the work to the
-  NodeSortRecord class. The iterator gets the NodeSortRecords from the factory
-  object and sorts them using quicksort and calling <code>compareTo()</code> on
-  pairs of NodeSortRecord objects.</p>
-
-  </s2><anchor name="sortrecord"/>
-  <s2 title="The NodeSortRecord class">
-
-  <p>The static methods in the Sort class generates a class inheriting from
-  NodeSortRecord, with the following overloaded methods:</p>
-
-  <ul>
-    <li><em>Class Constructor</em></li>
-      <ul><li>The class constructor is overloaded to create sort-key global
-      tables, such as an array containing the sort order for all the sort keys
-      and another array containg all the sort types. Different sort order/types
-      can be specified for the different levels of sort keys, but we assume that
-      the same language is used for all levels.</li></ul>
-      
-    <li><code>extractValueFromDOM(int level)</code></li>
-      <ul><li>This method is called by the SortingIterator object to extract the
-      value for a specific sort key for a node. The SortingIterator will only
-      use this method once and will cache the returned value for later use. The
-      method will only be called if absultely necessary.</li></ul>
-
-    <li><code>compareType(int level)</code></li>
-      <ul><li>This method returns the sort type for one sort key level. Returns
-      either <code>COMPARE_STRING</code> or <code>COMPARE_NUMERIC</code>.</li></ul>
-    
-    <li><code>sortOrder(int level)</code></li>
-      <ul><li>This method returns the sort order for one sort key level. Returns
-      either <code>COMPARE_ASCENDING</code> or <code>COMPARE_DESCENDING</code></li></ul>
-    
-    <li><code>getCollator(int level)</code></li>
-      <ul><li>This method returns a Collator object for language-specific
-      string comparisons. The same Collator is used for all levels of the key.
-      </li></ul> 
-  </ul>
-
-  <p>The <code>compareTo()</code> method of the NodeSortRecord base class deserves
-  a bit of attention. It takes its own node (from the this pointer) and another
-  node and compares, if necessary, the values for all sort keys:</p>
-
-  <source>
-    /**
-     * Compare this sort element to another. The first level is checked first,
-     * and we proceed to the next level only if the first level keys are
-     * identical (and so the key values may not even be extracted from the DOM)
-     */
-    public int compareTo(NodeSortRecord other) {
-	int cmp;
-    
-	for (int level=0; level&lt;_levels; level++) {
-	    
-	    // Compare the two nodes either as numeric or text values
-	    if (compareType(level) == COMPARE_NUMERIC) {
-		final Double our = numericValue(level);
-		final Double their = other.numericValue(level);
-		if (our == null) return(-1);
-		if (their == null) return(1);
-		cmp = our.compareTo(their);
-	    }
-	    else {
-		String our = stringValue(level);
-		String their = other.stringValue(level);
-		if (our == null) return(-1);
-		if (their == null) return(1);
-		cmp = getCollator().compare(our,their);
-	    }
-	    
-	    // Return inverse compare value if inverse sort order
-	    if (cmp != 0) {
-		if (sortOrder(level) == COMPARE_DESCENDING)
-		    return(0 - cmp);
-		else
-		    return(cmp);
-	    }
-	    
-	}
-	return(0);
-    }
-  </source>
-
-  <p>The two methods <code>stringValue(int level)</code> and 
-  <code>numericValue(int level)</code> return values for one level of the sort key
-  of a node. These methods cache these values after they are first read so that
-  the <code>DOM.getNodeValue()</code> is only called once. Also, the algorithm
-  used for these two methods assure that <code>DOM.getNodeValue()</code> is only
-  called when needed. The value for a node's secondary sort key is never
-  retrieved if the node can be uniquely identified by its primary key.</p>
-
-  </s2><anchor name="recordfactory"/>
-  <s2 title="The NodeSortRecordFactory class">
-
-  <p>After the static methods of the Sort class has generated the new class for
-  sort objects it generates code that instanciates a new NodeSortRecordFactory
-  object. This object is passed as a parameter to SortingIterators constructor
-  and is used by the iterator to generate the necessary sort objects.</p>
-
-  </s2>
-</s1>
diff --git a/xdocs/sources/xsltc/xsl_unparsed_design.xml b/xdocs/sources/xsltc/xsl_unparsed_design.xml
deleted file mode 100644
index eca0ad9..0000000
--- a/xdocs/sources/xsltc/xsl_unparsed_design.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 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/>.
- -->
-  <s1 title="unparsed-entity-uri()">
-
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="implementation">Implementation</link></li>
-  </ul>
-  
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-
-  <p>The <code>unparsed-entity-uri()</code> function gives access to declarations
-  of unparsed entities in the DTD of the source document. If the DTD contains
-  the declaration:</p>
-
-  <source>
-    &lt;!ENTITY mom-picture SYSTEM "http://www.home.com/mom.jpg" NDATA JPEG&gt;
-  </source>
-
-  <p>the expression <code>unparsed-entity-uri('mom-picture')</code> returns an
-  URI for the file <code>mom.jpg</code>.</p>
-
-  </s2><anchor name="implementation"/>
-  <s2 title="Implementation">
-
-  <p>Unparsed entities must be gathered from the XML input document at the time
-  when the DOM is built. To achieve this our parser must parse the document DTD
-  (if any) and store all data of type NDATA (not XML data) in a
-  hashtable in the AbstractTranslet object. All the compiled code for this
-  function needs to do is call a method in the translet for retrieving the
-  value for the requested element:</p>
-
-  <source>
-    public String AbstractTranslet.getUnparsedEntity(String entityName);
-  </source>
-
-  <p>The translet will use the supplied <code>entityName</code> to look up the
-  value in the hashtable and then leave the string value on the stack for the
-  element that called <code>lang()</code>.</p>
-  </s2>
-</s1>
diff --git a/xdocs/sources/xsltc/xsl_variable_design.xml b/xdocs/sources/xsltc/xsl_variable_design.xml
deleted file mode 100644
index ccdcf3f..0000000
--- a/xdocs/sources/xsltc/xsl_variable_design.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="&lt;xsl:variable&gt; / &lt;xsl:param&gt;">
-
-  <s2 title="Contents">
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="implementation">Implementation</link></li>    
-  </ul>
-  </s2>
-
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-  <p>Variables in XSLT are not really variables, as their values cannot be
-  changed. They resemble constants from conventional programming languages. The
-  only way in which a variable can be changed is by declaring it inside a
-  for-each loop, in which case its value will be updated for every iteration.
-  Top-level variables (variables that are direct child nodes of the
-  <code>&lt;xsl:stylesheet&gt;</code> element) can never be changed.</p>
-
-  <source>
-    &lt;xsl:for-each select="/foo/bar">
-      &lt;xsl:variable name="some-bar" select="."/>
-      &lt;xsl:value-of select="$some-bar"/>
-    &lt;/xsl:for-each></source>
-
-  <p>Parameters are assigned a value either from the process that invoked
-  the stylesheet (top-level parameter), or from a
-  <code>&lt;xsl:with-param&gt;</code> or from a default value (in which case it
-  behaves as if it was a variable).</p>
-
-  <source>
-    &lt;xsl:template match="/">
-      &lt;xsl:call-template name="blob">
-        &lt;xsl:with-param name="par" select="'some-value'"/>
-      &lt;/xsl:call-template>
-    &lt;/xsl:template>
-
-    &lt;xsl:template name="blob">
-      &lt;xsl:param name="par" select="'default-value'"/>
-      &lt;xsl:value-of select="$param"/>
-    &lt;/xsl:template></source>
-
-  </s2>
-
-  <anchor name="implementation"/>
-  <s2 title="Implementation">
-
-    <p>Variables and parameters share a common base class
-    <code>VariableBase</code> that contains a lot of common methods. This class
-    handles both global and local variables/parameters.</p>
-
-    <s3 title="Top-level parameters and variables">
-
-    <p>All top-level (ie. global) parameters and variables are stored inside
-    fields in the translet class. Variables are stored as objects or basic
-    data types (such as boolean, char, int, etc.) while parameters have to be
-    "boxed" inside an object. This is because parameters are also stored as
-    objects inside the translet. The <code>addParameter()</code> method of the
-    <code>AbstractTranslet</code> class stores the parameter in a Hashtable
-    (the Hashtable maps the parameter name to the parameter value). The
-    "boxing" of the parameter's value is done by the class that handles the
-    parameters type. This class is a subclass of
-    <code>org.apache.xalan.xsltc.compiler.util.Type</code>.</p>
-
-    <p>Note that all top-level parameters and variables from all imported and
-    included stylesheets will be placed as direct children of the top-level
-    stylesheet in the AST. This done to make global variables truly global and
-    not just global in the stylesheet where it was declared.</p>
-
-    </s3>
-
-    <s3 title="Local parameters and variables">
-
-    <p>Local variables that are accessible from a given syntax tree node will
-    first be put on the JVM's stack and stored in a local variable slot. This
-    makes the variable or parameter accessible from all code within that
-    method. But, in some special cases, the code that is compiled to handle an
-    element/expression within the variable scope is not put inside the same
-    method as the actual variable. This is the case for some predicates.
-    All syntax-tree nodes implement the <code>isClosureBoundary()</code> method
-    to indicate if its child an ancestor nodes will end up in a different method
-    then itself. This method is used by the <code>Variable</code> and
-    <code>Param</code> classes to determine if the variable or parameter will
-    "escape" the variable frame.</p>
-
-    <source>
-    &lt;xsl:for-each select="/foo/bar/baz">
-        &lt;xsl:variable name="pos" select="3"/>
-        &lt;xsl:apply-templates select="/foo/bar[$pos]"/>
-    &lt;/xsl:for-each></source>
-
-    <p>The predicate in this stylesheet fragment is compiled into a separate
-    auxiliary class that implements the <code>Filter</code> interface. It will
-    therefore not have access to the variable "pos" in the current stack frame.
-    A common technique for cases like this is to use a <em>"closure"</em>. A
-    closure is a record that contains references to all variables that are in
-    scope for a certain part of the compiled scope. This is done in a very
-    simple manner in XSLTC. All variables or parameters that can "escape" the
-    stack are passed to the translet via its <code>addVariable()</code> method.
-    They can then later be retrieved by the <code>getVariable()</code> method.
-    </p>
-
-    <p><em>Important note 1:</em> A predicate does not always result in a
-    auxiliary class. In some cases we optimize the code by using tailored
-    iterators and goodies like that instead. We may want to update the
-    predicate code to check if an auxiliary class will be generated before
-    returning true or false from the <code>isClosureBoundary()</code>
-    method.</p>
-
-    <p><em>Important note 2:</em> There could be other closure boundaries
-    that we have not yet discovered or considered. This could be, for instance,
-    sort records and other auxiliary classes:</p>
-
-    <source>
-    &lt;xsl:variable name="sort-order" select="'decending'"/>
-    &lt;xsl:for-each select="/foo/bar/baz">
-        &lt;xsl:sort select="@name" order="$sort-order"/>
-        &lt;xsl:value-of select="."/>
-    &lt;/xsl:for-each></source>
-
-    <p>I would not be surprised if this fails. A fix could be to implement the
-    <code>isClosureBoundary()</code> in the <code>Sort</code> class and have the
-    method return 'true' in all cases.</p>
-
-    </s3>
-
-    <s3 title="Parameter and variable references">
-
-    <p>A parameter or variable reference does the oposite of a parameter or
-    variable. The value is read from either a global field, a local variable
-    slot or from a call to <code>getVariable()</code> /
-    <code>getParameter()</code>. The chosen method depends is we're dealing with
-    a parameter or a variable, a global or a local, an escaping variable or not.
-    </p>
-
-    <p>The XPath parser identifies all variable references and instanciates
-    either a <code>VariableRef</code> or a <code>ParameterRef</code>. The XPath
-    parser calls the parser's <code>lookupVariable</code> method in an initial
-    attempt to find the variable/parameter instance. If that fails, it goes on
-    to call the symbol table's <code>lookupName()</code> method. If that also
-    fails this means that either:</p>
-
-    <ul>
-      <li>a variable or parameter with the given name does not exist</li>
-      <li>the variable will be declared at a later stage
-      (but within the same scope)</li>
-    </ul>
-
-    <p>The XPath parser creates an instance of the <code>UnresolvedRef</code>
-    class. This class attempts to locate the variable after the whole AST has
-    been built, when the <code>typeCheck()</code> method is called. If this
-    fails an error is reported and the compilation stops. Otherwise the class
-    creates a <code>VariableRef</code> or a <code>ParameterRef</code> instance
-    and lets that handle the reference.</p>
-
-    </s3>
-
-    <s3 title="Forward references">
-
-    <p>XSLTC allows for forward references to global variables and parameters.
-    You can even reference variables in not-yet included/imported stylesheets.
-    In most cases, this is handled by changing the order of top-level elements.
-    (Variables are placed first so that they are handled before any includes
-    or imports).  But when a variable contains references to other variables,
-    then this requires some extra code in the <code>Stylesheet</code> and
-    <code>VariableBase</code> classes. The <code>VariableBase</code> has a
-    method that returns a vector containing all variables that are referenced
-    in the variable definition.</p>
-
-    <source>
-    &lt;xsl:variable name="C" select="$A &lt; $B"/>
-    &lt;xsl:variable name="A" select="1"/>
-    &lt;xsl:variable name="B" select="2"/></source>
-
-    <p>In this case, the <code>getDependencies()</code> method for variable
-    C will return the variables A and B. The stylesheet has a method called
-    <code>resolveReferences</code> that will order the variables accordingly
-    so that the variable values are computed in the desired order. This method
-    will issue an error message and terminate the compilation if there are
-    circular variable/parameter dependencies.</p>
-
-    </s3>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsl_whitespace_design.xml b/xdocs/sources/xsltc/xsl_whitespace_design.xml
deleted file mode 100644
index f03578d..0000000
--- a/xdocs/sources/xsltc/xsl_whitespace_design.xml
+++ /dev/null
@@ -1,343 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-  <s1 title="&lt;xsl:strip/preserve-space&gt;">
-
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="identify">Identifying strippable whitespace nodes</link></li>
-    <li><link anchor="which">Determining which nodes to strip</link></li>
-    <li><link anchor="strip">Stripping nodes</link></li>
-    <li><link anchor="filter">Filtering whitespace nodes</link></li>
-  </ul>
-  
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-  <p>The <code>&lt;xsl:strip-space&gt;</code> and <code>&lt;xsl:preserve-space&gt;</code>
-  elements are used to control the way whitespace nodes in the source XML
-  document are handled. These elements have no impact on whitespace in the XSLT
-  stylesheet. Both elements can occur only as top-level elements, possible more
-  than once, and the elements are always empty</p>
- 
-  <p>Both elements take one attribute &quot;elements&quot; which contains a
-  whitespace separated list of named nodes which should be or preserved
-  stripped from the source document. These names can be on one of these three
-  formats (NameTest format):</p>
-
-  <ul>
-    <li>
-      All whitespace nodes:
-      <code>elements=&quot;*&quot;</code>
-    </li>
-    <li>
-      All whitespace nodes with a namespace:
-      <code>elements=&quot;&lt;namespace&gt;:*&quot;</code>
-    </li>
-    <li>
-      Specific whitespace nodes: <code>elements=&quot;&lt;qname&gt;&quot;</code>
-    </li>
-  </ul>
-
-  </s2><anchor name="identify"/>
-  <s2 title="Identifying strippable whitespace nodes">
-
-  <p>The DOM detects all text nodes and assigns them the type <code>TEXT</code>.
-  All text nodes are scanned to detect whitespace-only nodes. A text-node is
-  considered a whitespace node only if it consist entirely of characters from
-  the set { 0x09, 0x0a, 0x0d, 0x20 }. The DOM implementation class has a static
-  method used to detect such nodes:</p>
-
-<source>
-    private static final boolean isWhitespaceChar(char c) {
-        return c == 0x20 || c == 0x0A || c == 0x0D || c == 0x09;
-    }
-</source>
-
-  <p>The characters are checked in probable order.</p>
-
-  <p> The DOM has a bit-array that is used to  tag text-nodes as strippable
-  whitespace nodes:</p>
-
-  <source>private int[] _whitespace;</source>
-
-  <p>There are two methods in the DOM implementation class for accessing this
-  bit-array: <code>markWhitespace(node)</code> and <code>isWhitespace(node)</code>.
-  The array is resized together with all other arrays in the DOM by the
-  <code>DOM.resizeArrays()</code> method. The bits in the array are set in the
-  <code>DOM.maybeCreateTextNode()</code> method. This method must know whether
-  the current node is a located under an element with an
-  <code>xml:space=&quot;&lt;value&gt;&quot;</code> attribute in the DOM, in which
-  case it is not a strippable whitespace node.</p>
-
-  <p>An auxillary class, WhitespaceHandler, is used for this purpose. The class
-  works in a way as a stack, where you "push" a new strip/preserve setting
-  together with the node in which this setting was determined. This means that
-  for every time the DOM builder encounters an <code>xml:space</code> attribute
-  it will invoke a method on an instance of the WhitespaceHandler class to
-  signal that a new preserve/strip setting has been encountered. This is done
-  in the <code>makeAttributeNode()</code> method. The whitespace handler stores the
-  new setting and pushes the current element node on its stack. When the
-  DOM builder closes up an element (in <code>endElement()</code>), it invokes
-  another method of the whitespace handler to check if the strip/preserve
-  setting is still valid. If the setting is now invalid (we're closing the
-  element whose node id is on the top of the stack) the handler inverts the
-  setting and pops the element node id off the stack. The previous
-  strip/preserve setting is then valid, and the id of node where this setting
-  was defined is on the top of the stack.</p>
-
-  </s2><anchor name="which"/>
-  <s2 title="Determining which nodes to strip">
-
-  <p>A text node is never stripped unless it contains only whitespace
-  characters (Unicode characters 0x09, 0x0A, 0x0D and 0x20). Stripping a text
-  node means that the node disappears from the DOM; so that it is never
-  included in the output and that it is ignored by all functions such as
-  <code>count()</code>. A text node is preserved if any of the following apply:</p>
-
-  <ul>
-    <li>
-      the element name of the parent of the text node is in the set of
-      elements listed in <code>&lt;xsl:preserve-space&gt;</code>
-    </li>
-    <li>
-      the text node contains at least one non-whitespace character
-    </li>
-    <li>
-      an ancenstor of the whitespace text node has an attribute of
-      <code>xsl:space=&quot;preserve&quot;</code>, and no close ancestor has and
-      attribute of <code>xsl:space=&quot;default&quot;</code>.
-    </li>
-  </ul>
-
-  <p>Otherwise, the text node is stripped. Initially the set of 
-  whitespace-preserving element names contains all element names, so the
-  default behaviour is to preserve all whitespace text nodes.</p>
-
-  <p>This seems simple enough, but resolving conflicts between matching
-  <code>&lt;xsl:strip-space&gt;</code> and <code>&lt;xsl:preserve-space&gt;</code>
-  elements requires a lot of thought. Our first consideration is import
-  precedence; the match with the highest import precedence is always chosen.
-  Import precedence is determined by the order in which the compared elements
-  are visited. (In this case those elements are the top-level
-  <code>&lt;xsl:strip-space&gt;</code> and <code>&lt;xsl:preserve-space&gt;</code>
-  elements.) This example is taken from the XSLT recommendation:</p>
-
-  <ul>
-    <li>stylesheet A imports stylesheets B and C in that order;</li>
-    <li>stylesheet B imports stylesheet D;</li>
-    <li>stylesheet C imports stylesheet E.</li>
-  </ul>
-
-  <p>Then the order of import precedence (lowest first) is D, B, E, C, A.</p>
-
-  <p>Our next consideration is the priority of NameTests (XPath spec):</p>
-  <ul>
-    <li>
-      <code>elements=&quot;&lt;qname&gt;&quot;</code> has priority 0
-    </li>
-    <li>
-      <code>elements=&quot;&lt;namespace&gt;:*&quot;</code> has priority -0.25
-    </li>
-    <li>
-      <code>elements=&quot;*&quot;</code> has priority -0.5
-    </li>
-  </ul>
-
-  <p>It is considered an error if the desicion is still ambiguous after this,
-  and it is up to the implementors to decide what the apropriate action is.</p>
-
-  <p>With all this complexity, the normal usage for these elements is quite
-  smiple; either preserve all whitespace nodes but one type:</p>
-
-  <source>&lt;xsl:strip-space elements="foo"/&gt;</source>
-
-  <p>or strip all whitespace nodes but one type:</p>
-
-  <source>
-    &lt;xsl:strip-space elements="*"/&gt;
-    &lt;xsl:preserve-space elements="foo"/&gt;</source>
-
-  </s2><anchor name="strip"/>
-  <s2 title="Stripping nodes">
-
-  <p>The ultimate goal of our design would be to totally screen all stripped
-  nodes from the translet; to either physically remove them from the DOM or to
-  make it appear as if they are not there. The first approach will cause
-  problems in cases where multiple translets access the same DOM. In the future
-  we wish to let translets run within servlets / JSPs with a common DOM cache.
-  This DOM cache will keep copies of DOMs in memory to prevent the same XML
-  file from being downloaded and parsed several times. This is a scenarios we
-  might see:</p>
-
-    <p><img src="DOMInterface.gif" alt="DOMInterface.gif"/></p>
-    <p><ref>Figure 1: Multiple translets accessing a common pool of DOMs</ref></p>
-
-  <p>The three translets running on this host access a common pool of 4 DOMs.
-  The DOMs are accessed through a common DOM interface. Translets accessing
-  a single DOM will have a DOMAdapter and a single DOMImpl object behind this
-  interface, while translets accessing several DOMs will be given a MultiDOM
-  and a set of DOMImpl objects.</p>
-
-  <p>The translet to the left may want to strip some nodes from the shared DOM
-  in the cache, while the other translets may want to preserve all whitespace
-  nodes. Our initial thought then is to keep the DOM as it is and somehow
-  screen the left-hand translet of all the whitespace nodes it does not want to
-  process. There are a few ways in which we can accomplish this:</p>
-
-  <ul>
-    <li>
-      The translet can, prior to starting to traverse the DOM, send a reference
-      to the tables containing information on which nodes we want stripped to
-      the DOM interface. The DOM interface is then responsible for hiding all
-      stripped whitespace nodes from the iterators and the translet. A problem
-      with this approach is that we want to omit the DOM interface layer if
-      the translet is only accessing a single DOM. The DOM interface layer will
-      only be instanciated by the translet if the stylesheet contained a call
-      to the <code>document()</code> function.<br/><br/>
-    </li>
-    <li>
-      The translet can provide its iterators with information on which nodes it
-      does not want to see. The translet is still shielded from unwanted
-      whitespace nodes, but it has the hassle of passing extra information over
-      to most iterators it ever instanciates. Note that all iterators do not
-      need be aware of whitepspace nodes in this case. If you have a look at
-      the figure again you will see that only the first level iterator (that is
-      the one closest to the DOM or DOM interface) will have to strip off
-      whitespace nodes. But, there may be several iterators that operate
-      directly on the DOM ( invoked by code handling XSL functions such as
-      <code>count()</code>) and every single one of those will need to be told
-      which whitespace nodes the translet does not want to see.<br/><br/>
-    </li>
-    <li>
-      The third approach will take advantage of the fact that not all
-      translets will want to strip whitespace nodes. The most effective way of
-      removing unwanted whitespace nodes is to do it once and for all, before
-      the actual traversal of the DOM starts. This can be done by making a
-      clone of the DOM with exlusive-access rights for this translet only. We
-      still gain performance from the cache because we do not have to pay the
-      cost of the delay caused by downloading and parsing the XML source file.
-      The cost we have to pay is the time needed for the actual cloning and the
-      extra memory we use.<br/><br/>
-      Normally one would imagine the translet (or the wrapper class that
-      invokes the translet) calls the DOM cache with just an URL and receives
-      a reference to an instanciated DOM. The cache will either have built
-      this DOM on-demand or just passed back a reference to an existing tree.
-      In this case the DOM would need an extra call that a translet would use
-      to clone a DOM, passing the existing DOM reference to the cache and
-      recieving a new reference to the cloned DOM. The translet can then do
-      whatever it wants with this DOM (the cache need not even keep a reference
-      to this tree).
-    </li>
-  </ul>
-  
-  <p>We are lucky enough to be able to combine the first two approaches. All
-  iterators that directly access the DOM (axis iterators) are instanciated by
-  calls to the DOM interface layer (the DOM class). The actual iterators are
-  created in the DOM implementation layer (the DOMImpl class). So, we can pass
-  references to the preserve/strip whitespace tables to the DOM, and the DOM
-  will make sure that all axis iterators return node sets with respect to these
-  tables.</p>
-  </s2><anchor name="filter"/> 
-  <s2 title="Filtering whitespace nodes">
-
-  <p>For each axis iterator and for <code>DOM.makeStringValue()</code> and
-  <code>DOM.stringValueAux()</code> we must apply a filter for eliminating all
-  unwanted whitespace nodes. To achive this we must build a very efficient
-  predicate for determining if the current node should be stripped or not. This
-  predicate is built by <code>Whitespace.compilePredicate()</code>. This method is
-  static and builds a predicate for a vector of WhitespaceRule objects. (The
-  WhitespaceRule class is defined within the Whitespace class.) Each
-  WhitespaceRule object contains information for a single element listed
-  in an <code>&lt;xsl:strip/preserve-space&gt;</code> element, and is broken down
-  into the following information:</p>
-
-  <ul>
-    <li>the namespace (can be the default namespace)</li>
-    <li>the element name or "<code>*</code>"</li>
-    <li>the type of rule; NS:EL, NS:<code>*</code> or <code>*</code></li>
-    <li>the priority of the rule (based on import precedence and type)</li>
-    <li>the action; either strip or preserver</li>
-  </ul>
-
-  <p>The Vector of WhitespaceRules is arranged in order of priority and
-  redundant rules are removed. A predicate method is then compiled into the
-  translet as:</p>
-
-<source>
-    public boolean stripSpace(int node);
-</source>
-
-  <p>Unfortunately this method cannot be declared static.</p>
-
-  <p>When the Stylesheet objectcompiles the <code>topLevel()</code> method of the
-  translet it checks for the existance of the <code>stripSpace()</code> method. If
-  this method exists the <code>topLevel()</code> will be compiled to pass the
-  translet to the DOM as a StripWhitespaceFilter (the translet implements this
-  interface when the <code>stripSpace()</code> method is compiled).</p>
-
-  <p>All axis iterators and the <code>DOM.makeStringValue()</code> and
-  <code>DOM.stringValueAux()</code> methods check for the existance of this filter
-  (it is kept in a global variable in the DOM implementation class) and takes
-  the appropriate actions. The methods in the DOM for returning axis iterators
-  will place a StrippingIterator on top of the axis iterator if the filter is
-  present, and the two methods just mentioned will return empty strings for
-  whitespace nodes that should be stripped.</p>
- 
-  </s2>
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_compiler.xml b/xdocs/sources/xsltc/xsltc_compiler.xml
deleted file mode 100644
index f6ce627..0000000
--- a/xdocs/sources/xsltc/xsltc_compiler.xml
+++ /dev/null
@@ -1,382 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-
-<s1 title="XSLTC Compiler Design">
-
-  <ul>  
-    <li><link anchor="overview">Compiler Overview</link></li>
-    <li><link anchor="ast">Building the Abstract Syntax Tree</link></li>
-    <li><link anchor="typecheck">Type-check and Cast Expressions</link></li>
-    <li><link anchor="compile">JVM byte-code generation</link></li>
-  </ul>
-
-  <!--=================== OVERVIEW SECTION ===========================-->
-
-  <anchor name="overview"/>
-  <s2 title="Compiler overview">
-
-    <p>The main component of the XSLTC compiler is the class</p>   
-    <ul>
-      <li><code>org.apache.xalan.xsltc.compiler.XSLTC</code></li>
-    </ul>
-
-    <p>This class uses three parsers to consume the input stylesheet(s):</p>
-
-    <ul>
-      <li><code>javax.xml.parsers.SAXParser</code></li>
-    </ul>
-
-    <p>is used to parse the stylesheet document and pass its contents to
-    the compiler as basic SAX2 events.</p>
-
-    <ul>
-      <li><code>com.sun.xslt.compiler.XPathParser</code></li>
-    </ul>
-
-    <p> is a parser used to parse XPath expressions and patterns. This parser
-    is generated using JavaCUP and JavaLEX from Princeton University.</p>
-
-    <ul>
-      <li><code>com.sun.xslt.compiler.Parser</code></li>
-    </ul>
-
-    <p>is a wrapper for the other two parsers. This parser is responsible for
-    using the other two parsers to build the compiler's abstract syntax tree
-    (which is described in more detail in the next section of this document).
-    </p>
-
-  </s2>
-
-  <!--============== ABSTRACT SYNTAX TREE SECTION ======================-->
-  <anchor name="ast"/>
-  <s2 title="Building an Abstract Syntax Tree">
-
-    <p>An abstract syntax tree (AST) is a data-structure commonly used by
-    compilers to separate the parse-phase from the later phases of the
-    compilation. The AST has one node for each parsed token from the stylesheet
-    and can easily be parsed at the stages of type-checking and bytecode
-    generation.</p>
-
-    <ul>
-      <li>
-        <link anchor="mapping">Mapping stylesheet elements to AST nodes</link>
-      </li>
-      <li>
-        <link anchor="domxsl">Building the AST from AST nodes</link>
-      </li>
-      <li>
-        <link anchor="mapping">Mapping XPath expressions and patterns to additional AST nodes</link>
-      </li>
-    </ul>
-
-    <p>The SAX parser passes the contents of the stylesheet to XSLTC's main
-    parser. The SAX events represent a decomposition of the XML document that
-    contains the stylesheet. The main parser needs to create one AST node from
-    each node that it receives from the SAX parser. It also needs to use the
-    XPath parser to decompose attributes that contain XPath expressions and
-    patterns. Remember that XSLT is in effect two languages: XML and XPath,
-    and one parser is needed for each of these languages. The SAX parser breaks
-    down the stylesheet document, the XPath parser breaks down XPath expressions
-    and patterns, and the main parser maps the decomposed elements into nodes
-    in the abstract syntax tree.</p>
-
-    <anchor name="mapping"/>
-    <s3 title="Mapping stylesheets elements to AST nodes">
-
-    <p>Every element that is defined in the XSLT 1.0 spec is represented by a
-    a class in the <code>org.apache.xalan.xsltc.compiler</code> package. The
-    main parser class contains a <code>Hashtable</code> that that maps XSL
-    elements into Java classes that make up the nodes in the AST. These Java
-    classes all reside in the <code>org.apache.xalan.xsltc.compiler</code>
-    package and extend either the <code>TopLevelElement</code> or the
-    <code>Instruction</code> classes. (Both these classes extend the
-    <code>SyntaxTreeNode</code> class.)</p>
-
-    <p>The mapping from XSL element names to Java classes/AST nodes is set up
-    in the <code>initClasses()</code> method of the main parser:</p><source>
-    private void initStdClasses() {
-	try {
-	    initStdClass("template",    "Template");
-	    initStdClass("param",       "Param");
-	    initStdClass("with-param",  "WithParam");
-	    initStdClass("variable",    "Variable");
-	    initStdClass("output",      "Output");
-	    :
-	    :
-	    :
-	}
-    }
-
-    private void initClass(String elementName, String className)
-	throws ClassNotFoundException {
-	_classes.put(elementName,
-		     Class.forName(COMPILER_PACKAGE + '.' + className));
-    }</source>
-
-    </s3>
-
-    <anchor name="domxsl"/>
-    <s3 title="Building the AST from AST nodes">
-    <p>The parser builds an AST from the various syntax tree nodes. Each node
-    contains a reference to its parent node, a vector containing references
-    to all child nodes and a structure containing all attribute nodes:</p><source>
-    protected SyntaxTreeNode _parent; // Parent node
-    private   Vector _contents;       // Child nodes
-    protected Attributes _attributes; // Attributes of this element</source>
-
-
-    <p>These variables should be accessed using these methods:</p><source>
-    protected final SyntaxTreeNode getParent();
-    protected final Vector getContents();
-    protected String getAttribute(String qname);
-    protected Attributes getAttributes();</source>
-
-    <p>At this time the AST only contains nodes that represent the XSL elements
-    from the stylesheet. A SAX parse is generic and can only handle XML files
-    and will not break up and identify XPath patterns/expressions (these are
-    stored as attributes to the various nodes in the tree). Each XSL instruction
-    gets its own node in the AST, and the XPath patterns/expressions are stored
-    as attributes of these nodes. A stylesheet looking like this:</p><source>
-    &lt;xsl:stylesheet .......&gt;
-      &lt;xsl:template match="chapter"&gt;
-        &lt;xsl:text&gt;Chapter&lt;/xsl:text&gt;
-        &lt;xsl:value-of select="."&gt;
-      &lt;/xsl:template&gt;
-    &lt;/xsl&gt;stylesheet&gt;</source>
-
-    <p>will be stored in the AST as indicated in the following picture:</p>
-    <p><img src="ast_stage1.gif" alt="ast_stage1.gif"/></p>
-    <p><ref>Figure 1: The AST in its first stage</ref></p>
-
-    <p>All objects that make up the nodes in the initial AST have a
-    <code>parseContents()</code> method. This method is responsible for:</p>
-
-    <ul>
-      <li>parsing the values of those attributes that contain XPath expressions
-      or patterns, breaking each expression/pattern into AST nodes and inserting
-      them into the tree.</li>
-      <li>reading/checking all other required attributes</li>
-      <li>propagate the <code>parseContents()</code> call down the tree</li>
-    </ul>
-    </s3>
-
-    <s3 title="Mapping XPath expressions and patterns to additional AST nodes">
-
-    <p>The nodes that represent the XPath expressions and patterns extend
-    either the <code>Expression</code> or <code>Pattern</code> class
-    respectively. These nodes are not appended to the <code>_contents</code>
-    vectory of each node, but rather stored as individual references in each
-    AST element node. One example is the <code>ForEach</code> class that
-    represents the <code>&lt;xsl:for-each&gt;</code> element. This class has
-    a variable that contains a reference to the AST sub-tree that represents
-    its <code>select</code> attribute:</p><source>
-    private Expression _select;</source>
-   
-    <p>There is no standard way of storing these XPath expressions and each
-    AST node that contains one or more XPath expression/pattern must handle
-    that itself. This handling basically involves passing the attribute's
-    value to the XPath parser and receiving back an AST sub-tree.</p>
-
-    <p>With all XPath expressions/patterns expanded, the AST will look somewhat
-    like this:</p>
-
-    <p><img src="ast_stage2.gif" alt="ast_stage2.gif"/></p>
-    <p><ref>Fiugre 2: The AST in its second stage</ref></p>
-
-    </s3>
-  </s2>
-
-  <!--================= TYPE CONVERSION SECTION ========================-->
-
-  <anchor name="typecheck"/>
-  <s2 title="Type-check and Cast Expressions">
-
-    <p>In many cases we will need to typecast the top node in the expression
-    sub-tree to suit the expected result-type of the expression, or to typecast
-    child nodes to suit the allowed types for the various operators in the
-    expression. This is done by calling 'typeCheck()' on the root-node in the
-    XSL tree. Each SyntaxTreeNode node is responsible for inserting type-cast
-    nodes between itself and its child nodes or XPath nodes. These type-cast
-    nodes will convert the output-types of the child/XPath nodes to the expected
-    input-type of the parent node. Let look at our AST again and the node that
-    represents the <code>&lt;xsl:value-of&gt;</code> element. This element
-    expects to receive a string from its <code>select</code> XPath expression,
-    but the <code>Step</code> expression will return either a node-set or a
-    single node. An extra node is inserted into the AST to perform the
-    necessary type conversions:</p>
-
-    <p><img src="ast_stage3.gif" alt="ast_stage3.gif"/></p>
-    <p><ref>Figure 3: XPath expression type cast</ref></p>
-
-    <p>The <code>typeCheck()</code> method of each SyntaxTreeNode object will
-    call <code>typeCheck()</code> on each of its XPath expressions. This method
-    will return the native type returned by the expression. The AST node will
-    insert an additional type-conversion node if the return-type does not match
-    the expected data-type. Each possible return type is represented by a class
-    in the <code>org.apache.xalan.xsltc.compiler.util</code> package. These
-    classes all contain methods that will generate bytecodes needed to perform
-    the actual type conversions (at runtime). The type-cast nodes in the AST
-    mainly consist of calls to these methods.</p>
-  </s2>
-
-  <!--=============== BYTE-CODE GENERATION SECTION ======================-->
-
-  <anchor name="compile"/>
-  <s2 title="JVM byte-code generation">
-
-    <ul>
-      <li><link anchor="stylesheet">Compiling the stylesheet</link></li>
-      <li><link anchor="toplevel">Compiling top-level elements</link></li>
-      <li><link anchor="templates">Compiling template code</link></li>
-      <li><link anchor="instructions">Compiling instructions, functions expressions and patterns</link></li>
-    </ul>
-
-    <p>Evey node in the AST extends the <code>SyntaxTreeNode</code> base class
-    and implements the <code>translate()</code> method. This method is
-    responsible for outputting the actual bytecodes that make up the
-    functionality required for each element, function, expression or pattern.
-    </p>
-
-    <anchor name="stylesheet"/>
-    <s3 title="Compiling the stylesheet">
-    <p>Some nodes in the AST require more complex code than others. The best
-    example is the <code>&lt;xsl:stylesheet&gt;</code> element. The code that
-    represents this element has to tie together the code that is generated by
-    all the other elements and generate the actual class definition for the main
-    translet class. The <code>Stylesheet</code> class generates the translet's
-    constructor and methods that handle all top-level elements.</p>
-    </s3>
-
-    <anchor name="toplevel"/>
-    <s3 title="Compiling top-level elements">
-    <p>The bytecode that handles top-level elements must be generated before any
-    other code. The '<code>translate()</code>' method in these classes are
-    mainly called from these methods in the Stylesheet class:</p><source>
-    private String compileBuildKeys(ClassGenerator);
-    private String compileTopLevel(ClassGenerator, Enumeration);
-    private void compileConstructor(ClassGenerator, Output);</source>
-
-    <p>These methods handle most top-level elements, such as global variables
-    and parameters, <code>&lt;xsl:output&gt;</code> and
-    <code>&lt;xsl:decimal-format&gt;</code> instructions.</p>
-    </s3>
-
-    <anchor name="templates"/>
-    <s3 title="Compiling template code">
-    <p>All XPath patterns in <code>&lt;xsl:apply-template&gt;</code>
-    instructions are converted into numeric values (known as the pattern's
-    kernel 'type'). All templates with identical pattern kernel types are
-    grouped together and inserted into a table known as a test sequence.
-    (The table of test sequences is found in the Mode class in the compiler
-    package. There will be one such table for each mode that is used in the
-    stylesheet). This table is used to build a big <code>switch()</code>
-    statement in the translet's <code>applyTemplates()</code> method. This
-    method is initially called with the root node of the input document.</p>
-
-    <p>The <code>applyTemplates()</code> method determines the node's type and
-    passes this type to the <code>switch()</code> statement to look up the
-    matching template. The test sequence code (the <code>TestSeq</code> class)
-    is responsible for inserting bytecodes to find  one  matching template
-    in cases where more than one template matches the current node type.</p>
-
-    <p>There may be several templates that share the same pattern kernel type.
-    Here are a few examples of templates with patterns that all have the same
-    kernel type:</p><source>
-    &lt;xsl:template match=&quot;A/C&quot;&gt;
-    &lt;xsl:template match=&quot;A/B/C&quot;&gt;
-    &lt;xsl:template match=&quot;A | C&quot;&gt;</source>
-
-    <p>All these templates will be grouped under the type for
-    <code>&lt;C&gt;</code> and will all get the same kernel type (the type for
-    <code>"C"</code>). The last template will be grouped both under
-    <code>"C"</code> and <code>"A"</code>, since it matches either element.
-    If the type identifier for <code>"C"</code> in this case is 8, all these
-    templates will be put under <code>case 8:</code> in
-    <code>applyTemplates()</code>'s big <code>switch()</code> statement. The
-    <code>TestSeq</code> class will insert some code under the
-    <code>case 8:</code> statement (similar to if's and then's) in order to
-    determine which of the three templates to trigger.</p>
-    </s3>
-
-    <anchor name="instructions"/>
-    <s3 title="Compiling instructions, functions, expressions and patterns">
-
-    <p>The template code is generated by calling <code>translate()</code> on
-    each <code>Template</code> object in the abstract syntax tree. This call
-    will be propagated down the abstract syntax tree and every element will
-    output the bytecodes necessary to complete its task.</p>
-
-    <p>The Java Virtual Machine is stack-based, which goes hand-in-hand with
-    the tree structure of a stylesheet and the AST. A node in the AST will
-    call <code>translate()</code> on its child nodes and any XPath nodes before
-    it generates its own bytecodes. In that way the correct sequence of JVM
-    instructions is generated.  Each one of the child nodes is responsible of
-    creating code that leaves the node's output value (if any) on the stack.
-    The typical procedure for the parent node is to create JVM code that
-    consumes these values off the stack and then leave its own output on the
-    stack (for its parent).</p>
-
-    <p>The tree-structure of the stylesheet is in this way closely tied with
-    the stack-based JVM. The design does not offer any obvious way of extending
-    the compiler to output code for other non-stack-based VMs or processors.</p>
-    </s3>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_dom.xml b/xdocs/sources/xsltc/xsltc_dom.xml
deleted file mode 100644
index c362c22..0000000
--- a/xdocs/sources/xsltc/xsltc_dom.xml
+++ /dev/null
@@ -1,484 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-<s1 title="XSLTC Internal DOM">
-
-  <ul>
-    <li><link anchor="functionality">General functionlaity</link></li>
-    <li><link anchor="components">Components of the internal DOM</link></li>
-    <li><link anchor="structure">Internal structure</link></li>
-    <li><link anchor="navigation">Tree navigation</link></li>
-    <li><link anchor="namespaces">Namespaces</link></li>
-    <li><link anchor="w3c">W3C DOM2 navigation support</link></li>
-    <li><link anchor="adapter">The DOM adapter - DOMAdapter</link></li>
-    <li><link anchor="multiplexer">The DOM multiplexer - MultiDOM</link></li>
-    <li><link anchor="builder">The DOM builder - DOMImpl$DOMBuilder</link></li>
-  </ul>
-
-  <anchor name="functionality"/>
-  <s2 title="General functionality">
-  <p>The internal DOM gives the translet access to the XML document(s) it has
-  to transform. The interface to the internal DOM is specified in the DOM.java
-  class. This is the interface that the translet uses to access the DOM. 
-  There is also an interface specified for DOM caches -- DOMCache.java</p>
-
-  </s2><anchor name="components"/>
-  <s2 title="Components of the internal DOM">
-
-  <p>This DOM interface is implemented by three classes:</p>
-  <ul>
-    <li><em>org.apache.xalan.xsltc.dom.DOMImpl</em><br/><br/>
-      This is the main DOM class. An instance of this class contains the nodes
-      of a <em>single</em> XML document.<br/><br/>
-    </li>
-    <li><em>org.apache.xalan.xsltc.dom.MultiDOM</em><br/><br/>
-      This class is best described as a DOM multiplexer. XSLTC was initially
-      designed to operate on a single XML document, and the initial DOM and
-      the DOM interface were designed and implemented without the
-      <code>document()</code> function in mind. This class will allow a translet
-      to access multiple DOMs through the original DOM interface.<br/><br/>
-    </li>
-    <li><em>org.apache.xalan.xsltc.dom.DOMAdapter</em><br/><br/>
-      The DOM adapter is a mediator between a DOMImpl or a MultiDOM object and
-      a single translet. A DOMAdapter object contains mappings and reverse
-      mappings between node  types in the DOM(s) and node types in the translet.
-      This mediator is needed to allow several translets access to a single DOM.
-      <br/><br/>
-    </li>
-    <li><em>org.apache.xalan.xsltc.dom.DocumentCache</em><br/><br/>
-      A sample DOM cache (implementing DOMCache) that is used with our sample
-      transformation applications.
-    </li>
-  </ul>
-
-  <p><img src="DOMInterface.gif" alt="DOMInterface.gif"/></p>
-  <p><ref>Figure 1: Main components of the internal DOM</ref></p>
-
-  <p>The figure above shows how several translets can access one or more
-  internal DOM from a shared pool of cached DOMs. A translet can also access a
-  DOM tree outside of a cache. The Stylesheet class that represents the XSL
-  stylesheet to compile contains a flag that indicates if the translet uses the
-  <code>document()</code> function. The code compiled into the translet will act
-  accordingly and instanciate a MultiDOM object if needed (this code is compiled
-   in the compiler's <code>Stylesheet.compileTransform()</code> method).</p>
-
-  </s2><anchor name="structure"/>
-  <s2 title="Internal Structure">
-  <ul>
-    <li><link anchor="node-id">Node identification</link></li>
-    <li><link anchor="element-nodes">Element nodes</link></li>
-    <li><link anchor="attribute-nodes">Attribute nodes</link></li>    
-    <li><link anchor="text-nodes">Text nodes</link></li>
-    <li><link anchor="comment-nodes">Comment nodes</link></li>    
-    <li><link anchor="pi"></link>Processing instructions</li>
-  </ul>
-  <anchor name="node-id"/>
-  <s3 title="Node identifation">
-
-  <p>Each node in the DOM is represented by an integer. This integer is an
-  index into a series of arrays that describes the node. Most important is
-  the <code>_type[]</code> array, which holds the (DOM internal) node type. There
-  are some general node types that are described in the DOM.java interface:</p>
-
-<source>
-    public final static int ROOT                   = 0;
-    public final static int TEXT                   = 1;
-    public final static int UNUSED                 = 2;
-    public final static int ELEMENT                = 3;
-    public final static int ATTRIBUTE              = 4;
-    public final static int PROCESSING_INSTRUCTION = 5;
-    public final static int COMMENT                = 6;
-    public final static int NTYPES                 = 7;
-</source>
-
-  <p>Element and attribute nodes will be assigned types based on their expanded
-  QNames. The <code>_type[]</code> array is used for this:</p>
-
-<source>
-    int    type      = _type[node];             // get node type
-</source>
-
-  <p>The node type can be used to look up the element/attribute name in the
-  element/attribute name array <code>_namesArray[]</code>:</p>
-
-<source>
-    String name      = _namesArray[type-NTYPES]; // get node element name
-</source>
-
-  <p>The resulting string contains the full, expanded QName of the element or
-  attribute. Retrieving the namespace URI of an element/attribute is done in a
-  very similar fashion:</p>
-
-<source>
-    int    nstype    = _namespace[type-NTYPES]; // get namespace type
-    String namespace = _nsNamesArray[nstype];   // get node namespace name
-</source>
-  </s3><anchor name="element-nodes"/>
-  <s3 title="Element nodes">
-
-  <p>The contents of an element node (child nodes) can be identified using
-  the <code>_offsetOrChild[]</code> and <code>_nextSibling[]</code> arrays. The
-  <code>_offsetOrChild[]</code> array will give you the first child of an element
-  node:</p>
-
-<source>
-    int    child     = _offsetOrChild[node];    // first child
-    child = _nextSibling[child];                // next child
-</source>
-
-  <p>The last child will have a &quot;<code>_nextSibling[]</code>&quot; of 0 (zero).
-  This value is OK since the root node (the 0 node) will not be a child of
-  any element.</p>
-
-  </s3><anchor name="attribute-nodes"/>
-  <s3 title="Attribute nodes">
-
-  <p>The first attribute node of an element is found by a lookup in the
-  <code>_lengthOrAttr[]</code> array using the node index:</p>
-
-<source>
-    int    attribute = _offsetOrChild[node];    // first attribute
-    attribute = _nextSibling[attribute];        // next attribute
-</source>
-
-  <p>The names of attributes are contained in the <code>_namesArray[]</code> just
-  like the names of element nodes. The value of attributes are store the same
-  way as text nodes:</p>
-
-<source>
-    int    offset    = _offsetOrChild[attribute]; // offset into character array
-    int    length    = _lengthOrAttr[attribute];  // length of attribute value
-    String value     = new String(_text, offset, length);
-</source>
-  </s3><anchor name="text-nodes"/>
-  <s3 title="Text nodes">
-
-  <p>Text nodes are stored identically to attribute values. See the previous
-  section on <link anchor="attribute-nodes">attribute nodes</link>.</p>
-  </s3><anchor name="comment-nodes"/>
-  <s3 title="Comment nodes">
-
-  <p>The internal DOM does currently <em>not</em> contain comment nodes. Yes, I
-  am quite aware that the DOM has a type assigned to comment nodes, but comments
-  are still not inserted into the DOM.</p>
-  </s3><anchor name="pi"/>
-  <s3 title="Processing instructions">
-
-  <p>Processing instructions are handled as text nodes. These nodes are stored
-  identically to attribute values. See the previous section on
-  <link anchor="attribute-nodes">attribute nodes</link>.</p>
-
-  </s3></s2><anchor name="navigation"/>
-  <s2 title="Tree navigation">
-
-  <p>The DOM implementation contains a series of iterator that implement the
-  XPath axis. All these iterators implement the NodeIterator interface and
-  extend the NodeIteratorBase base class. These iterators do the job of
-  navigating the tree using the <code>_offsetOrChild[]</code>, <code>_nextSibling</code>
-  and <code>_parent[]</code> arrays. All iterators that handles XPath axis are
-  implemented as a private inner class of DOMImpl. The translet uses a handful
-  of methods to instanciate these iterators:</p>
-
-<source>
-    public NodeIterator getIterator();
-    public NodeIterator getChildren(final int node);
-    public NodeIterator getTypedChildren(final int type);
-    public NodeIterator getAxisIterator(final int axis);
-    public NodeIterator getTypedAxisIterator(final int axis, final int type);
-    public NodeIterator getNthDescendant(int node, int n);
-    public NodeIterator getNamespaceAxisIterator(final int axis, final int ns);
-    public NodeIterator orderNodes(NodeIterator source, int node);
-</source>
-
-  <p>There are a few iterators in addition to these, such as sorting/ordering
-  iterators and filtering iterators. These iterators are implemented in
-  separate classes and can be instanciated directly by the translet.</p>
-
-  </s2><anchor name="namespaces"/>
-  <s2 title="Namespaces">
-
-  <p>Namespace support was added to the internal DOM at a late stage, and the
-  design and implementation of the DOM bears a few scars because of this. 
-  There is a separate <link idref="xsltc_namespace">design
-  document</link> that covers namespaces.</p>
-
-  </s2><anchor name="w3c"/>
-  <s2 title="W3C DOM2 navigation support">
-
-  <p>The DOM has a few methods that give basic W3C-type DOM navigation. These
-  methods are:</p>
-
-<source>
-    public Node makeNode(int index);
-    public Node makeNode(NodeIterator iter);
-    public NodeList makeNodeList(int index);
-    public NodeList makeNodeList(NodeIterator iter);
-</source>
-
-  <p>These methods return instances of inner classes of the DOM that implement
-  the W3C Node and NodeList interfaces.</p>
-
-  </s2><anchor name="adapter"/>
-  <s2 title="The DOM adapter - DOMAdapter">
-  <ul>
-    <li><link anchor="translet-dom">Translet/DOM type mapping</link></li>
-    <li><link anchor="whitespace">Whitespace text-node stripping</link></li>
-    <li><link anchor="method-mapping">Method mapping</link></li>
-  </ul>
-  <anchor name="translet-dom"/>
-  <s3 title="Translet/DOM type mapping">
-
-  <p>The DOMAdapter class performs the mappings between DOM and translet node
-  types, and vice versa. These mappings are necessary in order for the translet
-  to correctly identify an element/attribute in the DOM and for the DOM to
-  correctly identify the element/attribute type of a typed iterator requested
-  by the translet. Note that the DOMAdapter also maps translet namespace types
-  to DOM namespace types, and vice versa.</p>
-
-  <p>The DOMAdapter class has four global tables that hold the translet/DOM
-  type and namespace-type mappings. If the DOM knows an element as type
-  19, the DOMAdapter will translate this to some other integer using the
-  <code>_mapping[]</code> array:</p>
-
-<source>
-    int domType = _mapping[transletType];
-</source>
-
-  <p>This action will be performed when the DOM asks what type a specific node
-  is. The reverse is done then the translet wants an iterator for a specific
-  node type. The DOMAdapter must translate the translet-type to the type used
-  internally in the DOM by looking up the <code>_reverse[]</code> array:</p>
-
-<source>
-    int transletType = _mapping[domType];
-</source>
-
-  <p>There are two additional mapping tables: <code>_NSmapping[]</code> and
-  <code>_NSreverse[]</code> that do the same for namespace types.</p>
-  </s3><anchor name="whitespace"/>
-  <s3 title="Whitespace text-node stripping">
-
-  <p>The DOMAdapter class has the additional function of stripping whitespace
-  nodes in the DOM. This functionality had to be put in the DOMAdapter, as
-  different translets will have different preferences for node stripping.</p>
-  </s3><anchor name="method-mapping"/>
-  <s3 title="Method mapping">
-
-  <p>The DOMAdapter class implements the same <code>DOM</code> interface as the
-  DOMImpl class. A DOMAdapter object will look like a DOMImpl tree, but the
-  translet can access it directly without being concerned with type mapping
-  and whitespace stripping. The <code>getTypedChildren()</code> demonstrates very
-  well how this is done:</p>
-
-<source>
-    public NodeIterator getTypedChildren(int type) {
-        // Get the DOM type for the requested typed iterator
-        final int domType = _reverse[type];
-        // Now get the typed child iterator from the DOMImpl object
-        NodeIterator iterator = _domImpl.getTypedChildren(domType);
-        // Wrap the iterator in a WS stripping iterator if child-nodes are text nodes
-	if ((domType == DOM.TEXT) &amp;&amp; (_filter != null))
-	    iterator = _domImpl.strippingIterator(iterator,_mapping,_filter);
-	return(iterator);
-    }
-</source>
-
-  </s3></s2><anchor name="multiplexer"/>
-  <s2 title="The DOM multiplexer - MultiDOM">
-
-  <p>The DOM multiplexer class is only used when the compiled stylesheet uses
-  the <code>document()</code> function. An instance of the MultiDOM class also
-  implements the DOM interface, so that it can be accessed in the same way
-  as a DOMAdapter object.</p>
-
-  <p>A node in the DOM is identified by an integer. The first 8 bits of this
-  integer are used to identify the DOM in which the node belongs, while the
-  lower 24 bits are used to identify the node within the DOM:</p>
-    <table>
-      <tr>
-        <td>31-24</td>
-        <td>23-16</td>
-        <td>16-8</td>
-        <td>7-0</td>
-      </tr>
-      <tr>
-        <td>DOM id</td>
-        <td colspan="3">node id</td>
-      </tr>
-    </table>
-
-  <p>The DOM multiplexer has an array of DOMAdapter objects. The topmost 8
-  bits of the identifier is used to find the correct DOM from the array. Then
-  the lower 24 bits are used in calls to methods in the DOMAdapter object:</p>
-
-<source>
-    public int getParent(int node) {
-	return _adapters[node>>>24].getParent(node &amp; 0x00ffffff) | node &amp; 0xff000000;
-    }
-</source>
-
-  <p>Note that the node identifier returned by this method has the same upper 8
-  bits as the input node. This is why we <code>OR</code> the result from
-  <code>DOMAdapter.getParent()</code> with the top 8 bits of the input node.</p>
-
-  </s2><anchor name="builder"/>
-  <s2 title="The DOM builder - DOMImpl$DOMBuilder">
-  <ul>
-    <li><link anchor="startelement">startElement()</link></li>
-    <li><link anchor="endelement">endElement()</link></li>
-    <li><link anchor="startprefixmapping">startPrefixMapping()</link></li>
-    <li><link anchor="endprefixmapping">endPrefixMapping()</link></li>
-    <li><link anchor="characters">characters()</link></li>
-    <li><link anchor="startdocument">startDocument()</link></li>
-    <li><link anchor="enddocument">endDocument()</link></li>
-  </ul>
-
-  <p>The DOM builder is an inner class of the DOM implementation. The builder
-  implements the SAX2 <code>ContentHandler</code> interface and populates the DOM
-  by receiving SAX2 events from a SAX2 parser (presently xerces). An instance
-  of the DOM builder class can be retrieved from <code>DOMImpl.getBuilder()</code>
-  method, and this handler can be set as an XMLReader's content handler:</p>
-
-<source>
-    final SAXParserFactory factory = SAXParserFactory.newInstance();
-    final SAXParser parser = factory.newSAXParser();
-    final XMLReader reader = parser.getXMLReader();
-    final DOMImpl dom = new DOMImpl();
-    reader.setContentHandler(dom.getBuilder());
-</source>
-
-  <p>The DOM builder will start to populate the DOM once the XML parser starts
-  generating SAX2 events:</p>
-  <anchor name="startelement"/>
-  <s3 title="startElement()">
-
-  <p>This method can be called in one of two ways; either with the expanded
-  QName (the element's separate uri and local name are supplied) or as a
-  normal QName (one String on the format prefix:local-name). The DOM stores
-  elements as expanded QNames so it needs to know the element's namespace URI.
-  Since the URI is not supplied with this call, we have to keep track of
-  namespace prefix/uri mappings while we're building the DOM. See 
-  <code><link anchor="startprefixmapping">startPrefixMapping()</link></code> below for details on
-  namespace handling.</p>
-
-  <p>The <code>startElement()</code> inserts the element as a child of the current
-  parent element, creates attribute nodes for all attributes in the supplied
-  &quot;<code>Attributes</code>&quot; attribute list (by a series of calls to
-  <code>makeAttributeNode()</code>), and finally creates the actual element node
-  (by calling <code>internElement()</code>, which inserts a new entry in the
-  <code>_type[]</code> array).</p>
-  </s3><anchor name="endelement"/>
-  <s3 title="endElement()">
-
-  <p>This method does some cleanup after the <code>startElement()</code> method,
-  such as revering <code>xml:space</code> settings and linking the element's
-  child nodes.</p>
-  </s3><anchor name="startprefixmapping"/>
-  <s3 title="startPrefixMapping()">
-
-  <p>This method is called for each namespace declaration in the source
-  document. The parser should call this method before the prefix is referenced
-  in a QName that is passed to the <code>startElement()</code> call. Namespace
-  prefix/uri mappings are stored in a Hashtable structure. Namespace prefixes
-  are used as the keys in the Hashtable, and each key maps to a Stack that
-  contains the various URIs that the prefix maps to. The URI on top of the
-  stack is the URI that the prefix currently maps to.</p>
-
-  
-    <p><img src="namespace_stack.gif" alt="namespace_stack.gif"/></p>
-    <p><ref>Figure 2: Namespace handling in the DOM builder</ref></p>
-
-
-  <p>Each call to <code>startPrefixMapping()</code> results in a lookup in the
-  Hashtable (using the prefix), and a <code>push()</code> of the URI onto the
-  Stack that the prefix maps to.</p>
-  </s3><anchor name="endprefixmapping"/>
-  <s3 title="endPrefixMapping()">
-
-  <p>A namespace prefix/uri mapping is closed by locating the Stack for the
-  prefix, and then <code>pop()</code>'ing the topmost URI off this Stack.</p>
-  </s3><anchor name="characters"/>
-  <s3 title="characters()">
-
-  <p>Text nodes are stored as simple character sequences in the character array
-  <code>_text[]</code>. The start and lenght of a node's text can be determined by
-  using the node index to look up <code>_offsetOrChild[]</code> and
-  <code>_lengthOrAttribute[]</code>.</p>
-
-  <p>We want to re-use character sequences if two or more text nodes have
-  identical content. This can be achieved by having two different text node
-  indexes map to the same character sequence. The <code>maybeReuseText()</code>
-  method is always called before a new character string is stored in the
-  <code>_text[]</code> array. This method will locate the offset of an existing
-  instance of a character sequence.</p>
-  </s3><anchor name="startdocument"/>
-  <s3 title="startDocument()">
-
-  <p>This method initialises a bunch of data structures that are used by the
-  builder. It also pushes the default namespace on the namespace stack (so that
-  the &quot;&quot; prefix maps to the <code>null</code> namespace).</p>
-  </s3><anchor name="enddocument"/>
-  <s3 title="endDocument()">
-
-  <p>This method builds the <code>_namesArray[]</code>, <code>_namespace[]</code>
-  and <code>_nsNamesArray[]</code> structures from temporary datastructures used
-  in the DOM builder.</p>
-
-   </s3>
- </s2>
-</s1>   
diff --git a/xdocs/sources/xsltc/xsltc_iterators.xml b/xdocs/sources/xsltc/xsltc_iterators.xml
deleted file mode 100644
index 486873c..0000000
--- a/xdocs/sources/xsltc/xsltc_iterators.xml
+++ /dev/null
@@ -1,397 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-
-<s1 title="XSLTC node iterators">
-
-  <s2 title="Contents">
-
-  <p>This document describes the function of XSLTC's node iterators. It also
-  describes the <code>NodeIterator</code> interface and some implementations of
-  this interface are described in detail:</p>
-
-  <ul>
-    <li><link anchor="purpose">Node iterator function</link></li>
-    <li><link anchor="interface">NodeIterator interface</link></li>
-    <li><link anchor="baseclass">Node iterator base class</link></li>    
-    <li><link anchor="details">Implementation details</link></li>    
-  </ul>
-
-  </s2>
-
-  <!--=================== OVERVIEW SECTION ===========================--> 
-
-  <anchor name="purpose"/>
-  <s2 title="Node Iterator Function">
-
-    <p>Node iterators have several functions in XSLTC. The most obvious is
-    acting as a placeholder for node-sets. Node iterators also act as a link
-    between the translet and the DOM(s), they can act as filters (implementing
-    predicates), they contain the functionality necessary to cover all XPath
-    axes and they even serve as a front-end to XSLTC's node-indexing mechanism
-    (for the <code>id()</code> and <code>key()</code> functions).</p>
-  </s2>
-
-  <!--=================== INTERFACE SECTION ==========================--> 
-
-  <anchor name="interface"/>
-  <s2 title="Node Iterator Interface">
-
-    <p>The node iterator interface is defined in
-    <code>org.apache.xalan.xsltc.NodeIterator</code>.</p>
-
-    <p>The most basic operations in the <code>NodeIterator</code> interface are
-    for setting the iterators start-node. The &quot;start-node&quot; is
-    an index into the DOM. This index, and the axis of the iterator, determine
-    the node-set that the iterator contains. The axis is programmed into the
-    various node iterator implementations, while the start-node can be set by
-    calling:</p><source>
-    public NodeIterator setStartNode(int node);</source>
-
-    <p>Once the start node is set the node-set can be traversed by a sequence of
-    calls to:</p><source>
-    public int next();</source>
-
-    <p>This method will return the constant <code>NodeIterator.END</code> when
-    the whole node-set has been returned. The iterator can be reset to the start
-    of the node-set by calling:</p><source>
-    public NodeIterator reset();</source>
-
-    <p>Two additional methods are provided to set the position within the
-    node-set. The first method below will  mark  the current node in the
-    node-set, while the second will (at any point) set the iterators position
-    back to that node.</p><source>
-    public void setMark();
-    public void gotoMark();</source>
-
-    <p>Every node iterator implements two functions that make up the
-    functionality behind XPath's <code>getPosition()</code> and
-    <code>getLast()</code> functions.</p><source>
-    public int getPosition();
-    public int getLast();</source>
-
-    <p>The <code>getLast()</code> function returns the number of nodes in the
-    set, while the <code>getPosition()</code> returns the current position
-    within the node-set. The value returned by <code>getPosition()</code> for
-    the first node in the set is always 1 (one), and the value returned for the
-    last node in the set is always the same value as is returned by
-    <code>getLast()</code>.</p>
-
-    <p>All node iterators that implement an XPath axis will return the node-set
-    in the natural order of the axis. For example, the iterator implementing the
-     ancestor  axis will return nodes in reverse document order (bottom to
-    top), while the iterator implementing the  descendant  will return
-    nodes in document order. The node iterator interface has a method that can
-    be used to determine if an iterator returns nodes in reverse document order:
-    </p><source>
-    public boolean isReverse();</source>
-
-    <p>Two methods are provided for when node iterators are encapsulated inside
-    a variable or parameter. To understand the purpose behind these two methods
-    we should have a look at a sample XML document and stylesheet first:</p>
-    <source>
-    &lt;?xml version="1.0"?>
-    &lt;foo>
-        &lt;bar>
-            &lt;baz>A&lt;/baz>
-            &lt;baz>B&lt;/baz>
-        &lt;/bar>
-        &lt;bar>
-            &lt;baz>C&lt;/baz>
-            &lt;baz>D&lt;/baz>
-        &lt;/bar>
-    &lt;/foo>
-
-    &lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-        &lt;xsl:template match="foo">
-            &lt;xsl:variable name="my-nodes" select="//foo/bar/baz"/>
-            &lt;xsl:for-each select="bar">
-                &lt;xsl:for-each select="baz">
-                    &lt;xsl:value-of select="."/>
-                &lt;/xsl:for-each>
-                &lt;xsl:for-each select="$my-nodes">
-                    &lt;xsl:value-of select="."/>
-                &lt;/xsl:for-each>
-            &lt;/xsl:for-each>
-        &lt;/xsl:template>
-
-    &lt;/xsl:stylesheet></source>
-
-    <p>Now, there are three iterators at work here. The first iterator is the
-    one that is wrapped inside the variable <code>my-nodes</code> - this
-    iterator contains  all  <code>&lt;baz/&gt;</code> elements in the
-    document. The second iterator contains all <code>&lt;bar&gt;</code>
-    elements under the current element (this is the iterator used by the
-    outer <code>for-each</code> loop). The third and last iterator is the one
-    used by the first of the inner <code>for-each</code> loops. When the outer
-    loop is run the first time, this third iterator will be initialized to
-    contain the first two <code>&lt;baz&gt;</code> elements under the context
-    node (the first <code>&lt;bar&gt;</code> element). Iterators are by default
-    restarted from the current node when used inside a <code>for-each</code>
-    loop like this. But what about the iterator inside the variable
-    <code>my-nodes</code>? The variable should keep its assigned value, no
-    matter what the context node is. In able to prevent the iterator from being
-    reset, we must use a mechanism to block calls to the
-    <code>setStartNode()</code> method. This is done in three steps:</p>
-
-    <ul>
-      <li>The iterator is created and initialized when the variable gets
-      assigned its value (node-set).</li>
-      <li>When the variable is read, the iterator is copied (cloned). The
-      original iterator inside the variable is never used directly. This is
-      to make sure that the iterator inside the variable is always in its
-      original state when read.</li>
-      <li>The iterator clone is marked as not restartable to prevent it from
-      being restarted when used to iterate the <code>&lt;xsl:for-each&gt;</code>
-      element loop.</li>
-    </ul>
-
-    <p>These are the two methods used for the three steps above:</p><source>
-    public NodeIterator cloneIterator();
-    public void setRestartable(boolean isRestartable);</source>
-
-    <p>Special care must be taken when implementing these methods in some
-    iterators. The <code>StepIterator</code> class is the best example of this.
-    This iterator wraps two other iterators; one of which is used to generate
-    start-nodes for the other - so one of the encapsulated node iterators must
-    always remain restartable - even when used inside variables. The
-    <code>StepIterator</code> class is described in detail later in this
-    document.</p>
-
-  </s2>
-
-
-  <!--================= BASE CLASS SECTION ===========================--> 
-
-  <anchor name="baseclass"/>
-  <s2 title="Node Iterator Base Class">
-
-    <p>A node iterator base class is provided to contain some common
-    functionality. The base class implements the node iterator interface, and
-    has a few additional methods:</p><source>
-    public NodeIterator includeSelf();
-    protected final int returnNode(final int node);
-    protected final NodeIterator resetPosition();</source>
-
-    <p>The <code>includeSelf()</code> is used with certain axis iterators that
-    implement both the <code>ancestor</code> and <code>ancestor-or-self</code>
-    axis and similar. One common implementation is used for these axes and
-    this method is used to signal that the  &quot;self&quot;  node should
-    also be included in the node-set.</p>
-
-    <p>The <code>returnNode()</code> method is called by the implementation of
-    the <code>next()</code> method. <code>returnNode()</code> increments an
-    internal node counter/cursor that keeps track of the current position within
-    the node set. This counter/cursor is then used by the 
-    <code>getPosition()</code> implementation to return the current position.
-    The node cursor can be reset by calling <code>resetPosition()</code>. This
-    method is normally called by an iterator's <code>reset()</code> method.</p>
-
-  </s2>
-
-  <!--==================== DETAILS SECTION ===========================--> 
-
-  <anchor name="details"/>
-  <s2 title="Node Iterator Implementation Details">
-
-    <s3 title="Axis iterators">
-
-    <p>All axis iterators are implemented as inner classes of the internal
-    DOM implementation <code>org.apache.xalan.xsltc.dom.DOMImpl</code>. In this
-    way all axis iterator classes have direct access to the internal node
-    type- and navigation arrays of the DOM:</p><source>
-    private short[]   _type;          // Node types
-    private short[]   _namespace;     // Namespace URI types
-    private short[]   _prefix;        // Namespace prefix types
-
-    private int[]     _parent;        // Index of a node's parent
-    private int[]     _nextSibling;   // Index of a node's next sibling node
-    private int[]     _offsetOrChild; // Index of an elements first child node
-    private int[]     _lengthOrAttr;  // Index of an elements first attribute node</source>
-
-    <p>The axis iterators can be instanciated by calling either of these two
-    methods of the DOM:</p><source>
-    public NodeIterator getAxisIterator(final int axis);
-    public NodeIterator getTypedAxisIterator(final int axis, final int type);</source>
-
-    </s3>
-
-    <s3 title="StepIterator">
-    
-    <p>The <code>StepIterator</code> is used to  chain  other iterators. A
-    very basic example is this XPath expression:</p><source>
-    &lt;xsl:for-each select="foo/bar"></source>
-
-    <p>To generate the appropriate node-set for this loop we need three
-    iterators. The compiler will generate code that first creates a typed axis
-    iterator; the axis will be  child  and the type will be that assigned
-    to <code>&lt;foo&gt;</code> elements. Then a second typed axis iterator will
-    be created; this also a  child -iterator, but this one with the type
-    assigned to <code>&lt;bar&gt;</code> elements. The third iterator is a
-    step iterator that encapsulates the two axis iterators. The step iterator is
-    the initialized with the context node.</p>
-
-    <p>The step iterator will use the first axis iterator to generate
-    start-nodes for the second axis iterator. In plain english this means that
-    the step iterator will scan all <code>foo</code> elements for any
-    <code>bar</code> child elements. When a <code>StepIterator</code> is
-    initialized with a start-node it passes the start node to the
-    <code>setStartNode()</code> method of its  source -iterator (left).
-    It then calls <code>next()</code> on that iterator to get the start-node
-    for the  iterator  iterator (right):</p><source>
-    // Set start node for left-hand iterator...
-    _source.setStartNode(_startNode);
-    // ... and get start node for right-hand iterator from left-hand,
-    _iterator.setStartNode(_source.next());</source>
-
-    <p>The step iterator will keep returning nodes from its right iterator until
-    it runs out of nodes. Then a new start-node is retrieved by again calling
-    <code>next()</code> on the  source -iterator. This is why the
-    right-hand iterator always has to be restartable - even if the step iterator
-    is placed inside a variable or parameter. This becomes even more complicated
-    for step iterators that encapsulate other step iterators. We'll make our
-    previous example a bit more interesting:</p><source>
-    &lt;xsl:for-each select="foo/bar[@name='cat and cage']/baz"></source>
-
-    <p>This will result in an iterator-tree similar to this:</p>
-
-    <p><img src="iterator_stack.gif" alt="iterator_stack.gif"/></p>
-    <p><ref>Figure 1: Stacked step iterators</ref></p>
-
-    <p>The  &quot;foo&quot;  iterator is used to supply the second step
-    iterator with start nodes. The second step iterator will pass these start
-    nodes to the  &quot;bar&quot;  iterator, which will be used to get the
-    start nodes for the third step iterator, and so on....</p>
-
-    </s3>
-
-    <s3 title="Iterators for Filtering/Predicates">
-
-    <p>The <code>org.apache.xalan.xsltc.dom</code> package contains a few
-    iterators that are used to implement predicates and filters. Such iterators
-    are normally placed on top of another iterator, and return only those nodes
-    that match a specific node value, position, etc.
-    These iterators include:</p>
-
-    <ul>
-      <li>NthIterator</li>
-      <li>NodeValueIterator</li>
-      <li>FilteredStepIterator</li>
-      <li>CurrentNodeListIterator</li>
-    </ul>
-
-    <p>The last one is the most interesting. This iterator is used to implement
-    chained predicates, such as:</p><source>
-    &lt;xsl:value-of select="foo[@blob='boo'][2]"></source>
-
-    <p>The first predicate reduces the node set from containing all
-    <code>&lt;foo&gt;</code> elements, to containing only those elements that
-    have a  &quot;blob&quot;  attribute with the value 'boo'. The
-    <code>CurrentNodeListIterator</code> is used to contain this reduced
-    node-set. The iterator is constructed by passing it a source iterator (in
-    this case an iterator that contains all <code>&lt;foo&gt;</code> elements)
-    and a filter that implements the predicate (<code>@blob = 'boo'</code>).</p>
-
-    </s3>
-
-    <s3 title="SortingIterator">
-
-    <p>The sorting iterator is one of the main functional components behind the
-    implementation of the <code>&lt;xsl:sort&gt;</code> element. This element,
-    including the sorting iterator, is described in detail in the
-    <code>&lt;xsl:sort&gt;</code>
-    <link idref="xsl_sort_design">design document</link>.</p>
-
-    </s3>
-
-    <s3 title="SingletonIterator"></s3>
-
-    <p>The singleton iterator is a wrapper for a single node. The node passed
-    in to the <code>setStartNode()</code> method is the only node that will be
-    returned by the <code>next()</code> method. The singleton iterator is used
-    mainly for node to node-set type conversions.</p>
-
-    <s3 title="UnionIterator">
-
-    <p>The union iterator is used to contain unions of node-sets contained in
-    other iterators. Some of the methods in this iterator are unnecessary
-    comlicated. The <code>next()</code> method contains an algorithm for
-    ensuring that the union node-set is returned in document order. We might be
-    better off by simply wrapping the union iterator inside a duplicate filter
-    iterator, but there could be some performance implications. Worth checking.
-    </p>
-
-    </s3>
-
-    <s3 title="KeyIndex">
-
-    <p>This is not just an node iterator. An index used for keys and ids will
-    return a set of nodes that are contained within the named index and that
-    share a certain property. The <code>KeyIndex</code> implements the node
-    iterator interface, so that these nodes can be returned and handled just
-    like any other node set. See the
-    <link idref="xsl_key_design">design document</link> for 
-    <code>&lt;xsl:key&gt;</code>, <code>key()</code> and <code>id()</code>
-    for further details.</p>
-
-    </s3>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_namespace.xml b/xdocs/sources/xsltc/xsltc_namespace.xml
deleted file mode 100644
index f8ff1fe..0000000
--- a/xdocs/sources/xsltc/xsltc_namespace.xml
+++ /dev/null
@@ -1,607 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!-- 
- * 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/>.
- -->
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-  <s1 title="XSLTC and Namespaces">
-
-  <ul>
-    <li><link anchor="functionality">Functionality</link></li>
-    <li><link anchor="overview">Namespace overview</link></li>
-    <li><link anchor="NSA">The DOM &amp; namespaces</link></li>    
-    <li><link anchor="NSB">Namespaces in the XSL stylesheet</link></li>
-    <li><link anchor="NSC">Namespaces in the output document</link></li>
-  </ul>
-  <anchor name="functionality"/>
-  <s2 title="Functionality">
-
-    <p>Namespaces are used when an XML documents has elements have the same
-    name, but are from different contexts, and thus have different meanings
-    and interpretations. For instance, a <code>&lt;TITLE&gt;</code> element can
-    be a HTML title element in one part of the XML document, while it in other
-    parts of the document the <code>&lt;TITLE&gt;</code> element is used for
-    encapsulating the title of a play or a book. This sort of confusion is
-    very common when reading XML source from multiple documents, but can also
-    occur within a single document.</p>
-
-    <p>Namespaces have three very important properties: a name, a prefix (an
-    alias for its name) and a scope. Namespaces are declared as attributes of
-    almost any node in an XML document. The declaration looks like this:</p>
-
-<source>
-    &lt;element xmlns:prefix="http://some.site/spec"&gt;....&lt;/element&gt;
-</source>
-
-    <p>The <code>"xmlns"</code> tells that this is a namespace declaration. The
-    scope of the namespace declaration is the element in which it is defined
-    and all the children of that element.The prefix is the local alias we use
-    for referencing the namespace, and the URL (it can be anything, really) is
-    the name/definition of the namespace. Note that even though the namespace
-    definition is normally an URL, it does not have to point to anything. It
-    is recommended that it points to a page that describes the elements in the
-    namespace, but it does not have to. The prefix can be just about anything
-    - or nothing (in which case it is the default namespace). Any prefix,
-    including the empty prefix for the default namespace, can be redefined to
-    refer to a different namespace at any time in an XML document. This is
-    more likely to happen to the default namespace than any other prefix. Here
-    is an example of this:</p>
-
-    <anchor name="xml_sample_1"/>
-<source>
-    &lt;?xml version="1.0"?&gt;
-    
-    &lt;employees xmlns:postal="http://postal.ie/spec-1.0"
-               xmlns:email="http://www.w3c.org/some-spec-3.2"&gt;
-        &lt;employee&gt;
-            &lt;name&gt;Bob Worker&lt;/name&gt;
-            &lt;postal:address&gt;
-                &lt;postal:street&gt;Nassau Street&lt;/postal:street&gt;
-                &lt;postal:city&gt;Dublin 3&lt;/postal:city&gt;
-                &lt;postal:country&gt;Ireland&lt;/postal:country&gt;
-            &lt;/postal:address&gt;
-            &lt;email:address&gt;bob.worker@hisjob.ie&lt;/email:address&gt;
-        &lt;/employee&gt;
-    &lt;/employees&gt;
-</source>
-
-    <p>This short document has two namespace declarations, one with the prefix
-    <code>"postal"</code> and another with the prefix <code>"email"</code>. The
-    prefixes are used to distinguish between elements for e-mail addresses and
-    regular postal addresses. In addition to these two namespaces there is also
-    an initial (unnamed) default namespace being used for the
-    <code>&lt;name&gt;</code> and <code>&lt;employee&gt;</code> tags. The scope of the
-    default namespace is in this case the whole document, while the scope of
-    the other two declared namespaces is the <code>&lt;employees&gt;</code>
-    element and its children.</p>
-
-    <p>By changing the default namespace we could have made the document a
-    little bit simpler and more readable:</p>
-
-    <anchor name="xml_sample_2"/>
-<source>
-    &lt;?xml version="1.0"?&gt;
-    
-    &lt;employees xmlns:email="http://www.w3c.org/some-spec-3.2"&gt;
-        &lt;employee&gt;
-            &lt;name&gt;Bob Worker&lt;/name&gt;
-            &lt;address xmlns="http://postal.ie/spec-1.0"&gt;
-                &lt;street&gt;Nassau Street&lt;/street&gt;
-                &lt;city&gt;Dublin 3&lt;/city&gt;
-                &lt;country&gt;Ireland&lt;/country&gt;
-            &lt;/address&gt;
-            &lt;email:address&gt;bob.worker@hisjob.ie&lt;/email:address&gt;
-        &lt;/employee&gt;
-    &lt;/employees&gt;
-</source>
-
-    <p>The default namespace is redefined for the <code>&lt;address&gt;</code> node
-    and its children, so there is no need to specify the street as
-    <code>&lt;postal:street&gt;</code> - just plain <code>&lt;street&gt;</code> is
-    sufficient. Note that this also applies to the <code>&lt;address&gt;</code>
-    where the namespace is first defined. This is in effect a redefinition of
-    the default namespace.</p>
-  </s2><anchor name="overview"/>
-  <s2 title="Namespace overview">
-
-    <p>Namespaces will have to be handled in three separate parts of the XSLT
-    compiler:</p>
-
-    <anchor name="all_namespaces"/>
-      <p><img src="all_namespaces.gif" alt="all_namespaces.gif"/></p>
-      <p><ref>Figure 1: Namespace handlers in the XSLTC</ref></p>
-
-    <p>The most obvious is the namespaces in the source XML document
-    (marked <link anchor="NSA">"NS A"</link> in figure 1). These namespaces will be
-    handled by our DOM implementation class. The source XSL stylesheet also
-    has its own set of namespaces (<link idref="NSB">"NS B"</link>) - one of which
-    is the XSL namespace. These namespaces will be handled at run-time and
-    whatever information that is needed to process there should be compiled
-    into the translet. There is also a set of namespaces that will be used in
-    the resulting document (<link idref="NSC">"NS C"</link>). This is an
-    intersection of the first two. The output document should not contain any
-    more namespace declarations than necessary.</p>
-
-    </s2><anchor name="NSA"/>
-    <s2 title="The DOM &amp; namespaces">
-    <ul>
-      <li><link anchor="dom-namespace">DOM node types and namespace types</link></li>
-      <li><link anchor="assign">Assigning namespace types to DOM nodes</link></li>                
-    </ul>
-    <anchor name="dom-namespace"/>
-    <s3 title="DOM node types and namespace types">
-
-    <p>Refer to the XSLTC <link idref="xsltc_runtime">runtime
-    environment design</link> document for a description of node types before
-    proceeding. In short, each node in the our DOM implementation is
-    represented by a simple integer. By using this integer as an index into an
-    array called <code>_type[]</code> we can find the type of the node.</p>
-
-    <p>The type of the node is an integer representing the type of element the
-    node is. All elements <code>&lt;bob&gt;</code> will be given the same type,
-    all text nodes will be given the same type, and so on. By using the node
-    type as an index an array called <code>_namesArray[]</code> we can find the
-    name of the element type - in this case "bob". This code fragment shows
-    how you can, with our current implementation, find the name of a node:</p>
-
-<source>
-    int    node = iterator.getNext();  // get next node
-    int    type = _type[node];         // get node type
-    String name = _namesArray[type];   // get node name
-</source>
-
-    <p>We want to keep the one-type-per-node arrangement, since that lets us
-    produce fairly efficient code. One type in the DOM maps to one type in
-    the compiled translet. What we could do to represent the namespace for
-    each node in the DOM is to add a <code>_namespaceType[]</code> array that holds
-    namespace types. Each node type maps to a namespace type, and each
-    namespace type maps to a namespace name (and a prefix with a limited
-    scope):</p>
-
-    <anchor name="type_mappings"/>
-    <p><img src="type_mappings.gif" alt="type_mappings.gif"/></p>
-      <p><ref>Figure 2: Mapping between node types/names, namespace types/names</ref></p>
-
-    <p>This code fragment shows how we could get the namespace name for a node:</p>
-
-<source>
-    int    node      = iterator.getNext();    // get next node
-    int    type      = _type[node];           // get node type
-    int    nstype    = _namespace[type];      // get namespace type
-    String name      = _namesArray[type];     // get node element name
-    String namespace = _nsNamesArray[nstype]; // get node namespace name
-</source>
-
-    <p>Note that namespace prefixes are not included here. Namespace prefixes
-    are local to the XML document and will be expanded to the full namespace
-    names when the nodes are put into the DOM. This, however, is not a trivial
-    matter.</p>
-    </s3><anchor name="assign"/>
-    <s3 title="Assigning namespace types to DOM nodes">
-
-    <p>We cannot simply have a single namespace prefix array similar to the
-    <code>_namespaceArray[]</code> array for mapping a namespace type to a single
-    prefix. This because prefixes can refer to different namespaces depending
-    on where in the document the prefixes are being used. In our last example's
-    <link idref="xml_sample_2">XML fragment</link> the empty prefix <code>""</code>
-    initially referred to the default namespace (the one with no name - just
-    like a Clint Eastwood character). Later on in the document the empty
-    prefix is changed to refer to a namespace called 
-    <code>"http://postal.ie/spec-1.0"</code>.</p>
-
-    <p>Namespace prefixes are only relevant at the time when the XML document
-    is parsed and the DOM is built. Once we have the DOM completed we only need
-    a table that maps each node type to a namespace type, and another array of
-    all the names of the different namespaces. So what we want to end up with
-    is something like this:</p>
-
-     <p><img src="dom_namespace1.gif" alt="dom_namespace1.gif"/></p>
-     <p><ref>Figure 3: Each namespace references in the DOM gets one entry</ref></p>
-
-    <p>The namespace table has one entry for each namespace, nomatter how many
-    prefixes were used ro reference this namespace in the DOM. To build this
-    array we need a temporary data structure used by the DOM builder. This
-    structure is a hashtable - where the various prefixes are used for the
-    hash values. The contents of each entry in the table will be a small stack
-    where previous meanings of each prefix will be stored:</p>
-
-     <p><img src="dom_namespace2.gif" alt="dom_namespace2.gif"/></p>
-     <p><ref>Figure 4: Temporary data structure used by the DOM builder</ref></p>
-
-    <p>When the first node is encountered we define a new namespace
-    <code>"foo"</code> and assign this namespace type/index 1 (the default 
-    namespace <code>""</code> has index 0). At the same time we use the prefix
-    <code>"A"</code> for a lookup in the hashtable. This gives us
-    an integer stack used for the prefix <code>"A"</code>. We push the namespace
-    type 1 on this stack. From now on, until <code>"A"</code> is pop'ed off this
-    stack, the prefix <code>"A"</code> will map to namespace type 1, which
-    represents the namespace URI <code>"foo"</code>.</p>
-
-    <p>We then encounter the next node with a new namespace definition with
-    the same namespace prefix, we create a new namespace <code>"bar"</code> and
-    we put that in the namespace table under type 2. Again we use the prefix
-    <code>"A"</code> as an entry into the namespace prefix table and we get the
-    same integer stack. We now push namespace type 2 on the stack, so that
-    namespace prefix <code>"A"</code> maps to namespace URI <code>"bar"</code>. When
-    we have traversed this node's children we need to pop the integer off the
-    stack, so when we're back at the first node the prefix <code>"A"</code> again
-    will point to namespace type 0, which maps to <code>"foo"</code>. To keep
-    track of what nodes had what namespace declarations, we use a namespace
-    declaration stack:</p>
-
-    <p><img src="dom_namespace3.gif" alt="dom_namespace3.gif"/></p>
-     <p><ref>Figure 5: Namespace declaration stack</ref></p>
-     
-    <p>Every namespace declaration is pushed on the namespace declaration
-    stack. This stack holds the node index for where the namespace was
-    declared, and a reference to the prefix stack for this declaration.
-    The <code>endElement()</code> method of the DOMBuilder class will need to
-    remove namespace declaration for the node that is closed. This is done
-    by first checking the namespace declaration stack for any namespaces
-    declared by this node. If any declarations are found these are un-declared
-    by poping the namespace prefixes off the respective prefix stack(s), and
-    then poping the entry/entries for this node off the namespace declaration
-    stack.</p>
-
-    <p>The <code>endDocument()</code> method will build an array that contains
-    all namespaces used in the source XML document - <code>_nsNamesArray[]</code>
-    - which holds the URIs of all refered namespaces. This method also builds
-    an array that maps all DOM node types to namespace types. This two arrays
-    are accessed through two new methods in the DOM interface:</p>
-
-<source>
-    public String getNamespaceName(int node);
-    public int    getNamespaceType(int node);
-</source>
-
-  </s3></s2><anchor name="NSB"/>
-  <s2 title="Namespaces in the XSL stylesheet">
-  <ul>
-    <li><link anchor="store-access">Storing and accessing namespace information</link></li>
-    <li><link anchor="mapdom-stylesheet">Mapping DOM namespaces to stylesheet namespaces</link></li>
-    <li><link anchor="wildcards">Wildcards and namespaces</link></li>
-  </ul>
-    <anchor name="store-access"/>
-    <s3 title="Storing and accessing namespace information">
-    <p>The SymbolTable class has three datastructures that are used to hold
-    namespace information:</p>
-
-    <ul>
-      <li>
-        First there is the <code>_namespaces[]</code> Hashtable that maps the names
-        of in-scope namespace to their respective prefixes. Each key in the
-        Hashtable object has a stack. A new prefix is pushed on the stack for
-        each new declaration of a namespace.
-      </li>
-      <li>
-        Then there is the <code>_prefixes[]</code> Hashtable. This has the reverse
-        function of the <code>_namespaces[]</code> Hashtable - it maps from
-        prefixes to namespaces.
-      </li>
-      <li>
-        There is also a hashtable that is used for implementing the
-        <code>&lt;xsl:namespace-alias&gt;</code> element. The keys in this
-        hashtable is taken from the <code>stylesheet-prefix</code> attribute of
-        this element, and the resulting prefix (from the <code>result-prefix</code>
-        attribute) is used as the value for each key.
-      </li>
-    </ul>
-
-    <p>The SymbolTable class offers 4 methods for accessing these data
-    structures:</p>
-
-<source>
-    public void   pushNamespace(String prefix, String uri);
-    public void   popNamespace(String prefix);
-    public String lookupPrefix(String uri);
-    public String lookupNamespace(String prefix);
-</source>
-
-    <p>These methods are wrapped by two methods in the Parser class (a Parser
-    object alwas has a SymbolTable object):</p>
-<source>
-    // This method pushes all namespaces declared within a single element
-    public void pushNamespaces(ElementEx element);
-    // This method pops all namespaces declared within a single element
-    public void popNamespaces(ElementEx element);
-</source>
-
-    <p>The translet class has, just like the DOM, a <code>namesArray[]</code>
-    structure for holding the expanded QNames of all accessed elements. The
-    compiled translet fills this array in its constructor. When the translet
-    has built the DOM (a DOMImpl object), it passes the DOM to the a DOM
-    adapter (a DOMAdapter object) together with the names array. The DOM
-    adapter then maps the translet's types to the DOM's types.</p>
-   </s3><anchor name="mapdom-stylesheet"/>
-  <s3 title="Mapping DOM namespaces and stylesheet namespaces">
-
-    <p>Each entry in the DOM's <code>_namesArray[]</code> is expanded to contain
-    the full QName, so that instead of containing <code>prefix:localname</code> it
-    will now contain <code>namespace-uri:localname</code>. In this way the expanded
-    QName in the translet will match the exanded QName in the DOM. This assures
-    matches on full QNames, but does not do much for <code>match="A:*"</code> type
-    XPath patterns. This is where our main challenge lies.</p>
-    </s3><anchor name="wildcards"/>
-    <s3 title="Wildcards and namespaces">
-
-    <p>The original implementation of the XSLTC runtime environment would
-    only allow matches on "<code>*</code>" and "<code>@*</code>" patterns. This was
-    achieved by mapping all elements that could not be mapped to a translet
-    type to 3 (DOM.ELEMENT type), and similarly all unknown attributes to
-    type 4 (DOM.ATTRIBUTE type). The main <code>switch()</code> statement in
-    <code>applyTemplates()</code> would then have a separate "<code>case()</code>"
-    for each of these. (Under each <code>case()</code> you might have to check
-    for the node's parents in case you were matching on "<code>path/*</code>"-type
-    patterns.) This figure shows how that was done:</p>
-
-    <anchor name="match_namespace1"/>
-    <p><img src="match_namespace1.gif" alt="match_namespace1.gif"/></p>
-    <p><ref>Figure 6: Previous pattern matching</ref></p>
-
-    <p>The "Node test" box here represents the "<code>switch()</code>" statement.
-    The "Node parent test" box represent each "<code>case:</code>" for that 
-    <code>switch()</code> statement. There is one <code>case:</code> for each know
-    translet node type. For each node type we have to check for any parent
-    patterns - for instance, for the pattern "<code>/foo/bar/baz</code>", we will
-    get a match with <code>case "baz"</code>, and we have to check that the parent
-    node is "<code>bar</code>" and that the grandparent is "<code>foo</code>" before
-    we can say that we have a hit. The "Element parent test" is the test that
-    is done all DOM nodes that do not directly match any translet types. This
-    is the test for "<code>*</code>" or "<code>foo/*</code>". Similarly we have a
-    "<code>case:</code>" for match on attributes ("<code>@*</code>").</p>
-
-    <p>What we now want to achieve is to insert a check for patterns on the
-    format "<code>ns:*</code>", "<code>foo/ns:*</code>" or "<code>ns:@*</code>", which
-    this figure illustrates:</p>
-
-    <anchor name="match_namespace2"/>
-      <p><img src="match_namespace2.gif" alt="match_namespace2.gif"/></p>
-      <p><ref>Figure 7: Pattern matching with namespace tests</ref></p>
-
-
-    <p>Each node in the DOM needs a namespace type as well as the QName type.
-    With this type we can match wildcard rules to any specific namespace.
-    So after any checks have been done on the whole QName of a node (the type),
-    we can match on the namespace type of the node. The main dispatch
-    <code>switch()</code> in <code>applyTemplates()</code> must be changed from this:</p>
-
-    <source>
-        public void applyTemplates(DOM dom, NodeIterator iterator,
-                                   TransletOutputHandler handler) {
-
-            // Get next node from iterator
-            while ((node = iterator.next()) != END) {
-                // Get internal node type
-                final int type = DOM.getType(node);
-                switch(type) {
-                case DOM.ROOT:      // Match on "/" pattern
-                    handleRootNode();       
-                    break;
-                case DOM.TEXT:      // Handle text nodes
-                    handleText();
-                    break;
-                case DOM.ELEMENT:   // Match on "*" pattern
-                    handleWildcardElement();
-                    break;
-                case DOM.ATTRIBUTE: // Handle on "@*" pattern
-                    handleWildcardElement();
-                    break;
-                case nodeType1:     // Handle 1st known element type
-                    compiledCodeForType1();
-                    break;
-                    :
-                    :
-                    :
-                case nodeTypeN:   // Handle nth known element type
-                    compiledCodeForTypeN();
-                    break;
-                default:
-                   NodeIterator newIterator = DOM.getChildren(node);
-                   applyTemplates(DOM, newIterator, handler);
-                   break;
-                }
-            }
-            return;
-        }
-</source>
-
-    <p>To something like this:</p>
-
-    <source>
-        public void applyTemplates(DOM dom, NodeIterator iterator,
-                                   TransletOutputHandler handler) {
-
-            // Get next node from iterator
-            while ((node = iterator.next()) != END) {
-
-                // First run check on node type
-                final int type = DOM.getType(node);
-                switch(type) {
-                case DOM.ROOT:      // Match on "/" pattern
-                    handleRootNode();
-                    continue;
-                case DOM.TEXT:      // Handle text nodes
-                    handleText();
-                    continue;
-                case DOM.ELEMENT:   // Not handled here!!!
-                    break;
-                case DOM.ATTRIBUTE: // Not handled here!!!
-                    break;
-                case nodeType1:     // Handle 1st known element type
-                    if (compiledCodeForType1() == match) continue;
-                    break;
-                    :
-                    :
-                    :
-                case nodeTypeN:     // Handle nth known element type
-                    if (compiledCodeForTypeN() == match) continue;
-                    break;
-                default:
-                    break;
-                }
-
-                // Then run check on namespace type
-                final int namespace = DOM.getNamespace(type);
-                switch(namespace) {
-                case 0: // Handle nodes matching 1st known namespace
-                    if (handleThisNamespace() == match) continue;
-                    break;
-                case 1: // Handle nodes matching 2nd known namespace
-                    if (handleOtherNamespace() == match) continue;
-                    break;
-                }
-
-                // Finally check on element/attribute wildcard
-                if (type == DOM.ELEMENT) {
-                    if (handleWildcardElement() == match)
-                        continue;
-                    else {
-                       // The default action for elements
-                       NodeIterator newIterator = DOM.getChildren(node);
-                       applyTemplates(DOM, newIterator, handler);
-                    }
-                }
-                else if (type == DOM.ATTRIBUTE) {
-                    handleWildcardAttribute();
-                    continue; 
-                }
-            }
-        }
-</source>
-
-    <p>First note that the default action (iterate on children) does not hold for
-    attributes, since attribute nodes do not have children. Then note that the way
-    the three levels of tests are ordered is consistent with the way patterns
-    should be prioritised:</p>
-
-    <ul>
-
-      <li><em>Match on element/attribute types:</em></li>
-        <ul>
-          <li><code>match="/"</code> - match on the root node</li>
-          <li><code>match="B"</code> - match on any B element</li>
-          <li><code>match="A/B"</code> - match on B elements with A parent</li>
-          <li><code>match="A | B"</code> - match on B or A element</li>
-          <li><code>match="foo:B"</code> - match on B element within "foo" namespace</li>
-        </ul>
-        <li><em>Match on namespace:</em></li>
-        <ul>
-          <li><code>match="foo:*"</code> - match on any element within "foo" namespace</li>
-          <li><code>match="foo:@*"</code> - match on any attribute within "foo" namespace</li>
-          <li><code>match="A/foo:*"</code> - match on any element within "foo" namespace with A parent</li>
-          <li><code>match="A/foo:@*"</code> - match on any attribute within "foo" namespace with A parent</li>
-        </ul>      
-
-      <li><em>Match on wildcard:</em> </li>
-        <ul>
-          <li><code>match="*"</code> - match on any element</li>
-          <li><code>match="@*"</code> - match on any attribute</li>
-          <li><code>match="A/*"</code> - match on any element with A parent</li>
-          <li><code>match="A/@*"</code> - match on any attribute with A parent</li>
-        </ul>
-     
-    </ul>
-
-     </s3></s2><anchor name="NSC"/>
-     <s2 title="Namespaces in the output document">
-
-    <p>These are the categories of namespaces that end up in the output
-    document:</p>
-
-    <ul>
-      <li>
-        Namespaces used in literal elements/attributes in the stylesheet. These
-        namespaces should be declared <em>once</em> before use in the output
-        document. These elements are copied to the output document independent
-        of namespaces in the input XML document. However, the namespaces can
-        be declared using the same prefix, such that a namespace used by a
-        literal result element can overshadow a namespace from the DOM.
-      </li>
-      <li>
-        Namespaces from elements in the stylesheet that match elements in the
-        DOM. No namespaces from the DOM should be copied to the output document
-        unless they are actually referenced in the stylesheet. No namespaces
-        from the stylesheet should be copied to the output document unless the
-        elements in which they are references match elements in the DOM.
-      </li>
-    </ul>
-
-      <anchor name="output_namespaces1"/>
-      <p><img src="output_namespaces1.gif" alt="output_namespaces1.gif"/></p>
-      <p><ref>Figure 8: Namespace declaration in the output document</ref></p>    
-
-    <p>Any literal element that ends up in the output document must declare all
-    namespaces that were declared in the <code>&lt;xsl:stylesheet&lt;</code>
-    element. Exceptions are namespaces that are listed in this element's
-    <code>exclude-result-prefixes</code> or <code>extension-element-prefixes</code>
-    attributes. These namespaces should only be declared if they are referenced
-    in the output.</p>
-
-    <p>Literal elements should only declare namespaces when necessary. A
-    literal element should only declare a namespace in the case where it
-    references a namespace using prefix that is not in scope for this
-    namespace. The output handler will take care of this problem. All namespace
-    declarations are put in the output document using the output handler's
-    <code>declarenamespace()</code> method. This method will monitor all namespace
-    declarations and make sure that no unnecessary declarations are output.
-    The datastructures used for this are similar to those used to track
-    namespaces in the XSL stylesheet:</p>
-
-    <anchor name="output_namespaces2"/>
-    <p><img src="output_namespaces2.gif" alt="output_namespaces2.gif"/></p>
-      <p><ref>Figure 9: Handling Namespace declarations in the output document</ref></p>
-
- </s2>
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_native_api.xml b/xdocs/sources/xsltc/xsltc_native_api.xml
deleted file mode 100644
index 3f4f5f4..0000000
--- a/xdocs/sources/xsltc/xsltc_native_api.xml
+++ /dev/null
@@ -1,345 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-
-<s1 title="XSLTC Native API Documentation">
-
-  <s2 title="XSLTC Compiler API">
-
-    <p>XSLTC's native API is represented by the
-    <code>org.apache.xalan.xsltc.compiler.XSLTC</code> class. Any application
-    using XSLTC's native API should only have to access methods in this class
-    in order to compile a stylesheet (or a set or stylesheets) into one or
-    more Java classes. The <code>XSLTC</code> has an empty constructor. The
-    class needs to be initialized before each compilation by a call to:</p>
-<source>
-    public void init();
-</source>
-
-    <s3 title="Compile methods">
-    <p>There is a set of methods for compiling one or more stylesheets into a
-    set of Java classes. The stylesheet can be specified either as a
-    <code>URL</code>, <code>InputStream</code>, <code>InputSource</code> or
-    a <code>Vector</code> containing a set of <code>URL</code>s pointing to
-    stylesheets:</p><source>
-    public boolean compile(URL url);
-    public boolean compile(URL url, String transletName);
-    public boolean compile(InputStream stream, String transletName);
-    public boolean compile(InputSource input, String transletName);
-    public boolean compile(Vector stylesheets);</source>
-
-    <p>The default behaviour is to output the compiled Java class(es) to one or
-    more Java classes in the current working directory. The name of the main
-    translet class will be obtained from (in order of priority):</p>
-
-    <ul>
-      <li>that specified in the <code>compile()</code> method</li>
-      <li>if none is specified (if the parameter is 'null') the name will be
-      generated from the filename specified by the input URL/file/stream</li>
-      <li>the default translet name (set by <code>setClassName()</code>)</li>
-      <li>the built-in default class name <code>&quot;GregorSamsa&quot;</code></li>
-    </ul>
-
-    <p>Additional Java classes will be generated for complex stylesheets. These
-    classes represent elements such as predicates, sort-records, etc. in the
-    stylesheet. Additional classes share the same root name as the main translet
-    class, with a suffix containing a '$'-sign and a sequence number. The result
-    of a single compilation of a complex stylesheet could be:</p><source>
-    GregorSamsa.java
-    GregorSamsa$0.java
-    GregorSamsa$1.java
-    GregorSamsa$2.java
-    GregorSamsa$3.java</source>
-
-    <p>It is not always desireable having these classes dumped to files in the
-    current working directory. There is one <code>compile()</code> method that
-    will return the Java class definitions as bytecodes. The bytecodes are
-    returned in a two-dimmensional <code>byte</code> array. Each byte-array
-    contains the bytecodes for one Java class:</p><source>
-    public byte[][] compile(String name, InputSource input);</source>
-
-    <p>Alternatively, one can first compile the stylesheet into one or more
-    Java class files, and then also retrieve the bytecodes from the compiler:</p><source>
-    public byte[][] getBytecodes();</source>
-
-    </s3>
-
-    <s3 title="Output settings">
-
-    <p>The default (root) name for the generated Java classes can be set and
-    retrieved by calls to these methods:</p><source>
-    public void setClassName(String className);
-    public String getClassName();</source>
-
-    <p>One can also specify a package to place the classes in:</p><source>
-    public void setPackageName(String package);</source>
-
-    <p>The generated classes can also be wrapped inside a single Java archive
-    (JAR-file):</p><source>
-    public void setJarFileName(String jarFileName);
-    public String getJarFileName();</source>
-
-    <p>The result file(s) need not be output in the current working directory.
-    Specify the directory to output to by calling:</p><source>
-    public boolean setDestDirectory(String directory);</source>
-
-    </s3>
-
-    <anchor name="document-locator"/>
-    <s3 title="Input document locator interface">
-
-    <p>XSLTC's compiler has an interface that a client application can implement
-    to provide XSL input from alternative sources. Implementing and using this
-    interface is necessary when the top-level stylesheet contains one or more
-    <code>&lt;xsl:include&gt;</code> and <code>&lt;xsl:import&gt;</code>
-    elements that reference stylesheets that cannot be read using standard
-    <code>File</code> or <code>URL</code> classes. The interface that a client
-    must implement is <code>org.apache.xalan.xsltc.compiler.SourceLoader</code>,
-    and its only method is:</p><source>
-    public InputSource loadSource(String href, String context, XSLTC xsltc);</source>
-
-    <p>The compiler class, <code>XSLTC</code>, has a method for specifying the
-    implementation of this interface:</p><source>
-    public void setSourceLoader(SourceLoader loader);</source>
-
-    <p>This interface shares the same purpose as the <code>URIResolver</code>
-    interface in the JAXP/TrAX API.</p>
-
-    </s3>
-
-    <s3 title="Debug settings">
-
-    <p>XSLTC can be forced to output debug messages and stack dumps:</p><source>
-    public void setDebug(boolean debug);
-    public boolean debug();</source>
-
-    </s3>
-
-    <s3 title="Error handling">
-
-    <p>All <code>compile()</code> methods return 'true' if the compilation
-    succeeded. The compiler could in such case still generate warning messages.
-    These message could be retrieved a <code>Vector</code> of strings or
-    output directlry to stderr:</p><source>
-    public Vector getWarnings();
-    public void printWarnings();</source>
-
-    <p>All <code>compile()</code> methods will return 'false' if any serious
-    errors prevented the compiler from generating any Java classes. Error
-    messages are handled similar to warning messages:</p><source>
-    public Vector getErrors();
-    public void printErrors();</source>
-
-    <p>Note that warning messages are not returned/output by these two methods.
-    A client application should pass both warning  and error messages
-    to its user.</p>
-
-    </s3>
-
-  </s2>
-
-  <s2 title="XSLTC Transform API">
-
-    <p>The steps described in this chapter are covered in these sample
-    source code files:</p>
-
-    <ul>
-      <li><code>org.apache.xalan.xsltc.cmdline.Transform</code></li>
-      <li><code>$XML-XALAN/java/samples/CompiledApplet/TransformApplet</code></li>
-      <li><code>$XML-XALAN/java/samples/CompiledApplet/TransformApplet</code></li>
-      <li><code>$XML-XALAN/java/samples/CompiledServlet/TransformServlet</code></li>
-      <li><code>$XML-XALAN/java/samples/CompiledBrazil/TransformHandler</code></li>
-      <li><code>$XML-XALAN/java/samples/CompiledEJB/Transform</code></li>
-
-    </ul>
-
-    <s3 title="Transformation input handling">
-
-    <p>The main input document must be parsed using a SAX handler. The main SAX
-    events (<code>ContentHandler</code>) and lexical declarations
-    (<code>LexicalHandler</code>) are handled by the internal DOM builder.
-    The classes that make up the internal DOM are:</p><source>
-    org.apache.xalan.xsltc.DOM;             - DOM interface
-    org.apache.xalan.xsltc.dom.DOMImpl;     - DOM implementation
-    org.apache.xalan.xsltc.dom.DOMAdapter;  - DOM-to-translet mapper
-    org.apache.xalan.xsltc.dom.MultiDOM;    - DOM multiplexer
-    org.apache.xalan.xsltc.dom.DOMBuilder;  - DOM builder interface</source>
-
-    <p>The <code>DOMBuilder</code> interface is a wrapper for the standard SAX
-    <code>ContentHandler</code> and <code>LexicalHandler</code> interfaces.
-    The <code>DOMBuilder</code> contains both these interfaces, and it is
-    implemented by an inner class of the <code>DOMImpl</code> class. To build
-    the internal DOM, one has to go through these steps:</p><source>
-    // Create a SAX parser and get the XMLReader object it uses
-    final SAXParserFactory factory = SAXParserFactory.newInstance();
-    try {
-	factory.setFeature(Constants.NAMESPACE_FEATURE,true);
-    }
-    catch (Exception e) {
-	factory.setNamespaceAware(true);
-    }
-    final SAXParser parser = factory.newSAXParser();
-    final XMLReader reader = parser.getXMLReader();
-
-     // Set the DOM's DOM builder as the XMLReader's SAX2 ContentHandler
-    final DOMImpl dom = new DOMImpl();
-    DOMBuilder builder = dom.getBuilder();
-    reader.setContentHandler(builder);
-
-     // Set the DOM's DOM builder as the XMLReader's SAX2 LexicalHandler
-    try {
-	String prop = "http://xml.org/sax/properties/lexical-handler";
-	reader.setProperty(prop, builder);
-    }
-    catch (SAXException e) {
-	 // Can be quitely ignored...
-    }
-
-     // Pass the document URI or file-name to the DOM
-    dom.setDocumentURI(uri);
-     // Parse the input document to populate the DOM
-    reader.parse(uri);</source>
-
-    <p>The input XML document may contain of reference a DTD. A DTD must be
-    processed by XSLTC in order to support the <code>id()</code> and
-    <code>unparsed-entity-uri()</code> functions.
-    The <code>org.apache.xalan.xsltc.dom.DTDMonitor</code> class can handle
-    DTD declarations and aggregate them for use by a translet. Create your
-    <code>DTDMonitor</code> instance by passing it a reference to your SAX
-    parser:</p><source>
-     // Create a DTD monitor and pass it to the XMLReader object
-    final DTDMonitor dtd = new DTDMonitor(reader);</source>
-
-    <p>This call ensures that an index is built for all <code>ID</code>
-    attributes described in the DTD:</p><source>
-     // If there are any elements with ID attributes, build an index
-    dtd.buildIdIndex(dom, 0, _translet);</source>
-
-    <p>And this call ensures that the translet is passed all unparsed entities
-    described in the DTD:</p><source>
-    translet.setDTDMonitor(dtd);</source>
-
-    <p>We'll tell you how to create the translet instance in the next section.</p>
-
-    </s3>
-
-    <s3 title="The translet instance">
-
-    <p>All compiled translets inherit from the <code>AbstractTranslet</code>
-    class, so it is safe to cast your tranlet instance to that class:</p><source>
-    Class transletClass = Class.forName(transletName);
-    AbstractTranslet translet = (AbstractTranslet)transletClass.newInstance();</source>
-
-    <p>Note that the translet  instance  is not reusable, so you would
-    benefit from keeping the reference to the translet class.</p>
-
-    <p>Once you have your translet instance you can start playing around with
-    it. First you want to pass parameters to it:</p><source>
-    // Pass global parameters
-    translet.addParameter("my-param", "my-value");</source>
-
-    <p>You also want to remember to pass your DTD handler to the translet.
-    (See previous section.)</p>
-
-    </s3>
-
-    <s3 title="Preparing the output handler">
-
-    <p>The compiled translet does not contain all the functionality needed to
-    format the output document. This is handled by our output post-processor
-    <code>org.apache.xalan.xsltc.runtime.TextOutput</code>. This class needs
-    to be instanciated with three parameters; a SAX <code>ContentHandler</code>,
-    a <code>LexicalHandler</code> and a string containing the desired output
-    encoding. The user should normally provide the two handlers, and the
-    output encoding can be obtained from a field in the translet:</p><source>
-    // Get the output encoding (from any &lt;xsl:output&gt; element
-    String encoding = translet._encoding;
-
-    // Create a translet output handler and plug in the SAX handlers
-    TextOutput textOutput = new TextOutput(myContentHandler, myLexicalHandlere, encoding);</source>
-    </s3>
-
-    <s3 title="Transformation">
-
-    <p>With the internal DOM built, the DTD monitor in place, and the output
-    handler set up, we're ready to run the actual transformation:</p><source>
-    // Transform and pass output to the translet output handler
-    translet.transform(dom, textOutput);</source>
- 
-    </s3>
-
-    <s3 title="The DOM cache interface">
-
-    <p>Parsing the input document and building the internal DOM is a fairly
-    expensive operation, and it is often desireable to build a cache holding
-    frequently accessed internal DOMs. An application using XSLTC's native
-    API can accomplish this by implementing the
-    <code>org.apache.xalan.xsltc.DOMCache</code> interface. The application will
-    still have to call the translet's <code>transform()</code> method with a
-    DOM from the cache. But, the translet may have to load additional documents
-    if the original stylesheet contained calls to the <code>document()</code>
-    function. The translet can be instructed to read DOMs from a cache by
-    calling this method:</p><source>
-    public void setDOMCache(DOMCache cache);
-    public DOMCache getDOMCache();</source>
-
-    </s3>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_overview.xml b/xdocs/sources/xsltc/xsltc_overview.xml
deleted file mode 100644
index d291e79..0000000
--- a/xdocs/sources/xsltc/xsltc_overview.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
- 
-<s1 title="XSLTC stylesheet compiler overview">
-   
-  <s2 title="Using the Command-Line Utility">
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_performance.xml b/xdocs/sources/xsltc/xsltc_performance.xml
deleted file mode 100644
index 992bc86..0000000
--- a/xdocs/sources/xsltc/xsltc_performance.xml
+++ /dev/null
@@ -1,307 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-
-<s1 title="XSLTC Performance">
-
-  <s2 title="Introduction">
-
-    <p><em>XSLT is not a programming language!</em> Just so you remember.
-    XSLT is a declarative language and can be used by you to describe
-    <em>what</em> you want put in your output document and
-    <em>what</em> you want this output to look like. It does not describe
-    <em>how</em> these taks should be carried. That is the job of the XSLT
-    processor. This document is <em>not</em> a "<ref>programmer's guide to XSLT</ref>"
-    and should not be considered as such. All XSLT processors have their
-    properties and ways of handling XSL elements and XPath properties. This
-    document will give you some insight into the XSLTC internals, so that you
-    can channel your stylesheets through XSLTC's shortest and most efficient
-    code paths.</p>
-
-    <p>XSLTC's performance has always been one of its key selling points.
-    (I should probably find a better term here, since we're giving XSLTC away
-    for free.) But, there are some specific patterns and expressions that are
-    not handled much better than with other interpretive XSLT processors, and
-    this document is an attempt to pinpoint these and to outline alternatives.
-    </p>
-
-  </s2>
-
-  <s2 title="Contents">
-    <ul>
-      <li><link anchor="pred">Avoid using predicates in '*' patterns</link></li>
-      <li><link anchor="idkey">Avoid using id/key-patterns</link></li>
-      <li><link anchor="union">Avoid union expressions where possible</link></li>
-      <li><link anchor="sort">Sort stored node-sets once</link></li>
-      <li><link anchor="cache">Cache input documents</link></li>
-      <li><link anchor="trax">TrAX vs. native API</link></li>
-    </ul>
-  </s2>
-
-  <anchor name="pred"/>
-  <s2 title="Avoid using predicates in wildcard patterns">
-
-    <p>XSLTC gains its speed from the simple dispatch loop in the translet's
-    <code>applyTemplates()</code> method. This method uses a simple
-    <code>switch()</code> statement to choose the desired template based on
-    the current node's node type (an integer). By adding a pattern with a
-    wildcard (no type) and a predicate, XSLTC is forced to evaluate the
-    predicate for every single node.</p><source>
-    &lt;xsl:template match="*[2]"></source>
-
-    <p>The above pattern should be avoided by selecting the desired node when
-    using <code>&lt;xsl:apply-templates&gt;</code>. Use named templates or
-    modes to make sure you trigger the correct template:</p><source>
-    &lt;xsl:template match="/">
-      &lt;xsl:apply-templates select="bar"/>
-    &lt;/xsl:template>
-
-    &lt;xsl:template match="*[2]"/>
-
-    &lt;xsl:template match="*"/></source>
-
-    <p>can be replaced by:</p><source>
-    &lt;xsl:template match="/">
-      &lt;xsl:apply-templates select="bar"/>
-      &lt;xsl:apply-templates select="bar[2]" mode="second"/>
-    &lt;/xsl:template>
-
-    &lt;xsl:template match="*" mode="second"/>
-
-    &lt;xsl:template match="*"/></source>
-
-    <p>This change will only improve performance if the stylesheet is fairly
-    large and has a good few templates (10 or more). Also note that the order
-    of the output is changed by this approach, so if the order is significant
-    you'll have to stick to the original stylesheet.</p>
-
-    <p><em>Important note:</em> The type of pattern referred to as a
-    type-less pattern, as it does not match any specific node type. Such
-    patterns do in general degrade the performance of XSLTC. Type-less patterns
-    must be evaluated for every single node in the input document - causing a
-    general performance degradation.</p>
-
-  </s2>
-
-  <anchor name="idkey"/>
-  <s2 title="Avoid using id/key-patterns">
-
-    <p>Id and key patterns can be used to trigger a template if the current
-    node has a specific id or has a specific value in a key's index:</p><source>
-    &lt;xsl:template match="id('some-value')"/>
-
-    &lt;xsl:template match="key('key-name', 'some-value')"/></source>
-
-    <p>Looking up a value/node-pair in an index does not require much processing
-    time at all. But, this is also a type-less pattern and can match any type
-    of node. This degrades XSLTC's performenace, just like wildcard patterns
-    with predicates (see above paragraph).</p>
-
-  </s2>
-
-  <anchor name="union"/>
-  <s2 title="Avoid union expressions where possible">
-
-    <p>Union expressions provide an all-in-one-go easy way of applying templates
-    to sets of nodes:</p><source>
-    &lt;xsl:apply-templates select="foo|bar|baz"/></source>
-
-    <p>The union iterator that is used to implement union expressions is 
-    unfortunately not very efficient. If node order is not of importance, then
-    one can benefit from breaking the union up in several elements:</p><source>
-    &lt;xsl:apply-templates select="foo"/>
-    &lt;xsl:apply-templates select="bar"/>
-    &lt;xsl:apply-templates select="baz"/></source>
-
-    <p>But, remeber that this will give you all <code>&lt;foo&gt;</code>
-    elements first, then all <code>&lt;bar&gt;</code> elements, and so on.
-    This is not always desireable. You may want to handle these elements in
-    the order in which they appear in the input document.</p>
-
-    <p><em>Important note:</em> This does <em>not</em> apply to union patterns.
-    Using unions in patterns actually makes smaller and more efficient code,
-    as only one copy of the templete body has to be compiled. Use:</p><source>
-    &lt;xsl:template match="foo|bar|baz"/></source>
-
-    <p>instead of:</p><source>
-    &lt;xsl:template match="foo"/>
-    &lt;xsl:template match="bar"/>
-    &lt;xsl:template match="baz"/></source>
- 
-  </s2>
-
-  <anchor name="sort"/>
-  <s2 title="Sort stored node-sets once">
-
-    <p>This item is very obvious, but nevertheless easy to forget in some
-    complicated cases. If you put a result-tree fragment inside a variable, and
-    you want the nodes in a specific, sorted order, then sort the nodes as you
-    create the variable and not when you use it. Instead of:</p><source>
-
-    &lt;xsl:variable name="bars">
-      &lt;xsl:copy-of select="//foo/bar"/>
-    &lt;/xsl:variable>
-
-    &lt;xsl:template match="/">
-      &lt;xsl:text>List of bar's in sorted order:&amp;#xa;&lt;/xsl:text>
-      &lt;xsl:for-each select="$bars-sorted">
-        &lt;xsl:value-of select="@name"/>
-        &lt;xsl:text>&amp;#xa;&lt;/xsl:text>
-      &lt;/xsl:for-each>
-    &lt;/xsl:template></source>
-
-    <p>A better way, and with most XSLT processors the only legal way, is to
-    sort the result tree when creating it:</p><source>
-
-    &lt;xsl:variable name="bars">
-      &lt;xsl:for-each select="//foo/bar">
-        &lt;xsl:sort select="@name"/>
-        &lt;xsl:copy-of select="."/>
-      &lt;/xsl:for-each>
-    &lt;/xsl:variable>
-
-    &lt;xsl:template match="/">
-      &lt;xsl:text>List of bar's in sorted order:&amp;#xa;&lt;/xsl:text>
-      &lt;xsl:for-each select="$bars">
-        &lt;xsl:value-of select="@name"/>
-        &lt;xsl:text>&amp;#xa;&lt;/xsl:text>
-      &lt;/xsl:for-each>
-    &lt;/xsl:template></source>
-
-    <p>It is very common to sort node-sets returned by the id() and key()
-    functions. Instead of doing this sorting over and over again, one should
-    use a variable and store the node set in the desired sort order, and read
-    the node set from the variable whenever used.</p>
-
-  </s2>
-
-  <anchor name="cache"/>
-  <s2 title="Cache the input document">
-
-    <p>All XSLT processors use an internal DOM-like structure, and XSLTC is no
-    exception. The internal DOM is tailored for the XSLTC design and can be
-    navigated efficiently by the translet. Building the internal DOM is a
-    rather slow process, and does very many cases take more time than the
-    actual transformation. This is a general rule, and does not only apply to
-    XSLTC. It is advisable, and common in most large-scale XSLT-based
-    applications, to create a cache for the input documents. Not only does this
-    prevent CPU- and memory-intensive DOM creation, but it also prevents several
-    translets from having their own private copies of common input documents.
-    Both XSLTC's  internal API and TrAX implementation provide ways of
-    implementing a decent input document cache:</p>
-
-    <ul>
-      <li>See <link anchor="trax-cache">below</link> for a description of how
-      to do this using the TrAX interface.</li>
-
-      <li>The <jump href="xsltc_native_api.html#document-locator">native API
-      documentation</jump> contains a section on using the internal
-      <code>org.apache.xalan.xsltc.compiler.SourceLoader</code> interface.</li>
-    </ul>
-  </s2>
-
-  <anchor name="trax"/>
-  <s2 title="TrAX vs. native API">
-
-    <s4 title="TrAX performance benefits">
-
-    <p>If XSLTC's two-step approach to XSLT processing suits your application
-    then there is no reason why you should not use the TrAX API. The API fits
-    very nicely in with XSLTC internals and processing model. In fact, you may
-    even benefit from using TrAX in cases where your stylesheet is compiled
-    into a large ammount of auxiliary classes. The most obvious benefit is that
-    the translet class and auxiliary classes are all bundled inside the
-    <code>Templates</code> object. Performance can also be improved due to the
-    fact that XSLTC chaches all auxiliary classes inside <code>Templates</code>
-    code, preventing the class loader from being invoked more than necessary.
-    This is just theory and no tests have been done, but you should see a
-    performance improvement when using XSLTC and TrAX in such cases.</p>
-
-    </s4>
-
-    <s4 title="Treat Templates objects as compiled translets">
-
-    <p>When using TrAX, the <code>Templates</code> object should be considered
-    the result of a compilation. With XSLTC this is the actual case - the
-    <code>Templates</code> object contains the translet Java class(es). With
-    other XSLT processors the <code>Templates</code> directly or indirectly
-    contains data-structures represent all or parts of the input stylesheet.
-    The bottom line is: Create your <code>Templates</code> object once, cache
-    and re-use it as often as possible.</p>
-
-    </s4>
-
-    <anchor name="trax-cache"/>
-    <s4 title="Input document caching">
-
-    <p>An extension to the TrAX API allows input documents to be cached. The
-    extensions is a sub-class to the TrAX <code>Source</code> class, which can
-    be used to wrap XSLTC's internal DOM structures. This is described in
-    detail in the <link idref="xsltc_trax_api">XSLTC TrAX API reference</link>.
-    </p>
-
-    <p>If you do chose to implement a DOM cache, you should have your cache
-    implement the <code>javax.xml.transform.URIResolver</code> interface so
-    that documents loaded by the <code>document()</code> function are also read
-    from your cache.</p>
-
-    </s4>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_predicates.xml b/xdocs/sources/xsltc/xsltc_predicates.xml
deleted file mode 100644
index 64a9052..0000000
--- a/xdocs/sources/xsltc/xsltc_predicates.xml
+++ /dev/null
@@ -1,382 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-
-<s1 title="XSLTC Predicate Handling">
-
-  <s2 title="Definition">
-
-  <p>According to Michael Kay's &quot;XSLT Programmer's Reference&quot; page
-  736, a predicate is &quot;An expression used to filter which nodes are
-  selected by a particular step in a path expression, or to select a subset of
-  the nodes in a node-set. A Boolean expression selects the nodes for which the
-  predicate is true; a numeric expression selects the node at the position
-  given by the value of the expression, for example '[1]' selects the first
-  node.&quot;. Note that a predicate containing a boolean expression can
-  return zero, one or more nodes, while a predicate containing a numeric
-  expression can return only zero or one node.</p>
-
-  </s2>
-
-  <s2 title="Examples">
-
-  <p>I'll list a few examples that I can refer back to later on in this
-  document. All examples will use this XML document:</p><source>
-    &lt;?xml version="1.0"?>
-    &lt;doc>
-      &lt;foo location="Drumcondra">
-        &lt;bar name="Cat and Cage"/>
-        &lt;bar name="Fagan's"/>
-        &lt;bar name="Gravedigger's"/>
-        &lt;bar name="Ivy House"/>
-      &lt;foo>
-      &lt;foo location="Town">
-        &lt;bar name="Peter's Pub"/>
-        &lt;bar name="Grogan's"/>
-        &lt;bar name="Hogans's"/>
-        &lt;bar name="Brogan's"/>
-      &lt;/foo>
-    &lt;/doc></source>
-
-  <p>Here are some examples of a predicate with boolean expressions:</p><source>
-    &lt;xsl:for-each select="//bar[contains(@name,'ogan')]">
-    &lt;xsl:for-each select="//bar[parent::*/@location = 'Drumcondra']">
-    &lt;xsl:for-each select="//bar[@name = 'Cat and Cage']"></source>
-
-  <p>The first two select more than one node, while the last selects only one.
-  The last expression could select more nodes if the input document was
-  different. Now, here are a few examples of predicates with numeric
-  expressions:</p><source>
-    &lt;xsl:value-of select="//bar[1]">
-    &lt;xsl:value-of select="/doc/foo[2]/bar[1]">
-    &lt;xsl:value-of select="/doc/foo[2]/bar"></source>
-  <p>The last expression will return more than one node, but the step that
-  contains the predicate returns only one (the second <code>&lt;foo&gt;</code>
-  element).</p>
-
-  <p>The above are the basic types of predicates. These can be grouped to create
-  a predicate pipeline, where the first predicate reduces the node-set that the
-  second predicate filters, and so on. Here are some examples:</p><source>
-    A: &lt;for-each select="//bar[contains(@name,'ogan')][2]">
-    C: &lt;for-each select="//bar[2][contains(@name,'ogan')]">
-    B: &lt;for-each select="//bar[position() > 3][2]"></source>
-
-  <p>It is easier to figure out which nodes these expressions should return if
-  one goes through the steps and predicates one by one. In expression
-  <code>A:</code> we first get all <code>&lt;bar&gt;</code> elements from the
-  whole document. Then the first predicate selects from that node-set only
-  those elements that have a <code>@name</code> attribute that contains
-  &quot;ogan&quot;, and we're left with these elements:</p><source>
-        &lt;bar name="Grogan's">
-        &lt;bar name="Hogans's">
-        &lt;bar name="Brogan's"></source>
-  <p>And finally, the last predicate then selects the second of those
-  elements:</p><source>
-        &lt;bar name="Hogans's"></source>
-
-  <p>Expression <code>B:</code> contains the same predicates as <code>A:</code>,
-  but the resulting node set if completely different. We start off with the same
-  set of <code>&lt;bar&gt;</code> elements, but we apply the
-  <code>&quot;[2]&quot;</code> predicate first, and end up with this
-  element:</p><source>
-        &lt;bar name="Fagan's"></source>
-
-  <p>Fagan's is the bar where the Irish Taoiseach (prime minister) drinks his
-  pints, but its name does not contain the string &quot;<code>ogan</code>&quot;,
-  so the resulting node-set is empty.</p>
-
-  <p>The third expressions also starts off with all <code>&lt;bar&gt;</code>
-  elements, applies the predicate &quot;<code>[position() > 3]</code>&quot;,
-  and reduces the node set to these:</p><source>
-        &lt;bar name="Ivy House">
-        &lt;bar name="Peter's Pub">
-        &lt;bar name="Grogan's">
-        &lt;bar name="Hogans's">
-        &lt;bar name="Brogan's"></source>
-  <p>The last predicate &quot;<code>[2]</code>&quot; is applied to this node-set
-  and set is further reduced to:</p><source>
-        &lt;bar name="Peter's Pub"></source>
-
-  </s2>
-
-  <s2 title="Categories">
-
-  <p>From the examples in the last chapter we can try to categorize predicate
-  chains/pipelines to simplify our implementation. We can speed up processing
-  significantly if we can avoid using a data-structure (iterator) to represent
-  the intermediate step between predicates. The goal of setting up these
-  categories is to pinpoint those cases where an intermediate iterator has
-  to be used and when it can be avoided.</p>
-
-    <s3 title="Single predicate expressions">
-
-    <p>Expressions containing just a single predicate have no intermediate step
-    and there is no need for any extra iterator. The expression inside the
-    predicate can be applied directly to the original iterator. We call this
-    category <em>SIMPLE_CONTEXT</em>.</p>
-
-    </s3>
-
-    <s3 title="Expressions containing only non-position predicates">
-    
-    <p>Predicate-order is significant when the predicate-chain contains one or
-    more predicate with an expression similar to
-    &quot;<code>position() > 3</code>&quot; or &quot;<code>2</code>&quot;. This
-    is because the <code>position()</code> and <code>last()</code> explicitly
-    refer to the intermediate step between applying each predicate. The
-    expression:</p><source>
-    &lt;xsl:for-each select="//bar[contains(@name,'ogan')][parent::*/@location = 'Town']"></source>
-    <p>has two predicates that can be applied in any order and still produce the
-    desired node-set. Such predicates can be merged to:</p><source>
-    &lt;xsl:for-each select="//bar[contains(@name,'ogan') &amp; (parent::*/@location = 'Town')]"></source>
-    <p>We call this category NO_CONTEXT.</p>
-
-    </s3>
-
-    <s3 title="Expressions containing position predicates">
-
-    <p>A predicate-chain, whose predicates' expressions contain any use of the
-    <code>position()</code> or <code>last()</code> functions require some way
-    of representing the intermediate step in an iterator. The first predicate
-    is applied to the original node-set, and the resulting node-set must then
-    be stored in some other iterator, from which the second predicate can get
-    the current position from the iterator's <code>getPosition()</code> and
-    <code>getLast()</code> methods. We call this category
-    GENERAL_CONTEXT</p>
-
-    </s3>
-
-    <anchor name="exception"/>
-    <s3 title="Expressions containing one position predicate">
-
-    <p>There is one expection from the GENERAL_CONTEXT category. If the
-    predicate-chain contains only one position-predicate, and that predicate is
-    the very first one, then that predicate can call the iterator that contains
-    the first node-set directly. Just look:</p><source>
-    &lt;xsl:for-each select="//bar[2][parent::*/@location = 'Drumcondra']"></source>
-    <p>The <code>[2]</code> predicate can be applied to the original iterator
-    for the <code>//bar</code> step. And so can the
-    <code>[parent::*/@location = 'Drumcondra']</code> predicate as well. This
-    is only the case when the position predicate is first in the predicate
-    chain. These types of predicate chains belong in the
-     NO_CONTEXT  category.</p>
-
-    </s3>
-
-  </s2>
-
-  <s2 title="Design details">
-
-    <p>Predicates are handled quite differently in step expressions and step
-    patterns. Step expressions are not implemented with the various contexts in
-    mind and use a specialised iterator to wrap the code for each predicate.
-    Step patterns are more complicated and CPU (or should I say JVM?)
-    exhaustive. Step patterns containing predicates are analysed to determine
-    context type and compiled accordingly.</p>
-
-    <s3 title="Predicates and Step expressions">
-
-    <p>The basic behaviour for a predicate is to compile a <em>filter</em>. This
-    filter is an auxiliary class that implements the
-    <code>org.apache.xalan.xsltc.dom.CurrentNodeListFilter</code> interface. The
-    <code>Step</code> or <code>StepPattern</code> that uses the predicate will
-    create a <code>org.apache.xalan.xsltc.dom.CurrentNodeListFilter</code>. This
-    iterator contains the nodes that pass through the predicate. The compiled
-    filter is used by the iterator to determine which nodes that should be
-    included. The <code>org.apache.xalan.xsltc.dom.CurrentNodeListFilter</code>
-    interface contains only a single method:</p><source>
-    public interface CurrentNodeListFilter {
-    public abstract boolean test(int node, int position, int last, int current,
-                                 AbstractTranslet translet, NodeIterator iter);
-    }</source>
-
-    <p>The code that is compiled into the <code>test()</code> method is the
-    code for the predicate's expression. The <code>Predicate</code> class
-    compiles the filter class and a <code>test()</code> method skeleton, while
-    some sub-class of the <code>Expression</code> class compiles the actual
-    code that goes into this method.</p>
-
-    <p>The iterator is initialised with a filter that implements this interface:
-    </p><source>
-    public CurrentNodeListIterator(NodeIterator source, 
-				   CurrentNodeListFilter filter,
-				   int currentNode,
-				   AbstractTranslet translet) {
-	this(source, !source.isReverse(), filter, currentNode, translet);
-    }</source>
-
-    <p>The iterator will use its source iterator to provide it with the initial
-    node-set. Each node that is returned from this set is passed through the
-    filter before returned by the <code>next()</code> method. Note that the
-    source iterator can also be a current node-list iterator (if two or more
-    predicates are chained together).</p>
-
-    </s3>
-
-    <s3 title="Optimisations in Step expressions">
-
-    <s4 title="Node-value iterators">
-
-    <p>Some simple predicates that test for node values are handled by the
-    <code>NodeValueIterator</code> class at runtime. These are:</p><source>
-    A: foo[@attr = &lt;value&gt;]
-    B: foo[bar = &lt;value&gt;]
-    C: foo/bar[. = &lt;value&gt;]</source>
-
-    <p>The first case is handled by creating an iterator that represents
-    <code>foo/@attr</code>, then passing this iterator and a test-value to
-    a <code>NodeValueIterator</code>. The <em>&lt;value&gt;</em> is an
-    expression that is compiled and passed to the iterator as a string. It
-    does <em>not</em> have to be a literal string as the string value is
-    found at runtime. The last two cases are similarly handled by creating an
-    iterator for <code>foo/bar</code> and passing that and the test-value to
-    a <code>NodeValueIterator</code>.</p>
-
-    </s4>
-
-    <s4 title="Nth descendant iterators">
-
-    <p>The <code>Step</code> class is also optimised for position-predicates
-    that are applied to descendant iterators:</p><source>
-    &lt;xsl:for-each select="//bar[3]"></source>
-
-    <p>Such step/predicate combinations are handled by the internal DOM's
-    inner class <code>NthDescendantIterator</code>.</p>
-
-    </s4>
-
-    <s4 title="Nth position iterators">
-
-    <p>Similarly, the <code>Step</code> class is optimised for
-    position-predicates that are applied to basic steps:</p><source>
-    &lt;xsl:for-each select="bar[3]"></source>
-
-    <p>Such step/predicate combinations are handled by the internal DOM's
-    inner class <code>NthPositionIterator</code>.</p>
-
-    </s4>
-
-    <s4 title="Node test">
-
-    <p>The predicate class contains a method that tells you if it is a boolean
-    test:</p><source>
-    public boolean isBooleanTest();</source>
-
-    <p>This can be, but it currently is not, used by the <code>Step</code> class
-    to compile in optimised code. Some work to be done here!</p>
-
-    </s4>
-
-    </s3>
-
-    <anchor name="step-patterns"/>
-    <s3 title="Predicates and StepPatterns">
-
-    <p>Using predicates in patterns is slow on any XSLT processor, and XSLTC
-    is no exception. This is why the predicate context is carefully analysed
-    by the <code>StepPattern</code> class, so that the compiled code is
-    specialised to handle the specific predicate(s) in use. First we should
-    consider the basic step pattern.</p>
-
-    <s4 title="Basic pattern handling">
-
-    <p>All patterns are grouped (by the <code>Mode</code> class) according to
-    their <ref>kernel</ref>-node type. The kernel node-type is node-type of the
-    <em>last</em> step in a pattern:</p><source>
-    &lt;xsl:template match="foo/bar/baz"&gt;  ...  &lt;xsl:template&gt;</source>
-
-    <p>In this case the type for elements <code>&lt;baz&gt;</code> is the
-    kernel type. This step is <em>not</em> compiled as a step pattern. The node
-    type is passed to the <code>Mode</code> class and is used to place the
-    remainder of the pattern code inside the big <code>switch()</code> statement
-    in the translet's <code>applyTemplates()</code> method. The whole pattern
-    is then <em>reduced</em> to:</p><source>
-    match="foo/bar"</source>
-
-    <p>The <code>StepPattern</code> representing the <code>&lt;bar&gt;</code>
-    element test is compiled under the appropriate <code>case:</code> section
-    of the <code>switch()</code> statement. The code compiled for the step
-    pattern is basically just a call to the DOM's <code>getType()</code>
-    method and a test for the desired node type. There are two special cases
-    for:</p><source>
-    &lt;xsl:template match="foo/*/baz"&gt;  ...  &lt;xsl:template&gt;
-    &lt;xsl:template match="foo/*@[2]"&gt;  ...  &lt;xsl:template&gt;</source>
-
-    <p>In the first case we call <code>isElement()</code> and in the second case
-    we call <code>isAttribute()</code>, instead of <code>getType()</code>.</p>
-
-    </s4>
-
-    <s4 title="Patterns with predicates">
-
-    <p>The <code>typeCheck()</code> method of the <code>StepPattern</code>
-    invokes a method that analyses the predicates of the step pattern and
-    determines their context. (Note that this method needs to be updated to
-    handle the exception to the GENERAL_CONTEXT metioned in the section
-    <link anchor="exception">Expressions containing one position predicate</link> earlier in this document.) The <code>translate()</code> method of the
-    <code>StepPattern</code> class contains a <code>switch()</code> statement
-    that calls methods that are tailored for compiling code for the various
-    predicate contexts.</p>
-
-    </s4>
-
-    </s3>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_runtime.xml b/xdocs/sources/xsltc/xsltc_runtime.xml
deleted file mode 100644
index ddec192..0000000
--- a/xdocs/sources/xsltc/xsltc_runtime.xml
+++ /dev/null
@@ -1,508 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-
-<s1 title="XSLTC runtime environment">
-
-  <s2 title="Contents">
-
-  <p>This document describes the design and overall architecture of XSLTC's
-  runtime environment. This does not include the internal DOM and the DOM
-  iterators, which are all covered in separate documents.</p>
-
-  <ul>
-    <li><link anchor="overview">Runtime overview</link></li>
-    <li><link anchor="translet">The compiled translet</link></li>
-    <li><link anchor="types">External/internal type mapping</link></li>    
-    <li><link anchor="mainloop">Main program loop</link></li>
-    <li><link anchor="library">Runtime library</link></li>
-    <li><link anchor="output">Output handling</link></li>
-  </ul>
-
-  </s2>
-
-  <!--=================== OVERVIEW SECTION ===========================--> 
-
-  <anchor name="overview"/>
-  <s2 title="Runtime overview">
-
-    <p>This figure shows the main components of XSLTC's runtime environment:</p>
- 
-    <p><img src="runtime_design.gif" alt="runtime_design.gif"/></p>
-    <p><ref>Figure 1: Runtime environment overview</ref></p>
-
-    <p>The various steps these components have to go through to transform a
-    document are:</p>
-
-    <ul>
-      <li>instanciate a parser and hand it the input document</li>
-      <li>build an internal DOM from the parser's SAX events</li>
-      <li>instanciate the translet object</li>
-      <li>pass control to the translet object</li>
-      <li>receive output events from the translet</li>
-      <li>format the output document</li>
-    </ul>
-
-    <p>This process can be initiated either through XSLTC's native API or
-    through the implementation of the JAXP/TrAX API.</p>
-
-    </s2><anchor name="translet"/>
-    <s2 title="The compiled translet">
-
-    <p>A translet is always a subclass of <code>AbstractTranslet</code>. As well
-    as having access to the public/protected methods in this class, the
-    translet is compiled with these methods:</p><source>
-    public void transform(DOM, NodeIterator, TransletOutputHandler);</source>
-
-    <p>This method is passed a <code>DOMImpl</code> object. Depending on whether
-    the stylesheet had any calls to the <code>document()</code> function this
-    method will either generate a <code>DOMAdapter</code> object (when only one
-    XML document is used as input) or a <code>MultiDOM</code> object (when there
-    are more than one XML input documents). This DOM object is passed on to
-    the <code>topLevel()</code> method.</p>
-
-    <p>When the <code>topLevel()</code> method returns, we initiate the output
-    document by calling <code>startDocument()</code> on the supplied output
-    handler object. We then call <code>applyTemplates()</code> to get the actual
-    output contents, before we close the output document by calling
-    <code>endDocument()</code> on the output handler.</p><source>
-    public void topLevel(DOM, NodeIterator, TransletOutputHandler);</source>
-
-    <p>This method handles all of these top-level elements:</p>
-    <ul>
-      <li><code>&lt;xsl:output&gt;</code></li>
-      <li><code>&lt;xsl:decimal-format&gt;</code></li>
-      <li><code>&lt;xsl:key&gt;</code></li>
-      <li><code>&lt;xsl:param&gt;</code> (for global parameters)</li>
-      <li><code>&lt;xsl:variable&gt;</code> (for global variables)</li>
-    </ul><source>
-    public void applyTemplates(DOM, NodeIterator, TransletOutputHandler);</source>
-
-    <p>This is the method that produces the actual output. Its central element
-    is a big <code>switch()</code> statement that is used to trigger the code
-    that represent the available templates for the various node in the input
-    document. See the chapter on the
-    <link anchor="mainloop">main program loop</link> for details on this method.
-    </p><source>
-    public void &lt;init&gt;();</source>
-
-    <anchor name="namesarray"/>
-    <p>The translet's constructor initializes a table of all the elements we
-    want to search for in the XML input document. This table is called the
-    <code>namesArray</code>, and maps each element name to an unique integer
-    value, know as the elements &quot;translet-type&quot;.
-    The DOMAdapter, which acts as a mediator between the DOM and the translet,
-    will map these element identifier to the element identifiers used internally
-    in the DOM. See the section on <link anchor="types">extern/internal type
-    mapping</link> and the internal DOM design document for details on this.</p>
-
-    <p>The constructor also initializes any <code>DecimalFormatSymbol</code>
-    objects that are used to format numbers before passing them to the
-    output post-processor. The output processor uses thes symbols to format
-    decimal numbers in the output.</p><source>
-    public boolean stripSpace(int nodeType);</source>
-
-    <p>This method is only present if any <code>&lt;xsl:strip-space&gt;</code>
-    or <code>&lt;xsl:preserve-space&gt;</code> elements are present in the
-    stylesheet. If that is the case, the translet implements the
-    <code>StripWhitespaceFilter</code> interface by containing this method.</p>
-
-  </s2>
-
-  <!--=================== TYPE MAPPING SECTION ===========================--> 
-
-  <anchor name="types"/>
-  <s2 title="External/internal type mapping">
-
-    <p>This is the very core of XSL transformations:
-    <em>Read carefully!!!</em></p>
-
-    <anchor name="external-types"/>
-    <p>Every node in the input XML document(s) is assigned a type by the DOM
-    builder class. This type is a unique integer value which represents the
-    element, so that for instance all <code>&lt;bob&gt;</code> elements in the
-    input document will be given type <code>7</code> and can be referred to by
-    that integer. These types can be used for lookups in the
-    <link anchor="namesarray">namesArray</link> table to get the actual
-    element name (in this case "bob"). The type identifiers used in the DOM are
-    referred to as <em>external types</em> or <em>DOM types</em>, as they are
-    types known only outside of the translet.</p>
-
-    <anchor name="internal-types"/>
-    <p>Similarly the translet assignes types to all element and attribute names
-    that are referenced in the stylesheet. This type assignment is done at
-    compile-time, while the DOM builder assigns the external types at runtime.
-    The element type identifiers used by the translet are referred to as
-    <em>internal types</em> or <em>translet types</em>.</p>
-
-    <p>It is not very probable that there will be a one-to-one mapping between
-    internal and external types. There will most often be elements in the DOM
-    (ie. the input document) that are not mentioned in the stylesheet, and
-    there could be elements in the stylesheet that do not match any elements
-    in the DOM. Here is an example:</p>
-
-<source>
-      &lt;?xml version="1.0"?&gt;
-      &lt;xsl:stylesheet version="1.0" xmlns:xsl="blahblahblah"&gt;
-
-      &lt;xsl:template match="/"&gt;
-        &lt;xsl:for-each select="//B"&gt;
-          &lt;xsl:apply-templates select="." /&gt;
-        &lt;/xsl:for-each&gt;
-        &lt;xsl:for-each select="C"&gt;
-          &lt;xsl:apply-templates select="." /&gt;
-        &lt;/xsl:for-each&gt;
-        &lt;xsl:for-each select="A/B"&gt;
-          &lt;xsl:apply-templates select="." /&gt;
-        &lt;/xsl:for-each&gt;
-      &lt;/xsl:template&gt;
-
-    &lt;/xsl:stylesheet&gt;
-</source>
-
-    <p>In this stylesheet we are looking for elements <code>&lt;B&gt;</code>,
-    <code>&lt;C&gt;</code> and <code>&lt;A&gt;</code>. For this example we can
-    assume that these element types will be assigned the values 0, 1 and 2.
-    Now, lets say we are transforming this XML document:</p>
-
-<source>
-      &lt;?xml version="1.0"?&gt;
-
-      &lt;A&gt;
-        The crocodile cried:
-        &lt;F&gt;foo&lt;/F&gt;
-        &lt;B&gt;bar&lt;/B&gt;
-        &lt;B&gt;baz&lt;/B&gt;
-      &lt;/A&gt;
-</source>
-
-    <p>This XML document has the elements <code>&lt;A&gt;</code>,
-    <code>&lt;B&gt;</code> and <code>&lt;F&gt;</code>, which we assume are
-    assigned the types 7, 8 and 9 respectively  (the numbers below that are
-    assigned for specific element types, such as the root node, text nodes,etc).
-    This causes a mismatch between the type used for <code>&lt;B&gt;</code> in
-    the translet and the type used for <code>&lt;B&gt;</code> in the DOM. The
-    DOMAdapter class (which mediates between the DOM and the translet) has been
-    given two tables for convertint between the two types; <code>mapping</code>
-    for mapping from internal to external types, and <code>reverseMapping</code>
-    for the other way around.</p>
-
-    <p>The translet contains a <code>String[]</code> array called
-    <code>namesArray</code>. This array contains all the element and attribute
-    names that were referenced in the stylesheet. In our example, this array
-    would contain these string (in this specific order): &quot;B&quot;, 
-    &quot;C&quot; and &quot;A&quot;. This array is passed as one of the
-    parameters to the DOM adapter constructor (the other parameter is the DOM
-    itself). The DOM adapter passes this table on to the DOM. The DOM generates
-    a hashtable that maps its known element names to the types the translet
-    knows. The DOM does this by going through the <code>namesArray</code> from
-    the translet sequentially, looks up each name in the hashtable, and is then
-    able to map the internal type to an external type. The result is then passed
-    back to the DOM adapter.</p>
-
-    <p>External types that are not interesting for the translet (such as the
-    type for <code>&lt;F&gt;</code> elements in the example above) are mapped
-    to a generic <code>"ELEMENT"</code> type (integer value 3), and are more or
-    less ignored by the translet. Uninterresting attributes are similarly
-    mapped to internal type <code>"ATTRIBUTE"</code> (integer value 4).</p>
-
-    <p>It is important that we separate the DOM from the translet. In several
-    cases we want the DOM as a structure completely independent from the
-    translet - even though the DOM is a structure internal to XSLTC. One such
-    case is when transformations are offered by a servlet as a web service.
-    Any DOM that is built should potentially be stored in a cache and made
-    available for simultaneous access by several translet/servlet couples.</p>
-
-    <p><img src="runtime_type_mapping.gif" alt="runtime_type_mapping.gif"/></p>
-    <p><ref>Figure 2: Two translets accessing a single dom using different type mappings</ref></p>
-
-  </s2>
-
-  <!--===================== MAIN LOOP SECTION ============================--> 
-
-  <anchor name="mainloop"/>
-  <s2 title="Main program loop">
-
-    <p>The main body of the translet is the <code>applyTemplates()</code>
-    method. This method goes through these steps:</p>
-
-    <ul>
-      <li>
-        Get the next node from the node iterator
-      </li>
-      <li>
-        Get the internal type of this node. The DOMAdapter object holds the
-        internal/external type mapping table, and it will supply the translet
-        with the internal type of the current node.
-      </li>
-      <li>
-        Execute a switch statement on the internal node type. There will be
-        one "case" label for each recognised node type - this includes the
-        first 7 internal node types.
-      </li>
-    </ul>
-
-    <p>The root node will have internal type 0 and will cause any initial
-    literal elements to be output. Text nodes will have internal node type 1
-    and will simply be dumped to the output handler. Unrecognized elements
-    will have internal node type 3 and will be given the default treatment
-    (a new iterator is created for the node's children, and this iterator
-    is passed with a recursive call to <code>applyTemplates()</code>).
-    Unrecognised attribute nodes (type 4) will be handled like text nodes.
-    This makes up the default (built in) templates of any stylesheet. Then,
-    we add one <code>"case"</code>for each node type that is matched by any
-    pattern in the stylesheet. The <code>switch()</code> statement in
-    <code>applyTemplates</code> will thereby look something like this:</p>
-
-<source>
-        public void applyTemplates(DOM dom, NodeIterator,
-                                   TransletOutputHandler handler) {
-
-            // get nodes from iterator
-            while ((node = iterator.next()) != END) {
-                // get internal node type
-                switch(DOM.getType(node)) {
-
-                case 0: // root
-                    outputPreable(handler);
-                    break;
-                case 1: // text
-                    DOM.characters(node,handler);
-                    break;
-                case 3: // unrecognised element
-                    NodeIterator newIterator = DOM.getChildren(node);
-                    applyTemplates(DOM,newIterator,handler);
-                    break;
-                case 4: // unrecognised attribute
-                    DOM.characters(node,handler);
-                    break;
-                case 7: // elements of type &lt;B&gt;
-                    someCompiledCode();
-                    break;
-                case 8: // elements of type &lt;C&gt;
-                    otherCompiledCode();
-                    break;
-                default:
-                    break;
-                }
-            }
-        }
-</source>
-
-    <p>Each recognised element will have its own piece of compiled code.</p>
-
-    <p>Note that each "case" will not lead directly to a single template.
-    There may be several templates that match node type 7
-    (say <code>&lt;B&gt;</code>). In the sample stylesheet in the previous
-    chapter we have to templates that would match a node <code>&lt;B&gt;</code>.
-    We have one <code>match="//B"</code> (match just any <code>&lt;B&gt;</code>
-    element) and one <code>match="A/B"</code> (match a <code>&lt;B&gt;</code>
-    element that is a child of a <code>&lt;A&gt;</code> element). In this case
-    we would have to compile code that first gets the type of the current node's
-    parent, and then compared this type with the type for
-    <code>&lt;A&gt;</code>. If there was no match we will have executed the
-    first <code>&lt;xsl:for-each&gt;</code> element, but if there was a match
-    we will have executed the last one. Consequentally, the compiler will
-    generate the following code (well, it will look like this anyway):</p>
-
-<source>
-        switch(DOM.getType(node)) {
-          :
-          :
-        case 7: // elements of type &lt;B&gt;
-            int parent = DOM.getParent(node);
-            if (DOM.getType(parent) == 9) // type 9 = elements &lt;A&gt;
-                someCompiledCode();
-            else
-                evenOtherCompiledCode();
-            break;
-          :
-          :
-        }
-</source>
-
-    <p>We could do the same for namespaces, that is, assign a numeric value
-    to every namespace that is references in the stylesheet, and use an
-    <code>"if"</code> statement for each namespace that needs to be checked for
-    each type. Lets say we had a stylesheet like this:</p>
-
-<source>
-      &lt;?xml version="1.0"?&gt;
-      &lt;xsl:stylesheet version="1.0" xmlns:xsl="blahblahblah"&gt;
-
-      &lt;xsl:template match="/"
-          xmlns:foo="http://foo.com/spec"
-          xmlns:bar="http://bar.net/ref"&gt;
-        &lt;xsl:for-each select="foo:A"&gt;
-          &lt;xsl:apply-templates select="." /&gt;
-        &lt;/xsl:for-each&gt;
-        &lt;xsl:for-each select="bar:A"&gt;
-          &lt;xsl:apply-templates select="." /&gt;
-        &lt;/xsl:for-each&gt;
-      &lt;/xsl:template&gt;
-
-    &lt;/xsl:stylesheet&gt;
-</source>
-
-    <p>And a stylesheet like this:</p>
-
-<source>
-      &lt;?xml version="1.0"?&gt;
-
-      &lt;DOC xmlns:foo="http://foo.com/spec"
-           xmlns:bar="http://bar.net/ref"&gt;
-        &lt;foo:A&gt;In foo namespace&lt;/foo:A&gt;
-        &lt;bar:A&gt;In bar namespace&lt;/bar:A&gt;
-      &lt;/DOC&gt;
-</source>
-
-    <p>We could still keep the same type for all <code>&lt;A&gt;</code> elements
-    regardless of what namespace they are in, and use the same <code>"if"</code>
-    structure within the <code>switch()</code> statement above. The other option
-    is to assign different types to <code>&lt;foo:A&gt;</code> and
-    <code>&lt;bar:A&gt;</code> elements. The latter is the option we chose, and
-    it is described in detail in the namespace design document.</p>
-
-  </s2>
-
-  <!--===================== RUNTIME SECTION =============================--> 
-
-  <anchor name="library"/>
-  <s2 title="Runtime library">
-
-    <p>The runtime library offers basic functionality to the translet at
-    runtime. It is analoguous to UNIX's <code>libc</code>. The whole runtime
-    library is contained in a single class file:</p>
-
-<source>
-    org.apache.xalan.xsltc.runtime.BasisLibrary
-</source>
-
-    <p>This class contains a large set of static methods that are invoked by
-    the translet. These methods are largely independent from eachother, and
-    they implement the following:</p>
-
-    <ul>
-      <li>simple XPath functions that do not require a lot of code
-      compiled into the translet class</li>
-      <li>functions for formatting decimal numbers to strings</li>
-      <li>functions for comparing nodes, node-sets and strings - used by
-      equality expressions, predicates and other</li>
-      <li>functions for generating localised error messages</li>
-    </ul>
-
-    <p>The runtime library is a central part of XSLTC. But, as metioned earlier,
-    the functions within the library are rarely related, so there is no real
-    overall design/architecture. The only common attribute of many of the
-    methods in the library is that all static methods that implement an XPath
-    function and with a capital <code>F</code>.</p>
-
-  </s2>
-
-  <!--====================== OUTPUT SECTION =============================--> 
-
-  <anchor name="output"/>
-  <s2 title="Output handler">
-
-    <p>The translet passes its output to an output post-processor before the
-    final result is handed to the client application over a standard SAX
-    interface. The interface between the translet and the output handler is
-    very similar to a SAX interface, but it has a few non-standard additions.
-    This interface is described in this file:</p>
-
-<source>
-    org.apache.xalan.xsltc.TransletOutputHandler
-</source>
-
-    <p>This interface is implemented by:</p>
-
-<source>
-    org.apache.xalan.xsltc.runtime.TextOutput
-</source>
-
-    <p>This class, despite its name, handles all types of output (XML, HTML and
-    TEXT). Our initial idea was to have a base class implementing the
-    <code>TransletOutputHandler</code> interface, and then have one subclass
-    for each of the output types. This proved very difficult, as the output
-    type is not always known until after the transformation has started and
-    some elements have been output. But, this is an area where a change like
-    that has the potential to increase performance significantly. Output
-    handling has a lot to do with analyzing string contents, and by narrowing
-    down the number of string comparisons and string updates one can acomplish
-    a lot.</p>
- 
-    <p>The main tasks of the output handler are:</p>
-
-    <ul>
-      <li>determine the output type based on the output generated by the
-      translet (not always necessary)</li>
-      <li>generate SAX events for the client application</li>
-      <li>insert the necessary namespace declarations in the output</li>
-      <li>escape special characters in the output</li>
-      <li>insert &lt;DOCTYPE&gt; and &lt;META&gt; elements in HTML output</li>
-    </ul>
-
-    <p>There is a very clear link between the output handler and the
-    <code>org.apache.xalan.xsltc.compiler.Output</code> class that handles
-    the <code>&lt;xsl:output&gt;</code> element. The <code>Output</code> class
-    stores many output settings and parameters in the translet class file and
-    the translet passes these on to the output handler.</p>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_trax.xml b/xdocs/sources/xsltc/xsltc_trax.xml
deleted file mode 100644
index 431c677..0000000
--- a/xdocs/sources/xsltc/xsltc_trax.xml
+++ /dev/null
@@ -1,625 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-
-<!--
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- -->
-<s1 title="The Translet API and TrAX">
-
-  <s2 title="Contents">
-
-  <p>Note: This document describes the design of XSLTC's TrAX implementation.
-  The XSLTC <link idref="xsltc_trax_api">TrAX API user documentation</link>
-  is kept in a separate document.</p>
-
-  <p>The structure of this document is, and should be kept, as follows:</p>
-
-  <ul>
-    <li>A brief introduction to TrAX/JAXP</li>
-    <li>Overall design of the XSLTC TrAX implementation</li>
-    <li>Detailed design of various TrAX components</li>
-  </ul>
-
-  <ul>
-    <li><link anchor="abstract">Abstract</link></li>
-    <li><link anchor="trax">TrAX basics</link></li>
-    <li><link anchor="config">TrAX configuration</link></li>
-    <li><link anchor="design">XSLTC TrAX architecture</link></li>
-    <li><link anchor="detailed_design">XSLTC TrAX detailed design</link></li>
-      <ul>
-        <li><link anchor="factory_design">TransformerFactory design</link></li>
-        <li><link anchor="templates_design">Templates design</link></li>
-        <li><link anchor="transformer_design">Transformer design</link></li>
-        <li><link anchor="config_design">TrAX configuration design</link></li>
-      </ul>
-  </ul>
-  </s2>
-
-  <!--====================== ABSTRACT SECTION ===========================-->
-
-  <anchor name="abstract"/>
-  <s2 title="Abstract">
-
-  <p>JAXP is the Java extension API for XML parsing. TrAX is an API for XML
-  transformations and is included in the later versions of JAXP. JAXP includes
-  two packages, one for XML parsing and one for XML transformations (TrAX):</p>
-<source>
-    javax.xml.parsers
-    javax.xml.transform</source>
-
-  <p>XSLTC is an XSLT processing engine and fulfills the role as an XML
-  transformation engine behind the TrAX portion of the JAXP API. XSLTC is a
-  provider for the TrAX API and a client of the JAXP parser API.</p>
-
-  <p>This document describes the design used for integrating XSLTC translets
-  with the JAXP TrAX API. The heart of the design is a wrapper class around the
-  XSLTC compiler that extends the JAXP <code>SAXTransformerFactory</code>
-  interface. This factory delivers translet class definitions (Java bytecodes)
-  wrapped inside TrAX <code>Templates</code> objects. These
-  <code>Templates</code> objects can be used to instanciate 
-  <code>Transformer</code> objects that transform XML documents into markup or
-  plain text. Alternatively a <code>Transformer</code> object can be created
-  directly by the <code>TransformerFactory</code>, but this approach is not
-  recommended with XSLTC. The reason for this will be explained later in this
-  document.</p>
-
-  </s2>
-
-  <!--====================== TRAX BASICS SECTION =========================-->
-
-  <anchor name="trax"/>
-  <s2 title="TrAX basics">
-
-  <p>The Java API for XML Processing (JAXP) includes an XSLT framework based
-  on the Transformation API for XML (TrAX). A JAXP transformation application
-  can use the TrAX framework in two ways. The simplest way is:</p>
-
-  <ul>
-    <li>create an instance of the TransformerFactory class</li>
-    <li>from the factory instance and a given XSLT stylesheet, create a new
-    Transformer object</li>
-    <li>call the Transformer object's transform() method, specifying the XML
-    input and a Result object.</li>
-  </ul><source>
-    import javax.xml.transform.*;
-
-        public class Compile {
-
-            public void run(Source xsl) {
-                ....
-                TransformerFactory factory = TransformerFactory.newInstance();
-                Transformer transformer = factory.newTransformer(xsl);
-                ....
-            }
-        }</source>
-
-  <p>This suits most conventional XSLT processors that transform XML documents
-  in one go. XSLTC needs one extra step to compile the XSL stylesheet into a
-  Java class (a &quot;translet&quot;). Fortunately TrAX has another approach
-  that suits XSLTC two-step transformation model:</p>
-
-  <ul>
-    <li>create an instance of the TransformerFactory class</li>
-    <li>from the factory instance and a given XSLTC, stylesheet, create a new
-    Templates object (this step will compile the stylesheet and put the
-    bytecodes for translet class(es) into the Templates object)</li>
-    <li>from the Template object create a Transformer object (this will
-    instanciate a new translet object).</li>
-    <li>call the Transformer object's transform() method, specifying the XML
-    input and a Result object.</li>
-  </ul><source>
-    import javax.xml.transform.*;
-
-        public class Compile {
-
-            public void run(Source xsl) {
-                ....
-                TransformerFactory factory = TransformerFactory.newInstance();
-                Templates templates = factory.newTemplates(xsl);
-                Transformer transformer = templates.newTransformer();
-                ....
-            }
-        }</source>
-
-  <p>Note that the first two steps need be performed only once for each
-  stylesheet. Once the stylesheet is compiled into a translet and wrapped in a
-  <code>Templates</code> object, the <code>Templates</code> object can be used
-  over and over again to create Transformer object (instances of the translet).
-  The <code>Templates</code> instances can even be serialized and stored on
-  stable storage (ie. in a memory or disk cache) for later use.</p>
-
-  <p>The code below illustrates a simple JAXP transformation application that
-  creates the <code>Transformer</code> directly. Remember that this is not the
-  ideal approach with XSLTC, as the stylesheet is compiled for each
-  transformation.</p><source>
-    import javax.xml.transform.stream.StreamSource;
-    import javax.xml.transform.stream.StreamResult;
-    import javax.xml.transform.Transformer;
-    import javax.xml.transform.TransformerFactory;
-
-    public class Proto {
-
-        public void run(String xmlfile, String xslfile) {
-            Transformer transformer;
-            TransformerFactory factory = TransformerFactory.newInstance();
-
-        try {
-            StreamSource stylesheet = new StreamSource(xslfile);
-            transformer = factory.newTransformer(stylesheet);
-            transformer.transform(new StreamSource(xmlfile),
-                                  new StreamResult(System.out));
-        }
-        catch (Exception e) {
-            // handle errors...
-        }
-        :
-        :
-    }</source>
-
-  <p>This approach seems simple is probably used in many applications. But, the
-  use of <code>Templates</code> objects is useful when multiple instances of
-  the same <code>Transformer</code> are needed. <code>Transformer</code>
-  objects are not thread safe, and if a server wants to handle several clients
-  requests it would be best off to create one global <code>Templates</code>
-  object, and then from this create a <code>Transformer</code> object for each
-  thread handling the requests. This approach is also by far the best for
-  XSLTC, as the <code>Templates</code> object will hold the class definitions
-  that make up the translet and its auxiliary classes. (Note that the bytecodes
-  and not the actuall class definitions are stored when serializing a
-  <code>Templates</code> object to disk. This is because of class loader
-  security restrictions.) To accomodate this second approach to TrAX
-  transformations, the above class would be modified  as follows:</p><source>
-    try {
-        StreamSource stylesheet = new StreamSource(xslfile);
-        Templates templates = factory.newTemplates(stylesheet);
-        transformer = templates.newTransformer();
-        transformer.transform(new StreamSource(inputFilename),
-                              new StreamResult(System.out));
-    }
-    catch (Exception e) {
-        // handle errors...
-    }</source>
-
-  </s2>
-
-  <!--====================== TRAX CONFIG SECTION =========================-->
-
-  <anchor name="config"/>
-  <s2 title="TrAX configuration">
-
-  <p>JAXP's <code>TransformerFactory</code> is configurable similar to the
-  other Java extensions. The API supports configuring thefactory by:</p>
-
-  <ul>
-    <li>passing vendor-specific attributes from the application, through the
-    TrAX interface, to the underlying XSL processor</li>
-    <li>registering an ErrorListener that will be used to pass error and
-    warning messages from the XSL processor to the application</li>
-    <li>registering an URIResolver that the application can use to load XSL
-    and XML documents on behalf of the XSL processor (the XSL processor will
-    use this to support the xsl:include and xsl:import elements and the
-    document() functions.</li>
-  </ul>
-
-  <p>The JAXP TransformerFactory can be queried at runtime to discover what
-  features it supports. For example, an application might want to know if a
-  particular factory implementation supports the use of SAX events as a source,
-  or whether it can write out transformation results as a DOM. The factory API
-  queries with the getFeature() method. In the above code, we could add the
-  following code before the try-catch block:</p><source>
-    if (!factory.getFeature(StreamSource.FEATURE) || !factory.getFeature(StreamResult.FEATURE)) {
-        System.err.println("Stream Source/Result not supported by TransformerFactory\nExiting....");
-        System.exit(1);
-    }</source>
-
-  <p>Other elements in the TrAX API are configurable. A Transformer object can
-  be passed settings that override the default output settings and the settings
-  defined in the stylesheet for indentation, output document type, etc.</p>
-
-  </s2>
-
-  <!--====================== ARCHITECTURE SECTION ========================-->
-
-  <anchor name="design"/>
-  <s2 title="XSLTC TrAX architecture">
-
-  <p>XSLTC's architecture fits nicely in behind the TrAX interface. XSLTC's
-  compiler is put behind the <code>TransformerFactory</code> interface, the
-  translet class definition (either as a set of in-memory
-  <code>Class</code> objects or as a two-dimmensional array of bytecodes on
-  disk) is encapsulated in the <code>Templates</code> implementation and the
-  instanciated translet object is wrapped inside the <code>Transformer</code>
-  implementation. Figure 1 (below) shows this two-layered TrAX architecture:
-  </p>
-  
-  <p><img src="trax_translet_wrapping.gif" alt="TransletWrapping"/></p>
-  <p><ref>Figure 1: Translet class definitions are wrapped inside Templates objects</ref></p>
-
-  <p>The <code>TransformerFactory</code> implementation also implements the
-  <code>SAXTransformerFactory</code> and <code>ErrorListener</code>
-  interfaces from the TrAX API.</p>
-
-  <p>The TrAX implementation has intentionally been kept completely separate
-  from the XSLTC native code. This prevents users of XSLTC's native API from
-  having to include the TrAX code in an application. All the code that makes
-  up our TrAX implementation resides in this package:</p><source>
-    org.apache.xalan.xsltc.trax</source>
-
-  <p>Message to all XSLTC developers: Keep it this way! Do not mix TrAX
-  and Native code!</p>
-
-  </s2>
-
-  <!--======================= TRAX DESIGN SECTION ========================-->
-
-  <anchor name="detailed_design"/>
-  <s2 title="TrAX implementation details">
-
-  <p>The main components of our TrAX implementation are:</p>
-
-  <ul>
-    <li><link anchor="transformer_factory">the TransformerFactory class</link></li>
-    <li><link anchor="templates">the Templates class</link></li>
-    <li><link anchor="transformer">the Transformer class</link></li>
-    <li><link anchor="transformer">output properties handling</link></li>
-  </ul>
-
-  <anchor name="factory_design"/>
-  <s3 title="TransformerFactory implementation">
-
-  <p>The methods that make up the basic <code>TransformerFactory</code>
-  iterface are: </p><source>
-    public Templates newTemplates(Source source);
-    public Transformer newTransformer();
-    public ErrorListener getErrorListener();
-    public void setErrorListener(ErrorListener listener);
-    public Object getAttribute(String name);
-    public void setAttribute(String name, Object value);
-    public boolean getFeature(String name);
-    public URIResolver getURIResolver();
-    public void setURIResolver(URIResolver resolver);
-    public Source getAssociatedStylesheet(Source src, String media, String title, String charset);</source>
-
-  <p>And for the <code>SAXTransformerFactory</code> interface:</p><source>
-    public TemplatesHandler   newTemplatesHandler();
-    public TransformerHandler newTransformerHandler();
-    public TransformerHandler newTransformerHandler(Source src);
-    public TransformerHandler newTransformerHandler(Templates templates);
-    public XMLFilter newXMLFilter(Source src);
-    public XMLFilter newXMLFilter(Templates templates);</source>
-
-  <p>And for the <code>ErrorListener</code> interface:</p><source>
-    public void error(TransformerException exception);
-    public void fatalError(TransformerException exception);
-    public void warning(TransformerException exception);</source>
-
-  <s4 title="TransformerFactory basics">
-    <p>The very core of XSLTC TrAX support for XSLTC is the implementation of
-    the basic <code>TransformerFactory</code> interface. This factory class is
-    more or less a wrapper around the the XSLTC compiler and creates
-    <code>Templates</code> objects in which compiled translet classes can
-    reside. These <code>Templates</code> objects can then be used to create
-    <code>Transformer</code> objects. In cases where the
-    <code>Transformer</code>  is created directly by the factory we will use
-    the <code>Templates</code> class internally. In that way the transformation
-    will appear to be done in one step from the users point of view, while we
-    in reality use to steps. As described earler, this is not the best approach
-    when using XSLTC, as it causes the stylesheet to be compiled for each and
-    every transformation.</p>
-  </s4>
-
-  <s4 title="TransformerFactory attribute settings">
-    <p>The <code>getAttribute()</code> and <code>setAttribute()</code> methods
-    only recognise two attributes: <code>translet-name</code> and
-    <code>debug</code>. The latter is obvious - it forces XSLTC to output debug
-    information (dumps the stack in the very unlikely case of a failure). The
-    <code>translet-name</code> attribute can be used to set the default class
-    name for any nameless translet classes that the factory creates. A nameless
-    translet will, for instance, be created when the factory compiles a translet
-    for the identity transformation. There is a default name,
-    <code>GregorSamsa</code>, for nameless translets, so there is no absolute
-    need to set this attribute. (Gregor Samsa is the main character from Kafka's
-    &quot;Metamorphosis&quot; - transformations, metamorphosis - I am sure you
-    see the connection.)</p>
-  </s4>
-
-  <s4 title="TransformerFactory stylesheet handling">
-    <p>The compiler is can be passed a stylesheet through various methods in
-    the <code>TransformerFactory</code> interface. A stylesheet is passed in as
-    a <code>Source</code> object that containin either a DOM, a SAX parser or
-    a stream. The <code>getInputSource()</code> method handles all inputs and
-    converts them, if necessary, to SAX. The TrAX implementation contains an
-    adapter that will generate SAX events from a DOM, and this adapter is used
-    for DOM input. If the <code>Source</code> object contains a SAX parser, this
-    parser is just passed directly to the compiler. A SAX parse is instanciated
-    (using JAXP) if the <code>Source</code> object contains a stream.</p>
-  </s4>
-
-  <s4 title="TransformerFactory URI resolver">
-    <p>A TransformerFactory needs a <code>URIResolver</code> to locate documents
-    that are referenced in <code>&lt;xsl:import&gt;</code> and
-    <code>&lt;xsl:include&gt;</code> elements. XSLTC has an internal interface
-    that shares the same purpose. This internal interface is implemented by the
-    <code>TransformerFactory</code>:</p><source>
-    public InputSource loadSource(String href, String context, XSLTC xsltc);</source>
-    <p>This method will simply use any defined <code>URIResolver</code> and
-    proxy the call on to the URI resolver's <code>resolve()</code> method. This
-    method returns a <code>Source</code> object, which is converted to SAX
-    events and passed back to the compiler.</p>
-  </s4>
-
-  </s3>
-
-  <anchor name="template_design"/>
-  <s3 title="Templates design">
-
-  <s4 title="Templates creation">
-    <p>The <code>TransformerFactory</code> implementation invokes the XSLTC
-    compiler to generate the translet class and auxiliary classes. These classes
-    are stored inside our <code>Templates</code> implementation in a manner
-    which allows the <code>Templates</code> object to be serialized. By making
-    it possible to store <code>Templates</code> on stable storage we allow the
-    TrAX user to store/cache translet class(es), thus making room for XSLTC's
-    one-compilation-multiple-transformations approach. This was done by giving
-    the <code>Templates</code> implementation an array of byte-arrays that
-    contain the bytecodes for the translet class and its auxiliary classes. When
-    the user first requests a <code>Transformer</code> instance from the
-    <code>Templates</code> object for the first time we create one or more
-    <code>Class</code> objects from these byte arrays. Note that this is done
-    only once as long as the <code>Template</code> object resides in memory. The
-    <code>Templates</code> object then invokes the JVM's class loader with the
-    class definition(s) to instanciate the translet class(es). The translet
-    objects are then wraped inside a <code>Transformer</code> object, which is
-    returned to the client code:</p><source>
-
-    // Contains the name of the main translet class
-    private String   _transletName = null;
-
-    // Contains the actual class definition for the translet class and
-    // any auxiliary classes (representing node sort records, predicates, etc.)
-    private byte[][] _bytecodes = null;
-    
-    /**
-     * Defines the translet class and auxiliary classes.
-     * Returns a reference to the Class object that defines the main class
-     */
-    private Class defineTransletClasses() {
-	TransletClassLoader loader = getTransletClassLoader();
-
-	try {
-	    Class transletClass = null;
-	    final int classCount = _bytecodes.length;
-	    for (int i = 0; i &lt; classCount; i++) {
-		Class clazz = loader.defineClass(_bytecodes[i]);
-		if (clazz.getName().equals(_transletName))
-		    transletClass = clazz;
-	    }
-	    return transletClass; // Could still be 'null'
-	}
-	catch (ClassFormatError e) {
-	    return null;
-	}
-    }</source>
-  </s4>
-
-  <s4 title="Translet class loader">
-
-    <p>The <code>Templates</code> object will create the actual translet
-    <code>Class</code> object(s) the first time the
-    <code>newTransformer()</code> method is called. (The "first time" means the
-    first time either after the object was instanciated or the first time after
-    it has been read from storage using serialization.) These class(es) cannot
-    be created using the standard class loader since the method:</p><source>
-    Class defineClass(String name, byte[] b, int off, int len);</source>
-
-    <p>of the ClassLoader is protected. XSLTC uses its own class loader that
-    extends the standard class loader:</p><source>
-    // Our own private class loader - builds Class definitions from bytecodes
-    private class TransletClassLoader extends ClassLoader {
-        public Class defineClass(byte[] b) {
-            return super.defineClass(null, b, 0, b.length);
-        }
-    }</source>
-    <p>This class loader is instanciated inside a privileged code section:</p><source>
-    TransletClassLoader loader = 
-        (TransletClassLoader) AccessController.doPrivileged(
-            new PrivilegedAction() {
-                public Object run() {
-                    return new TransletClassLoader();
-                }
-            }
-        );</source>
-
-    <p>Then, when the newTransformer() method returns it passes back and
-    instance of XSLTC's <code>Transformer</code> implementation that contains
-    an instance of the main translet class. (One transformation may need several
-    Java classes - for sort-records, predicates, etc. - but there is always one
-    main translet class.)</p>
-
-  </s4>
-
-  <s4 title="Class loader security issues">
-
-    <p>When XSLTC is placed inside a JAR-file in the
-    <code>$JAVA_HOME/jre/lib/ext</code> it is loaded by the extensions class
-    loader and not the default (bootstrap) class loader. The extensions class
-    loader does not look for class files/definitions in the user's
-    <code>CLASSPATH</code>. This can cause two problems: A) XSLTC does not find
-    classes for external Java functions, and B) XSLTC does not find translet or
-    auxiliary classes when used through the native API.</p>
-
-    <p>Both of these problems are caused by XSLTC internally calling the
-    <code>Class.forName()</code> method. This method will use the current class
-    loader to locate the desired class (be it an external Java class or a
-    translet/aux class). This is prevented by forcing XSLTC to use the bootstrap
-    class loader, as illustrated below:</p>
-
-    <p><img src="class_loader.gif" alt="ClassLoader"/></p>
-    <p><ref>Figure 2: Avoiding the extensions class loader</ref></p>
-
-    <p>These are the steps that XSLTC will go through to load a class:</p>
-
-    <ol>
-      <li>the application requests an instance of the transformer factory </li>
-      <li>the Java extensions mechanism locates XSLTC as the transformer
-      factory implementation using the extensions class loader</li>
-      <li>the extensions class loader loads XSLTC</li>
-      <li>XSLTC's compiler attempts to get a reference to an external Java
-      class, but the call to Class.forName() fails, as the extensions class
-      loader does not use the user's class path</li>
-      <li>XSLTC attempts to get a reference to the bootstrap class loader, and
-      requests it to load the external class</li>
-      <li>the bootstrap class loader loads the requested class</li>
-    </ol>
-
-    <p>Step 5) is only allowed if XSLTC has special permissions. But, remember
-    that this problem only occurs when XSLTC is put in the
-    <code>$JAVA_HOME/jre/lib/ext</code> directory, where it is given all
-    permissions (by the default security file).</p>
-
-  </s4>
-
-  </s3>
-
-  <anchor name="transformer_design"/>
-  <s3 title="Transformer detailed design">
-
-    <p>The <code>Transformer</code> class is a simple proxy that passes
-    transformation settings on to its translet instance before it invokes the
-    translet's <code>doTransform()</code> method. The <code>Transformer</code>'s
-    <code>transform()</code> method maps directly to the translet's
-    <code>doTransform()</code> method.</p>
-
-    <s4 title="Transformer input and output handling">
-      <p>The <code>Transformer</code> handles its input in a manner similar to
-      that of the <code>TransformerFactory</code>. It has two methods for
-      creating standard SAX input and output handlers for its input and output
-      files:</p><source>
-    private DOMImpl getDOM(Source source, int mask);
-    private ContentHandler getOutputHandler(Result result);</source>
-
-      <p>One aspect of the <code>getDOM</code> method is that it handles four
-      various types of <code>Source</code> objects. In addition to the standard
-      DOM, SAX and stream types, it also handles an extended
-      <code>XSLTCSource</code> input type. This input type is a lightweight
-      wrapper from XSLTC's internal DOM-like input tree. This allows the user
-      to create a cache or pool of XSLTC's native input data structures
-      containing the input XML document. The <code>XSLTCSource</code> class
-      is located in:</p><source>
-    org.apache.xalan.xsltc.trax.XSLTCSource</source>
-    </s4>
-
-    <s4 title="Transformer parameter settings">
-      <p>XSLTC's native interface has get/set methods for stylesheet parameters,
-      identical to those of the TrAX API. The parameter handling methods of
-      the <code>Transformer</code> implementation are pure proxies.</p>
-    </s4>
-
-    <s4 title="Transformer output settings">
-      <p>The Transformer interface of TrAX has for methods for retrieving and
-      defining the transformation output document settings:</p><source>
-    public Properties getOutputProperties();
-    public String getOutputProperty(String name);
-    public void setOutputProperties(Properties properties);
-    public void setOutputProperty(String name, String value);</source>
-
-      <p>There are three levels of output settings. First there are the default
-      settings defined in the <link anchor="">XSLT 1.0 spec</link>, then there
-      are the settings defined in the attributes of the &lt;xsl:output&gt;
-      element, and finally there are the settings passed in through the TrAX
-      get/setOutputProperty() methods.</p>
-
-      <p><img src="trax_output_settings.gif" alt="Output settings"/></p>
-      <p><ref>Figure 3: Passing output settings from TrAX to the translet</ref></p>
-
-      <p>The AbstractTranslet class has a series of fields that contain the
-      default values for the output settings. The compiler/Output class will
-      compile code into the translet's constructor that updates these values
-      depending on the attributes in the &lt;xsl:output&gt; element. The
-      Transformer implementation keeps in instance of the java.util.Properties
-      class where it keeps all properties that are set by the
-      <code>setOutputProperty()</code> and the
-      <code>setOutputProperties()</code> methods. These settings are written to
-      the translet's output settings fields prior to initiating the
-      transformation.</p>
-
-    </s4>
-
-    <s4 title="Transformer URI resolver">
-      <p>The <code>uriResolver()</code> method of the Transformer interface is
-      used to set a locator for documents referenced by the document() function
-      in XSL. The native XSLTC API has a defined interface for a DocumentCache.
-      The functionality provided by XSLTC's internal <code>DocumentCache</code>
-      interface is somewhat complimentary to the <code>URIResolver</code>, and
-      can be used side-by-side. To acomplish this we needed to find out in which
-      ways the translet can load an external document:</p>
-
-      <p><img src="uri_resolver.gif" alt="URIResolver"/></p>
-      <p><ref>Figure 4: Using URIResolver and DocumentCache objects</ref></p>
-
-      <p>From the diagram we see that these three ways are:</p>
-      <ul>
-        <li>LoadDocument -> .xml</li>
-        <li>LoadDocument -> DocumentCache -> .xml</li>
-        <li>LoadDocument -> URIResolver -> .xml</li>
-        <li>LoadDocument -> DocumentCache -> URIResolver -> .xml</li>
-      </ul>
-
-    </s4>
-
-    </s3>
-  </s2>
-</s1>
diff --git a/xdocs/sources/xsltc/xsltc_trax_api.xml b/xdocs/sources/xsltc/xsltc_trax_api.xml
deleted file mode 100644
index 9eb1ef0..0000000
--- a/xdocs/sources/xsltc/xsltc_trax_api.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
-<!-- 
- * 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/>.
- -->
-
-<s1 title="XSLTC TrAX API">
-
-  <s2 title="The JAXP/TrAX API">
-
-  <p>XSLTC is 100% compliant with the TrAX poriton of the
-  <jump href="http://java.sun.com/xml/jaxp/index.html">JAXP API</jump>. This
-  API is a standard extension to Java and there is not much point in describing
-  it in detail in this document.</p>
-
-  </s2>
-
-  <s2 title="XSLTC's extensions to JAXP/TrAX">
-
-  <p>The <code>Source</code> and <code>Result</code> classes within TrAX are
-  used to handle input and output documents. These classes can be extended to
-  encapsulate additional input types. XSLTC's TrAX implementation contains an
-  extension to the <code>Source</code> class:</p><source>
-    org.apache.xalan.xsltc.trax.XSLTCSource</source>
-
-  <p>This extension class can be used to build and encapsulate XSLTC's internal
-  DOM and DTD handler:</p><source>
-    public void run(String xmlfile, String xslfile) {
-
-        // Set up your factory classes
-        SAXParserFactory factory = SAXParserFactory.newInstance();
-        TransformerFactory factory = TransformerFactory.newInstance();
-
-        try {
-            // Create a namespace-aware parser
-            try {
-                factory.setFeature(Constants.NAMESPACE_FEATURE,true);
-            }
-            catch (Exception e) {
-                factory.setNamespaceAware(true);
-            }
-            final SAXParser parser = factory.newSAXParser();
-            final XMLReader reader = parser.getXMLReader();
-
-            // Build an XSLTCSource for the input XML document
-            XSLTCSource source = new XSLTCSource();
-            source.build(reader, xmlfile);
-
-            // Build a StreamSource for the stylesheet
-            StreamSource stylesheet = new StreamSource(xslfile);
-
-            // Create a Transformer instance and process the input
-            Transformer transformer = factory.newTransformer(stylesheet);
-            transformer.transform(source, new StreamResult(System.out));
-        }
-	:
-	:
-    }</source>
-
-  <p>If you do chose to implement a DOM cache, you should have your cache
-  implement the <code>javax.xml.transform.URIResolver</code> interface so
-  that documents loaded by the <code>document()</code> function are also read
-  from your cache.</p>
-
-  </s2>
-
-</s1>
diff --git a/xdocs/style/dtd/spec.dtd b/xdocs/style/dtd/spec.dtd
deleted file mode 100644
index 8720289..0000000
--- a/xdocs/style/dtd/spec.dtd
+++ /dev/null
@@ -1,578 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ============================================================= -->
-<!--  MODULE:    spec DTD                                          -->
-<!--  VERSION:   1.0                                               -->
-<!--  DATE:      October 18, 2000                                  -->
-
-
-<!-- ============================================================= -->
-<!--                   ISO STANDARD SPECIAL CHARACTER SETS         -->
-<!-- ============================================================= -->
-<!--
-<!ENTITY % isolat1      PUBLIC
-"ISO 8879-1986//ENTITIES Added Latin 1//EN"
-"entities/ISOlat1.pen"
-                                                                    >
-
-<!ENTITY % isonum       PUBLIC
-"ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN"
-"entities/ISOnum.pen"
-                                                                    >
-
-<!ENTITY % isopub       PUBLIC
-"ISO 8879-1986//ENTITIES Publishing//EN"
-"entities/ISOpub.pen"
-                                                                    >
-
-<!ENTITY % isotech      PUBLIC
-"ISO 8879-1986//ENTITIES General Technical//EN"
-"entities/ISOtech.pen"
-                                                                    >
-
-%isolat1; %isonum; %isopub; %isotech;
--->
-
-<!-- ============================================================= -->
-<!--                    parameter entities for content models      -->
-<!-- ============================================================= -->
-
-
-<!--                    list elements                              -->
-<!ENTITY % lists       "itemizedlist | orderedlist | variablelist"   >
-
-
-<!--                    linespecific elements                      -->
-<!--                    elements where line endings and whitespace
-                        are significant                            -->
-<!ENTITY % linespecific
-                       "literallayout | programlisting"              >
-
-
-<!--                    phrase-level elements                      -->
-<!--                    elements allowed at the same level as text -->
-<!ENTITY % phraselevel "citation | emphasis | inlinegraphic | link | plink |
-                        subscript | superscript | ulink | termref"   >
-
-
-<!--                    paragraph-level elements                   -->
-<!--                    elements (including paragraphs) allowed at
-                        the level of paragraphs                    -->
-<!ENTITY % paralevel   "%linespecific; | %lists; | note | para | issue |
-                        table | figure | graphic"                    >
-
-
-<!-- ============================================================= -->
-<!--                    parameter entities for attributes          -->
-<!-- ============================================================= -->
-
-
-<!--                    common attributes                          -->
-<!ENTITY % common.atts
-             "id         ID                                 #IMPLIED
-              link-url   CDATA                              #IMPLIED" >
-
-<!--                    graphic-related attributes                 -->
-<!ENTITY % graphic.atts
-            "fileref    CDATA                              #IMPLIED
-             alt        CDATA                              #IMPLIED
-             srccredit  CDATA                              #IMPLIED
-             width      NMTOKEN                            #IMPLIED
-             depth      NMTOKEN                            #IMPLIED
-             scale      NMTOKEN                            #IMPLIED
-             scalefit   NMTOKEN                            #IMPLIED" >
-
-<!-- ============================================================= -->
-<!--                    external modules                           -->
-<!-- ============================================================= -->
-
-<!--
-<!ENTITY % table.ent SYSTEM "table.ent"                              >
-%table.ent;
--->
-
-<!-- ============================================================= -->
-<!--                    element definitions                        -->
-<!-- ============================================================= -->
-
-
-<!--                    specification                              -->
-<!ELEMENT  spec         (title, frontmatter, introduction, requirements, model, sect1+,
-                         appendix*, bibliography?)                   >
-
-<!ATTLIST  spec
-            %common.atts;                                            >
-
-<!ELEMENT  frontmatter   (pubdate, copyright, author*, abstract?)    >
-
-<!--                    title                                      -->
-<!ELEMENT  title        (#PCDATA | %phraselevel;)*                   >
-<!ATTLIST  title
-            %common.atts;                                            >
-
-
-<!--                    issue                                      -->
-<!ELEMENT  issue        (#PCDATA | %phraselevel;)*                   >
-<!ATTLIST  issue
-            %common.atts;                                            >
-
-
-<!--                    publication date                           -->
-<!--                    publication date and, possibly, time       -->
-<!ELEMENT  pubdate      (#PCDATA)                                    >
-<!ATTLIST  pubdate
-            %common.atts;                                            >
-
-
-<!--                    copyright statement                        -->
-<!ELEMENT  copyright    (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  copyright
-            %common.atts;                                            >
-
-
-<!--                    author                                     -->
-<!ELEMENT  author       (firstname, surname, jobtitle?, orgname?,
-                         address?)                                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  author
-            %common.atts;                                            >
-
-
-<!--                    abstract                                   -->
-<!ELEMENT  abstract     (para+)                                      >
-<!--         id         unique identifier                          -->
-<!ATTLIST  abstract
-            %common.atts;                                            >
-
-<!ELEMENT  introduction        (title, (((%paralevel;)+, sect2*) | sect2+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  introduction
-            %common.atts;                                            >
-
-<!ELEMENT  requirements        (title, (((%paralevel;)+, sect2*) | sect2+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  requirements
-            %common.atts; >    
-
-<!ELEMENT  model        (title, (((%paralevel;)+, patterns) | sect2+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  model
-            %common.atts;                                            >
-
-<!ELEMENT  patterns        (pattern+) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  patterns
-            %common.atts; 
-			module  CDATA                              #IMPLIED
-            > 
-                        
-<!ELEMENT  pattern        (pattern-name, potential-alternate-name?, intent, responsibilities, thread-safety, notes?) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  pattern
-            %common.atts;  
-                                                      >
-<!ELEMENT  pattern-name        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  pattern-name
-            %common.atts; >
-            
-<!ELEMENT  potential-alternate-name        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  potential-alternate-name
-            %common.atts; >  
-
-<!ELEMENT  intent        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  intent
-            %common.atts; >  
-
-<!ELEMENT  responsibilities        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  responsibilities
-            %common.atts; >  
-
-<!ELEMENT  thread-safety        (#PCDATA | %phraselevel;)* >
-<!--         id         unique identifier                          -->
-<!ATTLIST  thread-safety
-            %common.atts; >
-
-<!ELEMENT  notes         (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  notes
-            %common.atts;                                            >
-
-<!--         id         unique identifier                          -->
-<!ATTLIST  sect1
-            %common.atts;                                            >
-
-<!--                    section 1                                  -->
-<!ELEMENT  sect1        (title, (((%paralevel;)+, sect2*) | sect2+)) >						   
-<!--                    section 2                                  -->
-<!ELEMENT  sect2        (title, (((%paralevel;)+, sect3*) | sect3+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  sect2
-            %common.atts;                                            >
-
-
-<!--                    section 3                                  -->
-<!ELEMENT  sect3        (title, (((%paralevel;)+, sect4*) | sect4+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  sect3
-            %common.atts;                                            >
-
-
-<!--                    section 4                                  -->
-<!ELEMENT  sect4        (title, (%paralevel;)+)                      >
-<!--         id         unique identifier                          -->
-<!ATTLIST  sect4
-            %common.atts;                                            >
-
-
-<!--                    appendix                                   -->
-<!ELEMENT  appendix     (title, (((%paralevel;)+, sect1*) | sect1+)) >
-<!--         id         unique identifier                          -->
-<!ATTLIST  appendix
-            %common.atts;                                            >
-
-
-<!--                    bibliography                               -->
-<!ELEMENT  bibliography (title, biblioitem+)                         >
-<!--         id         unique identifier                          -->
-<!ATTLIST  bibliography
-            %common.atts;                                            >
-
-
-<!--                    bibliography item                          -->
-<!ELEMENT  biblioitem   (designator, biblioentry)                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  biblioitem
-            %common.atts;                                            >
-
-
-<!--                    bibliography item designator               -->
-<!--                    designator contains whatever designator the
-                        author uses to identify publications listed in
-                        the bibliography (e.g., [lab 87]).  the
-                        stylesheet generates the square "[]" brackets
-                        fore & aft.                                -->
-<!ELEMENT  designator   (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  designator
-            %common.atts;                                            >
-
-
-<!--                    bibliography entry                         -->
-<!ELEMENT  biblioentry  (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  biblioentry
-            %common.atts;                                            >
-
-
-<!-- ============================================================= -->
-<!--                    author-related elements                    -->
-<!-- ============================================================= -->
-
-
-<!--                    first name                                 -->
-<!ELEMENT  firstname    (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  firstname
-            %common.atts;                                            >
-
-
-<!--                    surname                                    -->
-<!ELEMENT  surname      (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  surname
-            %common.atts;                                            >
-
-
-<!--                    job title                                  -->
-<!ELEMENT  jobtitle     (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  jobtitle
-            %common.atts;                                            >
-
-
-<!--                    organization name                          -->
-<!ELEMENT  orgname      (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  orgname
-            %common.atts;                                            >
-
-
-<!--                    address                                    -->
-<!ELEMENT  address      (street?, pob?, city?, state?, postcode?, 
-                         country?, phone?, fax?, email?)             >
-<!--         id         unique identifier                          -->
-<!ATTLIST  address
-            %common.atts;                                            >
-
-
-<!-- ============================================================= -->
-<!--                    address elements                           -->
-<!-- ============================================================= -->
-
-
-<!--                    street address                             -->
-<!ELEMENT  street       (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  street
-            %common.atts;                                            >
-
-
-<!--                    post office box                            -->
-<!ELEMENT  pob          (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  pob
-            %common.atts;                                            >
-
-
-<!--                    postcode                                   -->
-<!ELEMENT  postcode     (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  postcode
-            %common.atts;                                            >
-
-
-<!--                    city                                       -->
-<!ELEMENT  city         (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  city
-            %common.atts;                                            >
-
-
-<!--                    state                                      -->
-<!ELEMENT  state        (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  state
-            %common.atts;                                            >
-
-
-<!--                    country                                    -->
-<!ELEMENT  country      (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  country
-            %common.atts;                                            >
-
-
-<!--                    phone number                               -->
-<!ELEMENT  phone        (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  phone
-            %common.atts;                                            >
-
-
-<!--                    fax number                                 -->
-<!ELEMENT  fax          (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  fax
-            %common.atts;                                            >
-
-
-<!--                    email address                              -->
-<!ELEMENT  email        (#PCDATA)                                    >
-<!--         id         unique identifier                          -->
-<!ATTLIST  email
-            %common.atts;                                            >
-
-
-<!-- ============================================================= -->
-<!--                    paragraph-level elements                   -->
-<!-- ============================================================= -->
-
-
-<!--                    paragraph                                  -->
-<!ELEMENT  para         (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  para
-            %common.atts;                                            >
-
-
-<!--                    note                                       -->
-<!ELEMENT  note         (%paralevel;)+                               >
-<!--         id         unique identifier                          -->
-<!ATTLIST  note
-            %common.atts;                                            >
-
-
-<!--                    itemized list                              -->
-<!ELEMENT  itemizedlist (listitem+)                                  >
-<!--         id         unique identifier                          -->
-<!ATTLIST  itemizedlist
-            %common.atts;                                            >
-
-
-<!--                    ordered list                               -->
-<!ELEMENT  orderedlist  (listitem+)                                  >
-<!--         id         unique identifier                          -->
-<!ATTLIST  orderedlist
-            %common.atts;                                            >
-
-
-<!--                    variable list                              -->
-<!ELEMENT  variablelist (varlistentry+)                              >
-<!--         id         unique identifier                          -->
-<!ATTLIST  variablelist
-            %common.atts;                                            >
-
-
-<!--                    list item                                  -->
-<!ELEMENT  listitem     (#PCDATA | %phraselevel; | %paralevel;)*     >
-<!--         id         unique identifier                          -->
-<!ATTLIST  listitem
-            %common.atts;                                            >
-
-
-<!--                    variable list entry                        -->
-<!ELEMENT  varlistentry (term+, listitem)                            >
-<!--         id         unique identifier                          -->
-<!ATTLIST  varlistentry
-            %common.atts;                                            >
-
-
-<!--                    term                                       -->
-<!ELEMENT  term         (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  term
-            %common.atts;                                            >
-
-<!--                    termref                                       -->
-<!ELEMENT  termref         (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  termref
-            %common.atts;	   >
-
-<!--                    literal layout                             -->
-<!ELEMENT  literallayout
-                        (#PCDATA | %phraselevel;)*                   >
-<!--         xml:space  whitespace handling
-             id         unique identifier                          -->
-<!ATTLIST  literallayout
-            %common.atts;                                            >
-
-
-<!--                    program listing                            -->
-<!ELEMENT  programlisting
-                        (#PCDATA | %phraselevel;)*                   >
-<!--         xml:space  whitespace handling
-             id         unique identifier                          -->
-<!ATTLIST  programlisting
-            %common.atts;                                            >
-
-
-<!--                    figure                                     -->
-<!ELEMENT  figure       (title, graphic)                             >
-<!--         id         unique identifier                          -->
-<!ATTLIST  figure
-            %common.atts;                                            >
-
-
-<!--                    graphic                                    -->
-<!ELEMENT  graphic      EMPTY                                        >
-<!--         align      alignment of graphic image.  values are:
-                          left          left aligned
-                          right         right aligned
-                          center        centered
-             fileref    path to external file
-             alt        alternate text
-             srccredit  source of graphic
-             width      width of area in which to fit graphic
-             depth      depth of area in which to fit graphic
-             scale      percentage scaling factor
-             scalefit   scale to fit width and/or depth
-             id         unique identifier                          -->
-<!ATTLIST  graphic
-             align      (left |right |center)              #IMPLIED
-            %graphic.atts;
-            %common.atts;                                            >
-
-<!--                    inline graphic                             -->
-<!ELEMENT  inlinegraphic
-                        EMPTY                                        >
-<!--         fileref    path to external file
-             alt        alternate text
-             srccredit  source of graphic
-             width      width of area in which to fit graphic
-             depth      depth of area in which to fit graphic
-             scale      percentage scaling factor
-             scalefit   scale to fit width and/or depth
-             id         unique identifier                          -->
-<!ATTLIST  inlinegraphic
-            %graphic.atts;
-            %common.atts;                                            >
-
-<!-- ============================================================= -->
-<!--                    text-level elements                        -->
-<!-- ============================================================= -->
-
-
-<!--                    bibliographic citation                     -->
-<!--                    a <citation> appears in the body of the
-                        article, and it refers through its
-                        "linkend" attribute to the id of the
-                        relevant bibliography item.
-                          the <citation> receives the same
-                        formatting as the <designator> element
-                        within the <biblioitem> being referenced.
-                        for example, when for the bibitem
-                        <biblioitem id="bib1"><designator>lab
-                        87</designator>...</biblioitem> is
-                        formatted as "[lab 87]", the bibliographic
-                        citation <citation linkend="bib1">lab
-                        87</citation> also formats as "[lab 87]".  -->
-<!ELEMENT  citation     (#PCDATA | emphasis | inlinegraphic |
-                         subscript | superscript)*                   >
-<!--         linkend    id of referenced bibliography entry
-             id         unique identifier                          -->
-<!ATTLIST  citation
-             linkend    IDREF                              #REQUIRED
-            %common.atts;                                            >
-
-
-<!--                    emphasis                                   -->
-<!ELEMENT  emphasis     (#PCDATA | %phraselevel;)*                   >
-<!--         id         unique identifier                          -->
-<!ATTLIST  emphasis
-            %common.atts;                                            >
-
-
-<!--                    subscript                                  -->
-<!ELEMENT  subscript    (#PCDATA | emphasis | subscript |
-                         superscript)*                               >
-<!--         id         unique identifier                          -->
-<!ATTLIST  subscript
-            %common.atts;                                            >
-
-
-<!--                    superscript                                -->
-<!ELEMENT  superscript  (#PCDATA | emphasis | subscript |
-                         superscript)*                               >
-<!--         id         unique identifier                          -->
-<!ATTLIST  superscript
-            %common.atts;                                            >
-
-
-<!--                    link                                       -->
-<!ELEMENT  link         (#PCDATA)                                    >
-<!--         linkend    id of referenced element
-             id         unique identifier                          -->
-<!ATTLIST  link
-             linkend    IDREF                              #REQUIRED
-            %common.atts;                                            >
-
-<!--  package link (for {@link org.xml.trax.Processor} type links, for javadocs.                              -->
-<!ELEMENT  plink         (#PCDATA)                                   >
-<!ATTLIST  plink
-            %common.atts;                                            >
-
-<!--                    ulink (external link)                      -->
-<!ELEMENT  ulink        (#PCDATA)                                    >
-<!--         url        uniform resource locator; the target of the
-                        ulink
-             id         unique identifier                          -->
-<!ATTLIST  ulink
-             url        CDATA                              #REQUIRED
-            %common.atts;                                            >
-
-
diff --git a/xdocs/style/dtd/xsl-html40s.dtd b/xdocs/style/dtd/xsl-html40s.dtd
deleted file mode 100644
index a8848bd..0000000
--- a/xdocs/style/dtd/xsl-html40s.dtd
+++ /dev/null
@@ -1,1505 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- 
-     XSLT (WD-19990813) DTD and HTML 4.0 Strict (REC-HTML40-19980424) DTD
-     This DTD defines a XSLT stylesheet with a result-ns of html
-
-     Credits:
-       Original XSLT DTD from W3C XSLT WD-19990813
-       Original XML  DTD for HTML 4.0 Strict by
-         TAMURA, Kent <kent@trl.ibm.co.jp>, for IBM's XML4J package
-       Minor fixes to XSLT & HTML DTDs by 
-         Scott Boag <scott_boag@lotus.com>
-         Henrique M. Holschuh <henriqmh@dca.fee.unicamp.br>
-       HTML/XSLT composite DTD by
-         Henrique M. Holschuh <henriqmh@dca.fee.unicamp.br>
-
-     Caveats: It is possible to generate invalid XSLT and HTML documents 
-       using this DTD, as the result-ns elements (HTML) must allow all 
-       possible xsl elements as content, and all result-ns elements had 
-       to be relaxed on their element content rules.
-
-     TODO:
-       - A XSLT/XHTML1.0 Strict DTD to use instead of this one. Lowercase
-         element names allow for better compression ratios, at least in
-         English documents.
-       - Update to HTML 4.01
-
-     $Id$
--->
-
-<!-- Predefined XML (REC-XML-19980210) entities -->
-<!ENTITY lt     "&#38;#60;">
-<!ENTITY gt     "&#62;">
-<!ENTITY amp    "&#38;#38;">
-<!ENTITY apos   "&#39;">
-<!ENTITY quot   "&#34;">
-
-<!-- 
-  Result elements allowed (inside xsl elements). These are actually
-  all of the HTML40 Strict elements. 
--->
-
-<!ENTITY % result-elements "
-  | TT
-  | I
-  | B
-  | BIG
-  | SMALL
-  | EM
-  | STRONG
-  | DFN
-  | CODE
-  | SAMP
-  | KBD
-  | VAR
-  | CITE
-  | ABBR
-  | ACRONYM
-  | SUP
-  | SUB
-  | SPAN
-  | BDO
-  | BR
-  | BODY
-  | ADDRESS
-  | DIV
-  | A
-  | MAP
-  | AREA
-  | LINK
-  | IMG
-  | OBJECT
-  | PARAM
-  | HR
-  | P
-  | H1
-  | H2
-  | H3
-  | H4
-  | H5
-  | H6
-  | PRE
-  | Q
-  | BLOCKQUOTE
-  | INS
-  | DEL
-  | DL
-  | DT
-  | DD
-  | OL
-  | UL
-  | LI
-  | FORM
-  | LABEL
-  | INPUT
-  | SELECT
-  | OPTGROUP
-  | OPTION
-  | TEXTAREA
-  | FIELDSET
-  | LEGEND
-  | BUTTON
-  | TABLE
-  | CAPTION
-  | THEAD
-  | TFOOT
-  | TBODY
-  | COLGROUP
-  | COL
-  | TR
-  | TH
-  | TD
-  | HEAD
-  | TITLE
-  | BASE
-  | META
-  | STYLE
-  | SCRIPT
-  | NOSCRIPT
-  | HTML
-">
-
-<!-- begin XSLT DTD, patched -->
-
-<!ENTITY % char-instructions "
- | xsl:apply-templates
- | xsl:call-template
- | xsl:apply-imports
- | xsl:for-each
- | xsl:value-of
- | xsl:copy-of
- | xsl:number
- | xsl:choose
- | xsl:if
- | xsl:text
- | xsl:copy
- | xsl:variable
- | xsl:message
-">
-
-<!ENTITY % instructions "
- %char-instructions;
- | xsl:processing-instruction
- | xsl:comment
- | xsl:element
- | xsl:attribute
-">
-
-<!ENTITY % char-template "
-(#PCDATA
- %char-instructions;)*
-">
-
-<!ENTITY % template "
-(#PCDATA
- %instructions;
- %result-elements;)*
-">
-
-<!-- Used for the type of an attribute value that is a URI reference.-->
-<!ENTITY % URI "CDATA">
-
-<!-- Used for the type of an attribute value that is a pattern.-->
-<!ENTITY % pattern "CDATA">
-
-<!-- Used for the type of an attribute value that is an
-    attribute value template.-->
-<!ENTITY % avt "CDATA">
-
-<!-- Used for the type of an attribute value that is a QName; the prefix
-    gets expanded by the XSLT processor. -->
-<!ENTITY % qname "NMTOKEN">
-
-<!-- Like qname but a whitespace-separated list of QNames. -->
-<!ENTITY % qnames "NMTOKENS">
-
-<!-- Used for the type of an attribute value that is an expression.-->
-<!ENTITY % expr "CDATA">
-
-<!-- Used for the type of an attribute value that consists
-    of a single character.-->
-<!ENTITY % char "CDATA">
-
-<!-- Used for the type of an attribute value that is a priority. -->
-<!ENTITY % priority "NMTOKEN">
-
-<!ENTITY % space-att "xml:space (default|preserve) #IMPLIED">
-
-<!-- This may be overridden to customize the set of elements allowed
-at the top-level. -->
-
-<!ENTITY % non-xsl-top-level "">
-
-<!ENTITY % top-level "
-(xsl:import*,
- (xsl:include
- | xsl:strip-space
- | xsl:preserve-space
- | xsl:output
- | xsl:key
- | xsl:locale
- | xsl:attribute-set
- | xsl:variable
- | xsl:param
- | xsl:template
- %non-xsl-top-level;)*)
-">
-
-<!-- added xmlns attribute suitable for this DTD -->
-<!ENTITY % top-level-atts '
- extension-element-prefixes CDATA #IMPLIED
- id ID #IMPLIED
- xmlns:xsl CDATA #FIXED "http://www.w3.org/XSL/1999/Transform"
- xmlns CDATA #FIXED "http://www.w3.org/TR/REC-html40"
- %space-att;
-'>
-
-<!-- This entity is defined for use in the ATTLIST declaration
-for result elements. -->
-
-<!ENTITY % result-element-atts '
- xsl:extension-element-prefixes CDATA #IMPLIED
- xsl:use-attribute-sets %qnames; #IMPLIED
-'>
-
-<!ELEMENT xsl:stylesheet %top-level;>
-<!ATTLIST xsl:stylesheet %top-level-atts;>
-
-<!ELEMENT xsl:transform %top-level;>
-<!ATTLIST xsl:transform %top-level-atts;>
-
-<!ELEMENT xsl:import EMPTY>
-<!ATTLIST xsl:import href %URI; #REQUIRED>
-
-<!ELEMENT xsl:include EMPTY>
-<!ATTLIST xsl:include href %URI; #REQUIRED>
-
-<!ELEMENT xsl:strip-space EMPTY>
-<!ATTLIST xsl:strip-space elements CDATA #REQUIRED>
-
-<!ELEMENT xsl:preserve-space EMPTY>
-<!ATTLIST xsl:preserve-space elements CDATA #REQUIRED>
-
-<!ELEMENT xsl:output EMPTY>
-<!ATTLIST xsl:output
- method %qname; #IMPLIED
- version NMTOKEN #IMPLIED
- encoding NMTOKEN #IMPLIED
- xml-declaration (yes|no) #IMPLIED
- standalone (yes|no) #IMPLIED
- doctype-public CDATA #IMPLIED
- doctype-system CDATA #IMPLIED
- cdata-section-elements %qnames; #IMPLIED
- indent (yes|no) #IMPLIED
- media-type CDATA #IMPLIED
->
-
-<!ELEMENT xsl:key EMPTY>
-<!ATTLIST xsl:key
- name %qname; #REQUIRED
- match %pattern; #REQUIRED
- use %expr; #REQUIRED
->
-
-<!ELEMENT xsl:locale EMPTY>
-<!ATTLIST xsl:locale
- name %qname; #IMPLIED
- decimal-separator %char; "."
- grouping-separator %char; ","
- infinity CDATA "&#x221E;"
- minus-sign %char; "-"
- NaN CDATA "&#xFFFD;"
- percent %char; "%"
- per-mille %char; "&#x2030;"
- zero-digit %char; "0"
- digit %char; "#"
- pattern-separator %char; ";"
->
-
-<!ELEMENT xsl:template
-(#PCDATA
- %instructions;
- %result-elements;
- | xsl:param)*
->
-
-<!ATTLIST xsl:template
- match %pattern; #IMPLIED
- name %qname; #IMPLIED
- priority %priority; #IMPLIED
- mode %qname; #IMPLIED
- %space-att;
->
-
-<!ELEMENT xsl:value-of EMPTY>
-<!ATTLIST xsl:value-of
- select %expr; #REQUIRED
- disable-output-escaping (yes|no) "no"
->
-
-<!ELEMENT xsl:copy-of EMPTY>
-<!ATTLIST xsl:copy-of select %expr; #REQUIRED>
-
-<!ELEMENT xsl:number EMPTY>
-<!ATTLIST xsl:number
-  level (single|multiple|any) "single"
-  count %pattern; #IMPLIED
-  from %pattern; #IMPLIED
-  value %expr; #IMPLIED
-  format %avt; '1'
-  lang %avt; #IMPLIED
-  letter-value %avt; #IMPLIED
-  grouping-separator%avt; #IMPLIED
-  grouping-size %avt; #IMPLIED
->
-
-<!ELEMENT xsl:apply-templates (xsl:sort|xsl:with-param)*>
-<!ATTLIST xsl:apply-templates
- select %expr; "node()"
- mode %qname; #IMPLIED
->
-
-<!ELEMENT xsl:apply-imports EMPTY>
-
-<!-- xsl:sort cannot occur after any other elements or
-any non-whitespace character -->
-
-<!ELEMENT xsl:for-each
-(#PCDATA
- %instructions;
- %result-elements;
- | xsl:sort)*
->
-
-<!ATTLIST xsl:for-each
- select %expr; #REQUIRED
- %space-att;
->
-
-<!ELEMENT xsl:sort EMPTY>
-<!ATTLIST xsl:sort
- select %expr; "."
- lang %avt; #IMPLIED
- data-type %avt; "text"
- order %avt; "ascending"
- case-order %avt; #IMPLIED
->
-
-<!ELEMENT xsl:if %template;>
-<!ATTLIST xsl:if
- test %expr; #REQUIRED
- %space-att;
->
-
-<!ELEMENT xsl:choose (xsl:when+, xsl:otherwise?)>
-<!ATTLIST xsl:choose %space-att;>
-
-<!ELEMENT xsl:when %template;>
-<!ATTLIST xsl:when
- test %expr; #REQUIRED
- %space-att;
->
-
-<!ELEMENT xsl:otherwise %template;>
-<!ATTLIST xsl:otherwise %space-att;>
-
-<!ELEMENT xsl:attribute-set (xsl:attribute)*>
-<!ATTLIST xsl:attribute-set
- name %qname; #REQUIRED
- use-attribute-sets %qnames; #IMPLIED
->
-
-<!ELEMENT xsl:call-template (xsl:with-param)*>
-<!ATTLIST xsl:call-template
- name %qname; #REQUIRED
->
-
-<!ELEMENT xsl:with-param %template;>
-<!ATTLIST xsl:with-param
- name %qname; #REQUIRED
- select %expr; #IMPLIED
->
-
-<!ELEMENT xsl:variable %template;>
-<!ATTLIST xsl:variable 
- name %qname; #REQUIRED
- select %expr; #IMPLIED
->
-
-<!ELEMENT xsl:param %template;>
-<!ATTLIST xsl:param 
- name %qname; #REQUIRED
- select %expr; #IMPLIED
->
-
-<!ELEMENT xsl:text (#PCDATA)>
-<!ATTLIST xsl:text
- disable-output-escaping (yes|no) "no"
->
-
-<!ELEMENT xsl:processing-instruction %char-template;>
-<!ATTLIST xsl:processing-instruction 
- name %avt; #REQUIRED
- %space-att;
->
-
-<!ELEMENT xsl:element %template;>
-<!ATTLIST xsl:element 
- name %avt; #REQUIRED
- namespace %avt; #IMPLIED
- use-attribute-sets %qnames; #IMPLIED
- %space-att;
->
-
-<!ELEMENT xsl:attribute %char-template;>
-<!ATTLIST xsl:attribute 
- name %avt; #REQUIRED
- namespace %avt; #IMPLIED
- %space-att;
->
-
-<!ELEMENT xsl:comment %char-template;>
-<!ATTLIST xsl:comment %space-att;>
-
-<!ELEMENT xsl:copy %template;>
-<!ATTLIST xsl:copy
- %space-att;
- use-attribute-sets %qnames; #IMPLIED
->
-
-<!ELEMENT xsl:message %template;>
-<!ATTLIST xsl:message %space-att;>
-
-<!ELEMENT xsl:fallback %template;>
-<!ATTLIST xsl:fallback %space-att;>
-
-
-
-<!-- ######################################################################## -->
-<!--   HTML 4.0 Strict DTD   (revised to allow for xsl content)               -->
-<!--   Original DTD from XML4J package                                        -->
-<!--   Original SGML to XML conversion by TAMURA, Kent for IBM's XML4J        -->
-
-<!-- 
-     Container for all xsl elements allowed inside result-elements elements,
-     i.e.: all xsl elements which are valid where a result-element is valid,
-     and therefore must be valid inside ALL non-empty HTML elements.
-
-     You'll notice this does allow the user to create invalid XSL documents.
-
-  xsl:sort, xsl:param, xsl:param-variable were not inluded because
-  IMHO it is bad practice (and an error?) not to include them before 
-  other siblings, especially result-ns ones.
--->
-
-<!-- While the content should be simply %instructions; we cannot do that
-     due to the first '|' in %instructions -->
-<!ENTITY % xsl-valid-in-resultns "
-  xsl:processing-instruction
-  | xsl:comment
-  | xsl:element
-  | xsl:attribute
-  %char-instructions;
-">
-
-<!-- Also, %result-element-atts; was added to the ATTLIST of all html
-     elments -->
-
-<!-- Revision: 23 1.3 docs/data/HTML40strict.xml.dtd, xml4jdocs, xml4j-jtcsv, xml4j_1_1_9  -->
-
-<!--
-    This is HTML 4.0 Strict DTD, which excludes the presentation 
-    attributes and elements that W3C expects to phase out as 
-    support for style sheets matures. Authors should use the Strict
-    DTD when possible, but may use the Transitional DTD when support
-    for presentation attribute and elements is required.
-    
-    HTML 4.0 includes mechanisms for style sheets, scripting,
-    embedding objects, improved support for right to left and mixed
-    direction text, and enhancements to forms for improved
-    accessibility for people with disabilities.
-
-          Draft: Date: 1998/07/06 17:50:32
-
-          Authors:
-              Dave Raggett <dsr@w3.org>
-              Arnaud Le Hors <lehors@w3.org>
-              Ian Jacobs <ij@w3.org>
-
-    Further information about HTML 4.0 is available at:
-
-        http://www.w3.org/TR/REC-html40
--->
-
-<!--
-    ================================================================
-    Modified for XML 1.0 by:
-	"TAMURA, Kent" <kent@trl.ibm.co.jp>
-
-    o HTMLspecial, HTMLsymbol, HTMLlat1 aren't included in this DTD.
-    o The `lang' attribute was renamed to `xml:lang'.
-
-
-    Typical usage:
-
-    <?xml version="1.0" encoding="..."?>
-    <!DOCTYPE HTML SYSTEM ".../HTML40strict.xml.dtd">
-    <HTML>
-      <HEAD>
-        ...
-        <TITLE>...</TITLE>
-        ...
-      </HEAD>
-      <BODY>
-        ...
-      </BODY>
-    </HTML>
-
-    Note: XML is case-sensitive.  So element names must be written
-    in uppercase and attribute names must be written in lowercase.
-    ================================================================
--->
-
-<!--
-    Typical usage:
-
-    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
-            "http://www.w3.org/TR/REC-html40/strict.dtd">
-    <html>
-    <head>
-    ...
-    </head>
-    <body>
-    ...
-    </body>
-    </html>
-
-    The URI used as a system identifier with the public identifier allows
-    the user agent to download the DTD and entity sets as needed.
-
-    The FPI for the Transitional HTML 4.0 DTD is:
-
-        "-//W3C//DTD HTML 4.0 Transitional//EN"
-
-    and its URI is:
-
-        http://www.w3.org/TR/REC-html40/loose.dtd
-
-    If you are writing a document that includes frames, use 
-    the following FPI:
-
-        "-//W3C//DTD HTML 4.0 Frameset//EN"
-
-    with the URI:
-
-        http://www.w3.org/TR/REC-html40/frameset.dtd
-
-    The following URIs are supported in relation to HTML 4.0
-
-    "http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD)
-    "http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD)
-    "http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD)
-    "http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities)
-    "http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities)
-    "http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities)
-
-    These URIs point to the latest version of each file. To reference
-    this specific revision use the following URIs:
-
-    "http://www.w3.org/TR/REC-html40-971218/strict.dtd"
-    "http://www.w3.org/TR/REC-html40-971218/loose.dtd"
-    "http://www.w3.org/TR/REC-html40-971218/frameset.dtd"
-    "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"
-    "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"
-    "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"
-
--->
-
-<!--=== for XML ===-->
-<!ENTITY % Number "CDATA">
-<!ENTITY % Name "NMTOKEN">
-
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA"
-> <!-- media type, as per [RFC2045]
-    -->
-
-<!ENTITY % ContentTypes "CDATA"
-> <!-- comma-separated list of media types, as per [RFC2045]
-    -->
-
-<!ENTITY % Charset "CDATA"
-> <!-- a character encoding, as per [RFC2045]
-    -->
-
-<!ENTITY % Charsets "CDATA"
-> <!-- a space separated list of character encodings, as per [RFC2045]
-    -->
-
-<!ENTITY % LanguageCode "NMTOKEN"
-> <!-- a language code, as per [RFC1766]
-    -->
-
-<!ENTITY % Character "CDATA"
-> <!-- a single character from [ISO10646] 
-    -->
-
-<!ENTITY % LinkTypes "CDATA"
-> <!-- space-separated list of link types
-    -->
-
-<!ENTITY % MediaDesc "CDATA"
-> <!-- single or comma-separated list of media descriptors
-    -->
-
-<!-- Defined elsewhere in this DTD
-<!ENTITY % URI "CDATA"
-> <! a Uniform Resource Identifier,
-       see [URI]
-    -->
-
-<!ENTITY % Datetime "CDATA"><!-- date and time information. ISO date format -->
-
-
-<!ENTITY % Script "CDATA"><!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA"><!-- style sheet data -->
-
-
-
-<!ENTITY % Text "CDATA">
-
-
-<!-- Parameter Entities -->
-
-<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT"><!-- repeatable head elements -->
-<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
-<!ENTITY % list "UL | OL">
-<!ENTITY % preformatted "PRE">
-
-
-<!--================ Character mnemonic entities =========================-->
-
-<!--ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin1//EN//HTML"
-   "HTMLlat1.ent"-->
-<!--   "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"-->
-<!--%HTMLlat1;-->
-
-<!--ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols//EN//HTML"
-   "HTMLsymbol.ent"-->
-<!--   "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"-->
-<!--%HTMLsymbol;-->
-
-<!--ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special//EN//HTML"
-   "HTMLspecial.ent"-->
-<!--   "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"-->
-<!--%HTMLspecial;-->
-
-<!-- We define these elsewhere in this mixed DTD
-<!ENTITY quot "&#34;">
-<!ENTITY amp  "&#38;">
-<!ENTITY lt   "&#60;">
-<!ENTITY gt   "&#62;">
--->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  %result-element-atts;"
->
-
-<!ENTITY % i18n
- "xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- Reserved Feature Switch -->
-<!ENTITY % HTML.Reserved "IGNORE">
-
-<!-- The following attributes are reserved for possible future use -->
-<![ %HTML.Reserved; [
-<!ENTITY % reserved
- "datasrc     %URI;          #IMPLIED
-  datafld     CDATA          #IMPLIED
-  dataformatas (plaintext|html) plaintext"
-  >
-]]>
-
-<!ENTITY % reserved "">
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-
-<!--=================== Text Markup ======================================-->
-
-<!ENTITY % fontstyle
- "TT | I | B | BIG | SMALL">
-
-<!ENTITY % phrase "EM | STRONG | DFN | CODE |
-                   SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
-
-<!ENTITY % special
-   "A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
-<!ENTITY % special-A
-   "IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
-
-<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
-
-<!-- %inline; covers inline or "text-level" elements -->
-<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
-<!ENTITY % inline-A "#PCDATA | %fontstyle; | %phrase; | %special-A; | %formctrl;">
-<!ENTITY % inline-LABEL "#PCDATA | %fontstyle; | %phrase; | %special; | INPUT | SELECT | TEXTAREA | BUTTON">
-
-<!--
-<!ELEMENT (%fontstyle;|%phrase;)     (%inline;)*>
-<!ATTLIST (%fontstyle;|%phrase;)
-  %attrs;
-  >-->
-<!ELEMENT TT (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST TT %attrs;>
-<!ELEMENT I (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST I %attrs;>
-<!ELEMENT B (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST B %attrs;>
-<!ELEMENT BIG (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST BIG %attrs;>
-<!ELEMENT SMALL (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST SMALL %attrs;>
-<!ELEMENT EM (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST EM %attrs;>
-<!ELEMENT STRONG (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST STRONG %attrs;>
-<!ELEMENT DFN (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST DFN %attrs;>
-<!ELEMENT CODE (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST CODE %attrs;>
-<!ELEMENT SAMP (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST SAMP %attrs;>
-<!ELEMENT KBD (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST KBD %attrs;>
-<!ELEMENT VAR (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST VAR %attrs;>
-<!ELEMENT CITE (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST CITE %attrs;>
-<!ELEMENT ABBR (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST ABBR %attrs;>
-<!ELEMENT ACRONYM (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST ACRONYM %attrs;>
-
-
-<!ELEMENT SUP (%inline; | %xsl-valid-in-resultns;)*><!-- subscript, superscript -->
-<!ATTLIST SUP
-  %attrs;
-  >
-<!ELEMENT SUB (%inline; | %xsl-valid-in-resultns;)*><!-- subscript, superscript -->
-<!ATTLIST SUB
-  %attrs;
-  >
-
-<!ELEMENT SPAN (%inline; | %xsl-valid-in-resultns;)*><!-- generic language/style container -->
-<!ATTLIST SPAN
-  %attrs;
-  %reserved;			
-  >
-
-<!ELEMENT BDO (%inline; | %xsl-valid-in-resultns;)*><!-- I18N BiDi over-ride -->
-<!ATTLIST BDO
-  %coreattrs;
-  lang        %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-
-<!ELEMENT BR     EMPTY><!-- forced line break -->
-<!ATTLIST BR
-  %coreattrs;
-  >
-
-<!--================== HTML content models ===============================-->
-
-<!--
-    HTML has two basic content models:
-
-        %inline;     character level elements and text strings
-        %block;      block-like elements e.g. paragraphs and lists
--->
-
-<!ENTITY % block
-     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
-      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
-<!ENTITY % block-FORM
-     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
-      BLOCKQUOTE | HR | TABLE | FIELDSET | ADDRESS">
-<!ENTITY % block-FORM-FIELDSET
-     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
-      BLOCKQUOTE | HR | TABLE | ADDRESS">
-
-<!--<!ENTITY % flow "%block; | %inline;">-->
-<!ENTITY % flow "%inline; | %block;">
-
-<!--=================== Document Body ====================================-->
-
-<!--ELEMENT BODY     (%block;|SCRIPT)+ +(INS|DEL)  document body -->
-<!ELEMENT BODY ((INS|DEL)*, (%xsl-valid-in-resultns;|%block;|SCRIPT), (INS|DEL)*)+ ><!-- document body -->
-<!ATTLIST BODY
-  %attrs;
-  onload          %Script;   #IMPLIED
-  onunload        %Script;   #IMPLIED
-  >
-
-<!ELEMENT ADDRESS (%inline; | %xsl-valid-in-resultns;)*><!-- information on author -->
-<!ATTLIST ADDRESS
-  %attrs;
-  >
-
-<!ELEMENT DIV (%flow; | %xsl-valid-in-resultns;)*><!-- generic language/style container -->
-<!ATTLIST DIV
-  %attrs;
-  %reserved;
-  >
-
-
-<!--================== The Anchor Element ================================-->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-<!ENTITY % Coords "CDATA"><!-- comma separated list of lengths -->
-
-<!ELEMENT A (%inline-A; | %xsl-valid-in-resultns;)*><!-- anchor -->
-<!ATTLIST A
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        CDATA          #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT MAP  ((%xsl-valid-in-resultns;|%block;)+ | (%xsl-valid-in-resultns;|AREA+))><!-- client-side image map -->
-<!ATTLIST MAP
-  %attrs;
-  name        CDATA          #REQUIRED
-  >
-
-<!ELEMENT AREA     EMPTY><!-- client-side image map area -->
-<!ATTLIST AREA
-  %attrs;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!--================== The LINK Element ==================================-->
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the LINK element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel=stylesheet)
-   c) to make a link to a script (rel=script)
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a postscript or pdf version (rel=alternate media=print)
--->
-
-<!ELEMENT LINK     EMPTY><!-- a media-independent link -->
-<!ATTLIST LINK
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!-- Length defined in strict DTD for cellpadding/cellspacing -->
-<!ENTITY % Length "CDATA"><!-- nn for pixels or nn% for percentage length -->
-<!ENTITY % MultiLength "CDATA"><!-- pixel, percentage, or relative -->
-
-<!ENTITY % MultiLengths "CDATA"><!-- comma-separated list of MultiLength -->
-
-<!ENTITY % Pixels "CDATA"><!-- integer representing length in pixels -->
-
-
-<!-- To avoid problems with text-only UAs as well as 
-   to make image content understandable and navigable 
-   to users of non-visual UAs, you need to provide
-   a description with ALT, and avoid server-side image maps -->
-<!ELEMENT IMG     EMPTY><!-- Embedded image -->
-<!ATTLIST IMG
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  >
-
-<!-- USEMAP points to a MAP element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--==================== OBJECT ======================================-->
-<!--
-  OBJECT is used to embed objects as part of HTML pages 
-  PARAM elements should precede other content. SGML mixed content
-  model technicality precludes specifying this formally ...
--->
-
-<!ELEMENT OBJECT (%flow; | %xsl-valid-in-resultns; | PARAM)*
-><!-- generic embedded object -->
-<!ATTLIST OBJECT
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %URI;          #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        CDATA          #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  %reserved;
-  >
-
-<!ELEMENT PARAM     EMPTY><!-- named property value -->
-<!ATTLIST PARAM
-  id          ID             #IMPLIED
-  name        CDATA          #REQUIRED
-  value       CDATA          #IMPLIED
-  valuetype   (DATA|REF|OBJECT) "DATA"
-  type        %ContentType;  #IMPLIED
-  >
-
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT HR     EMPTY><!-- horizontal rule -->
-<!ATTLIST HR
-  %coreattrs;
-  %events;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT P (%inline; | %xsl-valid-in-resultns;)*><!-- paragraph -->
-<!ATTLIST P
-  %attrs;
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from H1 (the most important)
-  to H6 (the least important).
--->
-
-<!--
-<!ELEMENT (%heading;)      (%inline;)*>
-<!ATTLIST (%heading;)
-  %attrs;
-  >-->
-<!ELEMENT H1 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H1 %attrs;>
-<!ELEMENT H2 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H2 %attrs;>
-<!ELEMENT H3 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H3 %attrs;>
-<!ELEMENT H4 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H4 %attrs;>
-<!ELEMENT H5 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H5 %attrs;>
-<!ELEMENT H6 (%inline; | %xsl-valid-in-resultns;)*>
-<!ATTLIST H6 %attrs;>
-
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- excludes markup for images and changes in font size -->
-<!--
-<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
-
-<!ELEMENT PRE  (%inline;)* -(%pre.exclusion;)><! preformatted text -->
-
-<!ELEMENT PRE (#PCDATA |%xsl-valid-in-resultns;| TT|I|B|%phrase;|A|BR|SCRIPT|MAP|Q|SPAN|BDO|%formctrl;)*>
-			<!-- preformatted text -->
-<!ATTLIST PRE
-  %attrs;>
-<!-- Should the attribute below be incuded in PRE?
-  xml:space (default|preserve) #FIXED "preserve"
--->
-
-<!--===================== Inline Quotes ==================================-->
-
-<!ELEMENT Q  (%inline; | %xsl-valid-in-resultns;)*><!-- short inline quotation -->
-<!ATTLIST Q
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT BLOCKQUOTE  (%block;|%xsl-valid-in-resultns;|SCRIPT)+><!-- long quotation -->
-<!ATTLIST BLOCKQUOTE
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-
-<!-- INS/DEL are handled by inclusion on BODY -->
-<!ELEMENT INS (%flow;|%xsl-valid-in-resultns;)*><!-- inserted text, deleted text -->
-<!ATTLIST INS
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-<!ELEMENT DEL (%flow;|%xsl-valid-in-resultns;)*><!-- inserted text, deleted text -->
-<!ATTLIST DEL
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--=================== Lists ============================================-->
-
-<!-- definition lists - DT for term, DD for its definition -->
-
-<!ELEMENT DL  (%xsl-valid-in-resultns;| DT|DD)+><!-- definition list -->
-<!ATTLIST DL
-  %attrs;
-  >
-
-<!ELEMENT DT (%inline; | %xsl-valid-in-resultns;)*><!-- definition term -->
-<!ELEMENT DD (%flow; | %xsl-valid-in-resultns;)*><!-- definition description -->
-<!ATTLIST DT
-  %attrs;
-  >
-<!ATTLIST DD
-  %attrs;
-  >
-
-
-<!ELEMENT OL (%xsl-valid-in-resultns; | LI)+><!-- ordered list -->
-<!ATTLIST OL
-  %attrs;
-  >
-
-<!-- Unordered Lists (UL) bullet styles -->
-<!ELEMENT UL (%xsl-valid-in-resultns; | LI)+><!-- unordered list -->
-<!ATTLIST UL
-  %attrs;
-  >
-
-
-
-<!ELEMENT LI (%flow; | %xsl-valid-in-resultns;)*><!-- list item -->
-<!ATTLIST LI
-  %attrs;
-  >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT FORM (%xsl-valid-in-resultns;|%block-FORM;|SCRIPT)+>
-
-<!-- interactive form -->
-<!ATTLIST FORM
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (GET|POST)     "GET"
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  >
-
-<!-- Each label must not contain more than ONE field -->
-<!ELEMENT LABEL  (%inline-LABEL; | %xsl-valid-in-resultns;)*><!-- form field label text -->
-<!ATTLIST LABEL
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(TEXT | PASSWORD | CHECKBOX |
-    RADIO | SUBMIT | RESET |
-    FILE | HIDDEN | IMAGE | BUTTON)"
-   >
-
-<!-- attribute name required for all but submit & reset -->
-<!ELEMENT INPUT     EMPTY><!-- form control -->
-<!ATTLIST INPUT
-  %attrs;
-  type        %InputType;    "TEXT"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  %reserved;
-  >
-
-<!ELEMENT SELECT ((%xsl-valid-in-resultns;|OPTGROUP)|(%xsl-valid-in-resultns;|OPTION))+ ><!-- option selector -->
-<!ATTLIST SELECT
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  %reserved;
-  >
-
-<!ELEMENT OPTGROUP (%xsl-valid-in-resultns;|OPTION)+>  <!-- option group -->
-<!ATTLIST OPTGROUP
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT OPTION  (#PCDATA | %xsl-valid-in-resultns;)*><!-- selectable choice -->
-<!ATTLIST OPTION
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT TEXTAREA (#PCDATA | %xsl-valid-in-resultns;)*><!-- multi-line text field -->
-<!ATTLIST TEXTAREA
-  %attrs;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  %reserved;
-  >
-
-<!--
-  #PCDATA is to solve the mixed content problem,
-  per specification only whitespace is allowed there!
-
-  We do allow XSL inside as well
- -->
-<!--ELEMENT FIELDSET     (#PCDATA,LEGEND,(%flow;)*)    form control group -->
-<!ELEMENT FIELDSET  (%flow;|%xsl-valid-in-resultns;|LEGEND)*><!-- form control group -->
-<!ATTLIST FIELDSET
-  %attrs;
-  >
-
-<!ELEMENT LEGEND (%inline;|%xsl-valid-in-resultns;)*><!-- fieldset legend -->
-<!ENTITY % LAlign "(top|bottom|left|right)">
-
-<!ATTLIST LEGEND
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  >
-
-<!ELEMENT BUTTON
-     (#PCDATA | %xsl-valid-in-resultns; | %fontstyle; | %phrase; | %special-A; | %block;)*
-><!-- push button -->
-<!ATTLIST BUTTON
-  %attrs;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  %reserved;
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The BORDER attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The FRAME attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the VALIGN attribute.
-
- The value "border" is included for backwards compatibility with
- <TABLE BORDER> which yields frame=border and border=implied
- For <TABLE BORDER=1> you get border=1 and frame=implied. In this
- case, it is appropriate to treat this as frame=border for backwards
- compatibility with deployed browsers.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The RULES attribute defines which rules to draw between cells:
-
- If RULES is absent then assume:
-     "none" if BORDER is absent or BORDER=0 otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal placement of table relative to document -->
-<!ENTITY % TAlign "(left|center|right)">
-
-<!-- horizontal alignment attributes for cell contents -->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT TABLE 
-  ((%xsl-valid-in-resultns;)*, CAPTION?, (%xsl-valid-in-resultns;)*,
-   ((COL | %xsl-valid-in-resultns;)*|(COLGROUP | %xsl-valid-in-resultns;)*),
-   ((THEAD?,(%xsl-valid-in-resultns;)*,TFOOT?,(%xsl-valid-in-resultns;|TBODY)+)
-    | (%xsl-valid-in-resultns;|TR)+) )>
-
-<!ELEMENT CAPTION   (%inline; | %xsl-valid-in-resultns;)*><!-- table caption -->
-<!ELEMENT THEAD     (TR|%xsl-valid-in-resultns;)+><!-- table header -->
-<!ELEMENT TFOOT     (TR|%xsl-valid-in-resultns;)+><!-- table footer -->
-<!ELEMENT TBODY     (TR|%xsl-valid-in-resultns;)+><!-- table body -->
-<!ELEMENT COLGROUP  (%xsl-valid-in-resultns; | COL)*><!-- table column group -->
-<!ELEMENT COL       EMPTY><!-- table column -->
-<!ELEMENT TR        (TH|TD| %xsl-valid-in-resultns;)+><!-- table row -->
-<!ELEMENT TH        (%flow; | %xsl-valid-in-resultns;)*><!-- table header cell, table data cell-->
-<!ELEMENT TD        (%flow; | %xsl-valid-in-resultns;)*><!-- table header cell, table data cell-->
-
-<!ATTLIST TABLE
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  %reserved;
-  datapagesize CDATA         #IMPLIED
-  >
-
-<!ENTITY % CAlign "(top|bottom|left|right)">
-
-<!ATTLIST CAPTION
-  %attrs;
-  >
-
-<!--
-COLGROUP groups a set of COL elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST COLGROUP
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- COL elements define the alignment properties for cells in
- one or more columns.
-
- The WIDTH attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The SPAN attribute causes the attributes of one
- COL element to apply to more than one column.
--->
-<!ATTLIST COL
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use THEAD to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    TBODY sections are rendered in scrolling panel.
-
-    Use TFOOT to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    TBODY sections are rendered in scrolling panel.
-
-    Use multiple TBODY sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST THEAD
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-<!ATTLIST TBODY
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-<!ATTLIST TFOOT
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST TR
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-
-<!-- Scope is simpler than axes attribute for common tables -->
-<!ENTITY % Scope "(ROW|COL|ROWGROUP|COLGROUP)">
-
-<!-- TH is for headers, TD for data, but for cells acting as both use TD -->
-<!ATTLIST TH
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-<!ATTLIST TD
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-
-
-<!--================ Document Head =======================================-->
-<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT",
-     extended now to allow xsl -->
-<!ENTITY % head.misc-HEAD "%head.misc;|%xsl-valid-in-resultns;">
-
-<!ENTITY % head.content "TITLE &amp; BASE?">
-
-<!--ELEMENT HEAD     (%head.content;) +(%head.misc;)   document head -->
-<!ELEMENT HEAD
-   ((%head.misc-HEAD;)*, ((BASE?,(%head.misc-HEAD;)*,TITLE?) | (TITLE?,(%head.misc-HEAD;)*,BASE?)|(%head.misc-HEAD;)*)+, (%head.misc-HEAD;)*)>
-<!ATTLIST HEAD
-  %i18n;
-  profile     %URI;          #IMPLIED
-  %result-element-atts;
-  >
-
-<!-- The TITLE element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!--ELEMENT TITLE     (#PCDATA) -(%head.misc;)  document title -->
-<!ELEMENT TITLE  (#PCDATA |  %xsl-valid-in-resultns;)*><!-- document title -->
-<!ATTLIST TITLE %i18n; %result-element-atts;>
-
-
-<!ELEMENT BASE     EMPTY><!-- document base URI -->
-<!ATTLIST BASE
-  href        %URI;          #REQUIRED
-  >
-
-<!ELEMENT META     EMPTY><!-- generic metainformation -->
-<!ATTLIST META
-  %i18n;
-  http-equiv  %Name;         #IMPLIED
-  name        %Name;         #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  %result-element-atts;
-  >
-
-<!--ELEMENT STYLE     %StyleSheet;  style info -->
-<!ELEMENT STYLE (#PCDATA | %xsl-valid-in-resultns;)*><!-- style info -->
-<!ATTLIST STYLE
-  %i18n;
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  %result-element-atts;
-  >
-
-<!--ELEMENT SCRIPT     %Script; script statements -->
-<!ELEMENT SCRIPT (#PCDATA | %xsl-valid-in-resultns;)*><!-- script statements -->
-<!ATTLIST SCRIPT
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  language    CDATA          #IMPLIED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  event       CDATA          #IMPLIED
-  for         %URI;          #IMPLIED
-  %result-element-atts;
-  >
-
-<!ELEMENT NOSCRIPT (%xsl-valid-in-resultns;|%block;)+
-><!-- alternate content container for non script-based rendering -->
-<!ATTLIST NOSCRIPT
-  %attrs;
-  >
-
-<!--================ Document Structure ==================================-->
-<!ENTITY % html.content "HEAD, BODY">
-
-<!--<!ELEMENT HTML     (%html.content;)> --><!-- document root element -->
-<!ELEMENT HTML (((%xsl-valid-in-resultns;)*,HEAD?,(%xsl-valid-in-resultns;)*,BODY?,
-                (%xsl-valid-in-resultns;)*) | (%xsl-valid-in-resultns;)*)>
-<!-- document root element -->
-<!ATTLIST HTML
-  %i18n;
-  %result-element-atts;
-  >
diff --git a/xdocs/style/loaderdesign.xml b/xdocs/style/loaderdesign.xml
deleted file mode 100644
index 975055b..0000000
--- a/xdocs/style/loaderdesign.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-
-<loader>
-  <processor name="xslt">
-    <parameter name="stylesheet" value="sbk:/style/stylesheets/design2project.xsl"/>
-  </processor>
-</loader>
diff --git a/xdocs/style/stylesheets/design2project.xsl b/xdocs/style/stylesheets/design2project.xsl
deleted file mode 100644
index 8d23940..0000000
--- a/xdocs/style/stylesheets/design2project.xsl
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-  <xsl:template match="/">
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <!-- match the root book element -->
-  <xsl:template match="book">
-    <project>
-      <parameter name="copyright" value="{@copyright}"/>
-      <xsl:apply-templates/>
-    </project>
-  </xsl:template>
-
- <xsl:template match="document">
-
-    <process source="{@source}" producer="parser">
-      <processor name="xslt">
-        <parameter name="stylesheet" value="sbk:/style/stylesheets/any2project.xsl"/>
-      </processor>
-    </process>
-
-    <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
-      <processor name="xslt">
-        <parameter name="id" value="{@id}"/>
-        <parameter name="stylesheet" value="sbk:/style/stylesheets/designdoc2html.xsl"/>
-      </processor>
-    </create>
-  </xsl:template>
-  
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/xdocs/style/stylesheets/designdoc2html.xsl b/xdocs/style/stylesheets/designdoc2html.xsl
deleted file mode 100644
index c0aebae..0000000
--- a/xdocs/style/stylesheets/designdoc2html.xsl
+++ /dev/null
@@ -1,256 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-  <xsl:param name="stylebook.project"/>
-  <xsl:param name="copyright"/>
-  <xsl:param name="id"/>
-
-  <xsl:template match="/">
-    <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="s1">
-    <html>
-      <head>
-        <title><xsl:value-of select="@title"/></title>
-      </head>
-      <body text="#000000" link="#0000ff" vlink="#0000aa" alink="#ff0000"
-            topmargin="4" leftmargin="4" marginwidth="4" marginheight="4"
-            bgcolor="#ffffff">
-         <xsl:variable name="topimage" select="./p/img/@src"/>
-         <h1><a href="http://xml.apache.org"><img src="images/{$topimage}"/></a>&#160;&#160;
-         <xsl:value-of select="@title"/></h1><hr/>
-             <xsl:apply-templates/>
-         <hr/>
-            <font size="-1" color="#0086b2"><i>
-              Copyright &#169; <xsl:value-of select="$copyright"/>
-            </i></font>
-      </body>
-    </html>
-  </xsl:template>
-
-  <xsl:template match="s2">
-      
-      <h2><xsl:value-of select="@title"/></h2>
-      <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="s3">
-      <h3><xsl:value-of select="@title"/></h3>
-      <xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="s4">
-      <h4><xsl:value-of select="@title"/></h4>
-      <xsl:apply-templates/>
-  </xsl:template>
-
-<!-- ###################################################################### -->
-<!-- blocks -->
-
-  <xsl:template match="p">
-    <p><xsl:apply-templates/></p>
-  </xsl:template>
-
-  <xsl:template match="note">
-    <table width="100%" cellspacing="3" cellpadding="0" border="0">
-      <tr>
-        <td width="20" valign="top">
-          <img src="resources/note.gif" width="20" height="24" vspace="0" hspace="0" border="0" alt="Note"/>
-        </td>
-        <td valign="top">
-          <font size="-1" face="arial,helvetica,sanserif" color="#000000">
-            <i>
-              <xsl:apply-templates/>
-            </i>
-          </font>
-        </td>
-      </tr>  
-    </table>
-  </xsl:template>
-
-  <xsl:template match="u">
-    <u><xsl:apply-templates/></u>
-  </xsl:template>
-
-  <xsl:template match="i">
-    <i><xsl:apply-templates/></i>
-  </xsl:template>
-
-  <xsl:template match="b">
-    <b><xsl:apply-templates/></b>
-  </xsl:template>
-
-  <xsl:template match="ul">
-    <ul><xsl:apply-templates/></ul>
-  </xsl:template>
-
-  <xsl:template match="ol">
-    <ol><xsl:apply-templates/></ol>
-  </xsl:template>
-
-  <xsl:template match="li">
-    <li><xsl:apply-templates/></li>
-  </xsl:template>
-  
-    <!--Definition lists: gloss, term, label, item -->
-  <xsl:template match="gloss">
-    <dl><xsl:apply-templates/></dl>
-  </xsl:template>
-   <!-- <term> contains a single-word, multi-word or symbolic 
-       designation which is regarded as a technical term. --> 
-  <xsl:template match="term">
-    <dfn><xsl:apply-templates/></dfn>
-  </xsl:template>
-  <xsl:template match="label" priority="1">
-    <dt><xsl:apply-templates/></dt>
-  </xsl:template>
-  <xsl:template match="item" priority="2">
-    <dd>
-      <xsl:apply-templates/>
-    </dd>
-  </xsl:template>
-
-  <xsl:template match="source">
-    <p><font size="-1"><pre><xsl:apply-templates/></pre></font></p>
-  </xsl:template>
-
-  <xsl:template match="small-table">
-    <center>
-      <xsl:choose>
-        <xsl:when test="@leave-me-alone = 'yes'">
-          <table>
-            <xsl:copy-of select="@*"/>
-            <xsl:copy-of select="*"/>
-          </table>
-        </xsl:when>
-        <xsl:otherwise>
-          <table width="90%" border="0" cellspacing="2">
-            <xsl:apply-templates mode="small-table"/>
-          </table>
-        </xsl:otherwise>
-      </xsl:choose>
-    </center>
-  </xsl:template>
-
-  <xsl:template match="tr" mode="small-table">
-    <tr><xsl:apply-templates mode="small-table"/></tr>
-  </xsl:template>
-
-  <xsl:template match="td" mode="small-table">
-    <td valign="top"><font size="-1"><xsl:apply-templates/></font></td>
-  </xsl:template>
-
-
-  <xsl:template match="table">
-    <table width="100%" border="0" cellspacing="2" cellpadding="2">
-      <xsl:apply-templates/>
-    </table>
-  </xsl:template>
-
-  <xsl:template match="tr">
-    <tr><xsl:apply-templates/></tr>
-  </xsl:template>
-
-  <xsl:template match="th">
-    <td bgcolor="#039acc" colspan="{@colspan}" rowspan="{@rowspan}" valign="center" align="center">
-      <font color="#ffffff" size="-1" face="arial,helvetica,sanserif">
-        <b><xsl:apply-templates/></b>&#160;
-      </font>
-    </td>
-  </xsl:template>
-
-  <xsl:template match="td">
-    <td bgcolor="#a0ddf0" colspan="{@colspan}" rowspan="{@rowspan}" valign="top" align="left">
-      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
-        <xsl:apply-templates/>&#160;
-      </font>
-    </td>
-  </xsl:template>
-
-  <xsl:template match="tn">
-    <td bgcolor="#ffffff" colspan="{@colspan}" rowspan="{@rowspan}">
-      &#160;
-    </td>
-  </xsl:template>
-
-<!-- ###################################################################### -->
-<!-- markup -->
-
-  <xsl:template match="em">
-    <b><xsl:apply-templates/></b>
-  </xsl:template>
-
-  <xsl:template match="ref">
-    <center><i><xsl:apply-templates/></i></center>
-  </xsl:template>
-  
-  <xsl:template match="code">
-    <code><font face="courier, monospaced"><xsl:apply-templates/></font></code>
-  </xsl:template>
-  
-  <xsl:template match="br">
-    <br/>
-  </xsl:template>
-  
-<!-- ###################################################################### -->
-<!-- links -->
-
-  <xsl:template match="link">
-    <xsl:if test="string-length(@anchor)=0">
-      <xsl:if test="string-length(@idref)=0">
-        <!--xsl:apply-templates/-->
-      </xsl:if>
-      <xsl:if test="string-length(@idref)>0">
-        <a href="{@idref}.html"><xsl:apply-templates/></a>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="string-length(@anchor)>0">
-      <xsl:if test="string-length(@idref)=0">
-        <a href="#{@anchor}"><xsl:apply-templates/></a>
-      </xsl:if>
-      <xsl:if test="string-length(@idref)>0">
-        <a href="{@idref}.html#{@anchor}"><xsl:apply-templates/></a>
-      </xsl:if>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template match="anchor">
-    <a name="{@name}"><xsl:comment>anchor</xsl:comment></a>
-  </xsl:template>
-
-  <xsl:template match="jump">
-    <a href="{@href}"><xsl:apply-templates/></a>
-  </xsl:template>
-
-  <xsl:template match="/s1/s2//img">
-    <center><img src="images/{@src}"/></center>
-  </xsl:template>
-
-  <xsl:template match="resource-ref">
-    <xsl:variable name="resourceFile" 
-          select="document($stylebook.project)/book/resources/@source"/>
-    <xsl:variable name="xref" select="@idref"/>
-    <xsl:variable name="href"
-          select="document($resourceFile)/resources/resource[@id=$xref]/@location"/>
-    <xsl:variable name="label"
-          select="document($resourceFile)/resources/resource[@id=$xref]/@title"/>
-    <A href="{$href}" target="_top"><xsl:value-of select="$label"/></A>
-  </xsl:template>
-
-  <xsl:template match="human-resource-ref">
-    <xsl:variable name="resourceFile" 
-          select="document($stylebook.project)/book/resources/@source"/>  
-    <xsl:variable name="ref"  select="@idref"/>
-    <xsl:variable name="mailto"
-          select="document($resourceFile)/resources/human-resource[@id=$ref]/@mailto"/>
-   <xsl:variable name="name"
-          select="document($resourceFile)/resources/human-resource[@id=$ref]/@name"/>                          
-    <A href="mailto:{$mailto}"><xsl:value-of select="$name"/></A>
-  </xsl:template>
-
-<!-- ###################################################################### -->
-
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/xdocs/style/stylesheets/done.xsl b/xdocs/style/stylesheets/done.xsl
deleted file mode 100644
index 4f4b9d2..0000000
--- a/xdocs/style/stylesheets/done.xsl
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<!DOCTYPE xsl:stylesheet>
-
-<!-- XSL Style sheet, DTD omitted -->
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    xmlns:lxslt="http://xml.apache.org/xslt"
-    xmlns:redirect="org.apache.xalan.lib.Redirect"
-    extension-element-prefixes="redirect">
-
-  <xsl:output method="xml"/>
-  
-  <xsl:param name="xsltcdone" select="'.\XSLTCDONE'"/>
-  
-  <xsl:template match="Commits">
-  <xsl:comment>This XML fragment contains a list of source code updates to place in an &lt;s3&gt; section of readme.xml</xsl:comment>
-    <xsl:if test="count(Commit[@category='core'])>0">
-      <p> Core (Non-XSLTC) source code updates:</p>
-      <ul>
-      <xsl:for-each select="Commit[@category='core']">
-        <li><xsl:apply-templates select="Who|DateCommitted|Modified|Added|Removed|Log"/></li>
-      </xsl:for-each>
-      </ul>
-    </xsl:if>
-    <xsl:if test="count(Commit[@category='core'])=0">
-      <note>This release includes no updates of the non-XSLTC core source code.</note>
-    </xsl:if>
-    
-    <xsl:if test="count(Commit[@category='xsltc'])>0">
-      <redirect:write file="{$xsltcdone}">
-        <p>XSLTC source code updates:</p>
-        <ul>
-        <xsl:for-each select="Commit[@category='xsltc']">
-          <li><xsl:apply-templates select="Who|DateCommitted|Modified|Added|Removed|Log"/></li>
-        </xsl:for-each>
-        </ul>
-      </redirect:write>
-    </xsl:if>    
-    <xsl:if test="count(Commit[@category='xsltc'])=0">
-      <redirect:write file="{$xsltcdone}">
-        <note>This release includes no updates of the XSLTC source code.</note>
-      </redirect:write>
-    </xsl:if>
-    
-  </xsl:template>
-  
-  <xsl:template match="Who">
-    <ref>Committed by </ref><xsl:value-of select="."/>
-  </xsl:template>
-  <xsl:template match="DateCommitted">
-    <ref> on </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Modified">    
-    <ref>Modified: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Added">    
-    <ref>Added: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-  <xsl:template match="Removed">    
-    <ref>Removed: </ref><xsl:value-of select="."/><br/>
-  </xsl:template>    
-    <xsl:template match="Log">    
-    <ref>Committer's log entry: </ref><xsl:value-of select="."/><br/><br/>
-  </xsl:template>
-  
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/xdocs/style/stylesheets/spec.xsl b/xdocs/style/stylesheets/spec.xsl
deleted file mode 100644
index 26d73bd..0000000
--- a/xdocs/style/stylesheets/spec.xsl
+++ /dev/null
@@ -1,220 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<!DOCTYPE xsl:stylesheet [
-<!ENTITY copy   "&#169;">
-<!ENTITY nbsp   "&#160;">
-]>
-
-<!-- XSL Style sheet, DTD omitted -->
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:redirect="org.apache.xalan.lib.Redirect"
-                extension-element-prefixes="redirect">
-  <xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN"/>
-  
-  <xsl:param name="package-root" select="'../../../src/'"/>  <!-- root of destination for package.html files -->
-
-  <xsl:template match="spec">
-    <html>
-      <head>
-        <title>
-          <xsl:value-of select="header/title"/>
-        </title>
-      </head>
-      <body>
-        <xsl:apply-templates/>
-      </body>
-    </html>
-  </xsl:template>
-  
-  <xsl:template match="spec/title[1]">
-    <h1><xsl:apply-templates/></h1>
-  </xsl:template>
-
-  <xsl:template match="frontmatter/pubdate">
-    <p><b>Edit Date: </b><xsl:apply-templates/></p>
-  </xsl:template>
-
-  <xsl:template match="frontmatter/copyright">
-    <!-- p>&copy;<xsl:apply-templates/></p -->
-  </xsl:template>
-
-  <xsl:template match="frontmatter/author">
-  </xsl:template>
-  
-  <xsl:template match="spec/title">
-    <h2>
-      <xsl:choose>
-        <xsl:when test="@id">
-          <a name="@id">
-            <xsl:apply-templates/>
-          </a>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </h2>
-  </xsl:template>
-  
-  <xsl:template name="apply-id-templates">
-    <xsl:choose>
-      <xsl:when test="@id">
-        <a name="{@id}">
-          <xsl:apply-templates/>
-        </a>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:apply-templates/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  
-  <xsl:template match="sect2/title | spec/*/title">
-    <h3>
-      <xsl:call-template name="apply-id-templates"/>
-    </h3>
-  </xsl:template>
-  
-  <xsl:template match="sect3/title">
-    <h4>
-      <xsl:call-template name="apply-id-templates"/>
-    </h4>
-  </xsl:template>
-
-  <xsl:template match="sect4/title">
-    <h5>
-      <xsl:call-template name="apply-id-templates"/>
-    </h5>
-  </xsl:template>
-  
-  <xsl:template match="para">
-    <p><xsl:apply-templates/></p>
-  </xsl:template>
-
-  <xsl:template match="variablelist">
-    <ul>
-    <xsl:for-each select="varlistentry">
-      <li>
-        <p><b><xsl:apply-templates select="term"/></b><br/>
-        <xsl:apply-templates select="listitem"/></p>
-      </li>
-    </xsl:for-each>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="orderedlist">
-    <ol>
-    <xsl:for-each select="listitem">
-      <li><xsl:apply-templates/></li>
-    </xsl:for-each>
-    </ol>
-  </xsl:template>
-
-  <xsl:template match="patterns">
-    <H3><xsl:value-of select="@module"/><xsl:text> </xsl:text>Patterns</H3>
-    <ul>
-      <xsl:for-each select="pattern">
-        <p>
-          <b>
-            <xsl:for-each select="pattern-name">
-              <xsl:call-template name="apply-id-templates"/>
-            </xsl:for-each>
-          </b>
-          <br/>
-        <xsl:apply-templates select="*[name() != 'pattern-name']"/></p>
-      </xsl:for-each>
-    </ul>
-  </xsl:template>
-  
-  <xsl:template match="pattern/intent">
-    <br/><i>Intent: </i><xsl:apply-templates/>
-  </xsl:template>
-  
-  <xsl:template match="pattern/responsibilities">
-    <br/><i>Responsibilities: </i><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="pattern/potential-alternate-name">
-    <br/><i>Potential alternate name: </i><xsl:apply-templates/>
-  </xsl:template>
-  
-  <xsl:template match="pattern/thread-safety">
-    <br/><i>Thread safety: </i><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="pattern/notes">
-    <br/><i>Notes: </i><xsl:apply-templates/>
-  </xsl:template>
-
-  <xsl:template match="programlisting">
-    <code>
-    <pre>
-      <xsl:apply-templates/>
-    </pre>
-    </code>
-  </xsl:template>
-  
-  <xsl:template match="link">
-    <A href="#{@linkend}">
-      <xsl:apply-templates/>
-    </A>
-  </xsl:template>
-  <xsl:template match="ulink">
-    <A href="{@url}">
-      <xsl:apply-templates/>
-    </A>
-  </xsl:template>
-
-  <xsl:template match="termref">
-    <xsl:choose>
-      <xsl:when test="@link-url">
-        <A href="#{@link-url}">
-          <xsl:value-of select="."/>
-        </A>
-      </xsl:when>
-      <xsl:otherwise>
-        <U><xsl:value-of select="."/></U>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  
-  <xsl:template match="plink">
-    <xsl:text>{@link </xsl:text>
-      <xsl:value-of select="."/>
-    <xsl:text>}</xsl:text>
-  </xsl:template>
-  
-  <xsl:template match="sect1[@id='package']">
-    <xsl:variable name="filename" select="concat($package-root,translate(title,'.', '/'),'/package.html')"/>
-    <redirect:write file="{$filename}">
-      <xsl:call-template name="sub-package"/>
-    </redirect:write>
-  </xsl:template>
-  
-  <xsl:template match="sect2[@id='specialized-packages']">
-    <xsl:message>Found specialized-packages</xsl:message>
-    <xsl:for-each select="sect3">
-	  <xsl:variable name="filename" select="concat($package-root,translate(title,'.', '/'),'/package.html')"/>
-      <redirect:write file="{$filename}">
-        <xsl:call-template name="sub-package"/>
-      </redirect:write>
-    </xsl:for-each>
-  </xsl:template>
-  
-  <xsl:template name="sub-package">
-    <html>
-       <head>
-         <title>
-           <xsl:value-of select="title"/>
-         </title>
-       </head>
-       <body>
-         <xsl:apply-templates select="*[not (name()='title')]"/>
-       </body>
-     </html>
-  </xsl:template>
-
-
-</xsl:stylesheet>
-
diff --git a/xdocs/style/stylesheets/xml2fo.xsl b/xdocs/style/stylesheets/xml2fo.xsl
deleted file mode 100644
index c05930d..0000000
--- a/xdocs/style/stylesheets/xml2fo.xsl
+++ /dev/null
@@ -1,489 +0,0 @@
-<?xml version="1.0"?>
-
-<!--    XSLT stylesheet to convert the Xalan documentation collected in one xml file into a fo file
-        for use in FOP 
-
-TBD: - The faq doesn't show in the content
-     - check why margin-bottom on the page with properties is too large
-     - check why keep-next not only doesn't work, but leads to repeating already printed lines
-     - make lines containing only code look nicer (smaller line height)
-     - replace bullets in ordered lists with numbers
-     - correct the hack replacing nbsp with '-'
-     - handle the links correctly which have been external in the html doc and are now internal
-
--->
-
-<xsl:stylesheet
-     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
-     xmlns:fo="http://www.w3.org/1999/XSL/Format">
-     
-     <!-- to use with document() to get resources.xml -->
-    <xsl:param name="resourceFile" select="'../../sources/xalan/resources.xml'"/>
-    <xsl:param name="project" select="Xalan"/>
-              
-<xsl:template match ="/">
-	<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
-
-	  <!-- defines page layout -->
-	  <fo:layout-master-set>
-		<fo:simple-page-master master-name="simple"
-							   page-height="29.7cm" 
-							   page-width="21cm"
-							   margin-top="1.5cm" 
-							   margin-bottom="2cm" 
-							   margin-left="2.5cm" 
-							   margin-right="2.5cm">
-		  <fo:region-body margin-top="3cm"/>
-		  <fo:region-before extent="1.5cm"/>
-		  <fo:region-after extent="1.5cm"/>
-		</fo:simple-page-master>
-	  </fo:layout-master-set>
-
-	  <fo:page-sequence master-name="simple">
-		<fo:static-content flow-name="xsl-region-before">
-			<fo:block text-align="end" 
-			    	  font-size="10pt" 
-					  font-family="serif" 
-					  line-height="14pt" >
-				<xsl:value-of select="$project"/> documentation - p. <fo:page-number/>
-			</fo:block>
-		</fo:static-content> 
-
-		<fo:flow flow-name="xsl-region-body">
-
-          <fo:block font-size="18pt" 
-                    font-family="sans-serif" 
-                    line-height="24pt"
-                    space-after.optimum="15pt"
-                    background-color="blue"
-                    color="white"
-                    text-align="center">
-            <xsl:value-of select="$project"/> - an XSL Transformer
-          </fo:block>
-
-
-        <!-- generates table of contents and puts it into a table -->
-
-         <fo:block font-size="14pt" 
-                  font-family="sans-serif" 
-                  line-height="18pt"
-                  space-after.optimum="10pt"
-                  font-weight="bold"
-                  start-indent="15pt">
-            Content
-         </fo:block>
-
-         <fo:table>
-            <fo:table-column column-width="1cm"/>
-            <fo:table-column column-width="10cm"/>
-            <fo:table-column column-width="5cm"/>
-            <fo:table-body font-size="12pt" 
-                           line-height="16pt"
-                           font-family="sans-serif">
-              <fo:table-row>
-                  <fo:table-cell>
-                     <fo:block text-align="end" >
-                     </fo:block>
-                  </fo:table-cell>
-                  <fo:table-cell>
-                     <fo:block text-align="end" >
-                     </fo:block>
-                  </fo:table-cell>
-                  <fo:table-cell>
-                     <fo:block text-align="end" >
-                     page
-                     </fo:block>
-                  </fo:table-cell>
-              </fo:table-row>                                 
-              <xsl:for-each select="documentation/chapter"> 
-                <fo:table-row>
-                  <fo:table-cell>
-                     <fo:block text-align="end" >
-                        <xsl:number value="position()" format="I"/>.  
-                     </fo:block>
-                  </fo:table-cell>
-                  <fo:table-cell>
-                     <fo:block  text-align="start" >
-                        <fo:basic-link color="blue">
-                           <xsl:attribute name="internal-destination">
-                           <xsl:value-of select="@id"/>
-                           </xsl:attribute>
-                          <xsl:value-of select="s1/@title|faqs/@title"/>
-                        </fo:basic-link>
-                     </fo:block>
-                  </fo:table-cell>
-                  <fo:table-cell>
-                     <fo:block text-align="end">                                
-                       <fo:page-number-citation ref-id="{@id}"/>
-                     </fo:block>
-                  </fo:table-cell>
-               </fo:table-row>
-            </xsl:for-each>
-            </fo:table-body>
-         </fo:table>
-		 <xsl:apply-templates/> 
-	   </fo:flow>
-	   </fo:page-sequence>
-	</fo:root>
-</xsl:template>
-
-<!--chapter-->
-<xsl:template match="chapter">
-  <fo:block id="{@id}" break-before="page"/>
-	<xsl:apply-templates/>   
-</xsl:template>  
-
-<!-- s1 -->
-<xsl:template match ="s1">
-   <fo:block font-size="18pt" 
-            font-family="sans-serif" 
-            line-height="24pt"
-            space-before.optimum="15pt"
-            space-after.optimum="15pt"
-            background-color="blue"
-            color="white"
-            keep-with-next.within-page="always"
-            text-align="center">
-     <xsl:attribute name="id">
-     <xsl:value-of select="translate(@title,' ),-.(','____')"/>
-     </xsl:attribute>
-     <xsl:value-of select="@title"/>
-   </fo:block>
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- s2 -->
-<xsl:template match ="s2">
-   <fo:block font-size="16pt" 
-            font-family="sans-serif" 
-            line-height="20pt"
-            keep-with-next.within-page="always"            
-            space-before.optimum="15pt"
-            space-after.optimum="12pt"
-            text-align="start"
-            padding-top="3pt"
-            >
-     <xsl:value-of select="@title"/>
-   </fo:block>
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- s3 -->
-<xsl:template match ="s3">
-   <fo:block font-size="14pt" 
-            font-family="sans-serif" 
-            line-height="18pt"
-            keep-with-next.within-page="always"
-            space-before.optimum="10pt"
-            space-after.optimum="9pt"
-            text-align="start"
-            padding-top="3pt">
-     <xsl:value-of select="@title"/>
-   </fo:block>
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- p  [not(code)] -->
-<xsl:template match ="p"> 
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            line-height="13pt"
-            space-after.optimum="3pt"
-            space-before.optimum="3pt"
-            text-align="start">
-     <xsl:apply-templates/> 
-   </fo:block>
-</xsl:template>
-
-<xsl:template match ="note"> 
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            font-weight="italic"
-            line-height="13pt"
-            space-after.optimum="3pt"
-            space-before.optimum="3pt"
-            text-align="start">
-        Note:     
-     <xsl:apply-templates/> 
-   </fo:block>
-</xsl:template>
-
-<xsl:template match="anchor">
-  <fo:block> <!--id="concat(local-name(ancestor::node()="chapter"/@id.,'_',{./@name}"/-->
-    <xsl:attribute name="id">
-      <xsl:value-of select="concat(ancestor::chapter/@id,'_',./@name)"/>
-    </xsl:attribute>
-  </fo:block>    
-</xsl:template>
-
-<xsl:template match="table">
-  <xsl:variable name="colwidth" select="14.5 div count(tr[1]/td)"/>
-  <fo:table>
-  <xsl:for-each select="tr[1]/td">
-    <fo:table-column column-width="{$colwidth}cm"/>
-  </xsl:for-each>
-  <fo:table-body font-size="10pt" font-family="sans-serif">
-  <xsl:apply-templates/>
-  </fo:table-body>
-  </fo:table>  
-</xsl:template>  
-<xsl:template match="tr">
-  <fo:table-row>
-    <xsl:apply-templates/>
-  </fo:table-row>
-</xsl:template>
-<xsl:template match="td">
-  <fo:table-cell>
-    <fo:block>
-      <xsl:apply-templates/>
-    </fo:block>
-   </fo:table-cell>
-</xsl:template>
-
-<!-- p + code 
-<xsl:template match ="p[code]">
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            line-height="11pt"
-            space-after.optimum="0pt"
-            space-before.optimum="0pt"
-            text-align="start">
-     <xsl:apply-templates/> 
-   </fo:block>
-</xsl:template>
--->
-
-<xsl:template match="img">
-  <fo:block>
-    <fo:external-graphic src="file:build/docs/images/{@src}"/>
-  </fo:block>
-</xsl:template>
-
-<!-- faqs -->
-<xsl:template match ="faqs">
-   <fo:block font-size="18pt" 
-            font-family="sans-serif" 
-            line-height="24pt"
-            space-before.optimum="15pt"
-            space-after.optimum="15pt"
-            background-color="blue"
-            color="white"
-            text-align="center"
-            >
-     <xsl:attribute name="id">
-     <xsl:value-of select="translate(.,' ),-.(','____')"/>
-     </xsl:attribute>
-     <xsl:value-of select="@title"/>
-   </fo:block>
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- faq -->
-<xsl:template match ="faq">
-    <xsl:apply-templates/> 
-</xsl:template>
-
-<!-- q in faq -->
-<xsl:template match="q">
-   <fo:block font-size="14pt" 
-            font-family="sans-serif" 
-            line-height="18pt"
-            keep-with-next.within-page="always"
-            space-before.optimum="10pt"
-            space-after.optimum="9pt"
-            text-align="start"
-            padding-top="3pt">     
-      <xsl:apply-templates/> 
-    </fo:block>
-</xsl:template>
-
-<!-- a in faq -->
-<xsl:template match ="a">
-      <xsl:apply-templates/> 
-</xsl:template>
-
-
-<!-- jump (links) -->
-<xsl:template match ="jump">
-  <fo:basic-link color="blue">
-     <xsl:attribute name="external-destination">
-       <xsl:if test="starts-with(@href,'apidocs')">
-         <xsl:value-of select="concat('http://xml.apache.org/xalan-j/',@href)"/>
-       </xsl:if>
-       <xsl:if test="not(starts-with(@href,'apidocs'))">
-         <xsl:value-of select="@href"/>
-       </xsl:if>    
-     </xsl:attribute>  
-   <xsl:value-of select="./text()"/>
-     <!--xsl:apply-templates/--> 
-   </fo:basic-link>
-</xsl:template>
-
-  <xsl:template match="link">
-    <xsl:if test="string-length(@anchor)=0">
-      <xsl:if test="string-length(@idref)=0">
-        <xsl:apply-templates/>
-      </xsl:if>
-      <xsl:if test="string-length(@idref)>0">
-        <fo:basic-link color="blue" internal-destination="{@idref}">
-        <xsl:value-of select="./text()"/></fo:basic-link>
-      </xsl:if>
-    </xsl:if>
-
-    <xsl:if test="string-length(@anchor)>0">
-      <xsl:if test="string-length(@idref)=0">
-        <fo:basic-link color="blue"
-                      internal-destination="{concat(ancestor::chapter/@id,'_',@anchor)}">
-        <xsl:value-of select="./text()"/></fo:basic-link>
-      </xsl:if>
-      <xsl:if test="string-length(@idref)>0">
-        <fo:basic-link color="blue" internal-destination="{@idref}_{@anchor}">
-        <xsl:value-of select="./text()"/></fo:basic-link>
-      </xsl:if>
-    </xsl:if>
-  </xsl:template>
-
-
-<xsl:template match="resource-ref">
-  <xsl:variable name="xref" select="@idref"/>
-  <xsl:variable name="href"
-          select="document($resourceFile)/resources/resource[@id=$xref]/@location"/>
-  <xsl:variable name="label"
-          select="document($resourceFile)/resources/resource[@id=$xref]/@title"/>
-  <fo:basic-link color="blue">
-     <xsl:attribute name="external-destination">
-       <xsl:if test="starts-with($href,'apidocs')">
-         <xsl:value-of select="concat('http://xml.apache.org/xalan-j/',$href)"/>
-       </xsl:if>
-       <xsl:if test="not(starts-with($href,'apidocs'))">
-         <xsl:value-of select="$href"/>
-       </xsl:if>    
-     </xsl:attribute>  
-     <xsl:value-of select="$label"/>
-     <!--xsl:apply-templates/--> 
-   </fo:basic-link>        
-  </xsl:template>
-
-  <xsl:template match="human-resource-ref">
-    <xsl:variable name="resourceFile" 
-          select="./xalan/resources.xml"/>  
-    <xsl:variable name="ref"  select="@idref"/>
-    <xsl:variable name="mailto"
-          select="document($resourceFile)/resources/human-resource[@id=$ref]/@mailto"/>
-    <xsl:variable name="name"
-          select="document($resourceFile)/resources/human-resource[@id=$ref]/@name"/>
-  <fo:basic-link color="blue" external-destination="mailto:{$mailto}">
-     <xsl:value-of select="$name"/>
-     <!--xsl:apply-templates/--> 
-   </fo:basic-link>          
-  </xsl:template>
-
-<xsl:template match ="source"> 
-   <fo:block font-size="10pt" 
-            font-family="Courier" 
-            text-align="start"
-            white-space-collapse="false">
-     <xsl:apply-templates/> 
-   </fo:block>
-
-</xsl:template>
-  <xsl:template match ="br">
-  <fo:block></fo:block>
-</xsl:template>
-
-<!-- code -->
-<xsl:template match ="*/code">
-   <fo:inline font-size="10pt" 
-            font-family="Courier">
-     <xsl:apply-templates/> 
-   </fo:inline>
-</xsl:template>
-
-<!-- ul (unordered list) -->
-<xsl:template match ="ul">
-  <fo:list-block start-indent="1cm" 
-                 provisional-distance-between-starts="12pt" 
-                 font-family="sans-serif" 
-                 font-size="11pt" 
-                 line-height="11pt">
-     <xsl:apply-templates/> 
-   </fo:list-block>
-</xsl:template>         
-          
-<!-- ol (ordered list) -->
-<xsl:template match ="ol">
-  <fo:list-block start-indent="1cm" 
-                 provisional-distance-between-starts="12pt" 
-                 font-family="sans-serif" 
-                 font-size="11pt" 
-                 line-height="11pt">
-     <xsl:apply-templates/> 
-   </fo:list-block>
-</xsl:template>
-
-
-<!-- li (list item) in unordered list -->
-<xsl:template match ="ul/li">
-    <fo:list-item>
-      <fo:list-item-label>
-        <fo:block><fo:inline font-family="Symbol">&#183;</fo:inline></fo:block>
-      </fo:list-item-label>
-      <fo:list-item-body>
-        <fo:block space-after.optimum="4pt"
-              text-align="start"
-              padding-top="3pt">
-          <xsl:apply-templates/> 
-       </fo:block>
-      </fo:list-item-body>
-    </fo:list-item>
-</xsl:template>
-
-<!-- li (list item) in ordered list -->
-<xsl:template match ="ol/li">
-    <fo:list-item>
-      <fo:list-item-label>
-        <fo:block>
-          <xsl:number level="multiple" count="li" format="1"/>)
-        </fo:block>
-      </fo:list-item-label>
-      <fo:list-item-body>
-        <fo:block space-after.optimum="4pt"
-              text-align="start"
-              padding-top="3pt">
-          <xsl:apply-templates/> 
-       </fo:block>
-      </fo:list-item-body>
-    </fo:list-item>
-</xsl:template>
-
-<!-- temporary kludge for definition list gloss with label-item pairs ) -->
-
-<xsl:template match="gloss">
-  <xsl:apply-templates/>
-</xsl:template>
-<xsl:template match="label">
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            line-height="13pt"
-            space-after.optimum="3pt"
-            space-before.optimum="6pt"
-            text-align="start">
-     <xsl:apply-templates/> 
-   </fo:block>
-</xsl:template> 
-<xsl:template match="item">
-   <fo:block font-size="11pt" 
-            font-family="sans-serif" 
-            line-height="13pt"
-            space-after.optimum="6pt"
-            space-before.optimum="0pt"
-            margin-left="24pt"
-            text-align="start">
-     <xsl:apply-templates/>
-     <fo:block></fo:block> 
-   </fo:block>
-</xsl:template> 
-
-<!-- end body -->
-
-</xsl:stylesheet>
diff --git a/xdocs/xml-site-style.tar.gz b/xdocs/xml-site-style.tar.gz
deleted file mode 100644
index f477a84..0000000
--- a/xdocs/xml-site-style.tar.gz
+++ /dev/null
Binary files differ
diff --git a/xsltc_todo.xml b/xsltc_todo.xml
deleted file mode 100644
index 7448f93..0000000
--- a/xsltc_todo.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0"?>
-
-<todo title="Things To Do" project="XSLTC" major-version="1">
-
-  <devs>
-   <person name="Jacek Ambroziak" email="jacek_ambroziak@yahoo.com" id="JA" expertise="code">
-     Inventor, architect, former lead developer and evangelist.
-   </person>  
-   <person name="Tom Amiro" email="Tom.Amiro@Sun.COM" id="TA" expertise="testing">
-     Testing.
-   </person>  
-   <person name="Morten J&#216;rgensen" email="morten@xml.apache.org" id="MJ" expertise="code, doc">
-     Lead developer - key contributor on design documentation, ID/Keys, performance, JAXP, and continuing development in general.
-   </person>
-   <person name="G. Todd Miller" email="Glenn.Miller@Sun.COM" id="TM" expertise="code">
-     Developer - key contributor on TrAX.
-   </person>
-   <person name="Santiago Pericas-Geertsen" email="santiago@cs.bu.edu" id="SP" expertise="code">
-     Developer - key contributor on compilation strategy.
-   </person>
-  </devs>
- 
-  <actions>
-
-   <target-release-description>
-    <date>09/??/01</date>
-    <level>????</level>
-    <goal type="conformance">XSLT 1.0 compliant 100%.</goal>
-    <goal type="performance">Maintain current level.</goal>
-    <goal type="stability"> Stable, reasonable.</goal>
-    <goal type="api">API Complete.</goal>
-    <goal type="documentation">Documentation functionally complete.</goal>
-   </target-release-description>
-   
-  <action context="test, packages:org.apache.xalan.xsltc"
-          category="tests"
-          who="TA, Shane"
-          priority="high">
-     Modify Xalan test enviroment to test XSLTC as a component of XalanJ2.
-   </action>       
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="feature"
-          who="MJ"
-          priority="high">
-       Finish the implementation of id() and key() in patterns.   
-   </action>       
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="bug"
-          who="??"
-          priority="high">
-      Continue to improve the handling of name spaces. There are a number of
-      bugs that are independent of the lack of namespace nodes.  
-     (bugzilla 1411, 1506, 1518, 2582, 2801, 2857, 2859, 2863, 2535, 2954, 2840)    
-   </action>       
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="bug"
-          who="??"
-          priority="high">
-    Fix bugs that impact the XSLTMark performance benchmark.
-    (bugzilla 1376, 1498, 1512, 1532, 2351, 2517, 2553, 3065, 3066).          
-   </action>
-        
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="bugs"
-          who="TM"
-          priority="high">
-       Fix bugs reflecting positional problems (1410, 1532, 2939).          
-   </action>
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="bug"
-          who="TM"
-          priority="high">
-      Fix bugs on dealing with XPATH/Axes expressions (1498, 2551, 2553, 2572, 2932).          
-   </action>       
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="bug"
-          who="??"
-          priority="medium">
-      Fix bugs involving template selection (1397, 2749, 2582, 2585, 2695, 2749, 2754, 2886, 2937).
-   </action>
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="bug"
-          who="??"
-          priority="medium">
-      Fix bugs affecting numbering (2901, 2931).
-   </action>
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="bug"
-          who="??"
-          priority="medium">
-      Fix bugs affecting comment and processing-intruction nodes (2599, 2834, 2858).
-   </action>
-
-  <action context="code, packages:org.apache.xalan.xsltc"
-          category="feature"
-          who="MJ"
-          priority="low">
-     Implement name space nodes (bugzilla 1379).
-   </action>       
-
-  <action context="code, packages:????"
-          category="feature, integration with Xalan"
-          who="??"
-          priority="medium">
-      Implement an extension to support the redirection of output to multiple
-      output files from within a stylesheet (equivalent to xalan:redirect or
-      saxon:output).  Note: Task may be implemented as a result of integrating Xsltc and Xalan 
-     and using shared code.
-   </action>       
-
-
-  <action context="code, packages:????"
-          category="feature, integration with Xalan"
-          who="??"
-          priority="medium">
-     Implement a node-set extension to convert result tree fragments to
-     node-sets. This enables sorting and grouping of nodes assigned to a tree 
-     variable. Note: Task may be implemented as a result of integrating Xsltc and Xalan 
-     and using shared code.
-   </action>       
-
-
-  <action context="code, packages:????"
-          category="feature, integration with Xalan"
-          who="??"
-          priority="medium">
-      Add support for nonstatic external Java functions.  
-      Note: Task may be implemented as a result of integrating Xsltc and Xalan 
-      and using shared code.
-   </action>       
-
-
-  <action context="code, packages:????"
-          category="feature, integration with Xalan"
-          who="??"
-          priority="medium">
-    Fix bugs affecting the correctness of ouput 
-    (1439, 1504, 1512, 1516, 1520, 1525, 2517, 2520, 2578, 2948, 2951, 2952, 2954, 3005, 3065).
-     Note: Task may be implemented as a result of integrating Xsltc and Xalan 
-     and using shared code.
-   </action>       
-
-  <action context="code, AST"
-          category="architecture"
-          who="??"
-          priority="medium">
-    Use SAX to build the AST. The DOM builder
-   (the real DOM builder, not our quasi-DOM builder) receives SAX
-   events when it builds the DOM. The compiler.Parser class could
-   possible receive these SAX events directly, and thereby eliminating
-   the need for a DOM (saves loads of time and memory).
-   </action>
-   
-   <action context="code, DOM"
-           category="architecture"
-           who="??"
-           priority="medium">
-      Consider building a DOM-2-'DOM' converter, perhaps by adding 
-      a second DOM builder inner class to our DOM. Then we would have 
-      one SAX DOM builder and one DOM DOM builder. I don't know if
-      JAXP lets you supply the stylesheet as a DOM. If it doesn't, 
-      we should assign this task a very low priority. There is no
-      point in spending a lot of time on this if JAXP users will 
-      never be able to use this functionality.
-    </action>       
-
-  </actions>
-</todo>